欢迎来到天天文库
浏览记录
ID:60758757
大小:698.50 KB
页数:16页
时间:2020-12-14
《动态组件制作-地板.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、在这篇文章里,我们一起来学习如何制作一个动态的地板。这次我们将用到Floor和Ceiling两个函数,但是请注意,这里的函数FLOOR及函数CEILING与模型中的Floor(地板)没有任何关系。SketchUP7动态组件中所用到的函数是通用的,如果想了解更多函数的具体功能及讲解,可打开MicrosoftOfficeExcel的帮助文档进行查阅。1,目标通过缩放后,组件能够自动生成下图所示的效果。 2,制作准备要实现这样的效果,所需要的组件材料其实非常简单,不像上面我们制作的篱笆。这里其实只需要一个小方块Tile。
2、然后再通过函数控制,把小方块进行阵列组合成地板Floor就可以了。 创建一个名称为Floor的组件。 双击进入组件Floor,全选,继续再创建一个名称为Tile的组件。 查看已经建好的组件的属性,我们能够看到刚才创建的两层组件的属性。3,为组件配置属性首先分析,将如何来实现一个Tile成行成列的组成一片地板呢,他们各自需要什么样的属性呢?地板Floor:位置不用考虑了,这个地板组件应该是可以任意移动的,默认的就是可变数据,因此不用列出 大小将会是可调整的并且会被地板砖Tile控制厚度,可要可不
3、要。这里加上,但不予调整。 (自定义)行数地板砖由几行组成columns (自定义)列数地板砖由几列组成rows (自定义)地砖尺寸TileSize 行数与列数我们暂且留空,后面需要用数学表达式来控制其数值我们把地板砖的尺寸值定义为60,这个是不带单位的,只是一个普通的自然数值。 地板砖Tile的属性配置 位置每个地板砖的相对坐标 大小前面已经在Floor中定义过了,这里直接把定义好的数值取过来就可以了。
4、 LenXLenY的值分别定义为=Floor!TileSize这样计算的结果就是,Tile的尺寸是60cmX60cm的正方形。 在缩放过程中,我们希望地板砖的厚度是不变的。因此Z轴控制为6cm Tile的大小属性配置完毕 现在再回头看Floor里刚才定义的行数与列数,就可以通过数学表达式来控制了=CEILING(LenX/TileSize)CEILING的涵义是将后面的数值向上取整数,比如CEILING(2.3)=3LenX/TileSize的意思是地板被拖拉的长度除以地板砖的尺寸(60)
5、同理定义列数 在这个组件中,地板砖Tile存在一个复制的动作,添加Copies行为=Floor!rows*Floor!columns-1从地板的参数中取出行数乘以列数由于之间已经存在一块原始地板砖,因此在这个数值的基础上要减掉1,就得到了需要复制的块数。 这时选取组件,得到右边所示的属性列表。现在需要对地板砖Tile的位置进行控制。 要控制地板砖的位置坐标,我们需要再添加两个自定义函数myColumn 某块地板砖位于第几行myRow 某块地板砖位于第几列先来定义myRow=Floor(COPY/Floor
6、!columns)函数FLOOR的涵义是对其后面的数值向下取整数。FlOOR(2.6)=2 利用已经定义的myRow函数,来定义myColumn的表达式=COPY-(myRow*Floor!columns) 利用上面定义完的myRow,myColumn,就可以定义某块Tile的位置坐标了。X=myColumn*floor!tilesizeY=myRow*floor!tilesize至此,所有的属性配置完毕。 拉伸测试,成功!观察右边的属性列表,可以看到相关的参数变化。
此文档下载收益归作者所有