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

如果一次性能多标注几个点就好了
页: 1 2 [3]
查看完整版本: 请编程师们指点一下