| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: ilogic - fortlaufend nummerierte Bilder + Weisser hintergrund (2289 mal gelesen)
|
Luti91 Mitglied Projektleiter
Beiträge: 29 Registriert: 18.06.2012 Inventor 2017
|
erstellt am: 01. Apr. 2015 13:26 <-- editieren / zitieren --> Unities abgeben:
Guten Tag Kürzlich bin ich auf iLogic aufmerksam geworden (viel zu spät). Da wir sehr viel Neutralformate für Kunden und Bilder für Präsentationen erstellen müssen, ist iLogic eine super Vereinfachung für uns. (Das denke ich jedenfalls) Ich habe also eine externe Regel erstellt, welche neutralformate wie PDF, DXF und STP in einen Ordner abspeichert und diesen direkt danach öffnet. Das funktioniert soweit sehr gut. Ich stehe aber bei folgenden Funktionen an: Wenn wir Bilder exportieren möchten sollen sie fortlaufend Nummeriert in einen Ordner kopiert werden. Mit dem angehängten Code, wird aber das .jpg immer wieder neu überschrieben. Mir fehlt da der Ansatz. Mit irgendeinem Befehl, muss sich doch überprüfen lassen können, ob die zu speichernde Datei bereits existiert und dann die Nummer um 1 erhöhen. Die zweite Funktion wäre ein "Nice to have". Die Regel soll prüfen welcher Hintergrund aktiv ist und dann für das Bild den Weissen Hintergrund laden und dann wieder zurück schalten. Ich bin da irgendwie auf diesen Befehl gekommen: DLxChangeMSSheetBackgroundColorCmd Was ich in diesem Forum bereits gefunden habe ist dieses Thema. [URL=http://forum.cad.de/foren/ubb/Forum50/HTML/032929.shtml][/URL] Wir nutzen (leider noch)Inventor 2011. Ich selber hatte in einer Weiterbildung mal Java programmieren. Mein Kenntnisse im Programmieren sind jedoch leider Bescheiden. Kann mir da jemand weiterhelfen?
Gruss L91
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 482 Registriert: 19.02.2014 Autodesk Inventor 2017 Microsoft Visual Basic 2010
|
erstellt am: 02. Apr. 2015 11:26 <-- editieren / zitieren --> Unities abgeben: Nur für Luti91
Hier ist dein Ansatz: If My.Computer.FileSystem.FileExists("S:\Austausch\Fiedler\aaaa\tesst.ipt") Then MsgBox("File found.") Else MsgBox("File not found.") End If Wie man erkennt prüfst du damit ein betsimmten Pfad auf die Datei. Hoffe das Hilft ansonsten einfach melden Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Luti91 Mitglied Projektleiter
Beiträge: 29 Registriert: 18.06.2012 Inventor 2017
|
erstellt am: 02. Apr. 2015 16:44 <-- editieren / zitieren --> Unities abgeben:
Hallo Fiedel93felix Danke für den Tipp. Ich bin heute morgen auch selber drauf gekommen. Und auch das mit der fortlaufenden Nummerierung hat geklappt. Der Code ist zwar nicht wirklich sauber tut aber erstmal seinen Dienst. :P
Code:
X=1 dateiundpfad = "C:\User\" & ThisDoc.FileName(False)&"_"'ThisDoc.Document.Value datei ="C:\User\" & ThisDoc.FileName(False)&"_"& X &".jpg"'ThisDoc.Document.ValueDo While System.IO.File.Exists(datei)=True X = X + 1 datei2 ="C:\User\" & ThisDoc.FileName(False)&"_"& X &".jpg" If System.IO.File.Exists(datei2)=False Then Exit Do Loop ThisDoc.Document.SaveAs(dateiundpfad & X & ".jpg", True) ThisDoc.Document.SaveAs(dateiundpfad & X & ".pdf", True) ThisDoc.Launch("C:\User\")
Wie ich aber jetzt einen weissen Hintergrund für das Image bekomme oder sogar noch die Auflösung/ Grösse des Bildes definieren kann??? Da steh ich wie der Esel vor dem Berg... Danke + Gruss Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 482 Registriert: 19.02.2014 Autodesk Inventor 2017 Microsoft Visual Basic 2010
|
erstellt am: 07. Apr. 2015 07:02 <-- editieren / zitieren --> Unities abgeben: Nur für Luti91
Okay wenn erstmaldas erste klappt klingt doch schonmal gut. Wegen deinem 2. Teil hab ich jetzt auch nichts im Kopf aber als kleine Hilfe, iLogic ist auf Visual Basic aufgebaut. D.h. alle codes die du du findest, die in vb geschrieben sind, "sollten" auch verwendet werden können.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Luti91 Mitglied Projektleiter
Beiträge: 29 Registriert: 18.06.2012 Inventor 2017
|
erstellt am: 07. Apr. 2015 13:38 <-- editieren / zitieren --> Unities abgeben:
Okay danke. Ich habe mir die Befehle via Transscripting herausgesucht. Darin steht für den Export des Bildes folgendes geschrieben. Code:
Inventor.Execute("LoadTransExt","FileExtension=.bmp;AllowRetry=0;AllowIgnore=0;") Inventor.Execute("LoadTransExt","FileExtension=.jpg;AllowRetry=0;AllowIgnore=0;") Inventor.Execute("SaveBMPFile","DocumentName=Document1;DocumentPathName=C:\Users\Desktop\Beispiel.jpg; XResolution=3000;YResolution=2000;AllowRetry=0;AllowIgnore=0;")
Nun kenne ich zwar die Befehle und die nötigen Angaben aber wie kann ich das jetzt in iLogic umsetzen? Gruss L91 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 482 Registriert: 19.02.2014 Autodesk Inventor 2017 Microsoft Visual Basic 2010
|
erstellt am: 07. Apr. 2015 13:56 <-- editieren / zitieren --> Unities abgeben: Nur für Luti91
man kann die regel auf reinen Vb code umstellen aber da gehört dann doch noch einiges mehr dazu.... Also jetzt sind meine grenzen auch erreicht...ich arbeite auch erst seid einem halben jahr mit visual basic .... und erst seid 1 jahr mit ilogic.... sorry Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dg2405 Mitglied Ingenieur MB
Beiträge: 30 Registriert: 16.06.2011 I7-4960X@4.7Ghz Radeon R9-295X2 Samsung 840EVO Win7-64bit SP1 IV2014 SP1
|
erstellt am: 10. Jun. 2015 20:18 <-- editieren / zitieren --> Unities abgeben: Nur für Luti91
|
Luti91 Mitglied Projektleiter
Beiträge: 29 Registriert: 18.06.2012 Inventor 2017
|
erstellt am: 29. Jun. 2015 10:50 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von dg2405: http://ww3.cad.de/foren/ubb/Forum258/HTML/001630.shtmlS. letzter Beitrag
Hallo Dg2405 leider kann ich diesen Forumsbeitrag nicht öffnen, da er offenbar nicht existiert. Hast du vielleicht einen Fehler gemacht beim Link? Gibt es den Beitrag noch? Edit: "Ah Link funktioniert doch habe ihn von Hand in der Adresszeile eingetragen. So hat es funktioniert." Danke und Gruss [Diese Nachricht wurde von Luti91 am 29. Jun. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Luti91 Mitglied Projektleiter
Beiträge: 29 Registriert: 18.06.2012 Inventor 2017
|
erstellt am: 29. Jun. 2015 13:27 <-- editieren / zitieren --> Unities abgeben:
So Jetzt habe ich mal eine zufriedenstellende Version auf die Beine stellen können. Die Regel macht folgende Dinge: - Hintergrund auf weiss umstellen - Bild speichern in der Auflösung von 4000 Pixeln in der Breite - fortlaufend nummeriert auf den Desktop - Desktop anschliessend direkt im Explorer öffnen - Hintergrund wieder auf Millennium umstellen Jetzt fehlt nur noch das Ausblenden des 3D-Ursprungskoordinatensystems. Falls da noch jemand eine Idee hätte wäre ich überaus dankbar. Sowieso möchte ich hier allen danken welche mir bei der Lösung meiner iLogic-Probleme geholfen haben! Danke!!
Code: X=1 dateiundpfad = "c:\user\Desktop\" & ThisDoc.FileName(False)&"_"'ThisDoc.Document.Value datei ="c:\user\Desktop\" & ThisDoc.FileName(False)&"_"& X &".jpg"'ThisDoc.Document.ValueThisApplication.ColorSchemes.Item("Präsentation").Activate Do While System.IO.File.Exists(datei)=True X = X + 1 datei2 ="c:\user\Desktop\" & ThisDoc.FileName(False)&"_"& X &".jpg" If System.IO.File.Exists(datei2)=False Then Exit Do Loop ThisApplication.ActiveView.saveAsBitmap(dateiundpfad & X & ".jpg",4000,0) ThisDoc.Launch("c:\user\Desktop\") ThisApplication.ColorSchemes.Item("Millennium").Activate
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |