本文源自微信公众号:熊孩子出没 作者 梅川新一夫
目的
柜子、台面都制作完成了,剩下不用说也知道要做挡水条了。毕竟,做动态组件想偷的懒就是如何快速的完成一个橱柜设计。
一、结构分析
重要提示:这是一个看来简单,结果多次翻车,最后发现比柜子还要复杂的东西!!!
一开始认为挡水条就是一个厚20mm,高45mm左右的长条。但画出来之后发现根本不是那么回事儿,第一眼看上去就不象回事儿。去比对了一下家里橱柜上的实物后发现,这东西还真不简单。
首先,这是一个一边有圆弧形的长条,如下图所示。
这就决定了组件是有使用方向的,同时圆弧是有大小的,这个部分需要实现动态设置,好象难度有所提升了,毕竟会出现厚度、高度变化,但是圆弧大小不变化的情况,也可能会出现厚度、高度不变,但是圆弧加大的情况。
最开始设想是将挡水条纵剖面分成三个部分:两个矩形加一个1/4圆弧扇形。
子曾经曰过:解决了一个问题就会出现另外一个问题。果然,解决了厚度、高度、弧度变化后,第二个问题来了,挡水条并不都是平头的,可能会有内接、外接两种形态。
也就是说,一个挡水条,每一端有三种形态:平头、内接45°、外接45°。
对于平头形态下,上述划分不是啥问题,但是内接、外接两种,就只是考虑45°角接一种角度,这划分就不能满足动态了。
于是,经过各种尝试后,隆重推出如下模块组合形式:
这是两端全部内接45°角情况,再考虑到两端外接45°角,还需要再补充6个模块。所以共计是15个模块。
说明:之所以没有考虑将两端的45°斜角,采取旋转、偏移的方式进行公用,以减少模块数目,是因为经过测试后发现,经多次旋转回位后的尺寸会有偏差,猜想可能是因为计算过程中的四舍五入造成的。所以就每种模式下单独设计模块,只是在不需要的时候将模块隐藏。
二、制作过程
2.1 绘制模块
按下面两端内接45°角分解图,分别绘制出各个模块,并按图中命名分别建立群组:
然后再补充画出外接45°角模块,并按图中名称建立群组:
各个模块的原点都以最靠近三轴原点的角部顶点为原点。如果绘制后发现位置不对,请使用坐标轴功能进行原点位置调整。
将上述所有模块组成群组,命名为“挡水条”。
以“挡水条”群组创建组件。
2.2 添加属性
为挡水条动态组件添加如下属性:
并参照下图,设置属性:
说明:本示例中将组件改名为“DST”,没有使用缺省的“挡水条”,主要目的是为了在后续函数引用参数时,可以不使用括号,减少输入。如果引用参数中有中文,则必须用括号括起来,否则会报错。
2.3 编写函数
为模块添加属性,并按如图编写函数:
函数解释:
①针对各模块,设置其出现位置及相应长度。
②使用行为函数Hidden,对该模块在当前选项下是否显示进行设置。例如上述语句“=CHOOSE(DST!z02ZuoJiao,TRUE,FALSE,TRUE)”表示对于左侧形态选择为“内45°接角”时,则显示该模块。
③Hidden函数当返回值为FALSE时,则显示当前模块,为TRUE则隐藏当前模块。
④CHOOSE函数以第一个参数的返回值作为索引值,从第二个参数开始,按索引顺序进行引用。上述语句中,DST!z02ZuoJiao共计有三个选项,分别为“平头、内45°接角、外45°接角”,对应返回值则分别为“1、2、3”。当选中“内45°接角”时,返回值为2。CHOOSE函数则按该参数返回值,选择参数FALSE作为函数返回值,即FALSE。
其它模块函数见各自图中设置:
评论前必须登录!
注册