| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Civil3d API progn mit Vlisp C# (2620 mal gelesen)
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 08. Nov. 2012 14:35 <-- editieren / zitieren --> Unities abgeben:
Ich bin hier auf den Link vom Civil API gestossen und hätte mal die Frage ob diese Bibliothek nur mit.NET oder auch Visual LISP ansprechbar ist. Mir ist einfach unklar auf welche Bibliothek Vlisp anspricht. VB, C#, C++ müssen alle dieses API verwenden. ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 08. Nov. 2012 14:50 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 09. Nov. 2012 09:29 <-- editieren / zitieren --> Unities abgeben:
Danke Thomas ActiveX ist ganz gut dokumentiert, auch wenn es einem schwer fällt ersteinmal den Fuss da reinzukriegen. Training bei Axels Seite ist ja super, aber eben nur der Anfang. Dagegen ist Dokumentation von API sehr, sehr umfangreich. Ich habe hier einen Link gefunden, wo man sich einige Sessions anschauen kann. Nur lassen sich die WMF-files irgendwie nicht öffnen. Ist das nur an meinem Recher so ? ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 09. Nov. 2012 09:41 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Jedes Programm hat Funktionen und Proceduren .... einige werden nut intern genutzt, sind also privat, andere erlauben auch die Nutzung / Steuerung von "außen" werden als public bezeichnet = die API , Com und die c#/.Net-Klassen gehen in der Bekanntmachung der funktionen halt nur einen etwas anderen Weg. Und was dem internen Lispinterpreter "bekannt" gemacht wird liegt an Adesk... Du kannst dir auch in Lisp eine API= Funktionsbibliothek schreiben, ist halt bloß nicht mitgeliefert und .. ok .. an einige Sachen kommt man nicht ran. Auch die in von Autocad für #C/.Net bereitgestellten Funktionen decken nicht alles ab .. auch dort wirst du deine Sachen ranproggen müssen. wmf ist eigentlich ein Grafikformat, das IMHO z.b. irfanview kann ------------------ Also ich finde Unities gut ... und andere sicher auch --------------------------------------- - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 09. Nov. 2012 12:49 <-- editieren / zitieren --> Unities abgeben:
Zitat:
VLisp ist ein in Autocad integrierter Interpreter(mit seinen definiertem Sprachumfang)
ActiveX soll meiner Meinung nach die COM Schnittstelle sein, kann es sein das der Interpreter nicht alle Funktionen zur Verügung stellt, um alle APIobjekte anzusprechen ? [edit] Die Frage ist nur zum besseren Verständnis [Diese Nachricht wurde von cadplayer am 09. Nov. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 09. Nov. 2012 13:06 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 12. Nov. 2012 14:02 <-- editieren / zitieren --> Unities abgeben:
Sorry, wenn meine Fragen etwas dämlich klingen mit VisualLISP spricht man das COM-Interface, aber da wiederum nur einen Teil mit .NET spricht man z.b. das Acad API an richtig? ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 12. Nov. 2012 14:16 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 12. Nov. 2012 16:30 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 14. Nov. 2012 07:31 <-- editieren / zitieren --> Unities abgeben:
Was gibt´s denn für Bücher, wenn ich mich mehr damit beschäftigen möchte. Die samples von CivilAPI bei gelieferten Installation sind ein bisschen rar. Also wie kann man anfangen, die Basics mit C# habe ich weitläufig drin ? ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 14. Nov. 2012 10:03 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Zitat: Original erstellt von cadplayer: ... Also wie kann man anfangen, die Basics mit C# habe ich weitläufig drin ? ...
Das Thema im Alleingang anzugehen halte ich für sehr ambitioniert. Bücher kenne ich keine .. die Website kann ich dir empfehlen. Meine wirkliche Empfehlung ist allerdings: Gönn dir eine Schulung. Basics c# + Basics für c#-AutoCAD. Ich habe einige der bekannten Poster hier in diesem Forum geschult. In Lisp sind die super fit im AutoCAD-Objektmodell fühlen die sich wie zu hause und dennoch ist der Einstieg in die c#.Net-Programmierung für AutoCAD ein recht großer Sprung. Ich habe mir auch vor Jahren eine Schulung gegönnt und habe sicher noch 2 Jahre gebraucht, um mir wirklich klar zu werden, was es bedeutet objektorientiert zu programmieren. (Anmerkung) Falls es hier im Forum Interessenten an einer solchen Schulung gibt, dann einfach mal per PM eine Info an micht senden. Vielleicht bekommen wir ja eine Gruppe von 3 - 5 Teilnehmern beisammen, dann rechnet sich das für alle. Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 15. Nov. 2012 12:55 <-- editieren / zitieren --> Unities abgeben:
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 16. Nov. 2012 11:36 <-- editieren / zitieren --> Unities abgeben:
Nochmal auf Ursprungsfrage, - mir ist jetzt klar das VisualLisp auf das COM-Interface anspricht. Alle Funktionen, die hier zu Verfügung stehen sind in der Bibliothek erklärt. Aber wie erhalte ich das nötige Werkzeug, um Visual funktionen aufzubauen. Bei AfraLisp ist ja jede Menge dokumentiert, auch Axel bietet einiges an. Mir reicht das aber noch nicht richtig, um die Grundsätze erstmal reinzukriegen. Einfaches Beispiel um überhaupt Autocadfunktionen im COM-interface anzusprechen, muss ich als erstes die AutocadObjekte in COM-Objekte umwandeln (vlax-vla-object->ename AutocadEntity). Gibts es mehr Infos jeglicher Art, bei Amzon hatte ich mir letzthin das Buch bestellt. Der Buchtittel hat aber das Thema verfehlt, da wenig über Visual drinsteht. Ich bräuchte halt mal einen Rat, um solche Fehleinkäufe zu vermeiden. ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 16. Nov. 2012 11:52 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 16. Nov. 2012 11:55 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
imgrunde ist dein Ansatz richtig - du arbeitest dann mit COM-Objekten. COM-Objekte sind recht simpel aufgebaut. Es gibt Eigenschaften und Methoden, und deren Handling musst du die Funktionen beherrschen, der Rest ist Kenntnis des Objektmodells. Eigenschaften: vlax-put-property zum Eigenschaften setzen vlax-get-property zum Eigenschaften lesen Methoden vlax-invoke-method zum Methode ausführen Soweit so gut - jetzt kommt das größere (Verständnis-)Problem. Auch die aus dem Lisp bekannten Objekttypen müssen in COM-verständliche Objekte umgewandelt bzw. zurück gesetzt werden. Dafür hast du wieder Funktionen zur Verfügung: Zeichnungsobjekte(alles was eine ObjektId hat) vlax-ename->vla-object vlax-vla-object->ename andere Typen vlax-safearray-... vlax-make-... vlax-variant- Alles klar? ;-) Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 16. Nov. 2012 12:31 <-- editieren / zitieren --> Unities abgeben:
@Thomas: ja die Beispiel habe ich gesehen, nur ist mir leider nicht der VBAsyntax bekannt, da wäre die Frage ob Visual Studio die Möglichkeit hat die Schnipsel in C# umzuwandeln - hab eigentlich keine Lust mehr mit VBA anzufangen, weil wie gesagt bald nicht mehr unterstützt wird von MS @Holger: Gut für den Einstieg, jetzt will ich dich eigentlich nicht bitten (von meiner Seite her nicht schlecht) alle Funktionen zu erläutern, dazu sind sie ja gut in der Hilfe nachlesbar. Eine Frage wäre aber noch, vielleicht geht das kurz zu umreissen. Wie hangelt man sich eigentlich durch das Objektmodell mit Autolisp. Gibt der Vlide-editor dazu debugging hilfe ? ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 16. Nov. 2012 12:40 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 16. Nov. 2012 12:56 <-- editieren / zitieren --> Unities abgeben:
Ja genau, die meine ich ja - habe ich als 2012´er noch auf meiner Festplatte liegen. Langsam schnalle ich es, die COM-objekte müssten doch in allen dotNET-Sprachen den gleichen Namen haben oder nicht. Wie kann ich das nur auf VisualLisp basis anwenden, war das bereits die Antwort von Holger ?! Also ich meine der Vlide-Interpreter übersetzt ja die COM-objekte, jetzt müsste ich nur wissen, welchen Namen bekommen sie denn - oder bin ich auf dem Holzweg. Vielleicht müsste man hier ein Brett einfügen - Smalltalk (oder tausendmal dumgefragt und dann erst nachgedacht) Sorry Leute, aber ihr habt mir schon viel weitergeholfen - danke mit units. ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 16. Nov. 2012 13:08 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 16. Nov. 2012 16:03 <-- editieren / zitieren --> Unities abgeben:
Naja, ich glaube ich lasse mal mit dem posten für diese Woche (jedenfalls), die ganze Sache wird mir nicht klarer. Ich werde nochmal in Ruhe Axsels Seiten durchgehen, vielleicht wird es dann etwas klarer die "wusten" VlispKonstruktionen Euch ein schönes Wochenende! ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 20. Nov. 2012 09:05 <-- editieren / zitieren --> Unities abgeben:
Ich habe hier nochmal einen tollen Beitrag gefunden, der mir einiges klar gemacht hat in Sachen Vl-funtions, die auf das Objektmodell von VB.NET ansprechen. Jetzt weiss ich ungefähr wie ich ich mir Objekte aus VB herzaubern kann (diese sind ja auch gut dokumentiert). Da ich keine VB kenntnisse habe ist meine Frage am Beispiel, wenn ich schaue in der Hilfe unter length steht da als Eigenschaft "object.Length " Double; read-only The length of the line Wie weiss ich jetzt, um die Länge einer Linie zu ermitteln das es vl-get-length heissen muss, steht das irgendwo in der Hilfe, wie man solche Methoden zusammenbaut? ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 20. Nov. 2012 09:41 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Hallo Dirk, ich verweise mal auf mich selbst ->. Die ganzen vla-XXX Funktionen sind alles nur Ableitungen der in meinem Beitrag beschrieben Grundfunktionen. (Viel)Mehr als das was ich dort geschrieben habe, benötigst du nicht - vergiss den ganzen vla-Kram. Du musst dir nun lediglich klar machen, was sind Eigenschaften und was sind Methoden .. und das ist wiederum in der VBA-Hilfe recht gut beschrieben. Alles das, was du in der Hilfe findest, kannst du mit der Hand voll Funktionen in meinem Beitrag verwenden (natürlich im richtigen Kontext). Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 20. Nov. 2012 11:05 <-- editieren / zitieren --> Unities abgeben:
Um mal in die Praxis mit Visual-Lisp zurückzukehren. Ich habe vor ein einfaches Tool zu schreiben, welches mir von einer bestimmten Linie die Länge ermittelt und dann einen Text erzeugt, der den Längenwert beinhaltet und an den Startpunkt der Linie in den entsprechenden Layer setzt Code:
(vl-load-com) (setq vl-en (vlax-ename->vla-object (car (entsel "\nSelect line ")))) (setq vl-layer (vla-get-layer vl-en)) (setq vl-length (vla-get-length vl-en)) (vlax-safearray-... (vla-addtext (rtos vl-length 2 2) (vla-startpoint...
Wenn ich das VLA-objekt inspeziere steht bei <Startpoint> <safearray> <koordinate> Die Frage ist jetzt welche Methode verwende ich, um den Startpunkt abzufragen. Bin unter vlax-safearray- nicht wirklich schlauer geworden. ------------------ Gruss Dirk
[Diese Nachricht wurde von cadplayer am 20. Nov. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 20. Nov. 2012 11:28 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 20. Nov. 2012 11:33 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 21. Nov. 2012 07:52 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Hallo Dirk, ich habe CADmiums Code, der ja die (vla-xxx Funktionen verwendet hat, auf die von mir genannten Basisfunktionen umgeschrieben. Vielleicht wird es nun klarer, was ich meine.
Code:
(vl-load-com) (setq vl-en (vlax-ename->vla-object (car (entsel "\nSelect line ")))) (setq vl-layer (vlax-get-property vl-en 'layer)) (setq vl-length (vlax-get-property vl-en 'length)) (setq SP (vlax-safearray->list (vlax-variant-value (vlax-get-property vl-en 'startpoint) ) ) ) ;;-> Startpunkt setzen (setq NSP (getpoint SP "\nNeuer Startpunkt der Linie: ")) (vlax-put-property vl-en 'startpoint (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray vlax-vbDouble '(0 . 2)) NSP ) ) )
Grüße! Holger------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 21. Nov. 2012 15:12 <-- editieren / zitieren --> Unities abgeben:
Deinen Code muss ich nochmal durchgehen, verstehe noch nicht alles... Hier mein Vorhaben, wenn auch umständlich mal zusammengeschrieben. Was mir auf den ersten Blick auffällt, das ich hier noch keine richtige Logik erkenne. Sicher es ist eine andere Vorgehensweise, als wie in Autolisp, aber wer kann mir vielleicht (wenn das überhaupt geht) die Zusammenhänge im Aufbau von vla-funktionen erklären. Ist das was ich da zusammengetextet habe überhaupt richtig - Ich bin halt hin und her gehüpft zw. acadauto.chm (Vla-funktionen) und acad_dev181.chm (Autolispfunktionen) Code:
(defun c:LengthOfLine () (vl-load-com) ;; Aufruf einer Autocadapplikation für die aktuelle Acad session (setq oAcad (vlax-get-acad-object)) ;; Lese und Schreib modus der aktuellen Zeichnung aktivieren (setq oDoc (vla-get-ActiveDocument oAcad)) ;; Anwendung zum Schreiben von Objekten in den Modell-Bereich (setq oMSpace (vla-get-ModelSpace oDoc)) ;; Wandelt ein AcadEntity in ein vlaEntity um (setq vl-en (vlax-ename->vla-object (car (entsel "\nSelect line ")))) ;... (setq vl-layer (vla-get-layer vl-en)) ;... (setq vl-length (rtos (vla-get-length vl-en) 2 2)) ;; Ermittelt die Koordinaten aus dem vlaEntity (setq vl-koor (vlax-safearray->list ;; über die Inspect function zum Auslesen von Objekten - siehe "Using Safearrays with Variants" (vlax-variant-value ;; The data type and value of the variant (vla-get-startpoint ;; die Koordinaten werte vl-en)))) (setq oText (vla-AddText oMSpace ;; Fügt einen Text in den Modellbereich (strcat vl-length " m") (vlax-3d-point ;; baut eine 3d-point Datenstruktur vl-koor) 1.0)) )
------------------ Gruss Dirk [Diese Nachricht wurde von cadplayer am 21. Nov. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 21. Nov. 2012 15:30 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Hallo Dirk, Der Unterschied zum normalen Lisp ist, dass die VLA-Geschichten Objektorientiert sind. Das kommt daher, da mit den VLA-Gedöhns der Zugriff auf die COM-Schnittstelle hergestellt wird. In dieser COM-Schnittstelle ist AutoCAD und alles, was damit zusammen hängt in einem Objektmodell dargestellt. Du arbeitest folglich nicht wie in Lisp mit Funktionen, sondern mit Objekten. Klarer wird dir das tatsächlich werden, wenn du dich auf die von mir oben genannten Grundfunktionen beschränkst und das vla-zeugs einfach ganz schnell wieder vergisst. Nimm dir die Grundfunktionen, schau dir mein Beispiel an und öffne parallel die AutoCAD-VBA-Hilfe. In dieser ist das Objektmodell beschrieben. Dann wirst du recht schnell erkennen, dass ein Line-objekt Eigenschaften und Methoden hat. Und genau diese habe ich in dem Code auch nur angesprochen. Du kannst also alle Objekte in der VBA-Hilfe anschauen, und dann mit den Grundfunktionen die Eigenschaften lesen/schreiben und Methoden mit den Objekten ausführen. Zu deinem Code, die Kommentare geben nicht (wirklich) dass wieder, was da tatsächlich passiert. Versuch das mal so umzuschreiben, dass da irgendetwas mit Objekten steht .. du öffnest keine Anwendungen! Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 30. Nov. 2012 08:30 <-- editieren / zitieren --> Unities abgeben:
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 30. Nov. 2012 08:48 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 30. Nov. 2012 08:59 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 30. Nov. 2012 09:02 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 30. Nov. 2012 09:30 <-- editieren / zitieren --> Unities abgeben:
Gegen Entgeld ja, nur blöd das ich die Seite nicht weiter gebrauchen kann - ich meine nach Einloggen kriegt man so viel Müll von denen zugeschickt. Bspw die VLISP DevBible liegt da auch, aber flagt auch im Netz kostenlos rum. Gut finde ich übrigens die Videos von AU, da kann man erstmal sehen, wie grob der Hase läuft... ------------------ Gruss Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |