【案例百解】Dynamo按分區(qū)索引切分視圖
????????Hello大家好!我是九哥~
????????看到群里有小伙伴詢問,如何能像CAD似的,將一張大圖快速拆分成多個小圖,于是呢,就有了今天這篇文章。

????????簡單測試了下,比較容易就實現(xiàn)了,于是呢,趕緊分享給大家,效果大致如下面視頻演示的樣子:

一、確定范圍框
????????首先呢,我們需要按照自己的需求,創(chuàng)建一個矩形,然后將其移動到指定的基點,之后我們的操作,都是根據(jù)其進(jìn)行的。

二、陣列范圍框
????????這步比較簡單,通過Geometry.Translate節(jié)點,即可進(jìn)行陣列,只需要將連綴改成差積即可。

????????然后將這個矩形框轉(zhuǎn)換成Boundingbox,這個是剪裁視圖的前期準(zhǔn)備之一。

三、復(fù)制視圖
????????復(fù)制視圖這里,我簡單示意了一下。
(1)根據(jù)列表長度,構(gòu)造了下視圖名稱
(2)使用Clockwork節(jié)點包中的View.DuplicateAsDependent節(jié)點,復(fù)制相關(guān)視圖

????????當(dāng)然,也可以直接復(fù)制,或者帶細(xì)節(jié)復(fù)制,Clockwork包里均有相關(guān)節(jié)點:

????????注意:這個節(jié)點代碼有點問題,運行完沒有關(guān)閉事務(wù),所以最后連一個Transaction.End節(jié)點,把沒用的事務(wù)關(guān)掉。
四、剪裁視圖
????????這里我為了方便,簡單寫了兩行代碼,同時將視圖屬性中的剪裁視圖、剪裁區(qū)域可見、注釋剪裁都給勾上了,之后將Boundingbox應(yīng)用給了視圖,就完成了視圖剪裁。

????????涉及的API主要是View.CorpBox
屬性,可get可set:

完成后代碼如下:

最后附上完整截圖和代碼:


好了,今天的分享就到這里了,小伙伴們快去嘗試吧~