Chinaunix首页 | 论坛 | 博客
  • 博客访问: 465009
  • 博文数量: 80
  • 博客积分: 2301
  • 博客等级: 大尉
  • 技术积分: 884
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-16 20:07
个人简介

I\'m interested in mathematics and Daoism. Welcome to talk about these subjects with me.

文章分类

全部博文(80)

文章存档

2017年(2)

2016年(16)

2015年(4)

2014年(6)

2013年(22)

2012年(2)

2011年(1)

2010年(4)

2009年(20)

2008年(2)

2007年(1)

我的朋友

分类: 其他平台

2014-09-13 21:33:38

在revit 二次开发的sdk中,链接文件的处理主要涉及以下类:

1)WorkSetTable
    
每一个文档都有一个这个表格对象,并且一个文档之中至少有一个工作集对象,即默认的工作集。

2)ElementWorksetFilter
    这是
一个快速的过滤器,用于过滤出属于某个工作集中的图元对象

3)WorkSetId
在单个文档中使用这个对象来确定一个工作集. 注意,rvt项目文件,与中心服务器同步了以后,这个id是可能变化的。
一个工作集的guid是不变化的。可以根据不同情况选用。

下面的示例代码,显示了工作集对象的使用:

            UIDocument uiDoc = commandData.Application.ActiveUIDocument;
            if (uiDoc == null)
            {
                message = "没有活动的文档";
                return Result.Failed;
            }


            Document doc = uiDoc.Document;
            
            if (doc.IsWorkshared == false)
            {
                message = "not work shared";
                LogUtil.WriteLog(message);
                return Result.Failed;
            }


            WorksetTable table = doc.GetWorksetTable();
            WorksetId id = table.GetActiveWorksetId();
            Workset set = table.GetWorkset(id);
            string str = "workset name : " + set.Name + "\n"
                + "kind: " + set.Kind + "\n"
                + "owner: " + set.Owner + "\n";
            if (set.IsDefaultWorkset)
                str +=  "is the default workset\n";
            else
                str +=  "is NOT the default workset\n";
            
            if (set.IsVisibleByDefault)
                str += "is visible by default\n";
            else
                str += "NOT visible by default\n";


            if (set.IsOpen)
                str += "is open\n";
            else
                str += "NOT open\n";
            TaskDialog.Show("RevitAddinExamples", str);
            





阅读(3119) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~