Andrej730
1a4e4678d0
assign/unassign resource operators tooltips
...
also removed couple unused properties
2024-05-23 18:45:31 +05:00
Andrej730
7f2c7eb467
python 3.9 compatibility
2024-05-23 18:45:31 +05:00
Andrej730
c70745826a
rename bim.export_ifc to bim.save_project (similar to bim.load_project)
...
note that old name "export_ifc.bim" is still available (cacb38a25 ) though deprecated
2024-05-23 18:45:30 +05:00
Andrej730
291bffca95
add tooltip for cost schedule columns
...
example - https://i.imgur.com/Uh8D7Vg.png
2024-05-23 18:45:30 +05:00
Andrej730
e5a316e509
fix api calls error handling
...
by accident replaced in f2696d5 TypeError with NotImplementedError
2024-05-23 18:45:30 +05:00
Andrej730
e4aa97091e
fix bug removing cost schedule columns
...
it was using _execute though it's not an ifc operator
2024-05-23 18:45:30 +05:00
Andrej730
b4f0a346c1
fix couple broken properties definitions
...
There was no errors but Blender seems to ignore the provided name if it was provided as a positional argument instead of a keyword argument.
2024-05-23 18:45:30 +05:00
Andrej730
073e471305
typing
2024-05-23 18:45:30 +05:00
Andrej730
4d9f47b3a7
make it more clear that bim.export_cost_schedules is expecting a folder
...
1) add folder filter
2) remove filepath property - that way only directories will be selectable in the file dialog.
2024-05-23 18:31:59 +05:00
Andrej730
96088c1d08
fix ui error in 40e4949
...
bim.add_manual_classification_reference operator doesn't have a "type" property, only "obj_type"
2024-05-23 18:31:59 +05:00
Dion Moult
c405ff1adf
Fix unassign_representation to not incorrectly use remove_deep without first removing known inverses.
...
In theory, it would be possible for the representation map to be used elsewhere, then file.remove(representation_map) would cause problems.
2024-05-23 23:08:53 +10:00
Dion Moult
02cae9c7c2
Continue to revise optimisation of remove_deep to fix failing tests after a8729933
2024-05-23 22:54:19 +10:00
Dion Moult
3c42962635
Fix #4716 . Fix bug where IfcTester fails to verify negative numbers.
2024-05-23 21:40:19 +10:00
Thomas Krijnen
90ae709156
Wrapping of mapping
2024-05-23 13:06:57 +02:00
Dion Moult
0336dbabf7
Fix #4722 . Things like type elements are not allowed to have openings applied to them.
2024-05-23 20:41:15 +10:00
Dion Moult
a8729933af
Optimise remove_deep, which can make removing lots of elements 100x faster in scripts.
2024-05-23 20:15:09 +10:00
Andrej730
993ce46fcc
improve ux for assigning cost item to product types
...
1) also consider active object as selected when assigning / unassigning cost item to product types. Typically types are hidden and if you select some type in outliner it will become active but still not selected. Now it will be possible to add this active object without unhiding the entire Types collection.
2) info messages to make UI more responsive
2024-05-23 12:13:19 +05:00
Dion Moult
edfd446833
Allow custom qtos without a template
2024-05-23 15:17:08 +10:00
Dion Moult
87c184ef8a
Easily add custom psets and props without needing to create a template first
...
This is not best practice but is useful for quick and dirty properties.
blenderbim-240523
2024-05-23 13:28:59 +10:00
Richard Brice
579768c35f
Fixes problem with cant values
2024-05-22 13:51:55 -07:00
Andrej730
e9b9113df8
small fix for 1aaccba80
2024-05-22 21:41:07 +05:00
Thomas Krijnen
f772a53dd5
Update ci.yml
2024-05-22 17:29:15 +02:00
Thomas Krijnen
85c6b6c4da
Update ci.yml
2024-05-22 15:58:34 +02:00
Andrej730
1aaccba803
simpler way to check if enum property is valid
...
Well, it's simpler to use but not really simpler in implementation 😅
Thanks to @Gorgious56 for helping out
Hopefully, it's a farewell to those annoying warnings
see https://blenderartists.org/t/best-way-to-handle-dynamic-enum-items-without-pyrna-enum-to-py-current-value-matches-no-enum
2024-05-22 18:44:12 +05:00
Andrej730
f2eb08a066
typing
2024-05-22 17:43:05 +05:00
Andrej730
f460676e54
fix calculating cost summary #4704 (was confusing 0 qty and no qty)
...
similar to 295d0a677
2024-05-22 17:37:32 +05:00
Andrej730
382e028b90
csv to cost schedule - support more cases of 0 quantity #4704
...
Before - https://i.imgur.com/CYwSGxY.png
After - https://i.imgur.com/Wbe6Ij6.png
I'll attach example .csv and .ifc in #4704
What changed:
1) If query was provided but it didn't found any elements, then it will still autoassign quantity = 0 instead of cost item end up without quantities at all (which has a different meaning in ifc). Works both with Property provided and without it.
2) If provided quantity = 0, it will now load as quantity = 0 instead of not creating any quantities at all.
3) You can provide both Query and Quantity and they all will be added to the cost item. E.g. if Quantity = 15, Query = "IfcWall", Property="Prop" and there are 3 walls in the model each having Prop = 25 then final quantity will be 15+25*3=90. Previously Quantity would take the priority and the result would be just = 15.
Though this is still doesn't work with counting quantities due behaviour in cost.assign_cost_item_quantity.
E.g. if Quantity = 7, Query = "IfcWall", Property="" (to make sure it will just count them) and there are 3 walls in the model then final quantity will be not 7+3=10 but just = 3, as query will take the priority here.
2024-05-22 17:15:42 +05:00
Thomas Krijnen
53d02446bf
Update ci.yml
2024-05-22 13:13:18 +02:00
Dion Moult
5a82d7a9d4
Refactor enabling pset editing operator into core/tool
blenderbim-240522
2024-05-22 20:52:43 +10:00
Richard Brice
a976e63def
Fixes divide by zero error for zero-length segments. See Issue #4713 .
2024-05-21 16:22:44 -07:00
Dion Moult
69c197c1a4
get_psets utility now defaults to merging duplicate psets instead of overriding
...
This behaviour is more comprehensive for broken data and now consistent for types and materials.
2024-05-22 08:12:38 +10:00
Ryan Schultz
4027f28c85
Can bim.select_similar from the pset or attribute panels ( #4611 )
2024-05-21 10:30:38 -05:00
Bruno Perdigão
3a1154c4ba
Merge pull request #4597 from IfcOpenShell/linked_aggregate_operator_from_panel
...
when bpy.ops.bim.object_duplicate_move_linked_aggregate is called fro…
2024-05-21 10:45:49 -03:00
Dion Moult
aeb1e4bf49
See #4696 . Allow editing of properties that do not comply with the pset template definition.
...
Strictly speaking, the only properties that should exist in a pset should be those in a pset template. However, there are situations where this is not the case, such as when the pset template has since been modified, or if there is invalid data coming from other software, or migrating between schemas. In this case, we should still load the property, and give the user the option to edit it (or null it).
2024-05-21 23:06:15 +10:00
Andrej730
4fb34c0816
base autogenerated opening thickness on wall thickness #4710
blenderbim-240521
2024-05-21 17:54:51 +05:00
Andrej730
9b562669d2
fix root.create_entity skipping setting up defaults on ifc4x3
2024-05-21 17:54:08 +05:00
Andrej730
295d0a677e
cost schedule - prohibit adding multiple quantity types on 1 cost item
...
All IfcCostItem.CostQuantities supposed to use only 1 type of quantity, so they can be added up.
Changed UI to reflect that requirement - dropdown for selecting quantity type is now only visible if cost item has no quantities, otherwise it just reuses already used quantity type.
See https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCostItem.htm
Before - https://i.imgur.com/gFlwHEk.png
After - https://i.imgur.com/pk3wXfe.png
2024-05-21 17:54:07 +05:00
Andrej730
9aacafd575
fix bug with cost schedules confusing 0 quantity with no quantities
...
a bit related to #4704
1) fixed util.cost.get_total_quantity
2) fixed similar issue in cost.data that calculates the final value that user will see in UI
3) changed UI, "-" is shown when there are no quantities and "0" is when quantities are there but they just equal to zero.
Before - https://i.imgur.com/EO53DhM.png
After - https://i.imgur.com/H6rK4sP.png
fyi @myoualid
2024-05-21 17:54:07 +05:00
Andrej730
ce6ce1b975
bim.assign_cost_item_type name change
2024-05-21 17:54:07 +05:00
Andrej730
d064ef1237
black format
2024-05-21 17:53:46 +05:00
Andrej730
2db9bd9c39
fix errors adding occurrences from type manager #4702
...
Errors occurred if occurrence type wasn't matching current tool's type. E.g. if you would add an IfcRoofType being in a Slab Tool.
2024-05-21 17:53:42 +05:00
Andrej730
7622504d68
avoid even more invalid enum warnings...
...
warnings like `pyrna_enum_to_py: current value '17' matches no enum in 'BIMModelProperties', '', 'relating_type_id'`
2024-05-21 17:53:42 +05:00
Andrej730
221dd9a7a2
typing
2024-05-21 17:53:42 +05:00
Andrej730
1b74a99667
use delete_ifc_object removing a type
...
It was acting a bit different - e.g. leaving mesh representation from type on occurrences leaving to lots of errors. Though there is still #3931
2024-05-21 17:07:32 +05:00
Richard Brice
a45f6f980f
Prevents divide by zero when clothoid constant is 0.0
2024-05-20 13:17:18 -07:00
Dion Moult
9122f006c7
Deprecate material attributes panel in favour of new material manager.
2024-05-20 23:21:13 +10:00
Andrej730
678dbaa66a
nest api to maintain order of related objects #4698
...
order of objects in .RelatedObjects is important (e.g. for cost items, it's the order of their appearance), so we should maintain it and cannot use sets for .RelatedObjects
2024-05-20 17:19:00 +05:00
Andrej730
fb88499197
ifc5d - check for mandatory fields in csv header
2024-05-20 17:19:00 +05:00
Andrej730
f84adf67cd
typing
2024-05-20 17:19:00 +05:00
Andrej730
cacb38a251
maintain "bim." as operators bl_idname prefix for BlenderBIM
...
1) removed unused operator import_ifc.bim
2) marked export_ifc.bim as deprecated
2024-05-20 17:19:00 +05:00