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
Dion Moult
b6aa5c57c0
Fix bug where copying types with parametric materials could lead to invalidly reused material set items.
2023-03-20 20:40:11 +11:00
Dion Moult
72b5cc8a44
Minor fix
2023-03-20 17:03:39 +11:00
Dion Moult
c97e1079e8
See #2866 . Fix issue where annotation should be able to use 3D coordinates (i.e. Model context type) for elevations and sections where it makes more sense.
2023-03-20 16:36:50 +11:00
Carlos Villagrasa
65caa7906d
Merge remote-tracking branch 'upstream/v0.7.0' into pset_custom_units_test
2023-03-19 22:33:01 +01:00
Carlos Villagrasa
d89a8520a9
Added a test for pset custom IfcUnits
2023-03-19 22:23:36 +01:00
Thomas Krijnen
5fcfbac4a3
Update validate.py
2023-03-19 13:24:27 +01:00
Thomas Krijnen
00b18f67cf
#2685 indeterminate upper bound formatting
2023-03-19 12:46:15 +01: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
cfd857233c
Fix #2864 . Fix bug where element containment was invalidly prioritised over voids and fills in relative placement.
2023-03-19 18:46:34 +11:00
Dion Moult
3da718a6d1
Fix bug where removing objects could leave orphaned annotation relationships
2023-03-19 15:17:26 +11:00
Carlos Villagrasa
a669c194cf
Merge pull request #2869 from cvillagrasa/api_material_fix
...
Api material fix
2023-03-17 17:04:22 +01:00
Carlos Villagrasa
91f4687eac
Revert "Add more parameters to material.add_layer"
...
This reverts commit 9946117de1 .
2023-03-17 17:02:35 +01:00
Carlos Villagrasa
fab7b590f7
Allow for custom IfcUnits when editing psets
2023-03-16 20:39:32 +11:00
Dion Moult
32f5a77d07
New shape utilities for getting top / bottom elevations and bbox.
2023-03-15 18:51:31 +11:00