问题标签 [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 API:维护多个 API 版本的代码
我有一些为 Revit 2019 或以下版本编写的 Revit 加载项。现在我正在尝试升级 Revit 2020 的工具,但似乎 API 方法发生了一些重大变化。幸运的是,其中一些是向后兼容的,因此我可以使用新的 API 方法更新代码并将其用于 Revit 2020 和 2019。但是,其中一些仅适用于 Revit 2020。(ex)ImageInstance.Create(Document, View, ElementId, ImagePlacementOptions
)
在这种情况下,保持相同代码库与不同 Revit 版本兼容的最佳方法是什么?我可以很容易地想象使用 If 语句来确定每个 Revit 版本的正确 API 方法,但对于工具的维护来说似乎并不理想。
任何意见,将不胜感激!
c# - Revit API - 新墙类型 - 如何排列图层?
我正在通过 Revit API 从头开始创建新的墙类型,并且我已经走得很远(在我看来)但是我还有最后一个问题要解决。
如何按照我想要的方式排列墙壁的层次?墙是由核心边界内的所有层创建的,这显然并不理想。我正在尝试将外部的 Finish 1 和 Finish 2 层置于核心边界的任一侧
任何和所有的帮助表示赞赏。
我的墙是这样创建的:
以下是我一直在查看的资源,但没有找到任何显示如何重新排列图层的内容。
https://thebuildingcoder.typepad.com/blog/2009/06/core-structural-layer.html
https://thebuildingcoder.typepad.com/blog/2012/03/updating-wall-compound-layer-structure.html <--可能是信息最丰富的,但我没有找到“setlayerIndex”命令
下面是我的代码: 代码
python - RevitPythonShell 用户输入 raw_input 错误
有人知道如何在 RevitPythonShell 2018.1.0.0 中修复此错误吗?
python - 使用 Cucumber 和子进程从 Node js 调用时,循环在 python 中不起作用
主类:
我正在尝试创建一个 e2e 自动化测试用例,其中数据的创建是测试脚本的一部分。我用 python 编写的测试数据创建,我想将它与黄瓜框架一起使用。
我正在使用带有打字稿的 Cucumber,其中一个步骤是创建测试数据,它使用 spawn 在步骤定义中调用的方法之一中调用上述 python 脚本。
用例: 1. 在一个文件夹中创建 4 个文件。2.检查上述文件是否被删除(实时测试文件被删除,因为读取这些hl7文件的工具在读取后将其删除。)3.一旦删除,然后在另一个目录中创建另一个文件4.检查上述文件是否被删除. 5. 打开 UI 6. 在 UI 上验证数据。
流程突然结束,显示测试完成,通过了一个场景,但只创建了 4 个文件,其余逻辑不起作用。当我通过 python 执行上述 python 脚本时,它按预期工作,但不与 spawn 一起工作。
我看到的一种一般行为是,当我试图从 spawn 调用 python 中的循环时,它一直工作到 15K 的值,之后它就不起作用了
python - Revit 使用 Python,按族过滤(族符号)
我刚刚开始使用 Revit API,我有一个问题。我现在一直在寻找一种按族过滤 Revit 元素的方法。这是我的程序:首先我做了一个过滤元素收集器来获取所有家庭符号 ID。
这应该让我得到家庭符号 ID。然后,我尝试使用此 ID 创建过滤后的元素收集器。
这给了我以下错误:Microsoft.Scripting.ArgumentTypeException: expected BuiltInParameter, got ElementId
。
BuiltInParameter
如果FamilySymbolFilters
要求元素 ID ,我不知道为什么它期待一个。无论如何,任何帮助将不胜感激。谢谢!
f# - Revit API:System.MissingMethodException:在 Autodesk.Revit.UI.IExternalApplication 上找不到方法
我正在使用类似于 RevitPythonShell 或 pyRevit 的 F# 脚本编辑器。由于它是一个非模态 WPF 窗口,我尝试按照该ExternalEvent
模式来评估脚本。在具有接口的主插件类上,IExternalApplication
我还创建了一些实用程序成员来引发外部事件。我创建了一个静态成员来访问这个插件类的当前实例。见插件:https ://github.com/goswinr/Seff.Revit/blob/minimal/Addin.fs#L51
插件运行后,我将当前运行插件的引用 ( #r @"D:\Git\Seff.Revit\bin\Debug\net472\Seff.Revit.dll"
) 发送到 Fsharp Interactive。静态成员具有正确的签名可见,但使用它们时,我得到一个System.MissingMethodException
. 这只发生在使用 Revit 命名空间的成员身上。与 Revit 无关的成员按预期工作。
编辑: 当我启动 Revit 并打开一个项目时,我只有这个错误。首次启动 Revit,然后从 revit 中打开项目时,不会发生此错误。
此 Revit 和 F# repro在自述文件末尾指出了一个类似的错误。
revit-api - Revit API - 从 Revit 项目中完全删除族
我在尝试从项目中删除一个家庭时遇到了问题。我可以删除族类型,但似乎该族仍在项目中加载。有没有办法彻底去除?
到目前为止,我已经查看了这些来源:
这是我的代码:
revit-api - Revit 2020 API - 在家庭文档打开和激活后家庭文档活动视图返回空值
我正在尝试获取我家人文档的活动视图,但它返回 null。在 Revit 2019 中,它总是会返回一个值,但是我最近切换到了 Revit 2020,它似乎给了我一个问题。
有没有其他人遇到过这个问题并找到解决方案?
我偶然发现了这篇文章,但它的建议是使用我不喜欢的过滤元素收集器。我在将它传递给其他类时遇到问题。Revit 2019 看起来如此简单。
注意:这在 Revit 2021 中也存在
revit-api - Revit API - 如何检查打开的事务、子事务或组事务
我正在开发一个按钮,在该按钮上打开了一个项目文档并打开了一个家庭文档。我正在尝试关闭家庭文档,但是我收到一条错误消息:
Autodesk.Revit.Exceptions.InvalidOperationException: 'Close is not allowed when there is any open sub-transaction, transaction, or transaction group.'
我已经检查了我的所有交易,它们都使用transactionName.Start(document)
and启动和提交transactionName.Commit()
有谁知道检查任何正在进行的活动交易的方法?
我也尝试过使用
'RevitCommandId closeDoc = RevitCommandId.LookupPostableCommandId(PostableCommand.Close);
uiapp.PostCommand(closeDoc);'
但是,这往往只想关闭我的项目文档。
///////////////////////////////////更新////////////// ///////////// 太棒了,我刚刚发现我不需要使用 uiapp.OpenAndActivateDocument()。我不知道您可以在不打开文档的情况下编辑家庭。这解决了我的问题。不过,我仍然很好奇是否有办法检查未结交易。
api - RPS:无法导入名称 ExporterIFCUtils
使用 revitpythonshell 2020 我尝试导入类ExporterIFCUtils
并得到错误:
“异常:IronPython.Runtime.Exceptions.ImportException:无法导入名称 ExporterIFCUtils”