Commit Graph

1661 Commits

Author SHA1 Message Date
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
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