本来打算用ifcopenshell的c++sdk去转化,发现有问题,死活编译不过去。
后来用ifcconvert将.ifc转换成.obj,没有材质,再把obj用文本读取,再写在第二行上mtllibt 材质写到obj文件,可以发现有材质。
用deepseek进行,发现一直推荐ifcopenshell的python,我也不会Python啊,但是编译不过去,只好下载python,再更新pip,下载ifcopenshell。然后从python的hello,用c++ system()调用strcommond = "py "+ " print(“hello”),再到 传递文件名给.py文件,可以看到一部分信息。
由于每部分的guid唯一,再把obj重新ifcconvert 的 --use-element-guids:会在输出文件中嵌入这些 GUID
,这样每部分的几何体就是g +guid。
下一步,打算把obj的每部分拆分成1.obj,2.obj…这样点击每个obj时可以获取guid,
再把获取的ifc文件中的guid信息表中,获取相应信息,