yzr2002626 发表于 2010-5-2 15:23:00

申请编个面域转成多义线的小程序

申请编个面域转成多义线的小程序支持框选和用户坐标

ZZXXQQ 发表于 2010-5-2 21:41:00

本帖最后由 作者 于 2010-5-3 17:09:10 编辑


;框选面域转复线 明经 ZZXXQQ 2010.5.2
(defun c:tt ()
(setvar "CMDECHO" 0)
(if (progn (princ "\n选择面域 :") (setq ss (ssget '((0 . "REGION"))))) (progn
(setvar "QAFLAGS" 1)
(command ".explode" ss "")
(setvar "QAFLAGS" 0)
(command ".pedit" "M" "P" "" "Y" "J" "0.005" "")
))
(setvar "CMDECHO" 1)
(princ)
)

yzr2002626 发表于 2010-5-3 09:39:00

<p>老大,怎样在这程序上修改下,可以用于SOLID和面域转成多线</p><p>这主要用于改PM结构图的柱子</p>

ZZXXQQ 发表于 2010-5-3 17:12:00

二楼就是将面域转复线的程序。二楼程序又改了一下,多敲了一个字母。<br/>楼主开始的要求就是面域转复线,怎么又要加上SOLID了?

yzr2002626 发表于 2010-5-3 21:09:00

<p>主要是结构那柱子是SOLID的,每次都是先转成面域再转成复线,</p><p>还有就是很多时候那填的颜色是用SOLID或面域作的CAD平面彩色图形</p><p>用与SOLID是免得手动用下那面域命令,</p><p>所以说最好是那程序可以用于SOLID和面域转成多线</p>

ljq 发表于 2010-5-4 02:11:00

系统变量"QAFLAGS"怎么帮助中没有呀?什么含义?

Andyhon 发表于 2010-5-4 10:17:00

<p>Undocumented System Variables<br/><a href="http://www.manusoft.com/resources/acadexposed/index.stm">http://www.manusoft.com/resources/acadexposed/index.stm</a><br/></p>

ZZXXQQ 发表于 2010-5-4 22:17:00


;SOLID TO LWPOLYLINE 明经 ZZXXQQ 2010.3 7
(defun c:tt ()
(setq oldos (getvar "OSMODE"))
(if (setq ss (ssget '((0 . "SOLID")))) (progn
(setq i 0)
(repeat (sslength ss)
   (setq en (ssname ss i)
   ent (entget en))
   (if (equal (distance (cdr(assoc 10 ent))(cdr(assoc 13 ent))) 0.0 1e-4)
   (entmake (list
   '(0 . "LWPOLYLINE")
   '(100 . "AcDbEntity")
   '(67 . 0)
   '(410 . "Model")
   (cons 8 (cdr(assoc 8 ent)))
   '(62 . 4)
   '(100 . "AcDbPolyline")
   '(90 . 3)
   '(70 . 1)
   '(43 . 0.0)
   '(38 . 0.0)
   '(39 . 0.0)
   (cons 10 (cdr(assoc 10 ent)))
   '(40 . 0.0)
   '(41 . 0.0)
   '(42 . 0.0)
   (cons 10 (cdr(assoc 11 ent)))
   '(40 . 0.0)
   '(41 . 0.0)
   '(42 . 0.0)
   (cons 10 (cdr(assoc 12 ent)))
   '(40 . 0.0)
   '(41 . 0.0)
   '(42 . 0.0)
   '(210 0.0 0.0 1.0)
   ))
   (entmake (list
   '(0 . "LWPOLYLINE")
   '(100 . "AcDbEntity")
   '(67 . 0)
   '(410 . "Model")
   (cons 8 (cdr(assoc 8 ent)))
   '(62 . 4)
   '(100 . "AcDbPolyline")
   '(90 . 4)
   '(70 . 1)
   '(43 . 0.0)
   '(38 . 0.0)
   '(39 . 0.0)
   (cons 10 (cdr(assoc 10 ent)))
   '(40 . 0.0)
   '(41 . 0.0)
   '(42 . 0.0)
   (cons 10 (cdr(assoc 11 ent)))
   '(40 . 0.0)
   '(41 . 0.0)
   '(42 . 0.0)
   (cons 10 (cdr(assoc 13 ent)))
   '(40 . 0.0)
   '(41 . 0.0)
   '(42 . 0.0)
   (cons 10 (cdr(assoc 12 ent)))
   '(40 . 0.0)
   '(41 . 0.0)
   '(42 . 0.0)
   '(210 0.0 0.0 1.0)
   ))
   )
   (entdel en)
   (setq i (1+ i))
)
))
(princ)
)
页: [1]
查看完整版本: 申请编个面域转成多义线的小程序