编程设置房间以及墙的上部楼层
来源:互联网 发布:比尔软件科技有限公司 编辑:程序博客网 时间:2024/04/28 05:09
转载请复制以下信息:
原文链接: http://blog.csdn.net/joexiongjin/article/details/8000754
作者: 叶雄进 , Autodesk ADN
文章背景:
在创建墙的时候,可能用户没有设置墙的上部楼层。是否可以通过编程的方式一次性的全部设置墙的上部楼层?
同样的是否可以编程设置房间的上部楼层?
这是可以通过编程实现。
你需要获取所有需要修改上部楼层的墙。然后修改墙的上部楼层参数值为目标楼层即可。 你需要获取目标楼层的ElementId,把这个ElementId值赋值给墙的参数即可。
墙的上部楼层对应的内部枚举变量是
BuiltInParameter.WALL_HEIGHT_TYPE
请看下面的代码。
using System;using System.Collections.Generic;using System.Text;using System.Linq;using Autodesk.Revit .DB;using Autodesk.Revit.UI;using Autodesk.Revit .ApplicationServices;using Autodesk.Revit.Attributes ;using Autodesk.Revit.UI.Selection; [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; FilteredElementCollector collector = new FilteredElementCollector(doc); collector.OfClass(typeof(Level)); var levels = from Element elem in collector where elem.Name.Equals("Level 2") select elem; Level level2 = null; if (levels.Count() > 0) level2 = levels.First() as Level; Selection sel = app.ActiveUIDocument.Selection; Reference ref1 = sel.PickObject(ObjectType.Element, "please pick wall only"); Wall wall = doc.GetElement(ref1) as Wall; if (wall == null) { return Result.Failed; } Transaction trans = new Transaction(doc, "ExComm"); trans.Start(); //设置上部楼层。通过修改参数值来实现,这是唯一的办法。上部楼层的内置枚举值是 BuiltInParameter.WALL_HEIGHT_TYPE Parameter paraTopConstraint = wall.get_Parameter(BuiltInParameter.WALL_HEIGHT_TYPE); paraTopConstraint.Set(level2.Id); trans.Commit(); return Result.Succeeded ; }}
可以用同样的办法来修改房间的上部楼层。房间的上部楼层内置枚举成员是:BuiltInParameter.ROOM_UPPER_LEVEL
- 编程设置房间以及墙的上部楼层
- 实现多楼层,每个楼层多房间,上下拖动切换楼层,左右拖动查看其他房间
- 面向对象编程,我的思想(上部)
- 面向对象编程,我的思想(上部)
- zz 面向对象编程,我的思想(上部)
- 面向对象编程,我的思想(上部)
- 面向对象编程,我的思想(上部)
- 面向对象编程,我的思想(上部)
- 程序员的十楼层
- 楼层式的主页
- 的饭店和地方回房间法规以及更愉快
- 楼层
- 去掉 TabBar 上部横线以及 navigationBar 下部横线的方法探讨
- 关于编程之美一个房间里面三盏灯的问题
- javascript原生移动云编程14 - 如何隐藏和定制屏幕上部的导航条
- UIScrollView上部空白的问题
- 编程修改楼层名,但是不修改相应的视图名
- 【编程题】-C++实现:不同楼层同时丢球,求小球所经过的总距离
- oracle中exp,imp的使用详解
- 修改数据集DATASET
- 3D图形的绘制和操作
- android中TextView点击或聚焦时屏蔽系统软键盘的弹出
- 中国剩余定理
- 编程设置房间以及墙的上部楼层
- Java Notes 1
- php-curl封装[避免上传文件二义性Bug]
- 【Windows8开发】异步编程进阶篇之 task group的几种方式及其间的区别
- 一些C++要点
- C++构造函数初始化列表
- Directshow完整介绍
- linux互斥与同步 之 原子变量和位操作
- CURL状态码列表