大家好,最近开始学习macro编程,但是手头没有相关的参考书,就照着help做一些test,下面是自己写的一个小
程序,创建一个箱体,然后通过bool运算给它一个开口以出射光。但是选择文件,并在command键入
<LZvG IMl (creat_outbox 1550 2500 750 1450 2400) ,点击执行时出现
,O3"r; *** ERROR *** edit:move: application of non-procedure: #[entity 1 3] 9<[RXY 的错误。而且从tracepro的窗口看,箱体是建立起来了,但是没有移动
0[PPVr: (define creat_outbox
[ "J (lambda (x_width y_length z_height x_out y_out)
X-oou'4< (define outbox (insert:block x_width y_length z_height))
o0s+ roiD (edit:move (outbox) 0 0 130 ) ;help 中语法形式 JZu7Fb]L9
(define outputface (insert:block x_out y_out 10))
b%,5B (edit:move (outputface) 0 0 505) ;help 中语法形式 Jev@IORN\
(define
NqhRJa63 outter (bool:subtract outbox outputface))
a/_sL(F{ ))
"M_X9n_ ;(creat_outbox 1550 2500 750 1450 2400)
@WBy:gV" C"IPCJYn 如果我按照example中“Toroidal_Mirror.scm”的edit:move语句写程序(如下)就可以正确运行,
S:rW}r J (define creat_outbox
y7d)[d*Mz (lambda (x_width y_length z_height x_out y_out)
!p&M,6 (define outbox (insert:block x_width y_length z_height))
L\y,7@1%AT (define outbox (edit:move outbox 0 0 130)) 3iH!;`i
(define outputface (insert:block x_out y_out 10))
,W*<e- (define outputface (edit:move outputface 0 0 505)) <po(7XB
(define
?$-OdABXHK outter (bool:subtract outbox outputface))
n8zUL1:R ))
JWMIZ{/M 1/a*8vuGh 想请教下其中错误的原因 <MvFAuAT Qf>dfJ^q help中edit:move的
实例为
JguE#ob2 ]jY->NsA] 4"l(rg ]>R`]U9*O g[H7. db.iMBki 8.Y6r