问题标签 [revitpythonshell]

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.

0 投票
2 回答
2477 浏览

python - Revit Python 拾取对象/选择对象

我对编码很陌生,所以这可能很明显。

为什么我在运行此代码时收到错误“名称'ObjectType'未定义”:

我正在使用 revit python shell (IronPython)

0 投票
1 回答
136 浏览

python - 将 Dreampie 与 Revit 一起使用

我是在 Autodesk Revit 上使用 python 的新手。我最喜欢使用 python 的提示是一个名为 Dreampie 的小应用程序。它适用于 python 和 ironPython。 http://www.dreampie.org/

我想知道是否有办法将此应用程序连接到 Revit 而不是 RevitPythonShell(RPS 窗口是模态的,没有 Dreampie 那么多的功能)...

提前致谢

0 投票
1 回答
489 浏览

revit - Revit API:“PickObject”不显示对话框窗口

我只是做了这里写的,但我遇到了问题__window__.Topmost = True

(所以,我直接从 Shell 运行)

这是我的完整代码:

事实上,如果我这样做,我会收到一条错误消息,说“return”是外部函数。如果我用其他东西改变'return'行,比如elem = Element.GetGeometryObjectFromReference(pickedRef),那么它说有一个意外的缩进(当然我检查了缩进,正常应该没问题)。

最后,如果我评论该__window__.Topmost行,那么我没有收到错误消息。

您是否也遇到过问题?

但是我最大的问题是,最后,我选择了一个元素,但我没有看到弹出对话框窗口,并显示预期的消息“请选择一个组”)。那是从哪里来的?我猜“最顶层”命令只是将外壳带回顶部,所以它不是来自那个......

有什么线索吗?

非常感谢 !

0 投票
1 回答
1825 浏览

ironpython - ImportError:没有名为 wpf 的模块(仅在 Revit 环境中)- 用户界面

我可以在使用 ipy 解释器启动的 VS 上创建一个简单的工作 UI,但是当我尝试在 Revit 环境(revit python shell 或宏)中启动它时,我收到以下错误:ImportError: No module named wpf

wpf 是一个内置模块,所以我认为我没有忘记任何参考或pythonpath。

我检查了两个 sys.version(来自 stackoverflow 上的帖子的想法): import sys print sys.version

并在 revitpythonshell 和 Ironpython 控制台上得到相同的结果: 2.7.4 (IronPython 2.7.4 (2.7.0.40) on .NET 4.0.30319.18444 (64-bit)) un2.7.4 (IronPython 2.7.4 (2.7.0.40) on .NET 4.0.30319.18444(64 位))

任何想法 ?

0 投票
3 回答
1508 浏览

revit - Revit:禁止修改,因为文档没有打开的事务

禁止修改,因为文档没有打开的事务。该文档没有未结交易。在 Revit 文档中。

0 投票
1 回答
701 浏览

python - 如何在 revitpythonshell 中选择正确的 LoadFamily 函数

revitpythonshell 提供了两种非常相似的方法来加载族。

所以似乎只有返回值不同。我尝试以几种不同的方式调用它:

但我总是得到一个布尔回。我也想要家人。

0 投票
1 回答
4336 浏览

revit - 不允许从在 API 上下文之外运行的外部应用程序启动事务

不允许从在 API 上下文之外运行的外部应用程序启动事务。无法开始交易。

0 投票
1 回答
984 浏览

python - IronPython WPF 与 RevitPythonShell

我已经根据我在 stackoverflow 上找到的代码片段编写了这个脚本,但在运行时出现了这个错误:

System.InvalidOperationException:不能在同一个 AppDomain 中创建多个 System.Windows.Application 实例。

我知道这与最后一条语句是在同一个 AppDomain 中创建一个新的 Application 实例有关,但我不知道如何解决这个问题。这是脚本:

似乎是解决方案,但不知道我需要修复这段代码的哪些部分。

这是两个 XAML 文件的内容:

__WIP__wpfTest__AboutWindow.xaml

__WIP__wpfTest__IronPythonWPF.xaml

0 投票
2 回答
129 浏览

python - 使用python从程序中抓取模型信息

我正在尝试从建筑(Autodesk - Revit)模型中提取物理属性信息(特别是尺寸和阻力值)并将该信息组织为特定变量导出。

稍微扩展一下,对于一项独立研究,我想在 Revit 模型上执行能量平衡,从简单开始并从那里构建。目标是编写代码,从 Revit 模型收集信息,然后将其组织成变量,例如“总墙面积”、“绝缘电阻”、“干墙深度”、“总窗口面积”等,然后可以发送到模型(或简单的电子表格)并按原样存储。

我希望这有点道理。

鉴于我是一名编码新手并且更喜欢用 Python 编写代码,是否有人有任何关于从 Revit 模型导入和组织特定参数的有效(简单)路径的建议或资源?

是否有必要(或实际上有必要,考虑到我的知识范围)使用该程序的 API(Revit)来完成这项任务?

我想这个任务类似于网络抓取,但我没有 HTML 可以调用和搜索,因此我很高兴地一路前行,询问比我知识渊博的人是否有任何见解。

简短的背景,我几乎没有 Revit 或 API 的一般知识,Python 编码的基本知识,真的想了解更多!

绝对感谢您提供的任何帮助!我也很乐意回答出现的任何问题。

感谢您的阅读,祝您有美好的一天!

0 投票
1 回答
2092 浏览

python - 使用python在revit中创建和分配子类别

对于熟悉 Revit API 和 python 的一些人,我有一个问题:

我一直在使用 dynamo 中的 spring 节点包来创建一个相当大的一系列自由形式对象,每个对象都属于他们自己的家族。FamilyInstance.ByGeometry 的工作方式是获取一个实体列表并使用模板族文件为每个实体创建一个族实例。结果相当不错。(弹簧节点可以在这里找到:https ://github.com/dimven/SpringNodes )

但是,缺点是现在我有大约 200 个单独的实例,因此对每个实例进行更改是相当痛苦的。起初我认为可以使用 dynamo 创建一个新的子类别并将每个族实例中的实体设置为这个新的子类别。不幸的是,我意识到这是不可能的,因为 dynamo 无法同时在两个不同的 Revit 环境中打开(我正在从事的项目和该系列的每个实例)。这让我想看看我是否可以使用 python 来做到这一点。

我在 rhino 中使用过 python 并且相处得很好,但是我仍在学习 Revit API。但基本上我的想法是: 1. 在 Revit 项目环境中选择一系列族实例 2. 循环遍历每个实例 3. 将其保存到指定位置 4. 在每个族实例中创建一个新的子类别(子类别将所有选定的族实例都相同) 5. 在每个实例中选择实体 6. 将实体设置为这个新创建的子类别 7. 关闭族实例并保存

我的问题是,根据您对 Revit API 的了解,这听起来是否可以实现?

非常感谢您的时间和建议。


更新:

我在 revit api 中找到了描述我想要做什么的部分:http ://help.autodesk.com/view/RVT/2015/ENU/?guid=GUID-FBF9B994-ADCB-4679-B50B -2E9A1E09AA48

我已经完成了将其插入发电机节点的 python 代码的第一步。其余代码工作正常,除了我添加的新部分(见下文)。请原谅变量,我只是与我正在破解的代码的原始作者的逻辑保持一致:

(注意:进来的变量是数组)

对于这部分代码的任何帮助或建议将不胜感激。


更新:有关相关部分的上下文,请参见下面的完整代码:


更新:

能够让它工作: