【问题标题】:Is there a way to modify connected walls, such as the walls in a house, using the Revit API?有没有办法使用 Revit API 修改连接的墙壁,例如房子里的墙壁?
【发布时间】:2021-07-15 00:36:27
【问题描述】:

我正在尝试使用 Revit API 修改房屋,例如特定房屋的长度/高度。通过引用墙的 ID,我已经成功地修改了同一项目中的单个墙和选定的墙。通过墙的 id 进行相同类型的引用,如果对房屋中的墙进行引用,则不会导致尺寸发生任何变化。我假设这是由于墙壁被连接。 是否有不同的方式来引用连接的墙壁?尽管如此,如何使用 Revit API 修改房屋的墙壁?

下面是使用 ID 修改墙的代码,虽然它不适用于连接的墙。

if (wall.Id.IntegerValue.Equals(355391) || wall.Id.IntegerValue.Equals(355351)) 
    {
    wallLocation = wall.Location as LocationCurve;

    XYZ pt1 = wallLocation.Curve.GetEndPoint(0);
    XYZ pt2 = wallLocation.Curve.GetEndPoint(1);

    pt2 = pt2.Add(new XYZ(inputParameters.Width, 0, 0));

    Line newWallLine = Line.CreateBound(pt1, pt2);
    wallLocation.Curve = newWallLine;
    }

【问题讨论】:

    标签: revit-api


    【解决方案1】:

    根据我的经验,特别是篡改墙壁会导致许多问题,例如墙壁分离、分配错误、注释被删除,当然还有太多 Revit 警告,大多数情况下无法处理。 我的建议 - 或者在这种情况下它可能是一个答案 - 忘记使用 Revit API 修改墙壁位置,如果有帮助,请尝试从头开始创建墙壁。

    【讨论】:

      猜你喜欢
      • 2019-03-08
      • 1970-01-01
      • 2021-06-28
      • 1970-01-01
      • 1970-01-01
      • 2014-03-23
      • 1970-01-01
      • 2021-12-28
      • 2013-05-11
      相关资源
      最近更新 更多