问题标签 [ifc-open-shell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
263 浏览

python - 使用 IfcOpenShell 将使用 PythonOcc 创建的形状添加到 IFC 模型

目前,我在 IFC 模型中使对象可见时遇到问题。example_shape我用 PythonOCC [1]创建了一个名为 的形状。此形状在我的 IfcOpenShell 3D 查看器中以所需颜色显示 [2]。现在我希望这example_shape在具有特定属性集的新导出 IFC 模型中也可见。我找不到有关此主题的任何有用信息。

我尝试了不同的方式,但没有好的或想要的输出。这里有没有人曾经遇到过同样的问题?

0 投票
1 回答
299 浏览

c++ - IFC 中的绝对墙位置

因为我想将窗户与墙相关联,所以我试图使用 IFCOpenShell 找到墙的端点。

这目前产生10.1596,0,09.08038,0,0作为两个墙的端点,0 作为两个墙的起点。这意味着它们是平行的。但是当我在 Archicad 中打开 IFC 文件时,它们是正交的。文件中甚至还有一个 IFC 标记,指定一堵墙连接到另一堵 ATSTART/ATEND。我怎样才能得出正确的坐标?

编译命令行:g++ -I/usr/include/oce wallpoints.cpp -l IfcGeom -l IfcParse $(for i in $(cd /usr/lib/x86_64-linux-gnu/; ls libTK*.so | cut -d. -f1 | cut -c4-); do echo "-l $i"; done) $(icu-config --ldflags) -ggdb3

国际金融公司文件:https ://hushfile.it/592c22c69af2a#AwrpRI2O3ecDuAmP_pIjNmCAV3BWvwr30tfrazqJ

0 投票
2 回答
383 浏览

google-colaboratory - 在 google-colaboratory 中安装“Ifcopenshell”

我试过了:import ifcopenshell

之后我尝试了:!pip install -q ifcopenshell

之后使用:!apt-get -qq install -y ifcopenshell

在所有三种情况下我都有一个错误:找不到满足 ifcopenshell 要求的版本(来自版本:)没有为 ifcopenshell 找到匹配的发行版

...如何在 google-colaboratory 中安装“ifcopenshell”?

提前致谢

0 投票
0 回答
249 浏览

python-3.x - 如何从顶部和底部找到 Ifc 元素的方向?

我浏览了一篇研究论文“Applying Novelity detection to identify model element to IFC class misclassifications on architecture and Infrastructure Building Information Models”,发表在 Journal of Computational Design and Engineering (2018) 上,该论文从 IFC 文件中提取数据进行分析。我能够使用 IfcOpenShell 和 pythonOCC 提取面积、体积和回转。如何从本文中提到的 Ifc 元素的顶部和底部提取方向?

我使用此处给出的示例来提取 Ifc 实体的方向。

我得到所有 Ifc 实体的“0”。看来我调用了错误的函数来获取方向。

0 投票
1 回答
587 浏览

python-3.x - 我怎样才能让 Python 的 IfcOpenShell 使用与它读取的文件相同的 unicode 写入?

我正在使用 IfcOpenshell 读取 .ifc 文件。进行一些更改,然后将其写入新的 .ifc 文件。但是 IfcOpenshell 写入 unicode 的方式与读取它的方式不同。

我正在创建一个脚本,为每个 ifcelement 添加一个带有属性的 pset。这些属性的值是从现有属性中复制而来的。所以基本上我正在创建一个 pset,将选定的信息收集到一个地方。在现有值包含 unicode utf-8 之前,这一直很有效。它被读取和解码以在打印时显示正确的值,但它写入 unicode 的方式与读取它的方式不同。我尝试更改 PyCharm 中使用的 unicode,但没有成功。我在其他地方找到了类似的帖子,但没有找到解决办法。从我在其他地方读到的内容来看,它与 unicode 编码器/解码器 IfcOpenshell 的使用有关,但我不能确定。

我希望写入的 p_verdi 等于读取的 p_verdi。

原读(D\X2\00F8\X0\r):

写(D\X4\000000F8\X0\r):

解码为“Dør”

这也发生在硬间隔上:

正确打印为:('2 090')

写成:

我的 ifc 使用软件无法读取书面形式。

0 投票
1 回答
177 浏览

parsing - IfcOpenShell(Parse)_IFC PropertySet,打印问题

嗨,我是编程新手,在打印我的属性集和值时遇到问题。

我的 IFC 中有更多元素,并且想要解析所有属性集和值。我当前的结果是元素 ID(对于每个元素),但它采用第一个元素的属性(属性集和值)。草图: 见图片

我的代码:

有人有解决办法吗?

谢谢和亲切的问候,

0 投票
1 回答
114 浏览

python - IfcOpenShell:尝试返回包含 ifcopenshell 对象及其相应形状的字典时出现段错误

我试图从 ifc 文件中提取所有 IfcProduct 形状并将它们(及其相应的产品)返回到我程序的另一部分。问题是,当我尝试返回包含具有相应形状的这些对象的字典时,程序会因分段错误而退出。在调试时,我看到数据保存在数据结构中,但在返回后或尝试访问此 dict 中包含的数据时,调试器以段错误退出。

我通过 conda 安装了 ifcopenshell,它在 ubuntu docker vm 中运行。

这是我试图运行的代码:

0 投票
1 回答
394 浏览

python - IfcOpenShell 从 IfcWall 中查找坐标

我想从 IFC 模型中找到两点之间的长度。这是 IFC 模型中的 IfcWall 示例。

IFCPOLYLINE 有两个点(#10=0,0 和 #26335=4.24,0。)我想找出这两个点之间的距离。

其他墙有一定的长度,但这一面没有。以下是其他墙壁的示例:

这是我的代码示例:

要应用数学公式,我必须从墙上提取 p1 和 p2 的坐标。我不会在这里走得更远。

先感谢您!

0 投票
1 回答
654 浏览

python - 使用 Ifcopenshell 和 OpenCascade 从 IFC 3D 实体获取几何图形

我在 IfcBuildingElementProxy 类型的 IFC 文件中有多个标准形式的积木。虽然我已经设法从 IFC 文件中提取了它们的位置,但现在我很难从文件中获取几何图形(长度、高度、宽度)。我知道有两种方法可以获得几何:

  1. 通过砖块的表示属性解析并尝试编写代码来计算几何形状。这种方法真的很累,因为 IFC 文件往往会处理很多参考。我不会走这条路。

  2. 使用 ifcopenshell 和 opencascade 等引擎获取几何图形。我知道如何将砖块铸造成 TopoDS 对象,但很难找到正确的方法来获取几何图形。

0 投票
1 回答
100 浏览

ifc - 使用 ifcopenshell 查找 IfcBuildingStorey 的子级

通过使用 ifchopenshell,我可以使用此代码轻松遍历所有楼层

但是,对于每一层,我想找到属于它的所有 IfcSpace 类型的 Ifc 元素。

我该如何查询这个?谢谢你。