Andrej730
09d5fafdf8
note on OCC imports
2024-07-15 18:34:39 +05:00
Andrej730
54cc4192bd
typing for pythonocc types
2024-07-15 18:34:39 +05:00
Andrej730
eff778d5be
support pythonocc >= 7.8.0 #4942
...
Related: https://github.com/tpaviot/pythonocc-core/issues/1350
Also added a print so this type of errors won't go silently.
2024-07-15 18:34:38 +05:00
Andrej730
66877c227b
typing
2024-07-15 18:34:38 +05:00
Dion Moult
04365053a8
Fix deep purge of unit when converting units and fix bug where unit was removed if map unit was the same as the project unit
2024-07-12 22:48:23 +10:00
VDobranov
f56bae141b
Update shape_builder.py
...
Described in the https://github.com/IfcOpenShell/IfcOpenShell/issues/4989
2024-07-12 14:59:04 +10:00
Andrej730
8579c61ab6
ifcopenshell.draw - add drawing_object_type argument and descriptions
2024-07-11 19:03:09 +05:00
Andrej730
5440445cbc
ifcopenshell.draw - error if just 1 file is provided
2024-07-11 19:03:09 +05:00
Dion Moult
e28b4d40ab
Converting project length units now intelligently preserves map unit and coordinate operation scale.
2024-07-11 23:10:24 +10:00
Dion Moult
a6940d2cba
Fix bug where schema instead of schema_identifer was used to get the schema_by_name. Fix tests to use IFC4X3_ADD2 so that you only need the official version compiled
2024-07-11 22:26:19 +10:00
Andrej730
86fa24aba3
fix support for Python <3.11
2024-07-10 21:37:08 +05:00
Andrej730
feea42f988
ifcopenshell.draw - add hlr_poly option
2024-07-10 15:34:35 +05:00
Dion Moult
4e78de6ce9
You can now select group and system data in selectors
2024-07-10 17:30:38 +10:00
Andrej730
8e86b3d1d8
util.shape - optimize by using shape buffers and numpy
2024-07-08 18:49:12 +05:00
Andrej730
acf135a6ed
Store item_ids in imported meshes and set them on toggling edit mode
...
It will be used later to add more IFC capabilities to EDIT mode.
Example - https://imgur.com/a/HAkjoCY
2024-07-08 17:46:11 +05:00
Andrej730
b45a995bb3
typing
2024-07-08 17:43:55 +05:00
Dion Moult
95f71a2e2f
You can now specify custom project norths when loading in models in absolute terms
2024-07-06 15:43:16 +10:00
Andrej730
f1290ef061
Replace SEW_SHELLS with REORIENT_SHELLS #4832
2024-07-04 11:10:24 +05:00
Thomas Krijnen
10059a722b
Handling of None in draw.py #4924 - mostly untested
2024-07-03 20:02:13 +02:00
Andrej730
8f92877fb4
typing
2024-07-03 18:12:20 +05:00
Andrej730
5d1b2e4651
black format
2024-07-03 18:12:19 +05:00
Andrej730
9485190604
ifcopenshell.draw - omit sys.argv + help message
...
To make sure user will get an error if files are not provided - if we use sys.argv then we always have __file__ in it and if user won't provide fiels they'll get a less readable error
Before:
sr.setFile(files[0])
~~~~~^^^
IndexError: list index out of range
Now:
usage: draw.py files [files ...]
draw.py: error: the following arguments are required: files
2024-07-02 15:32:48 +05:00
Andrej730
d1523eaeac
ifcopenshell.draw - update to v0.8
2024-07-02 15:32:48 +05:00
Andrej730
1af8e7d0ef
ifcopenshell.geom.serializers - avoid wrappers for svg/obj
...
To keep the signatures
2024-07-02 15:32:48 +05:00
Andrej730
ae2a299616
move IfcHeaderExtractor to util.file
...
edited pyproject.toml as `disableBytesTypePromotions` is disabled by default in non-strict mode and type checker intrerprets `bytes` as `bytes | memoryview | bytearray` which is deprecated in https://peps.python.org/pep-0688/#no-special-meaning-for-bytes
2024-07-01 18:26:03 +05:00
Andrej730
8538a916a3
ifcopenshell.file docs
2024-07-01 18:26:02 +05:00
shungeer
8c12da13e6
Update README.md about extend express usage ( #4841 )
...
1. C++ code generation by extend express.
2. python rule code generation by extend express.
2024-07-01 11:20:30 +10:00
Dion Moult
0d401c9272
Fix bug where migrating length units didn't change properties. Unit utility for checking attribute types now considers select types too
...
Changing properties is very critical for IFC2X3 georeferencing which is stored in a pset.
2024-06-29 17:04:27 +10:00
Andrej730
dcc568f5a3
ifcopenshell.geom.create_shape - expose geometry_library argument
2024-06-28 18:24:58 +05:00
Andrej730
2e4a2712e9
ifcopenshell.geom - document available geometry libraries
2024-06-28 18:24:58 +05:00
Andrej730
c3930a6573
black format
2024-06-28 18:16:32 +05:00
Dion Moult
158f3d2962
Migrating calendar dates from IFC2X3 to IFC4 is now supported
2024-06-28 21:36:45 +10:00
Dion Moult
b616cafa49
Minor typing hint and disable linear position elements from loading
2024-06-28 13:01:15 +10:00
Dion Moult
07060fc769
Replace all ifcopenshell.api.run with ifcopenshell.api static functions.
2024-06-28 12:36:31 +10:00
Andrej730
dc8912c128
-m ifcopenshell.validate not to print an empty line if file is valid
2024-06-27 18:26:49 +05:00
Andrej730
07a0b4fe2d
-m ifcopenshell.validate to print a message if file is valid
2024-06-27 18:26:49 +05:00
Andrej730
4ec8345716
typing
2024-06-27 18:26:49 +05:00
Andrej730
14dbe121f6
update serializer settings literals #4912
2024-06-27 10:59:35 +05:00
Dion Moult
48d058a32a
Fix #4921 . When upgrading to IFC4X3, preprocess the file to remove deprecated style assignments
2024-06-27 11:49:12 +10:00
Dion Moult
2d5be6cf89
Search replace 0.7.0 with 0.8.0
2024-06-27 11:49:12 +10:00
Andrej730
24e16d97f3
deprecate non-batching api #4474
2024-06-26 18:11:07 +05:00
Andrej730
13d61f0135
rename sequence.assign_workplan for consistency
2024-06-26 17:17:34 +05:00
Andrej730
d5613e0e26
typing
2024-06-26 17:06:30 +05:00
Andrej730
7bbc81b7c3
create_shape - include more types in the docs
2024-06-26 16:13:59 +05:00
Andrej730
f364643d7e
fix assigning material usages / reloading reprs after c4ae9578e #4843
2024-06-25 18:30:52 +05:00
Andrej730
7700e8016b
ifcopenshell.geom.create_shape - document all return types
2024-06-25 18:30:51 +05:00
Andrej730
6e1ebb02ac
file and entity - avoid infinite recursion if they fail to initialize
...
Example of the error:
Traceback (most recent call last):
File "\test.py", line 133, in <module>
ifc_file = ifcopenshell.file.from_string(ifc_str)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\file.py", line 648, in from_string
return file(ifcopenshell_wrapper.read(s))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\file.py", line 264, in __init__
raise exc(msg)
ifcopenshell.SchemaError: Unsupported schema: IFC2X3
Exception ignored in: <function file.__del__ at 0x00000250896EB740>
Traceback (most recent call last):
File "\ifcopenshell\file.py", line 282, in __del__
del file_dict[self.file_pointer()]
^^^^^^^^^^^^^^^^^
File "\ifcopenshell\file.py", line 424, in __getattr__
return getattr(self.wrapped_data, attr)
^^^^^^^^^^^^^^^^^
File "\ifcopenshell\file.py", line 424, in __getattr__
return getattr(self.wrapped_data, attr)
^^^^^^^^^^^^^^^^^
File "\ifcopenshell\file.py", line 424, in __getattr__
return getattr(self.wrapped_data, attr)
^^^^^^^^^^^^^^^^^
[Previous line repeated 996 more times]
RecursionError: maximum recursion depth exceeded
Simple way to trigger those recursions was:
import ifcopenshell
ifcopenshell.file(schema="IFC4x3_RC4_43c3555")
ifcopenshell.entity_instance(("IFC4X3", "IfcPresentationStyleAssignment"))
2024-06-25 18:30:51 +05:00
Andrej730
d2e7e3daaf
move ifc file handling logic to ifcopenshell.file
...
to reuse the same logic for both ifcopenshell.open and ifcopenshell.file.from_string()
2024-06-25 18:30:51 +05:00
Thomas Krijnen
1e5c51e5b2
Update main.py
2024-06-24 21:48:54 +02:00
Andrej730
9b9301cbb0
ifc4x3 docs parser - use release ifc4x3 version
2024-06-24 15:22:02 +05:00