Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  NX Programmierung
  automatische PDF-Generierung mit VB - PROBLEM

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:  automatische PDF-Generierung mit VB - PROBLEM (2342 mal gelesen)
pleudel
Mitglied
Projektleiterin


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

Beiträge: 156
Registriert: 28.11.2011

Windows 7
UG NX 10 (auch Daimler)
Visual Basic 2013 Express
Programmierung in NX und ProE/Creo

erstellt am: 15. Dez. 2011 11:30    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


PDF.vb.txt

 
Hallo zusammen,

ich versuche verzweifelt, ein Programm zu generieren, welches automatisch:
   - in einem angegebenen Suchpfad alle Parts sammelt, die auf "dwg.prt" enden
   - diese nacheinander öffnet
   - alle Komponenten läd und Ansichten aktualisiert
   - das PDF mit gewünschtem Namen generiert
   - das Part wieder schließt

Bisher bin ich zwar soweit, dass das alles funktioniert (Verbesserungen werden noch vorgenommen, aber es läuft),
das große Problem ist nur:

Das ganze läuft nicht über ALLE Dateien, die sich im Suchpfad mit der gewünschten Endung befinden,
sondern es werden teiwleise Parts ausgelassen.
Es ist keinerlei Muster oder ähnliches erkennbar, welche Parts ausgelassen werden.

Wenn nur ein Part in dem Suchpfad liegt, klapp es einwandfrei, das Teil wird geöffnet, die Komponenten nachgeladen, Ansichten aktualisiert, PDF erzeugt, Teil wieder geschlossen, fertig ists.

Aber sobald mehrere Parts in dem Ordner liegen, werden manche PDFs erstellt und manche nicht.
Ich vermute schon, dass das Programm irgendwo im Explorer ansetzt, weiterrechnet und manche einfach vergisst, die aber dazugehören. Kann das sein?
Ich habe allerings auch schon versucht, das VB so umzuschreiben, dass nur ein Teil davon abgerufen wird, und zwar der, der die Parts läd. Wenn ich das Programm darauf beschränke, funktioniert es, d.h. es werden einfach nur alle Parts aus dem Verzeichnis geladen, die die gewünschte Endung haben. Die sind dann geöffnet und fertig. Das heißt der Teil funktioniert ja.
Liegt der Fehler irgendwo in der Schleife?

Im Anhang habe ich die entsprechende .vb-Datei hochgeladen...

Ich hoffe da kennt sich jemand aus!

Danke schonmal!!!

[Diese Nachricht wurde von pleudel am 15. Dez. 2011 editiert.]

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

seiwi
Mitglied
Programmierer, Systembetreuer


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

Beiträge: 53
Registriert: 28.06.2005

Windows 7
NX 7.5 bis NX11
VB .Net, C#, C, GRIP, NXOpen, SNAP

erstellt am: 15. Dez. 2011 11:54    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 pleudel 10 Unities + Antwort hilfreich

Servus pleudel,

ich hab nur mal kurz drüber gelesen. Es sieht so aus als würdest du nur die Dateien aus dem jeweiligen Verzeichnis bekommen ("GetFiles"-Methode). Unterverzeichnisse werden nicht durchsucht. Da müsstest du rekursiv vorgehen und dich immer weiter hangeln.

Kann das der Grund sein?

LG Seiwi

------------------
Let's Rock... 

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

pleudel
Mitglied
Projektleiterin


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

Beiträge: 156
Registriert: 28.11.2011

Windows 7
UG NX 10 (auch Daimler)
Visual Basic 2013 Express
Programmierung in NX und ProE/Creo

erstellt am: 15. Dez. 2011 11:59    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

Nein nein, es geht hier nicht um Unterverzeichnisse.
Ich habe in einem Ordner mehrere Dateien, die mit "dwg.prt" enden. Manche davon werden behandelt, manche aber nicht!

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

seiwi
Mitglied
Programmierer, Systembetreuer


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

Beiträge: 53
Registriert: 28.06.2005

Windows 7
NX 7.5 bis NX11
VB .Net, C#, C, GRIP, NXOpen, SNAP

erstellt am: 15. Dez. 2011 12:03    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 pleudel 10 Unities + Antwort hilfreich

Servus pleudel,

du könntest den Vergleich auf "dwg.prt" auch mit folgendem Code durchführen:
(Ist meiner Meinung auch lesbarer... :-)

Code:
filename.toLower().EndsWith("dwg.prt")

LG Seiwi

------------------
Let's Rock... 

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

pleudel
Mitglied
Projektleiterin


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

Beiträge: 156
Registriert: 28.11.2011

Windows 7
UG NX 10 (auch Daimler)
Visual Basic 2013 Express
Programmierung in NX und ProE/Creo

erstellt am: 15. Dez. 2011 12: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

Ja, habe ich probiert, das klappt auch!

Aber trotzdem werden manche PDFs nicht erstellt

Hat jemand eine Idee wo es dran liegen könnte?

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

seiwi
Mitglied
Programmierer, Systembetreuer


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

Beiträge: 53
Registriert: 28.06.2005

Windows 7
NX 7.5 bis NX11
VB .Net, C#, C, GRIP, NXOpen, SNAP

erstellt am: 15. Dez. 2011 13:02    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 pleudel 10 Unities + Antwort hilfreich

Hallo Pleudel,

auf Anhieb kann ich sonst nichts entdecken.
Haben denn alle Parts auch Zeichnungen?

LG Seiwi

------------------
Let's Rock... 

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

pleudel
Mitglied
Projektleiterin


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

Beiträge: 156
Registriert: 28.11.2011

Windows 7
UG NX 10 (auch Daimler)
Visual Basic 2013 Express
Programmierung in NX und ProE/Creo

erstellt am: 15. Dez. 2011 13:06    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

Ja, denn alle Parts, die ich öffnen will, heißen ja DWG, also Drawing und enthalten somit mindestens 1 Zeichnungsblatt!

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



PLM/CAM-Experte ? Fertigungsintegration (m/w/d)

Die EMAG Gruppe ist einer der bedeutendsten Hersteller multifunktionaler Fertigungssysteme für die Bearbeitung präziser Metallteile. Ob Drehmaschinen, Schleifmaschinen, Verzahnungsmaschinen, Laserschweißmaschinen oder elektrochemische Metallbearbeitung ? die EMAG Gruppe bietet für nahezu jeden Anwendungsfall maßgeschneiderte und innovative Fertigungslösungen auf höchstem Niveau.

PLM/CAM-Experte ...

Anzeige ansehenFertigungstechnik
little_ug
Mitglied
CAX/PDM Admin / PM


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

Beiträge: 389
Registriert: 20.03.2003

erstellt am: 15. Dez. 2011 15:58    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 pleudel 10 Unities + Antwort hilfreich

Hi nur ne vermutung aber die partflag und partcount wird ja ausserhalb der Schleife definiert und nicht korrekt zurueck gesetzt... ich denk da solltest noch mal nachsehen...

            Dim partFlag As Integer = 0
            Dim partCount As Integer = 0
            For Each fileName As String In My.Computer.FileSystem.GetFiles(theDirectory)

                Dim extension As String = Right$(fileName, 8)
                If extension = "_dwg.prt" Or _
                    extension = "_Dwg.prt" Or _
                    extension = "_DWG.prt" Or _
                    extension = "_dwg.PRT" Or _
                    extension = "_Dwg.PRT" Or _
                    extension = "_DWG.PRT" Or _
                    extension = "_dwg.Prt" Or _
                    extension = "_Dwg.Prt" Or _
                    extension = "_DWG.Prt" Then
                    partFlag = open_part_file(fileName)
                    partCount = ufs.Part.AskNumParts()
                End If

                If partFlag > 0 Then
                Else
                    If partCount > 0 Then
                        process_each_drawing(s.Parts.Display(), fileName)
                    End If
                End If

------------------
Gruß

Michael

have you tried turning it off and on again

[Diese Nachricht wurde von little_ug am 15. Dez. 2011 editiert.]

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