数字切换图层
把选中的对象改到相应的图层上,无选中情况下,则图层切换panliang9 发表于 2022-2-18 08:48
不错,这个可以扩展一下。
1、在选中对象的前提下下,输入命令则将对象切换到该数字图层。
2、没有选中对 ...
;;加载线型
(defun JZXX ()
(or (TBLSEARCH "LTYPE" "CENTER,DASHED,FENCELINE1,FENCELINE2,PHANTOM") ;搜索是否存在线型
(vl-catch-all-apply
'vla-load
(list (vla-get-Linetypes
(vla-get-ActiveDocument (vlax-get-acad-object))
)
"CENTER,DASHED,FENCELINE1,FENCELINE2,PHANTOM"
(findfile "acadiso.lin")
) ;不存在则加载线型
)
)
)
(defun li-xjtc (cm ys xx xk dy / ss lts )
(JZXX) ;加载线型
(Princ "\<<<<图层切换程序>>>>")
(setvar "cmdecho" 0)
(if (= (tblsearch "layer" cm) nil)
(entmake
(list
'(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
'(70 . 0) ;图层状态
(cons 2 cm) ;图层名称
(cons 62 ys) ;图层颜色
(cons 6 xx) ;图层线型
(cons 370 xk) ;图层线宽:100=1, 15=0.15, 18=0.18, -3=默认
(cons 290 dy) ;0-不打印,1-打印
)
)
)
(setq ss (ssget))
(if (= ss nil)
(setvar "clayer" cm) ;没有对象就切换至指定图层
(command "chprop" ss "" "la" cm "c" "bylayer" "lt" "bylayer" "") ;有对象就将对象改至指定图层
)
(princ)
)
;;;主程序
(defun c:00 (/) (li-xjtc "0" 7 "continuous" -3 1)) ;切换至 "0" 图层
(defun c:01 (/) (li-xjtc "01-DIM" 3 "continuous" 18 1)) ;切换至 "01-DIM" 图层
(defun c:02 (/) (li-xjtc "02-TXT" 7 "continuous" -3 1)) ;切换至 "02-TXT" 图层
(defun c:03 (/) (li-xjtc "03-Center" 1 "CENTER" 15 1)) ;切换至 "03-Center" 图层
(defun c:04 (/) (li-xjtc "04-Hidden" 8 "DASHED" -3 1)) ;切换至 "04-Hidden" 图层
(defun c:05 (/) (li-xjtc "05-Hatch" 2 "continuous" -3 1)) ;切换至 "05-Hatch" 图层 ;;;自动创建常用图层
(defun c:FFF ()
(setvar "cmdecho" 0)
(command "layer" "m" "DOTE""c" "1" "" "l" "DOTE" """")
(command "layer" "m" "WALL" "c" "42" "" "")
(command "layer" "m" "A-ELEV-LIN1-立面外轮廓线" "c" "42" "" "")
(command "layer" "m" "A-ELEV-LIN2-立面中轮廓线" "c" "2" "" "")
(command "layer" "m" "A-ELEV-LIN3-立面细轮廓线" "c" "153" "" "")
(command "layer" "m" "A-ELEV_OTHER-立面配景" "c" "153" "" "")
(command "layer" "m" "0-PM-固定家具" "c" "251" "" "")
(command "layer" "m" "0-PM-建筑面积计算" "c" "6" "" "")
(command "layer" "m" "DOOR" "c" "4" "" "")
(command "layer" "m" "DOOR-NAME" "c" "5" "" "")
(command "layer" "m" "大样剖切线" "c" "4" "" "")
(command "layer" "m" "WALL" "c" "42" "" "")
(command "layer" "m" "A-FURN-绘图层" "c" "2" "" "")
(command "layer" "m" "PUB_WINDW" "c" "7" "" "")
(command ".layer" "p" "p" "PUB_WINDW" "")
(command "layer" "m" "A-FURN-绘图层" "c" "2" "" "")
(setvar "cmdecho" 1)
(princ)
)
;;;自动创建常用总图图层
(defun c:FFA ()
(setvar "cmdecho" 0)
(command "layer" "m" "0-总图-建筑红线" "c" "1" "" "l" "PHANTOM" """")
(command "layer" "m" "0-总图-红地红线""c" "6" "" "l" "DOTE" """")
(command "layer" "m" "DOTE""c" "1" "" "l" "DOTE" """")
(command "layer" "m" "WALL" "c" "42" "" "")
(command "layer" "m" "0-总图-道路红线" "c" "2" "" "")
(command "layer" "m" "0-总图-道路边线" "c" "3" "" "")
(command "layer" "m" "0-总图-道路中心线" "c" "1" "" "l" "CENTER" """")
(command "layer" "m" "0-总图-建筑外边线" "c" "42" "" "")
(command "layer" "m" "0-总图-建筑可视线" "c" "2" "" "")
(command "layer" "m" "0-总图-已建建筑外边线" "c" "190" "" "")
(command "layer" "m" "0-总图-围墙线" "c" "221" "" "")
(command "layer" "m" "0-总图-构筑物" "c" "6" "" "")
(command "layer" "m" "0-总图-园林植物" "c" "251" "" "")
(command "layer" "m" "0-总图-表格线" "c" "3" "" "")
(command "layer" "m" "0-总图-园林布置" "c" "2" "" "")
(command "layer" "m" "0-总图-摩托车位" "c" "6" "" "")
(command "layer" "m" "0-总图-非机车位" "c" "6" "" "")
(command "layer" "m" "0-总图-绿地面积" "c" "6" "" "")
(command "layer" "m" "0-总图-绿化树" "c" "251" "" "")
(command "layer" "m" "0-总图-小汽车停车位" "c" "6" "" "")
(command "layer" "m" "PUB_WINDW" "c" "7" "" "")
(command ".layer" "p" "p" "PUB_WINDW" "")
(command "layer" "m" "A-FURN-绘图层" "c" "2" "" "")
(setvar "cmdecho" 1)
(princ)
)
;;;自动创建装修常用图层
(defun c:FFG ()
(setvar "cmdecho" 0)
(command "layer" "m" "0-TF-天花布置" "c" "2" "" "")
(command "layer" "m" "0-FURN-平面图" "c" "2" "" "")
(command "layer" "m" "0-TF-天花灯具布置" "c" "6" "" "")
(command "layer" "m" "0-TF-天花尺寸标注" "c" "3" "" "")
(command "layer" "m" "0-DM-地面填充" "c" "251" "" "")
(command "layer" "m" "0-DM-地坪分割线" "c" "251" "" "")
(command "layer" "m" "0-DM-门槛线" "c" "251" "" "")
(command "layer" "m" "0-DM-地面尺寸标注" "c" "3" "" "")
(command "layer" "m" "0-FURN-平面布置图" "c" "2" "" "")
(command "layer" "m" "0-FURN-平面尺寸" "c" "2" "" "")
(command "layer" "m" "0-PM-固定家具" "c" "251" "" "")
(command "layer" "m" "DOOR" "c" "4" "" "")
(command "layer" "m" "DOTE""c" "1" "" "l" "DOTE" """")
(command "layer" "m" "DOOR-NAME" "c" "4" "" "")
(command "layer" "m" "WALL" "c" "42" "" "")
(command "layer" "m" "大样剖切线" "c" "4" "" "")
(command "layer" "m" "PUB_WINDW" "c" "7" "" "")
(command ".layer" "p" "p" "PUB_WINDW" "")
(command "layer" "m" "A-FURN-绘图层" "c" "2" "" "")
(setvar "cmdecho" 1)
(princ)
)
;;通过命令设换到相应天花图层
(defun c:T1() (setvar "clayer" "0-TF-天花布置") (princ))
(defun c:T2() (setvar "clayer" "0-TF-天花尺寸标注") (princ))
(defun c:T3() (setvar "clayer" "0-TF-天花灯具布置") (princ))
;;通过命令设换到相应地面图层
(defun c:D1() (setvar "clayer" "0-DM-地面填充") (princ))
(defun c:D2() (setvar "clayer" "0-DM-地面尺寸标注") (princ))
(defun c:D3() (setvar "clayer" "0-DM-地坪分割线") (princ))
;;通过命令设换到相应图层
(defun c:F1() (setvar "clayer" "A-ELEV-LIN1-立面外轮廓线") (princ))
(defun c:F2() (setvar "clayer" "A-ELEV-LIN2-立面中轮廓线") (princ))
(defun c:F3() (setvar "clayer" "A-ELEV-LIN3-立面细轮廓线") (princ))
(defun c:F4() (setvar "clayer" "A-FURN-绘图层") (princ))
(defun c:F5() (setvar "clayer" "0-PM-固定家具") (princ))
(defun c:FFC() (setvar "clayer" "DOTE") (princ))
(defun c:FFD() (setvar "clayer" "DOOR") (princ))
(defun c:FFW() (setvar "clayer" "WINDOW") (princ))
(defun c:FW() (setvar "clayer" "WALL") (princ))
(defun c:F0() (setvar "clayer" "0") (princ))
;;;定义各视图方向
(defun c:w`()(command "vpoint" "-1,-2,1") (princ))
(defun c:w1()(command "-view" "swiso") (princ))
(defun c:w2()(command "-view" "seiso") (princ))
(defun c:w3()(command "-view" "neiso") (princ))
(defun c:w4()(command "-view" "nwiso") (princ))
(defun c:w5()(command "-view" "top") (princ))
(defun c:w6()(command "-view" "front") (princ))
(defun c:w7()(command "-view" "left") (princ))
(defun c:w8()(command "-view" "right") (princ)) 不错,这个可以扩展一下。
1、在选中对象的前提下下,输入命令则将对象切换到该数字图层。
2、没有选中对象的前提下,则切换到该图层。
3、如果没有该图层,则自动建立该图层。 建筑行业,除了缺省必须的0层,其他的图层几乎没有这种以整数命名的。 e2002 发表于 2022-2-18 10:19
建筑行业,除了缺省必须的0层,其他的图层几乎没有这种以整数命名的。
只建筑行业用cad? 感谢大神分享感谢大神分享 gzcsun 发表于 2022-3-27 15:21
只建筑行业用cad?
可以改图层名吧。 可以参考一下 很好用感谢!!!! panliang9 发表于 2022-2-18 08:48
不错,这个可以扩展一下。
1、在选中对象的前提下下,输入命令则将对象切换到该数字图层。
2、没有选中对 ...
前辈,这个功能做写出来了吗
页:
[1]
2