我正在尝试使用Revit API修改房屋,例如特定房屋的长度/高度。通过引用墙的id,我已经成功地修改了单个墙,也成功地修改了同一项目中的许多其他墙。如果对房屋中的墙执行相同类型的参照,即按墙的id进行参照,则不会导致尺寸标注发生任何变化。我假设这是由于墙壁是连接在一起的。有没有不同的参照连接墙的方法?但是,如何使用Revit API修改房屋中的墙? 下面是使用墙的ID修改墙的代码,尽管它不适用于连接的墙。 if (wall.Id.IntegerValue.Equals(355391) || wall.Id.IntegerValue.Equals(355351))
{
wa
如何获得Name of a WallType in PyRevit?我可以到达FamilyName,但这不是我想要的,我想知道墙的确切名称(例如,300毫米混凝土)。我使用的代码:
from Autodesk.Revit.DB import *
doc = __revit__.ActiveUIDocument.Document
walls = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls).\
WhereElementIsElementType().ToElements()
for
我有一个程序可以选择一面墙并获取不同的参数,但我不知道如何在幕墙中更改一面墙。在我想要控制墙中线条的数量和具体位置之后。我加入了我的代码,但它不能工作。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Architecture;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
using Autodesk
我有这个代码,但我不知道如何显示所选墙的位置、高度和长度:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Architecture;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.ApplicationServices;
using Autodesk.Rev
在Design Automation API for Revit - 中,我对这句话非常感兴趣:“通过提供对完整Revit DB Api的访问,而无需在桌面上安装Revit”。示例和教程指的是在我这边创建Revit插件,该插件需要桌面版本的revit。如何提取数据并将其直接发送到Revit DB API?我的用例是,我希望将Revit文件中的属性提取为csv或json文件,对其进行增强,然后将其直接推送回Revit DB。
我在使用uidoc.PostRequestForElementTypePlacement()方法时遇到了问题。似乎该方法总是要求使用建筑布局而不是结构布局。有没有什么方法可以称为结构墙/楼板放置?
或者,是否可以等待用户使用方法en放置,然后将参数"Structural“设置为true?我不确定如何执行此操作,因为上面的方法不会立即执行,而是在用户将焦点移回Revit视图时执行。
提前谢谢。
编辑,添加了最少的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using Autodesk.Re
我对Revit的编程比较陌生。我当前正在获取图形中类型为door或window的元素列表。我想做的是将它们转换为一个开始,但是当我尝试将它们转换为一个Autodesk.Revit.DB.Opening时,我得到了一个错误。
代码如下:
// filter for current design option
var designOptionFilter = S2E.Revit.Tools.Library.Cache.DesignOptionFilter;
List<Element> elements = collector.W
使用修改后的python包装来创建墙壁,然后调整墙的高度和墙的偏移到地面。这是代码
from rpw import db
from rpw import DB
start_point = XYZ(0, 0, 0)
end_point = XYZ(45, 0, 0)
# Wrapper Line
line = Line.new(start_point, end_point)
levels = db.Collector(of_class='Level'