大家好,最近开始学习macro编程,但是手头没有相关的参考书,就照着help做一些test,下面是自己写的一个小
程序,创建一个箱体,然后通过bool运算给它一个开口以出射光。但是选择文件,并在command键入
L/I-(08!Y: (creat_outbox 1550 2500 750 1450 2400) ,点击执行时出现
x3Uv& *** ERROR *** edit:move: application of non-procedure: #[entity 1 3] p* @L1 的错误。而且从tracepro的窗口看,箱体是建立起来了,但是没有移动
V_* ^2c) (define creat_outbox
z0sB*5VH (lambda (x_width y_length z_height x_out y_out)
A?/?9Gr (define outbox (insert:block x_width y_length z_height))
! bp"pa9 (edit:move (outbox) 0 0 130 ) ;help 中语法形式 UL/>t}AG
(define outputface (insert:block x_out y_out 10))
;
F=_ozWV* (edit:move (outputface) 0 0 505) ;help 中语法形式 $$@Tgkg?o
(define
J*k4&l outter (bool:subtract outbox outputface))
>@" j9 ))
O 2U/zF:X ;(creat_outbox 1550 2500 750 1450 2400)
(`xc3-, SxDE3A-: 如果我按照example中“Toroidal_Mirror.scm”的edit:move语句写程序(如下)就可以正确运行,
yl}Hr* (define creat_outbox
N+\*:$>zt6 (lambda (x_width y_length z_height x_out y_out)
9M<? *8) (define outbox (insert:block x_width y_length z_height))
|j,Mof (define outbox (edit:move outbox 0 0 130)) / @&Sqv4?
(define outputface (insert:block x_out y_out 10))
c nzPq\ (define outputface (edit:move outputface 0 0 505))
-AX3Rnv^!
(define
|Xag:hof outter (bool:subtract outbox outputface))
?P5D!b:( ))
X'c5s~9 { at;
U@o 想请教下其中错误的原因 II91Ia B:4u2/!5 help中edit:move的
实例为
n>HN py 4v>V7T. _KFKx3<m! Z9U*SS5s, =N=,;<6%A `G'V9Xs( Bg`b*(Q