narendra Posted July 30, 2014 Share Posted July 30, 2014 Hi All, if any one having routine to convert revcloud to polyline please send me.......link:D Quote Link to comment Share on other sites More sharing options...
ReMark Posted July 30, 2014 Share Posted July 30, 2014 Revclouds are light weight polylines. What's wrong with that? If you want to remove the curves from a revcloud then that is a different story altogether. All you have to do then is select a revision cloud you want to fix, right-click and go to Polyline > Decurve. Quote Link to comment Share on other sites More sharing options...
narendra Posted July 30, 2014 Author Share Posted July 30, 2014 Thank you remark............. Quote Link to comment Share on other sites More sharing options...
hanhphuc Posted July 30, 2014 Share Posted July 30, 2014 Hi All,if any one having routine to convert revcloud to polyline please send me.......link:D Tool to modify the bulges, reverse or decurve the revcloud if bulge value =0.000, ie: flatten ;http://www.cadtutor.net/forum/showthread.php?87920-Is-there-any-routine-convert-Revcloud-to-Polyline (setq *yesno* "No") (defun c:modcd (/ e e1 i bu) ; ;hanhphuc 30/07/2014 (if (and (setq e (car (entsel "\nPick Revcloud.. "))) (setq l (entget e)) (setq e1 (vlax-ename->vla-object e)) (= (vla-get-objectname e1) "AcDbPolyline") (setq bu ('((x) (/ (apply '+ x) (length x))) (mapcar 'cdr (vl-remove-if-not ''((x) (= (car x) 42)) l)) ) ) ;_ end of setq (setq i -1 bu (UREAL 0 "" "\nBulge value.. " bu) ; <---example try 0.5 +/- *yesno* (UKWORD 0 "Yes No" "\nReverse ?" *yesno*) bu (if (= *yesno* "Yes") (* bu -1.) bu ) ;_ end of if ) ;_ end of setq ) ;_ end of and (repeat (if (= (vla-get-closed e1) :vlax-false) ;(zerop (cdr (assoc 70 (entget e)))) (1- (cdr (assoc 90 l))) (cdr (assoc 90 l)) ) ;_ end of if (vla-setBulge e1 (setq i (1+ i)) bu) ) ;_ end of repeat (princ "\nNot LWpolyline..") ) ;_ end of if (princ) ) ;_ end of defun ;;;------------------------------------------------------------------- ;; This function is freeware courtesy of the author's of "Inside AutoLisp" ;; for rel. 10 published by New Riders Publications. This credit must ;; accompany all copies of this function. ;;* UKWORD User key word. DEF, if any, must match one of the KWD strings ;;* BIT (1 for no null, 0 for none) and KWD key word ("" for none) are same as ;;* for INITGET. MSG is the prompt string, to which a default string is added ;;* as <DEF> (nil or "" for none), and a : is added. ;;* (defun UKWORD (bit kwd msg def / inp) (if (and def (/= def "")) (setq msg (strcat "\n" msg " <" def "> : ") bit (* 2 (fix (/ bit 2))) ) ;setq ) ;if (initget bit kwd) (setq inp (getkword msg)) (if inp inp def) ) ;defun (defun UREAL (bit kwd msg def / inp) (if def (setq msg (strcat "\n" msg " <" (rtos def 2) "> : ") bit (* 2 (fix (/ bit 2))) ) (setq msg (strcat "\n" msg "? : ")) ) ;if (initget bit kwd) (setq inp (getreal msg)) (if inp inp def) ) Quote Link to comment Share on other sites More sharing options...
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.