Jump to content

remove all lines inside multiple LINES


ScoRm

Recommended Posts

ok, the title is kinda stupid... but let me explain what i need

i have multiple DGW files containing boxes of 3dpolylines like this

sample.thumb.JPG.e5280c5282580e4c249fa2a078768cf3.JPG

those are individual boxes, and i need it to look like this...

sample2.thumb.JPG.ddeefa74ebe64aa6d3265f4a3fb04bfd.JPG

what i do here is EXPLODE them so the 3dpoly becomes lines, and therefore easier to select and manually delete everything inside.

and after that i join them all so they will become a single polylines

thats pretty much it! but i have a consern...

 

what about the ones that meet on the center.

well i just move them before i join themall together like this

sample3.thumb.jpg.2b4f79d4faed409b76b105ae7ebad55f.jpg

see? its a single polyline... and here is what my consern looks like up close..

sample4.thumb.JPG.731fc45a8718d0c309e48fb3774c02fa.JPG

as you can see i just move them so they dont touch each other...

 

is there a way or a lisp routine that could help me do this?

Edited by ScoRm
Link to comment
Share on other sites

15 hours ago, rlx said:

think you can do something with the boundary option from the hatch command or maybe even http://www.lee-mac.com/outlineobjects.html

 

Believe something has been asked before on this forum but you'll have to search for something like outline or boundary

i did try leemac's, it does outline the outer lines, but it removes the elevation; it becomes elevation 0

but thanks for the tip. I will try to figure it out...

Link to comment
Share on other sites

not sure if this will work but replace original c:outline with this one


(defun c:outline ( / *error* idx sel elev)(vl-load-com)
  (defun *error* ( msg ) (LM:endundo (LM:acdoc)) (if (not (wcmatch (strcase msg t)
     "*break,*cancel*,*exit*")) (princ (strcat "\nError: " msg)))(princ))
  (if (setq sel (ssget)) (progn (setq elev (vla-get-elevation (vlax-ename->vla-object (ssname sel 0))))
    (LM:startundo (LM:acdoc))(LM:outline sel)(initget "Yes No")
     (if (/= "No" (getkword "\nErase original objects? [Yes/No] <Yes>: "))(repeat
      (setq idx (sslength sel))(entdel (ssname sel (setq idx (1- idx))))))(LM:endundo (LM:acdoc)))
  )
  (vl-catch-all-apply 'vla-put-elevation (list (vlax-ename->vla-object (entlast)) elev))
)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...