Exemplo n.º 1
0
        // Post
        public override void TranslateT2C(TransCAD.IFeature tFeature)
        {
            TransCAD.IStdSolidProtrusionExtrudeFeature proExtrude = (TransCAD.IStdSolidProtrusionExtrudeFeature)tFeature;

            // 스케치 변환
            FeatureSketch SketchManager = new FeatureSketch(PartManager);

            TransCAD.IFeature profilesketch = PartManager.GetFeatureFromReference(proExtrude.ProfileSketch);
            SketchManager.TranslateT2C(profilesketch);

            double sD = proExtrude.StartDepth;

            TransCAD.StdExtrudeEndType sC = proExtrude.StartCondition;
            double eD = proExtrude.EndDepth;

            TransCAD.StdExtrudeEndType eC = proExtrude.EndCondition;
            bool isFlip = proExtrude.IsFlip;

            PARTITF.Pad cPad = PartManager.cShapeFactory.AddNewPadFromRef(SketchManager.cReference, sD);
            cPad.FirstLimit.Dimension.Value  = sD;
            cPad.SecondLimit.Dimension.Value = eD;

            if (sC == TransCAD.StdExtrudeEndType.Blind)
            {
                cPad.FirstLimit.LimitMode = PARTITF.CatLimitMode.catOffsetLimit;
            }
            else if (sC == TransCAD.StdExtrudeEndType.ThroughAll)
            {
                cPad.FirstLimit.LimitMode = PARTITF.CatLimitMode.catUpToLastLimit;
            }

            if (eC == TransCAD.StdExtrudeEndType.Blind)
            {
                cPad.SecondLimit.LimitMode = PARTITF.CatLimitMode.catOffsetLimit;
            }
            else if (eC == TransCAD.StdExtrudeEndType.ThroughAll)
            {
                cPad.SecondLimit.LimitMode = PARTITF.CatLimitMode.catUpToLastLimit;
            }

            if (isFlip == false)
            {
                cPad.DirectionOrientation = PARTITF.CatPrismOrientation.catRegularOrientation;
            }
            else if (isFlip == true)
            {
                cPad.DirectionOrientation = PARTITF.CatPrismOrientation.catInverseOrientation;
            }

            PartManager.cPart.UpdateObject(cPad);
            PartManager.ReferenceManager.NameMap.Add(proExtrude.Name, cPad.get_Name());
        }
        // Post
        public override void TranslateT2C(TransCAD.IFeature tFeature)
        {
            TransCAD.IStdSolidCutRevolveFeature cutRevolve = (TransCAD.IStdSolidCutRevolveFeature)tFeature;

            FeatureSketch SketchManager = new FeatureSketch(PartManager);

            SketchManager.TranslateT2C(PartManager.GetFeatureFromReference(cutRevolve.ProfileSketch));

            double sA = cutRevolve.StartAngle;
            double eA = cutRevolve.EndAngle;

            PARTITF.Groove cGroove = PartManager.cShapeFactory.AddNewGrooveFromRef(SketchManager.cReference);

            cGroove.FirstAngle.Value  = sA;
            cGroove.SecondAngle.Value = eA;

            PartManager.cPart.UpdateObject(cGroove);
            PartManager.ReferenceManager.NameMap.Add(cutRevolve.Name, cGroove.get_Name());
        }
Exemplo n.º 3
0
        // Post
        public override void TranslateT2C(TransCAD.IFeature tFeature)
        {
            TransCAD.IStdSolidProtrusionRevolveFeature proRevolve = (TransCAD.IStdSolidProtrusionRevolveFeature)tFeature;

            FeatureSketch SketchManager = new FeatureSketch(PartManager);

            SketchManager.TranslateT2C(PartManager.GetFeatureFromReference(proRevolve.ProfileSketch));

            double sA = proRevolve.StartAngle;
            double eA = proRevolve.EndAngle;

            PARTITF.Shaft cShaft = PartManager.cShapeFactory.AddNewShaftFromRef(SketchManager.cReference);

            cShaft.FirstAngle.Value  = sA;
            cShaft.SecondAngle.Value = eA;

            PartManager.cPart.UpdateObject(cShaft);
            PartManager.ReferenceManager.NameMap.Add(proRevolve.Name, cShaft.get_Name());
        }
Exemplo n.º 4
0
        // Post
        public override void TranslateT2C(TransCAD.IFeature tFeature)
        {
            TransCAD.IStdSolidProtrusionSweepFeature proSweep = (TransCAD.IStdSolidProtrusionSweepFeature)tFeature;

            FeatureSketch ProfileSketch = new FeatureSketch(PartManager);

            ProfileSketch.TranslateT2C(PartManager.GetFeatureFromReference(proSweep.ProfileSketch));
            INFITF.Reference profile = ProfileSketch.cReference;

            FeatureSketch GuideSketch = new FeatureSketch(PartManager);

            GuideSketch.TranslateT2C(PartManager.GetFeatureFromReference(proSweep.GuideCurve));
            INFITF.Reference guide = GuideSketch.cReference;

            PARTITF.Rib cRib = PartManager.cShapeFactory.AddNewRibFromRef(null, null);
            cRib.SetProfileElement(profile);
            cRib.CenterCurveElement = guide;

            PartManager.cPart.UpdateObject(cRib);
            PartManager.ReferenceManager.NameMap.Add(proSweep.Name, cRib.get_Name());
        }