乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 49|回复: 8

[编程交流] 创建图层的最佳方式是什么

[复制链接]

18

主题

58

帖子

41

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
91
发表于 2022-7-6 09:45:22 | 显示全部楼层 |阅读模式
尊敬的各位
Plz建议哪种方法是在lisp内创建层的最佳方法
第一
  1.   (setq oldlayer (getvar "CLAYER"))
  2.      (if (tblsearch "LAYER" "Dr")
  3. (setvar "CLAYER" "Dr")
  4. (command ".LAYER" "M" "Dr" "C" "6" "" "")
  5.      )
  6. (setvar "CLAYER" oldlayer)

 
第二
  1. (if (not (tblsearch "layer" "dr"))
  2. (progn(command ".LAYER" "M" "dr" "C" "50" "" "")))
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 09:59:27 | 显示全部楼层
我想这是最好的。。
 
  1. (if (not (tblsearch "LAYER" "Dr"))
  2. (entmake (list (cons 0 "LAYER")
  3.                 (cons 100 "AcDbSymbolTableRecord")
  4.                 (cons 100 "AcDbLayerTableRecord")
  5.                 (cons 2 "Dr")
  6.                 (cons 70 0)
  7.                 (cons 62 6)
  8.                            ))
  9. )

 
塔瓦特
回复

使用道具 举报

18

主题

58

帖子

41

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
91
发表于 2022-7-6 10:00:38 | 显示全部楼层
尊敬的先生:
thx建议
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 10:10:41 | 显示全部楼层
 
随时欢迎你。
塔瓦特
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 10:16:13 | 显示全部楼层
如果您真的想将保险设置为一个层:
  1. ;++++++++++++ Make Layer Current +++++++++++++++++++++++++++++++++
  2. (defun SetLayer (name / ldef flag)
  3. (cond ((or (not name)
  4.             (not (snvalid name)))
  5.         (princ "\nBad Aurgment Passed To SetLayer - ")
  6.         (prin1 name)
  7.         (exit)))
  8. (command "_.LAYER")
  9. (if (not (tblsearch "LAYER" name))
  10.      (command "_Make" name)
  11.      (progn
  12.        (setq ldef (tblsearch "LAYER" name)
  13.              flag (cdr (assoc 70 ldef)))
  14.        (and (= (logand flag  1)  1)
  15.             (command "_Thaw" name))
  16.        (and (minusp (cdr (assoc 62 ldef)))
  17.             (command "_On" name))
  18.        (and (= (logand flag  4)  4)
  19.             (command "_Unlock" name))
  20.        (and (= (logand flag 16) 16)
  21.             (princ "\nCannot Set To XRef Dependent Layer")
  22.             (quit))
  23.        (command "_Set" name)))
  24. (command "")
  25. name)

 
-大卫
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 10:24:30 | 显示全部楼层
以大卫的例子为基础。。。这使用ActiveX:
 
  1. (defun SetLayer2  (layerName / activeDoc layerTable layerItem)
  2. (vl-load-com)
  3. (vla-startundomark
  4.    (setq activeDoc (vla-get-activedocument (vlax-get-acad-object))))
  5. (if (= 'STR (type layerName))
  6.    (if (not (vl-string-search "|" layerName))
  7.      (progn
  8.        (setq layerTable (vla-get-layers activeDoc))
  9.        (if (tblsearch "layer" layerName)
  10.          (progn
  11.            (setq layerItem (vla-item layerTable layerName))
  12.            (vla-put-freeze layerItem :vlax-false))
  13.            (vla-put-layeron layerItem :vlax-true)
  14.            (vla-put-lock layerItem :vlax-false)
  15.          (setq layerItem (vla-add layerTable layerName)))
  16.        (vla-put-activelayer activeDoc layerItem))
  17.      (prompt "\n  <!>  Cannot Set to Xref Dependent Layer  <!> "))
  18.    (progn
  19.      (prompt "\n  <!>  Invalid Argument - ")
  20.      (prin1 name)
  21.      (prompt "  <!> ")))
  22. (vla-endundomark activeDoc)
  23. (princ))
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-6 10:31:10 | 显示全部楼层
http://www.theswamp.org/index.php?topic=33041.msg384939#msg384939
回复

使用道具 举报

4

主题

78

帖子

74

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-6 10:41:21 | 显示全部楼层
或http://forums.augi.com/showthread.php?t=122277&highlight=layerlist和http://www.theswamp.org/index.php?topic=35588.0;全部的
回复

使用道具 举报

18

主题

58

帖子

41

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
91
发表于 2022-7-6 10:48:32 | 显示全部楼层
尊敬的各位
thx为帮助我,我将尝试返回thx
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-6 23:32 , Processed in 0.352950 second(s), 70 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表