| | | 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
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 / zitieren --> Unities abgeben:
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
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 / zitieren --> Unities abgeben: Nur für pleudel
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
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 / zitieren --> Unities abgeben:
|
seiwi Mitglied Programmierer, Systembetreuer
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 / zitieren --> Unities abgeben: Nur für pleudel
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
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 / zitieren --> Unities abgeben:
|
seiwi Mitglied Programmierer, Systembetreuer
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 / zitieren --> Unities abgeben: Nur für pleudel
|
pleudel Mitglied Projektleiterin
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 / zitieren --> Unities abgeben:
|
| 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 ansehen | Fertigungstechnik |
|
little_ug Mitglied CAX/PDM Admin / PM
Beiträge: 389 Registriert: 20.03.2003
|
erstellt am: 15. Dez. 2011 15:58 <-- editieren / zitieren --> Unities abgeben: Nur für pleudel
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 >>)
|