So, hier mein Code:
Private Sub Import_IGES(Datei As String)
Dim markId1 As Session.UndoMarkId
markId1 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Start")
Dim igesImporter1 As IgesImporter
'---------------------------Abfrage, welche NX-Version gerade geöffnet ist (weil bei uns mehrere Versionen im Einsatz sind), mittlerweile glaube ich aber, dass es auch einfach mit einer .def geht, was da der Unterschied ist, weiß ich leider nicht...
If theSession.GetEnvironmentVariableValue("UGII_FULL_VERSION").Contains("v7.5") Then
igesImporter1.SettingsFile = "D:\UGNX75\iges\igesimport.def"
ElseIf theSession.GetEnvironmentVariableValue("UGII_FULL_VERSION").Contains("v8.0") Then
igesImporter1.SettingsFile = "D:\UGNX8\IGES\igesimport.def"
ElseIf theSession.GetEnvironmentVariableValue("UGII_FULL_VERSION").Contains("v8.5") Then
igesImporter1.SettingsFile = "D:\UGNX85\IGES\igesimport.def"
End If
'---------------------------diverse Einstellungen
igesImporter1 = theSession.DexManager.CreateIgesImporter()
igesImporter1.CopiousData = IgesImporter.CopiousDataEnum.LinearNURBSpline
igesImporter1.SmoothBSurf = True
igesImporter1.LayerDefault = 1
igesImporter1.GeomFixupTol = 0.0127
igesImporter1.ObjectTypes.Curves = True
igesImporter1.ObjectTypes.Surfaces = True
igesImporter1.ObjectTypes.Solids = True
igesImporter1.ObjectTypes.Annotations = True
igesImporter1.ObjectTypes.Structures = True
igesImporter1.SimplifyGeometry = True
theSession.SetUndoMarkName(markId1, "Import from IGES Options Dialogfenster")
igesImporter1.ImportTo = IgesImporter.ImportToEnum.WorkPart
igesImporter1.InputFile = Datei
'--------------------------- besagtes Outputfile
igesImporter1.OutputFile = "C:\temp\import_iges.prt"
Dim markId2 As Session.UndoMarkId
markId2 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Import from IGES Options")
igesImporter1.FileOpenFlag = False
igesImporter1.LayerMask = "0-99999"
Dim nXObject1 As NXObject
nXObject1 = igesImporter1.Commit()
theSession.DeleteUndoMark(markId2, Nothing)
theSession.SetUndoMarkName(markId1, "Import from IGES Options")
igesImporter1.Destroy()
End Sub
Ich muss hier allerdings erwähnen, dass in ein bereits geöffnetes Part importiert wird!
Ist das bei dir auch der Fall oder wohin willst du exportieren?
Dann müssen wir den Code noch etwas anpassen, und zwar ein leeres Part erstellen bzw. ein vorhandenes Startpart irgendwohin kopieren und dann dort hinein importieren!
Grüße
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP