【问题标题】:How to add parameters to an element in Forge API如何在 Forge API 中向元素添加参数
【发布时间】:2019-11-11 20:09:06
【问题描述】:

我正在做一个项目,我需要在 Forge API 中创建一个元素(例如一堵墙)并为其添加共享参数。

我使用 Revit 的设计自动化 API 创建了墙,但由于设计自动化 API 中没有 UI,我无法创建参数
有没有类似下面代码的方法,我们可以在 Revit API 的事务中编写。

if (element.LookupParameter(param).IsReadOnly == false)
{
    if (!type.Name.Equals("Double"))
    {
        if (!string.IsNullOrEmpty(value.ToString()))
            element.LookupParameter(param).Set(value.ToString());
    }
    else
    {
        if (!double.IsNaN((double)value))
            element.LookupParameter(param).Set((double)value);
    }
}

是否可以在 Design Automation API 中为特定元素创建实例和类型参数,还是必须使用其他 Forge API?
如果有人可以指导我,那就太好了。
谢谢

【问题讨论】:

    标签: c# autodesk-forge revit autodesk-designautomation


    【解决方案1】:

    我碰巧制作了一个演示来使用 Design Automation 的共享参数。源项目可在 https://github.com/xiaodongliang/Revit-room-space-with-Forge-viewer

    它基于我们学习锻造教程的框架。添加共享参数的相关代码是这些行: https://github.com/xiaodongliang/Revit-room-space-with-Forge-viewer/blob/master/updateRVTParam/Commands.cs#L259-L269

      //add shared parameter definition
      AddSetOfSharedParameters(rvtDoc);
    
      //......
      //......
    
      //add shared parameter to the specific shape
     using (Transaction tx = new Transaction(rvtDoc))
                        {
                            tx.Start("Change P");
    
                            Element readyDS = rvtDoc.GetElement(roomId);
                            Parameter p = readyDS.LookupParameter("RoomNumber");
                            if (p != null)
                            {
                                p.Set(room.Number.ToString());
                            }
                            tx.Commit();
                        }
    

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      是的,您可以使用 Revit API 在 Forge Design Automation 上下文中创建共享参数。为了更容易进行测试,我建议您在进入设计自动化上下文之前在普通桌面 Revit 中实现和测试所需的功能。 Building Coder 在DA4R – Design Automation for Revit 的相应主题组中提供了更多提示。

      【讨论】:

        猜你喜欢
        • 2019-03-29
        • 1970-01-01
        • 2011-02-20
        • 2020-12-28
        • 2018-05-06
        • 2010-10-15
        • 1970-01-01
        相关资源
        最近更新 更多