| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Kürzester Abstand zwischen zwei Solids (408 mal gelesen)
|
Maler Mitglied
Beiträge: 3 Registriert: 12.06.2006
|
erstellt am: 12. Jun. 2006 12:25 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich arbeite mich gerade in ACAD ein und möchte wissen, wie man ACAD dazu bringt, den kürzesten Abstand zwischen zwei Solids anzuzeigen. Zunächst würde mir der kürzeste Abstand zwischen zwei beliebig geformten geschlossenen Polygonzügen, welche in der gleichen Ebene liegen genügen. Ich hoffe, dass ACAD das kann. Grüße und vielen Dank für Eure Beiträge, Maler Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
j-sc Ehrenmitglied
Beiträge: 1837 Registriert: 14.07.2003 W7 64Bit intel core I7 2,8GHz / 4GB ATI FIRE PRO V5800 acad2011 acad2015 acad2018 Athena Expresstools
|
erstellt am: 12. Jun. 2006 12:46 <-- editieren / zitieren --> Unities abgeben: Nur für Maler
|
Maler Mitglied
Beiträge: 3 Registriert: 12.06.2006
|
erstellt am: 12. Jun. 2006 12:58 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 12. Jun. 2006 13:13 <-- editieren / zitieren --> Unities abgeben: Nur für Maler
Eine Möglichkeit ( was mir am einfachsten erscheint, da am wenigsten Mathematik): du hechelst den beide Polygonzüge mit vlax-curve-getClosestPointTo bezüglich der Stützpunkte durch und vergleichst die erhaltenen Abstände und nimmst dann das Minimum.Fertig. ------------------ - 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 bis ACA 2013 Arcibem System: Windows Internet-Startseite: http://www.archi.de
|
erstellt am: 12. Jun. 2006 16:47 <-- editieren / zitieren --> Unities abgeben: Nur für Maler
Hi Maler, da Du Dich ja gerade erst in AutoCAD einarbeitest (welche Version eigentlich?), und mit Programmierung warscheinlich erst in 1 bis 2 Wochen anfängs , will ich mal meine Vorposter so zusammenfassen: Code: (defun get-poly-points (ent / count panz points) (setq ent (vlax-ename->vla-object ent)) (setq count 0) (setq panz (fix (vlax-curve-getEndParam ent))) (while (<= count panz) (setq points (cons (vlax-curve-getPointAtParam ent count) points)) (setq count (1+ count)) ) (reverse points) ) (defun get-min-dist (ent1 ent2 / points1 points2 point dist) (setq points1 (get-poly-points ent1)) (setq points2 (get-poly-points ent2)) (setq ent1 (vlax-ename->vla-object ent1)) (setq ent2 (vlax-ename->vla-object ent2)) (foreach n points1 (progn (setq point (vlax-curve-getClosestPointTo ent2 n)) (setq dist (cons (distance point n) dist)) ) ) (foreach n points2 (progn (setq point (vlax-curve-getClosestPointTo ent1 n)) (setq dist (cons (distance point n) dist)) ) ) (car (vl-sort dist '< )) )
(defun c:dist-of-poly ( / p1 p2 dist) (setq p1 (entsel "Polylinie 1 wählen:\n")) (setq p2 (entsel "Polylinie 2 wählen:\n")) (if (and p1 p2) (setq dist (get-min-dist (car p1) (car p2)))) dist )
(prompt "DIST-OF-POLY geladen. (posted by Wronzky 2006)\n")
Und wie kriegst Du das jetzt in AutoCAD geladen? - so...Grüsse, Henning ------------------ VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |