|
Lisp : Scheitelpunkte aus Polylinie entfernen
Brischke am 29.01.2014 um 06:06 Uhr (1)
Zitat:Original erstellt von dwg3d: (im ersten Beitrag)Sollte es etwa nicht möglich sein?Zitat:Original erstellt von dwg3d:...vielleicht muss man dazu schon ein fortgeschrittener Lispler sein ...Ich denke nicht, dass man zum verstehen von Code intensive Kenntnis einer Programmiersprache haben muss. Viel wichtiger ist, um den Code nachvollziehen zu können, was wird damit gemacht. Deshalb habe ich auch den 1. Beitrag zitiert. Programmieren ist in erster Linie die Idee einer Lösung, nicht das Beherrschen aller ...
|
| In das Form Lisp wechseln |
|
AutoLisp : assoc??
Brischke am 14.03.2004 um 19:31 Uhr (0)
Hallo Moony, folgend zwei weitere Lösungen, etwas schlanker als CADmiums Ansatz. Code: (setq pl (car (entsel));LWPolyline-Wählen, Elementname ermitteln ptds(vl-remove-if-not;Alle Werte, die keine Stützpunktdaten enthalten, aus der Elementdatenliste entfernen (lambda (ED) (= (car ED) 10) ) (entget pl) ) pts (mapcar cdr ptds);den Key (10) entfernen ) ;oder (setq pts (apply append (mapcar (lambda (ED) ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Auswahlsatz Attribute
Brischke am 23.11.2011 um 13:23 Uhr (0)
Zitat:Original erstellt von sponk-mg:Besser wäre es, den GC komplett zu entfernen Zitat:Original erstellt von sponk-mg:... mein Halbwissen stösst mal wieder an seine Grenzen.Statt Blöcke aufzulösen, um Attributtexte zu löschen,möchte ich die Gruppencode 2 und/oder 1 aus dem Block entfernen. ... Was du da vor hast, klingt nicht wirklich sinnvoll. Objekte haben bestimmte Eigenschaften, die untrennbar mit der Existenz des Objektes verknüpft sind. Diese sind in den Gruppencodes organisiert. Du kannst nicht ei ...
|
| In das Form Lisp wechseln |
|
AutoLisp : Fehlermeldung beim extrudieren
Brischke am 09.07.2004 um 12:31 Uhr (0)
Zitat: Original erstellt von AB: ...Was kann ich dagegen machen?... ... zunächst mal das ä aus dem Dateinamen des JPG s entfernen. ;-) Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Was sind Reaktoren?
Brischke am 27.05.2004 um 11:45 Uhr (0)
Hallo Georg, was heißt beschädigt? Rücksetzen geht nicht. Du kannst die Reactoren entfernen und neu dranbauen .. aber was für einen Zwischenstand soll es denn da geben? Wie ist (wenn vorhanden) die Fehlermeldung? Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat! Treffen Sie (defun auf dem Autodesk Anwendertreffen am 15.06. in Steyr/Österreich !
|
| 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 : Elemente aus Blockreferenz entfernen
Brischke am 30.06.2005 um 13:18 Uhr (0)
Hallo Wolfgang, hast du am Ende mal regeneriert? Erst danach wird die Änderung sichtbar. Im angehängten Tool, ist genau die Zeile aus obigen Beitrag drin .. es funzt also mit (vla-delete ..) Falls das Tool bei dir auch nicht geht, dann stell mal solchen Bsp-Block hier rein. Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Autodesk User Group Central Europe Individuelle Lösungen von Heute auf Morgen. AUGCE Manager Deutschland
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Problem bei AutoLisp mit Koordinaten-Angaben
Brischke am 26.01.2004 um 10:45 Uhr (0)
Hallo Imion, wenn schon die Fehlermeldung mit der Zahl 44 erscheint, dann läßt das sehr leicht darauf schließen, dass der Gruppencode 44 an dieser Stelle nichts zu suchen hat. Soll heißen, dass du die (44 . 5) mal aus deinem Code entfernen sollst. Dann haut es hin. Was wolltest du denn mit dieser Gruppe bewirken? Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Elemente aus Blockreferenz entfernen
Brischke am 30.06.2005 um 13:36 Uhr (0)
Hallo Wolfgang, wenn ich mich recht entsinne, dann gibt (entnext) nil zurück, sobald man über das letzet Element hinaus möchte. Somit wäre ein (while (entnext elem) .. ) das funktionierende Konstrukt. Ich mache das seit geraumer Zeit nur noch mit (vl-..), deshalb stütze ich mich hier auf die Erinnerungen. Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Autodesk User Group Central Europe Individuelle Lösungen von Heute auf Morgen. AUGCE Mana ...
|
| In das Form AutoLisp wechseln |
|
Lisp : mit Linienlänge selektieren
Brischke am 28.03.2012 um 22:18 Uhr (0)
Zitat:Original erstellt von Madler:... Wie kann ich also mit ssget arbeiten ohne Gruppencode-Linienlänge?gar nicht.Du musst alle Linien einsammeln und dann die Länge ermitteln und entscheiden, ob diese zu den gesuchten gehört oder nicht.ich würde mir eine Liste der Elementnamen aus dem Auswahlsatz machen und dann mit (vl-remove-if (lambda (E) ...) die unnützen aus der Liste entfernen.Bei Fragen ...Grüße!Holger------------------Holger BrischkeCAD on demand GmbHIndividuelle Lösungen von Heute auf Morgen. d ...
|
| In das Form Lisp wechseln |
|
AutoLisp : Elemente aus Blockreferenz entfernen
Brischke am 30.06.2005 um 12:26 Uhr (0)
Hallo Wolfgang, versuch es mal mit (vla-delete (vlax-ename- vla-object CurrObject)) anstelle des (entdel CurrObject) (ich habe es nicht getestet, aber mit (vla-delete lässt sich Erfahrungsgemäß einiges mehr löschen) EDIT: Was mir eben auch noch aufgefallen ist: Du kannst nicht mit (entnext ..) auf ein bereits gelöschtes Element gehen. Sammle also zunächst mal alle Blockelemente ein und vergleiche danach und lösche. Grüße Holger ------------------ Holger Brischke CAD on demand GmbH ...
|
| In das Form AutoLisp wechseln |
|
Lisp : n-tes Element einer Liste entfernen
Brischke am 28.01.2005 um 09:10 Uhr (0)
Hallo,ich finde an den ganzen Lösungen ist es nachteilig, dass immer die gesamte Liste durchlaufen wird.Nachfolgend eine Lösung, bei der die Liste nicht vollständig durchlaufen werden muss.Code:(defun L:DELETE_FIRSTFOUND (LISTE ELEM / z returnLIST tmpLISTE ANZ) (setq tmpLISTE LISTE) (if (setq ANZ (VL-POSITION ELEM LISTE)) (progn (repeat ANZ (setq returnLIST (cons (car tmpLISTE) returnLIST) tmpLISTE (cdr tmpLISTE) ) ) (append (reverse returnLIST)(cdr(member ELEM LISTE))) ) ...
|
| In das Form Lisp wechseln |
|
Lisp : Block-im-Block auflösen
Brischke am 23.03.2011 um 18:20 Uhr (0)
Hallo glocker,Programmiert habe ich derlei bereits - ginge also.Aber das Lisp-Forum ist ja für Fragen der (Lisp-)Programmierung gedacht. Daher meine Fragen: Wie weit bist mit eigenen Programmierversuchen? Wo hakt es bei der Umsetzung genau?Meine (schnellmalruntergetipptecommand)Lösung sieht wie folgt aus:-- Schleife durch die Blocktabelle in der folgendes gemacht wird1. Einfügen des Blocks am Ursprung2. Ursprung3. -- While-Schleife Prüfen ob bei den aufgelösten Elementen ein INSERT dabei ist =:Ja - Insert ...
|
| In das Form Lisp wechseln |