大家好,最近开始学习macro编程,但是手头没有相关的参考书,就照着help做一些test,下面是自己写的一个小
程序,创建一个箱体,然后通过bool运算给它一个开口以出射光。但是选择文件,并在command键入
N'8u}WO (creat_outbox 1550 2500 750 1450 2400) ,点击执行时出现
OVo3. *** ERROR *** edit:move: application of non-procedure: #[entity 1 3] +4N7 _Y 的错误。而且从tracepro的窗口看,箱体是建立起来了,但是没有移动
0I`)<o- (define creat_outbox
VDyQv^=# (lambda (x_width y_length z_height x_out y_out)
#}8l9[Q|M (define outbox (insert:block x_width y_length z_height))
v*.[O/,EBR (edit:move (outbox) 0 0 130 ) ;help 中语法形式 ~`uEZ
(define outputface (insert:block x_out y_out 10))
RWe$ZZSz! (edit:move (outputface) 0 0 505) ;help 中语法形式 7<T1#~w4L
(define
=Ts3O0"[ outter (bool:subtract outbox outputface))
cILI%W1 ))
j;GH|22 ;(creat_outbox 1550 2500 750 1450 2400)
x'4q`xDa iB]xYfQ&@V 如果我按照example中“Toroidal_Mirror.scm”的edit:move语句写程序(如下)就可以正确运行,
LkUYh3 (define creat_outbox
!R;NV|.eI6 (lambda (x_width y_length z_height x_out y_out)
]WsQ= (define outbox (insert:block x_width y_length z_height))
*[P"2b# (define outbox (edit:move outbox 0 0 130)) bc?\lD$$
(define outputface (insert:block x_out y_out 10))
y&-1SP< (define outputface (edit:move outputface 0 0 505)) YKUb'D:t]
(define
'@ $L}C#OI outter (bool:subtract outbox outputface))
X\-IAv ))
H'Oy._,]t a'[Ah2}3r< 想请教下其中错误的原因 <Va7XX%> O ;34~k
help中edit:move的
实例为
/tG0"1{
_i/x4,=xv va`/Dp)M uPmK:9]3R zF)&o} D?Mj<|| l"{1v~I