问题标签 [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.
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:我可以选择房间标签,但从那里进入房间似乎是一条死路(?)
revit-api - 如何使用 Revit API 激活(显示)视图?
我正在尝试使用 Revit API 激活视图。我想要做的是提示用户选择一些墙,但是当用户被问到时,他不能切换视图来选择更多的墙(那时一切都变灰了)。所以我要激活的视图(我的意思是,我希望这个视图实际显示在屏幕上)已经存在,我可以访问它的 ID。
我已经看到有关创建、浏览、过滤视图的线程,但没有激活它……这是一个平面图视图。
到目前为止,我可以访问其关联的 ViewPlan 对象和关联的参数(名称、Id、..)。
有可能吗?
非常感谢 !
阿尔诺。
revit-api - Revit API 和 Dynamo,从项目文档创建族参数
我正在尝试通过在项目文档中调用族文档并使用 FamilyManager 方法编辑族来创建新的族参数。在 Dynamo 论坛上大约有 10 人要求这个,所以我想我会试一试。下面是我的 Python 脚本:
当我运行脚本时,我收到此错误:
我假设这个错误是因为我通过脚本打开了一个已经存在的家庭文档,然后从不将信息发送回项目文档?或者类似的东西。关于如何解决这个问题的任何提示?
revit-api - Revit API 和 Dynamo,处理可变输入类型
根据 Dynamo 论坛上的这个帖子:http: //dynamobim.org/forums/topic/how-to-handle-variable-list-lengthnesting-in-custom-nodes-python/,我想找到一种方法处理自定义节点的变量输入。
这是一个更改元素族类型的示例脚本:
我想找到一种方法来处理列表、嵌套列表或单个项目(非列表)的输入,如下图所示:
对于后两者,我可以只使用 list.flatten。问题是找到一种方法来处理所有三种类型的列表/元素。
想法?
python - 从 Revit 外部访问 Revit API
我使用过 RevitPythonShell 和 Dynamo,但想使用我现有的 Python IDE (Eclipse),我在其中配置了日志记录、调试、GitHub 集成等。
我对事务和整体 API 很满意,我花一些时间阅读有关 Revit API 和无模式连接以及其他人提出类似问题的信息。其中一些已经有几年的历史了。目前是否可以通过在 Revit 外部执行的 Python 与 Revit 进行交互?
例如,我尝试过;
但这似乎并没有暴露任何有用的东西。
python - 无的值
我在这里学习...
我对“无”的值感到困惑。在下面的代码片段中,我试图找到名为“View Owner”的视图参数为 None 或 != None 的所有视图。
下面的代码片段告诉我,我的视图列表长度为 3548 个项目,!= None 的项目数为 316。如果我将 != 更改为 ==,结果为 0。我不明白这是怎么回事。 ..薄薄的不是None或Not None吗?我认为两次运行的总和应该 - 3548。
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
产生的响应。
revit-api - 是否可以使用预设命令通过 Revit Python Shell 保持变量处于活动状态?
我目前正在使用 Revit Python Shell 2017,我想说让“交流”不同的预设命令。
例如,假设我加载了一个房屋模型,并通过我之前创建的预设命令在其上创建了一些额外的墙壁。在创建这些墙时,我可以将所有这些新墙 ID 作为列表存储在一个变量中。
现在,如果我想在之后完全删除这些墙,我想使用我存储在列表中的 ID 来识别它们,然后删除它们。
如果我在交互式 Python Shell 会话中,那么“ID 列表”变量仍然可以访问(只要我不关闭 shell),我可以从中检索 ID,然后删除墙壁。
但是,如果我使用预设命令怎么办?第一个命令是“创建墙壁”,第二个命令是“擦除这些墙壁”。但是那个“IDs list”变量在第二个固定命令环境中不存在,所以我不能用它来擦除墙壁。
那么,方法是什么?当然,在这个例子中,我可以使用不同的方法来识别第二个命令中的墙壁,例如要求用户选择它们等等。但我想要的想法是从第一个命令中列出的商店“ Revit 中的某个位置”,并在调用第二个命令时检索它。
我可以将列表写入外部文本文件,并在第二个命令中读取文件......但是有更清洁的方法吗?
对不起这里使用的初学者语言,希望我的问题足够清楚!有人可以提供帮助;)
最好的,
阿诺。
python - 如何通过 RevitPythonShell/IronPython 访问活动 Revit 计划中的字段?
我正在为 Revit 2016 编写 IronPython 脚本。对于初学者,我正在尝试访问活动 Revit 计划中的值(作为文本),并将它们加载到变量中。这对于非计算值来说足够好。
但是,我的一些计划字段是计算出来的。这是一个示例时间表(此处的所有值都是计算的):
Revit API 显示了 2 个方法,称为TableView.GetCalculatedValueName()
and TableView.GetCalculatedValueText()
,我想使用它们,但似乎不像宣传的那样工作。
运行此代码(在 Revit 中)会产生以下输出:
我想指出,使用TableView.GetCellText()
实际适用于计算值,但这GetCalculatedValueName()
是我真正想在这里工作的。