// 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()); }
// 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()); }
// 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()); }