|
Lisp : n-tes Element einer Liste entfernen
wronzky am 07.10.2005 um 10:26 Uhr (0)
Zitat:Original erstellt von Peter2:Es zeigt sich, dass- es mit der erhofften "vl-" Funktion anscheinend schlecht ausschautHi Peter!also es gibt sie doch (!):Code:(defun del-1st-ele (liste ele / found) (vl-remove-if (lambda (x) (if (and (= x ele) (not found)) (setq found t))) liste))Ob die nun schneller, geschickter oder langsamer ist, als die bisher besprochenen, wer testets aus?Grüsse, Henning------------------VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman. ...
|
| In das Form Lisp wechseln |
|
AutoLisp : Popupmenü laden / entfernen
mkl-cad am 30.06.2005 um 12:32 Uhr (0)
Hallo vieleicht hift Dir ja das weiter. Ist zwar schon etwas älter aber das meiste hat noch Gültigkeit. http://ww3.cad.de/foren/ubb/Forum145/HTML/000395.shtml#000000 ------------------ Martin Viele Grüße aus dem schönen Münsterland!
|
| In das Form AutoLisp wechseln |
|
Lisp : Polylinien-Stützpunkte entfernen mit entdel
CADmium am 12.08.2008 um 12:39 Uhr (0)
IMHO klappt das mit entdel nicht, stattdessen funktioniert die ActiveX-Funktion vla-delete zum Löschen des Vertex.Im Anhang mal so ein Teil das darauf aufbaut, allerdings zum manuelle picken der zu löschenden Punkte. Deine Vorgabe ist ziemlich speziell, sollte sich aber genauso lösen lassen - Siehe Jörn.------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
| In das Form Lisp wechseln |
|
AutoLisp : Lisp aus Lisp ausführen ?
Juergen55 am 12.03.2005 um 00:01 Uhr (0)
Eine ganz andere Frage, wenn ich aus einer Liste mit subst Elemente lösche, dann bleiben da, wenn ich das an eine Listbox übergbe nach dem löschen leere Felder drin, gibts die Möglichkeit ein Listenelement ganz zu entfernen, ist subst der falsche Befehl ? In der Art: (if (= la nil)(setq la ())) (if (= en 1)(setq la (subst ff1 la))) (if (= hi 1)(setq la (cons ff1 la))) Gruß, Jürgen
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Blockattributdaten
marc.scherer am 27.02.2006 um 14:33 Uhr (0)
Hi,na wenn den Deine DWGs Projektdaten / Signaturen tragen sollen würde sich aber die Verwendung von Xrecords eher anbieten.Im Gegensatz zu einem Block lassen die sich nämlich nicht so einfach aus der Zeichnung entfernen.Bei Deinem Block reicht ja ein löschen und bereinigen und das war.Zum Them XRecords guckst Du hier und folgenden / Verweise: http://ww3.cad.de/foren/ubb/Forum145/HTML/000750.shtml#000000 ...------------------Ciao,Marc
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Element aus einer Liste entfernen
CADmium am 24.10.2005 um 11:01 Uhr (0)
Probiers hiermit(defun DT:LIST-ITEM-REMOVE( ITEM LISTE / NEW REST) (while(not(equal ITEM (car LISTE))) (setq NEW (cons (car LISTE) NEW)) (setq LISTE (cdr LISTE)) ) (append (reverse NEW) (cdr LISTE)))Aufruf z.B:(DT:LIST-ITEM-REMOVE "AB" ( 1 "tz" nil "AB" nil 43))------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
| In das Form AutoLisp wechseln |
 |
