Commit Graph

100 Commits

Author SHA1 Message Date
Andrej730 dd1c47f9dc sequence.add_date_time
API method to create IfcDateAndTime / IfcDatetime in schema agnostic way.
2025-07-25 18:22:17 +05:00
Andrej730 b76b05fc71 sequence.copy_work_schedule #6901
Similar to e50215ddc but for IfcWorkSchedules

Button location - https://files.catbox.moe/jfd1ol.png
2025-07-24 19:39:14 +05:00
Andrej730 e50215ddce cost.copy_cost_schedule #6901
A feature allowing duplicate existing IfcCostSchedule - either from API or from Bonsai UI
Button location in Bonsai - https://files.catbox.moe/ct058q.png
2025-07-23 18:57:40 +05:00
Andrej730 84f6632c13 Reuse assign_control instead of creating IfcRelAssignsToControls 2025-07-23 18:55:50 +05:00
Andrej730 c82191f40b typing 2025-07-23 18:55:49 +05:00
Andrej730 8cfd6b1754 Unify doc-strings (remove type/rtype)
As this information is already provided in type hints and we don't need to maintain it in two places.
2025-06-30 18:55:14 +05:00
Andrej 3f4656600e typing 2025-06-09 18:03:15 +05:00
Andrej 7034c0b18a Fix typo (5ba82d7) 2025-06-09 18:03:14 +05:00
Andrej 97ece7c20b black . 2025-06-09 18:03:14 +05:00
Massimo Fabbro 5ba82d7764 See #5155. Update doc accordingly 2025-06-08 10:29:28 +02:00
falken10 8e8b44a744 Resource should not increment quantity in cost schedule 2025-06-08 10:23:00 +02:00
Andrej 72cf77690e Prevent removing rel when is still valid after IfcCostItem removal #6769 2025-06-06 19:06:46 +05:00
Andrej c23e973575 Fix moved cost.remove_cost_item_value (b272210) 2025-05-29 19:14:42 +05:00
Andrej730 0e8810c1f5 typing 2025-03-14 18:19:02 +05:00
Andrej730 5eb9cb2ee4 len(get_inverse) -> get_total_inverses 2025-02-24 18:52:35 +05:00
Andrej730 6eda4e389c typing 2025-02-24 18:52:34 +05:00
Andrej730 67bac441ad typing 2025-02-19 18:31:06 +05:00
Andrej730 17642ca4e9 typing 2025-02-18 18:50:34 +05:00
Andrej730 6090c1c669 typing 2024-12-09 18:30:04 +05:00
Andrej730 5a4326eb0f Fix calculating cost item resource value ignoring resource inheritance
Mentioned in #5744
2024-11-18 15:01:49 +05:00
Andrej730 9f49cbe0c9 bim.calculate_resource_quantity #5744
Added operator to calculate resource quantity based on the output products and the quantity Name.
See video demo - https://imgchest.com/p/9rydjlbmnyk
2024-11-14 16:38:01 +05:00
Andrej730 be6e9200b6 calculate_cost_item_resource_value - remove rounding to preserve the original quantities #5706
Removed 'quantity is None' check since it's never none after c409258ff.
2024-11-12 14:52:47 +05:00
Andrej730 d74a0d05fd calculate_cost_item_resource_value - fix bug when 0 resource cost value would be misinterpreted as parent's cost value 2024-11-11 18:30:57 +05:00
Andrej730 70e75f5ed2 calculate_cost_item_resource_value not to skip 0 costs/quantities
That way all assigned resources will be added as cost values to cost items and it will be more apparent what resources were used for the last calculation and what costs/quantities they had at the time.
2024-11-11 18:30:56 +05:00
Andrej730 8ffa208ca7 Increase rounding precision for updating cost item resource values #5706
Co-Authored-By: DimitriosThe <169245599+DimitriosThe@users.noreply.github.com>
2024-11-11 18:30:55 +05:00
Andrej730 4acdd7c960 Fix assigning cost item to resource after 97393eb #5601
fyi @myoualid
2024-10-21 11:26:09 +05:00
Andrej730 aa97ff7f16 typing 2024-09-12 18:40:20 +05:00
myoualid 97393eb173 prevent spatial elements selection from being assigned to cost control 2024-09-11 18:48:59 +01:00
Dion Moult a6286293d8 Run black on IOS-Python 2024-07-26 12:00:57 +10:00
Dion Moult 07060fc769 Replace all ifcopenshell.api.run with ifcopenshell.api static functions. 2024-06-28 12:36:31 +10:00
Andrej730 4a5d1eba0b specify exported api methods in __all__
It's py.types requirement, similar to 6e2edbf

Example issue without __all__:
import ifcopenshell
import ifcopenshell.api.project

# "create_file" is not exported from module "ifcopenshell.api.project"
ifcopenshell.api.project.create_file()
2024-06-03 17:44:05 +05:00
Andrej730 c05abc4d5b ifc4x3 support for adding IfcQuantityCount #4776
In IFC4X3 IfcQuantityCount is now more strict and requires only interger values.
Error for a reference:
TypeError: attribute 'CountValue' for entity 'IFC4X3.IfcQuantityCount' is expecting value of type 'INT', got 'float'.
2024-05-31 18:20:46 +05:00
Andrej730 dacb3b101c small docs fix 2024-05-31 18:20:46 +05:00
Andrej730 073e471305 typing 2024-05-23 18:45:30 +05:00
Andrej730 f2eb08a066 typing 2024-05-22 17:43:05 +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
Andrej730 bb8e84e5ec typing 2024-05-15 17:18:33 +05:00
Andrej730 8ffb77551f more tests for ifc2x3 2024-05-09 18:15:49 +05:00
Andrej730 2d35869c41 typing 2024-05-09 18:00:17 +05:00
Andrej730 cbf04546b8 fix many implicit ifcopenshell.guid imports
a bit related to 10d30b0de
2024-05-08 18:18:02 +05:00
Dion Moult 10d30b0de7 Document api modules and require explicit imports of API submodules 2024-05-08 17:00:35 +10:00
Dion Moult d11ec67129 Generate functions for all API usecases for better static code features. See #2693. 2024-05-06 14:43:43 +10:00
Dion Moult a213ab6760 Fix docstrings to reference datatype as it would be used for users 2024-05-06 08:39:48 +10:00
Andrej730 06b84cfa24 nest.unassign_object - support batching #4474 2024-04-09 18:33:25 +05:00
Andrej730 97db95085a nest.assign_object - support batching #4474 2024-04-09 18:33:25 +05:00
Andrej730 d1bcec7a6a typing 2024-04-09 18:33:25 +05:00
Andrej730 7b46c6a443 black format 2024-04-09 17:05:36 +05:00
Dion Moult 8df40dc4a6 Fix #4203. Fix bug where removing nested cost items left orphaned relationships. 2024-01-12 18:14:49 +11:00
Sigma Dimensions (Yass) b260bd3877 Record formula and resource name for cost values when calculating resource cost 2024-01-04 09:32:31 +01:00
Sigma Dimensions (Yass) cd6246c382 fix cost value calculation when using parent cost 2024-01-04 09:30:27 +01:00