【问题标题】:Set work plane for element programmatically?以编程方式为元素设置工作平面?
【发布时间】:2016-08-14 22:17:22
【问题描述】:

在 Revit 中,我在一个族中有一个扫描元素,我想以编程方式设置它的工作平面。

在 Revit 中,我可以通过双击我的族然后选择扫掠并单击 Edit Work Plane 来实现这一点。在这里我可以选择任何命名的参考平面作为工作平面。

我将如何使用 revit API 做到这一点?我能找到的与工作平面相关的唯一条目是 GetOrderedParameters() 方法,其中一个名称是 Work Plane

更新

到目前为止,我发现是这样的:

var parameter = sweep.get_Parameter(BuiltInParameter.SKETCH_PLANE_PARAM);
parameter.Set("new parameter value");

但是SKETCH_PLANE_PARAM 参数是只读的。有没有办法用另一种方式设置它?

【问题讨论】:

    标签: c# revit-api revit


    【解决方案1】:

    所以,我不知道有一种方法可以将工作平面设置为临时命名的工作平面(我确信有一种方法,我现在想不出)。但是根据你目前所掌握的情况,你可以做的是找出你所指的命名工作平面的高度,然后使用下面的代码:

            using (Transaction trans = new Transaction(CurrentDocument, "Setting the workplane..."))
            {
                Parameter sketchPlane = sweep.get_Parameter(BuiltInParameter.SKETCH_PLANE_PARAM);
    
                // do whatever modifications you need to do to the parameter
    
                sweep.ParametersMap.set_Item("SKETCH_PLANE_PARAM", sketchPlane);
    
                trans.Commit();
            }
    

    【讨论】:

    • 这与我尝试解决此问题的方式相同,但它不起作用,因为SKETCH_PLANE_PARAM 是只读的
    • @MikeDelta - 你确定你尝试了 sweep.ParametersMaps.set_item() 方法?无论哪种情况,我今晚回家后都会尝试再看一遍
    猜你喜欢
    • 1970-01-01
    • 2015-06-04
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    • 1970-01-01
    • 2012-10-06
    相关资源
    最近更新 更多