Lisp : Linie an Linie
Brischke am 20.02.2014 um 09:49 Uhr (15)
Hallo Steff,1) Endpunkt der Linie ermitteln2) Auswahlsatz aller Linien Bilden, deren Anfangs-oder Endpunkt die Koordinaten des Endpunkts der Linie hat (hier würde ich mit einem ganz kleinen Fuzzy-Bereich arbeiten)3) Die gewählte Linie aus dem Auswahlsatz entfernen...Grüße!Holger------------------Holger BrischkeCAD on demand GmbHIndividuelle Lösungen von Heute auf Morgen.defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
|
| In das Form Lisp wechseln |
|
AutoLisp : tabulartor aus string entfernen
CADmium am 12.07.2005 um 10:24 Uhr (0)
ok... es gibt da mehrere Möglichkeiten .. für eine sind folgend Stichworte vielleicht ganz interessant: strcat chr lambda mapcar apply vl-remove-if vl-string- list ..das Ganze in der richtigen Reihenfolge mit der richtigen Klammersetzung in eine Zeile packen überlass ich dir ( schließlich kriegst du ja dein Gehalt für sowas ) Viel Spaß ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
| In das Form AutoLisp wechseln |
|
AutoLisp : versetzen von Linienkontur
andi2050 am 03.10.2005 um 22:02 Uhr (0)
Hi floppy !Die einfachste Lösung ist meiner Meinung nach, die Linien zu einer Polylinie verbinden und dann den Polygonzug mir _OFFSET oder (vla-offset ...) versetzen. Könnte für Deine Zwecke vielleicht ausreichend sein. Jedoch ist der Versetzbefehl von ACAD bei komplexen Konturen nicht ganz korrekt. (Bei AC2002 war es jedenfalls so)Den Offset-Befehl selbst nachprogrammieren ist eine haarige Angelegenheit.Hab mich auch schon vor längerer Zeit damit beschäftigt. Jedoch mit geschlossenen Polylinien (Linien un ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Scheitelpunkte aus Polylinie entfernen
dwg3d am 28.01.2014 um 22:04 Uhr (1)
Hallo Thomas, Hallo Jörn,Hallo alle Interessierten,eure Programme funktionieren Super.Vielen Dank dafür.Ich hätte nicht gedacht, das Programme zum löschen von Scheitelpunkten so komplex und umfangreich sein müssen.Um nachvollziehen zu können was alles in diesen Programmen abläuft, werde ich wohl noch etwas Zeit brauchen, vielleicht muss man dazu schon ein fortgeschrittener Lispler sein GrußDieter
|
| In das Form Lisp wechseln |
|
Lisp : n-tes Element einer Liste entfernen
joern bosse am 28.01.2005 um 08:25 Uhr (0)
@CADmiumdas ist ja sehr interessant, also, ich probier jetzt mal den Karton mit Teelichtern unter den Arm zu klemmen anstatt alle Teelichter einzeln zu verteilen (defun list_ele_entf1 (n liste / i liste1) (if (/= n 0) (progn (setq liste1 (list (car liste)) i 1) (mapcar (lambda(A)(if (/= i n) (setq liste1 (cons A liste1))) (setq i (+ i 1)))(cdr liste)) (setq liste1(reverse liste1))) (setq liste1 (cdr liste))) liste1)------------------viele GrüßeJörn
|
| In das Form Lisp wechseln |
|
Lisp : vor jedem befehl
GrassHopper am 29.11.2006 um 21:42 Uhr (0)
Hallo Marc und vevi,erst mal Danke für den Tipp mit den Optionen für das Kontextmenü, den kannte ich noch gar nicht.Und zum Schluß hab ich jetzt noch eingebaut dass man beim Aufruf von SetUserName die Ractoren entfernen bzw. wieder laden kann.Aber dass ist bestimmt nicht das Ende was man machen könnte.Z.B. Die Layer aus einer Ini-Datei auslesen aber das ist bestimmt mit den LayerStandards besser zu bewerkstelligen.Schönen Abend nochGrassHopper
|
| In das Form Lisp wechseln |
|
AutoLisp : vl-remove bei verschachtelten Listen
AB am 30.10.2003 um 07:45 Uhr (0)
Hallo noch mal, so ganz habe ich das scheinbar nicht verstanden. Ich wollte nämlich nun mal probieren z.B. (4 5 6) aus der Liste zu entfernen, habe das wie folgt gemacht, aber es het nicht funktioniert. (mapcar (lambda (LE1) (vl-remove-if (lambda (E) (= E (4 5 6)) ) LE1 ) ) (Setq liste (list (list (list 1 2 3) (list 4 5 6)) (list (list 7 8 0) (list 10 11 12)) ) ) ) Was ist falsch? Ich komme nicht drauf. Viele Grüße Andrea
|
| In das Form AutoLisp wechseln |