| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: DWG-Import mit VBA (2001 mal gelesen)
|
CadVbaAdmin Mitglied Softwareentwickler
Beiträge: 9 Registriert: 25.07.2006 Autodesk Inventor 11
|
erstellt am: 25. Jul. 2006 14:58 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute!! Ich muss mehrere DWG Files in Arbeitsblattformate konvertieren. Ich habe bereits den Code, der einen Rahmen (BorderDefinition) anlegt. Um den Rahmen zu bearbeiten erhalte ich von der Edit-Funktion eine DrawingSketch. so weit so gut Das Sketch-Objekt enthält aber leider keine Funktionen um autocad-Geometrie einzufügen In der IV-Gui ist das aber sehrwohl möglich. Könnte mir vielleicht irgendjemand einen tipp geben, wie man Dwg-Files automatisiert über Vba in Sketches reinbringt. Es sind über 200 Dwg's; händisch also nicht möglich! Danke im voraus
Code:
Dim BrdDefinition As BorderDefinition Set BrdDefinition = CurrDrawing.BorderDefinitions.Add(FormatName) Dim BrdSketch As DrawingSketch BrdDefinition.Edit BrdSketch'DWG-File einfügen 'Hier müsste ich die DWG in den Rahmen einfügen BrdDefinition.ExitEdit
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PaulSchuepbach Moderator Programmierer
Beiträge: 1005 Registriert: 01.10.2003
|
erstellt am: 25. Jul. 2006 18:11 <-- editieren / zitieren --> Unities abgeben: Nur für CadVbaAdmin
Zitat: Original erstellt von CadVbaAdmin:
Das Sketch-Objekt enthält aber leider keine Funktionen um autocad-Geometrie einzufügen In der IV-Gui ist das aber sehrwohl möglich.
Hallo CadVbaAdmin,
... und was hat das mit dem Preis von Tee in China zu tun ????
Garnichts ! Und genausowenig heisst es, dass man was codieren kann, wenn es über das GUI geht. Grüsse, Paul www.morecam.ch www.thinkcad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CadVbaAdmin Mitglied Softwareentwickler
Beiträge: 9 Registriert: 25.07.2006 Autodesk Inventor 11
|
erstellt am: 25. Jul. 2006 19:00 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von PaulSchuepbach: Und genausowenig heisst es, dass man was codieren kann, wenn es über das GUI geht.
Nu Ja, da hat er wohl recht, der Paul. obgleich die Antwort nicht besonders konstruktiv ist
ich bin inzwischen auf ein beispiel in der IV-VBA-hilfe gestoßen, wo eine datei in das dwf-Format konvertiert wird. das ganze ohne export-dialog. hierfür wird das interne dwf-translator-addin verwendet. auch ein addin für dwg-files wäre bei inventor dabei, ich habe aber noch keinen Beispiel-code dafür gefunden.
Das Beispiel-Makro für DWF-Files findet man im Inventor unter Hilfe>Programmierungshilfe>Index>Translator Addin Object falls irgendjemand weitere informationen oder beispielcode zum thema Translator Addin Objects oder DWG-Import hat, würde ich mich über eine Antwort sehr freuen danke im voraus p.s. bitte keine weiteren details über teepreise in china Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CadVbaAdmin Mitglied Softwareentwickler
Beiträge: 9 Registriert: 25.07.2006
|
erstellt am: 26. Jul. 2006 19:30 <-- editieren / zitieren --> Unities abgeben:
|
HelmutBacks Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 160 Registriert: 07.02.2002 AIS 2010 SP4 u. PDSP 2012 Update 1 AutoCAD Mech 2010 Update 2 u. Mech 2012 Update 1 Windows7 (64-Bit) SP1 Quadro NVS 290, FX 560+580, FX1700+1800, FX3800 OCE TDS800+860,TCS400,TCS300
|
erstellt am: 02. Aug. 2006 13:20 <-- editieren / zitieren --> Unities abgeben: Nur für CadVbaAdmin
|
SEHER Mitglied Systemanalytiker
Beiträge: 1203 Registriert: 13.03.2001
|
erstellt am: 09. Aug. 2006 10:57 <-- editieren / zitieren --> Unities abgeben: Nur für CadVbaAdmin
|
SEHER Mitglied Systemanalytiker
Beiträge: 1203 Registriert: 13.03.2001 Inventor 2 bis 2022 häufig wechselnder Rechnerverkehr
|
erstellt am: 05. Sep. 2006 10:39 <-- editieren / zitieren --> Unities abgeben: Nur für CadVbaAdmin
|
CadVbaAdmin Mitglied Softwareentwickler
Beiträge: 9 Registriert: 25.07.2006
|
erstellt am: 05. Sep. 2006 16:00 <-- editieren / zitieren --> Unities abgeben:
Sorry das hab ich a bissl verschwitzt !! ich bin seit einem Monat nicht mehr als inventor entwickler tätig, deshalb ist das irgendwie in vergessenheit geraten. Wie gesagt, keine böse absicht Ich stelle den Code bis 18:00 Online, Großes Indianer Ehrenwort Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CadVbaAdmin Mitglied Softwareentwickler
Beiträge: 9 Registriert: 25.07.2006 Autodesk Inventor 11
|
erstellt am: 05. Sep. 2006 18:05 <-- editieren / zitieren --> Unities abgeben:
so, gut ding braucht weile! Falls irgendwer eine optimierte Version aus dieser erstellt, dann bitte einfach hier posten, danke für die geduld und viel spass, Achtung: Kein Option Explicit Code:
Sub ImportDwg() 'App-Objekt Dim app As Application Set app = ThisApplication 'Nach Richtigem Addin Suchen: 'Muss in der englischen Version nicht unbedingt funktionieren, 'Da nach der passenden Description gesucht wird (Quick and Dirty) Dim addins As ApplicationAddIns Dim DWGAddIn As TranslatorAddIn Set addins = app.ApplicationAddIns For i = 1 To addins.Count If addins(i).AddInType = kTranslationApplicationAddIn Then If addins(i).Description = "Autodesk Interner DWG-Translator" Then Set DWGAddIn = addins.Item(i) End If End If Next i 'Activate AddIns DWGAddIn.Activate Dim transientObj As TransientObjects Set transientObj = app.TransientObjects 'Zu importierende Datei Set file = transientObj.CreateDataMedium file.FileName = "c:\test.DWG" Dim idw As DrawingDocument Set idw = ThisApplication.ActiveDocument Dim Context As TranslationContext Set Context = transientObj.CreateTranslationContext
Context.OpenIntoExisting = idw '.ActiveSheet '.Sketches(1) Context.Type = kFileBrowseIOMechanism Dim Options As NameValueMap Set Options = transientObj.CreateNameValueMap b = DWGAddIn.HasOpenOptions(file, Context, Options) DWGAddIn.Open file, Context, Options, idw End Sub
[Diese Nachricht wurde von CadVbaAdmin am 05. Sep. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |