Andrej730
c3bfd7354f
pset.add_pset - throw an error if entity doesn't support adding a pset
2024-05-13 18:01:17 +05:00
Andrej730
1d046eaadf
material.remove_material and copy_material to handle ifc2x3 props
2024-05-13 18:01:17 +05:00
Andrej730
2f554db54b
owner.remove_person to remove IfcInventory in ifc2x3
2024-05-13 18:01:17 +05:00
Andrej730
54b4cef25e
fix errors appending related materials in ifc2x3
...
it wasn't processing materials properties correctly because it was expecting material to have class IfcMaterialDefinition
2024-05-13 18:01:17 +05:00
Andrej730
c6106e6636
fix edit_pset error for editing material properties in ifc2x3
2024-05-13 18:01:17 +05:00
Andrej730
76e6c63a01
ifc2x3 tests - prevent using removed user/application
...
When some test was creating an element and then removing it, it would also remove user and application as they wasn't used anywhere else.
`ifcopenshell.util.element.remove_deep2(file, history)` we use in every api for element deletion can possibly remove user and application which can be unsafe if `get_user` is returning some specific entity that then will become invalid.
Also fixed tests breaking due ifcownerhistory and user/application appearing in ifc2x3.
2024-05-13 18:01:16 +05:00
Dion Moult
b7737cb6d3
Fix #4655 . profiles is now available as a keyword in the selector syntax.
2024-05-11 22:57:16 +10:00
Dion Moult
3fa573e3c1
Fix #4615 . Report to user if they are attempting to create an incompatible context-representation combination.
2024-05-11 20:48:38 +10:00
Dion Moult
811a908cc3
More segfault fixes in test suite (maybe order matters only on Linux?)
2024-05-11 19:01:57 +10:00
Dion Moult
cd2570cdbb
Fix #4649 . Bug where editing property set template enumerations didn't clean up properly.
2024-05-11 15:18:18 +10:00
Dion Moult
6df6553935
Notify user if duration parsing not available in util.date
2024-05-11 15:14:39 +10:00
Dion Moult
8e6c372a4f
Fix ability to run tests and segfaulting test
2024-05-11 15:00:30 +10:00
Andrej730
371e11de9b
root.remove_product to consider IfcRelConnectsPortToElement
2024-05-10 19:18:09 +05:00
Andrej730
d2a708fcc4
fix bug in ifc2x3 tests bootstrap
...
it was creating new applications and users every time `ifcopenshell.api.owner.settings.get_user` or `ifcopenshell.api.owner.settings.get_application` was called
2024-05-10 19:18:09 +05:00
Andrej730
845d772a08
move sequence.get_related_products to util module
2024-05-10 19:18:09 +05:00
Andrej730
1e630ede08
ifc2x3 tests
2024-05-10 19:18:09 +05:00
Andrej730
c50d1ea2fe
typing
2024-05-10 19:18:08 +05:00
Andrej730
b2920996be
remove deprecated api method type.get_related_objects
2024-05-09 18:15:49 +05:00
Andrej730
bdc5a7a01b
more descriptive errors creating entities - setting incorrect attributes
...
example:
```
ifc_file = ifcopenshell.file(schema="IFC4")
entity = ifc_file.create_entity("IfcRoot", "xxx", None, None, None, None)
entity = ifc_file.create_entity("IfcRoot", Location=None)
```
2024-05-09 18:15:49 +05:00
Andrej730
1c6a9e2c49
more descriptive errors settings incorrect data type to attributes
...
Example:
```
ifc_file = ifcopenshell.file(schema="IFC2X3")
entity = ifc_file.create_entity("IfcCostSchedule")
entity.UpdateDate = ifcopenshell.util.date.datetime2ifc(datetime.now(), "IfcDateTime")
```
2024-05-09 18:15:49 +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
359dab573b
document.remove_information to support ifc2x3 #4636
2024-05-09 14:02:10 +05:00
Andrej730
6e2edbf101
explicitly specify available imported symbols
...
Fix LSP warnings like ""entity_instance" is not exported from module "ifcopenshell"PylancereportPrivateImportUsage" for `ifcopenshell.file`, `ifcopenshell.entity_instance` etc.
After adding py.typed in 722201a1a it's now a typed library and all imported symbols in modules are considered private by default and should be added to `__all__` if they are supposed to be generally available from imported module.
See https://github.com/microsoft/pyright/blob/main/docs/typed-libraries.md#library-interface
2024-05-09 13:35:29 +05:00
Dion Moult
a1e0b8858e
Track last actions and friendlier error reporting when something breaks
2024-05-09 13:37:57 +10:00
Dion Moult
f075a6178b
Experimental code for serialising API settings
2024-05-09 13:29:26 +10:00
Dion Moult
5fa385e1e0
Allow for having wildcard listeners in the api
2024-05-09 13:27:08 +10:00
Dion Moult
d453adb7cf
Forgot to commit IfcTester fix for missing failed entities
2024-05-09 10:36:39 +10:00
Andrej730
c5a7a8680e
fix removing references in ifc2x3 #4636
2024-05-08 18:18:03 +05:00
Andrej730
d4ccadb832
fix circular import after 10d30b0de
2024-05-08 18:18:03 +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
Andrej730
b8275f2802
fix errors using deprecated api after ab696b9 #4632
2024-05-07 21:39:09 +05:00
Andrej730
267527f3fc
fix issue after removing ifcopenshell.main in d76462ca4
2024-05-07 21:26:48 +05:00
Dion Moult
93639e9e50
Even more cleaning of documentation references
2024-05-07 19:08:13 +10:00
Dion Moult
d76462ca42
Write more documentation
...
Sphinx autoapi also now only shows subpackages 1 level deep. This prevents us having a huge long list. Also don't show private or special members. Also show imported members so ifcopenshell.file and ifcopenshell.entity_instance works in docs too.
2024-05-07 17:32:47 +10:00
Dion Moult
722201a1af
Add py.typed for static analysis with mypy
2024-05-07 17:15:58 +10:00
Dion Moult
0a3dddef2f
More Python 2 to Python 3 upgrades
2024-05-07 16:03:07 +10:00
Dion Moult
f6c2e2c20d
Fix #4530 . Fix various styling issues on docs.
2024-05-07 15:44:06 +10:00
Dion Moult
424a06f6c8
More cleaning up of forward type hints to fix import errors
2024-05-07 14:58:12 +10:00
Dion Moult
89c4cbeb05
Drop support for Python 2.
2024-05-07 12:17:46 +10:00
Dion Moult
7e13ed746e
Don't rely on util for basic ifcopenshell module capabilities. Keep util as an optional module for users to load.
2024-05-07 10:32:02 +10:00
Andrej730
dcc52fc4e4
pset.edit_pset not to fail silently on invalid enum values #4608
2024-05-06 18:22:52 +05:00
Andrej730
a9d785c28f
typing
2024-05-06 18:22:52 +05:00
Bruno Postle
54a3730c20
fix d11ec67 mathutils dependency regression
...
mathutils is a blender module, wrap imports in try/except
2024-05-06 13:55:20 +01:00
Andrej730
31d322a28c
descriptions for operators removing classifications/contexts #4614
2024-05-06 17:29:30 +05:00
Dion Moult
6c313dd25c
Fix for static analysis of ifcopenshell.api submodules. See #2693 .
2024-05-06 18:39:13 +10:00
Bruno Postle
b718bd19bd
fix TypeError
...
File "/usr/lib64/python3.12/site-packages/ifcopenshell/api/project/assign_declaration.py", line 126, in execute
related_definitions = set(has_context.RelatedDefinitions) - objects_with_contexts
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
TypeError: unsupported operand type(s) for -: 'set' and 'list'
2024-05-06 09:05:56 +01:00
Dion Moult
ab5ea4c853
Implement listener wrapper for new API functions. See #2693 .
2024-05-06 14:43:43 +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