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

revit-api - 2 顺序事务,设置详细信息编号(Revit API / Python)

目前,我制作了一个工具来根据它们在工作表上的位置重命名工作表上的视图编号(“详细编号”)。这是破坏的地方是交易。我试图在 Revit Python Shell 中按顺序执行两个事务。我最初也是在 dynamo 中这样做的,并且有类似的 fail ,所以我知道它与事务有关。

事务 #1:为每个明细编号添加后缀(“-x”)以确保新编号不会冲突(1 为 1-x,4 为 4-x,等等)

事务 #2:使用基于视口位置计算出的新编号更改详细信息编号(1-x 将是 3,4-x 将是 2,等等)

更好的视觉解释在这里:https : //www.docdroid.net/EP1K9Di/161115-viewport-diagram-.pdf.html Py 文件在这里: http: //pastebin.com/7PyWA0gV

附件是python文件,但基本上我想做的是:

附上py文件

0 投票
2 回答
507 浏览

revit-api - 从 Revit 中提取项目属性

是否可以使用 Revit Python Shell 从 Revit 文件中提取、导出或复制项目属性?如果是,它有多难?

0 投票
3 回答
1211 浏览

python - Python Code-While 循环永不结束

我是 Python 新手。尝试学习它。这是我的代码:

代码正在执行,但循环总是重复,不允许我输入第二个整数。

输出:

我能知道我的代码有什么问题吗?谢谢

0 投票
1 回答
225 浏览

ironpython - Ironpython 和 GDAL

我通常使用 Python 2.7,尤其是用于处理 GIS 数据。

当我想使用 Revit/Dynamo 脚本时,我必须使用 Ironpython 2.7。这两个版本都安装在我的电脑上,它们工作正常。现在我想在我的 revit/dynamo 环境中集成一些 GIS 流程。

有没有办法在 Ironpython 中使用:gdal、numpy 和 arcpy?

0 投票
2 回答
349 浏览

python - Revit Python 宏和 RevitPythonShell 模块,或加载的包

RevitPythonShell 脚本和 Revit Python 宏都依赖于 Iron Python。在这两种情况下,至少在 Revit 15 中,都不需要安装 IronPython。我相信 RevitPythonShell 具有处理 IronPython 脚本 (rpsruntime.dll) 的能力。Revit 必须安装相同的容量。

因此,我假设这两个编程环境是从不同的来源执行的。这是准确的吗?

我如何能够像通常使用 pip 一样安装外部模块?换句话说,如果我想使用 docx、pypdf2、tika 或其他库 - 这可能吗?

0 投票
1 回答
215 浏览

revit-api - 使用 Revit 2017 Python API 指定材料的比热

使用 Revit 2017 Python API,我正在尝试创建新材料,然后组装其中的一些以创建新型墙。它适用于所有属性,除了比热!

基本上,我所做的是:

  1. 创建热资产:

    /li>
  2. 为该热资产设置不同的热属性(虚拟值):

    /li>
  3. 然后我使用该热资产创建一个 PropertySetElement:

    /li>
  4. 然后我将它分配给我的材料(我之前创建的):

    /li>

之后,我查看了 Revit 中的材料列表,并查看了热性能。一切似乎都很好,除了比热,它保持在 0.0239 btu/(lb. F),无论我在分配比热时输入的值是什么。密度还可以,导热系数还可以,但比热不行。

我没有收到错误消息。

我错过了什么?

非常感谢您的帮助。

阿尔诺。

0 投票
1 回答
71 浏览

revit-api - 通过 Revit 2017 API 的特定热量单位规范

参考我在此处发布的上一个问题,我对 Revit 所需的单位也有疑问。在 RevitAPI.chm 帮助中,我阅读了 ThermalAsset.SpecificHeat 属性“值以英尺/开尔文为单位,平方秒 (ft/(K s²))...”。如果我没记错的话,这些单位不能转换为 J/(kg K)。所以,我猜它实际上是 (ft²/(K s²))。有人可以证实这一点吗?

谢谢!

阿尔诺。

0 投票
1 回答
507 浏览

revit-api - 在 Revit 2017 API 中获取房间的邻居

我正在尝试浏览建筑物的所有房间(或实际上所有空间),以便获取每个空间的相邻空间列表。我在这里这里阅读了一些关于它的非常古老的帖子,但是这些使用 BoundarySegment 对象的“元素”属性,例如:

如果我没记错的话,这不再可能从 BoundarySegment 访问墙壁对象(?)是否有替代方案?

谢谢,

阿尔诺。

0 投票
2 回答
1079 浏览

revitpythonshell - 从 Revit Python Shell 读取 Excel 文件

我正在尝试使用 Revit Python Shell 从 Revit 2017 API 读取 Excel 文件。基本上,我不知道我在做什么,但我试过这个:http ://wiki.theprovingground.org/revit-api-py-excel ,但我收到一个错误:

回溯(最后一次调用):文件“”,第 1 行,EnvironmentError:System.Runtime.InteropServices.COMException(0x800401F3):无效的类字符串(来自 HRESULT 的异常:0x800401F3(CO at System.Runtime.InteropServices.Marshal.CLSIDFromProgID) (String progId, Guid& clsid) 在 Microsoft.Scripting.Interpreter.FuncCallInstruction`2.Run(InterpretedFrame frame) at Microsoft.Scripting.InteropServices.Marshal.GetActiveObject(String progID) 在 Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame ) 在 Microsoft.Scripting.Interpreter.LightLambda.Run4[T0,T1,T2,T3,Tret](T0 arg0, T1 arg1, T2 arg2, T3 arg3) 在 IronPython.Compiler.Ast.CallExpression.Invoke1Instruction.Run(InterpretedFrame 框架) 在 Microsoft 的 Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)。IronPython.Compiler.PythonScriptCode.RunWorker(CodeContext ctx) 在 IronPython.Hosting.PythonCommandLine.<>c__DisplayClass1.b__0() 的 Scripting.Interpreter.LightLambda.Run2[T0,T1,Tret](T0 arg0, T1 arg1)

运行时:System.Runtime.InteropServices.Marshal.GetActiveObject('Excel.Application')

我在 Windows 7 机器上执行此操作。

除此之外,我几乎尝试了我在网上找到的每个模块,这些模块应该有助于打开 xlsx 文件,但每次我都会在某些时候出错。有人可以帮忙吗?它也可以是 ods 文件。

谢谢!阿尔诺。

0 投票
1 回答
1387 浏览

revit-api - 使用 API Revit 运行“按 ID 选择元素”的“显示”功能

在用户界面中,Revit 有一个“按 ID 选择元素”,其中有一个“显示”按钮。我可以使用 RPS 和自定义 pyrevit 代码来选择元素,但是我想让我的用户能够扫描所有视图并打开类似于“显示”按钮的元素可见的视图。在遍历视图和视图中的元素之前,我想我会问 API 中是否有直接打开的命令。或者一种调用显示功能区命令的方法。提前致谢