首页/技术分享

Dynamo教程 | Dynamo结构柱怎么建?如何利用Dynamo自动生成“T”字形结构柱?

发布于:2024-11-03 02:30:02
225人 分享

这篇将介绍如何利用Dynamo自动生成结构柱类型【“T”字形柱】

● 思路

8e3990e446d3ced133d2aafbed3ff2c4.png

T形柱由8条边组成,有且只有两个顶点(8、3)两侧的顶点(1,7;2,4)的连线的中点(Point1、Point2)位于图形外,且此两点中间只隔两个顶点(1、2)。如下图:

b226c1f947e1386b613c2c40bfc3c642.png

首先,滤出具有八条线的PolyCurve

核心节点:PolyCurve.NumberOfCurves

ea329dca58f5fbf117c0520d5faadb27.png

拾取顶点

核心节点:Curve.StartPoint

f129ef1cf2dde6e1860b9f3f5aebfc68.png

顶点排序

核心节点:List.GetItemAtIndex、List.RemoveItemAtIndex

此处无图

顶点隔点连线

核心节点:List.GetItemAtIndex、List.RemoveItemAtIndex

a421bd45d08fb76b9d26905004c45ba1.png

连线取中点

核心节点:Curve.PointAtParameter

e92d35d37296a05e83ef5a98fffaea95.png

以PolyCurve创建Surface

核心节点:Surface.ByPath

6e9956d3bb3988bfe14425d83c87c075.png判别点是否与Surface相交

核心节点:Geometry.DoesIntersect

14002ad85e8411aa72ede6e77d796ad2.png

滤出有两个点没有与Surface相交的线且无交集

核心节点:List.FilterByBoolMask

值得注意的是:隔点顶点连线的中点在图形外且连线不相交,只有T形。

d19818d63cffd99a283b7a062bdc065c.png

最后我们就选出了T形的PolyCurve

c0afbe7faa733940e09bbd827624490a.png

根据PolyCurve的排序,选取该柱名称,新建T形柱类型。(详上一篇)

核心节点:FamilyType.Duplicate(Clockwork节点包)

T形参数特点

fcdcadc7a941577205c1a3ed4f1c8c1c.png

红线未相交的线为宽度

与宽度线平行且最远的线距为深度

宽度相交的线分别为a、a2

与a线相交的且排除宽度线的线为b

首先获取宽度线,并写入参数值【宽度】

核心节点:Geometry.DoesIntersect、Element.SetParameterByName

e22c521b4d75e9f837c2071ee2b18f16.png

获取与宽度线平行的线

核心节点:Vector.IsParallel

ae0683af52f248475f07dfc237fc0a9e.png

获取与宽度线最远的线的距离和线长,并写入参数值【深度】【a1】

核心节点:Geometry.DistanceTo、Element.SetParameterByName

1d87b79d0f19de191814c07afcb5b982.png

获取与宽度线相交的线的长度,并写入参数值【a】【a2】

核心节点:Element.SetParameterByName

99f27edeb599f10592e11c87f593d156.png

取上一个步骤其中一根线【a】,获取与其相交的线,并排除宽度线,将其长度写入参数值【b】

核心节点:Geometry.DoesIntersect

00e40b6432599e7fe95b8d6a30937954.png


来源:玖辰建筑科技。

作者:黎笑尘

转载请注明来源本文地址:https://www.tuituisoft/blog/21306.html

上一篇:

Dynamo教程 | Dynamo如何填色?用Dynamo给每个房间净高填色

下一篇:

Dynamo教程 | Dynamo基本要素有哪些?Dynamo基本要素和编程语言