[英]Dimensions attached to Parts or Generic Models Revit
我想確定所有通用模型的尺寸,即面板和零件。 我選擇了一種方法來完成此任務。 但是我能看到的唯一問題是,在對牆重新鑲板時,它不會覆蓋尺寸。
私有靜態無效CreateDimension(XYZ開始,XYZ結束,視圖視圖,字符串文本,XYZ目錄,雙偏移量){嘗試{如果(!start.IsEqual(end)){ ,“添加尺寸”))){t.Start();
Curve c = Line.CreateBound(start, end);
XYZ normal = dir.Multiply(offset);
Line tranformed = c.CreateTransformed(Transform.CreateTranslation(normal)) as Line;
if (null != tranformed)
{
XYZ ai = start;
XYZ ao = tranformed.GetEndPoint(0);
Line lineA = Line.CreateBound(ai, ao);
DetailCurve modelcurveA = AppMain.Settings.ActiveDoc.Create.NewDetailCurve(view, lineA);
XYZ bi = end;
XYZ bo = tranformed.GetEndPoint(1);
Line lineB = Autodesk.Revit.DB.Line.CreateBound(bi, bo);
DetailCurve modelcurveB = AppMain.Settings.ActiveDoc.Create.NewDetailCurve(view, lineB);
ReferenceArray ra = new ReferenceArray();
ra.Append(modelcurveA.GeometryCurve.Reference);
ra.Append(modelcurveB.GeometryCurve.Reference);
Line lineAB = Line.CreateBound(ao, bo);
Dimension dimension = AppMain.Settings.ActiveDoc.Create.NewDimension(view, lineAB, ra);
dimension.Below = text;
}
t.Commit();
}
}
}
catch (Exception ex)
{
AppMain.Settings.LogErrorMessage(ex.Message);
}
}
還有其他方法嗎?
謝謝,羅伯
您是否找到了一種通過用戶界面手動解決此問題的方法? 這是處理Revit API任務的最佳起點。 如果您可以通過用戶界面解決問題,則很有可能也可以將其自動化。 如果找不到UI解決方案,那么自動化幾乎也是不可能的。
我將通過執行手動修改來分析Revit數據庫中涉及的元素及其參數引起的確切差異。 一旦發現手動UI交互所做的確切更改,您就可以通過API以編程方式復制相同的更改。 這是有關如何解決Revit API編程任務的更詳盡的描述:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.