| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
|
Autor
|
Thema: 3D olylinienlänge ermitteln (458 mal gelesen)
|
Meriadoc Mitglied Student

 Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 25. Sep. 2008 15:38 <-- editieren / zitieren --> Unities abgeben:         
Hi! Ich möchte gerne die Länge von 3D Polylinien in die Zwischenablage übernehmen. Leider kriege ich die Länge nicht ausgelesen, bzw. an die Variable "Laenge" vergeben. Aus den Forenbeiträgen werde ich nicht so recht schlau. Folgendes habe ich hinbekommen: Code: (defun c:sg (/) (princ "\nLinie wählen: ") (setq Objekt (ssget "_:S" '((0 . "PolyLINE")))) ;Wie ermittel ich hier die Gesamtlänge der 3D Polylinie und gebe diese an die Variable "Laenge" weiter??? (setvar "DIMZIN" 0) (dos_clipboard (strcat Laenge) ) (setvar "DIMZIN" 8) )
Könnt Ihr mir helfen! Viele Grüße, Sebastian ------------------ Warum seid Ihr alle schlauer als ich???  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meriadoc Mitglied Student

 Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 25. Sep. 2008 15:40 <-- editieren / zitieren --> Unities abgeben:         
|
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 .
|
erstellt am: 25. Sep. 2008 15:45 <-- editieren / zitieren --> Unities abgeben:          Nur für Meriadoc
(vla-get-length(vlax-ename->vla-object(car(entsel)))) oder du nutzt die vlax-curve...-Funktionen
------------------ - 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 |
Meriadoc Mitglied Student

 Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 25. Sep. 2008 18:08 <-- editieren / zitieren --> Unities abgeben:         
Habe das mit der Curve-Funktion mal probiert. Kannte ich bisher nicht und komme auch noch nicht so gut zurecht damit. Ich kann den Wert nicht vernünftig an die Zwischenablage übergeben.
Code: (defun c:sg ( / ename vlaxObj ObjLaenge) (vl-load-com) (if (setq ename (car (entsel "\nObjekt wählen:"))) (progn (setq vlaxObj (vlax-ename->vla-object ename)) (setq objLaenge (vlax-curve-getDistAtParam vlaxObj (vlax-curve-getEndParam vlaxObj))) ) ) (setvar "dimzin" 0) (rtos objLaenge 2 2) (setvar "dimzin" 8) (dos_clipboard (strcat ObjLaenge) ) )
Viele Grüße, Sebastian ------------------ Warum seid Ihr alle schlauer als ich???  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: 25. Sep. 2008 18:24 <-- editieren / zitieren --> Unities abgeben:          Nur für Meriadoc
|
Meriadoc Mitglied Student

 Beiträge: 88 Registriert: 14.09.2005 Vista ACA 2008 SP1
|
erstellt am: 26. Sep. 2008 08:26 <-- editieren / zitieren --> Unities abgeben:         
Jo, vielen Dank an Euch! 10 U´s für jeden  Zum einen für den Hinweis auf die Curve-Funktion, zum anderen für den Hinweis auf das vergessene setq. Manchmal macht aber auch die dümmsten Flüchtigkeitsfehler. Funktionierender Komplettcode für alle die es gebrauchen können: Code: (defun c:sg ( / ename vlaxObj ObjLaenge) (vl-load-com) (if (setq ename (car (entsel "\nObjekt wählen:"))) (progn (setq vlaxObj (vlax-ename->vla-object ename)) (setq objLaenge (vlax-curve-getDistAtParam vlaxObj (vlax-curve-getEndParam vlaxObj))) ) ) (setvar "dimzin" 0) (setq objlaenge (rtos objLaenge 2 2)) (setvar "dimzin" 8) (dos_clipboard (strcat ObjLaenge) ) )
Viele Grüße, Sebastian
------------------ Warum seid Ihr alle schlauer als ich???  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |