2026/06/05 此討論區由「協勤CAD討論區」以及「REVIT CLUB討論區」彙整而來
如果您還記得原Revit club的帳號,請於"登入"介面點選"我忘記自己的密碼",填寫當時的信箱,收信後重設新密碼或重新註冊新帳號。
文章: 1
註冊時間: 2016年 4月 22日, 09:00
我嘗試透過寫一個API將模型文字ModelText上漆,但以下的code執行時卻出現如附檔之錯誤, 主要是發生在doc.Paint(modelText.Id, face, elementId)這裡!! 可我用同樣的寫法對FamilyInstance及Wall上漆都沒問題,是否是revit 2015 的ModelText目前尚無開放
Transaction的document? 是否有哪位高手能幫忙解答呢? 謝謝



// Paint the E_path's face
public void PaintModelTextFaces(ModelText modelText, ElementId elementId)
{
Document doc = modelText.Document;
Autodesk.Revit.DB.Options opt = new Options();
Autodesk.Revit.DB.GeometryElement geomElem = modelText.get_Geometry(opt);

foreach (GeometryObject geomObj in geomElem)
{
if (geomObj is Solid)
{
Solid f = geomObj as Solid;
foreach (Face face in f.Faces)
{
using (Transaction trans = new Transaction(doc))
{
trans.Start("PaintModelTextFaces");
doc.Paint(modelText.Id, face, elementId);
trans.Commit();
}
}
}
}
}
文章: 86
註冊時間: 2014年 9月 15日, 08:25
在從 Solid 取出 Face 之前,先判斷
solid.GraphicsStyleId 是否為 null

如果為 null ,處理 Face 會引發異常。
回覆文章