
pythonocc基础使用:导入模型——ifc格式(ifcopenshell)
发布日期:2021-05-18 09:40:30
浏览次数:26
分类:精选文章
本文共 1217 字,大约阅读时间需要 4 分钟。
借助Pythonocc强大的内核功能,我们同样可以读取建筑CAD信息,特别是IFC格式的建筑模型。如果你之前已经安装了Pythonocc环境,可以直接在此基础上安装ifcopenshell进行使用。
要在Conda环境中安装Pythonocc和Ifcopenshell,可以执行以下命令:
conda create -n pythonocc -c conda-forge -c tpaviot -c 3dhubs -c pythonocc -c ifcopenshell -c dlr-sc -c oce pythonocc-core=0.18.2 ifcopenshell python=3.5
如果你使用Jupyter Notebook,还需要安装pythreejs:
conda install -c conda-forge pythreejs
在使用过程中,可能会出现提示“无法在Linux 64位上编译”的错误,但具体原因并不清楚。这是需要进一步调试的问题。
以下是一些常用的操作示例:
import ifcopenshellf = ifcopenshell.open("Duplex_A_20110907_optimized.ifc")# 获取实体实例f_by_type = f.by_type("ifcwall")[:2]wall = f_by_type[0]# 获取属性wall.GlobalIdwall.Name = "My wall"# 创建新实体f.create_ifc_cartesian_point((1.0, 1.5, 2.0)) # 创建坐标系点实体# 压缩全局唯一标识符import uuidimport ifcopenshell.guidnew_guid = ifcopenshell.guid.compress(uuid.uuid1().hex)# 创建新墙物件owner_history = f.by_type("IfcOwnerHistory")[0]new_wall = f.create_ifc_wall_standard_case(new_guid, owner_history, None, None, "my_tag")new_wall.ObjectType = ''new_wall.ObjectPlacement = Nonenew_wall.Representation = None# 通过实例ID或全局ID访问实体# 通过实例ID访问f[92]# 通过全局ID访问f["2O2Fr$t4X7Zf8NOew3FLIE"]
要将模型写入文件,使用以下命令:
f.write("out.ifc")
特别注意某些属性可能无法直接设置,需要使用适当的方法进行操作。如果遇到问题,请参考ifcopenshell的官方文档或社区获取帮助。
发表评论
最新留言
不错!
[***.144.177.141]2025年04月15日 06时02分34秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
libvirtd:内部错误:Failed to apply firewall rule
2019-03-13
优先级队列2
2019-03-13
TiKV 源码解析系列文章(十三)MVCC 数据读取
2019-03-13
1900分图论 : 1183E1 LCA + Kruskal
2019-03-13
(建议收藏)计算机网络:传输层概述、UDP协议与可靠传输协议习题解析与拓展
2019-03-13
Android 开发常用的工具类(更新ing)
2019-03-13
EasyUI的简单介绍
2019-03-13
初次安装webpack之后,提示安装webpack-cli
2019-03-13
Hbase压力测试
2019-03-14
StreamReader & StreamWriter
2019-03-14
C#中的类、方法和属性
2019-03-14
Python爬虫训练:爬取酷燃网视频数据
2019-03-14
Python数据分析入门(十九):绘制散点图
2019-03-14
Callable中call方法和Runnable中run方法的区别
2019-03-14
Linux yum提示Loaded plugins错误的解决方法
2019-03-14
Netty的体系结构及使用
2019-03-14
xshell解决文本粘贴格式错误
2019-03-14
什么是证券型代币?
2019-03-14