Hello大家好!我是九哥~
看到群里有小伙伴询问,如何能像CAD似的,将一张大图快速拆分成多个小图,于是呢,就有了今天这篇文章。
简单测试了下,比较容易就实现了,于是呢,赶紧分享给大家,效果大致如下面视频演示的样子:
接下来,我们简单讲下实现逻辑:
一、确定范围框
首先呢,我们需要按照自己的需求,创建一个矩形,然后将其移动到指定的基点,之后我们的操作,都是根据其进行的。
二、阵列范围框
这步比较简单,通过Geometry.Translate节点,即可进行阵列,只需要将连缀改成差积即可。
然后将这个矩形框转换成Boundingbox,这个是剪裁视图的前期准备之一。
三、复制视图
复制视图这里,我简单示意了一下。
(1)根据列表长度,构造了下视图名称
(2)使用Clockwork节点包中的View.DuplicateAsDependent节点,复制相关视图
当然,也可以直接复制,或者带细节复制,Clockwork包里均有相关节点:
注意:这个节点代码有点问题,运行完没有关闭事务,所以最后连一个Transaction.End节点,把没用的事务关掉。
四、剪裁视图
这里我为了方便,简单写了两行代码,同时将视图属性中的剪裁视图、剪裁区域可见、注释剪裁都给勾上了,之后将Boundingbox应用给了视图,就完成了视图剪裁。
涉及的API主要是View.CorpBox属性,可get可set:
完成后代码如下:
最后附上完整截图和代码:
好了,今天的分享就到这里了,小伙伴们快去尝试吧~
领取专属 10元无门槛券
私享最新 技术干货