| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Objekte verlängern mit Lisp (392 mal gelesen)
|
Erich Klein Mitglied
Beiträge: 27 Registriert: 25.03.2008
|
erstellt am: 23. Jul. 2008 20:42 <-- editieren / zitieren --> Unities abgeben:
Hallo an alle, schon wieder plagt mich ein Problem. In einer Lisp- Routine lasse ich eine gerade Strecke oder einen Bogen zeichnen. Es kommt vor, dass diese Linie oder dieser Bogen nachträglich an beiden Enden jeweils um 20mm verlängert werden muss. In der Tat, ich weiss nicht wie mein Lisp-Code aussehen soll, damit ich diese Verlängerung realisieren kann. Für jede Hilfe bin ich dankbar. Gruß Erich Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 23. Jul. 2008 21:03 <-- editieren / zitieren --> Unities abgeben: Nur für Erich Klein
na für Linien ist das nicht soo schwer. Informierst du dich hier. Angepasst bekommst du es sicher alleine. Bei Bögen ist das etwas komplizierter , weil diese ihren Anfangs und Endwinkel speichern und keine Längen ... ist aber auch lösbar. Vielleicht versucht sich ja mal jemand... oder du nimmst das: (command "_lengthen" (setq a(car(entsel))) "_delta" 20 a "") ------------------ - 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 |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 23. Jul. 2008 21:11 <-- editieren / zitieren --> Unities abgeben: Nur für Erich Klein
Hi ohne gross zu rechnen, kannst Du ja auch den Befehl Länge mit der Option Delta benutzen. Das ist für den Anfang auch einfacher zu verstehen. Bin mal so frei, Dir ein schnelles Beispiel zukommen zu lassen: Code: (defun c:vox-lengthen () (setq lg 0.2) (setq ele (car (entsel))) (setq ele_eig (entget ele)) (if (= (cdr (assoc 0 ele_eig)) "LINE") (setq p1 (cdr (assoc 10 ele_eig)) p2 (cdr (assoc 11 ele_eig)) ) ) (if (= (cdr (assoc 0 ele_eig)) "ARC") (setq p1 (polar (cdr (assoc 10 ele_eig)) (cdr (assoc 50 ele_eig)) (cdr (assoc 40 ele_eig))) p2 (polar (cdr (assoc 10 ele_eig)) (cdr (assoc 51 ele_eig)) (cdr (assoc 40 ele_eig))) ) ) (command "_lengthen" "_de" lg (list ele p1) (list ele p2) "") )
Grüsse, Henning------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Erich Klein Mitglied
Beiträge: 27 Registriert: 25.03.2008
|
erstellt am: 23. Jul. 2008 22:21 <-- editieren / zitieren --> Unities abgeben:
|