目的
制作一個(gè)可以使用參數(shù)調(diào)整柜體大小、門板數(shù)量的柜體。
一、結(jié)構(gòu)分析
1.1柜體主要組成模塊
柜體主要由“側(cè)板、底板、背板、頂板、門板”五種模塊組成,其中側(cè)板又分為左側(cè)板、右側(cè)板,門板根據(jù)設(shè)計(jì)要求有不同數(shù)量。
除此之外,還會(huì)有上橫梁、擱板、立板等模塊,本次制作中暫時(shí)不考慮。實(shí)際使用中可在創(chuàng)建柜體之后,再逐步添加。
1.2柜體模塊位置關(guān)系
柜體中各模塊位置關(guān)系如下:
①門板浮出;
②左右側(cè)板夾底板、背板、頂板;
③底板托背板,頂板貼背板。
二、制圖過程
2.1確定柜體制作原點(diǎn)
為方便制作及使用,規(guī)定以面向柜體時(shí)后側(cè)左下角為坐標(biāo)原點(diǎn)(0,0,0)。主要是考慮柜體存在有無門板及門板厚度變化等影響因素,減少柜門的影響,便于后期操作。
2.2創(chuàng)建柜體組成模塊
按照柜體各組成模塊位置關(guān)系,分別畫出各組成模塊群組,并對(duì)各模塊命名以方便后續(xù)使用。
注意:各模塊統(tǒng)一以靠近原點(diǎn)的頂點(diǎn)作為模塊原點(diǎn)進(jìn)行繪制,可以降低在后期動(dòng)態(tài)組件函數(shù)編寫時(shí)的困難。
繪制時(shí)位置不需要特別準(zhǔn)確,只需要放到相對(duì)位置,以供動(dòng)態(tài)組件函數(shù)編寫參考。
側(cè)板左
側(cè)板右
底板
背板
頂板
門板
2.3組合創(chuàng)建動(dòng)態(tài)組件
將上述模塊建立群組,命名為“多門柜”
以多門柜群組創(chuàng)建組件
2.4動(dòng)態(tài)組件添加屬性
為多門柜動(dòng)態(tài)組件添加屬性如下圖
參照下圖設(shè)置各屬性
2.5編寫動(dòng)態(tài)組件函數(shù)
對(duì)于多門柜動(dòng)態(tài)組件中門板之外的模塊,只需要為各模塊分別設(shè)置模塊的原點(diǎn)位置及各個(gè)方向上的尺寸,即可實(shí)現(xiàn)動(dòng)態(tài)組件效果。以下以底板為例,其它請(qǐng)自行參考。
2.5.1底頂背側(cè)模塊屬性設(shè)置函數(shù)
為底板添加全部位置屬性和尺寸屬性,并按圖中進(jìn)行函數(shù)設(shè)置。
函數(shù)解釋:
①底板的原點(diǎn)X位置與多門柜原點(diǎn)位置重合,公式為“=多門柜!X”;
②底板的原點(diǎn)Y位置相對(duì)于多門柜原點(diǎn)位置,偏移了一個(gè)側(cè)板厚,公式為“=多門柜!Y+多門柜!BanHouGui”;
③底板的原點(diǎn)Z位置與多門柜原點(diǎn)位置重合,公式為“=多門柜!Z”;
④底板X軸長(zhǎng)度需要在多門柜X軸長(zhǎng)度上減去門板的厚度,公式為“=多門柜!LenX-(多門柜!BanHouMen)”;
⑤底板Y軸長(zhǎng)度需要在多門柜Y軸長(zhǎng)度上減去左側(cè)板和右側(cè)板的厚度,公式為“=多門柜!LenY-(多門柜!BanHouGui)-(多門柜!BanHouGui)”;
⑥底板Z軸長(zhǎng)度即板的厚度,公式為“=多門柜!BanHouGui”。
說明:參與運(yùn)算的自定義屬性,開始的時(shí)候一直報(bào)錯(cuò),在都用括號(hào)括起來使用后,就不報(bào)錯(cuò)了。至于為什么會(huì)出錯(cuò),搞不清楚。
參照底板的原點(diǎn)及各軸長(zhǎng)度定義,依次編寫函數(shù)。
2.5.2門板根據(jù)數(shù)量調(diào)整寬度函數(shù)
為門板額外添加行為屬性“Copies”,設(shè)置該屬性函數(shù)為“=多門柜!MenBanShu-1”
函數(shù)解釋:
這個(gè)函數(shù)的意思是門板按門板數(shù)量的設(shè)置進(jìn)行復(fù)制,因?yàn)樽畛蹙陀幸粋(gè)門板了,所以復(fù)制份數(shù)比門板數(shù)量要減1。
搞定了門板復(fù)制數(shù)量后,再確定每份復(fù)制的位置就可以了。
因?yàn)殚T板復(fù)制是在Y軸上進(jìn)行,所以只需要調(diào)整Y軸的函數(shù)為“=多門柜!Y+(多門柜!MenBanFengBian)+copy*((多門柜!LenY-(多門柜!MenBanFengBian)-(多門柜!MenBanFengBian)-(多門柜!MenBanFengJian)*((多門柜!MenBanShu)-1))/(多門柜!MenBanShu)+(多門柜!MenBanFengJian))”
函數(shù)解釋:
①多門柜!Y+(多門柜!MenBanFengBian):表示由多門柜Y軸起點(diǎn)計(jì)算,首先偏移一個(gè)門板邊縫的距離;
②copy()函數(shù)中那一長(zhǎng)段表示每份復(fù)制品需要偏移的距離為門板寬度+門板間縫,其中“(多門柜!LenY-(多門柜!MenBanFengBian)-(多門柜!MenBanFengBian)-(多門柜!MenBanFengJian)*((多門柜!MenBanShu)-1))/(多門柜!MenBanShu)”這一段是計(jì)算不同門板數(shù)量下,每扇門板的寬度。
三、效果展示