使用python从程序中抓取模型信息
Posted
技术标签:
【中文标题】使用python从程序中抓取模型信息【英文标题】:Scraping model information from a program using python 【发布时间】:2015-11-19 11:16:27 【问题描述】:我正在尝试从建筑(Autodesk - Revit)模型中提取物理属性信息(特别是尺寸和阻力值),并将该信息组织为特定变量导出。
稍微扩展一下,对于一项独立研究,我想在 Revit 模型上执行能量平衡,从简单开始并从那里开始构建。目标是编写代码,从 Revit 模型收集信息,然后将其组织成变量,例如“总墙面积”、“绝缘电阻”、“干墙深度”、“总窗口面积”等,然后可以发送到模型(或简单的电子表格)并按原样存储。
我希望这是有道理的。
鉴于我是一名新手编码员,并且更喜欢用 Python 编写代码,是否有人有任何建议或资源关于从 Revit 模型导入和组织特定参数的有效(简单)路径?
是否有必要(或实际上有必要,考虑到我的知识范围)使用此程序 (Revit) 的 API 来完成此任务?
我认为这项任务类似于网络抓取,但我没有可调用和搜索的 html,因此我很高兴地一路前行,询问比我知识渊博的人是否有任何见解。
简要背景,我对 Revit 或 API 几乎一无所知,对 Python 编码有基本的了解,真的很想了解更多!
非常感谢您提供的任何帮助!我也很乐意回答出现的任何问题。
感谢您的阅读,祝您有美好的一天!
【问题讨论】:
【参考方案1】:很好的问题 - 我的 +1 绝对是 Revit Python Shell (RPS)。
同样,我对 Python 有基本的了解,但对 Revit API 一无所知,但我使用 RPS 为我们的办公室编写了多个插件(包括使用 winforms 的丰富用户界面),到目前为止,我对 Python 编码没有任何限制。确实有一些将 C# API 示例翻译成 Python - 但回报是看到几段代码变成了几行......
RPS的制作者(达人)也非常有帮助,所以没有问题没有得到解答。
免责声明是(和你一样),我是一个新手程序员,只是想使用 API 来扩展 Revit。胜利的RPS
【讨论】:
这应该是一条评论。 谢谢!很高兴听到您使用 RPS 的经验;我是否正确理解 RPS 使用不需要 SDK?我已经开始使用 RPS,它似乎独立于 SDK 运行,但我很容易遗漏一些东西。再次感谢! 无论您使用哪种语言,Revit API SDK 都是核心参考 - 如果使用 RPS,您只需弄清楚如何将 C# 转换为 Python。理论上(到目前为止在实践中)SDK 中的所有内容都可以在 RPS 中使用。但是,通常情况下,如果您阅读大多数代码示例,大部分工作与 API 几乎没有关系——它更多的是管理、过滤、呈现数据。 Python 在这方面真的是忍者!【参考方案2】:确实,Revit 最常用的编程语言是 C# (.NET),如果您决定使用 IronPython,它应该可以工作,但材料较少......
使用 C#,检查My First Revit Plugin 培训。对于您的具体情况,download the SDK 并检查“防火等级”示例。
【讨论】:
我相信我现在会使用 python 运行,看看接下来几周我会得到什么。谢谢你的资源!无论我选择哪种语言,它们都很有用,而且看起来 C# 可能会在我的未来出现。周日快乐!以上是关于使用python从程序中抓取模型信息的主要内容,如果未能解决你的问题,请参考以下文章