今天,我们来分享几个简单的代码块,分别是隔离、移动、旋转和删除图元,都是比较简单的代码,可以通过简单的查询API得到我们所需的方法,当然这些操作Dynamo里都有现成的节点,我们主要是为了练习。
一、隔离墙
隔离比较复杂,我们就先以隔离墙为例,简单学习一下这个方法。
首先,我们查询API手册,里面有关于隔离的方法,我们查询Isolae,可以得到View.IsolateCategoriesTemporary Method这个方法,是隔离当前视图里的图元类别,那么我们就通过这个,来隔离墙类别,从底部的方法,我们看到他的类是View Class:
[图片上传中...(image-a11c67-1583463198409-10)]
所以基本语法就是:
view.IsolateElementsTemporary(elementIds)
于是我们就通过获取当前激活视图,然后收集所有的图元,隔离出墙类别即可,代码如下:
[图片上传中...(image-f04623-1583463198409-9)]
注:此处Python Script节点,不需要输入和输出,运行后直接隔离墙图元。
二、移动图元
接下来是移动图元,我们查询API手册,搜索MoveElement,得到Move的方法,参考C#的语法,如下:
[图片上传中...(image-b6acd0-1583463198409-8)]
我们需要提供document,ElementId和新的位置,从底部查询出对应的类为:
[图片上传中...(image-c824c5-1583463198409-7)]
所以相应的语法为:
ElementTransformUtils.MoveElements(Document , ElementId, XYZ^ translation)。
相应的代码如下:
[图片上传中...(image-30a261-1583463198409-6)]
连接方式如下:
[图片上传中...(image-14054b-1583463198409-5)]
三、旋转图元
同样的,我们查询API首层,搜索RotateElement方法,得到参照语法:
[图片上传中...(image-1a77c9-1583463198408-4)]
对应的类为:
[图片上传中...(image-b678bf-1583463198408-3)]
所以所需语法为:
ElementTransformUtils.RotateElement(doc, e.Id, rot_axis, angle)
参考代码如下:
[图片上传中...(image-245bf1-1583463198408-2)]
四、删除图元
通过查询API手册,我们得知,删除图元,可以直接删除图元Id,所以我们只需要获取图元,然后删除对应Id就行,代码如下:
[图片上传中...(image-2af94d-1583463198408-1)]
好了,今天得分享就到这里,都是比较简单的代码,参考Dynamo自带的节点,多加练习即可。