(defun c:bg()
(setq dd (getint "输入标高精度:"))
(setq bg1 (getint "输入起始标高:")) ;getreal
(setq point1 (getpoint "选择起始点:"))
(setq px1 (nth 0 point1)) ;得到点的X坐标值
(setq py1 (nth 1 point1)) ;得到点的Y坐标值
(setq tx1 (strcat "bg1")) ;得到标高的字符串
(while
(progn
(initget 16)
(setq point2 (getpoint "选择标注的坐标点:"))
)
(setq px2 (nth 0 point2)) ;得到点的X坐标值
(setq py2 (nth 1 point2)) ;得到点的Y坐标值
(setq bg2 (rtos (+ (- py2 py1) bg1)) 2 dd) ;求得bg2值
(setq px3 (+ px2 0.15))
(setq py3 (+ py2 0.2))
(setq px4 (- px2 0.15))
(setq py4 (+ py2 0.2))
(setq px5 (+ px2 0.3))
(setq py5 (+ py2 0))
(setq tx2 (strcat "bg2")) ;得到标高的字符串
(setq p1 (list px2 py2)) ;结合px1 & py1成p1点
(setq p2 (list px3 py3)) ;结合px1 & py1成p2点
(setq p3 (list px4 py4)) ;结合px1 & py1成p3点
(setq p4 (list px5 py5)) ;结合px1 & py1成p4点
(command "line" p1 p2 p3 "C") ;添加标高符号
(command "text" p4 0.2 0 "tx2") ;添加标高数值
)
)
最后那两个括号改了之后就变成(命令: ; 错误: 语法错误)了。还问题一为什么要那么改啊。谢谢
追答帮你改了一下,至少可以运行了,请看下面的内容。(你是初学者吧,有这个样子也算不错了)
(defun c:bg ()
(setq dd (getint "输入标高精度:"))
(setq bg1 (getint "输入起始标高:")) ;getreal
(setq point1 (getpoint "选择起始点:"))
(setq px1 (nth 0 point1)) ;得到点的X坐标值
(setq py1 (nth 1 point1)) ;得到点的Y坐标值
(setq tx1 (strcat "bg1")) ;得到标高的字符串
(while
(progn
(initget 16)
(setq point2 (getpoint "选择标注的坐标点:"))
)
(setq px2 (nth 0 point2)) ;得到点的X坐标值
(setq py2 (nth 1 point2)) ;得到点的Y坐标值
(setq bg2 (rtos (+ (- py2 py1) bg1))
dd 2
) ;求得bg2值
(setq px3 (+ px2 0.15))
(setq py3 (+ py2 0.2))
(setq px4 (- px2 0.15))
(setq py4 (+ py2 0.2))
(setq px5 (+ px2 0.3))
(setq py5 (+ py2 0))
(setq tx2 (strcat "bg2")) ;得到标高的字符串
(setq p1 (list px2 py2)) ;结合px1 & py1成p1点
(setq p2 (list px3 py3)) ;结合px1 & py1成p2点
(setq p3 (list px4 py4)) ;结合px1 & py1成p3点
(setq p4 (list px5 py5)) ;结合px1 & py1成p4点
(command "line" p1 p2 p3 "C") ;添加标高符号
(command "text" p4 0.2 0 "tx2") ;添加标高数值
)
)
谢谢你,我现在搞好了。终于可以用了。
我是前两天画图觉得太麻烦所以想写个程序。看了两天书写出来的运行的时候不行就上来问了。谢啦!!