Dion Moult
c87911f00e
IFC selector now uses "class" as a keyword to get the IFC class to disambiguate between "type" and "class".
2023-03-27 21:47:11 +11:00
Dion Moult
b9c99b35a5
Fix #2881 . Support added for referencing nested relationships and material set items.
2023-03-25 22:07:18 +11:00
Dion Moult
73b6d23d4f
Minor fix
2023-03-24 16:05:27 +11:00
Dion Moult
b4f486e9aa
Minor fix
2023-03-23 16:54:15 +11:00
Dion Moult
45209be0ff
You can now easily get a list of FMHEM classes and subtypes to list explicitly in IDS requirements
2023-03-21 17:15:59 +11:00
Dion Moult
088354a96b
Fix critical bug where copied representations would be inefficiently or incorrectly replicated.
2023-03-19 22:03:45 +11:00
Dion Moult
32f5a77d07
New shape utilities for getting top / bottom elevations and bbox.
2023-03-15 18:51:31 +11:00
Dion Moult
1250a20e35
Fix #2858 . Fix #2856 . BlenderBIM Add-on drawings and IfcCSV now support the new quoted and escaped selector capabilities.
2023-03-13 11:09:56 +11:00
Dion Moult
3e2ca328d2
Get side area lets you choose the side axis now in util.shape.
2023-03-09 17:48:42 +11:00
Dion Moult
93b44b43a5
You can now get all materials including materials in sets via the util module.
2023-03-09 17:48:10 +11:00
Dion Moult
4ebcf8133c
Fix #2435 . The selector now supports regex filtering.
2023-03-09 11:07:28 +11:00
Dion Moult
4282014bfa
Fix #2843 . You can now get the bounding box centroid of geometry.
2023-03-08 20:58:21 +11:00
Dion Moult
30d6289942
New utility to quickly get the grid north or true north angles.
2023-03-06 17:47:22 +11:00
Dion Moult
a43a3d1ecd
Fix #2745 . You can now quote and escape complex pset names in the selector.
2023-03-06 17:47:03 +11:00
Andrej730
47192cc834
Fixed typo in generate_pset_templates.py
2023-03-03 11:08:56 +05:00
Andrej730
aa8da74ed8
ifc2x3 pset library name fix + copyrights
2023-02-24 11:07:33 +05:00
Andrej730
5b5dd73684
get_inverse_attributes - added more correct recursive unpacking for aggregates and selections
...
Not affected the result schemas though
2023-02-23 18:56:24 +05:00
Andrej730
708dc6aca2
IFC4X3/IFC2X3 pset templates library
...
Generated from xmls from the ISO release of IFC4X3.
Based on https://standards.buildingsmart.org/IFC/RELEASE/IFC4/ADD2_TC1/HTML/annex/annex-a/general-usage/IFC4_ADD2.ifc
Also generated pset templates library for IFC2X3 (also based on similar xmls) but IFC2X3 ifc pset library is using... IFC4X3 schema because IfcPropertySetTemplate and IfcRelDeclares are not available in IFC2X3. Which is okay for our purposes for now.
Will need to update IFC4X3 library if one of the issues will be resolved:
https://github.com/buildingSMART/IFC4.3.x-development/issues/587
https://github.com/buildingSMART/IFC4.3.x-development/issues/586
2023-02-23 18:17:14 +05:00
Andrej730
ab9a4856ab
Update entity-types mapping for ifc4
...
Added IfcWindowStyle and IfcDoorStyle for suitable StandartCases since StandartCases inherit from IfcDoor and IfcWindow.
2023-02-17 17:57:17 +05:00
Andrej730
d52618277e
Ifc4x3 - entity-types mapping
...
- added mapping entity-types mapping based on iso release of ifc4x3
- added some manual corrections for `generate_util_type_json.py` if someone would regenerate the map for ifc4.
- manual correction in ifc4x3 mapping for IfcCivilElement. It could be removed in the future releases of IFC if https://github.com/buildingSMART/IFC4.3.x-development/issues/583 is resolved
If curious to look what were the changes for mapping between ifc4 and ifc4x3:
https://github.com/IfcOpenShell/IfcOpenShell/commit/da51253fb0a9d08aa93f5fe3c074d3592b3aa997#diff-98f525c91bb47b9820e603fba61cc015d3e6ae7261593d727c51114e3ff73aa7
2023-02-17 17:57:16 +05:00
Andrej730
476ab506d0
Added ifc4x3 json schema and it's parser
...
API for docs works the same way as it worked for ifc2x3 and ifc4.
Besides changing `doc.py` and adding `.json` schemas added `ifc4x3dev_scrape_data_for_docs.py` (it's kind of hacky now and relies on `server.py` code from the further mentioned repo) that's used to parse some entities descriptions from https://github.com/buildingSMART/IFC4.3.x-development for later use in `doc.py`.
2023-02-15 18:38:04 +05:00
Dion Moult
82b201a14e
Fix #2352 . Text styling is now possible with custom classes.
2023-02-12 15:01:47 +11:00
Andrej730
0d0691a012
Door modifier - double doors type support
2023-02-11 16:09:13 +05:00
Dion Moult
ceaa930aad
Fix #2756 . Bug where reassigning classes with a enum didn't work.
2023-02-11 11:03:35 +11:00
Dion Moult
ae564d1b61
Fix #1040 . New utility for geometric shape analysis only requiring numpy.
2023-02-10 16:03:16 +11:00
Dion Moult
50d71d5ea1
Black code and make profile representation optional for windows.
2023-02-09 20:13:14 +11:00
Sigma Dimensions
7fe2634d32
Improve guess schedule date range ( including tasks with input assignements)
2023-02-08 08:18:08 +01:00
Dion Moult
88bddb9531
See #2520 . You can now duplicate drawings.
2023-02-08 12:29:49 +11:00
Dion Moult
e40bbf2525
See #1806 . Typed fillings now share the same representation for their openings.
2023-02-06 17:01:29 +11:00
Dion Moult
f72d48aab5
Fix bug where calendar caching meant invalid duration calculations if you edited your calendar after a date calculation.
2023-02-03 10:06:55 +11:00
Dion Moult
be26a77ecb
Support times specified as ISO strings too in date utils, not just datetimes.
2023-02-02 23:01:49 +11:00
Dion Moult
7c275a99a2
New utility functions for automatic local to global elevation conversions and easier unit conversions
2023-02-02 23:01:12 +11:00
Dion Moult
ab6159f173
See #1848 . Refactor cost data class.
2023-01-30 20:53:17 +11:00
Thomas Krijnen
c0c6c23fca
Update schema.py
2023-01-29 09:47:46 +01:00
Dion Moult
396fd5520f
Fix #2349 . Be more defensive on invalid smart annotations.
2023-01-29 15:15:00 +11:00
Dion Moult
efc3a692cb
Fix #2726 .
2023-01-29 12:27:50 +11:00
Dion Moult
6a2307308c
Fix bug where copying objects with profiles should only share profiles if the profile is named.
2023-01-28 21:51:00 +11:00
Andrej730
9f0ad9be3c
Black formatting window modifier
2023-01-25 11:13:41 +05:00
Andrej730
cf6acd5dd6
ShapeBuilder - added 3d rectangles and polylines support
2023-01-25 11:10:20 +05:00
Andrej730
d0cf5f9d0c
Fixed ShapeBuilder bug for mirroring IfcExtrudedAreaSolid
...
Also fixed typo in shape_builder_examples
2023-01-25 11:10:19 +05:00
Sigma Dimensions
a5ca7c540f
remove useless lines and run quality check black
2023-01-20 21:39:24 +01:00
Sigma Dimensions
c9b0a7c3de
Attempt to fix selector bug where retrieving material values gets caught in exception
2023-01-20 21:23:40 +01:00
Vukas Pajic
d9f1cb5525
reassign_class now preserves original STEP ID and GLOBALID - #2701
2023-01-16 13:34:57 +01:00
Dion Moult
ba7741fef5
Fix #2285 . You can now get all the elements in a presentation layer.
2023-01-12 12:28:09 +11:00
Dion Moult
c8ba96cde8
Make syntax highlighting explicit in docs
2023-01-10 10:16:28 +11:00
Ryan Schultz
3ce010de77
added IfcCivilElement to entity_to_type_map_4.json
2023-01-09 12:14:11 +11:00
Dion Moult
360b9956c0
Fix failing tests from refactor which I really should've done before the release
2023-01-09 11:00:46 +11:00
Andrej730
1888048d4d
Moved ShapeBuilder to separate module #2679
...
Moved ShapeBuilder to separate module - now `mathutils` will be only required if you're actually using ShapeBuilder (related to #2679 )
2023-01-08 19:47:18 +05:00
Andrej730
c29048ecfb
Furniture library bug fixes
2023-01-08 19:47:18 +05:00
Andrej730
23c7bc3f56
Added ShapeBuilder class and library for non structural assets (
...
`ShapeBuilder` class is used to programmatically create 2d and 3d ifc shapes and representations. It's inspired by the way OpenSCAD language is designed - the goal was to create a readable and easy way to create new shapes. The class can be imported from `ifcopenshell.util.representation` module.
Examples of things created with `ShapeBuilder` can be found in `shape_builder_examples.py` or `generate_furniture_library.py` / `Non_structural_assets_library.ifc`.
Also added ifc library of non structual assets (furniture etc) - `Non_structural_assets_library.ifc`. All assets are using most common dimensions for them - it makes it good for prototyping. Related to https://community.osarch.org/discussion/1192
2023-01-06 16:35:55 +05:00