 |
Lisp : Grosse Listen wegen Performance zerteilen
archtools am 31.03.2025 um 13:59 Uhr (15)
Zitat:Original erstellt von archtools:Wenn Du das mit APPEND machst, ist das um Zehnerpotenzen langsamer als CONS.Das bedarf vielleicht noch einer näheren Erläuterung, die Du Dir für Perfomance-Gewinne nutzbar machen kannst.Eine Liste wird in Lisp als ein Pointer (ein Zeiger auf eine Speicheradresse) auf das erste Listenelement gespeichert. Und ein Listenelement besteht immer aus zwei Daten, die genau wg dieser Speicheradressen als CAR und als CDR bezeichnet werden. Das CAR ist der gespeicherte Wert (der s ...
|
In das Form Lisp wechseln |
|
Lisp : Änderung in Zeichnung: gelöschte Objekte
wronzky am 15.08.2007 um 13:41 Uhr (0)
Hallo Jörn,Du speicherst ja die Handles ab. Mit (handent handle) bekommst Du den Entity Namen. Wenn Dir jetzt (entget e-name) nil liefert, ist das Objekt nicht mehr da.(so mach ich es zumindest).Grüsse, Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de[Diese Nachricht wurde von wronzky am 15. Aug. 2007 editiert.]
|
In das Form Lisp wechseln |
|
AutoLisp : Usprung von Blöcken in Layouts
heidi am 12.05.2003 um 12:13 Uhr (0)
@Axel, @Holger habe die Proggies gerade auf einem anderen Computer mit Win2000 getestet, da funzt alles. Nun fragt mich bloss nicht, woran das liegt :-). Da ich eh in kürze den NT-Rechner auswechsle, werde ich mir auch keinen Kopp mehr machen. Vielen Dank nochmal ------------------ Gruß Heidi
|
In das Form AutoLisp wechseln |
|
Lisp : Doppelte Elemente einer Liste finden...
mapcar am 12.05.2004 um 21:46 Uhr (0)
Marc, da teile ich Achims Süffizanz, zumal die Sortierzeile ja (rauskommentiert) drinsteht - das hab ich extra gemacht, dass auch ganz Blinde merken, dass die Funktion sortierte Listen voraussetzt;-) Ja, und damit sind wir schon bei der Frage von Barbarossa: Nein, das kann so wohl keiner. Ein Teil der hier aufgeworfenen Fragen ist sehr AutoLisp-spezifisch, z.B. was den Gebrauch von (member ...) angeht. Sprachunabhängig ist allerdings der von Achim hier dargelegte Ansatz, der sich ja auch eindeutig als der ...
|
In das Form Lisp wechseln |
|
AutoLisp : Anwendertreffen
benwisch am 18.10.2004 um 07:26 Uhr (0)
(defun GoodMorning2 (usergroup /) (foreach user usergroup (ShakeHands user) (princ "Hello...") ) (prin1) ) Zitat: Original erstellt von Wyko: ... warrt ihrr derr meinung dass warr, *sprunghaft* [b]spitzzzeeeee [/B] Mir fällt momentan das springen etwas schwer Wie bereits letztes Jahr, so war es auch dieses mal wieder ein voller Erfolg. Informationsaustausch, Hilfeleistungen oder auch nur allg. fachsimpeln nicht nur am Stammtisch, sondern auch direkt am Computer. Selbst die verrücktes ...
|
In das Form AutoLisp wechseln |
|
Lisp : Anonyme Blöcke per Lisp umbenennen
Peter2 am 21.04.2005 um 10:18 Uhr (0)
Zitat:Original erstellt von CADmium:Beim Umbenennen eines Blocks, der nach der gewählten Blockreferenz gesucht wird , macht es demnach Sinn nur EINE Blockreferenz auswählen zu lassen, bzw. die erste der aktuellen Auswahl zu nutzen.Die Auswahl nur eines Blockes macht Sinn, aber die Meldung "Objekte wählen:" macht dem harmlosen Anwender glaubhaft, dass hier mehr auf einmal bearbeitet wird. Steht hier ein "ssget" dahinter? Weil "entsel" fragt nur nach "Objekt wählen:", und da weiss man, dass es nur um eines ...
|
In das Form Lisp wechseln |
|
AutoLisp : bemaßungsstil
wronzky am 02.05.2005 um 14:15 Uhr (0)
Hallo Frank! Zitat: Original erstellt von fca_mi2: eine frage habe ich noch: wie kriegt man denn diese schicke architekturvermaßung hin ? mit textüberschreibung ? wir haben auch mal an so einer architekturgerechten Bemassung rumprogrammiert. Das (mittlerweile 4.) Ergebniss kannst Du unter http://www.arcibem.de runterladen. Und wenn Du keine grossen Ansprüche hast ... die Freeware (Version 3, für AutoCAD 14) läuft immer noch ganz gut. ------------------ http://www.voxelman.de Computer-Dienstl ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Layout- zu Objekteigenschaften
wronzky am 02.05.2005 um 14:58 Uhr (0)
Hallo Scholle, versuch mal das: (defun c:lay_eig ( / col_t lt_t lw_t aws ele_eig ele_lay ele_co ele_lt ele_lw ergebnis) (setvar cmdecho 0) (command _undo _be ) (setq col_t t lt_t t lw_t t);einstellen, was geändert werden soll (setq aws (ssget)) (setq zaehler 0) (if aws; Liste der gewählten elemente erstellen (progn (setq name (ssname aws zaehler)) (while name (setq namen (cons name namen)) (setq zaehler (1+ zaehler)) (setq name (ssname aws zaehler)) ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Layout- zu Objekteigenschaften
wronzky am 02.05.2005 um 15:18 Uhr (0)
Zitat: Original erstellt von CADmium: ..und die Frage, ob nur die vonLayer Eigenschaften,oder prinzipiell alle übernommen werden sollen. zumindest war das die Ausgangsfrage (s.o.) Henning Jesse ------------------ http://www.voxelman.de Computer-Dienstleistungen für Architekten und Ingenieure
|
In das Form AutoLisp wechseln |
|
AutoLisp : Layout- zu Objekteigenschaften
wronzky am 02.05.2005 um 16:35 Uhr (0)
Zitat: Original erstellt von CADmium: @ scholle da mußt du (setq lay_eig (tblsearch layer ele_lay)) durch (setq lay_eig (entget(tblobjname layer ele_lay))) ersetzen, da tblsearch den GC370 nicht mitliefert. Na sowas, ist mir nie aufgefallen... haben wir anscheinend damals nicht gebraucht... Danke Thomas! Henning ------------------ http://www.voxelman.de Computer-Dienstleistungen für Architekten und Ingenieure
|
In das Form AutoLisp wechseln |
|
AutoLisp : Textsize mit Lisp steuern
wronzky am 03.05.2005 um 13:21 Uhr (0)
Hallo Bernd! es ist relativ einfach! Deine Dialogroutine gibt einen TEXT(!) zurück: Zitat: (if (/= 0 ns) (nth SIZ NAMES) ) Du brauchst aber zahlen, mit denen Du rechnest Zitat: (setq Thohe (* LMasstab THohew / LEinheit2)) also...(?) Grüsse, Henning Jesse ------------------ http://www.voxelman.de Computer-Dienstleistungen für Architekten und Ingenieure
|
In das Form AutoLisp wechseln |
|
AutoLisp : Bemassung
wronzky am 11.05.2005 um 12:08 Uhr (0)
Welche AutoCAD Version verwendest Du? Ab 2006 kann man die Länge der Hilfslinien regulär einstellen. Ansonsten musst Du wie bereits beschrieben vorgehen, die Punkte der Bemassung errechnen und dann modifizieren... (s. Jörn Bosse) oder Du verwendest Arcibem oder Archtools oder Fibem oder.... Kosten alle was, können aber auch noch mehr. Henning ------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
In das Form AutoLisp wechseln |
|
AutoLisp : Layer zuweisen
wronzky am 12.05.2005 um 13:45 Uhr (0)
Hallo RoyCAD, Du kannst auch diese vereinfachte Version nehmen: (if(setq Objekt_1 (entget (car (entsel)))) (entmod(subst (cons 8 NEUERLAYER )(assoc 8 OBJEKT_1) OBJEKT_1)) ) Dann wird der Neue Layer erzeugt, wenn er nicht existiert... Henning (alert (apply strcat (mapcar (lambda (x) (chr x)) (68 97 115 32 119 97 114 39 115 32 101 114 115 116 32 109 97 108 33 10 70 114 111 104 101 115 32 76 105 115 112 101 108 110 46 46 46)))) ------------------ VoxelManufaktur Computer-Dienstleistungen für Architek ...
|
In das Form AutoLisp wechseln |