搞了一下午都没搞定UCS坐标问题,
麻烦高手帮忙看一看(defun c:tzzz()
(setvar "cmdecho" 1)
(princ "\n选择相交直线")
(setq ss (ssget '((0 . "LINE")))
)
(setq e1 (ssname ss 0)
en (entget e1)
a(cdr (assoc 10 en))
b(cdr (assoc 11 en))
e2 (ssname ss 1)
en (entget e2)
c(cdr (assoc 10 en))
d(cdr (assoc 11 en))
zb (inters a b c d nil)
zbb (strcat "*" zb) ;*号这里报错
)
(command "ucs""O" zbb );帮我改entmake也可以
)
; 错误: 参数类型错误: stringp (2.0 3.0 0.0)
vectra 发表于 2014-10-11 19:18 static/image/common/back.gif
二楼代码 16行
zb (inters a b c d nil)
修改为
可以了,我搞了一个下午,头都大了,真是太谢谢你了,也谢谢二楼的朋友 还是不行呀, zb (inters a b c d nil) 这个做标是世界坐标,(command "ucs""o" zb) 这里用的是用户坐标,要在世界坐标前面加一个*号,可是我加上去了就报错,
(command "ucs""" "")
(command "ucs""O" zb )
这样可以实现 但是明显会闪一下,效率太低了
(defun c:tzzz()
(setq odos (getvar "osmode"))
(setvar "cmdecho" 0)
(setvar "osmode" 0)
(princ "\n选择相交直线")
(setq ss (ssget '((0 . "LINE")))
)
(setq e1 (ssname ss 0)
en (entget e1)
a(cdr (assoc 10 en))
b(cdr (assoc 11 en))
e2 (ssname ss 1)
en (entget e2)
c(cdr (assoc 10 en))
d(cdr (assoc 11 en))
zb (inters a b c d nil)
)
(command "ucs""o" zb);帮我改entmake也可以
(setvar "osmode" odos)
(setvar "cmdecho" 1)
(princ)
)
二楼代码 16行
zb (inters a b c d nil)
修改为
zb (trans (inters a b c d nil) 0 1)
即可
这东东到底有多好?
页:
[1]