repeat错在了哪里?(已解决 nn必须为整数)
本帖最后由 bzhyong 于 2017-12-9 09:24 编辑如下,while可以实现这个功能,但是repeat命令就显示数据类型错误?
这是为什么呢?虽然我现在已经用while实现了同样的功能,仍然想求高手指导为何repeat不行
代码功能是选择两个圆弧。把两个圆弧都均分n分,然后用n个直线相连。
(defun c:chul1()
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(setq en1 (entsel "选择第一个圆弧:"))
(setq en2 (entsel "选择第二个圆弧:"))
(setq en1_data (entget (car en1)));获得第一个圆弧串行
(setq en2_data (entget (car en2)));获得第二个圆弧串行
(setq rr (getint "\n输入等分数量<150>"))
(if (null rr) (setq rr 150.0))
(setq rr1 (cdr (assoc 40 en1_data)));获得第一个圆弧半径
(setq rr2 (cdr (assoc 40 en2_data)));获得第二个圆弧半径
(setq ang1 (cdr (assoc 50 en1_data)));获得第一个圆弧起始角度
(setq ang2 (cdr (assoc 50 en2_data)));获得第二个圆弧起始角度
(setq ang3 (cdr (assoc 51 en1_data)));获得第一个圆弧终止角度
(setq ang4 (cdr (assoc 51 en2_data)));获得第二个圆弧终止角度
(setq ang5 (/ (- ang3 ang1) rr))
(setq ang6 (/ (- ang4 ang2) rr))
(setq l1 (* 2 (* rr1 (sin (/ 2 (* 180 (/ ang5 pi)))))))
(setq l2 (* 2 (* rr2 (sin (/ 2 (* 180 (/ ang6 pi)))))))
(setq pto1 (cdr (assoc 10 en1_data)));获得第一个圆弧圆心坐标
(setq pto2 (cdr (assoc 10 en2_data)));获得第二个圆弧圆心坐标
(setq en1_1 (polar pto1 ang1 rr1));获得第一个圆弧起点坐标
(setq en2_1 (polar pto2 ang2 rr2));获得第二个圆弧起点坐标
(command "line" en1_1 en2_1 "")
;;;(setq en1_2 (polar pto1 (+ ang1 ang5) rr1));测试
;;;(setq en2_2 (polar pto2 (+ ang2 ang6) rr2))
;;;(command "line" en1_2 en2_2 "")
(setq ang1_x ang1)
(setq ang2_x ang2)
(setq en1_x en1_1)
(setq en2_x en2_1)
(setq snum -1)
(while (< snum rr)
(setq en1_x (polar pto1 ang1_x rr1))
(setq en2_x (polar pto2 ang2_x rr2))
(command "line" en1_x en2_x "")
(setq ang1_x (+ ang1_x ang5))
(setq ang2_x (+ ang2_x ang6))
(setq snum (1+ snum)
)
)
;(repeat rr
; (setq en1_x (polar pto1 ang1_x rr1))
;(setq en2_x (polar pto2 ang2_x rr2))
;(command "line" en1_x en2_x "")
;(setq ang1_x (+ ang1_x ang5))
;(setq ang2_x (+ ang2_x ang6))
; )
(princ)
)
(prompt "\n <<chul1>>")
(prin1)
repeat 变量要的是正整数 你要的好像是这个功能吧??? (setq rr 150) 骑着蜗牛旅行666 发表于 2017-12-8 18:45
你要的好像是这个功能吧???
就是这个功能 wen1235 发表于 2017-12-8 16:26
repeat 变量要的是正整数
多谢!测试了一下,的确是如此 evayleung 发表于 2017-12-9 00:42
(setq rr 150)
多谢高手!多了一个0就没办法运行了。的确是他的问题 骑着蜗牛旅行666 发表于 2017-12-8 18:45
你要的好像是这个功能吧???
你是用的什么工具呢
页:
[1]