Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Interessant..... VB(A) AutoCAD Libs direkt ansprechbar??

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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:  Interessant..... VB(A) AutoCAD Libs direkt ansprechbar?? (1306 mal gelesen)
CB_
Mitglied
Bauingenieur


Sehen Sie sich das Profil von CB_ an!   Senden Sie eine Private Message an CB_  Schreiben Sie einen Gästebucheintrag für CB_

Beiträge: 163
Registriert: 20.01.2004

ACAD 2002, W2k, P4 1800Mhz, 512 MB RAM, 20GB HD,
2 Stck. TFT an Matrox G550

erstellt am: 14. Mrz. 2005 08:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


verweise.jpg

 
Hallo,

ich versuche über VB6 / VBA ein eTansmit einer dwg zu erstellen. Bis jetzt war der Lösungsansatz über sendcommand. (Dank dieses Forums habe ich überhaupt einen Ansatz ;-) )

Jetzt habe ich aber gefunden, dass man über Projekt->Verweise bzw. Extras->Verweise einen Verweis auf verschiedene ACAD dlls in das VB Projekt einbinden kann.
http://forum.cad.de/foren/ubb/uploads/CB_/verweise.jpg

Was bedeutet das?

Kann ich also den Befehl eTransmit auch ausführen OHNE Acad mit der dwg starten zu müssen?? (Darauf hoffe ich)

Wo bekomme ich eine Referenz über diese Bibliothek? (AcStETransmit.arx)

MfG

Christian


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 14. Mrz. 2005 09:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CB_ 10 Unities + Antwort hilfreich


schnittstellen_acad.jpg

 
Hallo Christian,

wie Du richtig schreibst, kannst Du auf externe Bibliotheken einen Verweis legen. Ein Arx Programm ist allerdings keine Bibliothek, sondern ein eigenständiges Programm, welches Du über die Befehlszeile und "_appload" in AutoCAD laden kannst.

Was sind Verweise auf dlls?
Vereinfacht kann man sich das vorstellen, wenn Du ein angenommenes Modul in deinem Projekt hast, in welchem nur Funktionen sind die Du nicht nur in einem Projekt benutzen möchtest, sondern auch in deinem nächsten.
Eine Möglichkeit ist, das Modul einfach in dein neues Projekt zu kopieren. Die andere Moglichkeit besteht darin es als eine DLL zu verpacken und über die Verweise einfach zu integrieren. Somit hast Du auch jetzt Zugriff auf diese Funktionen. Vorteil der DLLs ist es ausserdem, wenn Sie einmal kompiliert sind, kommst Du nie wieder an den Code ran und Du kannst nur einzelne Funktionen für die Aussenwelt nutzbar und sichtbar machen. Du musst also wissen, wie Du an die Funktionen in der DLL kommst und welche Übergabeparameter diese erwartet.
Hoffe das ist einigermassen verständlich.

>Kann ich also den Befehl eTransmit auch ausführen OHNE Acad mit der dwg starten zu müssen?? (Darauf hoffe ich)
ETransmit ausführen, ohne ACAD zu starten. Hmmm .. Es gibt verschiedene Möglichkeiten über die diversen Schnittstellen, aber da steck ich leider auch nicht tief genug drinnen. Vielleicht hilft Dir die angehangene Grafik weiter. Habe damals mit ObjectDBX einen Zugriff auf die Zeichnung bekommen. Damit hast Du Möglichkeiten auf die Zeichnungsdatenbank zuzugreifen, aber ob ETransmit dort funktioniert, dass musst Du selbst herausfinden. Ich würde aber meinen, dass es darauf hinausläuft eine andere Schnittstelle zu benutzen und nicht mehr VB/VBA .. Kuck Dich sonst einfach mal im '.NET/ARX' Forum um.

>Wo bekomme ich eine Referenz über diese Bibliothek? (AcStETransmit.arx)
Wie oben erwähnt, eine ARX Datei ist keine Bibliothek.

Was mich noch interessiert, um Dir eventuell weiter zu helfen ist, auf welche Datei verweist Du in deinen Referenzen bei 'Autodesk Standards ETransmit Type Library'. Eventuell hilft das weiter.

Gruss TP

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CB_
Mitglied
Bauingenieur


Sehen Sie sich das Profil von CB_ an!   Senden Sie eine Private Message an CB_  Schreiben Sie einen Gästebucheintrag für CB_

Beiträge: 163
Registriert: 20.01.2004

ACAD 2002, W2k, P4 1800Mhz, 512 MB RAM, 20GB HD,
2 Stck. TFT an Matrox G550

erstellt am: 14. Mrz. 2005 09:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


