Commit Graph

2851 Commits

Author SHA1 Message Date
myoualid 171c3083da Cost module web-ui can now:
- assign cost item products from Blender selection
- display list of selected products ( with available quantities, subtotals, and highlighting already assigned products)
- display and refresh assigned products
- highlight loaded cost schedule
2024-09-08 01:16:48 +01:00
Andrej730 33001e6c6d profile.copy_profile
Fixes issue duplicated profile missing it's psets.
2024-09-07 11:22:43 +05:00
Andrej730 e224bfd19f Fix error showing material/profile psets in bbim after 691815fd41 2024-09-07 11:22:43 +05:00
Dion Moult 8b1d3a0c5d Fix #4769. Bug where editing grids didn't work with non-SI units.
I really don't know how this mistake lasted this long.
2024-09-07 13:48:42 +10:00
Andrej730 8e87d0e303 typing 2024-09-06 18:11:25 +05:00
Andrej730 871cd45f53 selector.set_element_value to support 'predefined_type' keyword
See more details in https://community.osarch.org/discussion/comment/22134/#Comment_22134
2024-09-06 18:11:24 +05:00
Andrej730 39fd9ce462 attribute.edit_attributes - small optimizations
remove settings dictionary and remove some ifc calls
2024-09-06 18:11:24 +05:00
Andrej730 008e2c01c3 selector.set_element_value - temporarily skip 'predefined_type'
to avoid issues importing csvs that used it to extract correct predefined type

Example warning:
WARNING. Assigning 'predefined_type' is not yet supported. Skipping value 'ELECTRICACTUATOR' for element: '#89=IfcActuator('1RjCen6XL6WAdhz7HumLFU',$,'Actuator.002',$,$,#179,$,$,.ELECTRICACTUATOR.)'.
2024-09-06 15:18:15 +05:00
Andrej730 a1e51757b1 attribute.edit_attributes - document behaviour for PredefinedType 2024-09-06 15:18:15 +05:00
Dion Moult 7b8e234683 Remove add grid in add menu, and run black 2024-09-06 18:18:32 +10:00
`myoualid` d6098a0b6d - web ui features to add a new cost schedules, and root cost items
- improved ui for cost schedules
- sharing more css across files
- refactor get_predefined_types(cost_schedule)
2024-09-06 08:55:10 +01:00
Dion Moult 541a6e18e6 Fix broken ifcconvert table in docs 2024-09-06 16:55:56 +10:00
Andrej730 f27bb6effe black format 2024-09-06 11:13:09 +05:00
Andrej730 6ebec7e0e5 pset.unshare_pset - fix bug where it would leaving an orphaned pset
It was leaving an orphaned pset if 'products' was a list of all elements pset is assigned to. Then it would create a new pset for each element leaving original pset orphaned.
2024-09-06 11:04:05 +05:00
Andrej730 a867e72fd3 rename get_elements_using_pset -> get_elements_by_pset for consistency
To be consistent with other get_elements_by_xxx methods.
2024-09-06 11:04:04 +05:00
Dion Moult 977f3c7dcc Fix #5243. Remove usage of types_with_super which is no longer available. 2024-09-06 10:38:19 +10:00
Andrej730 88319bfa57 Fix missing ifc2x3 tests for pset.edit_pset 2024-09-05 17:13:41 +05:00
Andrej730 cce4e426c3 util.get_pset to support ifc2x3 material props 2024-09-05 17:13:41 +05:00
Andrej730 deb41d2158 Geometry settings documentation fixes #5312 2024-09-05 15:08:35 +05:00
Andrej730 ea6df7f617 Use latest syntax for setting geometry settings #5299
Also fixed:
- old include_curves use
- missing use of 'include_curves' in ifcopenshell.draw
2024-09-05 15:08:35 +05:00
Andrej730 fcf41bf00c fix typing issue
Overloads were breaking because type checker is confused what default value should it use for the argument.
Made it keyword-only to resolve the issue.
2024-09-05 15:04:17 +05:00
Andrej730 e1a5e73106 black format 2024-09-04 18:52:09 +05:00
Andrej730 1282f5c308 geom.Iterate - fix incorrect typing, document some arguments #5299 2024-09-04 18:51:07 +05:00
Andrej730 b0eaf23d2c Fix missing serializer_settings argument #5299 2024-09-04 18:51:07 +05:00
Andrej730 0ab70827e5 pset.assign_pset, pset.unassign_pset 2024-09-04 18:51:07 +05:00
Andrej730 691815fd41 Tools for handling shared psets #5291
In IFC it's possible for a property set to be assigned to multiple elements and which may lead to confusing behaviour when you edit a pset on one element and other element seems to get edited too.

Which makes it worse is that that it is possible that some software is might be doing this unintentionally when exporting IFC (as some sort of optimization as storing 1 is more optimal than n copies of it).

So now there are some tools in Bonsai and in IfcOpenShell to handle the shared psest:

1) Indication that property is shared - https://imgur.com/a/9dd3jST (similar to how Blender indicates ID data-block users). You can click on it to "unshare" the pset - a new copy for the pset will be created and it's going to be linked only to the active object.

2) api pset.unshare_pset method that does the same. And util.element.get_elements_using_pset method that encapsulates schema differences and different approaches for occurrences/types.

3) ifcpatch recipe 'UnsharePsets' that's making all property sets in the IFC file to have just 1 element that's using them. You can limit the affected elements by providing query.

ifcpatch recipe is also available in Bonsai - https://i.imgur.com/aOCx7HI.png
2024-09-04 18:51:06 +05:00
Ryan Schultz 290c08d6d5 updated links in docs 2024-09-03 13:18:55 -05:00
Thomas Krijnen eb7411b310 ifcopenshell.file.assign_header_from() to copy header 2024-09-03 18:49:05 +02:00
Andrej730 bea837299e root.reassign_class to handle switching occurrence class <-> type class #5260
Kind of experimental. The idea is that it will reassign class e.g. from IfcWindow to IfcWindowType (or vice versa) and will keep the IFC representations and property sets.

Example - https://imgur.com/a/X7MHR0s
2024-09-03 18:53:25 +05:00
Andrej730 acbdc0ed4c typing 2024-09-03 18:53:25 +05:00
Andrej730 bec1d913c5 util.representation.get_representations_iter 2024-09-03 18:38:22 +05:00
Andrej730 3c69fffb19 ifcopenshell.validate fix missing space in indentation 😅 2024-09-03 18:38:22 +05:00
Andrej730 92525db14f profile.remove_profile - tests 2024-09-03 18:38:21 +05:00
Andrej730 01d965fe25 profile.remove_profile - clean up removing profile psets 2024-09-03 18:38:21 +05:00
Andrej730 d2bc6f9509 pset.add_pset - support ifc2x3 material/profile psets
1) For psets there was an issue - it was instantiating abstract IfcProfileProperties
2) For materials it was only able to instantiate IfcExtendedMaterialProperties though there are other pset types too in ifc2x3.
2024-09-03 18:38:21 +05:00
Andrej730 90e9c21320 material.add_profile note 2024-09-02 18:40:12 +05:00
Andrej730 3c333c6b59 typing 2024-09-02 17:24:58 +05:00
Andrej730 e50a90cc9f ifcopenshell.validate return code 1 in case of some file is invalid 2024-09-02 17:04:54 +05:00
Andrej730 5f5ab10b35 ifcopenshell.validate to validate ifc header #4119 2024-09-02 17:04:54 +05:00
Andrej730 0e791c7dfd Fix ifcopenshell.validate missing output in some cases after 07a0b4f
Apparently adding LogDetectionHandler disabled default handler that prints the output.
2024-09-02 17:04:54 +05:00
Dion Moult fb803ac35d Fix #5256. Use layer collection visibility, not collection visibility to hide types. 2024-09-02 18:48:09 +10:00
Dion Moult 521b0ab58d Fix #5271. Prevent duplicate entries when getting a decomposition. 2024-09-02 17:35:49 +10:00
Thomas Krijnen daba504981 Update draw.py - test for --drawing-guid existance 2024-09-01 15:33:52 +02:00
sukanka b82073dd57 fix-py-syntax-warning 2024-09-01 14:02:24 +02:00
Dion Moult af4475fe46 Run black 2024-09-01 13:26:58 +10:00
Yassine Oualid f2554bc968 - Add button to generate cost schedule
- Feature to view, edit and add cost item values. ( Right Click - Edit ).
2024-09-01 01:40:53 +01:00
Dion Moult eed603bbcd Bump IOS 2024-08-31 18:09:54 +10:00
Andrej730 afd5a5b23e Fix get_info_2 #5248 after d80bcd1 2024-08-29 18:57:47 +05:00
Dion Moult 8a57a52949 Bump IOS 2024-08-29 09:20:32 +10:00
Andrej730 27aee31adf typing 2024-08-27 18:25:29 +05:00