我正在使用Revit为一个梁创建一组钢筋。默认情况下,当我更改布局规则(使用Revit以及最终用户UI)时,无论我把钢筋放在哪里,它们都会自动调整以展开主机的整个面(在这种情况下,是波束的顶部)。
但是,我希望控制我的钢筋的布局区域,这样当我更改钢筋布局规则(使用Revit )时,它只覆盖一个小部分,而不覆盖主机的整个表面。如果我使用最终用户界面,我可以手动抓取在钢筋集边缘的手柄,然后在更改布局规则后调整布局区域。
我打算从“单一”规则(默认)切换到“固定号码”规则。我该怎么做?在最坏的情况下,我可以使用“单一”规则,并将每个钢筋放在渴望的地方。
发布于 2018-11-18 19:29:11
开发团队已经在修改API讨论论坛线程钢筋组布置面积的控制上回答了您的问题。
布局规则如何从API更改或从UI更改是有区别的。我将解释如何从API中为形状驱动的Rebar工作。
我们有一个Rebar元素。我们获得了RebarShapeDrivenAccessor,我们将使用这个类。有一个名为Normal的属性。它代表钢筋弯曲的平面的法线。而且,基于这个向量,它将决定向哪个方向扩展集合。
功能
public void SetLayoutAsFixedNumber( int numberOfBarPositions, double arrayLength, bool barsOnNormalSide, bool includeFirstBar, bool includeLastBar);
具有以下参数:
因此,当将布局从单个更改为任何其他布局时,您在屏幕上看到的条形图将保持其位置,并将成为集合中的第一个栏。它将根据arrayLength和barsOnNormalSide计算集合中的最后一条,并在这两条之间分配这些条。
为了获得结果,您可以设置数组长度与区域长度相等的布局(该集合将从屏幕上的现有条开始),然后可以将Rebar元素移动到您想要的位置。
或者,您可以移动开始区域的单条,然后将布局设置为与区域长度相等的数组长度。
https://stackoverflow.com/questions/53293314
复制相似问题