问题标签 [pyrevit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bounding-box - 如何使用 Revit API 从 Revit Element 获取边界框,然后调用该边界框的中心
我正在尝试围绕其中心点旋转 Revit 元素。为此,我需要选择一个 Revit 元素并找到它的中心点,然后使用该元素中心点的坐标创建一条线。
完成此操作的最佳方法是将 Revit 元素包装在边界框中,然后找到该框的中心。我的问题是我不确定如何做到这一点。
我正在使用 pyRevit (惊人的工具),我被困在如何使用边界框包装选定元素或检索其现有边界框。
任何帮助将不胜感激!我真的很想学习 Revit API 并了解一切是如何工作的。我正在取得进展,但还有很多事情要解开。
提前感谢您查看我到目前为止所拥有的内容。如果有任何需要进一步澄清的地方,请告诉我!
编辑:
@CyrilWaechter
我想你是对的。使用 LocationPoint 可能更有意义。我查看了您链接的脚本(谢谢顺便说一句!),我尝试在我的代码中实现这一部分。
我正在通过此语句传递 ElementId,但出现错误,“Wall”对象没有属性“GetTransform”。你能帮我理解这个吗?
编辑2:感谢@JeremyTammik 和@CyrilWaechter,您的见解帮助我了解了哪里出错了。虽然我仍然觉得 Revit API 中的某些属性不明确,但我能够让我的代码正确执行。我将在下面发布我能够工作的代码。
python - pyrevit 中的 FilteredElementCollector 出现意外错误
python、pyRevit 和 Revit API 的初学者,如果我的问题措辞不佳,我深表歉意。今天我用pyRevit开发了一个简单的按钮工具,然后几分钟后停止工作,没有任何改变(我知道)
我的工具将所有具有排除元素的组添加到选择中。它工作了一段时间,然后开始抛出这个错误,我无法做出正面或反面:
例外:函数 `anonymous-namespace'::FilteredElementCollector_constructor 或集合中的一项的输入参数“文档”在文件 d:\ship\2018_px64\source\revit\revitdbapi\APIFilteredElementCollectorProxy.cpp 的第 326 行为空。参数名称:文档
错误消息中的路径不是我在计算机上识别的路径。这是相关代码(回溯到第 24 行,即“groups = FilteredElementCollector...”:
非常感谢任何解决方案,甚至帮助破译错误消息。
ironpython - 从 python 脚本启动一个发电机图 (.dyn) 文件
是否可以通过 python 脚本(PyRevit 扩展)启动 revit dynamo .dyn 文件?
有人可以分享一个基本的例子。
我们在生产中测试了许多 dynamo 脚本,从 PyRevit 功能区上的按钮以及运行 python 脚本以执行更复杂任务的其他按钮启动它们会非常有帮助。
python - 使用python通过RPW访问元素的参数值
我不确定我做错了什么。我的代码是
我的错误信息是:
但是我知道这个参数是每个数据设备元素的一部分。
revit-api - 通过 Selection.SetElementIds 将选择修改为第一个元素
我在编写让 med 选择我选择的第一个元素的脚本时遇到问题。这对我很有用,因为我从时间表中选择了正确的 Air Terminal(在那里我可以看到我想要使用的类似气流),并从选择中使用命令 Create Similar。The trouble is that this command does not work when multiple elements are selected. 因此,我想要列表中的第一个对象。这是我正在尝试的代码:
这将返回以下错误消息:
异常:Microsoft.Scripting.ArgumentTypeException:预期的 int,得到 ElementId 好的,然后我会尝试替换
和
我刚刚开始编写 RPS 脚本,但我希望有人能告诉我我在这里做错了什么,即使它很明显。
谢谢你。凯尔
编辑:谢谢杰里米,为我解决了这个问题!诀窍是生成一个列表,而不是 python 列表。.Add 方法是我没有得到的。
如果有人感兴趣,最终代码:
revit-api - 通过 RPW、python 和 revit API 组织 Revit 项目浏览器
是否可以通过 Revit API 和 RPW 在 Revit 项目浏览器窗口中展开/折叠项目(即视图、图纸、图例等)
python - python for revit - 在活动视图中收集视图
我正在尝试在我的 pyRevit 脚本中使用 FilteredElementCollector 来收集活动视图中的所有视图(剖面、立面、平面标注等)。
这将返回一些,但不是所有的意见。例如,有些部分包括在内,但有些部分没有,我不知道为什么。
如果我添加“.OfCategory(BuiltInCategory.OST_Views)”,我什么也得不到。我需要把它分解成几个更具体的类别吗?谢谢你的帮助。
python - Revit API 收集器:无法将值:空格转换为 target_type:
我不明白为什么我的代码适用于其他 revit 类别:
产生此错误:
revit-api - 为什么“ElementId(BuiltInCategory.OST_Walls)”在 Revit API 2019 中失败?
我正在尝试过滤墙壁。为此我使用
..但这显然不会返回有效的ElementId,因为当我打印它时,它有一些负值(如果我打印“doc.GetElement(myId)”,我会得到“None”)。
然后,确实在创建过滤器时...
...我得到一个 ArgumentException。我正在使用 Revit 2019(带有 pyRevit)。据我记得,它曾经与 Revit 2018 一起使用,但我看不出有任何理由不再适用。我错过了什么?
非常感谢!
revit-api - Revit API 中的高级图元过滤
我正在关注此 youtube 视频 ( https://www.youtube.com/watch?v=WU_D2qNnuGg&index=7&list=PLc_1PNcpnV5742XyF8z7xyL9OF8XJNYnv ) 中显示的示例,该示例说明了 Revit API 中的过滤方法优于通常的迭代。但是我的代码比迭代方法慢得多:
过滤方法-0.16 秒
迭代方法-0.06 秒
我使用过滤方法的代码是:
对于迭代,使用了以下代码。