Hallo,
Hab eine Frage zum Thema Polyliniensegment und Schnittpunkte.
Aus folgendem Lisp (aus dem Formum hier) kann ich diverse Punkte aus einem geraden Polyliniensegment ermitteln.
(defun c:PLSEGINFO ( / PL-OBJ PKT PARAM PRE SUF)
(if(and(setq PL-OBJ(entsel "\nPolyliniensegment wählen : "))
(setq PKT(cadr PL-OBJ))
(setq PL-OBJ (car PL-OBJ))
(setq PL-OBJ(cond ;_ VLA-OBJEKT erzeugen
((=(type PL-OBJ) 'VLA-OBJECT) PL-OBJ)
((=(type PL-OBJ) 'Ename) (vlax-ename->vla-object PL-OBJ))
)
)
(setq PKT (vlax-curve-getClosestPointTo PL-OBJ PKT))
(setq PARAM(vlax-curve-getparamAtPoint PL-OBJ PKT))
(setq PRE(vlax-curve-getpointatparam PL-OBJ (fix PARAM)))
(setq SUF(vlax-curve-getpointatparam PL-OBJ (1+(fix PARAM))))
)
(progn
(princ (strcat "\n KLICKPUNKT : "(vl-princ-to-string PKT)))
(princ (strcat "\n SEGMENT-STARTPUNKT : "(vl-princ-to-string PRE)))
(princ (strcat "\n SEGMENT-ENDPUNKT : "(vl-princ-to-string SUF)))
(princ)
)
)
)
Nun kreuzen aber mein Polyliniensegment andere gerade Polylinien.
Ich suche die nächsten Punkte vom Klickpunkt bis zum ersten Schnittpunkt oder wenn kein Schnittpunkt vorhanden ist bis zum ende des Segemtes.
Kann mir da jemand weiterhelfen?
Ich versuche nämlich von den gesuchten Punkten den Mittelpunkt zu ermitteln.
Danke!
lg. Martin
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP