lixishou 发表于 2020-6-1 17:41:02

求助:新建图层,图层名为当天日期并能加上修改原因,设为非打印。

需求如题:有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


lixishou 发表于 2020-6-8 08:55:05

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)                                       
)         

mikewolf2k 发表于 2020-6-3 11:13:18

友情提示下,这种在源图上直接标注的方法有很多缺点,大家都得工作在同一个文件上,容易造成文件在单位内多处重复冲突,容易用错文件,只能有一个人在该文件上工作,不同时间不同人的标注容易冲突遗漏等。更重要的是, 不能记录原始状态,比如一个标注是向左移1000,那究竟移没移,没有原始状态比较,就不好判断了。
所以建议是另外一个单独的标注记录文件,每个标注唯一编号,抓图原来状态和修改后状态,一目了然。源文件只有在设计人员手中有且仅有一份。

bssurvey 发表于 2020-6-2 09:21:02

(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)                                       
)                                             

yyz123121 发表于 2020-6-2 12:30:27

比较有用,谢谢分享。

lixishou 发表于 2020-6-2 15:25:42

bssurvey 发表于 2020-6-2 09:21
(defun c:XG ()                                 
(setq Nme (rtos (fix(getvar "cdate"))))      
...

谢谢大神

lz123456 发表于 2020-6-3 18:08:33

本帖最后由 lz123456 于 2020-6-3 19:00 编辑

图层名称不对没加上日期,是那变量名+修改原因。多打了引号。

lixishou 发表于 2020-6-4 19:30:28

lz123456 发表于 2020-6-3 18:08
图层名称不对没加上日期,是那变量名+修改原因。多打了引号。

我自己改好了 :handshake

lixishou 发表于 2020-6-5 11:23:38

mikewolf2k 发表于 2020-6-3 11:13
友情提示下,这种在源图上直接标注的方法有很多缺点,大家都得工作在同一个文件上,容易造成文件在单位内多 ...

我是建筑电气行业的 ,改动的用云线文字圈出来,放在新建图层就行了。多谢建议!

yangchao2005090 发表于 2020-6-5 21:13:46

lixishou 发表于 2020-6-4 19:30
我自己改好了

改好的,能共享一下吗
页: [1] 2
查看完整版本: 求助:新建图层,图层名为当天日期并能加上修改原因,设为非打印。