Hallo,
soweit funktioniert jetzt alles. Allerdings versuche ich gerade eine Variable an meine vb Datei zu übergeben (zu konvertierende Datei) und irgendwie krieg ich es nicht hin. Vielleicht kann mir nochmal einer helfen. Wie genau muss ich im Code sArgs(0) angeben?!
Das ist meine Kommandozeile:
C:\UGS\NX10\UGII\run_journal.exe C:\Users\krithast\Desktop\Neu\cgm_export_220317.vb -args "C:\Users\krithast\Desktop\Neu\710_2502_001.prt"
Und hier ist mein Journal:
Option Strict Off
Imports System
Imports NXOpen
Module NXJournal
Sub Main (ByVal args() As String)
Dim theSession As Session = Session.GetSession()
Dim basePart1 As BasePart
Dim partLoadStatus1 As PartLoadStatus
basePart1 = theSession.Parts.OpenBaseDisplay(sArgs(0), partLoadStatus1)
Dim workPart As Part = theSession.Parts.Work
Dim displayPart As Part = theSession.Parts.Display
partLoadStatus1.Dispose()
Dim markId1 As Session.UndoMarkId
markId1 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Start")
Dim cGMBuilder1 As CGMBuilder
cGMBuilder1 = workPart.PlotManager.CreateCgmBuilder()
cGMBuilder1.Colors = CGMBuilder.Color.BlackOnWhite
cGMBuilder1.XDimension = 215.9
cGMBuilder1.YDimension = 279.4
cGMBuilder1.OutputText = NXOpen.CGMBuilder.OutputTextOption.Polylines
cGMBuilder1.VdcCoordinates = NXOpen.CGMBuilder.Vdc.Real
cGMBuilder1.RasterImages = True
cGMBuilder1.ImageResolution = NXOpen.CGMBuilder.ImageResolutionOption.High
theSession.SetUndoMarkName(markId1, "CGM exportieren-Dialogfenster")
Dim markId2 As Session.UndoMarkId
markId2 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "CGM exportieren")
Dim sheets1(0) As NXObject
Dim drawingSheet1 As Drawings.DrawingSheet = CType(workPart.DrawingSheets.FindObject("BLATT"), Drawings.DrawingSheet)
sheets1(0) = drawingSheet1
cGMBuilder1.SourceBuilder.SetSheets(sheets1)
Dim filenames1(0) As String
filenames1(0) = "C:\Users\krithast\Desktop\Neu\710_2502_001.cgm"
cGMBuilder1.SetFilenames(filenames1)
Dim nXObject1 As NXObject
nXObject1 = cGMBuilder1.Commit()
theSession.DeleteUndoMark(markId2, Nothing)
theSession.SetUndoMarkName(markId1, "CGM exportieren")
cGMBuilder1.Destroy()
theSession.DeleteUndoMark(markId1, Nothing)
theSession.Parts.CloseAll(BasePart.CloseModified.CloseModified, Nothing)
End Sub
End Module
Oder ok, ich hab eigentlich zwei Probleme
Unsere Zeichnungsblätter heissen auch manchmal auch Drawing statt Blatt. Da dachte ich mir ich schreib:
.... CType(workPart.DrawingSheets.FindObject("*A*"), Drawings.DrawingSheet)...
Das nimmt er aber nicht an. Hat einer ne Idee wie ich das löse?
Vielen Dank Ihr seid alle suuuper! *schleim*
[Diese Nachricht wurde von Lilu2Go am 23. Mrz. 2017 editiert.]
[Diese Nachricht wurde von Lilu2Go am 03. Apr. 2017 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP