大家好,
只是尝试将点列表传递给“pline”命令。
问题是,虽然在例程中计算,但点数最初是未知的。
以下代码(以smth开头)进化出已知数量的点。
- (defun c:pltest6 ()
- (setq pts (list '(0 0) '(0 10) '(10 10) '(10 20) '(20 20) '(20 30) '(30 30)))
- (setq ptqty 7)
- (setq ptnum 0)
- (command "pline"
- (car pts)
- (pt_retr pts)
- (pt_retr pts)
- (pt_retr pts)
- (pt_retr pts)
- (pt_retr pts)
- (pt_retr pts)
- ""
- )
- )
- (defun pt_retr (lst)
- (setq ptnum (1+ ptnum))
- (repeat ptnum
- (setq lst (cdr lst))
- )
- (setq pt (car lst))
- )
Repeat/foreach不执行,因为它们返回上一次迭代的值。。
现在我的Q是,
是否可以修改上述代码以使用循环,而不是重复同一行(此外,次数未知),
或者其他更愿意修复任务的方法?
提前感谢您,
Dmitro公司 |