问题标签 [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 投票
1 回答
288 浏览

revit-api - 无法使用 Revit Python Shell 提示用户选择房间

使用 Revit Python Shell,我试图提示用户选择一个房间。我一直在阅读并实施此处描述的方法Revit Python Pick Object / Select Object。它工作正常,但使用它我只能选择墙壁、地板、门等......但不能选择房间。这是为什么 ?

在外壳之外,我可以完美地选择房间。

其他教程似乎表明它不应该是一个问题,例如参见http://usa.autodesk.com/adsk/servlet/index?id=16509155&siteID=123112

非常感谢您的帮助!

阿尔诺。

PS:我可以选择房间标签,但从那里进入房间似乎是一条死路(?)

0 投票
2 回答
2805 浏览

revit-api - 如何使用 Revit API 激活(显示)视图?

我正在尝试使用 Revit API 激活视图。我想要做的是提示用户选择一些墙,但是当用户被问到时,他不能切换视图来选择更多的墙(那时一切都变灰了)。所以我要激活的视图(我的意思是,我希望这个视图实际显示在屏幕上)已经存在,我可以访问它的 ID。

我已经看到有关创建、浏览、过滤视图的线程,但没有激活它……这是一个平面图视图。

到目前为止,我可以访问其关联的 ViewPlan 对象和关联的参数(名称、Id、..)。

有可能吗?

非常感谢 !

阿尔诺。

0 投票
2 回答
4014 浏览

revit-api - Revit API 和 Dynamo,从项目文档创建族参数

我正在尝试通过在项目文档中调用族文档并使用 FamilyManager 方法编辑族来创建新的族参数。在 Dynamo 论坛上大约有 10 人要求这个,所以我想我会试一试。下面是我的 Python 脚本:

当我运行脚本时,我收到此错误:

我假设这个错误是因为我通过脚本打开了一个已经存在的家庭文档,然后从不将信息发送回项目文档?或者类似的东西。关于如何解决这个问题的任何提示?

0 投票
1 回答
1635 浏览

revit-api - Revit API 和 Dynamo,处理可变输入类型

根据 Dynamo 论坛上的这个帖子:http: //dynamobim.org/forums/topic/how-to-handle-variable-list-lengthnesting-in-custom-nodes-python/,我想找到一种方法处理自定义节点的变量输入。

这是一个更改元素族类型的示例脚本:

我想找到一种方法来处理列表、嵌套列表或单个项目(非列表)的输入,如下图所示:

在此处输入图像描述

对于后两者,我可以只使用 list.flatten。问题是找到一种方法来处理所有三种类型的列表/元素。

想法?

0 投票
2 回答
1496 浏览

python - 从 Revit 外部访问 Revit API

我使用过 RevitPythonShell 和 Dynamo,但想使用我现有的 Python IDE (Eclipse),我在其中配置了日志记录、调试、GitHub 集成等。

我对事务和整体 API 很满意,我花一些时间阅读有关 Revit API 和无模式连接以及其他人提出类似问题的信息。其中一些已经有几年的历史了。目前是否可以通过在 Revit 外部执行的 Python 与 Revit 进行交互?

例如,我尝试过;

但这似乎并没有暴露任何有用的东西。

0 投票
2 回答
88 浏览

python - 无的值

我在这里学习...

我对“无”的值感到困惑。在下面的代码片段中,我试图找到名为“View Owner”的视图参数为 None 或 != None 的所有视图。

下面的代码片段告诉我,我的视图列表长度为 3548 个项目,!= None 的项目数为 316。如果我将 != 更改为 ==,结果为 0。我不明白这是怎么回事。 ..薄薄的不是None或Not None吗?我认为两次运行的总和应该 - 3548。

0 投票
0 回答
1027 浏览

python - IronPython 在调用 urlopen 时失败

我正在尝试使用 IronPython 2.7.4 使用该urllib2模块发出带有数据和标头的基本 HTTP 请求。由于一些原因,我无法使用 IronPython 2.7.5,因此无法安装这个可爱的requests模块——据我所知,它与早期版本不兼容——所以我坚持使用urllib2.

我的代码似乎在该response = urllib2.urlopen(request)行失败:

我收到以下冗长的错误...有什么建议吗?

编辑:解决了问题!

在 IronPython 文档中发现了一个不同的请求类型库,它使用 .NET 类WebRequest修改了稍微显示的示例函数以说明 JSON 和 blammo。200 OK产生的响应。

0 投票
2 回答
137 浏览

revit-api - 是否可以使用预设命令通过 Revit Python Shell 保持变量处于活动状态?

我目前正在使用 Revit Python Shell 2017,我想说让“交流”不同的预设命令。
例如,假设我加载了一个房屋模型,并通过我之前创建的预设命令在其上创建了一些额外的墙壁。在创建这些墙时,我可以将所有这些新墙 ID 作为列表存储在一个变量中。

现在,如果我想在之后完全删除这些墙,我想使用我存储在列表中的 ID 来识别它们,然后删除它们。
如果我在交互式 Python Shell 会话中,那么“ID 列表”变量仍然可以访问(只要我不关闭 shell),我可以从中检索 ID,然后删除墙壁。
但是,如果我使用预设命令怎么办?第一个命令是“创建墙壁”,第二个命令是“擦除这些墙壁”。但是那个“IDs list”变量在第二个固定命令环境中不存在,所以我不能用它来擦除墙壁。

那么,方法是什么?当然,在这个例子中,我可以使用不同的方法来识别第二个命令中的墙壁,例如要求用户选择它们等等。但我想要的想法是从第一个命令中列出的商店“ Revit 中的某个位置”,并在调用第二个命令时检索它。

我可以将列表写入外部文本文件,并在第二个命令中读取文件......但是有更清洁的方法吗?

对不起这里使用的初学者语言,希望我的问题足够清楚!有人可以提供帮助;)

最好的,
阿诺。

0 投票
1 回答
1237 浏览

python - 如何通过 RevitPythonShell/IronPython 访问活动 Revit 计划中的字段?

我正在为 Revit 2016 编写 IronPython 脚本。对于初学者,我正在尝试访问活动 Revit 计划中的值(作为文本),并将它们加载到变量中。这对于非计算值来说足够好。

但是,我的一些计划字段计算出来的。这是一个示例时间表(此处的所有值都是计算的):

计划片段

Revit API 显示了 2 个方法,称为TableView.GetCalculatedValueName()and TableView.GetCalculatedValueText(),我想使用它们,但似乎不像宣传的那样工作。

运行此代码(在 Revit 中)会产生以下输出:

我想指出,使用TableView.GetCellText()实际适用于计算值,但这GetCalculatedValueName()是我真正想在这里工作的。

0 投票
0 回答
122 浏览

ironpython - .NET 程序集从一个 Python 文件导入到另一个 (IronPython) 文件时会丢失一些方法

我不知道这是 IronPython 问题、Revit API 程序集问题还是其他问题。任何可能导致这种情况的信息/想法都值得赞赏。

我知道这可以通过再次重新导入相同的命名空间来解决,但我很想知道为什么会这样。

以下是正在发生的事情的简短示例。图像显示 RevitPythonShell 控制台输出。

文件1.py

文件2.py

在此处输入图像描述

在此处输入图像描述