流_星 发表于 2013-4-13 23:02:04

坐标加数字的问题(新手)

本帖最后由 流_星 于 2013-4-14 06:35 编辑

ptt是坐标,pt1也是个坐标,想让纵坐标增加0.93,高手们我修改咱改
(setq ptt (list (car pt1) (+(cadr pt1)   0.93)))
这样写说参数类型错误 numberp :nil

ll_j 发表于 2013-4-14 07:36:10

你每次给的都是片段,有时很难看出错误,就本例而言,看不出什么错误,错误应该不在这个地方。
与点相关的错误可能会有2D点与3D点的错误,CAD很多时候对2D点和3D点是敏感的,不过错误提示不是这样。
还有一种可能,就是此时点PT1没有赋值或赋值类型不对。
建议初学者使用acad自身的编辑器Vlisp来书写、调试Lisp程序,Vlisp编辑器可以设置断点进行追踪,也可以对变量进行观察。

阿霸jun 发表于 2013-4-14 00:21:54

(mapcar '(lambda (x) (mapcar '+ x '(0 0 0.93))) (list ptt pt1...ptn))
返回纵坐标加了0.93的点表(ptt pt1....ptn)

wowan1314 发表于 2013-4-14 00:22:07

那样写不行吗?

流_星 发表于 2013-4-14 06:25:06

本帖最后由 流_星 于 2013-4-14 11:42 编辑

我没有说清楚
pt1是老坐标
让横坐标不变,纵坐标增加0.93
新坐标给ptt

流_星 发表于 2013-4-14 06:57:26

阿霸jun 发表于 2013-4-14 00:21 static/image/common/back.gif
(mapcar '(lambda (x) (mapcar '+ x '(0 0 0.93))) (list ptt pt1...ptn))
返回纵坐标加了0.93的点表(ptt...

哈哈没有看懂能解释一下吗

yoyoho 发表于 2013-4-14 07:27:29

本帖最后由 yoyoho 于 2013-4-14 07:30 编辑

指令: (setq pt1 (getpoint))   
(-885.5 -148.0 0.0)         
指令: (setq ptt (list (car pt1) (+(cadr pt1)   0.93) 0))   
(-885.5 -147.07 0)                                       

流_星 发表于 2013-4-14 11:44:33

好,我试试

阿霸jun 发表于 2013-4-14 19:54:25

yoyoho 发表于 2013-4-14 07:27 static/image/common/back.gif
指令: (setq pt1 (getpoint))   
(-885.5 -148.0 0.0)         
指令: (setq ptt (list (car pt1) (+(c ...

(setq ptt (getpoint))
(153148.0 134656.0 0.0)
_$ (setq pt1 (mapcar '+ ptt '(0 0 0.93)))
(153148.0 134656.0 0.93)

liaobin 发表于 2016-5-6 15:55:39

新手学习了
页: [1]
查看完整版本: 坐标加数字的问题(新手)