5cdd2dc095060.jpg

Dynamo如何沿着曲线旋转图元

发布于:2020-09-28 16:11:02

朱光旺

更多

1、之前有一篇类似的技术文章:http://www.tuituisoft.com/blog/4097.html。该文章只介绍了旋转图元的相关节点,但是没有考虑旋转过程中的角度计算。

2、放置图元。

2.1 通过节点 Select Model Element 选择项目文件中的定位线,图中是选择了一条弧线。

2.2 通过节点 Element.Geometry 获取所拾取对象的几何图形。

2.3 通过节点 Curve.PointAtParameter 获取指定参数处的点,参数的起始值为 0,终止值为 1,间距为 0.02。

2.4 通过节点 FamilyInstance.ByPoint 将族文件放置在点上,输入端 familyType 需要输入族类型,图中通过节点 Family Types 选择一个族类型。输入端 point 需要输入定位点,即曲线上的点。

0204_放置图元.png

3、旋转图元

3.1 旋转的关键是如何计算角度。图中是样条曲线,因此不能用曲线的切向量和法向量作为基准。而是把曲线上某点位置的平面法向量作为基准。

3.2 通过节点 Curve.PlaneAtParameter 获取曲线指定参数位置的平面,这个参数与步骤 1.3 中的参数保持一致。节点 Plane.Normal 能够获取刚刚生成的所有平面的法向量。

3.3 通过节点 Vector.AngleAboutAxis 获取两个向量之间的角度。输入端 vector 需要第一个向量,即平面的法向量。输入端 otherVector 需要第二个向量,即世界坐标系的 X 轴正方向。输入端 rotationAxis 需要第三个向量,即世界坐标系的 Z 轴正方向,作用是当作旋转轴以确定角度方向。

3.4 通过节点 FamilyInstance.SetRotation 将图元旋转。输入端 familyInstance 需要输入即将被旋转的图元,输入端 degree 需要输入旋转的角度。

0304_旋转图元.png

0305_运行程序.gif

本文版权归腿腿教学网及原创作者所有,未经授权,谢绝转载。

上一篇:Revit族编辑器如何影响族的可见性

下一篇:Revit如何创建属于自己的样板文件