LSTLS Posted November 9, 2010 Posted November 9, 2010 Hello! Not new to Autocad but new to Cadtutor....I have receive a drawing choc full of wipeouts (arg!). What's worse is the wipeout frames are acting as necessary linework so I cannot just delete them through Qselect. Is there a way to convert wipeouts to polyline regions? They are on many different layers with differing linetypes so I want to retain all those characteristics. Thanks! Quote
alanjt Posted November 9, 2010 Posted November 9, 2010 http://www.theswamp.org/index.php?topic=28059.0 Quote
rkmcswain Posted November 9, 2010 Posted November 9, 2010 Explode the wipeouts. Use ._Pedit to convert to polylines. Use ._Region to convert to regions. Quote
rkent Posted November 9, 2010 Posted November 9, 2010 Use Region on the Wipeout, erase the Wipeout. Quote
LSTLS Posted November 9, 2010 Author Posted November 9, 2010 rkmcswain - exploding the wipeouts removes their layer sensitive characteristics (linetypes, color, etc). rkent - using the region command did not work on the wipeouts. "1 closed, degenerate or unsupported object rejected" Quote
ReMark Posted November 9, 2010 Posted November 9, 2010 Command: BOUNDARY Pick internal point: Selecting everything... (the "everything" was a wipeout) Selecting everything visible... Analyzing the selected data... Analyzing internal islands... Pick internal point: BOUNDARY created 1 polyline When done erase the wipeout. I just tested it. It works. Quote
LSTLS Posted November 9, 2010 Author Posted November 9, 2010 ReMark, Thanks for the tip..I love this command. However, this drawing has hundreds of wipeout regions..this is not a practical way to quickly change them all. Quote
BlackBox Posted November 9, 2010 Posted November 9, 2010 (edited) ReMark, Thanks for the tip..I love this command. However, this drawing has hundreds of wipeout regions..this is not a practical way to quickly change them all. Changing them all at once is a tough request... Have you considered changing them one at a time, really fast instead? :wink: Enjoy the freebie: ;;;--------------------------------------------------------------------; ;;; c:WIPEOUT->REGION ;;; Courtesy of RenderMan, CADTutor.net ;;;--------------------------------------------------------------------; ;;; Description: ;;; Convert all wipeouts within a given drawing to regions. ;;;--------------------------------------------------------------------; ;;; Exit function: (defun WIPEOUT->REGION:Exit (msg) (cond ((not msg)) ; Normal exit ((member msg '("Function cancelled" "quit / exit abort"))) ; <esc> or (quit) ((princ (strcat "\n <!> Error: " msg " <!> ")))) ; Fatal error, display it (WIPEOUT->REGION:Quit)) ;;;--------------------------------------------------------------------; ;;; Quit function: (defun WIPEOUT->REGION:Quit () (setvar 'cmdecho *oldCmdecho*) (setq *oldCmdecho* nil) (setq *error* *oldError* *oldError* nil) (vla-endundomark *activeDoc*) (princ)) ;;;--------------------------------------------------------------------; ;;; Main function: (defun c:WIPEOUT->REGION (/ ss) (vl-load-com) (vla-startundomark (cond (*activeDoc*) ((setq *activeDoc* (vla-get-activedocument (vlax-get-acad-object)))))) ;; Error checking (setq *oldError* *error* *error* WIPEOUT->REGION:Exit) (setq *oldCmdecho* (getvar 'cmdecho)) (setvar 'cmdecho 0) ;; Main code (if (and (setq ss (ssget "_x" '((0 . "WIPEOUT")))) (setq ss (ssget "_x"))) ((lambda (i / e v visList wipList mn mx c) (while (setq e (ssname ss (setq i (1+ i)))) (if (/= "WIPEOUT" (strcase (cdr (assoc 0 (entget e))))) (progn (vla-put-visible (setq v (vlax-ename->vla-object e)) :vlax-false) (setq visList (cons v visList))) (setq wipList (cons e wipList)))) (foreach w wipList (vla-getboundingbox (setq v (vlax-ename->vla-object w)) 'mn 'mx) (setq c (mapcar '* (mapcar '+ (setq mn (vlax-safearray->list mn)) (setq mx (vlax-safearray->list mx))) '(0.5 0.5 0.5))) (vl-cmdf "._boundary" c "") (vl-cmdf "._matchprop" w (entlast) "") (vl-cmdf "._region" "") (vla-delete v)) (foreach o visList (vla-put-visible o :vlax-true))) -1) (prompt "\n <!> No Wipeouts Detected in Currect Drawing <!> ")) (WIPEOUT->REGION:Quit)) Perhaps the moderators will find this post 'constructive'... I digress. : eyeroll: Edited November 9, 2010 by BlackBox Edit1: Forgot mn, mx variable calls within Lambda, Edit2: removed redundant *cancel* setting(s) Quote
alanjt Posted November 9, 2010 Posted November 9, 2010 I hope the Wipeout isn't irregularly shaped so the midpoint of the boundingbox doesn't fall within the boundary of the wipeout (eg. the wipeout in the shape of a "U"). Quote
rkmcswain Posted November 9, 2010 Posted November 9, 2010 rkmcswain - exploding the wipeouts removes their layer sensitive characteristics (linetypes, color, etc). Sorry guy... I was just doing a quick brain dump.... Didn't realize props were not retained... Looks like you got plenty of other options... :-) Quote
LSTLS Posted November 19, 2010 Author Posted November 19, 2010 Thank you everyone for taking the time to respond. Really appreciate it. Quote
Recommended Posts
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.