Example #1
0
        public static TwistedCore GetTwistedCore(int twistedElementsCount, ICableElement preform, Tape?tape = null, Thread thread = null)
        {
            var twistInfo          = GetTwistInfo(twistedElementsCount);
            var twistedElementType = DefineTwistedCoreType(twistedElementsCount);
            var twistKoefficient   = GetTwistKoefficient(twistedElementsCount);

            double diameter = 0;

            if (preform is TwistedCore core)
            {
                if (core.TwistedElementType == TwistedElementType.core)
                {
                    diameter = core.Diameter * twistKoefficient * 0.9;
                }
                else
                {
                    diameter = CalcCoreDiametersMethods[twistedElementType].Invoke(core.Preform.Diameter, twistKoefficient);
                }
            }
            else
            {
                diameter = CalcCoreDiametersMethods[twistedElementType].Invoke(preform.Diameter, twistKoefficient);
            }

            var twistStep   = GetTwistStep(preform, diameter);
            var twistedCore = new TwistedCore()
            {
                Preform            = preform,
                TwistInfo          = twistInfo,
                TwistedElementType = twistedElementType,
                Tape      = tape,
                Thread    = thread,
                Diameter  = diameter,
                TwistStep = twistStep
            };

            return(twistedCore);
        }
Example #2
0
 public static double GetTwistStep(ICableElement singleTwistedElement, double twistedCoreDiameter)
 {
     return((singleTwistedElement is TwistedConductor || singleTwistedElement is InsulatedBillet) ?
            twistedCoreDiameter * 16 : twistedCoreDiameter * 18);
 }