'Dim nullFeatures_AssociativeLine As Features.AssociativeLine = Nothing Dim associativeLineBuilder1 As Features.AssociativeLineBuilder associativeLineBuilder1 = workPart.BaseFeatures.CreateAssociativeLineBuilder(Nothing) 'associativeLineBuilder1.StartPointOptions = Features.AssociativeLineBuilder.StartOption.Point 'associativeLineBuilder1.EndPointOptions = Features.AssociativeLineBuilder.EndOption.Point associativeLineBuilder1.Limits.StartLimit.LimitOption = GeometricUtilities.CurveExtendData.LimitOptions.AtPoint associativeLineBuilder1.Limits.EndLimit.LimitOption = GeometricUtilities.CurveExtendData.LimitOptions.AtPoint Dim nullXform_plane_curve As Xform = Nothing Dim point_plane_curve_1 As Point point_plane_curve_1 = workPart.Points.CreatePoint(point_plain_front, nullXform_plane_curve, SmartObject.UpdateOption.WithinModeling) associativeLineBuilder1.StartPoint.Value = point_plane_curve_1 associativeLineBuilder1.StartPointOptions = Features.AssociativeLineBuilder.StartOption.Point Dim point_plane_curve_2 As Point point_plane_curve_2 = workPart.Points.CreatePoint(point_plane_rear, nullXform_plane_curve, SmartObject.UpdateOption.WithinModeling) associativeLineBuilder1.EndPoint.Value = point_plane_curve_2 associativeLineBuilder1.EndPointOptions = Features.AssociativeLineBuilder.EndOption.Point Dim nXObject3 As NXObject nXObject3 = associativeLineBuilder1.Commit() associativeLineBuilder1.Destroy() 'Dim Name_curve_plane As String = "CURVE_2D_PLANE" nxObject3.SetName("CURVE_2D_PLANE") ' ??? ' Dieser Teil erstellt eine extrudierte Fläche aus dieser oben erstellten Kurve. Start und Ende ist jeweils (+/-) die Hälfte des Ausdrucks "Width" 'Dim nullFeatures_Feature2 As Features.Feature = Nothing Dim extrudeBuilder2 As Features.ExtrudeBuilder extrudeBuilder2 = workPart.Features.CreateExtrudeBuilder(Nothing) Dim section2 As Section section2 = workPart.Sections.CreateSection(0.02413, 0.0254, 0.5) extrudeBuilder2.Section = section2 extrudeBuilder2.AllowSelfIntersectingSection(True) extrudeBuilder2.DistanceTolerance = 0.0254 'extrudeBuilder2.BooleanOperation.Type = GeometricUtilities.BooleanOperation.BooleanType.Create extrudeBuilder2.BooleanOperation.Type = GeometricUtilities.BooleanOperation.BooleanType.Create Dim smartVolumeProfileBuilder2 As GeometricUtilities.SmartVolumeProfileBuilder smartVolumeProfileBuilder2 = extrudeBuilder2.SmartVolumeProfile smartVolumeProfileBuilder2.OpenProfileSmartVolumeOption = False smartVolumeProfileBuilder2.CloseProfileRule = GeometricUtilities.SmartVolumeProfileBuilder.CloseProfileRuleType.Fci section2.DistanceTolerance = 0.0254 section2.ChainingTolerance = 0.02413 section2.SetAllowedEntityTypes(Section.AllowTypes.OnlyCurves) '====================================================================================================================== Dim features2(0) As Features.Feature 'Dim associativeLine1 As Features.AssociativeLine = CType(workPart.Features.FindObject("LINE(105)"), Features.AssociativeLine) Dim associativeLine1 As Features.AssociativeLine = CType(nXObject3, Features.AssociativeLine) '======================================================================================================================= features2(0) = associativeLine1 Dim curveFeatureRule3 As CurveFeatureRule curveFeatureRule3 = workPart.ScRuleFactory.CreateRuleCurveFeature(features2) Dim rules3(0) As SelectionIntentRule rules3(0) = curveFeatureRule3 '======================================================================================================================== 'Dim line1 As Line = CType(associativeLine1.FindObject("CURVE 1"), Line) Dim nxObjs() As NXObject = associativeLine1.GetEntities() Dim line1 As Line = CType(nxObjs(0), Line) '======================================================================================================================== Dim nullNXObject As NXObject = Nothing 'Dim helpPoint3 As Point3d = New Point3d(272.641823553503, -0.000000000000014210854715202, -200.0) Dim helpPoint3 As Point3d = New Point3d(272, 0.0, -200.0) ' Passt hier New Point3d(0.0, 0.0, 0.0) ??? section2.AllowSelfIntersection(True) section2.AddToSection(rules3, line1, nullNXObject, nullNXObject, helpPoint3, Section.Mode.Create, False) Dim origin12 As Point3d = New Point3d(0.0, 0.0, 0.0) ' Null-Punkt Dim vector12 As Vector3d = New Vector3d(0.0, 1.0, 0.0) ' Y - Richtung 'Dim direction12 As Direction 'direction12 = workPart.Directions.CreateDirection(origin12, vector12, SmartObject.UpdateOption.WithinModeling) 'extrudeBuilder2.Direction = direction12 extrudeBuilder2.Direction = workPart.Directions.CreateDirection(origin12, vector12, SmartObject.UpdateOption.WithinModeling) Dim unit3 As Unit unit3 = extrudeBuilder2.Offset.StartOffset.Units workPart.Expressions.EditWithUnits(extrudeBuilder2.Limits.StartExtend.Value, unit3, "-width/2") ' ??? extrudeBuilder2.Limits.StartExtend.Value.RightHandSide = "-width/2" workPart.Expressions.EditWithUnits(extrudeBuilder2.Limits.EndExtend.Value, unit3, "width/2") ' ??? extrudeBuilder2.Limits.EndExtend.Value.RightHandSide = "width/2" extrudeBuilder2.FeatureOptions.BodyType = GeometricUtilities.FeatureOptions.BodyStyle.Sheet extrudeBuilder2.ParentFeatureInternal = False Dim feature2 As Features.Feature feature2 = extrudeBuilder2.CommitFeature() extrudeBuilder2.Destroy() 'Dim Name_plane_surface As String = "PLANE" feature2.SetName("PLANE") ' ???? 'Dieser Teil wählt zwei Punkte aus (point_plain_front / point_plain_rear) und erzeugt eine Linie zwischen diesen beiden.