Commit Graph

103 Commits

Author SHA1 Message Date
Dion Moult d7def8291e Add tree species to tree library 2024-04-17 14:42:55 +02:00
Dion Moult 12bde3c56c Fix #4383. Demo library should use Model/Annotation/MODEL_VIEW for text annotations so that they can be used anywhere, not just on plans. 2024-04-17 14:42:55 +02:00
Dion Moult 25ad410470 Tweak generated tree parameters and add manual trees to landscape library thanks to SavyGust27 2024-04-17 14:42:54 +02:00
Andrej730 a28e24d2f5 IFC4 Landscape Library
Created IFC library with simple trees, shrubs and hedges - with both 2d and 3d representations. Example - https://i.imgur.com/pOjh1si.png
Now it's available along with the furniture library when creating new project - https://i.imgur.com/Ho0B5Gn.png
2024-04-16 11:28:59 +02:00
Andrej730 2268e60036 bbim_translations.py - remove operator context from operator tooltips
noticed editing translations from ui that operator tooltip doesn't appear in ui if tooltips has `msgctxt "Operator"`
2024-04-16 11:26:47 +02:00
Andrej730 a936d56bf8 drop bpy related translations.py<->.po stuff as we won't be using it 2024-04-16 11:26:47 +02:00
Andrej730 d1e2009d78 run bbim_translations.py without bpy 2024-04-16 11:26:47 +02:00
Andrej730 b824ab4c4f save just a final dictionary to translations.py instead of tuples
We can do that since In our workflow we won't be converting translations.py to .po files, that way it will be much shorter as it's containing only translated strings and doesn't have strings sources.
2024-04-16 11:26:47 +02:00
Andrej730 3545a5ad4a generate translations.py without bpy 2024-04-16 11:26:46 +02:00
Andrej730 2f04cb7b6f expose current blender locale in bbim translations ui 2024-04-16 11:26:46 +02:00
Andrej730 acc3a56adb bbim messages parser to also parse gettext 2024-04-16 11:26:46 +02:00
Andrej730 d5249cf45d keep order of strings in .pot as they were parsed and store source filepaths 2024-04-16 11:26:46 +02:00
Andrej730 56f383992a switch to our own string parser instead of blender's 2024-04-16 11:26:46 +02:00
Andrej730 228b7395c8 rename BlenderBIM translation script/addon 2024-04-16 11:26:46 +02:00
Andrej730 1b69de2fd4 auto enable "Manage UI Translations" addon if it's not enabled 2024-04-16 11:26:46 +02:00
Andrej730 a3d029f9d9 add without-blender-way to generate translations module from po files
though it does require `bpy` module which is available only for python 3.10.
Actually, `bpy` module by itself is not necessary - we just need `bl_i18n_utils` that becomes available after `import `bpy`. So alternatively we can just download that module from Blender https://projects.blender.org/blender/blender/src/branch/main/scripts/modules/bl_i18n_utils
2024-04-16 11:26:46 +02:00
Andrej730 e1147c1cb8 black format 2024-04-16 11:26:46 +02:00
Andrej730 364c6efc68 check if translation ui is loaded by current Blender session instead of current Blender file
as it's more reliable and thing could change after Blender restart
2024-04-16 11:26:46 +02:00
Andrej730 793eebbdbb expose i18n path in translator UI
removed bim.open_po_directory operator as it's now available just from alt-clicking on the path browsing button
2024-04-16 11:26:46 +02:00
Andrej730 37d6b24e84 Update bbim_setup_translations.py 2024-04-16 11:26:46 +02:00
Andrej730 e76ef4bb73 fix issues with empty paths accepted as valid paths 2024-04-16 11:26:46 +02:00
Andrej730 1435207ab6 separate developer/translator ui 2024-04-16 11:26:46 +02:00
Andrej730 41b9000401 generate pot file too converting translations.py 2024-04-16 11:26:46 +02:00
Andrej730 94b1a1ba4e change test addon name from localization_test 2024-04-16 11:26:46 +02:00
Andrej730 b34882e6d1 semi-automatic setup for necessary directories 2024-04-16 11:26:46 +02:00
Andrej730 4a0625e730 register translations dict only if addon is already loaded 2024-04-16 11:26:46 +02:00
Andrej730 3973a6ab4d open .po directory operator 2024-04-16 11:26:46 +02:00
Andrej730 b9ecc394cf Operator to disable BBIM and restart Blender
as it's needed to reload the translations

Update bbim_setup_translations.py

Update bbim_setup_translations.py
2024-04-16 11:26:46 +02:00
Andrej730 b3990e7267 convert setup_translations to blender addon for UI 2024-04-16 11:26:46 +02:00
Andrej730 f8ca92279d monkey patch blender's dump_addon_messages
The way blender gather messages to translate is:
1) disable the addon
2) parse all available strings
3) enable the addon
4) parse all strings available strings again and subtract the ones gathered at step 2.

But due Blender bug (https://projects.blender.org/blender/blender/issues/116579) not all addon parts unregistered at step 1, so some addon's strings left out and gathered at step 2 and then subtracted at step 4. At the end, we loose them and they will be missing from resulting translations files.

I've monkey patched dump_addon_messages so it now works a bit more safe:
0) It expects addon to be disabled and Blender restarted after
1) Gather all Blender strings
2) Enable addon
3) Gather all Blender strings again and subtract strings from step 1.
2024-04-16 11:26:46 +02:00
Andrej730 e9078453eb setup_translations - original dump_addon_messages
same as with dump_py_messages - this commit is needed to track monkey patch changes later on
2024-04-16 11:26:46 +02:00
Andrej730 df41f541de fix error converting translations to .po if .po files already exist 2024-04-16 11:26:46 +02:00
Andrej730 a2ea7bf1d8 monkey patch dump_py_messages to ignore blenderbim dependencies 2024-04-16 11:26:46 +02:00
Andrej730 a4be606a37 setup_translations - original dump_py_messages
as we're going to monkey patch it and this commit is needed to keep the history of changes
2024-04-16 11:26:46 +02:00
Andrej730 4342a03246 update translations in current blender session 2024-04-16 11:26:46 +02:00
Andrej730 b0c0839d3e setup_translations.py - use just 1 directory to store .po files
and use temp directory to store .po files for ui_translate.export/import
2024-04-16 11:26:46 +02:00
Andrej730 0371c2c74e BBIM script to reload/export/import translation strings #889 2024-04-16 11:26:46 +02:00
Andrej730 8b9790822e setup_pytest to find site-packages folder near sys.executable
Used to get errors running setup_pytest.py having python 3.10 installed on my pc (`sys_paths[-1]` was the system's python folder, not the blender's python).
2024-04-16 11:05:23 +02:00
Dion Moult 1a7b95bf1e Minor fix to Uniclass classification 2024-04-16 11:05:23 +02:00
Dion Moult 11eefab4fc Add support for latest uniclass and add Uniclass July 2023 2024-04-16 11:05:23 +02:00
Andrej730 959f05d154 shapebuilder - replace y extrusion args with shortcut for readibility 2024-04-16 10:37:15 +02:00
Dion Moult c4eed78ca1 Update documentation with new selector keys. 2024-04-16 10:34:29 +02:00
Dion Moult 59c8326c51 See #3682. You can now add symbols and multisymbols (i.e. one vertex per symbol) annotations. New default symbols for setout points in demo library. 2024-04-16 10:30:32 +02:00
Andrej730 2808715406 Rename IFC AU Library to IFC Furniture library
Just thought watching BIM Voice last video that some people may overlook it like something Australia specific with "IFC AU Library" name.
2024-04-16 10:26:51 +02:00
Dion Moult feec0e2437 Fix more failing tests. 2024-04-16 10:25:01 +02:00
rileywong311 26b6bc2b3c Merge Brick classification
https://github.com/rileywong311/BrickIfcClassification
2024-04-16 10:24:56 +02:00
rileywong311 0e685f6fb2 Merge IfcClassification
https://github.com/Moult/IfcClassification/tree/master
2024-04-16 10:24:56 +02:00
Andrej730 60d62c2dd4 sort keys in the entity to type mapping 2024-04-16 10:10:50 +02:00
Andrej730 871902de12 More general solution for #3466 2024-04-16 10:10:50 +02:00
Dion Moult 418a3feb6c Fix #3453. Hidden annotation type removed, and demo library now comes with linetypes for dashed, fine, thin, medium, thick, and strong. 2024-04-16 10:10:50 +02:00