Xiphos 发表于 2022-7-5 18:52:24

Qtext和最大化显示组合

大家好。我对LISP例程的唯一体验就是将它们加载到cad中。我有一个具体的请求需要帮助。我正在使用Acad 2012。
 
我需要一个Lisp例程:(还配备了vl load com部分,因为我没有访问任何Acad系统文件的权限)
 
1) 启用Qtext,重新生成,然后进行最大化显示。
 
2) 如果用户希望继续Y或N,则暂停以提示用户
 
2a)如果没有,程序终止。
2b)如果是,请关闭Qext,重新生成,然后最大化显示。
 
为了简短起见,我将跳过为什么需要这个的解释。一石二鸟。如果有人觉得很好,可以给我写些有用的东西吗?提前非常感谢!

rlx 发表于 2022-7-5 18:59:39

(defun c:qtzoom ( / inp)
(vl-load-com)
(setvar "QTEXTMODE" 1)
(command ".regen" ".zoom" "e")
(initget "YES yes NO no")
(setq inp (getkword "\nDo you wish to continue? Yes or No: "))
(if (eq inp "Yes") (progn (setvar "QTEXTMODE" 0)(command ".regen" ".zoom" "e")))
(princ)
)

SLW210 发表于 2022-7-5 19:04:21

请阅读代码发布指南,并为您的代码使用代码标签。

rlx 发表于 2022-7-5 19:08:13

我使用了包裹符号,但就是不起作用
 
 
rlx公司

Xiphos 发表于 2022-7-5 19:11:27

rlx,
 
非常感谢你!代码的第一部分工作顺利,但如果我点击yes继续,程序就会结束。有什么想法吗?

tombu 发表于 2022-7-5 19:12:49

尝试:
(defun c:qtzoom ( / inp)
(vl-load-com)
(setvar "QTEXTMODE" 1)
(command ".regen" ".zoom" "e")
(initget "Yes No")
(setq inp (getkword "\nDo you wish to continue? "))
(if (eq inp "Yes") (progn (setvar "QTEXTMODE" 0)(command ".regen" ".zoom" "e")))
(princ)
)

Xiphos 发表于 2022-7-5 19:17:26

好啊这是可行的,但它似乎没有缩放到范围。
 
我的意思是它确实可以缩放到图形,但它忽略了用于缩放的qtext。
 
如果我不使用lisp(Qtext,on),(regen),(Zoom-extents)手动执行该命令,那么它就可以工作。
 
编辑:我更改了代码,因此它不使用(setvar),而是这样做的:
 
(defun c:qtzoom ( / inp)
    (vl-load-com)
    (command ".qtext" "ON" ".regen" ".zoom" "e")
    (initget "Yes No")
    (setq inp (getkword "\nDo you wish to continue? "))
    (if (eq inp "Yes") (progn (command ".qtext" "OFF"".regen" ".zoom" "e")))
    (princ)
)
 
现在一切都正常了!谢谢大家!你让我的生活轻松多了!

BIGAL 发表于 2022-7-5 19:23:43

这一行中不需要progn(if(eq inp“Yes”)(progn(command).qtext“OFF”.regen.zoom“e”))if基本上为true或false 1行,但如果需要1行以上的代码语句,则使用progn表示我有1行以上要执行的代码。
 

(if (= x 1)
(this is true)
(this is false)
)

(if (= x 1)
(progn
(this is true)
(need line 2)
(needline 3)
) ; end progn
(this is false)
)

SLW210 发表于 2022-7-5 19:26:00

 
不知道你所说的包裹符号是什么意思,但是。。。
 
您只需使用#或手动制作标签。
Your Code Here。
 
这次为你修复了你的帖子。

rlx 发表于 2022-7-5 19:31:48

 
 
 
 
我使用了#符号(在选择代码后),但什么也没发生。下次我将使用手动选项或使用attachements代替,gr.rlx。
页: [1] 2
查看完整版本: Qtext和最大化显示组合