乐筑天下

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

[编程交流] 用于层创建的Lisp

[复制链接]

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 06:31:17 | 显示全部楼层 |阅读模式
大家好!我一直在试图找到一个lisp例程,它可以根据用户输入生成一个特定的层。我已经阅读这些论坛很长时间了,这里的社区太棒了,我想我会寻求一些帮助!
我想创建一个lisp例程,它会向用户询问他们想要的层,并且只创建指定的层。在我工作的地方,我们为不同的系统使用许多不同的层,并且取决于我们正在处理的项目,我们可能需要一些层而不是其他层。
我想,如果我们有一个lisp例程,它拥有我们使用的每个层的所有属性,我们可以输入一个命令,比如“Mlayers”,它会提示输入一个“layer”,然后在层的一小部分键入,它会创建一个具有正确颜色、线型和线宽的层。
例如,当它提示输入“layer”时,我们可以键入“Test”,并创建001\u Test\u Main\u,颜色为25,线型连续,线宽为。25
这有意义吗?有可能吗?如果能得到任何帮助,我将不胜感激!
非常感谢。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 06:40:33 | 显示全部楼层
欢迎来到CADTutor
 
您应该能够使用本文中的信息构建所描述的程序。
只要问问你是否需要进一步的帮助。
 
回复

使用道具 举报

0

主题

5

帖子

5

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-6 06:47:21 | 显示全部楼层
亲爱的churchryn!
 
  1. (defun newlay(a b c d)
  2. (if (not (tblsearch "layer" a)) (command "-layer" "n" a "c" b a "l" c a "lw" d a "")
  3. (command "-layer" "s" a "c" b a "l" c a "lw" d a "")))
  4. ;;; Phraseological: [b](newlay "name" color index "laytype" lineweight)[/b], few examples:
  5. (defun C:laykt()
  6. (newlay "KT-CENLine" 2 "CENTER2"    0.13)
  7. (newlay "KT-ENVLine" 2 "CONTINUOUS" 0.30)
  8. .........................................
  9. (prompt "\nCreate layer completed\n"))

 
祝你好运,玩得开心!
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 06:52:56 | 显示全部楼层
谢谢你的回复,欢迎李!
我看了这篇文章,内容丰富,描述性强,这不是我想要的。
我不希望它创建所有层,只创建指定的层。也许《审判报》上有,我只是不明白。我不确定“if/Then”语句是否是最佳选择,但我希望它会提示输入所需的层,我们可以键入特定的单词。然后根据输入的单词创建受尊重的层。
也许我想要的太多了。我知道我可以制作一个lisp,只创建每个层,或者为每个需要的层创建一个命令。我只是想减少我的伙计们不得不做的击键次数。
例子:
“Mlayer”
“指定图层名:”
“样本”
lisp将创建001\u Sample\u Project\u测试(或与“Sample”关联的任何层)
使用相同的命令,如果我们输入“Current”,我们将得到一个不同的层,它将使002\u Current\u项目_
我可能没有正确解释它,我对lisp例程相当陌生。我道歉。
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 06:57:13 | 显示全部楼层
下面是一个可能有助于更好地解释它的示例,我知道这段代码不起作用。但也许它能更好地说明我在寻找什么。
(定义c:m层(/if-then)
(if(setq name(getstring t“指定图层名:”))
(如果名称=“样本”)
(然后(命令“.Layer”“\u Make”“001示例项目-”“\u Color”“140”“”“LType”“Continuous”“”“”)
(如果名称=“当前”)
(然后(命令“.Layer”“\u Make”“002当前项目-”“\u Color”“4”“”“LType”“Continuous”“”“”)
(如果名称=“测试”)
(然后(命令“.Layer”“\u Make”“003测试系统-”“\u Color”“4”“”“LType”“Continuous”“”“”)
(普林斯)
)
 
这些层不是我真正要使用的,我们有大约60层,我将添加到这里。如果做不到,请告诉我!
再次感谢您抽出时间!
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 07:04:10 | 显示全部楼层
试试这个,注意层名区分大小写,这意味着Sample不等于Sample。
 
  1. (defun c:MkLayer (/ Layer nm)
  2. (defun Layer (x c)
  3.    (entmake (list '(0 . "LAYER")
  4.                   '(100 . "AcDbSymbolTableRecord")
  5.                   '(100 . "AcDbLayerTableRecord")
  6.                   (cons 2 x)
  7.                   (cons 62 c)
  8.                   '(6 . "Continuous")
  9.                   '(70 . 0)
  10.             )
  11.    )
  12. )
  13. (if (and (/= "" (setq nm (getstring t "\n Specify layer Name :")))
  14.           (if (not (snvalid nm))
  15.             (princ "\n invalid Layer name <Try Again> !!")
  16.             t
  17.           )
  18.           (if (not (tblsearch "LAYER" nm))
  19.             t
  20.             (princ "\n Layer is already existed <Try Again> !!")
  21.           )
  22.      )
  23.    (cond ((eq nm "Sample") (Layer nm 140))
  24.          ((eq nm "Current") (layer nm 4))
  25.          ((eq nm "Test") (layer nm 4))
  26.          (t (layer nm 256))
  27.    )
  28. )
  29. (princ)
  30. )
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:08:18 | 显示全部楼层
谢谢Tharwat!!!
这非常有效!
 
我非常感谢您的帮助和快速反应!
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 07:16:09 | 显示全部楼层
 
太好了,不客气
 
Lee提供和准备的链接提供了非常丰富的信息,是用户学习如何创建和处理层的良好开端。
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:20:41 | 显示全部楼层
我打开了它,一直在阅读它,并试图练习列出的内容。
 
我也一直在他的页面上看其他教程!
Lisp例程非常有用!但是非常令人沮丧!!!
哈哈,再次感谢。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 07:26:27 | 显示全部楼层
 
对的
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 15:02 , Processed in 0.359483 second(s), 72 queries .

© 2020-2025 乐筑天下

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