乐筑天下

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

[编程交流] 在autolisp和n中创建层

[复制链接]

29

主题

84

帖子

55

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2022-7-6 09:46:06 | 显示全部楼层
实际上我用这个。
 
  1. (defun _makelayer ( name color ltype lnwt )
  2.    (
  3.        (lambda ( _function )
  4.            (_function
  5.                (list
  6.                    (cons 0 "LAYER")
  7.                    (cons 100 "AcDbSymbolTableRecord")
  8.                    (cons 100 "AcDbLayerTableRecord")
  9.                    (cons 2 name)
  10.                    (cons 70 0)
  11.                    (cons 62 color)
  12.                    (cons 6 ltype)
  13.                    (cons 370 lnwt)
  14.                )
  15.            )
  16.        )
  17.        (if (tblsearch "LAYER" name)
  18.            (lambda ( data ) (entmod (cons (cons -1 (tblobjname "LAYER" name)) data)))
  19.            entmakex
  20.        )
  21.    )
  22. )

 
然后只需使用LL,您就拥有了所有图层选项。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:54:30 | 显示全部楼层
我使用这些:
 
 
通用宏:
  1. (_makelayer "YourLayer" 3 "Continuous" 40)

 
快速虚拟层,并将预选对象放置在层上:
  1. (defun C:LL ()
  2.    (menucmd "s=layer")(command "layer")(princ))
回复

使用道具 举报

9

主题

47

帖子

38

银币

初来乍到

Rank: 1

铜币
45
发表于 2022-7-6 09:57:03 | 显示全部楼层
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 09:59:17 | 显示全部楼层
I use these:
 
 
Generic macro:
  1. ;MAKE A LAYER(defun c:LM () (command "-layer" "make" ) (princ))
 
Quick dummy layers and will put preselected objects on layer:
  1. (defun AT:DummyLayer (name color plot / ss) (setq ss (ssget "_I")) (cond   ((eq (strcase name) (strcat (getvar 'clayer)))    (princ (strcat "\nLayer: "" name "" is the current layer."))   )   ((tblsearch "layer" name)    (vl-cmdf "_.layer" "_t" name "_s" name "_p" plot name "")    (princ (strcat "\nLayer: "" name "" is the current layer."))   )   ((vl-cmdf "_.layer" "_m" name "_c" color name "_p" plot name "")    (princ (strcat "\nLayer: "" name "" has been created."))   ) ) (if ss   ((lambda (i / e)      (while (setq e (ssname ss (setq i (1+ i))))        (vla-put-layer (vlax-ename->vla-object e) name)      )      (princ (strcat "\n" (itoa (sslength ss)) " object(s) moved to layer: "" name """))    )     -1   ) ));"ALAN" LAYER(defun c:ALAN (/) (AT:DummyLayer "ALAN" 2 "P") (princ));"TEMP" LAYER(defun c:TEMP (/) (AT:DummyLayer "TEMP" 7 "P") (princ));"DEFPOINTS" LAYER(defun c:DEF (/) (AT:DummyLayer "Defpoints" 7 "N") (princ));"VP" LAYER(defun c:VP (/) (AT:DummyLayer "VP" 4 "N")(princ));"HIDE" LAYER(defun c:HI (/) (AT:DummyLayer "HIDE" 210 "N")(princ));"0" LAYER(defun c:L0 (/) (AT:DummyLayer "0" 7 "P")(princ))
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 06:18 , Processed in 0.614884 second(s), 58 queries .

© 2020-2025 乐筑天下

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