![]() |
|
Bitte drücken Sie nicht mehrfach auf "Antwort speichern".
*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.
Beiträge: 719 / 16 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme Beispiel: ich möchte daraus (defun add-xref (myxreffile / lastent) Die Funktionen (incompatibelversion ...) zur Erkennung inkompatibler DWG-Versionen und (recursive-file ...) zur Erkennung selbstreferenzierender DWGs musst Du natürlich noch selbst schreiben. Allerdings gibt es Möglichkeiten, das etwas kompakter und eleganter zu machen. Guck dafür mal nach den Möglichkeiten des Error-Handlings durch *error* und durch vl-catch-all-applyarchtools Zitat:
Original erstellt von cadking:
Hallo Lispler,
gibt es eine Möglichkeit, dass was der Befehl (command "... zurückgibt an ein (setq zu übergeben?
(command "-xref" "_r" "296_G-05-Überströmung")
gibt zurück:
-xref
Option eingeben [?/Binden/Lösen/Pfad/pFadtyp/Entfernen/Neuladen/Überlagern/Zuordnen] <Zuordnen>: _r
Namen für neu zu ladende XRef(s) eingeben: 296_G-05-Überströmung
XRef "296_G-05-Überströmung": ..\..\..\..\..\Gebäudemodule\Gebaeude 296\Integrationsplanung\Decke\Überströmung\296_G-05-Überströmung.dwg
"296_G-05-Überströmung" ist unreferenziert.
"296_G-05-Überströmung" ist unreferenziert.
an ein (setq xrefgefunden
übergeben. Geht das?
Dass (command ...) immer NIL zurück gibt, hast Du ja schon erfahren. Du musst Dir dann eben eine Lisp-Funktion basteln, etwa so:
(cond
((not (findfile myxreffile))
(setq errcode 1)
)
((incompatibelversion myxreffile)
(setq errcode 2)
)
((recursive-file myxreffile)
(setq errcode 3)
)
(T
(setq lastent (entlast))
(command "._xref" ....)
(if (equal lastent (entlast))
(setq errcode 4)
(setq errcode 0)
)
)
)
errcode
)