乐筑天下

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

请教关于用entmake批量创建图层的问题

[复制链接]

68

主题

645

帖子

23

银币

中流砥柱

Rank: 25

铜币
910
发表于 2014-8-30 17:30:00 | 显示全部楼层 |阅读模式
;用entmake创建图层
(defun jianceng()
(if (= xianxing nil) (setq xianxing "Continuous"))
(if (= xiankuan nil) (setq xiankuan 13))
(if (= dayin nil) (setq  dayin 1))
;自动加载线型 Gu_xl 2013-5-29
(or (TBLSEARCH "LTYPE" xianxing);线型
(vl-catch-all-apply
'vla-load
(list (vla-get-Linetypes
(vla-get-ActiveDocument (vlax-get-acad-object)))
xianxing ;线型
(findfile "acad.lin"))))
(entmake (list '(0 . "LAYER")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbLayerTableRecord")
'(70 . 0)
(cons 2 cengming)        ;层名
(cons 62 yanse)                ;颜色
(cons 6 xianxing)        ;线型
(cons 370 xiankuan)        ;线宽,100=1
(cons 290 dayin)        ;0不打印,1打印
))
(princ))
(defun c:`q(); 层名         颜色               线型              线宽        打印
(setq cengming "A" yanse 1 xianxing "center" xiankuan 100 dayin 0)(jianceng)
(setq cengming "B" yanse 2 )                                      (jianceng)
(setq cengming "C" yanse 3 )                                      (jianceng)
(setq cengming "D" yanse 4 )                                      (jianceng)
(setq cengming "E" yanse 5 )                                      (jianceng)
(setq cengming "F" yanse 6 )                                      (jianceng)
(setq cengming "G" yanse 7 )                                      (jianceng)
(setq cengming "H" yanse 8 )                                      (jianceng)
(setq cengming "I" yanse 9 )                                      (jianceng)
(princ))
哪位大师方便帮看看哪里写得不对,图层建了,但线宽、线型、打印状态都全部一样了,要怎么改呢?线谢谢了
回复

使用道具 举报

29

主题

743

帖子

11

银币

中流砥柱

Rank: 25

铜币
858
发表于 2014-8-30 18:07:00 | 显示全部楼层

  1. ;用entmake创建图层
  2. ;(jianceng cengming yanse xianxing xiankuan dayin flag)
  3. ;(jianceng 层名 颜色 线型 线宽 打印 同名是否强制更新)
  4. (defun jianceng        (cengming yanse xianxing xiankuan dayin flag)
  5.   (or xianxing (setq xianxing "Continuous"))
  6.   (or xiankuan (setq xiankuan 13))
  7.   (or dayin (setq dayin 1))
  8.   (or yanse (setq yanse 7))
  9.   ;自动加载线型 Gu_xl 2013-5-29  ... mp;page=2#pid588571
  10.   (and xianxing
  11.        (or (TBLSEARCH "LTYPE" xianxing)        ;线型
  12.            (vl-catch-all-apply
  13.              'vla-load
  14.              (list (vla-get-Linetypes
  15.                      (vla-get-ActiveDocument (vlax-get-acad-object))
  16.                    )
  17.                    xianxing                ;线型
  18.                    (findfile "acad.lin")
  19.              )
  20.            )
  21.        )
  22.   )
  23.   (and
  24.     cengming
  25.     (if        (and (setq en (tblobjname "layer" cengming)) flag)
  26.       (progn
  27.         ;强制更新
  28.         (setq elist (entget en))
  29.         (and yanse (setq elist (subst (cons 62 yanse) (assoc 62 elist) elist)))
  30.         (and xianxing (setq elist (subst (cons 6 xianxing) (assoc 6 elist) elist)))
  31.         (and xiankuan (setq elist (subst (cons 370 xiankuan) (assoc 370 elist) elist)))
  32.         (and dayin (setq elist (subst (cons 290 dayin) (assoc 290 elist) elist)))
  33.         (entmod elist)
  34.       )
  35.       (entmake (list '(0 . "LAYER")
  36.                      '(100 . "AcDbSymbolTableRecord")
  37.                      '(100 . "AcDbLayerTableRecord")
  38.                      '(70 . 0)
  39.                      (cons 2 cengming)        ;层名
  40.                      (cons 62 yanse)        ;颜色
  41.                      (cons 6 xianxing)        ;线型
  42.                      (cons 370 xiankuan) ;线宽,100=1
  43.                      (cons 290 dayin)        ;0不打印,1打印
  44.                )
  45.       )
  46.     )
  47.   )
  48.   (princ)
  49. )
  50. (defun c:`q(); 层名         颜色               线型              线宽        打印
  51.   ;(jianceng cengming yanse xianxing xiankuan dayin flag)
  52.   ;(jianceng 层名 颜色 线型 线宽 打印 同名是否强制更新)
  53.   (jianceng "A" 1 "center" 100 0 t)
  54.   (jianceng "B" 2 nil nil nil t)
  55.   (jianceng "C" 3 nil nil nil t)
  56.   (jianceng "D" 4 nil nil nil t)
  57.   (princ)
  58.   )
回复

使用道具 举报

29

主题

743

帖子

11

银币

中流砥柱

Rank: 25

铜币
858
发表于 2014-8-30 19:56:00 | 显示全部楼层
是否强制更新 t 是 nil 否
遇到图层名已经存在,如果是t,则更新设置的属性 颜色等等。如果是nil则保持原状。
回复

使用道具 举报

5

主题

129

帖子

13

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
144
发表于 2014-8-31 14:55:00 | 显示全部楼层

好像有处错误,
(or yanse (setq dayin 7))
回复

使用道具 举报

2

主题

8

帖子

4

银币

初来乍到

Rank: 1

铜币
16
发表于 2015-6-13 19:43:00 | 显示全部楼层
学习了
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
1
发表于 2016-5-5 23:04:00 | 显示全部楼层
好东西,学习了
回复

使用道具 举报

0

主题

11

帖子

5

银币

初来乍到

Rank: 1

铜币
11
发表于 2018-5-14 16:10:00 | 显示全部楼层
学习了,entmake确实要快点
回复

使用道具 举报

43

主题

153

帖子

9

银币

后起之秀

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

铜币
325
发表于 2020-6-27 09:30:00 | 显示全部楼层
有没有人知道这个最原始创建图层的帖子在哪啊,好像找不到了
回复

使用道具 举报

11

主题

244

帖子

38

银币

后起之秀

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

铜币
268
发表于 2022-7-19 08:42:00 | 显示全部楼层
是否可以强制线型比例  为 1
回复

使用道具 举报

0

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
2
发表于 2022-7-19 09:06:00 | 显示全部楼层
很好,很受用 学习了!!!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 01:49 , Processed in 0.716800 second(s), 72 queries .

© 2020-2025 乐筑天下

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