FastFiber

delete all binnen polyline

Gestart door Chiel, vr 09 11 2018, 09:55:51

Vorige topic - Volgende topic

Chiel

Goedemorgen!

FF een snel vraagje, kan je alles in 1 keer deleten binnen een polyline?
Zo ja hoe?

bart

alles is heel veel

Als je als het waren een gat in je tekening wilt knippen kan je dit beter ook gewoon doen.
Dat kan met een wipeout de pline kan je als begrenzing gebruiken.

Als je echte de elementen wilt verwijderen zal je eerst met trim aan de gang moeten e.d
eventueel blocks, xref tekst en afbeeldingen aanpassen en vervolgens de rest verwijderen met delete
Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

Chiel

hmm had ook al wel zoiets verwacht.
Met civil kan je wel met een boundery werken, maar als de rest niet in een survey oid staat lukt dit ook niet.

Nou ja dan maar alles handmatig verwijderen dus.

Reimer

Ik gebruik hiervoor vaak de lisp-routine uit de post:
https://www.cadsite.be/smf/index.php?topic=3749.msg19194#msg19194

Hierin heb ik een kleine aanpassing gemaakt waardoor voorafgaand aan de selectie wordt ingezoomd op de geselecteerde pline:
/;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:selmetpoly (/ pline ptlist prev count)
  (setq pline (car (entsel))
        ptlist (massoc 10 (entget pline))
  )
  (command "zoom" "object" pline "")
  (princ "\nCrossing or Window selection? [C/W]")
  (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:")
    )
  );_cond
  (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.")
    );_cond
    ((= 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.")
    )
  );_cond
  (sssetfirst nil prev) ;select
  (princ)
);end defun
[code]

FastFiber