Thomas Krijnen
0325c49c3d
Add util.placement.get_cartesiantransformationoperator3d()
2024-04-15 09:37:50 +02:00
Thomas Krijnen
5f334192db
Normalize vectors in a2p()
2024-04-15 09:37:50 +02:00
Dion Moult
eea93265f7
Fix #2913 . Bug where properties with multiple inverses were not correctly purged.
2024-04-15 09:37:49 +02:00
Andrej730
d2124e1c8b
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.
2024-04-15 09:37:49 +02:00
Thomas Krijnen
f2c25f430a
Fixes to validation of selected simple type / enum
2024-04-15 09:37:49 +02:00
Dion Moult
e3979cadc7
Fix #2974 . Type property sets are now properly copied.
2024-04-15 09:37:48 +02:00
Thomas Krijnen
7a82dbeaf4
Some small fixes for rule compliance in template.py
2024-04-15 09:34:22 +02:00
Thomas Krijnen
fdf0596e42
Property transfer ownership of schema from py to c++ upon register_schema()
2024-04-15 09:25:51 +02:00
Thomas Krijnen
b7ded0eb79
Attempt load schema from cwd (IS THIS DANGEROUS?)
2024-04-15 09:25:50 +02:00
Thomas Krijnen
7981eb473b
Don't fail on unmapped attribute types (IFC4.4)
2024-04-15 09:25:50 +02:00
Dion Moult
fd989733c7
Fix bug where unassigning a document was too aggressive and deleted relationships where it shouldn't.
2024-04-15 09:25:50 +02:00
Thomas Krijnen
788f1154da
#2685 Fix AttributeError
2024-04-15 09:25:50 +02:00
Sigma Dimensions
827b0fe6ac
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
2024-04-15 09:25:50 +02:00
Dion Moult
9707a2b2f6
Fix #2945 . Selector should expand enumerated list properties so that you can match any of them.
2024-04-15 09:25:50 +02:00
Andrej730
6043d35821
Sliding doors - more consistent 2d repr between door types #2919
2024-04-15 09:25:49 +02:00
Andrej730
5d4ecb7177
Sliding doors - moved annotation arrow to Annotation/PLAN_VIEW #2919
2024-04-15 09:25:49 +02:00
Dion Moult
dff33632ae
See #2881 . Allow indices in the selector instead of relying on external evaluations.
2024-04-15 09:25:49 +02:00
Andrej730
be75ef2596
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(())
```
2024-04-15 09:25:48 +02:00
Andrej730
ec882a1a7d
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
```
2024-04-15 09:25:48 +02:00
Andrej730
3095521e36
Fixed some validation errors for doors and windows #2925
...
Fixed the ones caused by using 3d curves as inner/outer curves in profiles.
2024-04-15 09:25:48 +02:00
Chun
4bdf5475a9
a simplifier workflow and a more consistent coding style
2024-04-15 09:25:48 +02:00
Chun
ab17b85854
Unify variable
2024-04-15 09:25:48 +02:00
Chun
f859f11add
Update functions of get_connected_to and get_connected_from compatible with IFC4 and IFC2X3
2024-04-15 09:25:48 +02:00
Chun
765b4a73d3
Add IFC4 support for functions get_connected_to and get_connected_from in util.system
2024-04-15 09:25:48 +02:00
Chun
9d70b9303b
Add IFC4 support to get_connected_to and get_connected_from functions
2024-04-15 09:25:48 +02:00
Dion Moult
4bd9515bf5
Fix #2924 . IfcElements default to a null predefined type so they can inherit where possible.
2024-04-15 09:25:48 +02:00
Andrej730
e5427583ad
Fixed typo in ifcopenshell.util.type
2024-04-15 09:25:47 +02:00
Andrej730
3429972067
Added arrow to 2d repr of sliding doors ( #2919 )
...
Example - https://i.imgur.com/eJnhDXU.png
2024-04-15 09:25:47 +02:00
Andrej730
7f1bb71c66
IFC Door Modifier - sliding doors
...
Added support for sliding doors in IFC Door Modifier.
The main differences are 2d representation (https://i.imgur.com/VyEH569.png ) and the door panel being placed before the lining, not after
2024-04-15 09:25:22 +02:00
Thomas Krijnen
5af975f99e
Backwards compatibility for py setting strings
2023-11-15 13:42:55 +01:00
Thomas Krijnen
65e874c67f
Drastic settings refactoring
2023-11-15 10:32:33 +01:00
Thomas Krijnen
6302be6bfd
Merge v0.7.0 -- src\ifcopenshell-python\ifcopenshell\express
2023-10-18 09:47:27 +02:00
Thomas Krijnen
5336b2f987
Implement shape serialization for cgal, possibility to supply geometry library to iterator in py
2023-08-25 21:46:32 +02:00
Thomas Krijnen
11a515a025
Improve error reporting in test_wall_opening.py
2023-04-10 14:22:43 +02:00
Thomas Krijnen
c32c88b1a0
Merge remote-tracking branch 'origin/v0.7.0' into v0.8.0
2023-03-29 12:55:05 +02: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
Sigma Dimensions
5943e7e62e
api usecase to re order related objects in a nest
2023-03-28 04:29:08 +00:00
Sigma Dimensions
fde654aee7
api usecase to change nest
2023-03-28 04:27:47 +00:00
Dion Moult
fab76bbcde
Fixed bug where enumeration values in psets could be empty lists.
2023-03-27 23:08:47 +11:00
Thomas Krijnen
96fbe9e5b6
String pooling and reducing duplication in schema codegen
2023-03-27 14:04:32 +02: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
e9a3630595
Fix #2898 . You can now copy materials from the materials tab.
2023-03-26 19:04:32 +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
346071185f
Fix bug where appending a product from a library which had relationships to types caused a bunch of types to be pulled in unintentionally
2023-03-24 20:53:55 +11:00
Dion Moult
00fc71dcbe
Fix #2837 . Shared subelements mistakenly caused the subelement append loop to break early. The solution is to traverse one level at a time.
2023-03-24 17:36:46 +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
8bae2984e1
Fix #2886 . Typo.
2023-03-21 09:11:30 +11:00