好自从你提出
我对整个lisp都很感兴趣,现在我想让这个标注程序更流畅一些。。。
加载例程后,系统会提示用户选择4个点作为平面图的边界。随后拾取的每个点都会将一个具有x和y尺寸的块插入到最近的边界点。该信息显示在方向箭头块内,程序根据点所在的象限选择方向箭头块。
原始例程基于全局ltscale变量缩放该块。我重写了它,以便例程提示用户输入块比例因子,因此现在ltscale永远不需要更改。
这是可行的,但有点笨重。如果平面图的比例为3/4”,则适当的区块比例因子为7.5;对于1/2”,比例因子为10,以此类推。。。我希望能够输入绘图比例,并让程序将适当的数字转换为比例因子变量(sf)。
我一直在阅读我的AutoCAD书籍,并在线查看教程,到目前为止,这是我最接近的。。。
- ; Input the plot scale
- (defun LTPrompt ()
- (setq ans (getstring "\nSpecify Linetype Scale: ")
- )
- ; Set the correct block scale
- (defun symbol ()
- (if (= ans "1/4")(progn
- (setq sf 15) ;if "1/4", set sf to 15
-
- ))
- (if (= ans "3/8")(progn
- (setq sf 15) ;if "3/8", set sf to 15
-
- ))
- (if (= ans "1/2")(progn
- (setq sf 10) ;if "1/2", set sf to 10
-
- ))
- (if (= ans "3/4")(progn
- (setq sf 7.5) ;if "3/4, set sf to 7.5
-
- ))
- )
不知何故,这总是将比例因子(sf)设置为2。所以我想我对那里发生的事情的了解比我想象的还要少。
一旦这一问题得到解决,希望一个类似的代码位将允许用户输入他们正在进行的尺寸标注(我们使用不同的符号来表示电气与音频/视频与索具),并且例程将选择具有适当符号和方向的块。
如有任何建议,不胜感激。如果我找到了解决方案,我会继续阅读教程并发回。
谢谢 |