大家好,最近开始学习macro编程,但是手头没有相关的参考书,就照着help做一些test,下面是自己写的一个小程序,创建一个箱体,然后通过bool运算给它一个开口以出射光。但是选择文件,并在command键入 Cv*K.T
(creat_outbox 1550 2500 750 1450 2400) ,点击执行时出现 [Ne'2z
*** ERROR *** edit:move: application of non-procedure: #[entity 1 3] 8s[1-l
的错误。而且从tracepro的窗口看,箱体是建立起来了,但是没有移动 v*As:;D_
(define creat_outbox ~>0H
k}Hv
(lambda (x_width y_length z_height x_out y_out) ){eQ.yW
(define outbox (insert:block x_width y_length z_height)) BOy&3.h5?
(edit:move (outbox) 0 0 130 ) ;help 中语法形式 2cGiE{
(define outputface (insert:block x_out y_out 10)) 9O Y ao
(edit:move (outputface) 0 0 505) ;help 中语法形式 OkT@ _U
(define {%y|A{}c
outter (bool:subtract outbox outputface)) uT<<G)v)
)) 0sme0"Sl
;(creat_outbox 1550 2500 750 1450 2400) n6Z!~W8
*W,[k&;:
如果我按照example中“Toroidal_Mirror.scm”的edit:move语句写程序(如下)就可以正确运行, ^f"|<r
(define creat_outbox gsa@ci
(lambda (x_width y_length z_height x_out y_out) dmLx $8
(define outbox (insert:block x_width y_length z_height)) k:@N6K/$P^
(define outbox (edit:move outbox 0 0 130)) 6zNWDUf
(define outputface (insert:block x_out y_out 10)) O?A%
(define outputface (edit:move outputface 0 0 505)) E
GZiWBr
(define gLZJQubz
6
outter (bool:subtract outbox outputface)) vo&h6'i>7
)) >w.%KVBJ
3=Rk(%:;
想请教下其中错误的原因 \M0's&