求助:图层名+后缀
点选图形,再点选文字,将图形的图层名+文字后缀,详见样图所述.(defun C:TCXG(/ #layerdata1 #newlayername #pickdata1 #pickdata2 #picklayer1 #pickname1 #pickname2 #picktxt2)
;获取需要修改图层名的对象的信息
(princ "\n点选需要修改图层名的对象")
(setq #pickname1 (car (entsel)))
(setq #pickdata1 (entget #pickname1))
(setq #picklayer1 (cdr (assoc 8 #pickdata1)));获取对象图层名
;获取原图层信息
(setq #layerdata1 (tblsearch "layer" #picklayer1))
;获取后缀文本对象的信息
(princ "\n点选后缀文本")
(setq #pickname2 (car (entsel)))
(setq #pickdata2 (entget #pickname2))
(setq #picktxt2 (cdr (assoc 1 #pickdata2)))
;组合文本
(setq #newlayername (strcat #picklayer1 "--" #picktxt2))
;创建新图层
(entmake
(list
'(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
(cons 2 #newlayername);图层名
(assoc 70 #layerdata1);获取原打印状态
(assoc 62 #layerdata1);获取原颜色
(assoc 6 #layerdata1);获取原线型
);end list
);end entmake
;合并新旧图层
(command "_.-LAYMRG" "N" #picklayer1 "" "N" #newlayername "Y")
);end TCXG Leolaputa 发表于 2024-6-19 11:34
(defun C:TCXG(/ #layerdata1 #newlayername #pickdata1 #pickdata2 #picklayer1 #pickname1 #pickname2 #p ...
感谢大佬帮忙
页:
[1]