乐筑天下

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

[编程交流] Lisp生成层。线宽0

[复制链接]

6

主题

60

帖子

54

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 09:10:04 | 显示全部楼层 |阅读模式
大家好,
 
 
我正在使用Mac Lee的Makalayer例程使用lisp创建层。
 
  1. (defun MakeLayer ( name colour linetype lineweight willplot bitflag description )
  2. ;; © Lee Mac 2010
  3. (or (tblsearch "LAYER" name)
  4.    (entmake
  5.      (append
  6.        (list
  7.          (cons 0 "LAYER")
  8.          (cons 100 "AcDbSymbolTableRecord")
  9.          (cons 100 "AcDbLayerTableRecord")
  10.          (cons 2  name)
  11.          (cons 70 bitflag)
  12.          (cons 290 (if willplot 1 0))
  13.          (cons 6
  14.            (if (and linetype (tblsearch "LTYPE" linetype))
  15.              linetype "CONTINUOUS"
  16.            )
  17.          )
  18.          (cons 62 (if (and colour (< 0 (abs colour) 256)) colour 7))
  19.          (cons 370
  20.            (fix
  21.              (* 100
  22.                (if (and lineweight (<= 0.0 lineweight 2.11)) lineweight 0.0)
  23.              )
  24.            )
  25.          )
  26.        )
  27.        (if description
  28.          (list
  29.            (list -3
  30.              (list "AcAecLayerStandard" (cons 1000 "") (cons 1000 description))
  31.            )
  32.          )
  33.        )
  34.      )
  35.    )
  36. )
  37. )
  38. (defun c:norlays nil (vl-load-com)
  39. ;; © Lee Mac 2010
  40. ;; Specifications:
  41. ;; Description        Data Type        Remarks
  42. ;; -----------------------------------------------------------------
  43. ;; Layer Name          STRING          Only standard chars allowed
  44. ;; Layer Colour        INTEGER         may be nil, -ve for Layer Off, Colour < 256
  45. ;; Layer Linetype      STRING          may be nil, If not loaded, CONTINUOUS.
  46. ;; Layer Lineweight    REAL            may be nil, 0 <= x <= 2.11
  47. ;; Plot?               BOOLEAN         T = Plot Layer, nil otherwise
  48. ;; Bit Flag            INTEGER         0=None, 1=Frozen, 2=Frozen in VP, 4=Locked
  49. ;; Description         STRING          may be nil for no description
  50. ;; Function will return list detailing whether layer creation is successful.   
  51. (
  52.    (lambda ( lst / lts ) (setq lts (vla-get-Linetypes (vla-get-ActiveDocument (vlax-get-acad-object))))
  53.      (mapcar 'cons (mapcar 'car lst)
  54.        (mapcar
  55.          (function
  56.            (lambda ( x )
  57.              (and (caddr x)
  58.                (or (tblsearch "LTYPE" (caddr x))
  59.                  (vl-catch-all-apply 'vla-load (list lts (caddr x) "acad.lin"))
  60.                )
  61.              )
  62.              (apply 'MakeLayer x)
  63.            )
  64.          )
  65.          lst
  66.        )
  67.      )
  68.    )
  69.   '(
  70.    ;  Name    Colour   Linetype Lineweight Plot? Bitflag      Description
  71.    ( "EL_COMPONENTS"   7  "CONTINUOUS" Default  T 0  nil  )
  72.    ( "EL_CONSTR_COMP"  1  "CONTINUOUS" Default  T 0  nil  )
  73.    ( "EL_FITTINGS"   4  "CONTINUOUS" Default  T 0  nil  )
  74.    ( "EL_LABEL"   1  "CONTINUOUS" Default  T 0  nil  )
  75.    ( "EL_LABEL_TXT"   252  "CONTINUOUS" Default  T 0  nil  )
  76.    ( "EL_TERMINALS"   1  "CONTINUOUS" Default  T 0  nil  )
  77.    ( "EL_TERMINALS_PE"  24  "CONTINUOUS" Default  T 0  nil  )
  78.    ( "EL_TERMINALS_TXT"  252  "CONTINUOUS" Default  T 0  nil  )
  79.    ( "EL_TXT"   252  "CONTINUOUS" Default  T 0  nil  )
  80.    ( "EL_WIRES"   252  "CONTINUOUS" Default  T 0  nil  )
  81.    ( "GE_ANNOTATION"   7  "CONTINUOUS" Default  T 0  nil  )
  82.    ( "GE_LABEL"   10  "CONTINUOUS" Default  T 0  nil  )
  83.    ( "GE_LABEL_TEXT"   253  "CONTINUOUS" Default  T 0  nil  )
  84.    ( "GE_TXT_LANGUAGE_DU"  252  "CONTINUOUS" Default  T 0  nil  )
  85.    ( "GE_TXT_LANGUAGE_EN"  252  "CONTINUOUS" Default        T 0  nil  )
  86.    ( "GE_TXT_LANGUAGE_FR"  252  "CONTINUOUS" Default        T 0  nil  )
  87.    ( "GE_TXT_LANGUAGE_GE"  252  "CONTINUOUS" Default        T 0  nil  )
  88.    ( "LA_HEADER_FRAME"  7  "CONTINUOUS" Default        T 0  nil  )
  89.    ( "LA_HEADER_TXT"   7  "CONTINUOUS" Default        T 0  nil  )
  90.    ( "LA_MATLIST"   254  "CONTINUOUS" Default        T 0  nil  )
  91.    ( "LA_MATLIST_FRAME"  254  "CONTINUOUS" Default        T 0  nil  )
  92.    ( "LA_MATLIST_POS"  254  "CONTINUOUS" Default        T 0  nil  )
  93.    ( "LA_MATLIST_TXT"  252  "CONTINUOUS" Default        T 0  nil  )
  94.    ( "LA_TITLE_FRAME"  7  "CONTINUOUS" Default        T 0  nil  )
  95.    ( "LA_TITLE_LOGO"   10  "CONTINUOUS" Default        T 0  nil  )
  96.    ( "LA_TITLE_LOGO_TXT"  7  "CONTINUOUS" Default        T 0  nil  )
  97.    ( "LA_TITLE_TXT"   7  "CONTINUOUS" Default        T 0  nil  )
  98.    ( "LA_VIEWPORTS"   230  "CONTINUOUS" Default        nil 0  nil  )
  99.    ( "PN_ACCESSORIES"  30  "CONTINUOUS" Default        T 0  nil  )
  100.    ( "PN_ACTUATORS"   160  "CONTINUOUS" Default        T 0  nil  )
  101.    ( "PN_AIR_LINE_EQUIPMENT"  40  "CONTINUOUS" Default        T 0  nil  )
  102.    ( "PN_BRACKET_MOUNTING"  1  "ACAD_ISO12W100"Default        T 0  nil  )
  103.    ( "PN_CABINET"   8  "CONTINUOUS" Default        T 0  nil  )
  104.    ( "PN_CABINET_DIM"  8  "CONTINUOUS" Default        T 0  nil  )
  105.    ( "PN_COMPONENTS"   7  "CONTINUOUS" Default        T 0  nil  )
  106.    ( "PN_CONDUCTS"   3  "CONTINUOUS" Default        T 0  nil  )
  107.    ( "PN_CONSTR_COMP"  2  "CONTINUOUS" Default        T 0  nil  )
  108.    ( "PN_DRAIN"   3  "HIDDEN" Default        T 0  nil  )
  109.    ( "PN_EXHAUST"   104  "CONTINUOUS" Default        T 0  nil  )
  110.    ( "PN_FITTINGS"   30  "CONTINUOUS" Default        T 0  nil  )
  111.    ( "PN_IDENTIFICATION"  4  "CONTINUOUS" Default        T 0  nil  )
  112.    ( "PN_PILOT_SUPPLY"  3  "HIDDEN" Default        T 0  nil  )
  113.    ( "PN_PORT_NUMBERS"  8  "CONTINUOUS" Default        T 0  nil  )
  114.    ( "PN_PRESSURE_SWITCHES"  200  "CONTINUOUS" Default        T 0  nil  )
  115.    ( "PN_PROPORTIONAL_VALVES" 226  "CONTINUOUS" Default        T 0  nil  )
  116.    ( "PN_SECTIONS"   3  "CONTINUOUS" Default        T 0  nil  )
  117.    ( "PN_SUB-BASES"   8  "ACAD_ISO12W100"Default        T 0  nil  )
  118.    ( "PN_SUB-BASE_CONDUCTS"  2  "CONTINUOUS" Default        T 0  nil  )
  119.    ( "PN_SUPPLY"   3  "CONTINUOUS" Default        T 0  nil  )
  120.    ( "PN_TXT"   3  "CONTINUOUS" Default        T 0  nil  )
  121.    ( "PN_VACUUM"   60  "CONTINUOUS" Default        T 0  nil  )
  122.    ( "PN_VALVES"   240  "CONTINUOUS" Default        T 0  nil  )
  123.    ( "PN_VALVES_OVERRIDE"  1  "CONTINUOUS" Default        T 0  nil  )
  124.    )
  125. )
  126. )

 
