; Doan Van Ha - CadViet.com - Ngay 14/6/2014, edit 15/7/2015
; Lisp: chuyen cac doi tuong *Line,Arc thanh Region, sao do chuyen tu Region qua Pline.
(defun C:HA( / cmd dob ssnho sslon ss i ent obj)
(vl-load-com) (setq cmd (getvar 'cmdecho) dob (getvar 'delobj)) (setvar 'cmdecho 0) (setvar 'delobj 1) (command "undo" "be")
(setq ssnho (ssget "_X" '((0 . "REGION"))))
(princ "\nChon cac doi tuong muon chuyen thanh Region...")
(command "region" (ssget '((0 . "ARC,*LINE"))) "")
(setq sslon (ssget "_X" '((0 . "REGION"))))
(if ssnho
(repeat (setq i (sslength ssnho))
(ssdel (ssname ssnho (setq i (1- i))) sslon)))
(while (setq ent (ssname sslon 0))
(setq ss (ssadd) obj (vlax-ename->vla-object ent))
(foreach obj (vlax-safearray->list (vlax-variant-value (vla-Explode obj)))
(setq ss (ssadd (vlax-vla-object->ename obj) ss)))
(command "_.PEDIT" (ssname ss 0) "_YES" "_JOIN" ss "" "")
(ssdel ent sslon)
(command "erase" ent ""))
(setvar 'cmdecho cmd) (setvar 'delobj dob) (command "undo" "e")
(princ))
Nguồn bài viết :
https://www.cadviet.com/forum/topic/2771-lisp-chuy%E1%BB%83n-region-sang-pline/?page=2