乐筑天下

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

[编程交流] 功能顺序?

[复制链接]

78

主题

207

帖子

129

银币

后起之秀

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

铜币
395
发表于 2022-7-6 11:49:38 | 显示全部楼层 |阅读模式
我的Lisp程序
 
我基本上想把图层改成“dimension”图层,然后画尺寸。但是当我绘制维度时,它们并没有绘制在维度层上。
 
为什么图层在进入第二个命令“dimlinear”之前不会更改?
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 11:55:12 | 显示全部楼层
你为什么不使用
  1. (setvar "CLAYER" "dimension")

而不是命令调用?
回复

使用道具 举报

2

主题

74

帖子

72

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 11:58:08 | 显示全部楼层
如果不存在该层?
 
guitarguy1685,有许多创建层的方法,例如entmakex或vla add。但是“万物皆有其时”。
在你的情况下,我会使用
如果层不存在,他将创建它并激活,如果层已经存在,则将激活它
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 12:02:54 | 显示全部楼层
 
我在谈论他的问题(红色代码);这种情况(层不可用)已包含在代码中。但是,可以肯定的是,我在帖子中对此不够清楚。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 12:06:41 | 显示全部楼层
实际上,要确保设置到给定的层,需要很好的代码:
  1. [b][color=BLACK]([/color][/b]defun SetLayer [b][color=FUCHSIA]([/color][/b]name / ldef flag[b][color=FUCHSIA])[/color][/b]
  2. [b][color=FUCHSIA]([/color][/b]command [color=#2f4f4f]"_.LAYER"[/color][b][color=FUCHSIA])[/color][/b]
  3. [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]not [b][color=MAROON]([/color][/b]tblsearch [color=#2f4f4f]"LAYER"[/color] name[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  4.      [b][color=NAVY]([/color][/b]command [color=#2f4f4f]"_Make"[/color] name[b][color=NAVY])[/color][/b]
  5.      [b][color=NAVY]([/color][/b]progn
  6.        [b][color=MAROON]([/color][/b]setq ldef [b][color=GREEN]([/color][/b]tblsearch [color=#2f4f4f]"LAYER"[/color] name[b][color=GREEN])[/color][/b]
  7.              flag [b][color=GREEN]([/color][/b]cdr [b][color=BLUE]([/color][/b]assoc 70 ldef[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  8.        [b][color=MAROON]([/color][/b]and [b][color=GREEN]([/color][/b]= [b][color=BLUE]([/color][/b]logand flag  1[b][color=BLUE])[/color][/b]  1[b][color=GREEN])[/color][/b]
  9.             [b][color=GREEN]([/color][/b]command [color=#2f4f4f]"_Thaw"[/color] name[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  10.        [b][color=MAROON]([/color][/b]and [b][color=GREEN]([/color][/b]minusp [b][color=BLUE]([/color][/b]cdr [b][color=RED]([/color][/b]assoc 62 ldef[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
  11.             [b][color=GREEN]([/color][/b]command [color=#2f4f4f]"_On"[/color] name[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  12.        [b][color=MAROON]([/color][/b]and [b][color=GREEN]([/color][/b]= [b][color=BLUE]([/color][/b]logand flag  4[b][color=BLUE])[/color][/b]  4[b][color=GREEN])[/color][/b]
  13.             [b][color=GREEN]([/color][/b]command [color=#2f4f4f]"_Unlock"[/color] name[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  14.        [b][color=MAROON]([/color][/b]and [b][color=GREEN]([/color][/b]= [b][color=BLUE]([/color][/b]logand flag 16[b][color=BLUE])[/color][/b] 16[b][color=GREEN])[/color][/b]
  15.             [b][color=GREEN]([/color][/b]princ [color=#2f4f4f]"\nCannot Set To XRef Dependent Layer"[/color][b][color=GREEN])[/color][/b]
  16.             [b][color=GREEN]([/color][/b]quit[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  17.        [b][color=MAROON]([/color][/b]command [color=#2f4f4f]"_Set"[/color] name[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  18. [b][color=FUCHSIA]([/color][/b]command [color=#2f4f4f]""[/color][b][color=FUCHSIA])[/color][/b]
  19. name[b][color=BLACK])[/color][/b]

 
-大卫
回复

使用道具 举报

78

主题

207

帖子

129

银币

后起之秀

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

铜币
395
发表于 2022-7-6 12:08:36 | 显示全部楼层
嗯,我不太明白“logand”函数的作用。AutoLisp帮助文件读取
 
我不理解“逻辑位的结果”。你能解释一下吗? 
顺便说一句,我喜欢学习/使用新的autolisp函数
回复

使用道具 举报

78

主题

207

帖子

129

银币

后起之秀

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

铜币
395
发表于 2022-7-6 12:12:51 | 显示全部楼层
不管怎样,我找到了另一条线索的解释。我仍然不明白,但我会在那里回答。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 12:14:36 | 显示全部楼层
快速总结,
 
位码可以使用加法进行组合,logand/LOGOR可以用于“分解”这些组合。
 
例如,假设您有一个位代码:
 
logand将使用“AND”逻辑语句返回位代码,即如果两个代码都包含它:
 
logior将使用“Inclusive OR”逻辑语句返回位代码,即包含在一个或另一个或两者中的位:
 
除此之外,我们还可以使用“异或”逻辑语句创建logxor函数,即一个或另一个中包含的位,但不能同时包含两个。
 
示例:
 
你可以用二进制来考虑其中的每一个,其中1=true,0=false,因此:
 
  1. (logand (+ 2  45)
  2. Decimal Equivalent     32 16  8  4  2  1
  3. ------------------------------------------------
  4.                         [b]1  0  [color=Blue]1[/color]  1  0  1[/b]   (45)
  5.                         [b]0  0  [color=Blue]1[/color]  0  1  0[/b]   (10)
  6. [b]logand[/b] -----------------------------------------
  7.                         [b]0  0  [color=Blue]1[/color]  0  0  0[/b]    (
  8. ------------------------------------------------
  1. 10

希望这有帮助!
回复

使用道具 举报

78

主题

207

帖子

129

银币

后起之秀

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

铜币
395
发表于 2022-7-6 12:18:21 | 显示全部楼层
这很有帮助。有趣的是,我问了一个问题,却偏离了另一个Lisp冒险,哈哈。好吧,让我回到我真正想知道的。在我最初发布的代码中
 
似乎该层应该设置在线路之后,但它没有生效。为什么图层在dimlinear命令之前不会更改?
 
有趣的是,如果插入2次暂停
 
然后改变层。这是怎么回事?
回复

使用道具 举报

41

主题

301

帖子

265

银币

后起之秀

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

铜币
209
发表于 2022-7-6 12:23:28 | 显示全部楼层
回答你的问题。它似乎在Acad 2010上流汗。
 
但正如其他人建议的那样,试着做一些事情,比如
  1. 14

回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 10:38 , Processed in 0.328095 second(s), 72 queries .

© 2020-2025 乐筑天下

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