用于加载线型:
 
(“隐藏”林)
)
(foreach lin行列表
(或(tblsearch“LTYPE”(car lin))
(命令“.-linetype”“\u Load”(car lin)(cdr lin)”)
)
)
(普林斯)
); 端ln\u负载函数[/code]
回复

使用道具 举报

6

主题

60

帖子

54

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 09:15:23 | 显示全部楼层
我倾向于使用它来加载线型
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:19:36 | 显示全部楼层
大家好,
 
代码运行良好,直到我开始使用以ISO开头的层。
不知道为什么,但在某些文件上运行lisp时,它只创建线型,而不创建图层。
如果我只做一个层,平均名称,没关系,lisp再次工作。
我添加了一个文件,它是acadiso的副本。dwt模板。
 
下面是我使用的层的代码:
 
 
  1. 2

 
代码中应正确引用线定义文件。
不要使用“描述”-那里有一个bug
回复

使用道具 举报

6

主题

60

帖子

54

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 09:22:26 | 显示全部楼层
啊。。。
该死
谢谢你的提示。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:23:36 | 显示全部楼层
事实上,删掉描述就行了。太糟糕了。
回复

使用道具 举报

2

主题

8

帖子

4

银币

初来乍到

Rank: 1

铜币
14
发表于 2022-7-6 09:28:57 | 显示全部楼层
请试用附件中的“MakeLayers”
MakeLayers。lsp
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 09:29:21 | 显示全部楼层
我想我不知道怎么触发它。
在(加载“makelayers”)上,什么都不会发生。
所以我试着,LM:STR->LST,LM,STR->LST,。。。我看不出有什么反应。。。
回复

使用道具 举报

6

主题

60

帖子

54

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 09:34:24 | 显示全部楼层
 
str->lst只是一个子功能,使用“MakeLayers”(在顶部定义)-我应该添加一条加载消息。
 
你可能会喜欢这个新奇的节目:
 
http://lee-mac.com/getsyntax.html
回复

使用道具 举报

2

主题

8

帖子

4

银币

初来乍到

Rank: 1

铜币
14
发表于 2022-7-6 09:38:06 | 显示全部楼层
2011年新图纸的工作进展良好。
但与旧图纸不同(我认为是2004年)
 
[附件]26294
 
带有描述的一些图层:
 
isolays。lsp
回复

使用道具 举报

6

主题

60

帖子

54

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-6 09:41:27 | 显示全部楼层
 
 
李,在getsyntax中。lsp程序,如何定义一个唯一的搜索目录,而不是默认的,在我的情况下,是C:\users\something\documents?
换句话说,它可以被设置或硬编码为用户想要的任何内容吗?哪个应该是保存所有LISP的目录?
thx,史蒂夫
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 05:03 , Processed in 0.334226 second(s), 72 queries .

© 2020-2025 乐筑天下

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