问题标签 [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 回答
92 浏览

revitpythonshell - 在 pyRevit 或 RPS 中使用法语字符

我想使用 pyRevit 脚本以法语打印对话框。一旦我在我的代码中包含像“ê”这样的重音,pyRevit 脚本甚至不会执行。

但是,如果我在 RevitPythonShell 中打印“être”,没问题。

为什么?为什么要进行不同的处理,是否可以使用 pyRevit 处理?

非常感谢,阿诺。

0 投票
3 回答
3195 浏览

excel - Ironpython 写入 Excel

我正在尝试使用 RevitPythonShell 将数据从 Revit 写入 Excel。

到目前为止,我已经收集了压缩列表中的所有数据,并进行了枚举 for 循环,以将数据写入相应的行和列,如下所示:

这非常慢,因为循环Value2每次都在调用。包含大约 800 面墙的 Revit 模型需要 2 分钟才能写入 Excel。所以我尝试了一种使用字典的不同方法。

这种方法已经快很多了。这需要大约 20 秒才能在 Excel 中用 10 列填充大约 800 行。我是否缺少一些 IronPython 功能,您可以将字典或列表写入 Excel 行或列?

我还研究了安装 3d 派对模块。但这并不是一个真正的选择,因为 RevitPythonShell 使用 IronPython 2.7.3,我无法让 pip install 工作。

提前致谢。

首先在 IronPython 中写入 csv 然后以某种方式将其导入到 excel 中可能会更快吗?

0 投票
2 回答
1046 浏览

python - 使用 RevitPythonShell 在活动视图中覆盖图形设置

我正在尝试使用 RevitPythonshell 在 Revit 的 3D 视图中覆盖墙的图形。我设法使用 Python 节点在 Dynamo 中完成了这项工作。

到目前为止,我有以下代码;

当我在 RevitPythonShell 中运行它时,它什么也不做。我没有得到任何错误或任何东西。当我打印doc.ActiveView.SetElementOverrides((i.Id), ogs)它返回无。

我在这里想念什么?我在 Revit 中的 3D 视图中,这是活动视图。我正在开始和结束交易。

是 Dynamo 节点中 Python 节点中的代码有些相同。

0 投票
2 回答
287 浏览

winforms - RPS、Windows 窗体和 Revit API (Python)

我一直在尝试构建一个表单来创建和删除 Revit 打印集。

我有两个主要问题:

1) 我可以创建打印集,但除非我重新启动表单,否则我无法访问其内容。我收到以下错误(取决于我是否定义了 view_set 变量)

List_object_has_no_attribute_Views

Local_variable_referenced_before_assignment

这是显示所选打印集的工作表的函数代码

2)我可以删除一次打印集。如果我尝试删除另一个,我会收到以下错误,我需要重新启动表单(删除打印集的函数代码如下所示)

The_referenced_object_is_not_valid

我试图构建一个函数来重新启动/刷新表单,但它不起作用(下面的代码):

全局 PrintSetForm_Load
def PrintSetForm_Load(self, sender):

此 gif 显示了正在运行的表单:

管理打印集

有什么想法或建议吗?

谢谢你。

3) 如果我尝试使用 DataSource 填充 SheetsLb,则只显示单击的第一个集合。

0 投票
2 回答
1085 浏览

revit-api - Revit API中使用python获取过滤规则信息

我已经启动了一个提取过滤器规则信息的python脚本,但是找不到从“GetRuleParameters()”中获取信息的方法

任何帮助是极大的赞赏。我看到了很多关于创建规则过滤器的信息,但很少有关于提取规则信息的信息。
这是视图中过滤器覆盖的示例

这是我所在的位置:

0 投票
0 回答
282 浏览

ironpython - IronPython 2.7.7 win32api

我正在使用 IronPython 2.7.7 并安装了 Python 3.6。我安装了 pywin32 以便能够访问 win32api。我正在寻找使用 win32api 将密钥发送到 Revit 中弹出的对话框(不确定这是否会起作用)

每当我在命令窗口中运行 python 并导入 win32com.client 或 win32api 时,我都没有问题,但每当我尝试使用 IronPython 导入这些模块时,我都会收到“没有名为 win32api 的模块”错误。

我对这一切都很陌生,所以我确定我错过了一些东西。有没有办法使用 IronPython 进行 win32api 导入?我试过到处寻找答案,但到目前为止还没有找到任何东西。

谢谢!

0 投票
1 回答
528 浏览

revit-api - Python 中的 Revit API 更改组

我正在尝试编写一个脚本,将组从一种类型更改为另一种类型。本质上,我想完成 UI 等效于右键单击组类型、选择所有实例并更改类型。

我可以使用类似下面的代码,但是当有很多组(例如 270 个左右)时,它比 UI 方法花费的时间要长得多。在 UI 中需要不到 5 分钟的时间,以编程方式需要大约 20 分钟或更长时间。

有没有更好的方法来做到这一点,这样它就不会比 UI 方法花费更长的时间?

这是我用来在 Revit Python Shell 中测试的代码:

0 投票
1 回答
226 浏览

ironpython - Revit-Api 中参数集的交集

我正在尝试使用 Python 在 Revit API 中探索快速、慢速和 LINQ 过滤器。所以我决定通过过滤参数值或家庭/类别/符号来为任何类别创建通用过滤器。

现在我有一组来自 FilteredElementCollector(document) 的不同类别的元素(墙壁、地板、家庭符号等),我需要获取集合中任何元素中的所有参数。换句话说,参数集的交集。如果可以在不使用 LINQ 的情况下制作这样的过滤器,那将是完美的

感谢您的任何想法

0 投票
1 回答
790 浏览

ironpython - 使用外观资产通过 API 创建材质

我有一个带有 RGB 值的 CSV 文件,我使用它通过 Dynamo Python 脚本在 Revit 中创建材质,但是创建的材质没有分配给它的 AppearanceAsset(即使它有一个外观资产选项卡}。因为当我得到它返回“-1”的材质的 AppearanceAssetID,这根据 API 表示没有分配给它的资产。

如何创建已分配外观 ID 的材质

我想访问外观资产并为其设置颜色,因为通常只设置图形颜色而不设置外观颜色。

材料创建的图形选项卡

材料创建的外观选项卡

获取外观资产 ID 的输出

http://www.revitapidocs.com/2018.1/d02d0677-341a-8d1a-d3eb-35ff82f01695.htm

API 参考

0 投票
1 回答
43 浏览

python - 如何通过 Python shell 添加具有多个 actie_gebruiker(s) 的新记录?

以下是进口:

这是我定义的第一个类。它是动作的状态 (Actie),它有一个 status-id 和一个 status-name,max_length 属性为 5(todo、doing、done)

这是 Actie 类(动作或用户确定的动作),它有一个 id、一个动作名称、一个动作状态(指上面的状态表)、动作发布日期、结束日期(截止日期)和一个用户 ID,它指的是用户 django 给我的表。

我现在的问题是如何通过 Python shell 添加具有多个 actie_gebruiker(s) 的新 Actie 对象,例如我必须使用什么命令?