hnzkhyyl 发表于 2017-12-22 20:21:17

怎么去掉那个1

我修改了一个指定坐标原点的lisp,但是总会莫名其妙地出现那个数字1,谁能帮我看看?修改一下。我的本意在指定坐标原点时,使用透明命令捕捉的方式获得指定的两个中心线的交点。相当于在指定点的时候,使用ctrl或shift+右键弹出的那个里面的交点。不是在命令运行前草图设置里的交点。

代码如下
(defun c:vcc()(prompt "请指定新坐标原点:")
(setvar "cmdecho" 0)
(command "ucsicon" "origin" "ucs" "o" )
(command "int")
(setvar "cmdecho" 1)
)


请前辈们伸援手,把可误的1去掉。。



wen1235 发表于 2017-12-23 09:32:22

本帖最后由 wen1235 于 2017-12-24 08:43 编辑

(defun c:vcc()(prompt "请指定新坐标原点:")
(setvar "cmdecho" 0)
(command "ucsicon" "origin" "ucs" "o" )
(command "int" )
(setvar "cmdecho" 1)
(print)
) ;;;有于没1
(defun c:vcc()(prompt "请指定新坐标原点:")
(setvar "cmdecho" 0)
(command "ucsicon" "origin" "ucs" "o" )
(command "int" pause)
(setvar "cmdecho" 1)
(princ)
);;;没于没1

;;;话外 由于思维方式不同(我认为是不严谨没针对)常常人家要的只是答案 而我们给的可能是方法
好像问题就有了阻碍 不明了的感觉

Andyhon 发表于 2017-12-22 20:41:46

(command "int")
(setvar "cmdecho" 1)
对调===>
(setvar "cmdecho" 1)
(command "int")

or
(setvar 'OsMode 32)
(command "ucsicon" "origin" "ucs" "o" )
后边去掉

or
(command "ucsicon" "origin" "ucs" "o""int")
参考这句
(while (= (logand (getvar "CmdActive") 1) 1) (command pause))

or
(Setvar "UCSOrg" MyPt)

357785513 发表于 2017-12-22 20:47:20

之前那个贴回复过
http://www.yy.com/u/2013554109

xinxirong 发表于 2017-12-22 21:51:55

函数结束前(princ)

hnzkhyyl 发表于 2017-12-22 23:12:31

357785513 发表于 2017-12-22 20:47
之前那个贴回复过
http://www.yy.com/u/2013554109

你个帖子??

xyp1964 发表于 2017-12-22 23:24:55

(defun c:tt ()
(prompt "\n请指定新坐标原点: ")
(command "ucsicon" "origin" "ucs" "o" pause)
(princ)
)

hnzkhyyl 发表于 2017-12-23 08:08:29

我希望的是捕捉是透明命令不是单独设置的交点捕捉。就像动图是,捕捉交点有个“X…”的提醒。
二楼的回复
(command "int")
(setvar "cmdecho" 1)
对调===>
(setvar "cmdecho" 1)
(command "int")

这个符合但是有个小瑕疵,

vcc 请指定新坐标原点:int 于 于和


有2个于,怎么去掉其中一个?

Andyhon 发表于 2017-12-23 09:13:46

在我的工作配置下没这个现象
请问您的版本?

或许与系统变量有关?
(可有Dwg可供调试?)

hnzkhyyl 发表于 2017-12-23 12:04:52

CAD2008,系统是win7,文档是随意新建的文档。目前用9楼同志的第二个,谢谢大家了
页: [1] 2
查看完整版本: 怎么去掉那个1