首页 > Windows开发 > 详细

关于Revit API修改元素参数的问题?

时间:2014-03-18 12:32:34      阅读:880      评论:0      收藏:0      [点我收藏+]
>ADN: DEVR3894 
>ADN service level: Professional 
>产品:Revit MEP 2012 
>版本:2012 
>语言:中文 
>操作系统:window7 64bit 
>联系电话:137xxxx1960
>问题标题:关于修改元素参数的问题?
>问题内容: 
上次提问,关于遍历链接文档创建空间的问题。
最终解决办法是:在链接文档的时候选择“原点到原点”
失败的原因就是坐标系没有对正。
这次的问题如下:
我希望在风管连接弯头之前,设置好首选的弯头类型。
1.元素参数如果是int或者double可以直接修改。
如果是ElementId如何知道从哪里得到这些Id
2.如图所示,编辑风管类型。
bubuko.com,布布扣
如何改变T形三通,接头,这样的参数的值。
参考代码:
bubuko.com,布布扣
[Transaction(TransactionMode.Manual)]
[Regeneration(RegenerationOption.Manual)]
public class cmd : IExternalCommand
{
    public Result Execute(ExternalCommandData cmdData, ref string msg, ElementSet elements)
     {
         UIDocument uiDoc = cmdData.Application.ActiveUIDocument;
         UIApplication uiApp = cmdData.Application;
         Document doc = uiDoc.Document;
         Selection selection = uiDoc.Selection;

         Transaction ts = new Transaction(doc, "www");
         ts.Start();
        //找个风管类型
        FilteredElementCollector collector = new FilteredElementCollector(doc);
         collector.OfClass(typeof(Duct)).OfCategory(BuiltInCategory.OST_DuctCurves);
         Duct duct = null;
        foreach (Element el in collector)
         {
             duct = el as Duct;
            break;
         }
        //找个弯头类型
        FilteredElementCollector collectorFitting = new FilteredElementCollector(doc);
         collectorFitting.OfClass(typeof(FamilyInstance)).OfCategory(BuiltInCategory.OST_DuctFitting);
         FamilyInstance fitting = null;
        foreach (Element el in collectorFitting)
         {
             fitting = el as FamilyInstance;
            break;
         }
        //
        foreach (Parameter p in duct.DuctType.Parameters)
         {
            if (p.Definition.Name == "首选连接类型")
             {
                p.Set(1);//p.StorageType为Intger所以用此法修改
            }
            if (p.Definition.Name == "接头")
             {
                p.Set(fitting.Category.Id);//p.StorageType为ElementId
            }
         }

         ts.Commit();

        return Result.Succeeded;
     }
}
bubuko.com,布布扣
url:http://greatverve.cnblogs.com/archive/2012/02/29/revit-api-parameter.html

关于Revit API修改元素参数的问题?,布布扣,bubuko.com

关于Revit API修改元素参数的问题?

原文:http://www.cnblogs.com/greatverve/p/revit-api-parameter.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!