RevitAPI: 创建详图线之前获取可用线型列表

有客户问道:如何在创建详图线之前获取它的可用线型列表?目前只能通过API的过滤器来过滤类GraphicsStyle拿到所有的线型元素。


回答是:目前没有这样的API。

但是我们可以通过这个方法绕一下:

    先创建一个详图线,回滚该事务(Roll back the Transaction),

代码如下:


Transaction transaction = new Transaction(RevitDoc, 
    "Create detail line");
transaction.Start();
try
{
    var view = RevitDoc.ActiveView;
    // make sure the view is 2D view
    var modelLine = RevitDoc.Create.NewDetailCurve(view, 
        Line.CreateBound(new XYZ(0, 0, 0), new XYZ(10, 0, 0)));
    var styles = modelLine.GetLineStyleIds();
    foreach (var styleId in styles)
    {
        var styleEle = RevitDoc.GetElement(styleId);
        WriteLog(styleId + ":" + styleEle.Name);
    }
    transaction.RollBack();
}
catch (Exception ex)
{
    message = ex.ToString();
    transaction.RollBack();
    return Result.Failed;
}


发布了74 篇原创文章 · 获赞 28 · 访问量 25万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览