文:Devil_1111/32269335常常使用SketchUp的设计师们,往往都忽略了这个软件一个强大的功能——动态组件; 动态组件本质上是由参数控制的组件。他的参数结构很类似Excel表,动态组件就相当于一个组件对应有一个Excel表;利用组件属性,控制组件的大小(长、宽、高)、位置(X、Y、Z)、复制次数、旋转角度等等等等。 这样高大上的工具,快随小吧学习起来吧! 动态组件从SketchUp7.0就已经成为内置的功能了,开启方式如下: 组件属性中数值可以由模型读取,可以自定义,也可以由公式计算得出。 下面以自带的栅栏的动态组件为例进行剖析—— (文字较小请点击图片放大查看) 1 组件列阵-Z轴旋转 相信对建筑有所了解的吧友一定见过下面这个建筑——梦露大厦,而这个梦露大厦的规律也不是那么复杂,椭圆型的平面,逐层旋转(旋转角度稍后告知); 如何利用SketchUp的动态组件功能制作这样的旋转体呢,先探究一下如何制作一个简单的旋转楼梯(只有踏步的楼梯); 【具体步骤】 为了方便观察,我显示了组件的轴(SketchUp的组件属性多数是以组件的轴作为参考的); 2. 打开组件属性面板,选择该组件,并给组件添加三个属性,分别是蓝轴位移 Z,沿蓝轴旋转 RotZ,创建副本 Copies; 注:图中箭头表示两种开启组件属性面板的方式。 3. 具有决定性的函数——创建副本 Copies,意思比较明确,就是创建指定数量的副本(复制一百个分身……) 当然这些副本开始一般是跟原组件同位置,也就是重合,并且每个副本都携带有一个只读的属性[COPY],根据副本的数量,COPY的值依次为1、2、3…… 上图这个就是第17个副本携带的信息; 注:由于创建了多个副本后,会造成计算缓慢,副本与原组件重合难以选择到原组件(组件各项属性的修改应针对原组件,副本只具有继承特性,不能影响原组件及其他副本),等不必要的麻烦,所以开始或大范围修改属性值时,应将Copies的值设置为0; 4. Z为竖向位置,令Z=COPY*h(h为踏步间隔高度),表示竖向阵列,此时就可以创建副本了,设置Copies的值; 表示每个副本依次上升15cm(动态组件默认单位cm);
5. RotZ为沿(绕)蓝轴旋转,令RotZ=COPY*ro(ro为旋转间隔角度); 比较明了,就是每个副本依次旋转20度,与Z的上升效果叠加后就得到图中效果; 6. 然后进入组件中,将内部对象向外侧移动一段距离; 7. 更改Copies的数量,就可以达到开始的效果; 注:Ro后为主要公式,过长的公式建议分解,便于检查错误出处;其中用到 if 函数,作为判定,含义及用法网上有详细解释。
2 组件列阵-Z轴位移 最终效果图 【具体步骤】 1.首先需要一个组件作为阵列的单元,下图是该模型的组件单元(姑且命名为G01,方便描述) 2.组件G01需要在一个群组/组件内(命名为G0),至于为什么非要这样,后面会跟大家解释; 3.打开[组件属性]窗口,给组件G01添加位置属性X,Z,行为属性Copies,以及根据需要添加自定义属性(该模型模拟的是两个正玄函数的叠加,故自定义了4个函数,分别为两个角度值,两个正玄函数值),如下图: 群组G0中的N表示G01复制的总数量(直接控制复制数量的属性为copies),D表示复制出的每两个G01的轴点的间距; 4.接下来就要利用[剖切面]对该模型的上部及下部进行裁剪处理,此处需要两个剖切面,如下: 由于SketchUp在同一个组内不允许同时激活两个及以上的剖切面效果,故需要在群组G0内放置一个剖切面,G0外放置一个剖切面(所以最开始才有了群组G0的需要); 至于为什么不在阵列组件做好之后再创建一个群组/组件将它们包含起来,原因是组件属性都是基于组件/群组的轴进行定义的,后期创建组件难免会产生坐标轴的错位情况,导致组件的属性函数计算出错,模型发生位移、变形等难以预料的情况,后期修改起来比较麻烦。
3 组件列阵-随机旋转 借用【随机选择】插件(SUAPP编号157)教程中的墙体,用SketchUp的动态组件模拟一下。效果如下: 这是一个由多个“多面体”构成的墙体,拆分出其中一个单体制作为一个组件,如下图: 【具体步骤】 1.制作一个基本形体单元,平面为正六边形,顶面突出,底面水平的形体,棱角圆滑用的是【超级推拉】插件(SUAPP编号94)的R近似推拉,也可叫圆角推拉; 2.把这个形体制作为一个组件(组件名称暂定为G,为方便叙述,组件坐标轴位于形体的中心,便于后期用旋转属性时候沿坐标轴旋转,位置可保持不变),将这个组件再编入一个组件G0(后期会用它来添加一个刷新的功能); 3.给组件G添加两个旋转属性RotZ(绕Z轴旋转)、RotY(绕Y轴旋转,可以将背面朝外);以及一个自定义属性R(名称随便起),令其值为一个0~3的随机数,RotZ值为随机数Rx120(效果就是以120°为单位进行随机旋转),RotY值为if(R=3,180,0),意思是:当随机数R=3时,组件绕Y轴旋转180°,背面朝外,否则旋转0°,正面朝外。 4.给组件G0添加一个行为函数——“组件互动”,值为Redraw(),意思是,当使用“组件互动”功能单击组件G0时,刷新该组件及内部组件的值,随机数会刷新,这样可以在随机结果不满意时单击组件,直到满意为止。 5.将组件复制多个,组成一个面; 6.利用组件互动命令单击组件G0,刷新随机数,随即得到结果如下: 7.然后利用这个面可组成意向图中的空间,如下: 8.稍作渲染,就可以啦。 4 动态组件-莫比乌斯环
【具体步骤】 注:右侧为组件属性面板,开启方式为:窗口--组件属性。 注:图中圆心处为开启显示组件坐标轴效果。
注:所有修改一定要在本体组件上进行修改,本体组件有别于其他组件的是,不携带只读属性COPY。
注:修改组件g1的属性RotZ时,出现只有本体做出反应的情况,只需将组件G的属性N改为1,再改回原数值即可。
13.删除两个半椭圆组件的直线部分,得到主要结构线,将48+48个组件复制,并分解为96条曲线; 注:修改边线显示样式为按材质,复制时一定要沿着轴线方向,且输入固定数值,如此多的线段不要指望用抓点移动进行对齐,太费时间。 注:使用多截面放样时,单次不要选取过多曲线,否则…… 选取的第一根、最后一根曲线不参与成面,仅限制曲面边缘曲率。
注:生成的曲面具有原椭圆、逆时针、顺时针3种结构线,从中删除椭圆线的快捷方式是:复制放样时候保留的椭圆线,到该曲面组内进行原位粘贴,紧接着按Delete,多次粘贴+Delete可以删掉大多数椭圆结构线。
公众号对话框回复【动态组件028】 领取教程中使用模型 ☟ 点击【阅读原文】,直接与作者交流心得! |
/1