Andrej730
11601d6532
Fixed bug with wrong position of support in wall mounted railing
...
The problem was that that support's disk was not rotated according to the railing path.
2023-04-28 11:43:15 +05:00
Dion Moult
bac0dd37fa
Fix #3052 . Deep deletion of large geometries is now thousands of times faster.
2023-04-27 20:15:17 +10:00
Andrej730
ee2f18349f
WALL_MOUNTED_HANDRAIL type for Railing modifier
...
Added WALL_MOUNTED_HANDRAIL type for railing modifier. It's still a bit work in progress - still need to add support for different railing termination types.
Here's the short demonstration - https://user-images.githubusercontent.com/9417531/234582621-6c6f948b-9cdc-4be6-b380-17ddbf5803bf.mp4
2023-04-26 18:04:39 +05:00
Dion Moult
3d441b4ad3
Fix #3038 . Fix #3039 . Selector should default to none instead for throwing errors if the query doesn't have a result.
2023-04-20 17:41:52 +10:00
arun
1a7843a6b5
Nesting added to util.get_decomposition function
2023-04-19 15:46:51 +10:00
Thomas Krijnen
8f8862d23d
get_mappeditem_transformation()
2023-04-18 13:17:20 +02:00
Thomas Krijnen
836f36fd8e
Add util.placement.get_cartesiantransformationoperator3d()
2023-04-18 13:15:13 +02:00
Thomas Krijnen
a1326cb5ed
Normalize vectors in a2p()
2023-04-18 13:13:29 +02:00
Andrej730
2e973a4591
Fixed bugs with furniture library toilets and basins #2976
...
Bug was introduced in cf6acd5 when `shape_builder.get_rectangle_coords` started returning coords in counter-clockwise order instead of clockwise.
2023-04-14 19:07:38 +05:00
Sigma Dimensions
de3dfcdc43
BBIM 4D Features to:
...
- Display nested task resources/task inputs of the active task
- Show list of tasks related to the current object selection
- Highlight, in the WorkSchedule panel, tasks related to the current object selection
2023-04-07 04:33:56 +02:00
Dion Moult
6c5acfc8bb
Fix #2945 . Selector should expand enumerated list properties so that you can match any of them.
2023-04-06 19:21:22 +10:00
Andrej730
f6623db0e6
Sliding doors - moved annotation arrow to Annotation/PLAN_VIEW #2919
2023-04-04 18:38:44 +05:00
Dion Moult
a1acdc0977
See #2881 . Allow indices in the selector instead of relying on external evaluations.
2023-04-04 09:58:23 +10:00
Andrej730
fc45f5b48f
Fixed ifc validation errors for furniture library #2925
...
Fixed bunch of validation errors with furniture library:
- IfcSpaceType PredefinedType wasn't optional
`<attribute PredefinedType: <enumeration IfcSpaceTypeEnum: (EXTERNAL, GFA, INTERNAL, NOTDEFINED, PARKING, SPACE, USERDEFINED)>> Not optional`
- some object had 0.0 depth extrusion
```
Rule IfcPositiveLengthMeasure_WR1:
(self > 0.)
Violated by:
(0.0 > 0.0)
```
- some orphan representations violating:
```
Rule IfcShapeModel_WR11:
((sizeof(self.OfProductRepresentation) == 1) ^ (sizeof(self.RepresentationMap) == 1) ^ (sizeof(ofshapeaspect) == 1))
Violated by:
((0 == 1 ^ 0 == 1) ^ 0 == 1)
+ where 0 = sizeof(())
+ where () = #9091=IfcShapeRepresentation(#15,'Body','SweptSolid',(#9090 )).OfProductRepresentation
+ and 0 = sizeof(())
+ where () = #9091=IfcShapeRepresentation(#15,'Body','SweptSolid',(#9090 )).RepresentationMap
+ and 0 = sizeof(())
```
2023-04-03 19:53:43 +05:00
Andrej730
c7105a22e6
Fixed validation error for ELEVATION_VIEW curves #2925
...
Error occured because ShapeBuilder was assigning "Curve2D" representation type for elevation view curves when the correct type is "Curve3D".
It use to occur for both doors and windows created with ifc modifier.
```
Validation error text:
2023-04-03:18:21:28,879 ERROR [rule_executor.py:154] On instance:
#135=IfcShapeRepresentation(#21,'Profile','Curve2D',(#134 ))
Rule IfcShapeRepresentation_CorrectItemsForType:
(IfcShapeRepresentationTypes(self.RepresentationType,self.Items))
Violated by:
False
+ where False = IfcShapeRepresentationTypes('Curve2D', (#134=IfcIndexedPolyCurve(#133,(IfcLineIndex((1,2)),IfcLineIndex((2,3)),IfcLineIndex((3,4)),IfcLineIndex((4,1))),$),))
+ where 'Curve2D' = #135=IfcShapeRepresentation(#21,'Profile','Curve2D',(#134 )).RepresentationType
+ and (#134=IfcIndexedPolyCurve(#133,(IfcLineIndex((1,2)),IfcLineIndex((2,3)),IfcLineIndex((3,4)),IfcLineIndex((4,1))),$),) = #135=IfcShapeRepresentation(#21,'Profile','Curve2D',(#134 )).Items
```
2023-04-03 19:53:43 +05:00
Andrej730
afeeaeb984
Fixed some validation errors for doors and windows #2925
...
Fixed the ones caused by using 3d curves as inner/outer curves in profiles.
2023-04-03 19:53:42 +05:00
Chun
5732921fb6
a simplifier workflow and a more consistent coding style
2023-04-03 19:50:53 +10:00
Chun
b86c11e1dc
Unify variable
2023-04-03 19:50:53 +10:00
Chun
1bae4b219a
Update functions of get_connected_to and get_connected_from compatible with IFC4 and IFC2X3
2023-04-03 19:50:53 +10:00
Chun
70ff73f805
Add IFC4 support for functions get_connected_to and get_connected_from in util.system
2023-04-03 19:50:53 +10:00
Chun
a9636c5038
Add IFC4 support to get_connected_to and get_connected_from functions
2023-04-03 19:50:53 +10:00
Andrej730
eb14db4deb
Fixed typo in ifcopenshell.util.type
2023-03-30 16:42:25 +05:00
Sigma Dimensions
5b8b68457f
ios utility to transform a human readable date or duration from string into objects
2023-03-29 00:47:05 +00:00
Sigma Dimensions
1170448cd0
New ifcopenshell cost utilities
2023-03-28 23:11:07 +00:00
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