RevitAPI之深入了解组(Group)和应用组
来源:互联网 发布:初中生学电脑编程 编辑:程序博客网 时间:2024/06/05 12:45
一、关于组的概念:
指将多个图元或者详图组合成一个整体,使其可以进行统一的修改、移动、保存、载入等操作。包括模型组和详图组。
1、需要重复使用的图元或者详图可以创建组。
2、需要整体移动或者载入到其他项目使用的模型可以创建组。
三、组的特点:
1、可以进行重复使用
在新建组合的时候,通常会自动生成一个名字,比如:组1,可以通过修改组合类型的名字属性改名,如:
group.GroupType.Name = "MyGroup";
正如第一点所说,组合通常分为模型组合和详图组合。
在API中,两种组合都可以通过 NewGroup方法来创建。创建的组合类型依赖于传进来的元素。
如果没有任何的详图元素参与,那么模型组合就被创建。
如果参与的元素包括两种类型的元素,一个模型组合和一个附着的详图组合就将被创建。
在使用组合的过程中,需要注意下面几点:
① 当元素被组合起来了,它们仍然可以被从文档中删除。在组合里面的元素被删除时,这个元素在界面上仍然是可见的,但是这个元素实际上被删除了,是不能被选中或者在Document被访问。
指将多个图元或者详图组合成一个整体,使其可以进行统一的修改、移动、保存、载入等操作。包括模型组和详图组。
1、需要重复使用的图元或者详图可以创建组。
2、需要整体移动或者载入到其他项目使用的模型可以创建组。
3、需要整体被替换的模型或者图元可以创建组。
三、组的特点:
1、可以进行重复使用
2、重复使用后,修改其中一个组中的图元,其他组中的这个图元也会跟着改变。
四、Revit关于Group的API
在命名空间 Autodesk.Revit.Creation 中,ItemFactoryBase 类 提供了 NewGroup (ICollection<ElementId>)方法来选择一个或者多个元素进行组合,甚至可以选择组合进行再组合。
创建组合:
void CreatGroup(Autodesk.Revit.DB.Document projectDoc, List<Element> Elements) { List<ElementId> elementsToGroup = new List<ElementId>(); using (Transaction tran = new Transaction(projectDoc, "Group the selected elements.")) { tran.Start(); foreach (Element elem in Elements) { elementsToGroup.Add(elem.Id); } Group group = projectDoc.Create.NewGroup(elementsToGroup); tran.Commit(); } }
在新建组合的时候,通常会自动生成一个名字,比如:组1,可以通过修改组合类型的名字属性改名,如:
group.GroupType.Name = "MyGroup";
正如第一点所说,组合通常分为模型组合和详图组合。
在API中,两种组合都可以通过 NewGroup方法来创建。创建的组合类型依赖于传进来的元素。
如果没有任何的详图元素参与,那么模型组合就被创建。
如果参与的元素包括两种类型的元素,一个模型组合和一个附着的详图组合就将被创建。
在使用组合的过程中,需要注意下面几点:
① 当元素被组合起来了,它们仍然可以被从文档中删除。在组合里面的元素被删除时,这个元素在界面上仍然是可见的,但是这个元素实际上被删除了,是不能被选中或者在Document被访问。
当组合中最后一个元素被删除或者是从组合里面移除了,这个组合的实体随后也将被删除。
在做组合操作的时候,对于尺寸标注或者标签,如果没有对它们引用到的元素也同样做 组合操作的话,是不能单独组合的。如果试图做这样的操作的话,组合操作会失败并且会抛异常。
=========【更多高级应用请关注公众号】========
===================================
阅读全文
0 0
- RevitAPI之深入了解组(Group)和应用组
- FlexPaper的深入了解和应用
- 深入Flex4 -- 了解Element和Child的异同及Group的渲染优化
- RevitAPI之TransactionGroup和Assimilate方法【比目鱼原创】
- RevitAPI之创建文字和注释【比目鱼原创】
- CAD中组(Group)如何应用,编组和图块有何区别?
- 深入了解php之opcode(一)
- 深入了解php之opcode(二)
- 深入了解Java之四(JVM)
- 深入了解Java之五(异常)
- 深入了解Java之六(JDBC)
- Ajax之深入了解
- 重装系统之深入了解
- RevitAPI之在墙上创建门(基于宿主)
- RevitAPI之镜像(Mirror)一个元素
- 深入了解printf的用法和各类变形之区别
- Android 学习深入之路(应用和Framework层)
- 深入了解Ajax之XMLHttpRequest
- android 详情页到购物车
- Python编程:从入门到实践 5.4.3 练习 5-10 检查用户名
- 【C++的探索路12】继承与派生之高级篇--派生类与赋值运算符=以及多重继承(未完待续)
- cartographer与karto的比较
- EA&UML日拱一卒-0基础学习微信小程序(1)- 开篇
- RevitAPI之深入了解组(Group)和应用组
- 初学者---Android 优秀博客集合
- Android 安卓RecyclerView显示本地视频并播放
- 学习笔记:C++primer 2.4 const限定符
- java可执行jar打包exe的简单实现方式
- redis 开发与运维 1
- Angularjs实现购物车功能(按钮增减数量、添加、全选、删除、批量删除、结算)
- 用HttpSessionListener与HttpSessionBindingListener实现在线人数统计
- C语言操作符