IfcOpenShell安装步骤与注意事项

IfcOpenShell安装步骤与注意事项

大家好我是一个计算机菜鸟,本硕我是土木工程的,现在在香港读经管的博士,之前的编程经验是MATLAB和Python,但是都是多个循环的嵌套调用,对于各种库的安装是完全没经验的。

课题需要,要用IfcOpenShell-Python这个库,之前在网上找了很久都没有相关资源,甚至我直接问原作者,原作者的回答也是爱答不理,从2019.12.20以来我试了接近五十种方法都没有成功安装。直到今天(2020 0111)我终于安装好了这个库,实现了一些基本操作。因此我写个帖子,算是弥补一下这个小众库的空白。

备注:本安装教程不需要安装PythonOCC等其他库。安装这个库我觉得比ifcopenshell更费劲!

软件安装平台

我选用的是Anaconda 3-2019.10-Windows-x86_64,加Python 3.7.6,加JetBrains PyCharm Community Edition 2019.2.3。当然还有在github上下载的ifcopenshell-python-37-v0.6.0-9bcd932-win64。总之就是Python 3.7的环境。

具体步骤

第一步是上述软件的安装。安装应该没问题吧,大家都应该会。我就默认大家都安装好了。

第二步是创建一个环境变量
在Anaconda 3中。具体操作为:
点击navigator(推荐使用管理员身份),点击打开后左侧的environment,再点击下方的create,创建一个新的环境,我起名叫做firstdemo,Python版本选用3.7。具体如图
点击它
点击environment
在这里插入图片描述
配置好了以后firstdemo就出现在了create上面,因为我已经配置好了所以点开navigator后就能看到。

**第三步是配置Anaconda 3的环境变量。**这一步非常关键,而且网上给出的方法说实话,我试了就没有一个成功的,因为他们说的都不完全对。所以我就总结一下吧。

环境变量中,我截图中出现的所有的跟Anaconda 3相关的,都要配置环境变量。具体的细节步骤:此电脑,右键,点击属性,点击高级系统设置,点击环境变量,双击Path。就出现了这个图:

红框内是我配置的环境变量
这些都配好了,就进入第四步。

**第四步是配置pycharm。**打开pycharm,点击左上角file,点击setting,再点击project interpreter,或者直接在右面那个放大镜,搜索project interpreter。点击右上角的螺丝标志,把这个框框配置到conda中的Python.exe,如下图所示:
配置好了的截图

第五步安装ifcopenshell GitHub中给出了语句,但是没给步骤,我补充一下。
点击prompt(如下图),建议管理员身份打开,然后输入这个语句:conda install -c conda-forge -c oce -c dlr-sc -c ifcopenshell ifcopenshell

安装过程中全部选是,就是y。然后就安装好了,也有截图

prompt

打开后的画面
安装后的画面

**第六步是安装boost库。**因为吧GitHub上说了boost库是必须安装的,当然我不知道这是啥玩意,反正就安他娘的吧。
安装的方法在这里,我就直接复制粘贴了,我自己是VS2019:

VS2019配置BOOST-v1.70.0库_c++ boost,vs2019配置boost库,boost1.70.0_第七宇林的博客-CSDN博客 https://blog.csdn.net/jhsword/article/details/95061632

VS2017编译boost库 - ike_li - 博客园 https://www.cnblogs.com/ike_li/p/7890868.html

第七步是尝试运行。1-6做完之后我建议重启一下。不知道哪些东西是需要重启后使用的,对于咱们计算机小白来讲,重启一次是比较必要的。

尝试运行很简单,我们再打开pycharm。点击新项目,然后注意,interpreter如下图所示:
在这里插入图片描述
注意这里的interpreter是anaconda中的Python,不是默认Python37文件中的Python。不过这块错了也没关系,后面还能补救。总之建立一个新文件夹,然后加入一个新的py文件。如下图所示:
注意右下角哦
注意,右下角的环境,一定要是带有anaconda绿色圈圈logo的Python3.7。如果前一步没整好报错,这块一定要点击带logo的Python3.7,如果前一步没问题,也要检验一下。
然后打点代码。最简单的语句:import ifcopenshell。然后run一下,发现啥事没有,OK了这就成功了。我之前那几十次失败都是显示:No module named ifcopenshell
测试一下
之前报错
再来一个相对复杂一点的语句,目的是统计一个ifc文件中,第一个板的globalID和名字。语句如下,运行结果如下图:
import ifcopenshell
ifc_file = ifcopenshell.open(r’C:\Users\18640\Desktop\IFC+RVT\sequence\先梁后柱 删除单位+梁多余几何信息.ifc’)
slab = ifc_file.by_type(‘IfcSlab’)[0]
print(slab.GlobalId)
print(slab.Name)
板的ID和名字

这样就实现了正常操作。当然还有很多有趣的小案例,这个都是后话,总之安装结束啦!!

他娘的,安装这么个玩意,我写了快五千字,墨迹了半个多月。

最后是我自己今晚刚建立的群:ifcopenshell 交流群。群号:1027598984 目前就两个人,算我。