verweise.jpg

 
Das ist die AcStETransmit.arx (die jpg ist aktualisiert).
http://forum.cad.de/foren/ubb/uploads/CB_/verweise.jpg

Wie es aussieht, werde ich dann doch in meinem Projekt mit sendcommand arbeiten müssen...

Scheint der einfachere Weg zu sein.

Danke für den kleinen dll Exkurs...


Achsoooooo: Wenn ich mit Thisdrawing.sendcommand arbeite will, muss ich dann vorher einen Verweis auf das AutoCAD Objektmodell erstellen oder gehts auch so?

MfG

CB_


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 14. Mrz. 2005 11:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CB_ 10 Unities + Antwort hilfreich

Hallo Christian,

Zitat:
Das ist die AcStETransmit.arx (die jpg ist aktualisiert).
http://forum.cad.de/foren/ubb/uploads/CB_/verweise.jpg


Das kann nicht sein, das kann keine ARX-Datei sein! Klicke mal in den Referenzen auf diesen Verweis ( 'Autodesk Standards ETransmit Type Library'), dann wird Dir unten bei 'Pfad' die Datei angezeigt, auf welcher die Referenz liegt.

Zitat:

Achsoooooo: Wenn ich mit Thisdrawing.sendcommand arbeite will, muss ich dann vorher einen Verweis auf das AutoCAD Objektmodell erstellen oder gehts auch so?


Auf ThisDrawing kannst Du in AutoCAD immer zugreifen.

Gruss TP

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CB_
Mitglied
Bauingenieur


Sehen Sie sich das Profil von CB_ an!   Senden Sie eine Private Message an CB_  Schreiben Sie einen Gästebucheintrag für CB_

Beiträge: 163
Registriert: 20.01.2004

ACAD 2002, W2k, P4 1800Mhz, 512 MB RAM, 20GB HD,
2 Stck. TFT an Matrox G550

erstellt am: 14. Mrz. 2005 11:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo TP,

doch doch, das ist die Datei. Zum Beiweis siehe die jpg.
http://forum.cad.de/foren/ubb/uploads/CB_/verweise.jpg

(die habe ich geändert, also notfalls im IE auf aktualisieren drücken)

Probier es bei Dir doch auch mal aus.

MfG

CB_

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BloodyMess
Mitglied
Applicationingenieur


Sehen Sie sich das Profil von BloodyMess an!   Senden Sie eine Private Message an BloodyMess  Schreiben Sie einen Gästebucheintrag für BloodyMess

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 14. Mrz. 2005 16:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für CB_ 10 Unities + Antwort hilfreich

Hallo Christian,

habe Map 2005, da funktioniert es nicht, die Datei 'AcStETransmit.arx' zu referenzieren. Nun habe ich mir die Datei in einer älteren Version besorgt und nun ist Sie auch referenzierbar.

Nun bin ich allerdings überfordert, da ich der Meinung war, dass ARX-Dateien eigenständige Programme sind und nicht referenzierbar sind. Vielleicht kann mir das jemand erklären? Interessieren würde mich, ob Du mit '_appload' die Datei beim Start von AutoCAD gleich mitgeladen bekommst. Bei mir wird Sie mitgeladen, da es Bestandteil von AutoCAD ist und es schon ein eigenständiges Programm ist und keine Bibliothek!

Wenn Du die Referenz auf die Datei hast, dann bekommst Du auch nur die Info, dass Du ein Object vom Typ 'AcStETransmitSvc' anlegen kannst. Aber wie man das händelt steht nirgends und das ist meistens das Problem von den ganzen Bibliotheken - es ist so gewollt, dass man damit nichts machen kann! Dir bleibt als wirklich nur der Weg über SendCommand den Dialog aufzurufen.

Das sind die Funktionen, die sich noch darin verbergen, aber die sind nicht ansprechbar!
------------------------
DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer
acrxEntryPoint
acrxGetApiVersion
------------------------
Es bringt also nichts die Datei zu referenzieren um dort auf Objecte zuzugreifen! Und ab hier weiss ich leider nicht mehr weiter. Sorry.

Gruss TP

------------------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CB_
Mitglied
Bauingenieur


Sehen Sie sich das Profil von CB_ an!   Senden Sie eine Private Message an CB_  Schreiben Sie einen Gästebucheintrag für CB_

Beiträge: 163
Registriert: 20.01.2004

ACAD 2002, W2k, P4 1800Mhz, 512 MB RAM, 20GB HD,
2 Stck. TFT an Matrox G550

erstellt am: 14. Mrz. 2005 16:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Trotzdem vielen Dank. Du hast mir schon insofern sehr viel weitergeholfen als dass ich nun den ollen eTransmit über sendcommand erstelle.

MfG

CB_

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz