;; | ---------------------------------------------------------------------------- ;; | PL_FlipArcedPolyline ;; | ---------------------------------------------------------------------------- ;; | Function : Flips (reverses) an arced (2d) polyline using special techniques ;; | Arguments: ;; | 'ename' - Polyline entity name to flip ;; | Action : Returns a flipped polyline name (please be aware that this method ;; | of flippping change sthe polyline handle. Applications which ;; | reply pon polyline handle beware. ;; | Updated : April 6, 2004 ;; | e-mail : rakesh.rao@4d-technologies.com ;; | Web : www.4d-technologies.com ;; | ---------------------------------------------------------------------------- (defun PL_FlipArcedPolyline ( ename / vlist elast ename1 ss ssl cnt _Open Lst la CL OS ) (setq CL (getvar "CLAYER") la (LI_item 8 (entget ename)) _Open (PL_Open? ename) vlist (PL_plist ename) elast (MI_xentlast) Lst (GE_GetObjectBoundingBox ename) OS (getvar "OSMODE") ) (LA_mk_c_lyr la "") (setvar "OSMODE" 0) (command "._Zoom" (car Lst) (cadr Lst) "._Explode" ename ) (setq ss (MI_after elast)) (command "._Pline" (getvar "VIEWCTR")) (if _Open (command (last vlist)) (command (car vlist)) ) (command "") (setq ename1 (entlast) ssl (sslength ss) cnt (1- ssl) ) (command "._Pedit" ename1 "_Join") (repeat ssl (command (ssname ss cnt)) (setq cnt (1- cnt)) ) (command "" "" "._Pedit" (entlast) "_Edit" "_Next" "_Break" "_Go" "_X" "_X") (setq ename (entlast) ss (MI_after elast) ) (if ss (ssdel ename ss) ) (if (> (sslength ss) 0) (command "._Erase" ss "") ) (if (not _Open) (command "._Pedit" ename "_Close" "") ) (command "._Zoom" "_Previous") (LA_mk_c_lyr CL "") (setvar "OSMODE" OS) ename )