;;;Converts Mpolygon entities into Polylines ;;; ;;; Author: ;;; Henry C. Francis ;;; 425 N. Ashe St. ;;; Southern Pines, NC 28387 ;;; ;;; http://paracadd.com ;;; All rights reserved. ;;; (DEFUN c:mpdrop () (SETQ mpoly_ss (SSGET '((0 . "MPolygon")))) (SETQ cnt 0) (if ustr NIL (LOAD "ustr" "\nFile USTR.LSP not loaded! ")) (IF (AND mpoly_ss (> (SETQ mpoly_cnt (SSLENGTH mpoly_ss)) 0)) (PROGN (SETQ lay_prfx (ustr 1 "Layer prefix for new polylines?" (IF lay_prfx lay_prfx "propbdy_" ) ;_ end of if NIL ) ;_ end of ustr ) ;_ end of setq (WHILE (< cnt mpoly_cnt) (SETQ mpoly_ent (ENTGET (SSNAME mpoly_ss cnt)) mpoly_lay (CDR (ASSOC 8 mpoly_ent)) poly_lay (IF (> (STRLEN mpoly_lay) 20) (STRCAT lay_prfx (SUBSTR mpoly_lay 9)) (STRCAT lay_prfx mpoly_lay) ) ;_ end of if ) ;_ end of setq (SETQ entdata (ENTGET (SSNAME mpoly_ss cnt))) (ENTMAKE (LIST (CONS 0 "POLYLINE") '(100 . "AcDbEntity") '(100 . "AcDb2dPolyline") (CONS 8 poly_lay) (ASSOC 10 entdata) '(70 . 1) ) ;_ end of list ) ;_ end of entmake (FOREACH n (CDR (MEMBER (ASSOC 10 entdata) entdata)) (IF (EQ (CAR n) 10) (ENTMAKE (LIST (CONS 0 "VERTEX") (CONS 8 poly_lay) n)) ) ;_ end of if ) ;_ end of foreach (ENTMAKE (LIST (CONS 0 "SEQEND") '(100 . "AcDbEntity") (CONS 8 poly_lay))) (SETQ cnt (1+ cnt)) (princ "\010\010\010\010\010\010") (princ cnt) (princ) ) ;_ end of while ) ;_ end of PROGN ) ;_ end of if (PRINC) ) ;_ end of defun ;|«Visual LISP© Format Options» (120 2 15 2 T "end of " 100 9 2 0 nil nil nil T T) ;*** DO NOT add text below the comment! ***|;