动态组件制作-地板.docxVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
可编辑文档 PAGE 页码页码/NUMPAGES 总页数总页数 在这篇文章里,我们一起来学习如何制作一个动态的地板。.这次我们将用到Floor和Ceiling两个函数,但是请注意,这里的函数FLOOR及函数CEILING与模型中的Floor(地板)没有任何关系。. SketchUP7动态组件中所用到的函数是通用的,如果想了解更多函数的具体功能及讲解,可打开Microsoft Office Excel的帮助文档进行查阅。. 1,目标 通过缩放后,组件能够自动生成下图所示的效果。.? ? 2,制作准备 要实现这样的效果,所需要的组件材料其实非常简单,不像上面我们制作的篱笆。. 这里其实只需要一个小方块Tile。.然后再通过函数控制,把小方块进行阵列组合成地板Floor就可以了。.? ? 创建一个名称为 Floor的组件。.? ? 双击进入组件Floor,全选,继续再创建一个名称为Tile的组件。.? ? 查看已经建好的组件的属性,我们能够看到刚才创建的两层组件的属性。. 3,为组件配置属性 首先分析,将如何来实现一个Tile成行成列的组成一片地板呢,他们各自需要什么样的属性呢? 地板Floor:位置不用考虑了,这个地板组件应该是可以任意移动的,默认的就是可变数据,因此不用列出 ?????????? 大小将会是可调整的并且会被地板砖Tile控制厚度,可要可不要。.这里加上,但不予调整。. ?????????? (自定义)行数 地板砖由几行组成 columns ?????????? (自定义)列数 地板砖由几列组成 rows ?????????? (自定义)地砖尺寸 TileSize? ? 行数与列数我们暂且留空,后面需要用数学表达式来控制其数值 我们把地板砖的尺寸值定义为60,这个是不带单位的,只是一个普通的自然数值。.? ? 地板砖Tile的属性配置 ????????????位置 每个地板砖的相对坐标 ????????????大小 前面已经在Floor中定义过了,这里直接把定义好的数值取过来就可以了。. ???????????????? LenX LenY 的值分别定义为 =Floor!TileSize 这样计算的结果就是,Tile的尺寸是60cmX60cm的正方形。.? ? 在缩放过程中,我们希望地板砖的厚度是不变的。.因此Z轴控制为 6cm? ? Tile的大小属性配置完毕? ? 现在再回头看Floor里刚才定义的行数与列数,就可以通过数学表达式来控制了 =CEILING(LenX/TileSize) CEILING 的涵义是 将后面的数值向上取整数,比如 CEILING(2.3)=3 LenX/TileSize 的意思是 地板被拖拉的长度 除以 地板砖的尺寸(60)? ? 同理定义 列数? 在这个组件中,地板砖Tile存在一个复制的动作,添加Copies行为 =Floor!rows*Floor!columns-1 从地板的参数中取出 行数乘以列数 由于之间已经存在一块原始地板砖,因此在这个数值的基础上要减掉1,就得到了需要复制的块数。.? ? 这时选取组件,得到右边所示的属性列表。. 现在需要对地板砖Tile的位置进行控制。.? ? 要控制地板砖的位置坐标,我们需要再添加两个自定义函数 myColumn??某块地板砖位于第几行 myRow???? 某块地板砖位于第几列 先来定义myRow =Floor(COPY/Floor!columns) 函数FLOOR的涵义是 对其后面的数值向下取整数。.FlOOR(2.6)=2? ? 利用已经定义的myRow函数,来定义myColumn的表达式 =COPY-(myRow*Floor!columns)? ? 利用上面定义完的myRow,myColumn,就可以定义某块Tile的位置坐标了。. X =myColumn*floor!tilesize Y =myRow*floor!tilesize 至此,所有的属性配置完毕。.? ? 拉伸测试,成功! 观察右边的属性列表,可以看到相关的参数变化。. (精选文档,可编辑word,整理文档不易,建议收藏) (精选文档,可编辑word,整理文档不易,建议收藏) (精选文档,可编辑word,整理文档不易,建议收藏) (精选文档,可编辑word,整理文档不易,建议收藏) (精选文档,可编辑word,整理文档不易,建议收藏) (精选文档,可编辑word,整理文档不易,建议收藏) (精选文档,可编辑word,整理文档不易,建议

文档评论(0)

159****0526 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档