编程修改某视图中某构件的线型,颜色和线宽

 

原文链接: http://blog.csdn.net/joexiongjin/article/details/7671755

作者:  叶雄进 , Autodesk ADN

 

通过Revit 的VV快捷命令可以打开一个视图设置界面。在其中可以修改构件在当前视图下的颜色,线型,填充图案,填充图案颜色等。
Revit开放了接口来支持编程实现修改投影面上对象的线框颜色,线型,线宽;以及剖切面上构件的线的颜色,线型和线框。

但是Revit现在还未开放API来修改对象上面的填充图案以及填充颜色,已经向研发部门提出了这个需求。

 

下面谈谈对已经开放的接口的使用。下面这六个函数是已经开发的接口。从名字我们指导其功能。 Proj 意思是Project,投影部分的显示,Cut是指剪切部分的显示。

ProjColorOverrideByElement
ProjLinePatternOverrideByElement
ProjLineWeightOverrideByElement


CutColorOverrideByElement
CutLinePatternOverrideByElement
CutLineWeightOverrideByElement


下面代码演示如何修改对象在当前视图下修改墙的线宽。其它函数可以如此调用。

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

using  Autodesk.Revit .DB;
using Autodesk.Revit.UI;
using Autodesk.Revit .ApplicationServices;
using Autodesk.Revit.Attributes ;

 

  [TransactionAttribute(Autodesk.Revit.Attributes.TransactionMode.Manual)]
public class RevitCommand : IExternalCommand
{
    public Result Execute(ExternalCommandData commandData, ref string messages, ElementSet elements)
    {

      UIApplication app = commandData.Application;
      Document doc = app.ActiveUIDocument.Document;
      Transaction trans = new Transaction(doc, "ExComm");
      trans.Start();

      //get all the walls in the current view.
      FilteredElementCollector collector = new FilteredElementCollector(doc, doc.ActiveView.Id);
      collector.OfClass(typeof(Wall));

      List<ElementId> listIds = new List<ElementId>();
      foreach (Element elem in collector)
      {
        listIds.Add(elem.Id);
      }

      doc.ActiveView.set_CutLineWeightOverrideByElement(listIds, 12);

      trans.Commit();
   
        return Result.Succeeded ;
    }
}


 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值