| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Inventor Befehle Öffnen/Laden/Speichern etc. (3081 mal gelesen)
|
cadtb Mitglied
Beiträge: 17 Registriert: 20.11.2008
|
erstellt am: 10. Dez. 2008 09:57 <-- editieren / zitieren --> Unities abgeben:
Hi, mein Problem ist eigentlich ganz simpel. Ich möchte nur a) Inventor starten, warten bis dieser "Betriebsbereit" ist (da am Anfang noch Datenbanken aktualisiert werden) und b) danach dateien öffnen und per Save(Copy)As in ein anderes Verzeichnis speichern - zum Schluss die Datei wieder schließen und mit der nächsten fortfahren. Ganz zum Schluss noch Inventor beenden. In der Inventor Programmierhilfe finde ich zwar die VB Befehle für diese Dinge, allerdings funktioniert das ja nicht in VB.NET. Mein bisheriger Versuch:
Code:
Dim InvApp As Inventor.Application Dim oDoc As Inventor.Document If Not System.IO.File.Exists(sFile) Then MsgBox(sFile) 'Nur zur Kontrolle oDoc = InvApp.Open(sFile, False) Call oDoc.SaveAs(dFile, True) Call oDoc.Close(True)
Er Unterstreicht mir hierbei das "InvApp"(.Open) und sagt NullReferenceException wurde nicht behandelt. (Die Objektvariable oder die With-Blockvariable wurde nicht festgelegt)Gibt es irgendwo eine Übersicht der VB.Net äquivalente zu den Inventor VB Befehlen? [Diese Nachricht wurde von cadtb am 10. Dez. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BernhardU Mitglied Techniker / Konstrukteur / Student
Beiträge: 328 Registriert: 17.08.2005 Windows XP SP3 AIP 2011 VS 2005
|
erstellt am: 10. Dez. 2008 18:16 <-- editieren / zitieren --> Unities abgeben: Nur für cadtb
Also ich muss dir gestehen man kann das alles mit VB.Net machen! inventor öffnen datei öffnen speichern und wieder schließen! Es gibt da ja auch einige Beispiele C:\Programme\Autodesk\Inventor 2009\SDK\DeveloperTools\Samples\VB.NET\Standalone Applications Einfach mal an diesen orientieren!! mfg Bernhard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Moderator Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012
|
erstellt am: 10. Dez. 2008 21:08 <-- editieren / zitieren --> Unities abgeben: Nur für cadtb
|
cadtb Mitglied
Beiträge: 17 Registriert: 20.11.2008
|
erstellt am: 11. Dez. 2008 10:46 <-- editieren / zitieren --> Unities abgeben:
Danke euch für die Tipps, habe es jetzt soweit das es Dateien öffnet, Speichert als, und wieder schließt. Falls jemand vor ähnlichen Problemen steht, hier mein Code:
Code:
Dim oApp As Inventor.Application Dim oDoc As Inventor.Document Try oApp = System.Runtime.InteropServices.Marshal.GetActiveObject("Inventor.Application") Catch ex As Exception End Try If oApp Is Nothing Then Dim inventorAppType As Type = System.Type.GetTypeFromProgID("Inventor.Application") oApp = System.Activator.CreateInstance(inventorAppType) End If oDoc = oApp.Documents.Open(sFile, False) oDoc.SaveAs(dFile, True) oDoc.Close(True)
sFile ist die Quelldatei, dFile die Zieldatei. Falls es einfacher geht, bitte meckern Jetzt muss ich nurnoch hinkriegen das ich vorher noch eine eigene Inventor Instanz öffne und zum Schluss wieder beende. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ghr Mitglied Konstrukteur
Beiträge: 7 Registriert: 29.09.2005
|
erstellt am: 20. Dez. 2008 21:40 <-- editieren / zitieren --> Unities abgeben: Nur für cadtb
Zum Öffnen kannst Du mal folgendes Versuchen: Dim inv As Object On Error Resume Next inv = GetObject(, "Inventor.application") If Err.Number() <> 0 Then inv = CreateObject("Inventor.application") End If inv.Visible = True Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |