| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: probleme mit der längenermittlung von linearen elementen (669 mal gelesen)
|
tappenbeck Mitglied Vermessungsingenieur
Beiträge: 1213 Registriert: 30.05.2002 AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net
|
erstellt am: 06. Jun. 2008 14:45 <-- editieren / zitieren --> Unities abgeben:
hi ! ich brauche die längen von LINIE bzw. POLYLINIEN. es gibt verschiedene ansätze hierzu und jeder hat bis dato seine nachteile so dass ich noch keine entgültige lösung gefunden habe. mit vlax-curve-getDistAtPoint wird nicht die ganze länge berechnet, wenn eine polylinie über die eigenschaften geschlossen wird. über area und die systemvariable perimeter scheitert, wenn linien vorliegen die nur 2 punkte besitzen und damit keine flächen bilden. hat einer von euch eine bessere idee ?? gruß Jan :-) ------------------ jan :-) 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: 06. Jun. 2008 15:11 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
Hi Jan, wie wäre es mit der length-Eigenschaft des vla-Objekts: Code: (vla-get-length (vlax-ename->vla-object (car (entsel))))
(im Beispiel jetzt ohne Fehlerbehandlung etc.)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 |
CAD-Huebner Ehrenmitglied V.I.P. h.c. Verm.- Ing., ATC-Trainer
Beiträge: 9732 Registriert: 01.12.2003 One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11
|
erstellt am: 06. Jun. 2008 15:13 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
Zitat: Original erstellt von tappenbeck: mit vlax-curve-getDistAtPoint wird nicht die ganze länge berechnet, wenn eine polylinie über die eigenschaften geschlossen wird. ...gruß Jan :-)
Dann benutz nicht vlax-curve-getDistAtPoint, sondern vlax-curve-getDistAtParam Hier mal ein Beispiel: Code: (vl-load-com) (defun c:Oblength (/ ename vlaxObj) (if (setq ename (car (entsel "\nSelect Object:"))) (progn (setq vlaxObj (vlax-ename->vla-object ename)) (print (vlax-curve-getDistAtParam vlaxObj (vlax-curve-getEndParam vlaxObj))) ) ) (princ) )
Das geht auch für viele Objekte (z.B. Kreise und Splines, die keine LENGTH Eigenschaft besitzen) ------------------ Mit freundlichem Gruß Udo Hübner www.CAD-Huebner.de [Diese Nachricht wurde von CAD-Huebner am 06. Jun. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tappenbeck Mitglied Vermessungsingenieur
Beiträge: 1213 Registriert: 30.05.2002 AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net
|
erstellt am: 06. Jun. 2008 15:13 <-- editieren / zitieren --> Unities abgeben:
hallo henning, das klingt sogar sehr gut!!!! vielen dank. ich kann mich nur wiederholen - mit den vl-funktionen stehe ich immer noch intern etwas auf kriegsfuss ! gruß Jan :-) ------------------ jan :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |