FastFiber

gebied selecteren mbv polylijn (opgelost)

Gestart door mrbeegee, ma 03 03 2008, 16:04:12

Vorige topic - Volgende topic

mrbeegee

Ik wil in een tekening met heel veel points alleen de points die in een bepaald gebied liggen. Van dit gebied heb ik de omtrek in de vorm van een polylijn. Kan ik met een bepaalde selectiemethode alle punten binnen deze polylijn selecteren zonder dat ik handmatig weer die hele polylijn moet overtrekken?
Het lijkt logisch dat het mogelijk is maar het lukt mij niet. Wie weet of dit kan en hoe dit moet?

julien

Meer uitleg over selecteren:
http://www.cadsite.be/tips/selecteren.php

Volgens mij kan je niet anders dan je polyline te overtrekken.

Manu

Zie hier eens : http://discussion.autodesk.com/thread.jspa?messageID=1187939
Ik heb de lisp nog niet getest maar het kan je misschien op weg helpen...

succes,

Manu
AutoCad 2000 - 2007 - 2008
Sketchup 4-5-6

mrbeegee

Hi Manu,

Dit is precies wat ik zocht. De lisp werkt prima. Ik heb er een knop voor gemaakt die de lisp laad en uitvoert. Je kan een crossing of window selecteren.
Met dank aan Doug Barr en Joe Burke.
-----------------------------------------
;returns list of points in a pline
(defun massoc (key alist / x nlist)
(foreach x alist
(if (eq key (car x))
(setq nlist (cons (cdr x) nlist))
)
)
(reverse nlist)
) ;end defun

(defun C:pline2ss (/ pline ptlist prev count)
(princ "\nCrossing or Window selection?")
(setq typ (strcase (getstring)))
(cond
((= typ "W")
(prompt "\nPick polyline to define Window selection set:")
)
((= typ "C")
(prompt "\nPick polyline to define Crossing selection set:")
)
)
(setq pline (car (entsel))
ptlist (massoc 10 (entget pline))
)
(cond
((= typ "W")
(setq prev (ssget "WP" ptlist))
(setq count (sslength prev))
(princ "\nThe Selection Set consists of ")
(princ count)
(princ " entities inside the Window Polygon.")
)
((= typ "C")
(setq prev (ssget "CP" ptlist))
(ssdel pline prev) ;remove pline from crossing ss
(setq count (sslength prev))
(princ "\nThe Selection Set consists of ")
(princ count)
(princ " entities inside the Crossing Polygon.")
)
)
(sssetfirst nil prev) ;select
(princ)
);end defun
-----------------------------------------------

Bedank, BeeGee