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;
}


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值