大家好,最近开始学习macro编程,但是手头没有相关的参考书,就照着help做一些test,下面是自己写的一个小
程序,创建一个箱体,然后通过bool运算给它一个开口以出射光。但是选择文件,并在command键入
lW&glU( (creat_outbox 1550 2500 750 1450 2400) ,点击执行时出现
wrsETB
c *** ERROR *** edit:move: application of non-procedure: #[entity 1 3] 7F?^gMi 的错误。而且从tracepro的窗口看,箱体是建立起来了,但是没有移动
RWA|%/L (define creat_outbox
jy@}$g{ (lambda (x_width y_length z_height x_out y_out)
7-e)V{A`w (define outbox (insert:block x_width y_length z_height))
6mdJ
=b# (edit:move (outbox) 0 0 130 ) ;help 中语法形式 5bmtUIj
(define outputface (insert:block x_out y_out 10))
[4xN:i (edit:move (outputface) 0 0 505) ;help 中语法形式 Y<#7E;aL
(define
a3Es7R+S outter (bool:subtract outbox outputface))
`j=CzZ*em? ))
`34[w=Zm ;(creat_outbox 1550 2500 750 1450 2400)
m/Yi;>I( D>*%zz| 如果我按照example中“Toroidal_Mirror.scm”的edit:move语句写程序(如下)就可以正确运行,
y
L&n) (define creat_outbox
vn}Vb+@R (lambda (x_width y_length z_height x_out y_out)
HEe0dqG (define outbox (insert:block x_width y_length z_height))
SCxzT}#J (define outbox (edit:move outbox 0 0 130)) {2Gp+&
(define outputface (insert:block x_out y_out 10))
@gX@mT" (define outputface (edit:move outputface 0 0 505)) RSmxwx^
(define
-ZihEyG?V outter (bool:subtract outbox outputface))
,PN>,hFL ))
%_tL}m{? AS;{O>}54 想请教下其中错误的原因 &Vgjd> 8-8=
\ help中edit:move的
实例为
-JwH^*Ad M;Vx[s,#, Vi#(x9. yY_]YeeR QT%&vq O4$:
xjs wRie{Vk