Andrej730
fcdfa5dd23
Annotation Tool
...
Added Annotation Tool that allows you create annotation types and their occurences. It will also allow us to get rid of "Annotation" panel in N-panel.
I've recorded bunch of short videos to demonstrate the features:
- bulk tagging - currently works only for "Text" and "Stair arrow" type of annotations, adds annotations to all selected objects, automatically assigns products to the annotations
https://user-images.githubusercontent.com/9417531/231968358-28cbb762-3349-470a-beef-d1ab21882769.mp4
- creating annotation type with representation - all occurences will share the same representation which makes bulk tagging really powerful if you use variables like {{PredefinedType}}, {{GlobalId}}, {{Name}}, {{Description}}, {{ObjectType}}, {{Tag}}
https://user-images.githubusercontent.com/9417531/231970500-333514c6-6406-4ef5-a9e7-fddfcc9a2436.mp4
- creating annotation type without representation - it allows occurences to have unique text or line geometry but still share the same classes from inherited property set
Examples:
creating text type without representation to create title case annotations
https://user-images.githubusercontent.com/9417531/231969361-bda5f924-a8c8-4f5a-ba61-461aa7101f73.mp4
creating type for oblique dimension annotations
https://user-images.githubusercontent.com/9417531/231969902-38e8c3f4-45a6-4c98-bba4-2956288ce10a.mp4
- readjusting - if you created some annotations using bulk tagging but the products were changed / moved afterwards now you can select those annotations and "readjust" them according to new product's position / measurements
https://user-images.githubusercontent.com/9417531/231968975-ee8d6589-60ee-4575-9be2-b0ce68d43ffa.mp4
PS In this commit I've also moved all icons to 1 .blend file and added instructions how to regenerate them.
2024-04-15 09:37:49 +02:00
Dion Moult
c852678437
See #2978 . Fix crash upon drawing deletion.
2024-04-15 09:37:49 +02:00
Dion Moult
cf640a971d
Fix #2968 . Deletions are no longer postponed. Should fix or reveal a lot of sync errors.
2024-04-15 09:37:48 +02:00
Dion Moult
c4c3fc1bfa
Fix bug where switching representations didn't update the material checksum, leading to unnecessary material syncs at export time.
2024-04-15 09:37:48 +02:00
Dion Moult
4e94d0dc10
Fix #2516 . Add/build/remove/view/rename/copy sheet/drawing/schedule now all references and updates user configurable relative paths.
2024-04-15 09:25:50 +02:00
Dion Moult
47709662b9
See #2516 . References to titleblocks, layouts, and published sheets are now explicitly stored. Titleblock paths are now configurable. Generated filenames are sanitised.
2024-04-15 09:25:50 +02:00
Dion Moult
2e466ead37
See #2516 . WARNING: breaking changes! Restructure drawing system to use relative paths based on IfcDocumentReference Locations.
2024-04-15 09:25:50 +02:00
Andrej730
1ff6f691ac
Clever STAIR_ARROW annotation
...
Now adding STAIR_ARROW annotation is a bit more clever - if you have IfcStairFlight selected when adding this type of annotation it will automatically:
1) define stair as it's parent;
2) add the stair as it's product;
3) place itself along the stair (it's assumed that stair direction is X+)
Example - https://i.imgur.com/Ze9DoK2.png
2024-04-15 09:25:47 +02:00
Dion Moult
df0a503b89
Improve implementation of is_moved so that anywhere we check movement, types and projects are not considered
2023-03-24 21:59:09 +11:00
Dion Moult
0a22714fb8
See #2887 . Experimental edit mode toggle override to ensure mesh changes stay in sync and so that you can edit meshes without openings applied.
2023-03-23 21:51:06 +11:00
Andrej730
df95bdb48e
Fixing tests after 2003bfe4f
2023-03-23 09:53:02 +05:00
Andrej730
f7181aae8a
Multiple literals in 1 Ifc Text + aggregated text annotations
...
Added option to store multiple literals inside 1 Ifc text object.
If multiple literals share the same `BoxAlignment` then only the first one will be displayed in viewport
to prevent visual clutter (although added small asterisk symbol to indicate that there are still multiple literals).
Added option for aggregated text annotations. Example - "door-tag" symbol.
If you create text, specify "door-tag" symbol in EPset_Annotation.Symbol
\and add two literals to it then they'll automatically will fit to that door-tag in the svg drawing
(https://i.imgur.com/OXaIlWe.png ).
The way it works - you define symbol in symbols.svg (or in your own symbols svg file)
and then add the `<text>` fields where text from literals will fit right in.
The imporant note: `<text>` tag must have attribute `data-type="text-template"` for it to work.
For example: `<text text-anchor="middle" dominant-baseline="middle" data-type="text-template"></text>`
2023-03-21 17:37:28 +05:00
Dion Moult
c97e1079e8
See #2866 . Fix issue where annotation should be able to use 3D coordinates (i.e. Model context type) for elevations and sections where it makes more sense.
2023-03-20 16:36:50 +11:00
Massimo Fabbro
05bdc962a3
Now it's possible to see the selected object related cost items and related quantities in qto n-panel
2023-03-20 08:12:24 +11:00
Dion Moult
2816d7f522
Fix bug where deleting the drawing object could lead to orphaned relationships
2023-03-19 18:15:09 +11:00
Dion Moult
558aff72a0
Psets and qtos are now only created when properties exist to prevent invalid IFCs.
2023-03-19 14:49:31 +11:00
Dion Moult
bcc399b842
Empty psets are purged to discourage invalid psets with no properties
2023-03-19 13:13:15 +11:00
Andrej730
31f6baaf67
small refactor for Ifc.edit and tool.Ifc
...
1) replaced IfcStore.edited_objs.add with tool.Ifc.edit
2) updated interface in tool.py
3) removed unlink from tool.Ifc - it was declared there twice
2023-03-17 17:50:56 +05:00
Andrej730
0d473fa9ac
Fixing BoxAlignment value in tests (similar to 9f7db386a)
2023-03-16 16:08:58 +05:00
Andrej730
b55ac88c9d
Fixing tests after 9f7db386a
...
TestExportTextLiteralAttributes and TestImportTextAttributes was failing because now we're assuming that BoxAlignment will have 1 of values from the list below and not "BoxAlignment"
"top-left", "top-middle", "top-right", "middle-left", "center", "middle-right", "bottom-left", "bottom-middle", "bottom-right"
2023-03-15 19:43:17 +05:00
Andrej730
c6d3598c52
Fixing tests after e9fdc979d
2023-03-15 19:43:17 +05:00
Dion Moult
30c850e37d
Fix #2140 . Voids and fills can now be added, removed, and edited for non-geometric aggregates.
2023-03-12 12:52:30 +11:00
Dion Moult
0dad93bf00
See #2140 . You can now bulk unassign aggregates, and they are auto directly contained in any previous indirect containers.
2023-03-11 16:31:23 +11:00
Andrej730
da8e5dced1
Added test to check #2839
2023-03-06 18:36:29 +05:00
Dion Moult
51ff2f05bf
Fix #2823 . Only update colours if you actually change them.
2023-03-03 22:22:47 +11:00
Dion Moult
7383f44f8f
See #2645 . Update tests to use overridden built-ins.
2023-03-03 18:22:47 +11:00
Andrej730
1fca38625f
A last bit of cleaning up temp files after tests
2023-03-02 10:45:00 +05:00
Andrej730
fb3023bb79
Moved blenderbim tests temporary files to separate directory
...
Moved temporary test files to separate directory and added it to gitignore
Still have test.exp.cache.dat spawning from `test_feature`...
2023-03-01 18:46:13 +05:00
Dion Moult
96271e8bd8
Users can no longer create orphaned opening elements, which are invalid.
2023-02-28 10:05:22 +11:00
Andrej730
f5b6fdcb5b
Batting Annotation pattern
...
Added batting pattern to line annotations.
The way to use it is:
1) Add "Line" Annotation;
2) Change object type to "BATTING"
3) Add object property set "Pset_BBIM_Bating" (also added in this commit) to specify the batting thickness.
Currently there is no preview for batting in viewport.
Other changes:
- EPset_Annotation.ifc -> Psets_BBIM_Annotation.ifc (more general psets ifc library for the future use)
2023-02-27 19:18:39 +05:00
Dion Moult
b25233a748
Fix critical bug where duplicate orphaned collections were created in the background.
2023-02-27 20:12:39 +11:00
Dion Moult
2c4a0669ed
Fix bug where copying to container might get the wrong coordinates if containers weren't synced.
2023-02-26 22:31:21 +11:00
Andrej730
3849a87adc
Added simple tests for door and window modifier
...
This thing used to result in errors before we fixed `replace_object_ifc_representation`
2023-02-23 18:38:20 +05:00
Andrej730
ff7d93e66c
Undo tests - proof of concept
...
Created some simple undo tests.
This "flip wall and ctrl-z" test actually is crashing blender if I do it manually - so I guess undo in background mode is still kind of different.
2023-02-22 20:24:43 +05:00
Dion Moult
68a8c7a235
Add basic integration tests for modeling slabs and beams
2023-02-22 21:50:12 +11:00
Dion Moult
5e744ff7d1
Add integration tests for basic wall modeling features
2023-02-22 20:38:02 +11:00
Dion Moult
855751f026
Fix #2767 . Removing representations now cleans up after orphaned Blender mesh data.
2023-02-22 16:24:24 +11:00
Andrej730
d4bbb6e2c7
Added Model/Profile/Elevation_VIEW context as default for new projects #2784
...
Default Model/Profile/Elevation_VIEW context could be helpful to make openings created with BIM tool more correct.
2023-02-21 11:46:05 +05:00
Massimo Fabbro
9cc754488b
calculate all quantities smoke test
2023-02-21 09:12:30 +11:00
Massimo Fabbro
f81ceb53cf
add qto feature test
2023-02-21 09:12:30 +11:00
Sigma Dimensions
40560b71c2
BBIM: fix material errors, and add smoke tests
2023-02-20 17:49:54 +01:00
Andrej730
378a25bbaa
Added some .feature convenience debug fixtures
2023-02-20 19:57:05 +05:00
Andrej730
1dfabe2591
Fixed issue with float vectors assertion during tests
...
`sequence.feature` - Added `[:]` to make errors more readable values in errors (for example, (0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 1.0) instead of `<bpy_float[4], Object.color>`
`test_feature.py` - fixed `FAILED test/bim/test_feature.py::test_animate_the_consumption_of_a_wall - AssertionError: Value is <bpy_float[4], Object.color>`
Test was failing because of float garbage in object.color (the comparison was (0.20000000298023224, 0.20000000298023224, 0.20000000298023224, 1.0) <> [0.2, 0.2, 0.2, 1] )
After that fix all tests now are passed 🥲
2023-02-20 19:53:16 +05:00
Sigma Dimensions
bd071cc472
Add smoke test for editing material profiles
2023-02-20 11:08:15 +01:00
Sigma Dimensions
9dc69f3aa7
You can now export Cost Schedules as CSV, ODS, XSLX with BlenderBIM or using the cli app
2023-02-15 22:50:39 +01:00
Dion Moult
007d984baf
Fix #2274 . You can now purge unused types.
2023-02-13 15:20:56 +11:00
Sigma Dimensions
b04383bb64
Smoke test for duplicating tasks
2023-02-12 00:38:22 +01:00
Sigma Dimensions
05cf00bef6
Add smoke test for task product selection & minor fix
2023-02-11 23:24:52 +01:00
Dion Moult
ceaa930aad
Fix #2756 . Bug where reassigning classes with a enum didn't work.
2023-02-11 11:03:35 +11:00
Sigma Dimensions
693960a4ab
start refactoring costing operators into core & tool
2023-02-08 13:39:46 +01:00