noBIM Image Generator 用于在不安装 Revit 等 BIM 软件的条件下,从 Revit/IFC 文件转换出的 Excel 数据生成建筑可视化图像。其思路是先用 Python 读取已转换的 Excel(Elements 工作表),再绘制图形,从而避免昂贵的 BIM 授权、手工截图和逐项渲染,并支持批量处理与流程集成。
安装依赖:pip install pandas matplotlib seaborn plotly ifcopenshell。核心类 NoBIMVisualizer 提供以下能力:load_from_excel 从 Excel 加载元素数据并返回元素数量;generate_3d_scatter 按类别等字段着色生成三维散点图,需要 BBox_CenterX/Y/Z 边界框数据;generate_floor_plan 按指定楼层绘制平面图,可画墙体与房间标注;generate_category_chart 绘制前 20 类构件的水平条形图;generate_volume_treemap 用 Plotly 生成按类别汇总的体量树图;batch_generate 对多个 Excel 项目批量生成 3D 散点图和类别图,并跳过出错文件继续执行。
用法上,先实例化 viz = NoBIMVisualizer(),调用 viz.load_from_excel("路径/Office.xlsx"),再调用相应生成方法输出 PNG;批量时可用 Path(...).glob("*.xlsx") 收集文件后调用 viz.batch_generate(文件列表, output_dir="输出目录")。还可结合 reportlab 将生成图像写入 PDF 报告。
限制:三维散点图必须包含边界框中心坐标,否则抛错;平面图要求数据含 Level 且指定楼层存在元素;数据须先转换为 Excel,BIM 原始解析依赖 ifcopenshell 等库;树图需通过 Plotly 写图,可能需要相应的图像导出依赖。官方说明未提供具体参数范围、性能指标、收费与平台支持信息。