|
2,制作准备
首先制作出一个篱笆所需要的几个基本构件,分别制作出了桩、竖向杆件、纵向杆件共四个构件。制作完成后,把每个构建制作成组件,注意,不是群组,只有组件才能具有相应的属性,而群组没有。
要给每个组件起不同的名字,如上图所示,我们给这四个组件分别命名为 Psot,Picket,TopRail,BottomRail。
最后全选所有的组件,再整个定义为一个组件,并命名为Fence。
3,为组件配置属性
调出如图所示的按钮,在选中Fence组件的情况下点击红圈内的按钮,查看组件属性。
这就是组件属性的对话框,可以看到,该表已经列出了我们刚才所做组件的名称,但是展开组件名称,并没有相关的参数。因此,我们要根据实际需要来添加这些组件的参数。在本例中,主要是位置、大小(尺寸)两项。
点击+号后,软件会自动提示对话框,直接点选即可。
点选添加位置属性后,再添加大小(尺寸)属性。
以此类推,重复此步骤,为每个组件都添加这两项属性。
请注意,每个属性后面的数字代表着你建立组件的现状情况,即每个组件的坐标,x,y,z方向的具体尺寸。
目前这些数字的颜色是灰色的,表示这些参数是可调整的,当你缩放组件时,这些灰色的数字会随之变化。
4,通过函数控制属性
这一步开始就比较重要了,仔细看好。
可能有相当一部分人看到函数两个字就头疼,但是这里需要我们掌握的函数是相当的简单,类似于加减乘除的道理,很好理解,继续:
因为我们通常会希望篱笆变长(沿X轴方向)、变高(沿Z轴方向),而不是变厚(沿Y轴方向)。所以我们对Y轴上的参数进行限制。
在本例中,LenY 项的原参数是10cm,这代表篱笆的厚度是10cm。现在要做的是:把10cm删掉,填写 =10,然后按TAB键确认改动。
请注意,这时10cm 就显示为纯黑色了。这就代表,篱笆的整体厚度,Y轴方向的尺寸被限定住了,有兴趣的话这时就可以自己沿Y轴缩放一下试试。
接下来要分别定义每个构件的参数属性了,比如篱笆桩,在任何情况下,我们都希望它的尺寸是固定的,因此要在每个参数前加上"="。注意这时数字后不要带单位。
同样的要定义TopRail和BottomRail的参数属性,但这里有些不一样,要想实现我们一开始提到的效果,这两个构件的X轴的尺寸应该是可变的。
到这一步,就可以再测试一下了,拉伸组件,我们发现只有横向的杆件被拉伸了,其他的构件尺寸都没有任何变化^-^
不过也先别急着高兴,下面还有更重要的:纵向杆件(Picket)的重复。
首先在Fence组件属性的后面添加一个自定义的参数。即重复间隔,我们命名为spacing。
后面的值我们定义为2。(图中所示为20,间距过大,后根据实际情况调整为2合适)
在Picket的属性栏里添加一项行为属性 Copies。表示该组件允许被复制,Copies后跟的数值是指被复制的个数。
那么,应该怎样表达出这个被复制的个数呢?
这里我们提供了一行公式来表达这个数字
=(TopRail!LenX)/(Picket!LenX+Fence!spacing)-1
= 意味着后面的数字是被(公式)控制的
后面的一段实际上就是一段普通的数学表达式
翻译为
TopRail的X长度 除以 (Picket的X长度+刚才定义的间距) -1
这样应该就明白了,长度 除以 等分距离 再减掉一根。就是Picket所应存在的根数了
除了限制Picket存在的根数,Picket被复制后,它的位置也有了变化。这里只有在X轴上,Picket的位置才有变化,所以我们要为X轴的位置参数写一段数学表达式:
=12+COPY*(Fence!spacing+LenX)
如果明白了上面公式的含义,这段公式应该也很容易理解。
(值得一提的是:在整体组件Fence的属性中,位置参数是相对与Su的世界坐标系,而Fence中的分组件Picket等,坐标系都是相对值)
5,调试完成
至此,我们的动态组件(篱笆)就完成了,看看是否达到了预期效果?
大功告成了^-^ |
赞赏
-
3
查看全部评分
-
|