问题标签 [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 访问所有族类型?
是否可以使用 Revit API 访问某个类别的所有族类型(例如窗户、门……)?与事例相反。据我所知,使用 FilteredElementCollector(doc).OfCategory(...).ToElements() 或 FilteredElementCollector(doc).OfClass(...).ToElements() 指向该类/类型的实例,但我想要检查特定类型是否已加载到 Revit 中,即使它尚未实例化。
(我正在使用 pyRevit,Revit 2017)
非常感谢!
revit-api - 使用 Revit API 编码:减少内存使用的技巧?
我有一个非常“一般”的问题。我正在使用 Revit API(使用 python)进行开发,有时我会观察到 Revit 会话在我的测试和试验期间变得更慢(Revit 保持打开的时间越长,它似乎发生的越多)。它没有达到真正有问题的地步,但无论如何它让我想到了它。
所以,由于我没有编程背景,我很确定我的代码充满了真正“非正统”的东西,这些东西可能会好得多。
是否有一些我可以遵循的基本“提示和技巧”(我的意思是,与 Revit API 相关)来帮助提高代码执行速度?或者我应该说:帮助减少内存使用?
例如,我已经了解了可用的“处理”方法,特别是在使用事务时(例如这里:http://thebuildingcoder.typepad.com/blog/2012/09/disposal-of-revit-api-objects。 html),但最后我不太清楚这是否真的很重要(此外,因为我使用的是 Python,并且不知道这让我在讨论使用“使用”时处于什么位置或不)?
我应该“处理”所有东西吗?;)
除了'Dispose'方法,还有别的吗?
非常感谢,阿诺。
revit-api - 访问 Area.Name 引发错误
我只是想找到一种方法来访问 Revit Python Shell 中 Area 元素的 name 属性,尝试查看 Jeremy Tammik 的信息量惊人的博客,尝试 AUGI、Revit API 文档,现在已经找了 2 天...
尝试通过多种方式访问,FilteredElementsCollector(doc).OfCategory(BuiltInCategory.OST_Areas),通过 Area 类尝试,通过 AreaTag 尝试,每次我在每种情况下都遇到错误,它让我发疯,看起来像这样我似乎无法掌握的简单问题!
编辑:也通过元素 id、标签、区域方案、nada、不行...
谁能告诉我如何通过 RPS 访问此属性?
revitpythonshell - Revit API:“隐藏”方法?
在使用 Revit API 并浏览“RevitAPI.chm”文件(以及浏览 Internet 上的示例)时,我注意到有些方法存在,但在“RevitAPI.chm”文件中既没有列出,也没有在使用 RevitPythonShell 时提出建议。
我解释。例如,假设我有一个“空间”对象,通过
如果我这样做,让我们说(假设 s[0] 是一个有效的 Space 对象):
我有一个“索引器对象”:
但如果我这样做:
然后我得到了我的 GeometryElement 对象。例如,get_BoundingBox 也有同样的行为。
现在,这很好,但我可以了解这些 get_something 方法的唯一方法是查看示例(在“RevitAPI.chm”或论坛等上)。所以这有点奇怪,不是吗?从某种意义上说,这些方法实际上并未列出。
所以我想我的问题是:
- 这是正常行为吗?(或者我通常应该使用 s[0].Geometry 来获取 GeometryElement 对象吗?)
- 如果是,……为什么?:D
- 这些“索引器”是什么?
谢谢!阿尔诺。
PS:使用 Revit 2017,使用 RevitPythonShell 和 pyRevit 进行测试
python - RevitPythonShell 随机模块行为怪异?
我正在使用 RevitPythonShell,在我的代码中搜索了一个令人沮丧的错误之后,我发现问题是由于随机模块表现得很奇怪。几乎随机模块中的所有功能似乎都保留了一半的可能性。
random.sample 仅对列表的前半部分进行采样。random.uniform 生成的数字小于两个边界的平均值。random.random() 仅生成 0 到 0.5 之间的数字。
下面的代码来自 revitpythonshell 终端。谁能帮我理解发生了什么?
revit-api - 直接形状导入材质怪癖,材质颜色通过 API 无效,直到通过 UI 编辑材质
描述
我想查询材料的颜色属性。该材质是从 Rhino 3dm(DirectShape Import)自动生成的材质。Color 属性应该是图层颜色,这在查看材质浏览器及其渲染方式时适用。但是,通过 Revit API 查询它会导致颜色属性无效。
在您主动使用 ui 材质浏览器并修改材质之前,从直接形状存储在材质中的颜色参数不会正确初始化/出错。在此之前,使用 API(您可以使用 revit 查找测试)来获取材质颜色返回无效颜色,从而无法检索 rgb 值
但是通过 Ui 编辑材质,例如编辑表面图案或颜色...这会以某种方式刷新颜色参数,并允许之后使用 revit API 读取颜色参数。
到目前为止我尝试过的事情
想法
视觉解释
可以在这里看到问题的可视化 PDF 解释:https ://www.docdroid.net/n2j9Auy/170628-color-direct-shape-material-quirk.pdf.html
revit-api - 如何在 Python(Revit Dynamo)中自动处理 DialogBoxShowing 事件?
如何在 Python (Dynamo) 中订阅 Revit 事件?
特别是 DialogBoxShowing,所以我可以查看它是否是“使用临时隐藏/隔离导出”警告并选择“打开并导出临时隔离模式”?
它在这里用 C# 完成:
http://thebuildingcoder.typepad.com/blog/2013/03/export-wall-parts-individually-to-dxf.html
见小标题:处理和解除警告信息
谢谢!
python - 如何在linux命令行中运行sh文件
我想在 linux 命令行中运行 init.sh 文件
并确保执行 pyenv shell ammt-crawler 行。
但是当我刚刚放 ./init.sh 时,什么也没发生。
为什么要在linux中执行init.sh文件?
(ps)如果你能解释一下这个 init.sh 里面的 export , eval 是什么意思
revit-api - Revit API:创建新的足迹屋顶
我在使用 revit 2018 API 创建足迹屋顶时遇到问题。基本上,我这样称呼:
和:
- “ca”是一个有效的Autodesk.Revit.DB.CurveArray对象。这是一个闭环。
- “doc.GetElement(roofsInstances[0].LevelId)”是一个有效的Autodesk.Revit.DB.Level对象
- 并且“roofsInstances[0].RoofType”是一个有效的Autodesk.Revit.DB.RoofType对象
当我调用它时,它返回:异常:值不能为空。
关于可能是什么问题的任何想法?非常感谢!
revitpythonshell - Revit Python Shell - 更改参数组
我正在尝试编写一个快速脚本来打开一个家庭文档,更改 2 个指定参数的参数组,然后关闭并保存文档。我已经进行了多次测试,并且可以更改指定参数的参数组,但是组的更改不会保存回族文件。当我打开新保存的族时,参数组恢复为原始组。
这适用于 Revit 2017.2。
相同的脚本在 Revit 2018 中的 RPS 中运行时将按需要执行。
有任何想法吗?
谢谢!