明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1959|回复: 7

[讨论] 有关PLINE的问题求教各位高手:

[复制链接]
发表于 2010-12-11 11:06:44 | 显示全部楼层 |阅读模式
小弟刚开始学LISP,现在有个问题求教各位高手:

我需要用lsp命令画一条指定线型和粗细的连续多义线,会有圆弧和直线等,但希望画完pline后,cad可以回到默认的线型和粗细。我是这么写的:

(DEFUN C:test ()
             (command "layer" "m" "wall" "")(command "linetype" "s" "wq2012" "")(setvar "plinewid" 0.3)(command "setvar" "plinegen" "1")
(command "pline" )
)

本想在后边加上
(command "layer" "s" "continuous" "")(command "linetype" "s" "continuous" "")(setvar "plinewid" 0)

但问题是pline之后lsp就终止了,无法继续执行下边的command。我该怎么办呀?
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2010-12-11 11:38:14 | 显示全部楼层
啊,是不是这样:

(DEFUN C:test()
             (command "layer" "m" "wall" "")(command "linetype" "s" "wq2012" "")(setvar "plinewid" 0.3)(command "setvar" "plinegen" "1")(setvar "CMDECHO" 1)
(command "pline" )
(while (= (logand (getvar "CmdActive") 1) 1) (command pause))
(command "layer" "s" "continuous" "")(command "linetype" "s" "continuous" "")(setvar "plinewid" 0))


请高手指教一下,似乎能达到目的了,还有什么可以改进的吗?谢谢。
 楼主| 发表于 2010-12-11 11:42:14 | 显示全部楼层
另外,请问 (command "layer" "m" "wall" "")里边,最后的“”加和不加有什么区别啊?

这问题似乎挺菜鸟的,不好意思……
发表于 2010-12-11 19:01:50 | 显示全部楼层
(command "layer" "m" "wall" "")里边,最后的 "" 使退出Layer命令。
另外,恢复原来的线型等,采用系统变量的方式似乎更好些。
 楼主| 发表于 2010-12-11 19:05:03 | 显示全部楼层
Student 发表于 2010-12-11 19:01
(command "layer" "m" "wall" "")里边,最后的 "" 使退出Layer命令。
另外,恢复原来的线型等,采用系统变 ...

非常感谢!我刚刚才知道可以用系统变量来实现回复原来的线型,不过请问用系统变量和用command,有什么区别呢?谢谢。
发表于 2010-12-11 19:57:17 | 显示全部楼层
常规做法,研究如下两条语句:
(command "._undo" "be")
...........
(command "._undo" "_end")
以及*error*。
发表于 2010-12-13 11:08:08 | 显示全部楼层
mandala 发表于 2010-12-11 19:05
非常感谢!我刚刚才知道可以用系统变量来实现回复原来的线型,不过请问用系统变量和用command,有什么区别 ...

条条大道通罗马。
发表于 2011-7-12 10:13:58 | 显示全部楼层
这个问题困扰了很久终于解决了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-9-24 04:51 , Processed in 0.198263 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表