大家好,最近开始学习macro编程,但是手头没有相关的参考书,就照着help做一些test,下面是自己写的一个小
程序,创建一个箱体,然后通过bool运算给它一个开口以出射光。但是选择文件,并在command键入
x~(y "^ph (creat_outbox 1550 2500 750 1450 2400) ,点击执行时出现
0%;MVMH *** ERROR *** edit:move: application of non-procedure: #[entity 1 3] ;(`e^IVf 的错误。而且从tracepro的窗口看,箱体是建立起来了,但是没有移动
u2,H ]- (define creat_outbox
]c,l5u}A$ (lambda (x_width y_length z_height x_out y_out)
V
Qh/ (define outbox (insert:block x_width y_length z_height))
pg5&= (edit:move (outbox) 0 0 130 ) ;help 中语法形式 eEie?#Z/6
(define outputface (insert:block x_out y_out 10))
q-uLA&4 (edit:move (outputface) 0 0 505) ;help 中语法形式 *s36OF!
(define
b\M b*o outter (bool:subtract outbox outputface))
HYFN?~G ))
#rq?f ;(creat_outbox 1550 2500 750 1450 2400)
,N;v~D$Y U_}hfLILi 如果我按照example中“Toroidal_Mirror.scm”的edit:move语句写程序(如下)就可以正确运行,
"_oLe;?$c (define creat_outbox
nO}$ 76*'0 (lambda (x_width y_length z_height x_out y_out)
JQH7ZaN (define outbox (insert:block x_width y_length z_height))
QP<FCmt8 (define outbox (edit:move outbox 0 0 130)) r?]%d!
(define outputface (insert:block x_out y_out 10))
U>1b9G"_ (define outputface (edit:move outputface 0 0 505)) {)uU6z
{'
(define
/6smVz@O outter (bool:subtract outbox outputface))
t@r#b67WJe ))
+qZc}
7rJF PgTDjEo 想请教下其中错误的原因 n8Q*
_?Z/ m/KjJ"s, help中edit:move的
实例为
_Z0\`kba+ 'me:Zd 0hb/`[Q
?|)rv )L|C'dJ<k` G6<HO7\ Qz# 3p3N?