ZZXXQQ
发表于 2011-7-6 14:56:21
tianyuan 发表于 2011-7-5 17:13 static/image/common/back.gif
想把数值标注在一个指定的坐标,却总是不行
(defun c:bk ()
(setq bb (getpoint "請選擇點:"))
1、字串不能与数字相加。
2、组表用函数LIST。(list vv nn 0.0)
tianyuan
发表于 2011-7-6 15:06:32
命令: BK
請選擇點: >>
正在恢复执行 BK 命令。
請選擇點:; 错误: 参数类型错误: numberp: "20590469.16573580"
tianyuan
发表于 2011-7-6 15:07:38
_$ (defun c:bk ()
(setq bb (getpoint "請選擇點:"))
(setq qq (/ (cadr bb) 10)
qq (fix qq)
)
(setq qq2 (rtos (/ qq 100.0) 2 2))
(setq vv (+(rtos(car bb)2 16) 0.1331))
(setq nn (+(rtos(cadr bb)2 16) 0.0568))
(setq mm (list vv nn 0.0))
(command “text" "none" mm 0 qq2)
tianyuan
发表于 2011-7-7 16:09:27
?\用了list怎么还不行?
Andyhon
发表于 2011-7-7 16:28:24
(defun c:bk ()
(setq bb (getpoint "請選擇點:"))
(setq qq (/ (cadr bb) 10)
qq (fix qq)
qq2 (rtos (/ qq 100.0) 2 2)
)
;|
(setq vv (+(rtos(car bb)2 16) 0.1331))
(setq nn (+(rtos(cadr bb)2 16) 0.0568))
|;
;; 是这个意思吗?
(setq mm (mapcar '+ bb (list 0.1331 0.0568 0.0)))
(command "text" "none" mm 0 qq2)
)
tianyuan
发表于 2011-7-7 16:40:38
我的意思是把qq2的坐标标注在BB所选取的坐标点再向西移0.1331,向北移0.0568的位置上
Andyhon
发表于 2011-7-7 17:14:45
...向西移0.1331...
(setq mm (mapcar '+ bb (list -0.1331 0.0568 0.0)))
tianyuan
发表于 2011-7-7 22:20:42
谢谢Andyhon ,正是这个意思
wdabo
发表于 2011-7-8 11:14:34
(setq vv (+(rtos(car bb)2 16) 0.1331))
(setq nn (+(rtos(cadr bb)2 16) 0.0568))
检查vv和nn变量,你已经用了rtos了,那么vv和nn都是字符串,字符串还怎么加?
rtos用完之后建议加read函数,例如:(read (rtos (car bb) 2 16) 0.1331)
zhongguola
发表于 2011-7-8 21:38:39
如果一次性能多标注几个点就好了