| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: ACAD2009 / ActiveX (2163 mal gelesen)
|
GüSo Mitglied Elektrotechniker
Beiträge: 141 Registriert: 22.01.2009 Windows 7 Professional SP1, AutoCAD 2011, Office 2013 Windows 10, Office2019
|
erstellt am: 10. Apr. 2009 16:35 <-- editieren / zitieren --> Unities abgeben:
Ausgehend von den Zeitproblem (siehe "AutoCAD 2009" vom 21.03.09) bin ich jetzt dabei auf Visual Studio umzusteigen, bzw. diesen Umstieg vorzubereiten. Mein Problem ist, daß ich in VS2008 /VisualBasic zwar das Autocad-Applicationsopjekt erzeugen kann und auch auf dieses zugreifen kann, ich kann aber kein Document-Objekt erzeugen. Dabei bekomme ich immer die Fehlermeldung, daß ich eine Referenz anlegen muß. Reference required to assembly 'Autodesk.AutoCAD.Interop.Common, Version=17.2.0.0, Culture=neutral, PublicKeyToken=eed84259d7cbf30b' containing the implemented interface 'Autodesk.AutoCAD.Interop.Common.IAcadDatabase'. Add one to your project. Die ist doch aber im Projekt schon vorhanden. Ich kann doch einen Objektverweis auf Autocad erstellen. Wo liegt mein Denkfehler? Hier noch ein Codeausschnitt: Module Hauptmodul Public AKAD As AcadApplication Public Zeichnung As AcadDocument Sub Main() Dim Zeichnung As AcadDocument 'AKAD = GetObject(, "AutoCAD.Application") AKAD = New AcadApplication AKAD.Visible = True MsgBox(AKAD.Documents.Count) Zeichnung = AKAD.ActiveDocument ' funktioniert nicht End Sub End Module Günter
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1358 Registriert: 24.07.2002
|
erstellt am: 10. Apr. 2009 17:04 <-- editieren / zitieren --> Unities abgeben: Nur für GüSo
|
GüSo Mitglied Elektrotechniker
Beiträge: 141 Registriert: 22.01.2009 Windows 7 Professional SP1, AutoCAD 2011, Office 2013 Windows 10, Office2019
|
erstellt am: 10. Apr. 2009 17:14 <-- editieren / zitieren --> Unities abgeben:
Auf dem Wege "Project, Add Refereces habe "AutoCAD 2009 Type Library" hinzugefügt. Unter Projekt, Eigenschaften, Referenzen sehe ich den Verweis auch. Das Application-Objekt kann ich ja auch nutzen. Günter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 10. Apr. 2009 17:27 <-- editieren / zitieren -->
Hi, da brauchst Du auch noch den Namespace 'Autodesk.AutoCAD.Interop.Common', bei Verweis-auswählen zu finden als 'AutoCAD/ObjectDBX Common 17.x Type Library' (x ist eben versionsabhängig). - alfred - ------------------ www.hollaus.at |
GüSo Mitglied Elektrotechniker
Beiträge: 141 Registriert: 22.01.2009 Windows 7 Professional SP1, AutoCAD 2011, Office 2013 Windows 10, Office2019
|
erstellt am: 10. Apr. 2009 17:53 <-- editieren / zitieren --> Unities abgeben:
Wo finde ich die von Dir angegeben Verweis? Momentan bewege ich mich wie ein blindes Huhn in der Entwicklungsumgebung umher. Durch Zufall habe ich bei einem erneuten Test dann infolge der intellisense- Meldung auf den Link hinzufügen gedrückt. Seitdem funktioniert es. Ich weis aber nicht warum. In der Liste der Referenzen sehen ich jetzt zusätzlich zu dem vorher bereits vorhandenen Eintrag "AutoCAD 2009 Type Library" jetzt noch den Eintrag "Autodesk.AutoCAD.Interop.Common" Gruß Günter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 11. Apr. 2009 21:25 <-- editieren / zitieren -->
Hi Günter, Zitat: Wo finde ich die von Dir angegeben Verweis?
in der Projektübersicht auf Projektname ==> rechte Maustaste ==> Verweis hinzufügen ==> (in diesem Dialog) auf Karte 'COM' ==> und hier findest Du die Liste der COM-Komponenten zum auswählen, dann 'OK'. Alternativ kannst Du auch in den Projekteigenschaften Verweise hinzufügen/löschen: In Projektübersicht auf Projektname ==> rechte Maustaste ==> Eigenschaften ==> (in diesem Bereich) auf Karte 'Verweise' ==> Button 'Hinzufügen'. Du musst auch unterscheiden, was 'NameSpaces' und was 'COM-Komponenten' sind, 'Autodesk.AutoCAD.Interop.Common' ist ein NameSpace, 'AutoCAD/ObjectDBX Common 17.0 Type Library' ist eine COM-Komponente. Für COM-basierendes Arbeiten mit AutoCAD brauchst Du 2 Verweise ('xxxx' steht für versionsabhängigen Teil): 'AutoCAD xxxx Type Library' 'AutoCAD/ObjectDBX Command xx.x Type Library' - alfred -
------------------ www.hollaus.at |
GüSo Mitglied Elektrotechniker
Beiträge: 141 Registriert: 22.01.2009 Windows 7 Professional SP1, AutoCAD 2011, Office 2013 Windows 10, Office2019
|
erstellt am: 12. Apr. 2009 09:58 <-- editieren / zitieren --> Unities abgeben:
Hi Alfred! Dank Deiner Hinweise lichtet sich der Nebel langsam. Es ist nicht mehr "Dichter Nebel mit Sichtweiten unter 50m", sondern mit Sichtweiten unter 100m. Ich bin jetzt dabei das Progrämmchen zum Einlesen und zeichnen von Symbolen im AutoCAD sinngemäß ins VS zu übertragen. Die oberste Steuerungsebene klappt schon. Jetzt muß ich "nur noch" die Details umsetzen. Mein Ziel ist es, anhand dieser kleinen Routine dann die andere Verfahrensweise mit inProcess erproben zu können.(siehe "AutoCAD 2009 - Geschwindigkeit" von Mitte März). Aber dazu muß ich jetzt erstmal mit weiteren Details kämpfen. Vorerst nochmal Danke für die Hilfe und noch Frohe Ostern Günter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |