| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: acad.rx mit Intelligenz versehen? (1859 mal gelesen)
|
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 22. Aug. 2006 13:39 <-- editieren / zitieren --> Unities abgeben:
Ich muss eine Konfiguration vorbereiten, in der einige User die Anwendungen "a.arx" und "b.arx" verwenden, anderen haben noch "c.arx" und/oder "d.arx". Jetzt brüte ich, wie ich das so vorbereiten soll, dass es flexibel und sicher ist und die Anwender möglichst wenig machen sollen. a) fertiges Ausfüllen der acad.rx: Wenn ich alles hineinschreiben ("a, b, c, d"), dann gibt es Ladefehlern, wenn es c und d nicht gibt. b) eigenes Ausfüllen der acad.rx: Technisch OK, möchte ich den Anwendern nicht zumuten ("Wenn sie c.arx verwenden, öffnen sie acad.rx und schreiben sie ..." c) Ändern der acad.mnl, der acaddoc.lsp etc: "If (findfile c.arx) -> arxload ..." Technisch OK, aber in den Hauptdateien herumfummeln soll man nicht .. d) Einpacken in die Startgruppe: Das geht in die Profile und muss bei neuen Profilen oder neuen Anwendern erst gemacht werden .. e) verschiedene acad.rx in verschiedenen Verzeichnissen: Da verliert man leicht den Überblick und muss Acad auf verschiedenen Wegen starten - viel Aufwand für wenig Erfolg. f) acad.rx mit Intelligenz Die Acad.rx ist ja keine Original-AutoCADdatei, und daher wäre es schon interessant, die Intelligenz hier einzupacken. Aber nach ersten Tests scheint das nicht zu klappen. Frage 1: Kann man in der acad.rx Zeilen auskommentieren? Welches Zeichen? (Anscheinend geht es nicht) Frage 2: Kann man in der acad.rx Zeilen Code einbauen (Lisp)? Frage 3: Gibt es zu der Ladethematik überhaupt die Traumlösung? Peter
------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 22. Aug. 2006 14:06 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
und wie ist es mit (cond ((=(strcase(getvar "LOGINNAME"))"USER-A")(arxload "a.arx")) ((=(strcase(getvar "LOGINNAME"))"USER-B")(arxload "b.arx")) ((=(strcase(getvar "LOGINNAME"))"USER-C")(arxload "c.arx")) ) in der acad.lsp ?? und gar kein Eintrag in der acad.rx ------------------ - 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 |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 22. Aug. 2006 14:26 <-- editieren / zitieren --> Unities abgeben:
Servus Cadmium da gibt es zwei Probleme: a) der Loginname ist mir nicht bekannt, daher kann ich das nicht verwenden. Die Abhängigkeit besteht von der Existenz des Programmes: "Wenn d.arx in c:\blabla vorhanden, dann ...." b) die acad.lsp: ich scheue mich, die Acad.lsp zu verändern (technisch wäre das einfach). Aber es ist wichtig, diese Hauptdatei in neutralem Zusatnd zu halten. Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 22. Aug. 2006 14:34 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Na, dann ist doch alles klar! Zitat: Wenn d.arx in c:\blabla vorhanden, dann ...."
und die acad.lsp ist doch sowiso eine Userdatei, die ist bei der acad install doch garnicht mehr dabei. Außerdem achte mal auf die Umstände,wann die acad.lsp geladen wird.
------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 22. Aug. 2006 14:41 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
ich werf dann mal (cond ((findfile "F:\\BLABLA\\a.arx") (arxload "F:\\BLABLA\\a.arx") ) ((findfile "F:\\BLABLA\\b.arx") (arxload "F:\\BLABLA\\b.arx") ) ) für die Integration in die acad.lsp ein .. ob du die acad.lsp oder die acad.rx veränderst.. das eine stellt für die dich kein Problem dar, und beim anderen haste Schiß?? ------------------ - 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 |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 22. Aug. 2006 16:14 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADwiesel: .. und die acad.lsp ist doch sowiso eine Userdatei, die ist bei der acad install doch garnicht mehr dabei....
Gut, das ist mir entgangen. Ich werde dann den Code in die "acaddoc.lsp" einpacken, und die Sache läuft. Danke für die Hinweise. Aber zurück zur Startfrage (interessehalber, nicht mehr lebenswichtig): Akzeptiert die acad.rx wirklich nur die arx-Angaben? Ich hatte testweise mal einen
Code: ; Das ist Kommentar
eingefügt - das war Acad sehr verstimmt.Peter
------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 22. Aug. 2006 21:10 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
..nicht in die acaddoc.lsp, sondern in die acad.lsp !! .. die arx muß IMHO doch bloß einmal am Anfang geladen werden und nicht mit jeder Zeichnung.. ------------------ - 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 |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 22. Aug. 2006 23:03 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADmium: .. die arx muß IMHO doch bloß einmal am Anfang geladen werden und nicht mit jeder Zeichnung..
Gute Frage - ich dachte immer, "Programme" (lsp, arx, ...) müssen je Zeichnung geladen werden. ?? Peter ------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2490 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 23. Aug. 2006 17:23 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
ARXe IMHO in der Regel nicht. Daher gibt es ja auch eine Arx-Entlade-Funktion. Die gibt es für Lisp nicht. ARXe laufen einfach in 'nem eigenen Namespace und der bleibt offensichtlich über Zeichnungsgrenzen hinweg erhalten. ------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 23. Aug. 2006 17:25 <-- editieren / zitieren --> Unities abgeben:
|
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 29. Aug. 2006 11:09 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Peter2: Frage 1: Kann man in der acad.rx Zeilen auskommentieren? Welches Zeichen? (Anscheinend geht es nicht)Frage 2: Kann man in der acad.rx Zeilen Code einbauen (Lisp)? Frage 3: Gibt es zu der Ladethematik überhaupt die Traumlösung?
Hier die abschliessende Information: Zitat: Original erstellt von Autodesk: The ObjectARX Developer's Guide says this about acad.rx:"Each line in the file contains a program name (with the path if the file is not in a directory on the AutoCAD library search path)." From this I infer that there should be no blank lines, and comments are not supported. [...] For loading ObjectARX apps from LISP - ObjectARX apps only need to be loaded once per AutoCAD session, so it's not required to reload them for every drawing that is opened. He should lookup the (arxload) LISP function in the helpfiles.
Peter
------------------ Für jedes Problem gibt es eine einfache Lösung. Die ist aber meistens falsch. ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lama Mitglied Dipl. Ing. (FH) Maschinenbau
Beiträge: 10 Registriert: 09.01.2004
|
erstellt am: 19. Sep. 2006 20:18 <-- editieren / zitieren --> Unities abgeben: Nur für Peter2
Zu Frage 1: Natürlich kann man in der acad.rx Zeilen auskommentieren ! Einfach einen ";" vorne dran. Wer eine AutoCAD Mechanical oder Desktop Version hat, kann das in der "ge_load.rx" nachsehen ... Noch eine Info, die vielleicht hilft. Man kann bei der Verknüpfung, mit der man AutoCAD startet mit der Option "/l" (siehe AutoCAD Hilfe) zusätzlich ARX-Programme angeben, die geladen werden sollen. Ich habe mir ein kleines ARX-Programm geschrieben, das über eine "eigene .rx-Datei" Module zulädt, bei der ich dann noch die Reihenfolge bestimmen kann ... Falls Ihnen das hilft e-mail an mich dann schicke ich Ihnen das zu. Gruß LaMa Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |