OMEGA-ThundeR 发表于 2022-7-6 06:20:47

[LISP]为输入增加价值

你好
 
我希望能够键入我想要的视口比例。
 
在活动视口中手动输入“Zoom”>“Scale'>1xp(1:1000)。
 
我已经“Lisp程序”了,当我在视口中输入“1”时,比例变为1:1000,当我输入4时,比例变为1:250,以此类推。
 
对于一些绘图来说,它的比例无关紧要,但是我必须做很多动作来改变它(2个鼠标点击对我来说已经准备好了)。
 
所以我想创建一个lisp。
 

(Defun C:v ()
(command "_zoom" "scale" pause)
(princ)
)

 
这就是我得到的。简单明了。暂停让我手动输入,我必须用“xp”结束输入,以获得正确的比例。
 
缩放>比例>22与
缩放>比例>22xp
 
但我不想在最后添加XP。所以我有点希望它是预定义的,当我键入“22”然后>输入时自动添加
 
这可能吗?

BlackBox 发表于 2022-7-6 06:26:59


(defun c:FOO (/ scale)
(if (setq scale (getreal "\nEnter a zoom scale factor: "))
   (command "._zoom" "scale" (strcat (rtos scale 2 2) "xp"))
)
(princ)
)

feargt 发表于 2022-7-6 06:28:46

(定义C:v(/userscale)
(setq userscale(strcat(getstring“输入所需比例:”)“xp”))
(命令“\u zoom”“\u scale”userscale)
(普林斯)
)

OMEGA-ThundeR 发表于 2022-7-6 06:32:01

啊,似乎很简单。。谢谢,我以后可以用这个。

BlackBox 发表于 2022-7-6 06:35:50

 
我当然希望用户每次都输入一个有效的整数/实数。
 

Command: v
enter required scale:foo
_zoom
Specify corner of window, enter a scale factor (nX or nXP), or
<real time>: _scale
Enter a scale factor (nX or nXP): fooxp
Requires a distance (or numberX).
; error: Function cancelled

BlackBox 发表于 2022-7-6 06:37:19

 
不客气;我很乐意帮忙。

OMEGA-ThundeR 发表于 2022-7-6 06:41:26

可能是一个22.5的值,猜猜你的(黑盒)使这两个都可能吗?

BlackBox 发表于 2022-7-6 06:44:18

 
简单修复。。。我将GetInt更改为GetReal。。。请参阅此处修订的代码。

OMEGA-ThundeR 发表于 2022-7-6 06:47:13

多给你一杯啤酒!

BlackBox 发表于 2022-7-6 06:49:50

 
令人惊叹的弗罗斯特·埃尔丁·赫菲韦岑请给我。
 
https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQJInBTamy0h4weaa8vTqhKdofKnYlvtp6py9D6QDtbRS-肯尼亚
页: [1] 2
查看完整版本: [LISP]为输入增加价值