乐筑天下

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

[编程交流] 通过Prog控制参数

[复制链接]

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 22:22:11 | 显示全部楼层 |阅读模式
我创建了一个使用参数在角钢上改变孔间距的图形,但合并if-then语句以根据其他参数的值控制一些参数的值将非常有益。
 
例如,如果d1参数=14,则d2参数=3。如果d1参数=15,则d2参数=2。
 
我从Inventor中的iLogic中得到了这个想法,它很容易使用。我知道AutoCAD没有这种功能,但我认为VBA等编程可以帮助我解决这个问题。我没有一个强大的编程背景,所以任何建议都是可取的。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 22:31:21 | 显示全部楼层
和lisp相处得很轻松
 
  1. (setq d1  (getreal "\nEnter d1 value"))
  2. (cond
  3. ((= d1 14)(setq d2 2))
  4. ((= d1 15)(setq d2 3))
  5. .. and so on
  6. )

 
您可以添加一个仅检查有效条目的iniget 14 15 16 17
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 22:44:19 | 显示全部楼层
在我看来,我必须在输入d1后运行命令来更新d2。当我输入d1的输入时,有没有办法让d2更新,而不必单独运行命令?
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 22:44:53 | 显示全部楼层
?? 这就是我发布的内容。
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 22:56:24 | 显示全部楼层
好啊原谅我。我口齿不清。你能再给我一点指示吗。我知道如何将其输入记事本、命名和加载。加载后,它提示我输入一个值。但不会改变我的d2。除了它不能正常工作之外,我是要在每次更改d1后更新d2时都运行它,还是在第一次运行lisp后输入d1后d2会自动更新。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 23:06:36 | 显示全部楼层
复制并粘贴到记事本中,另存为say test。lsp然后进行加载测试。lsp遵循提示使用14或15
 
  1. (setq d1  (getreal "\nEnter d1 value"))
  2. (cond
  3. ((= d1 14)(setq d2 2))
  4. ((= d1 15)(setq d2 3))
  5. ((> d1 15)(princ "Greater than 15"))
  6. ((< d1 14)(princ "less than 14"))
  7. )
  8. (princ (strcat "the value of d2 is " (rtos d2 2 0)))
  9. (princ)
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 23:08:23 | 显示全部楼层
Mts5143刚刚意识到你在这里谈论约束,不是吗?不是一个完全不同的程序,一起发布一个屏幕抓图
回复

使用道具 举报

1

主题

4

帖子

3

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 23:20:20 | 显示全部楼层
是的,我说的是约束。抱歉给你带来了困惑。
 
当我将o\u COIL\u尺寸更改为15时,“红色”紧固件将靠近板,因此我希望将其向下移动1”。当o\u COIL\u尺寸=16时也是如此,因此我希望将其向下移动2”。
 
您可以使用o\u COIL\u维度值来了解我在说什么。
 
如果我在inventor中,我会在iLogic中编写如下代码,但我正试图在autocad中找到解决方法,因为autocad没有iLogic。
 
 
 
如果o\u线圈尺寸=15
那么d48=4
 
elseif o_COIL_尺寸=16
然后d_48=5
 
如果结束
 
 
我附上了支持文件。
232215cjlql17pjh7i7lzf.jpg
叠加。图纸
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 23:28:23 | 显示全部楼层
JD在读这个吗?约束有很多你可以做的事情,我只是用得不够。你读了帮助部分了吗?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 11:46 , Processed in 0.933560 second(s), 72 queries .

© 2020-2025 乐筑天下

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