hallo älg
vielen dank für deinen hinweis.
nachfolgend das programm, kannst du mir
zeigen was du mit dem nx.open-befehl meinst?
@all: hat jemand bohrungs-beispiele?
------------------
Option Strict Off
Imports System
Imports NXOpen
Module NXJournal
Sub Main
Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work
Dim displayPart As Part = theSession.Parts.Display
'----- Menü: Einfügen->Design Feature->Hole...
'----- markId1
Dim markId1 As Session.UndoMarkId
markId1 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Start")
'System.Windows.Forms.MessageBox.Show(markId1)
theSession.SetUndoMarkVisibility(markId1, Nothing, Session.MarkVisibility.Invisible)
theSession.SetUndoMarkName(markId1, "Hole")
'----- markId2
Dim markId2 As Session.UndoMarkId
markId2 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Hole2")
'System.Windows.Forms.MessageBox.Show(markId2)
'----- markId3
Dim markId3 As Session.UndoMarkId
markId3 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Hole3")
'System.Windows.Forms.MessageBox.Show(markId3)
Dim nullFeatures_Feature As Features.Feature = Nothing
Dim holeFeatureBuilder1 As Features.HoleFeatureBuilder
holeFeatureBuilder1 = workPart.Features.CreateHoleFeatureBuilder(nullFeatures_Feature)
'----- markId4
Dim markId4 As Session.UndoMarkId
markId4 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Hole")
'System.Windows.Forms.MessageBox.Show(markId4)
'----- markId5
Dim markId5 As Session.UndoMarkId
markId5 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, Nothing)
'System.Windows.Forms.MessageBox.Show(markId5)
'-----finde objekt block0
Dim block1 As Features.Block = CType(workPart.Features.FindObject("BLOCK(0)"), Features.Block)
'-----finde Kante 1 von objekt Kante 5
Dim face1 As Face = CType(block1.FindObject("FACE 5"), Face)
holeFeatureBuilder1.SetThruFace(face1)
'----- platzierungspunkt
Dim referencePoint1 As Point3d = New Point3d(34, 43, 50.0)
'-----finde Kante 2 von objekt Kante 1
Dim face2 As Face = CType(block1.FindObject("FACE 1"), Face)
'----- durchmesser
holeFeatureBuilder1.SetSimpleHole(referencePoint1, False, face2, "7.5")
holeFeatureBuilder1.CreateHole()
holeFeatureBuilder1.ShowPositioningDimensions()
'----- markId6
Dim markId6 As Session.UndoMarkId
markId6 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Start")
'System.Windows.Forms.MessageBox.Show(markId6)
theSession.SetUndoMarkVisibility(markId6, Nothing, Session.MarkVisibility.Invisible)
'----- markId7
Dim markId7 As Session.UndoMarkId
markId7 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Positioning")
'System.Windows.Forms.MessageBox.Show(markId7)
'----- Dialogfenster Anfang Positionierung
'----finde objekt edge1 objekt *
Dim edge1 As Edge = CType(block1.FindObject("EDGE * 3 * 1"), Edge)
Dim targetHelpPoint1 As Point3d = New Point3d(-3.44487199772513, -4.04915981499716, 51.2040412305871)
Dim hole1 As Features.Hole = CType(workPart.Features.FindObject("SIMPLE_HOLE(1)"), Features.Hole)
'----finde objekt edge2 objekt *
Dim edge2 As Edge = CType(hole1.FindObject("EDGE * 3 * 2"), Edge)
Dim toolHelpPoint1 As Point3d = New Point3d(0.0, 0.0, 0.0)
holeFeatureBuilder1.SetTargetAndTool(PositioningDimension.Subtype.Perpendicular, edge1, Features.RPOBuilder.AssociativityType.EndPoint, targetHelpPoint1, edge2, Features.RPOBuilder.AssociativityType.ArcCenter, toolHelpPoint1)
'----positionierungsmass 1
holeFeatureBuilder1.SetExpression("45")
holeFeatureBuilder1.CreatePositioningDimension()
'----finde objekt edge3 objekt *
Dim edge3 As Edge = CType(block1.FindObject("EDGE * 4 * 1"), Edge)
Dim targetHelpPoint2 As Point3d = New Point3d(45.5802135438165, -17.8750659575814, 80.5057294824392)
Dim toolHelpPoint2 As Point3d = New Point3d(0.0, 0.0, 0.0)
holeFeatureBuilder1.SetTargetAndTool(PositioningDimension.Subtype.Perpendicular, edge3, Features.RPOBuilder.AssociativityType.EndPoint, targetHelpPoint2, edge2, Features.RPOBuilder.AssociativityType.ArcCenter, toolHelpPoint2)
'----positionierungsmass 2
holeFeatureBuilder1.SetExpression("45")
holeFeatureBuilder1.CreatePositioningDimension()
theSession.SetUndoMarkVisibility(markId6, Nothing, Session.MarkVisibility.Visible)
theSession.DeleteUndoMark(markId6, Nothing)
holeFeatureBuilder1.ApplyDimensions()
holeFeatureBuilder1.HidePositioningDimensions()
Dim feature1 As Features.Feature
feature1 = holeFeatureBuilder1.CommitFeature()
theSession.DeleteUndoMarksUpToMark(markId4, Nothing, False)
holeFeatureBuilder1.Destroy()
'----- markId8
Dim markId8 As Session.UndoMarkId
markId8 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Hole")
'System.Windows.Forms.MessageBox.Show(markId8)
Dim id1 As Session.UndoMarkId
id1 = theSession.NewestVisibleUndoMark
theSession.DeleteUndoMarksUpToMark(id1, Nothing, False)
theSession.SetUndoMarkVisibility(markId2, Nothing, Session.MarkVisibility.Visible)
theSession.SetUndoMarkVisibility(markId1, Nothing, Session.MarkVisibility.Visible)
theSession.DeleteUndoMark(markId1, Nothing)
End Sub
End Module
------------------
gruss urs
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP