Forum:NX
Thema:CGM extern konvertieren
Möchten Sie sich registrieren?
Wer darf antworten? Registrierte Benutzer können Beiträge verfassen.
Hinweise zur Registrierung Sie müssen registriert sein, um Beiträge oder Antworten auf Beiträge schreiben zu können.
Ihr Benutzername:
Ihr Kennwort:   Kennwort vergessen?
Anhang:    Datei(en) anhängen  <?>   Anhänge bearbeiten  <?>
Grafik für den Beitrag:                                                
                                                       
Ihre Antwort:

Fachbegriff
URL
Email
Fett
Kursiv
Durchgestr.
Liste
*
Bild
Zitat
Code

*HTML ist AUS
*UBB-Code ist AN
Smilies Legende
Netiquette

10 20 40

Optionen Smilies in diesem Beitrag deaktivieren.
Signatur anfügen: die Sie bei den Voreinstellungen angegeben haben.

Wenn Sie bereits registriert sind, aber Ihr Kennwort vergessen haben, klicken Sie bitte hier.

Bitte drücken Sie nicht mehrfach auf "Antwort speichern".

*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.

T H E M A     A N S E H E N
Lilu2Go

Beiträge: 61 / 0

UG NX10 native
Win10 64 Bit
NVidia Quadro K2200

Hallo,

ich möchte .prt Dateien per batch (also extern) in .cgm konvertieren. So etwas machen wir z.B. schon mit dem jt Format für unsere 3D-Modelle.
Meine Frage also: geht das?

Grüßle Lilu 

mseufert

Beiträge: 2160 / 0

HP Z420
WIN XP32 / WIN7 64
UG NX6-11
SUN Ultra 60
Solaris 7
CADDS5

Zitat:
Original erstellt von Lilu2Go:

Meine Frage also: geht das?

Hallo Lilu2Go,

schau' Dir mal das Thema Journaling/NXOpen an. Da gibt's alles, was man zur Automatisierung wiederkehrender Aufgaben braucht.

Gruß, Michael

------------------
Ein Mensch wird laut, wenn er was will;
wenn er's erst hat, dann wird er still;
Das "Danke" ist, nach alter Sitte,
Weit seltner als das "Bitte, Bitte".

Lilu2Go

Beiträge: 61 / 0

UG NX10 native
Win10 64 Bit
NVidia Quadro K2200

Hallo,

ja das habe ich ansatzweise schon gemacht. Nochmal zur Klarstellung:
Eine jt datei kann man ja mit einem externen Converter --> nx10\PVTRANS\ugtopv.exe erstellen. Eine cgm-Datei kann man aber nur über das "geöffnete" NX erzeugen. Liege ich da richtig? 

ThomasZwatz

Beiträge: 4605 / 40

(03-2017)
[stable]
NX10.0.3.5 MP11 + TC10.1.5.1
SingleSite 4Tier, DocMgt, Client4Office, MRO, ReqMgt, SchedMgt, T4S, TcVis Mockup, TcSSO
BCT-Inspector Neutral V16.1.4
ANSYS 17.1<P>[testing]
NX10.0.3.5 MP11 + TC10.1.7.1
SingleSite 4Tier, DocMgt, Client4Office, MRO, ReqMgt, SchedMgt, T4S, TcVis Mockup, TcSSO
BCT-Inspector Neutral V16.1.4
ANSYS 17.1
@M6600 Win7-64

Einen OOTB Translator wie für JT gibt's da IMHO nicht.

Beim CGM Export geht's wahrscheinlich um DrawingSheets (?), d.h. du wirst dabei angeben müssen, welche das sind / sein sollen.

Ein "geöffnetes NX" braucht man dazu nicht unbedingt, das kann man auch über ein Journal oder Programm machen lassen ( diese "öffnen" dann ein NX, aber ohne Grafik ).

Poseida

Beiträge: 63 / 0

NX 8.5 + Teamcenter 8.3.3.10 + Moldex 3D R13
NX 10 TC 11

Hallo,

man kann ein Journal schreiben was die Übersetzung in CGM übernimmt und dann über die CMD mit run_journal.exe ausführen. Liegt in deiner NX Installation. http://ww3.cad.de/foren/ubb/Forum4/HTML/010341.shtml#000001

------------------
Benjamin

Lilu2Go

Beiträge: 61 / 0

UG NX10 native
Win10 64 Bit
NVidia Quadro K2200

Guten Morgen,

danke für die Antworten. Mit den Infos werd ichs schon hinbekommen 

Lilu2Go

Beiträge: 61 / 0

UG NX10 native
Win10 64 Bit
NVidia Quadro K2200

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("*B*"), 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.]

Poseida

Beiträge: 63 / 0

NX 8.5 + Teamcenter 8.3.3.10 + Moldex 3D R13
NX 10 TC 11

auf die schnelle würde ich sagen simpler Syntaxfehler  . Nimm mal das "s" vor "Args(0)" heraus in Zeile "basePart1 = theSession.Parts.OpenBaseDisplay(sArgs(0), partLoadStatus1)"

------------------
Benjamin

Lilu2Go

Beiträge: 61 / 0

UG NX10 native
Win10 64 Bit
NVidia Quadro K2200

OOOHHH NEEEIN !!!!!!! 2 Stunden für die katz 

dann bleibt nur noch die letzte kleinigkeit mit den zeichnungsblättern

Poseida

Beiträge: 63 / 0

NX 8.5 + Teamcenter 8.3.3.10 + Moldex 3D R13
NX 10 TC 11

Hast du keine Entwicklungsumgebung? Da kann man solche "Schreibfehler" sehr leicht erkennen.
Zu den Zeichnungsblättern: auf die schnelle kannst du ja probieren noch eine Zeile mit "drawingSheet1 = CType(workPart.DrawingSheets.FindObject("Drawing"), Drawings.DrawingSheet)" einzufügen.

------------------
Benjamin

(c)2017 CAD.de