1. 程式人生 > >Revit二次開發-建立荷載線程式碼

Revit二次開發-建立荷載線程式碼

已經很久沒有更新部落格了,最近處於跳槽時期,所以花點時間把一些之前整理的程式碼片段分次分享出來給大家。

以後如果有機會的話儘量堅持每天一更,不僅是Revit二次開發的內容。

歡迎大家一起來學習討論。

接下來給大家展示一下在Revit中怎麼通過程式碼建立荷載線。

廢話少說直接上程式碼:

    LineLoadType lineLoadType = null;
    LineLoadType newlineLoadType = null;
        try
       {
           lineLoadType = new             
 FilteredElementCollector(doc).OfClass(typeof(LineLoadType)).OfCategory(BuiltInCategory.OST_Loads).Single(c => c.Name.Contains("線荷載 1")) as LineLoadType;
    newlineLoadType = lineLoadType;
       }
        catch
       {
         lineLoadType = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Loads).FirstOrDefault(ct => ct.Name.Contains("線荷載 1")) as LineLoadType;
         newlineLoadType = lineLoadType.Duplicate("線荷載 1") as LineLoadType; 
       }

       Line line = Line.CreateBound(new XYZ(MyDictionary[id][s].Point.X, MyDictionary[id][s].Point.Y, Height), new XYZ(MyDictionary[id][s + 1].Point.X, MyDictionary[id][s + 1].Point.Y, Height));
      LineLoad LL = LineLoad.Create(doc,new XYZ(MyDictionary[id][s].Point.X, MyDictionary[id][s].Point.Y, Height),new XYZ(MyDictionary[id][s + 1].Point.X, MyDictionary[id][s + 1].Point.Y, Height),XYZ.BasisX,XYZ.BasisY, newlineLoadType, SketchPlane.Create(doc, new Plane(XYZ.BasisZ, new XYZ(0, 0, Height))));



   if ((point1 - point2).GetLength() < 0.0027)
    {
     MyDictionary[id].Remove(MyDictionary[id][s]);
    }


SketchPlane.Create(doc, new Plane(XYZ.BasisZ, new XYZ(0, 0, Height)

有什麼不清楚的大家可以加我的QQ一起交流!

QQ:194397549    Don