New geometry tree documentation picture and minor documentation improvements including mention of COBie 2.4 legacy mode in IfcFM.

This commit is contained in:
Dion Moult
2023-10-06 13:05:38 +11:00
parent ed3e9f3347
commit 3d76de3041
5 changed files with 16 additions and 3 deletions
+5
View File
@@ -44,6 +44,11 @@ with this data structure that IfcFM supports:
finishes. It is published by the U.S. Army Corps of Engineers, National finishes. It is published by the U.S. Army Corps of Engineers, National
Building Information Model (NBIMS-US) standard, version 2, chapter 2.4, and Building Information Model (NBIMS-US) standard, version 2, chapter 2.4, and
in British Standard BS 1192-4:2014. in British Standard BS 1192-4:2014.
- **COBie 2.4 Legacy**: During the original development of **COBie 2.4**, a
mapping to IFC was developed as part of the now unmaintained `COBie-plugins
<https://github.com/opensourceBIM/COBie-plugins>`__ and loosely defined in
Annex A with a number of ambiguities and oddities to accommodate the poor
state of BIM vendors at the time. This preserves the original implementation.
- **COBie 3.0**: an update to **COBie 2.4** published by the National Building - **COBie 3.0**: an update to **COBie 2.4** published by the National Building
Information Model (NBIMS-US) standard. Unlike **COBie 2.4**, it is not a Information Model (NBIMS-US) standard. Unlike **COBie 2.4**, it is not a
British Standard nor developed by the U.S. Army Corps of Engineers. British Standard nor developed by the U.S. Army Corps of Engineers.
@@ -66,9 +66,12 @@ related information in ``shape.geometry``:
verts = shape.geometry.verts verts = shape.geometry.verts
# Indices of vertices per edge e.g. [e1v1, e1v2, e2v1, e2v2, ...] # Indices of vertices per edge e.g. [e1v1, e1v2, e2v1, e2v2, ...]
# If the geometry is mesh-like, edges contain the original edges.
# These may be quads or ngons and not necessarily triangles.
edges = shape.geometry.edges edges = shape.geometry.edges
# Indices of vertices per triangle face e.g. [f1v1, f1v2, f1v3, f2v1, f2v2, f2v3, ...] # Indices of vertices per triangle face e.g. [f1v1, f1v2, f1v3, f2v1, f2v2, f2v3, ...]
# Note that faces are always triangles.
faces = shape.geometry.faces faces = shape.geometry.faces
# Since the lists are flattened, you may prefer to group them like so depending on your geometry kernel # Since the lists are flattened, you may prefer to group them like so depending on your geometry kernel
@@ -5,6 +5,8 @@ IfcOpenShell includes a utility to build a unbalanced binary tree of geometry
and their bounding boxes. After a tree is built, you can efficiently select and their bounding boxes. After a tree is built, you can efficiently select
geometry by specifying a point, radius, or bounding box. geometry by specifying a point, radius, or bounding box.
.. image:: images/geometry-tree.png
The most efficient way to build tree is by using the iterator, as shown in the The most efficient way to build tree is by using the iterator, as shown in the
example below: example below:
Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

@@ -20,7 +20,9 @@ Pre-built packages
------------------ ------------------
Pre-built packages are prepared sporadically depending on whether there are Pre-built packages are prepared sporadically depending on whether there are
changes in the IfcOpenShell C++ core. changes in the IfcOpenShell C++ core. This will give you the latest available
C++ bindings, but may potentially contain outdated pure Python modules, such as
the API.
1. Choose which version to download based on your operating system, Python 1. Choose which version to download based on your operating system, Python
version, and computer architecture. version, and computer architecture.
@@ -94,9 +96,10 @@ changes in the IfcOpenShell C++ core.
PyPI PyPI
---- ----
PyPI releases are automatically performed once a month. PyPI releases are automatically performed once a month and contain the latest
Python code that point in time.
Releases on PyPI may potentially ship slightly outdated precompiled binaires of Releases on PyPI may potentially ship slightly outdated precompiled binaries of
the C++ core. This is because the binaries typically go through a period of the C++ core. This is because the binaries typically go through a period of
manual testing prior in case of high-risk changes. manual testing prior in case of high-risk changes.