| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Startup für ACAD LT 2024 (527 mal gelesen)
|
Danillo Mitglied Bauingenieur
Beiträge: 245 Registriert: 12.11.2003 Windows 11 - AutoCAD 2023
|
erstellt am: 17. Jun. 2023 15:12 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, ich versuche gerade meine LISP-Programme auf ACAD LT 2024 zum Laufen zu bringen. Zu Beginn stellt sich folgendes Problem: Habe bisher in der ACAD-Directory die Datei ACADDOC.LSP gespeichert, in welcher über (defun S::Startup...) verschiedene Eistellungen durchgeführt wurden, um dann die LISP-Progamme in einer definierten Umgebung laufen zu lassen. Die ACADDOC.LSP habe ich beim LT jetzt über _appload zur Startgruppe hinzugefügt, aber leider wird die STARTUP nicht automatisch ausgeführt. Gibt es hier eine Lösung? Dann ist mir noch aufgefallen, dass meine Reactoren, die ich z.B. bei der Bemaßung vorgeschaltet habe, nicht funktionieren. Muss ich mich damit abfinden, oder ist das Problem lösbar?
------------------ Windows 11 - AutoCAD Civil 3D 2023 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22171 Registriert: 03.06.2002 Alles
|
erstellt am: 17. Jun. 2023 23:11 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
Hi, 1. Acaddoc.lsp Ob relevant oder nicht, hau die raus aus der Startgruppe und benenne die Datei jm in ACADLTDOC.lsp. In das Supportverzeichnis deiner Wahl.. 2. Vergesse auch nucht die Trustedpathes Läufts? 3. Wenn ich viel in die Zeilen richtig hinein interpretiere, dann prüfst du die Probleme wohl eher nicht mit einfachem Code, genau das empfehle ich aber (soviel wie möglich rausnehmen) Beispiel s::startup Lt Hilfe sollte es kein Problem mit der Funktion geben, also vermute ich Probleme mit dem Inhalt der s::startup. Test: Nur eine s::startup laden lassen in welcher einfach nur ein princ HelloWorld enthält. Geht das? Dann gehts los mit der Problemsuche. 4. Dasselbe wie in 3) Tausch den eigentlichen code gegen ein simples helloworld und teste es erneut. Für den Test lade den code manuell. Geht das? Dann gehts los bei der Fehlersuche.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 943 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 18. Jun. 2023 10:58 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
Zitat: Original erstellt von Danillo: (defun S::Startup...)
Vorsicht, ganz böse Falle! Wenn Du die S::STARTUP Funktion mittels DEFUN definierst, verhinderst Du allen anderen Applikationen, diese ebenfalls zu nutzen. Die letzte App, die diese Funktion so definiert, hat gewonnen. Du musst Deine S::STARTUP erst unter anderem Namen mit DEFUN-Q oder einfach gequoteter Liste definieren., also z.B. so: (defun-q mystartup () (print "hello World")) oder (setq mystartup '(nil (print "hello World"))) Danach erst bastelst Du die S::STARTUP als Zusammenfügung der eventuell schon als Liste vorhandenen S::STARTUP und Deiner MYSTARTUP: (setq S::STARTUP (append S::STARTUP MYSTARTUP)) [Diese Nachricht wurde von archtools am 18. Jun. 2023 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Danillo Mitglied Bauingenieur
Beiträge: 245 Registriert: 12.11.2003 Windows 11 - AutoCAD 2023
|
erstellt am: 19. Jun. 2023 08:49 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, danke für eure Hilfe. Es stimmt, dass ich die Datei nicht mit einfachem Code, sondern mit dem Code, der seit Jahren auf der Vollversion von AutoCAD läuft, getestet habe. Der Test mit Dateinamen ACADLTDOC.lsp und folgendem Code hat einwandfrei funktioniert: (defun-q S::STARTUP (/) (princ "\nHello World") ) Warum Autodesk hier nicht den Namen ACADDOC.lsp gelten lässt, erschließt sich mir nicht... Bei anderen Spezialversionen wie C3d gibt es ja auch keine eigene ACADDOC. Zum Thema: böse Falle Auf meinem AutoCAD laufen eigentlich nur meine Lips-Programme, sodass ich den Konflikt zwischen verschiedenen Applikationen ausschließen kann (außer ACAD & Co selbst nutzt die Funktion). Bedanke mich für den Hinweis und werde den Code umstellen. Ich habe bisher immer Defun-q verwendet, was funktioniert hat. Bringt es einen Vorteil die Funktion mit Defun anzulegen? ------------------ Windows 11 - AutoCAD Civil 3D 2023 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Danillo Mitglied Bauingenieur
Beiträge: 245 Registriert: 12.11.2003 Windows 11 - AutoCAD 2023
|
erstellt am: 19. Jun. 2023 08:57 <-- editieren / zitieren --> Unities abgeben:
Und zum Thema Fehlersuche: Habe diesen auch bereits gefunden: Ich lade in der ACADLTDOC.lsp verschiedene Lisp-Programme u.a. eines mit Reaktoren. Habe diese Zeile rausgenommen und nun läuft alles. Ich vermute, dass Reaktoren von AutoCAD-LT nicht unterstützt werden. Ich habe diese verwendet, um Texte und Bemaßungen immer auf dem richtigen Layer zu genieren. Da werde ich in Zukuft eben manuell die Layer wählen müssen. ------------------ Windows 11 - AutoCAD Civil 3D 2023 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22171 Registriert: 03.06.2002 Alles
|
erstellt am: 19. Jun. 2023 09:16 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
Moin, >>"Es stimmt, dass ich die Datei nicht mit einfachem Code, sondern mit dem Code, der seit Jahren auf der Vollversion von AutoCAD läuft, getestet habe." Bei erste Test vollkommen normal, aber wenn man auf Probleme trifft.. >>"Der Test mit Dateinamen ACADLTDOC.lsp und folgendem Code hat einwandfrei funktioniert" Gut, das automatische Laden wie auch die Ausführung einer s::startup funktioniert grundsätzlich.
>>"Warum Autodesk hier nicht den Namen ACADDOC.lsp gelten lässt, erschließt sich mir nicht... Bei anderen Spezialversionen" LT ist aber keine Spezialversion wie C3D von AutoCAD (aka Toolset), welche on Top auf AutoCAD läuft und ACAD auch ohne die Zusatzfunktionen genutzt werden kann, sondern ein anderes Produkt.
>>"wie C3d gibt es ja auch keine eigene ACADDOC." Weil es auf AutoCAD aufsetzt. Allerdings ist es noch viel viel schlimmer das AutoDESK die Dateien ACAD.lsp und ACADDOC.lsp überhaupt verwendet! Denn das sind eigentlich benutzuerdefinierte Dateien und sollten daher nicht vom Programm kommen. Das ist auch so dokumentiert, nur hält sich Adesk nicht daran und somit ist die Doku falsch. (ich kenne es jetzt nur von Mechanical)
Ich bin in diesem Punkt bei dir, ich hätte da auch keine extra Datei(name) genommen, allerdings ist das ja nicht das erste Mal. Dieselbe Situation hast du bereits seit Jahrzehnten mit den Vorlagendateien und Definitionsdateien für Linientypen und Schraffurmuster in LT!
>>"Zum Thema: böse Falle" >>"Auf meinem AutoCAD laufen eigentlich nur meine Lips-Programme" Nur für Mitleser: Daran denken das auch nicht-Lisp Applikationen gerne mal auf Lisp zurückgreifen für ein paar Kleinigkeiten wie das automatische laden via ACAD/ACADDOC oder auch s::startup, also auch wenn das eigentliche Tool kein Lispprogramm ist.
>>" sodass ich den Konflikt zwischen verschiedenen Applikationen ausschließen kann (außer ACAD & Co selbst nutzt die Funktion)." ACAD nicht, aber "& Co" (ich denke da an Mechanical, da sollte es für einen Umstand zutreffen und somit kann ich es für andere auch nicht ausschließen)
>>" Bedanke mich für den Hinweis und werde den Code umstellen." Gut, denn es gibt keinen Grund dagegen es gleich flexibel zu gestalten und im nbesten Fall ersparst du dir dadurch mal viel Ärger. >>"Ich habe bisher immer Defun-q verwendet, was funktioniert hat. Bringt es einen Vorteil die Funktion mit Defun anzulegen? " HÄ? Du solltest doch Defun-q verwenden um (falls vorhanden) eine bestehende s::startup zu ergänzen statt zu überschreiben!? DU hast geschrieben "(defun S::Startup...)" und dann kam von Tom der Hinweis auf defun-q
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 943 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 19. Jun. 2023 09:51 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
Zitat: Original erstellt von Danillo:
Ich habe bisher immer Defun-q verwendet, was funktioniert hat. Bringt es einen Vorteil die Funktion mit Defun anzulegen?
Wenn Du sicher bist, dass keine andere Applikation die S::STARTUP verwendet, dann ist das egal. Ansonsten ist DEFUN falsch, weil das die Funktion nicht als Liste erzeugt, an die andere Applikationen was dran hängen können. Es gibt nur eine S::STARTUP, und die wird an einem genau definierten Punkt nach der Initialisierung von AutoCAD einmal ausgeführt. (DEFUN-Q S::STARTUP ...) ist deshalb eigentlich unsinnig. Wenn, dann musst Du vorher prüfen, ob nicht eine andere App diese Funktion schon erzeugt hat, und Du solltest dann Deine mit DEFUN-Q definierte andersnamige Funktion nur noch mit APPEND dran hängen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Danillo Mitglied Bauingenieur
Beiträge: 245 Registriert: 12.11.2003 Windows 11 - AutoCAD 2023
|
erstellt am: 19. Jun. 2023 10:13 <-- editieren / zitieren --> Unities abgeben:
Bezüglich Defun oder Defun-Q beziehe ich mich auf den Beitrag von Archtool, der schreibt, dass man die S::Starup nicht per Defun definieren sollte. Wusste nicht, dass es auch mit Defun geht, weil weil immer Defun-Q verwendet habe. Wird die S::Starup mit Defun-Q automatisch ergänzt? Dachte hier müsste man die Liste des Programms mit Append an das bestehende anhängen? Macht für mich jetzt keinen Unterschried, weil ich sowieso Defun-q verwende. Hätte nur meinem allgemeinen Verständnis gedient... ------------------ Windows 11 - AutoCAD Civil 3D 2023 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 943 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 19. Jun. 2023 10:25 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
Zitat: Original erstellt von Danillo: Bezüglich Defun oder Defun-Q beziehe ich mich auf den Beitrag von Archtool, der schreibt, dass man die S::Starup nicht per Defun definieren sollte. Wusste nicht, dass es auch mit Defun geht, weil weil immer Defun-Q verwendet habe. Wird die S::Starup mit Defun-Q automatisch ergänzt? Dachte hier müsste man die Liste des Programms mit Append an das bestehende anhängen? Macht für mich jetzt keinen Unterschried, weil ich sowieso Defun-q verwende. Hätte nur meinem allgemeinen Verständnis gedient...
In De9nem Eingangsbeitrag schreibst Du selbst "in welcher über (defun S::Startup...) verschiedene Eistellungen durchgeführt wurden" DEFUN-Q ist nichts anderes als DEFUN, nur dass es die Funktion nicht "kompiliert", sondern als Liste belässt. So ist das eigentlich im reinen Lisp schon immer vorgesehen, und war auch in AutoLISP lange so der Fall. DEFUN-Q ist also nur die alte DEFUN Funktion, wie sie in früheren AutoCAD Versionen (AFAIK bis R14, also vor der Übernahme von VitalLisp als VisualLisp) vorhandenen war. Lisp ist genau deshalb so gut geeignet für KI, weil es keinen Unterschied zwischen Programm und Daten gibt. Ein Lisp-Programm ist eine Liste, die sich vom Aufbau her nicht von anderen Datenlisten unterscheidet. Und weil Lisp dazu da ist, Listen zu verarbeiten, kann es logischerweise auch Lisp-Programme und sogar sich selbst bearbeiten. Ein Programm, das sich selbst zielgerichtet verändern kann, darf man als "selbstlernendes" Programm bezeichnen. Und das ist der Kern der KI. Anstatt (defun plus (a b) (+ a b)) kannst Du auch das schreiben: (defun-q plus (a b) (+ a b)), oder auch (setq plus '((a b) (+ a b))) In allen drei Fällen hast Du danach eine Funktion namens PLUS, die Du z.B. mit (plus 2 3) aufrufen kannst.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22171 Registriert: 03.06.2002 Alles
|
erstellt am: 19. Jun. 2023 10:32 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
>>"Bezüglich Defun oder Defun-Q beziehe ich mich auf den Beitrag von Archtool,"Ich zeige gerne noch einmal darauf: Und Archtools und ich beziehen uns auf deine "Aussage" bei dem du die s::startup mit DEFUN definiert hast (was wohl ein Schreibfehler, siehe oben) >>"Wusste nicht, dass es auch mit Defun geht" defun oder defun-q ist immer deine/Benutzer Wahl.
>>"Wird die S::Starup mit Defun-Q automatisch ergänzt?" Nein, du würdest auch damit die bestehende Funktion überschreiben, aber wenn eine bestehende Funktion als Liste definiert wurde, so hat man als Nachrücker die Möglichkeit die Liste zu lesen&ergänzen (append zB).
>>" Dachte hier müsste man die Liste des Programms mit Append an das bestehende anhängen?" Ja, genau das hat Archtools auch in seiner Antwort #3 gezeigt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Danillo Mitglied Bauingenieur
Beiträge: 245 Registriert: 12.11.2003 Windows 11 - AutoCAD 2023
|
erstellt am: 20. Jun. 2023 08:09 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, da habe ich mich glatt vertippt! :lol Danke für eure Hilfe! Liege ich dann richtig, dass AutoCAD-LT keine Reaktoren unterstützt? ------------------ Windows 11 - AutoCAD Civil 3D 2023 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22171 Registriert: 03.06.2002 Alles
|
erstellt am: 20. Jun. 2023 09:18 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
Zitat: Original erstellt von Danillo: Liege ich dann richtig, dass AutoCAD-LT keine Reaktoren unterstützt?
Zitat: Original erstellt von cadffm:3. Wenn ich viel in die Zeilen richtig hinein interpretiere, dann prüfst du die Probleme wohl eher nicht mit einfachem Code, genau das empfehle ich aber (soviel wie möglich rausnehmen)
4. Dasselbe wie in 3) Tausch den eigentlichen code gegen ein simples helloworld und teste es erneut. Für den Test lade den code manuell. Geht das? Dann gehts los bei der Fehlersuche.
Wenn es nicht geht, dann teile deinen HelloWorld-Rektor mit uns
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 943 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 20. Jun. 2023 09:43 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
Zitat: Original erstellt von Danillo: Hallo Leute, da habe ich mich glatt vertippt! :lol Danke für eure Hilfe! Liege ich dann richtig, dass AutoCAD-LT keine Reaktoren unterstützt?
In der Funktionsübersicht für Lisp in LT2024 stehen keine Reaktoren drin, sie werden also wohl nicht unterstützt: https://help.autodesk.com/view/ACDLT/2024/DEU/?guid=GUID-3F9A2EB2-082D-49DD-8EFD-DAD8F6E9AA6A Meine ArchTools können nicht mal geladen werden, weil bei der Initialisierung Dictionaries gelesen und erzeugt werden, und das wird von LT2024 auch nicht unterstützt. Vergiss LT2024, BricsCAD ist die bessere Alternative zur AutoCAD Vollversion. Die meisten meiner Kunden sind komplett zu BricsCAD gewechselt, darunter auch große internationale Konzerne. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22171 Registriert: 03.06.2002 Alles
|
erstellt am: 20. Jun. 2023 10:02 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
Zitat: Original erstellt von archtools: In der Funktionsübersicht für Lisp
Das ist keine Funktionsübersicht, sondern die Hilfeseite zu ENTMAKEX. Benutzt du ENTMAKEX um einen Reaktor zu erzeugen? Nein. In AutoCAD LT kann man Reaktoren nutzen, ich kann aber nur diese generelle wahrheitsgemäße Aussage machen, mehr nicht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 943 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 20. Jun. 2023 10:04 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
|
cadffm Moderator 良い精神
Beiträge: 22171 Registriert: 03.06.2002 Alles
|
erstellt am: 20. Jun. 2023 10:34 <-- editieren / zitieren --> Unities abgeben: Nur für Danillo
Zitat: Original erstellt von archtools: Dann klicke doch auf die rechte Seite, um andere Funktionen zu zeigen:
Oups! Nach der Aussage &Link musst du aktuell denken LT wäre auf AutoLISP-Funktionen begrenzt , dem ist aber nicht so ! Da ist ein falscher Satz in der Hilfe, die Aussage stimmt nicht. Da kann man gleich die Feedback-Funktion nutzen um eine Korrektur der Hilfe beizuführen, good catch. Besser gemacht haben sie es auf der Seite über Neuerungen in Lisp2024 beschreibt es als Überblick richtig: https://help.autodesk.com/view/ACDLT/2024/DEU/?guid=GUID-037BF4D4-755E-4A5C-8136-80E85CCEDF3E Zitat:
What's New or Changed with AutoLISP (AutoLISP) No new or changed functions AutoCAD LT for Windows now supports AutoLISP and DCL Here are some of the known limitations or differences from AutoCAD: Most VL*, VLA*, VLAX*, and VLR* functions are supported, but the use of third-party automation libraries is not supported in to AutoCAD LT. Here is a high-level summary of the functions that are not supported: vlax-create-object vlax-get-object vlax-get-or-create-object vlax-import-type-library vla-GetInterfaceObject VLA* functions related to creating and modifying 3D solid and surface, helix, material, multiline objects among others that can only be created in AutoCAD entmake, entmakex, and entmod functions only allow for the creation and modification of objects supported in AutoCAD LT AutoLISP functions exposed by custom ObjectARX and Managed .NET programs can't be used ActiveX limitations: PreferencesProfiles object exists as part of the ActiveX implementation, but all of its methods and properties have been removed since profiles are not supported in AutoCAD LT for Windows Creation of 3D meshes, surfaces, and solids is not supported, while support is limited for the modification of 3D objects Developing AutoLISP program limitations: Visual LISP integrated development environment (IDE) and VLIDE/VLISP commands are not available in AutoCAD LT for Windows Debugging with the AutoLISP Extension in Visual Studio Code is not supported in AutoCAD LT for Windows Deploying AutoLISP program limitations: MNL files are not automatically loaded with CUIx files that have the same name, but the files can be loaded using the AutoLISP LOAD function from another LISP file Compiled LSP files are supported in AutoCAD LT for Windows, but compiling LSP files can only be done in AutoCAD for Windows only Programs that utilize functions and commands that are limited to AutoCAD should check which product they are being loaded into to avoid compatibility problems. This can be done using the PROGRAM system variable, a value of acadlt is returned for AutoCAD LT.
und deswegen passt es auch das man die Doku zu vlr-miscellaneous-reactor usw. auch in der LT-Hilfe hat. https://help.autodesk.com/view/ACDLT/2024/DEU/?guid=GUID-037BF4D4-755E-4A5C-8136-80E85CCEDF3E Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|