【发布时间】:2019-08-20 13:10:08
【问题描述】:
我想一个接一个地在墙上放置一些元素。
我在模型的墙上放置了一些元素。我能够放置第一个元素,但不知道如何放置第二个和连续的元素。我已经上传了我所取得的成就以及我接下来要做什么的源代码和图像。家庭不是寄宿家庭。
public static FamilyInstance PlaceFamily (Wall wall, Family family, Document document)
{
FamilySymbol symbol = null ;
foreach (ElementId s in family.GetFamilySymbolIds())
{
symbol = document.GetElement(s) as FamilySymbol;
break;
}
LocationCurve locationCurve= wall.Location as LocationCurve;
XYZ point= locationCurve.Curve.GetEndPoint(0);
Transaction transaction2 = new Transaction(document, "place Instance");
transaction2.Start();
if (!symbol.IsActive)
symbol.Activate();
FamilyInstance instance = document.Create.NewFamilyInstance(point, symbol, StructuralType.NonStructural);
transaction2.Commit();
return instance;
}
【问题讨论】:
-
你试过
JoinGeometryUtils.JoinGeometry()吗? -
我认为这在我的情况下不起作用,因为我的元素没有托管,我想要一种方法来找到如何将下一个元素放在前一个元素之后。