求助:新建图层,图层名为当天日期并能加上修改原因,设为非打印。
需求如题:有10明经币,不能悬赏,如可能可赠与。已有程序:(defun c:XG ()
(setq Nme (rtos (fix(getvar "cdate"))))
(if (= (tblsearch "layer" Nme) nil)
(entmake (list
'(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
'(70 . 0)
'(290 . 1)
(cons 2 (rtos (fix(getvar "cdate"))))
(cons 62 1)
)))
(setvar "clayer" NME)
(princ)
)
上贴地址:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=173649&highlight=%C8%D5%C6%DA%2B%CD%BC%B2%E3
yangchao2005090 发表于 2020-6-5 21:13
改好的,能共享一下吗
(defun c:XG ()
(setq Nme (rtos (fix(getvar "cdate"))))
(if (= (tblsearch "layer" Nme) nil)
(progn
(setq ed1(getstring "\n请输入修改原因:"))
(entmake (list
'(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
'(70 . 0)
'(290 . 0) ;1 设为打印 ,0 设为非打印
(cons 2 (strcat Nme ed1))
(cons 62 1)
)
)
)
)
(setvar "clayer" (strcat Nme ed1))
(princ)
) 友情提示下,这种在源图上直接标注的方法有很多缺点,大家都得工作在同一个文件上,容易造成文件在单位内多处重复冲突,容易用错文件,只能有一个人在该文件上工作,不同时间不同人的标注容易冲突遗漏等。更重要的是, 不能记录原始状态,比如一个标注是向左移1000,那究竟移没移,没有原始状态比较,就不好判断了。
所以建议是另外一个单独的标注记录文件,每个标注唯一编号,抓图原来状态和修改后状态,一目了然。源文件只有在设计人员手中有且仅有一份。 (defun c:XG ()
(setq Nme (rtos (fix(getvar "cdate"))))
(if (= (tblsearch "layer" Nme) nil)
(progn
(setq ed1(getstring "\n请输入修改原因:"))
(entmake (list
'(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
'(70 . 0)
'(290 . 0) ;1 设为打印 ,0 设为非打印
(cons 2 (strcat "Nme" ed1))
(cons 62 1)
)
)
)
)
(setvar "clayer" (strcat "Nme" ed1))
(princ)
) 比较有用,谢谢分享。 bssurvey 发表于 2020-6-2 09:21
(defun c:XG ()
(setq Nme (rtos (fix(getvar "cdate"))))
...
谢谢大神 本帖最后由 lz123456 于 2020-6-3 19:00 编辑
图层名称不对没加上日期,是那变量名+修改原因。多打了引号。
lz123456 发表于 2020-6-3 18:08
图层名称不对没加上日期,是那变量名+修改原因。多打了引号。
我自己改好了 :handshake mikewolf2k 发表于 2020-6-3 11:13
友情提示下,这种在源图上直接标注的方法有很多缺点,大家都得工作在同一个文件上,容易造成文件在单位内多 ...
我是建筑电气行业的 ,改动的用云线文字圈出来,放在新建图层就行了。多谢建议! lixishou 发表于 2020-6-4 19:30
我自己改好了
改好的,能共享一下吗
页:
[1]
2