Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  NX Programmierung
  NX per Batch Zeichnung zu CGM

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX
  
Solid Edge 2025 First Look Online-Event 14.11.2025, eine Pressemitteilung
Autor Thema:  NX per Batch Zeichnung zu CGM (1955 mal gelesen)
Kurty
Mitglied
Konstruktionsingenieur


Sehen Sie sich das Profil von Kurty an!   Senden Sie eine Private Message an Kurty  Schreiben Sie einen Gästebucheintrag für Kurty

Beiträge: 21
Registriert: 27.09.2010

NX 7.5

erstellt am: 31. Jul. 2013 10:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo CAD-Forum Kollegen,

also vorneweg ich bin noch recht neu in NX. VBA Erfahrung in Solidworks, Office, CATV5.
Meine Problemstellung:
Ich will im endeffekt eine NX Zeichnung per Batchfile zu einer CGM konvertieren. In windows komme ich soweit klar und habe gleiches für CATV5 schon aufgesetzt.

Nach einigen suchen auch hier im Forum bin ich soweit, daß ich VB Journal habe das eine bestimmte Datei öffnet und als CGM abspeichert, Datei schließt.

Code:
D:\UGS_NX7.5_64\UGII\run_journal.exe "d:\test\test.vb"

Mit dieser Zeile rufe ich das Journal auf, das abläuft. (Macro siehe unten)

Woran ich derzeit scheitere, diesem Macro nun einen, besser 2 Pfade mitzugeben, einmal die Datei die Konvertiert werden soll und wenn möglich gleich auch das Ausgabeverzeichnis.

Falls der run_journal befehl hier schonmal falsch ist, gleich bescheid geben ;)
Wie gesagt, bin in NX da noch sehr neu und für jede Unterstützung Dankbar

mfg
Christoph

Code:
Option Strict Off
Imports System
Imports NXOpen

Module NXJournal
Sub Main

Dim theSession As Session = Session.GetSession()

Dim basePart1 As BasePart
Dim partLoadStatus1 As PartLoadStatus
basePart1 = theSession.Parts.OpenBaseDisplay("D:\test\ug\test.prt", 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.OutputText = CGMBuilder.OutputTextOption.Polylines
cGMBuilder1.Units = CGMBuilder.UnitsOption.English
cGMBuilder1.XDimension = 8.5
cGMBuilder1.YDimension = 11.0
cGMBuilder1.VdcCoordinates = CGMBuilder.Vdc.Real
cGMBuilder1.RasterImages = True
theSession.SetUndoMarkName(markId1, "Export CGM Dialog")
cGMBuilder1.Colors = CGMBuilder.Color.BlackOnWhite

Dim markId2 As Session.UndoMarkId
markId2 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Export CGM")

Dim sheets1(0) As NXObject
Dim drawingSheet1 As Drawings.DrawingSheet = CType(workPart.DrawingSheets.FindObject("SH1"), Drawings.DrawingSheet)

sheets1(0) = drawingSheet1
cGMBuilder1.SourceBuilder.SetSheets(sheets1)

Dim filenames1(0) As String
filenames1(0) = "d:\test\ug\new.cgm"
cGMBuilder1.SetFilenames(filenames1)

Dim nXObject1 As NXObject
nXObject1 = cGMBuilder1.Commit()

theSession.DeleteUndoMark(markId2, Nothing)
theSession.SetUndoMarkName(markId1, "Export CGM")

cGMBuilder1.Destroy()
theSession.DeleteUndoMark(markId1, Nothing)

theSession.Parts.CloseAll(BasePart.CloseModified.CloseModified, Nothing)

End Sub
End Module


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

S.Pisar
Mitglied
Ingenieur

Sehen Sie sich das Profil von S.Pisar an!   Senden Sie eine Private Message an S.Pisar  Schreiben Sie einen Gästebucheintrag für S.Pisar

Beiträge: 4
Registriert: 30.10.2012

NX 7.5 TC 8
HP Z420 WIN7 64-bit

erstellt am: 01. Aug. 2013 10:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Kurty 10 Unities + Antwort hilfreich

Hallo Kurty,

Parameter übergeben aus der Hilfe zum Komandozeilenaufruf:

Code:
-args ...      Pass the rest of the command line after this as
                an array of strings to Main in the journal file

Also:

Code:
D:\UGS_NX7.5_64\UGII\run_journal.exe "d:\test\test.vb" -args Parameter1 Parameter2

..vorher noch die Main Funktion anpassen:

Code:
Public Sub Main(ByVal sArgs() As String)

'Ausgabe der übergebenen Parameter
msgbox(sArgs(0))
msgbox(sArgs(1))

'.....hier steht dann der Rest

End Sub


Wie üblich: Trennzeichen der Parameter ist Leerzeichen, wenn das nicht gewünscht ist: Parameter in Anführungszeichen

Gruß
Sascha

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Verfahrenstechniker (m/w/d) Entwicklung
Was unsere Kunden von ihren Technologielösungen erwarten? Das nächste Level! Das gelingt unserem Team bei FERCHAU Tag für Tag. Wir suchen dich: als ambitionierte:n Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte Anbieter und Entwickler von IT-Lösungen und überzeugen täglich mit fundierter Expertise und fachlichem Know-how....
Anzeige ansehenArbeitnehmerüberlassung
Kurty
Mitglied
Konstruktionsingenieur


Sehen Sie sich das Profil von Kurty an!   Senden Sie eine Private Message an Kurty  Schreiben Sie einen Gästebucheintrag für Kurty

Beiträge: 21
Registriert: 27.09.2010

NX 7.5

erstellt am: 05. Aug. 2013 11:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Sascha,

super Danke. Problem gelöst, im Program Code Variablen übernommen, eingefügt und alles lief auf Anhieb.

Nochmal danke vielmals,

mfg
Christoph

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz