LSP-Symbol

SSPoly

SSPoly



Um mehr Auswahlmöglichkeiten zu erhalten verwenden Sie unten stehende LISP-Routine. Diese erlaubt Ihnen die Auswahl von Objekten entlang einer Polylinie, innerhalb einer Polylinie oder ausserhalb dieser.

Aufruf

Der Aufruf des Tools erfolgt mit "(sspoly)", "(sspolyf)", "(sspolyw)" oder aber "(sspolyc)".

Um die Auswahl ausserhalb zu aktivieren, wählen Sie einfach alle Objekte aus und gehen Sie dann in den Deselktieren-Modus der Auswahl - derAufruf erfolgt über die Eingabe von "E" ("_R") - bei der Objektwahl und wählen Sie mittels sspoly die zu entfernenden Objekte aus.

Downloadlink: sspoly.lsp

;;; sspoly.lsp                                                     *
;;; (sspolyw) returns a selection set inside a polyline            *
;;; (sspolyf) returns a selection set fenced by a polyline         *
;;; (sspolyc) returns a selection set crossed by a polyline        *
(defun 2Dpt (pt)
  (list (car pt) (cadr pt))
)

(defun sspoly (/ apoly ptlist)
  (while (not apoly)
    (setq apoly (car (entsel "\nSelect polyline: ")))
    (if apoly
      (if (not (member (setq typ (cdr (assoc 0 (setq plist (entget apoly)))))
                       '("LWPOLYLINE" "POLYLINE")
               )
          )
        (progn (setq apoly nil)
               (princ "\nNo polyline selected ")
        )
      )
    )
  )
  (cond
    ((= typ "LWPOLYLINE")
     (foreach n plist
       (if (= (car n) 10)
         (setq ptlist (cons (cdr n) ptlist))
       )
     )
    )
    ((= typ "POLYLINE")
     (while (/= typ "SEQEND")
       (setq typ
              (cdr (assoc 0 (setq plist (entget (setq apoly (entnext apoly))))))
       )
       (if (= typ "VERTEX")
         (setq ptlist (cons (2Dpt (cdr (assoc 10 plist))) ptlist))
       )
     )
    )
  )
  ptlist
)

(defun sspolyw ()
  (ssget "_WP" (sspoly))
)

(defun sspolyf ()
  (ssget "_F" (sspoly))
)

(defun sspolyc ()
  (ssget "_CP" (sspoly))
)

Quelle: http://web.archive.org/web/20020722085849/http://intervision.hjem.wanadoo.dk/lisps/sspoly.lsp (Web-Archiv)
cad.de: http://ww3.cad.de/foren/ubb/Forum285/HTML/000377.shtml

Bereits erschienene Bücher: