zoukankan      html  css  js  c++  java
  • Revit API修改保温层厚度

    start
    [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;
            Document doc = uiDoc.Document;
            Selection selection = uiDoc.Selection;

            Transaction ts = new Transaction(doc, this.ToString());
            ts.Start();
            //
            Reference refWall = selection.PickObject(ObjectType.Element, "选择墙:");
            Wall wall = doc.GetElement(refWall) as Wall;
            WallType wallType = wall.WallType;
            CompoundStructure cs = wallType.GetCompoundStructure();
            bool bHas = false;//是否拥有保温层
            int iWidth = 100;//要设置的保温层厚度
            IList<CompoundStructureLayer> layers = cs.GetLayers();//找到所有层
            foreach (CompoundStructureLayer layer in layers)
            {
                if (layer.Function == MaterialFunctionAssignment.Insulation)//判断保温层
                {
                    bHas = true;
                    layer.Width = iWidth / 304.8;
                }
            }
            if (!bHas)//没有保温层则创建
            {
                CompoundStructureLayer newLayer = new CompoundStructureLayer();
                newLayer.Function = MaterialFunctionAssignment.Insulation;
                newLayer.Width = iWidth / 304.8;
                //layers.Add(newLayer);
                layers.Insert(0, newLayer);
            }
            cs.SetLayers(layers);
            wallType.SetCompoundStructure(cs);
            //
            ts.Commit();

            return Result.Succeeded;
        }
    }
    url:http://greatverve.cnblogs.com/p/revit-api-CompoundStructureLayer.html
  • 相关阅读:
    use evolation+mapi with exhange mode
    python open file mode description
    5 reasons why you should learn python programming
    文本从尾到头输出
    安装部署lamp,来测试rediect
    python for ,loop ,else condition test
    python logging usage
    去除重复行
    [WTL]WTL for MFC Programming实践篇 一个自定义ComboBox的移植过程
    subsonic已死,db4o将死
  • 原文地址:https://www.cnblogs.com/greatverve/p/revit-api-CompoundStructureLayer.html
Copyright © 2011-2022 走看看