700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Revit二次开发 创建墙

Revit二次开发 创建墙

时间:2022-05-10 13:00:35

相关推荐

Revit二次开发 创建墙

在revit中创建一面墙,需要一条线,还要指定它的标高。

我们先来创建一条线:

//指定两个点XYZ leftPoint = new XYZ(-33.0321399255506, -27.0908023636875, 0);XYZ rightPoint = new XYZ(23.269567814, -27.0908023636875, 0);//两个点也可以是通过鼠标点击来获取//XYZ leftPoint = uIDocument.Selection.PickPoint();//XYZ rightPoint = uIDocument.Selection.PickPoint();//根据两个点来创建一条线Line line = Line.CreateBound(leftPoint , rightPoint );

获取标高:

//获取标高Level level = null;FilteredElementCollector elements2 = new FilteredElementCollector(document);List<Level> levels = elements2.OfClass(typeof(Level)).Cast<Level>().ToList();foreach (Level item in levels){//通过标高的名称来获取,也可以根据标高的Id来获取//还可以获取当前活动的试图来获取当前的标高//if (item.Name.Equals("标高 1")){level = item;break;}}

最后来创建一面墙:

/// <summary>/// 创建墙/// </summary>public Wall CreateWall(Line line, Level level){//无连接高度double height = 4800;//底部偏移double offset = 0;//是否翻转bool flip = false;//是否是结构bool structural = false;//得到墙类型WallType wallType = null;FilteredElementCollector elements = new FilteredElementCollector(document);List<WallType> wallTypes = elements.OfClass(typeof(WallType)).Cast<WallType>().ToList();foreach (WallType item in wallTypes){if (item.Name.Equals("常规 - 200mm")){wallType = item;break;}}Wall wall = Wall.Create(document, line, wallType.Id, level.Id, height.Tofoot(), offset, flip, structural);return wall;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。