Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  Jornal zur HPGL Erstellung

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
Autor Thema:  Jornal zur HPGL Erstellung (877 mal gelesen)
florian.boensch
Mitglied
CAD Konstrukteur


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

Beiträge: 14
Registriert: 18.04.2008

NX 8.0.3.4

erstellt am: 31. Jul. 2014 14:57    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 Zusammen,

bin neue in der Programmierwelt und mache nun meine ersten Gehversuche.
Ich möchte gerne von einer geöffneten Zeichnung ein HPGL erstellen.
Wenn ich fertig bin soll das ganze mal automatisch passieren wenn man Speichert 

Aber erstmal zu dem Jornal was ich aufgezeichnet haben:

Code:
' NX 8.0.3.4
' Journal created by flo on Thu Jul 31 14:13:11 2014 Mitteleuropäische Sommerzeit
'
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

' ----------------------------------------------
'  Menu: File->Plot...
' ----------------------------------------------
Dim markId1 As Session.UndoMarkId
markId1 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Start")

Dim plotBuilder1 As PlotBuilder
plotBuilder1 = workPart.PlotManager.CreatePlotBuilder()

plotBuilder1.Copies = 1

plotBuilder1.Tolerance = 0.001

plotBuilder1.RasterImages = True

plotBuilder1.XDisplay = PlotBuilder.XdisplayOption.Right

plotBuilder1.XOffset = 0.149606299212598

plotBuilder1.CharacterSize = 0.0598425196850394

plotBuilder1.Rotation = PlotBuilder.RotationOption.Degree90

plotBuilder1.JobName = "opc50052.d01.0029"

plotBuilder1.JobName = "ka108795s.d01.0019"

plotBuilder1.XOffset = 0.149606299212598

plotBuilder1.CharacterSize = 0.0598425196850394

theSession.SetUndoMarkName(markId1, "##04Plot Dialog")

Dim markId2 As Session.UndoMarkId
markId2 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "##04Plot")

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

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

sheets1(1) = drawingSheet2
plotBuilder1.SourceBuilder.SetSheets(sheets1)

plotBuilder1.PlotterText = "plot_to_hpgl"

plotBuilder1.ProfileText = "HPGL_B"

plotBuilder1.ColorsWidthsBuilder.Colors = PlotColorsWidthsBuilder.Color.BlackOnWhite

plotBuilder1.ColorsWidthsBuilder.Widths = PlotColorsWidthsBuilder.Width.CustomThreeWidths

Dim filenames1(1) As String
filenames1(0) = "c:\cattemp\ug_tmp\ka108795s.d01.0019_sht1.cgm"
filenames1(1) = "c:\cattemp\ug_tmp\ka108795s.d01.0019_sht2.cgm"
plotBuilder1.SetFilenames(filenames1)

Dim nXObject1 As NXObject
nXObject1 = plotBuilder1.Commit()

theSession.DeleteUndoMark(markId2, Nothing)

theSession.SetUndoMarkName(markId1, "##04Plot")

plotBuilder1.Destroy()

theSession.DeleteUndoMark(markId1, Nothing)

' ----------------------------------------------
'  Menu: Tools->Journal->Stop Recording
' ----------------------------------------------

End Sub
End Module


Hier habe ich noch zwei Probleme.

1.) Wie kann ich es realisieren dass ich alle Zeichnungen plotte und nicht nur SHT1 und SHT2?
2.) Wie kann ich es realisieren das der Dateiname der HPGL Datei mit dem Dateinamen der .prt Datei übereinstimmt? Momentan bekommen die HPGL`s immer den Namen der Datei die offen war als ich das Journal aufgezeichnet haben.

Bin für jeden Tip dankbar, sind wie gesagt meine ersten kleinen Versuche 

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



Architekt (m/w/d)

Gemeinsam nachhaltige Werte schaffen ? Bei CANZLER arbeitet ein interdisziplinäres Team aus Archi­tekten, Inge­nieuren, FM-Con­sul­tants und Immobilienökonomen an Beratungs-, Planungs- und Steuerungsprojekten im Bereich Bau und Immobilien. Als Gesamtdienstleister im Hochbau haben wir dabei immer den gesamten Lebens­zyklus einer Immobilie im Blick. Die langjährige Erfahrung und der leidenschaftliche ...

Anzeige ansehenArchitektur
matthias-p
Moderator
Konstruktion / Anwenderbetreuung


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

Beiträge: 501
Registriert: 09.06.2006

Teamcenter 11.3 / NX 11
Windows 10

erstellt am: 01. Aug. 2014 10:56    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 florian.boensch 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von florian.boensch:

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

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

sheets1(1) = drawingSheet2
plotBuilder1.SourceBuilder.SetSheets(sheets1)


...hier musst du alle Blätter dem Array hinzufügen.

Zitat:
Original erstellt von florian.boensch:

Dim filenames1(1) As String
filenames1(0) = "c:\cattemp\ug_tmp\ka108795s.d01.0019_sht1.cgm"
filenames1(1) = "c:\cattemp\ug_tmp\ka108795s.d01.0019_sht2.cgm"
plotBuilder1.SetFilenames(filenames1)

...und hier die Filenames.

Hier im Forum gibt es einige gute Beiträge, wie man erstmal den Einstieg in VB oder C# findet. Bevor du dich gleich mit NX Open beschäftigst, solltest du dich am besten erstmal ein bisschen mit der Sprache an sich vertraut machen.

Das was du hier brauchst, sind Grundlagen wie Array oder "For"-Schleifen.

Falls du dann weitere Fragen hast, helfen wir dir natürlich gern weiter.

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)2023 CAD.de | Impressum | Datenschutz