通过Prog控制参数
我创建了一个使用参数在角钢上改变孔间距的图形,但合并if-then语句以根据其他参数的值控制一些参数的值将非常有益。例如,如果d1参数=14,则d2参数=3。如果d1参数=15,则d2参数=2。
我从Inventor中的iLogic中得到了这个想法,它很容易使用。我知道AutoCAD没有这种功能,但我认为VBA等编程可以帮助我解决这个问题。我没有一个强大的编程背景,所以任何建议都是可取的。 和lisp相处得很轻松
(setq d1(getreal "\nEnter d1 value"))
(cond
((= d1 14)(setq d2 2))
((= d1 15)(setq d2 3))
.. and so on
)
您可以添加一个仅检查有效条目的iniget 14 15 16 17 在我看来,我必须在输入d1后运行命令来更新d2。当我输入d1的输入时,有没有办法让d2更新,而不必单独运行命令? ?? 这就是我发布的内容。 好啊原谅我。我口齿不清。你能再给我一点指示吗。我知道如何将其输入记事本、命名和加载。加载后,它提示我输入一个值。但不会改变我的d2。除了它不能正常工作之外,我是要在每次更改d1后更新d2时都运行它,还是在第一次运行lisp后输入d1后d2会自动更新。 复制并粘贴到记事本中,另存为say test。lsp然后进行加载测试。lsp遵循提示使用14或15
(setq d1(getreal "\nEnter d1 value"))
(cond
((= d1 14)(setq d2 2))
((= d1 15)(setq d2 3))
((> d1 15)(princ "Greater than 15"))
((< d1 14)(princ "less than 14"))
)
(princ (strcat "the value of d2 is " (rtos d2 2 0)))
(princ) Mts5143刚刚意识到你在这里谈论约束,不是吗?不是一个完全不同的程序,一起发布一个屏幕抓图 是的,我说的是约束。抱歉给你带来了困惑。
当我将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
如果结束
我附上了支持文件。
叠加。图纸 JD在读这个吗?约束有很多你可以做的事情,我只是用得不够。你读了帮助部分了吗?
页:
[1]