啊哈!
丁丁,
所以foreach语句使用一个任意赋值,Henrique称之为“a”,因为实际上它是属性,但foreach语句的工作方式是
对于attlist(属性列表)中的每个项目,执行以下功能;
- (setq rt (vla-get-Rotation a))
- (if (and (> rt (/ pi 2.)) (< rt (* pi 1.5)));; and
- (progn
- (setq rt (+ pi rt))
- (vlax-put-property a 'Rotation rt)
简单地说,a=foreach中给出的列表中的每个项目,而不是指定的变量或受保护的符号,
但是,为了得到每个属性的旋转,并将其设置为变量“rt”,然后例程将其转换为弧度或其他值,仍然可以理解最后几行。例程如何知道如何将它们与被修改的块的属性相关联,我不确定,但这似乎就是它的行为方式,并且理解foreach是第1步、第2步或其他什么。还有一些,但进展很好。
谢谢李,
对于列表(1、2、3、4、5)中的每个项目(x/y/z),创建该项目。因此,在所有foreach语句上都是12345,返回最后一个值,即5,这就是为什么它被追加到末尾。
...至少我相信 |