Ziad-I
9aba274070
make has_started check for both pid and port
...
this solves the issue when a user has not killed a previous server so the port of that server wasn't removed from the pid file, which would make has_started return true even if server hasn't started yet.
2024-08-15 01:24:53 +03:00
Ziad-I
3b7d44a1c6
fix gantt display when there are no dependencies
2024-08-15 01:24:52 +03:00
Ziad-I
bf722ecfe3
fix setting color-scheme css property
2024-08-15 01:24:51 +03:00
Ziad-I
61cff3df43
edit names of pages and paths for them
2024-08-15 01:24:50 +03:00
Ziad-I
8b4b1da8a4
docstrings and formating
2024-08-15 01:24:48 +03:00
Ziad-I
69997bf9d8
add open different web UI pages on starting it up
2024-08-15 01:24:47 +03:00
Ziad-I
53907accd9
make webui default for work schedules and simplfy condition
2024-08-15 01:24:45 +03:00
Ziad-I
a4f881517b
fix dependency display bug
...
dependency was not being displayed correctly due to calling draw on Gantt before appending it to the DOM, I think?
2024-08-15 01:24:44 +03:00
Ziad-I
8acaf0ff26
edit condition if user tries to export to web with no server
...
previously it was just checking if there was a server running but not if blender was connected to a server, this was being handled in the operator itself which isn't the best.
2024-08-15 01:24:43 +03:00
Ziad-I
105bfb5647
make web default format when exporting
2024-08-15 01:24:42 +03:00
Ziad-I
866e3b0f66
handle edge case not covered by last commit
2024-08-15 01:24:40 +03:00
Ziad-I
79d6801315
fix error when exporting an empty csv
2024-08-15 01:24:39 +03:00
Ziad-I
a2539b659f
split addGanttElement function into smaller functions
...
for code organization and readability
2024-08-15 01:24:38 +03:00
Ziad-I
3e154b6344
fix printing when there is multiple gantt charts
2024-08-15 01:24:37 +03:00
Ziad-I
c1fa735f9c
edit or commented left over console.log
2024-08-15 01:24:35 +03:00
Ziad-I
9e5f73701c
fix connected list appearing in printing
2024-08-15 01:24:34 +03:00
Ziad-I
7fa8ebfbd1
add different bg color for work schedule table rows
2024-08-15 01:24:33 +03:00
Ziad-I
d47e5c1167
move outdated gantt warning into connected list
2024-08-15 01:24:32 +03:00
Ziad-I
d142fa5e62
move outdated data warning into connected list for csv page
2024-08-15 01:24:30 +03:00
Ziad-I
27ef2b5d49
change used text color for warnings
2024-08-15 01:24:29 +03:00
Andrej730
aafb4b6147
fix missing import in 2066ebcc11
2024-08-14 19:54:45 +05:00
Andrej730
2066ebcc11
bbim, bcf - add simple operator to quickly load ifc file from bcf header
...
Example - https://imgur.com/a/rieFwNI
2024-08-14 18:44:53 +05:00
Andrej730
795ebc0ac1
remove uninstall/update instructions from preferences
...
Since 06c8a9e there's no longer issue with loaded binaries preventing to reload the addon on Windows, which works for 4.2.0 and in 4.2.1 we'll have https://projects.blender.org/blender/blender/issues/125049 which essentially does the same, moves the binaries out of the way.
Upgrade also works fine and we have a warning from 3d4c85c to indicate that user should restart Blender after upgrade.
2024-08-14 17:16:25 +05:00
Andrej730
7612cf92c0
remove donate button from bonsai preferences #4373
...
As per Blender request, see https://extensions.blender.org/approval-queue/bonsai/#activity-2480
2024-08-14 17:03:43 +05:00
Andrej730
db1f4d126a
bonsai web module #5178
...
Ping @Ziad-I just in case
2024-08-14 16:49:34 +05:00
Andrej730
b15820dd10
bonsai libs/desktop #5178
2024-08-14 16:49:34 +05:00
Andrej730
f8f7884278
bonsai other scripts #5178
2024-08-14 16:49:34 +05:00
Andrej730
3318de7f6d
bonsai main extension files #5178
2024-08-14 16:49:34 +05:00
Andrej730
726bf40d58
bonsai core module imports #5178
2024-08-14 16:49:34 +05:00
Andrej730
3860884db3
bonsai other ifcopenshell packages #5178
2024-08-14 16:49:34 +05:00
Andrej730
5784e3103d
bonsai assets #5178
2024-08-14 16:49:34 +05:00
Andrej730
2a1d1d6e10
bonsaibim urls #5178
2024-08-14 16:49:34 +05:00
Andrej730
485643863f
bonsai bim module imports #5178
2024-08-14 16:49:34 +05:00
Andrej730
c03777cfe6
bonsai tool module imports #5178
2024-08-14 16:49:34 +05:00
Andrej730
be442ff1be
bonsai copyrights #5178
2024-08-14 16:49:34 +05:00
Andrej730
95e7910f69
bonsai .gitignore #5178
2024-08-14 16:49:34 +05:00
Andrej730
d5592ed2eb
fix ifc4d copyright license
2024-08-14 16:49:34 +05:00
Andrej730
a29806ef9e
bonsai dev_environment scripts #5178
2024-08-14 16:49:34 +05:00
Andrej730
3a9d79dcd3
bonsai makefile #5178
2024-08-14 16:49:34 +05:00
Andrej730
b9c2e312e3
black format
2024-08-14 16:49:34 +05:00
Andrej730
f1db51df1a
blenderbim, bcf - add tooltips for topic attributes based on extensions
...
Example - https://imgur.com/a/mYiXqXn
2024-08-13 18:53:11 +05:00
Andrej730
312a58ddce
bcf - readme note about code structure
2024-08-13 18:53:11 +05:00
Andrej730
1e71708aba
bcf v2 - extensions support #3220
...
The api is the same as for bcf v3 though for bcf v2 they are currently available only in read-only mode.
2024-08-13 18:53:11 +05:00
Andrej730
ad6e00571e
bcf v3 - add extensions tests
2024-08-13 18:53:11 +05:00
Dion Moult
c8d05951b0
Rename choco dir
2024-08-13 23:47:26 +10:00
Dion Moult
0f8c3b3c83
Name change in workflows dir
2024-08-13 23:21:30 +10:00
Dion Moult
25071dfec6
Rename source dir
2024-08-13 23:09:50 +10:00
Dion Moult
cc28f5a92b
Search replace in test dir
2024-08-13 15:47:27 +10:00
Dion Moult
a57a7041ac
Search replace BlenderBIM with Bonsai
2024-08-13 15:45:33 +10:00
Dion Moult
17b90c3241
Search replace BlenderBIM Add-on with Bonsai
2024-08-13 15:40:54 +10:00
Dion Moult
90089f91c6
Minor fix
2024-08-13 15:28:03 +10:00
Dion Moult
37dd2a5607
G'day Bonsai!
2024-08-13 13:38:10 +10:00
Bruno Perdigão
bc70130123
Polyline wall - you now can press 'C' to close the polyline
2024-08-12 16:01:25 -03:00
Bruno Perdigão
8d53141d5a
Fix polyline wall generator for open polylines
2024-08-12 15:53:42 -03:00
Bruno Perdigão
0ffc62fbf3
lowered the threshold for the polyline snap to axis
2024-08-12 15:39:38 -03:00
Bruno Perdigão
4350e3df82
added shadow to polyline input panel text
2024-08-12 15:38:27 -03:00
Andrej730
2ad601ed34
bcf - fix make models after 237cd99
2024-08-12 18:04:45 +05:00
Andrej730
f9e8d6d478
bcf - fix issues with unexpected reloads from zip
...
It wasn't considering that self._topics could be an empty dict because there are no topics and it would also reload it. Now we have None value to distinguish when it actually wasn't loaded before.
Same for viewpoints, reference files and document references.
I've also imade mplementations identical/more similar between v2 and v3.
2024-08-12 17:31:52 +05:00
Andrej730
65cc5bf4c1
bbim bcf - fix issues setting visibility exceptions
...
1) bpy.ops.object.hide_view_set doesn't actually work with context provided selected objects - it's checking whether they're actually selected
2) bpy.ops.object.hide_view_clear wasn't using select=False, selecting revealed objects which might get in the way later.
3) used new api for getting visibility settings
2024-08-12 16:29:10 +05:00
Andrej730
73e5985777
bcf + bbim - set/get selected/visible elements #4857
...
1) added more high level api for getting/setting selected/visible elements in bcf
2) in bbim when you add a new viewpoint it will remember currently selected and visible objects:
https://imgur.com/a/2pZ79Z2
2024-08-12 16:29:10 +05:00
Andrej730
de14e92720
poll message
2024-08-12 16:29:10 +05:00
Andrej730
09ad47d11b
remove debug prints
2024-08-12 16:29:10 +05:00
Andrej730
debe63c1af
fix typo
2024-08-12 16:29:10 +05:00
Andrej730
6f2eb6c54a
typing
2024-08-12 16:29:10 +05:00
Andrej730
56ca431965
bbim - load bcf files using drag'n'drop
...
Example - https://imgur.com/a/aK62slh
2024-08-12 16:29:10 +05:00
Andrej730
74e8b80fb4
bbim, bcf - expose topic attributes to edit from bbim #3026
...
Previously they weren't editable if they were not defined in .bcf already, so previously it was kind of requiring them to be defined by some other software, not BBIM.
Also changed couple prop names to make them more clear to users.
2024-08-12 16:25:41 +05:00
Andrej730
7ecfe372ad
fix #5175 after 1626dd8
2024-08-12 15:19:02 +05:00
Andrej730
b017ab7596
black format after #5172
2024-08-12 15:19:01 +05:00
Junzhe Ren
bd3905fe76
Update supported VS version installation.rst ( #5174 )
...
* Update installation.rst
2022 is now supported by dependency CMake
* Update installation.rst
Updates on Compiling on Windows (Visual Studio)
2024-08-12 15:17:08 +05:00
Bruno Perdigão
0c8048c14d
Walls from polyline are now joined when generated
2024-08-11 21:57:16 -03:00
Bruno Perdigão
77f72ecdfa
renamed the tools to Snap and Raycast
2024-08-11 21:57:16 -03:00
Bruno Perdigão
723701f1b8
Points are now added relative to default container Z value.
2024-08-11 21:57:16 -03:00
Bruno Perdigão
bf96c63f7d
moved raycasting functions to Raycasting module
2024-08-11 21:57:16 -03:00
Bruno Perdigão
cef8251458
minor refactors
2024-08-11 21:57:16 -03:00
Bruno Perdigão
547981f32c
Temporary solution for wall generation with polyline
2024-08-11 21:57:16 -03:00
Bruno Perdigão
a3cc0245ca
Started a system to lock on axis
2024-08-11 21:57:16 -03:00
Bruno Perdigão
5d934a2baa
Improvements on how it handles the numbers input
2024-08-11 21:57:16 -03:00
Bruno Perdigão
4409a35441
small fix related to polyline decorator
2024-08-11 21:57:16 -03:00
Bruno Perdigão
f637ef8016
black format
2024-08-11 21:57:16 -03:00
Bruno Perdigão
5e2cefee12
small change on input from keyboard
2024-08-11 21:57:16 -03:00
Bruno Perdigão
67b01dcd0f
black format
2024-08-11 21:57:16 -03:00
Bruno Perdigão
bc0efd7389
Added snaping to polyline points
2024-08-11 21:57:16 -03:00
Bruno Perdigão
4b4e6fa7e2
adds decorator to angle snap axis
2024-08-11 21:57:16 -03:00
Bruno Perdigão
17a0face6e
Now the mouse snaps in angle axis in 30 degree intervals
2024-08-11 21:57:16 -03:00
Bruno Perdigão
a3b2860789
added highlight color to the input panel
2024-08-11 21:57:16 -03:00
Bruno Perdigão
f8f22257b4
fixed backspace for number input
2024-08-11 21:57:16 -03:00
Bruno Perdigão
8284ed0cdb
Fix to allow calculations to work when no point was added yet
2024-08-11 21:57:16 -03:00
Bruno Perdigão
d995e010cf
WIP: calculates x and y based on distance and angle. Accepts negative input
2024-08-11 21:57:16 -03:00
Bruno Perdigão
fcfc070825
WIP: Input panel receives x and y inputs from the keyboard
2024-08-11 21:57:16 -03:00
Bruno Perdigão
55552770a6
Input panel now shows coordinates, distance and angle
2024-08-11 21:57:16 -03:00
Bruno Perdigão
350df4eee5
WIP: Started the input system
2024-08-11 21:57:16 -03:00
Bruno Perdigão
04a273c720
Fixed problem with event type by using event value
2024-08-11 21:57:16 -03:00
Bruno Perdigão
61641acf56
Added 'Backspace' event to remove last polyline point
2024-08-11 21:57:16 -03:00
Bruno Perdigão
10035662dd
Basic polyline implementation
2024-08-11 21:57:16 -03:00
Bruno Perdigão
056df7758b
Improved performance. Objects are first select by their 2d bounding box related to the view. Then, just the objects close to the mouse use ray cast.
2024-08-11 21:57:16 -03:00
Bruno Perdigão
0522adac63
Added simple snap decorator
2024-08-11 21:57:16 -03:00
Bruno Perdigão
1f781e5cab
added mouse offset for raycast
2024-08-11 21:57:16 -03:00
Bruno Perdigão
a30fd7cab4
enabled snaping to ground plane
2024-08-11 21:57:16 -03:00
Bruno Perdigão
94ca2423e9
First implementation. Two types of raycast and basic snaping for faces,
...
edges and edge center.
2024-08-11 21:57:16 -03:00
Ryan Schultz
2938c1fd0b
small tweak to the previous commits
2024-08-11 18:32:07 -05:00
Ryan Schultz
ab8710bd1e
schedule's background fill driven by .ods/xlsx, if it exists.
...
also added `.border` class to default schedule css.
2024-08-11 12:14:55 -05:00
Ryan Schultz
a791abe23e
fixes #4780 : added preference for default location for schedule's css.
...
Also added a `border` class to style the schedule's border with css. That is `fill`, `stroke-width`, and `stroke` are no longer hard-coded.
2024-08-11 11:53:58 -05:00
Chirag Singh
e70122f354
Ran Black Formatting
2024-08-11 10:40:10 +10:00
Chirag Singh
96fdced471
1. Added a Json File having SpectralDB Materials. 2. Implemented UIList: Lists down the materials to be mapped with. 3. By default Not mapped material is white. 4. Added a Drop down for category and Subcategory from where the user can select the material from spectralDB 5. Corrected hardcoded render123.hdr as highlighted by Manu in #5033
2024-08-11 10:40:10 +10:00
Andrej730
1c95f6cc3f
bcf - remove lru_cache in build_viewpoint #4857
...
disabling it as it currently won't allows users to create a different viewpoint for the same IFC element (in the same or other bcf file) and also entity position can change between `build_viewpoint` calls
2024-08-09 19:00:10 +05:00
Andrej730
0f03e412c3
bcf - port 3c17718 to v3
...
According to docs bcf is using meters as their length unit - https://github.com/BuildingSMART/BCF-XML/tree/release_3_0/Documentation
We should create some kind of common code folder to keep this sane...
2024-08-09 19:00:10 +05:00
Thomas Krijnen
6ca3e2a6db
Attempt fix #5168 - Update release.yml
2024-08-09 15:54:41 +02:00
Thomas Krijnen
079446a4b6
Attempt fix #5168 - Update Dockerfile
2024-08-09 15:54:32 +02:00
Andrej730
e706e568bd
bcf - option to provide snapshot filename + save warnings #4453
...
Example warning:
WARNING. Snapshot with viewpoint guid '6aff8c6e-216c-48c9-8120-3101816def3e' won't be saved to bcf. Only snapshot data (VisualizationInfoHandler.snapshot) is provided and snapshot filename (ViewPoint.snapshot) is missing.
2024-08-09 16:42:33 +05:00
Andrej730
526a2a6a80
bcf - return added viewpoint in add_visinfo_handler #4453
2024-08-09 16:42:33 +05:00
Andrej730
3e7a2c1b83
bcf - fix inconsistent return types in add_viewpoint #4887
2024-08-09 15:12:41 +05:00
Andrej730
9bb04d3ffc
small fix for bcf docs
...
bcfxml.get_topic actually returns topichandler, not topic
2024-08-09 14:58:10 +05:00
Andrej730
7c4d45ab32
ci - fix ifcdiff dependencies
2024-08-09 14:29:38 +05:00
Andrej730
dafec70097
black format
2024-08-08 18:13:31 +05:00
Andrej730
eca1d47d06
typing
2024-08-08 18:12:45 +05:00
Andrej730
9671be1734
add a couple poll messages
2024-08-08 18:11:00 +05:00
Andrej730
644f32d11c
Fix errors appending assets when projects are using georeferencing #5110
2024-08-08 18:11:00 +05:00
Andrej730
1626dd85f4
fix opening recent project showing file browser
2024-08-08 15:43:19 +05:00
Andrej730
3c0103b4da
fix issues toggling EDIT mode
...
1) it was throwing errors if object was linked
2) bim.override_mode_set_edit wasn't considering that toggle_edit_mode might not work out and was changing BIMGeometryProperties.mode though it wasn't needed.
2024-08-08 15:12:57 +05:00
Dion Moult
f9c4b6a98f
Improve QTO of segment lengths
...
Previous method uses bounding box which could be wrong if the app (Revit) doesn't extrude in +Z and has a slope (e.g. most pipes). Also Revit tends to use rectangle profiles not for the cross section, but instead for the footprint which is crazy.
2024-08-08 15:13:34 +10:00
Dion Moult
b01e93161e
Use vertex buffer for more efficient centroids
2024-08-08 08:24:12 +10:00
Andrej730
ffbd3e50c5
typing
2024-08-07 20:27:21 +05:00
Andrej730
98c4a1d110
ifcdiff - add simple tests
2024-08-07 17:33:10 +05:00
Andrej730
e2c4bcb217
blenderbim - hide json output file and some operators if current ifc file is not used
...
It was misleading since those operators only worked with the current model and had no effect if it wasn't used in ifcdiff.
2024-08-07 17:33:10 +05:00
Andrej730
7e60b6888e
ifcopenshell v0.8 fixes #5156 #4832
2024-08-07 17:33:10 +05:00
ArturTomczak
bbf8ebcb52
add user-agent header to bSDD calls
...
As explained in: https://github.com/buildingSMART/bSDD/blob/master/Documentation/bSDD%20API.md#http-header-x-user-agent
2024-08-07 21:12:49 +10:00
Tim
c1936b871e
Renamed tools #3527
2024-08-07 21:12:29 +10:00
Ziad-I
31d67b5e62
fix bootstrap css conflict by adding dummy class in navbar a tags
2024-08-07 21:11:44 +10:00
Ziad-I
683e168ca1
add border radius to all pages
2024-08-07 21:11:44 +10:00
Ziad-I
cbc0b4837f
add icons to navbar and make it smaller
2024-08-07 21:11:44 +10:00
Ziad-I
02ff6c00ef
add button colors
2024-08-07 21:11:44 +10:00
Ziad-I
78f664e892
fix CSS inconsistency and small errors
2024-08-07 21:11:44 +10:00
Ziad-I
d745265048
fix footer for drawings page
2024-08-07 21:11:44 +10:00
Ziad-I
917991feab
only ask for updates from specific blender using blender ID
2024-08-07 21:11:44 +10:00
Ziad-I
4877ab4426
add updating and removing of drawings/sheets
2024-08-07 21:11:44 +10:00
Ziad-I
48c5100d3b
add blender generated theme for drawings page
2024-08-07 21:11:44 +10:00
Ziad-I
72caf7525e
fix highlighting for better visibility
2024-08-07 21:11:44 +10:00
Ziad-I
242d91bc17
small css change
2024-08-07 21:11:44 +10:00
Ziad-I
afb22ce7d5
add blender generated theme to gantt page
...
and some small edits in extracted colors and index page
2024-08-07 21:11:44 +10:00
Ziad-I
e45a670ff5
add csv page uses blender theme css variables
2024-08-07 21:11:44 +10:00
Ziad-I
45042aa5e0
index.css uses blender css variables if they are defined
2024-08-07 21:11:44 +10:00
Ziad-I
07aec0730f
update title in all pages
2024-08-07 21:11:44 +10:00
Ziad-I
7e6da3edb3
add mix colors function as blender mixes two colors...
...
blender mixes two colors to get the panel background final color :)
2024-08-07 21:11:44 +10:00
Ziad-I
4f0eafa92d
fix blender css variables names
2024-08-07 21:11:44 +10:00
Ziad-I
de75eded09
add theme_data listeners in web ui
2024-08-07 21:11:44 +10:00
Ziad-I
f2b4bea4de
add getting and sending theme data from blender
2024-08-07 21:11:44 +10:00
Ziad-I
4f28b2506d
add theme data listeners in sioserver
2024-08-07 21:11:44 +10:00
Ziad-I
281da8ed77
add docstring to has_started and indentation edits
2024-08-07 21:11:44 +10:00
Ziad-I
bdf4258895
add footer to drawings page
2024-08-07 21:11:44 +10:00
Ziad-I
385d9b9df7
connected clients list now works correctly with all pages
2024-08-07 21:11:44 +10:00
Ziad-I
0e40df4fa3
now correctly gets drawings and sheets data to send to web ui
2024-08-07 21:11:44 +10:00
Ziad-I
b0c132f73a
fix when sending csv or gantt data it is saved in the WebData
...
due to load not always being called as sometimes WebData is loaded before
2024-08-07 21:11:44 +10:00
Dion Moult
4fd802bf3d
More efficient shape bbox and average vertex centroid function
2024-08-07 17:21:49 +10:00
Andrej730
e461040e17
bim.pip_install - fix for Blender 4.2
2024-08-06 18:22:35 +05:00
Andrej730
43b574011e
fix choco releases
2024-08-06 17:14:43 +05:00
Andrej730
9bae914b51
ci-blenderbim-choco - rename for consistency, add workflow_dispatch
...
workflow_dispatch allows running workflow manually if needed
2024-08-06 16:52:30 +05:00
Andrej730
945070bdff
blenderbim daily releases - add a note about autoupdates
2024-08-06 15:13:50 +05:00
Andrej730
d2b4afe1be
blenderbim tests github action
2024-08-06 15:09:47 +05:00
Andrej730
3760f8fafe
setup daily builds extensions repo
2024-08-06 15:09:47 +05:00
Andrej730
b9e5cefddf
Another fix for #5134
2024-08-06 10:56:36 +05:00
Andrej730
9f5f757ccf
Fix #5134
2024-08-05 18:33:03 +05:00
Andrej730
3a147d7f62
Remove Python 3.10 build from bbim builds
...
Reverts 8514a42 , removes python 3.10 from bbim builds as it's not suppored by Blender 4.2+ (https://github.com/gentoo/gentoo/pull/37671 )
2024-08-05 16:37:16 +05:00
Andrej730
9f1d14e5a7
black format
2024-08-05 13:59:33 +05:00
Dion Moult
bce71f3797
See #5087 . See #5114 . Skip trying to test shapes that obviously don't have a representation to prevent false positives
2024-08-05 14:18:54 +10:00
Bruno Postle
253dca730d
Fix misplaced section/elevation symbols
...
Looks like a simple typo, closes #5131
2024-08-04 17:30:30 +01:00
Ryan Schultz
e0f33a56ec
shift+click, to quickly switch the drawing view without turning anything on or off in the scene. as discussed: https://community.osarch.org/discussion/2196/quick-way-to-switch-between-drawing-views#latest
...
shift+click, to quickly switch the drawing view without turning anything on or off in the scene.
as discussed: https://community.osarch.org/discussion/2196/quick-way-to-switch-between-drawing-views#latest
2024-08-04 10:02:31 -05:00
Dion Moult
2287931e9c
Rewrite georeference tests actually test UI effects
2024-08-04 21:23:02 +10:00
Dion Moult
1f7a498606
Fix #4958 . Add UI spy class in feature tests to allow more natural BDD tests
2024-08-04 21:23:02 +10:00
Ryan Schultz
a9e366b238
Assure text 'wraps' in CloseError
2024-08-03 14:30:06 -05:00
Ryan Schultz
1ca0dfb1e0
Make sure drawings are loaded when calling bim.activate_drawing from sheets UI.
...
related: c11ba23a3d
2024-08-03 14:09:15 -05:00
Ryan Schultz
c11ba23a3d
Fix #3728 - Be able to bim.activate_drawing a drawing listed in the sheets UI, as well.
2024-08-03 11:01:31 -05:00
Dion Moult
556c769b40
Sun position add-on is now detected in the current session instead of needing to restart Blender
2024-08-03 23:21:31 +10:00
Dion Moult
78173dd546
Add basic tests for new web module
2024-08-03 23:12:21 +10:00
Dion Moult
2196c16097
Fix failing georeference and spatial core/tool/bim tests and clean dead code
2024-08-03 23:08:35 +10:00
Dion Moult
7af5db7cd4
Collector now unassigns from old ifc collections
2024-08-03 22:04:38 +10:00
Dion Moult
c58672cc25
Allow selecting a container object when changing spatial container
2024-08-03 19:29:06 +10:00
Dion Moult
85e022d76e
IfcTester now groups results by types to make long failure lists more useful
2024-08-02 23:58:01 +10:00
Andrej730
872f40933f
remove Python 3.9 from bbim makefile since a31051a93
2024-08-02 18:54:37 +05:00
Andrej730
4491018f5e
fix tool surveyor test
2024-08-02 18:54:37 +05:00
Andrej730
a21c440b5b
fix tool geometry tests
2024-08-02 18:54:37 +05:00
Andrej730
143e094db8
assign default container on assigning IfcAnnotation class
...
Currently if you create a IfcAnnotation it might just get lost as it's not assigned anywhere. Also noticed this since previously we allowed using bim.add_reference_image without any specific drawings.
2024-08-02 18:54:37 +05:00
Andrej730
94e9e945d7
fix system/qto tool tests after e6ac012
2024-08-02 18:54:36 +05:00
Andrej730
5e56115050
typing
2024-08-02 18:54:36 +05:00
Andrej730
1ad654aab3
Fix Ifc tool tests after #4843 and unlinking changes
2024-08-02 18:54:36 +05:00
Andrej730
596ffb093b
dev environment script - keep it possible to run the script without any changes
...
by default it assumes it's executed from ifcopenshell repo directory
2024-08-02 18:54:36 +05:00
Andrej730
3576362fd8
blenderbim make test - run all tests but return error code at the end
2024-08-02 18:11:25 +05:00
Andrej730
2c949bb39a
blenderbim "make test" - run tool and bim tests even if some core tests failed
2024-08-02 17:20:29 +05:00
Andrej730
34faa0617b
fix running core tests on python 3.10
2024-08-02 17:05:28 +05:00
Dion Moult
15f6b3803f
Fix #4986 . IfcTester now determines whether a spec is relevant to the ifc version
2024-08-02 22:02:56 +10:00
Andrej730
8514a426bb
fix potential blenderbim issues for python 3.10
...
tomllib was added to python 3.11, tomli can be used for the previous versions.
Though it is a bit questionable since internally Blender is using just tomllib and because of that I'm not sure anymore if Blender still supports Python 3.10.
2024-08-02 16:00:49 +05:00
Andrej730
2062324294
prevent issues importing blenderbim for core test
...
initialize_bbim_semver was possible breaking on running core tests if system python was missing tomllib
2024-08-02 16:00:49 +05:00
Dion Moult
90c6218210
Fix #5115 . Members (e.g. stringers) can now have a stair modifier applied as they may be used to support stairs
2024-08-02 16:34:30 +10:00
Dion Moult
321bb7178d
See #5110 . Minor fix when appending linked elements.
2024-08-02 16:29:14 +10:00
Dion Moult
42dda0a07a
Run black on light
2024-08-02 16:00:45 +10:00
Dion Moult
adb17d91f9
Dedicated doc section for blend open/save issue
2024-08-02 15:57:17 +10:00
Dion Moult
646cc59687
Update live install script on linux/mac and merge system support docs into dev setup docs
2024-08-02 15:57:17 +10:00
Dion Moult
38759348cd
Document new install location on 4.2
2024-08-02 15:57:17 +10:00
Dion Moult
ff44f4f395
Show warning if a blend file is used alongside an ifc
2024-08-02 15:57:17 +10:00
Dion Moult
a31051a937
Drop py39 from build matrix for BBIM as we now only support Blender >=4.2
2024-08-02 15:57:17 +10:00
Chirag Singh
5cfd69f337
Merge branch 'v0.8.0' of https://github.com/IfcOpenShell/IfcOpenShell into v0.8.0
2024-08-02 11:23:09 +05:30
Chirag Singh
f4100f7951
Added HDR support
2024-08-02 11:22:40 +05:30
Thomas Krijnen
785d5118d0
installation.rst - minor enhancement
2024-08-02 05:02:20 +02:00
Thomas Krijnen
fddd85817a
installation.rst - minor doc enhancements
2024-08-02 04:59:09 +02:00
Thomas Krijnen
a689fc6377
Consistency TopExp_Explorer::Current()
2024-08-02 04:50:06 +02:00
Augustin Trancart
8e5a7ed24e
improve json lib discovery for cmake
2024-08-02 03:31:17 +02:00
Dion Moult
788217c73c
Use loader to get name instead of hardcoding when loading IFCs. See #4517 .
2024-08-02 09:31:15 +10:00
Blender Defender
1abc3a1422
feat: Update the patch UI of ResetAbsoluteCoordinates
...
Instead of specifying parameters `a`, `b`, `c` and `d`, more meaningful parameters have been introduced (`threshold`, `automatic_offset_point`, `x`, `y` and `z`), which allow to do the same operations in a more understandable way.
2024-08-02 08:26:14 +10:00
Richard Brice
c31c34b7d2
reimplements piecewise_function using PIMPL idiom
...
PIMPL idiom allows implementaiton of piecewise_function to evolve without envoking systemwide recompile (unless the class definition changes)
2024-08-01 12:34:49 -07:00
Richard Brice
b22ecba179
Implements mutually exclusive access to mapping cache with a mutex
2024-08-01 07:15:22 -07:00
Chirag Singh
22bc98b48b
Merge branch 'v0.8.0' of https://github.com/IfcOpenShell/IfcOpenShell into v0.8.0
2024-08-01 19:29:48 +05:30
Chirag Singh
cf70026570
Gensky corrected and output in .tiff format
2024-08-01 19:29:02 +05:30
Andrej730
3c4a865e0b
ci.yml - also run tests for other ifcopenshell packages
2024-08-01 18:01:59 +05:00
Andrej730
8523bb317a
bcf, bsdd - add "make test"
2024-08-01 18:01:59 +05:00
Andrej730
4b00b268c0
fix core geometry trests after c4ae957 and 698c648
2024-08-01 18:01:58 +05:00
Andrej730
f0ca34d107
fix core project tests after 0dc084d and e3cb811
2024-08-01 18:01:58 +05:00
Andrej730
3834ecb06a
fix core root test after e3cb811
2024-08-01 18:01:58 +05:00
Andrej730
047c9e3ee9
fix core aggregate module test after 6eb3c48
2024-08-01 18:01:58 +05:00
Andrej730
786b796f37
fix breaking bim.activate_model for new collections structure
2024-08-01 18:01:58 +05:00
Andrej730
3fd8be72c2
refresh_ui_data note
2024-08-01 18:01:58 +05:00
Andrej730
cb80081473
fix covering test and fix bug adding coverings in non-meters projects
...
Noticed that adding a covering in millimeters project didn't worked - the reason was that shapely was using tolerance in ifc project units when get_obj_base_points was returning points in si (blender always operates in meters internally).
I've changed get_obj_base_points to return data in project units and get_bmesh_from_polygon to convert it back to meters for Blender.
It's probably would be better to always operate in si until we need to save data to ifc but I'm not that familiar with that module to just change it everywhere.
Ping @maxfb87 just in case.
2024-08-01 18:01:58 +05:00
Andrej730
5ac84e2be7
covering - more detailed poll messages
2024-08-01 18:01:58 +05:00
Andrej730
c8466e0606
typing
2024-08-01 18:01:58 +05:00
Thomas Krijnen
db5167bbaf
Prevent infinite recursion
2024-08-01 07:59:23 +02:00
Thomas Krijnen
7d6e26bfd5
Add revolve as top-level item in occt kernel
2024-08-01 07:48:42 +02:00
Thomas Krijnen
2fd339ac6b
Hack/workaround for #5064
2024-08-01 07:48:28 +02:00
Dion Moult
6f6dc08696
Minor typo fixes
2024-08-01 14:58:23 +10:00
Andrej730
6cb063ebd2
fix bim drawing module test after 47704b1
2024-07-31 19:00:34 +05:00
Andrej730
fb95e3eb51
fix enabling sverchok as legacy addon on Blender 4.2
...
It was failing when BBIM is installed as an extension
2024-07-31 19:00:34 +05:00
Andrej730
17a061f917
fix bim test after e6ac012
...
when Types collection was renamed to IfcTypeProduct
2024-07-31 19:00:34 +05:00
Andrej730
51db65b868
fix resource bim tests after c399eb2
...
IfcLaborResource doesn't actually support IfcQuantityArea quantities
2024-07-31 19:00:34 +05:00
Andrej730
faab9e04a3
fix resource bim tests after 1a4e467
...
operator prop was deprecated a long time ago in e2d4a3a
2024-07-31 19:00:34 +05:00
Andrej730
bea92455dd
clean up bim tests from trailing spaces
2024-07-31 19:00:34 +05:00
Andrej730
6be1b80a82
fix container operators after a9a4b0c + mention a limitation
...
If you would select container1 + obj1 with intention to copy obj1 to container1 - running bim.copy_to_container would also copy container1.
Similar issue for referencing/dereferncing structures in other structures in ifc4x3.
2024-07-31 19:00:34 +05:00
Andrej730
2927eadada
Display referenced structured elements during container edit for more responsive ui
...
Before - https://imgur.com/a/m5qtDUn
After - https://imgur.com/a/TFlUNTa
2024-07-31 19:00:33 +05:00
Andrej730
4c5e90dc77
fix bim tests after collections no longer represent spatial hierarchy
2024-07-31 19:00:33 +05:00
Andrej730
f860973172
fix spatial module bim tests after a9a4b0c
2024-07-31 19:00:33 +05:00
Andrej730
94ed0cd59c
fix bim.assign_container uses after a9a4b0c + add TODOs
2024-07-31 19:00:33 +05:00
Andrej730
93ea1f98ac
fix qto tests after 8c3d10a
2024-07-31 19:00:33 +05:00
Andrej730
b68a92f251
remove bim.assign_objects_base_qto from tests (removed in 8c3d10a)
2024-07-31 19:00:33 +05:00
Andrej730
902da2e720
remove bim.pie_update_container
...
as we no longer rely on collections for container assignment
2024-07-31 19:00:33 +05:00
Andrej730
d384aaeb9c
fix tests after a9a4b0c
2024-07-31 19:00:33 +05:00
Andrej730
133494af97
remove bimtester from bbim (related to 7157590)
2024-07-31 19:00:32 +05:00
Andrej730
64fc9462b6
fix bim attribute tests after 9122f00
2024-07-31 19:00:32 +05:00
Andrej730
3d86e5fff3
fix bim geometry tests after fccf56d
2024-07-31 19:00:32 +05:00
Andrej730
a24bb069aa
fix bim tests after changes in quantities calculations
2024-07-31 19:00:32 +05:00
Andrej730
159355d63a
typing
2024-07-31 19:00:32 +05:00
Andrej730
598cf4ba79
bim.perform_quantity_take_off description + info message
2024-07-31 19:00:32 +05:00
Andrej730
c86a4c88a9
fix broken search test after 410fff6
2024-07-31 19:00:32 +05:00
Jonathan Gan
6a9e76c2af
Documentation: Added getting started documentation for ifcopenshell core ( #4965 )
...
* Added getting started documentation for ifcopenshell core
* Apply suggestions from code review
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
* Updated code snippet to use ->as instead of dynamic_cast based on feedback
* Missed out two dynamic casts
* Using preprocessor macros instead of chaining if-else
---------
Co-authored-by: Jonathan Gan <jonathan.gan@inspacion.com >
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2024-07-31 07:28:25 +10:00
Andrej730
2070071c49
fix bbim builds...
2024-07-30 21:20:14 +05:00
Andrej730
9bbf3bcaba
mention supported formats in export window
...
as currently there is no other ui to indicate that other formats besides .ifc are supported and I guess we just expect users to change extension in the saved filename
https://i.imgur.com/Qa6OlmR.png
2024-07-30 20:47:48 +05:00
Andrej730
0395c0c6c7
fix ifcjson export support #4832
...
Bumped the version, so Blender would recognize the updated wheel.
Related https://github.com/IFCJSON-Team/IFC2JSON_python/pull/3
2024-07-30 20:47:47 +05:00
Andrej730
a175ec4d28
fix bim tests after d4b055a
2024-07-30 20:46:16 +05:00
Andrej730
139627b6ec
fix bim tests after b9f76042b
2024-07-30 20:46:16 +05:00
Andrej730
6f2eb0a116
fix bim tests after a156864
2024-07-30 20:46:16 +05:00
Andrej730
d26561acee
fix for bim style module test
2024-07-30 20:46:16 +05:00
Andrej730
de0374bdbd
fix error purging unused types in 75f8e75
2024-07-30 20:46:16 +05:00
Ziad-I
51463ab674
fix pid file not there on first run so exception was thrown and not caught
...
when the user ran the web ui for the first time. the running_pid file was not created yet by the server so it threw an exception due to with open not inside the try block
2024-07-30 18:18:35 +03:00
Dion Moult
6012695cfe
Use a tolerance when detecting project norths heuristically
2024-07-30 23:57:54 +10:00
Dion Moult
081b3fcf33
Remove misleading load project button in new project wizard.
...
Previously there were subtle differences and two ways to load projects which is bad UX.
2024-07-30 23:57:54 +10:00
Dion Moult
27a2c94b4a
Fix #5065 . Restore "Import IFC" menu item for those wishing to purely work with IFC geometry instead of native ifc
2024-07-30 23:57:54 +10:00
Dion Moult
b9f76042bb
Remove deprecated export IFC operator ID
2024-07-30 23:57:54 +10:00
Andrej730
e7ef307984
remove redundant indent in bdc5a7a
...
Co-Authored-By: Adi Shavit <1814800+adishavit@users.noreply.github.com >
2024-07-30 18:56:02 +05:00
Andrej730
1f68e52ac2
black format - exclude 'mvd' and reformat pyproject.toml for readibility
2024-07-30 18:49:10 +05:00
Dion Moult
87dfb75c21
Merge pull request #5103 from IfcOpenShell/webui_drawings
...
Web UI drawings page
2024-07-30 23:12:04 +10:00
Blender Defender
8afb1b8b30
feat: Display float properties as string properties for more precision in the patch panel
...
This change affects the following recipes: `OffsetObjectPlacements`, `OffsetStoreyElevations`, `SetFalseOrigin`, `SetRefElevation` and `SetWorldCoordinateSystem`
2024-07-30 23:05:44 +10:00
Blender Defender
5572991a7c
style: Run black on geom/occ_utils.py
2024-07-30 23:04:58 +10:00
Blender Defender
653b9288c0
feat: Allow merging multiple ifc projects at once with the MergeProject recipe
2024-07-30 23:04:58 +10:00
Chirag Singh
233b0856af
Implemented gensky and fixed executable flag error as mentioned by Manu in #5033
2024-07-30 13:51:20 +05:30
Dion Moult
ec29e3d60b
Send sigkill not sigterm because aiohttp swallows sigterm and takes a long time
...
I'm not smart enough to know exactly why
2024-07-30 17:54:28 +10:00
Dion Moult
70bc32b3df
Check for PID file prior to connecting to newly started web socket server
2024-07-30 17:28:35 +10:00
Ziad-I
ca781655b0
add displaying of svgs in drawings page
2024-07-29 23:35:28 +03:00
Ziad-I
03e2cb70bb
remove unnecessary padding
2024-07-29 22:45:35 +03:00
Chirag Singh
c7c95e1f9d
Implemented gensky (Values Hardcoded)
2024-07-29 23:15:31 +05:30
Chirag Singh
b040c5e25b
Pulled changes
2024-07-29 23:13:21 +05:30
Richard Brice
60b007d28a
Fixes domain of vertical and cant pwf (Issue #5072 )
2024-07-29 09:48:15 -07:00
Andrej730
52130a3eb6
fix materials / styles bim tests #4843
2024-07-29 18:53:12 +05:00
Andrej730
5e849d7b81
update core.tool.Material to fix tests
2024-07-29 18:53:12 +05:00
Andrej730
a7a28f613b
Fix errors in tests and scripts removing styles
...
remove_style relies on style_type which is using StylesData to get the enum of it's values and StylesData will fail to load on `material = tool.Ifc.get_object(ifc_file.by_id(style.ifc_definition_id))` as ifc_definition_id was removed but not yet removed as an item from styles ui.
This issue doesn't occur when user is working from UI since StylesData precached when they load styles UI but if they run a script (as we do in bim tests) StylesData is not precached and will be loaded when get_active_style_type() is called leading to errors.
2024-07-29 18:53:12 +05:00
Andrej730
46b3bfecd1
fix issues assigning material sets and material lists
2024-07-29 18:53:12 +05:00
Andrej730
11b62a0fdc
fix console errors adding new style and changing it's color
...
1) As adding new styles means it's not assigned anywhere, there is no need to keep graph up to date.
2) Removed Ifc Operator super class from couple operators that do not write ifc data
3) Moved common code to tool.Style
2024-07-29 18:53:11 +05:00
Andrej730
732bb93826
fix duplicated lines in 2575348
2024-07-29 18:53:11 +05:00
Andrej730
a0bda1afd3
typing
2024-07-29 18:53:11 +05:00
Dion Moult
e0790601df
Black
2024-07-29 22:38:55 +10:00
Dion Moult
a9a4b0ccf0
Deprecate "duplicate" spatial tree browser in favour of regular object selection
2024-07-29 22:29:44 +10:00
Blender Defender
f8848051ca
style: Run black formatter on spatial/ui.py
2024-07-29 21:37:29 +10:00
Blender Defender
b81031eecf
fix: Remove the "animatable" option from the "engine" and "format" property in BIMFMProperties
2024-07-29 21:37:29 +10:00
Blender Defender
95a7ea8dce
refactor: Create property group MultipleFileSelect
...
To easier create and display properties that allow one or more files as input, a `MultipleFileSelect` property group has been extracted, together with an operator for selecting the files and the code for displaying the property.
2024-07-29 21:37:29 +10:00
Dion Moult
98edb5a34c
Display the default container in the UI when creating new types
2024-07-29 19:50:21 +10:00
Dion Moult
8ca2a55616
Implement filtered selection in new spatial decomposition panel
2024-07-29 18:09:08 +10:00
Dion Moult
74141bec73
Sort pset names and properties alphabetically
...
Can't believe it took this long to get around to doing this
2024-07-29 10:43:15 +10:00
Dion Moult
f60c4fd3c5
Forgot to commit these files for the georeferencing updates
2024-07-29 10:42:37 +10:00
Ziad-I
d9ee3522bc
empty panels before adding names
2024-07-28 22:28:20 +03:00
Ziad-I
2538c47d01
fix display of list items
2024-07-28 22:01:13 +03:00
Ziad-I
ec3dc71c0e
add showing of drawings' and sheets' names
2024-07-28 21:04:16 +03:00
Ziad-I
e5edd9a34d
add retrieving drawings data from blender to web ui
2024-07-28 15:09:55 +03:00
Ziad-I
f72359918d
use blenderbim version instead of blender version
2024-07-27 22:12:14 +03:00
Kurt Battisti
dfd505a794
Fix. Docs Georeferencing URL ( #5096 )
...
use users/advanced/georeferencing.html
2024-07-28 00:14:50 +10:00
Blender Defender
4a311fe4de
fix: Remove the "ifc_patch_args" property ( #5095 )
...
* fix: Remove the "ifc_patch_args" property
This property has been removed, because patch recipes with arguments other than the boilerplate arguments automatically display these arguments as properties, and patch recipes that don't allow more arguments than the boilerplate arguments fail, if "ifc_patch_args" is not None or "[]". The test cases have been adjusted accordingly.
* style: run the black formatter to fix failing checks
2024-07-27 22:58:48 +10:00
Ziad-I
9d4493e1da
add footer to index and gantt page
2024-07-27 15:52:49 +03:00
Andrej730
a1d8fbdbe9
Fix missing materials from sets #5093 #4832
...
Regression in ifcopenshell 0.8 - missing materials and styles from IfcMaterialProfileSets, IfcMaterialProfileSetUsages, IfcMaterialLayerSet.
2024-07-27 15:38:22 +05:00
Andrej730
952abde48e
fix console errors related to material rename from ui
...
1) update_material_name was triggered for categories and failed since ifc id in that case = 0
2) update_material_name was triggered for materials when they were still incomplete and ifc id was still 0
3) moved setting material.name before settings ifc_id to avoid triggering unnecessary changes in ifc
2024-07-27 15:24:05 +05:00
Andrej730
168718063f
fix regression #5092 after be7661a83
2024-07-27 15:24:01 +05:00
Dion Moult
4abcbbb4f9
Georeferencing calculator can now calculate blender offsets too
2024-07-27 19:54:12 +10:00
Dion Moult
1ac1b289c1
Map coords always visualise using map units, visualise IFC local origin, and don't show blender coords if no blender offset
2024-07-27 19:53:45 +10:00
Ziad-I
c25173aa12
add event listeners and joining of room in drawings page
2024-07-26 22:43:10 +03:00
Andrej730
ea8d303883
fix some test-bim errors in Blender 4.2
2024-07-26 21:23:39 +05:00
Ziad-I
9d79337fa7
edit drawings html/css/js
2024-07-26 17:29:39 +03:00
Blender Defender
82a6ddb01c
feat: Make sql_type an enum property in the Ifc2Sql recipe
...
Since there is a limited number of choices, a string property wouldn't be very helpful. Use a dynamic enum property (which is adjusted according to which types of SQL are available) instead.
2024-07-26 23:35:02 +10:00
Blender Defender
a7152bdef0
feat: Convert argument names into prettier looking property names in the IFC Patch Panel
...
Inspired by #4721
2024-07-26 23:29:41 +10:00
Andrej730
6484a529b0
black format
2024-07-26 18:29:18 +05:00
Andrej730
6e1e653ceb
fix tests to use release version of ifc4x3 (ci was failing)
2024-07-26 16:29:46 +05:00
Andrej730
0488e4cccb
bcfp numpy 2.0+ support #5080
...
`np.float_` is deprecated, it was just an alias for `np.float64`
2024-07-26 16:29:26 +05:00
Andrej730
3cf92fd508
bsddclassification - remove description prop as unused
2024-07-26 16:29:26 +05:00
Andrej730
fb2bb7554e
bsdd - add buttons to open URIs in browser
...
Examples:
- https://i.imgur.com/zSvU9vp.png
- https://imgur.com/a/WkbTiVa
2024-07-26 16:29:26 +05:00
Andrej730
be7661a83b
remove duplicated operator bim.open_webbrowser
...
it did exactly the same as bim.open_uri
2024-07-26 16:29:25 +05:00
Andrej730
9684e21d93
bsdd - hide domain selection operator for the active domain
...
Example - https://imgur.com/a/SkpECro
2024-07-26 16:29:25 +05:00
Andrej730
ee5c401823
bsdd - expose bsdd props descriptions to ui
...
Example - https://imgur.com/a/xUUeuF5
2024-07-26 16:29:25 +05:00
Andrej730
4aa3ffb765
bsdd - check keyword length only in tool
...
just to make it more straightforward and remove unused output
2024-07-26 16:29:25 +05:00
Dion Moult
c9affcc622
Update README.md
2024-07-26 20:09:26 +10:00
Dion Moult
153a71f91e
Distribute IfcConvert on GH actions
2024-07-26 20:04:04 +10:00
Dion Moult
ae7b1bb9b4
Bump IOS
2024-07-26 20:03:36 +10:00
Dion Moult
6f70196a6c
Make IfcConvert downloads also come consistently from github releases
2024-07-26 20:03:24 +10:00
Blender Defender
228bbc30ad
refactor: Update code comments and docstrings
2024-07-26 19:28:10 +10:00
Blender Defender
f83a7ac730
feat: Sort the available length units numerically
...
Length units are now sorted ascending by the value the prefix represents, i.e. METER is listed before KILOMETER, ...
2024-07-26 19:28:10 +10:00
Blender Defender
fad4ea82a7
refactor: Update the type annotation in Migrate.py to be a literal
2024-07-26 19:28:10 +10:00
Blender Defender
a252b459a2
refactor: Update the type annotation in ConvertLengthUnit.py to be a literal
2024-07-26 19:28:10 +10:00
Blender Defender
9ac159e0af
feat: Parse type "Literal" as enum property in the IFC Patch Panel
2024-07-26 19:28:10 +10:00
Dion Moult
74fbf29d5f
Change name of ci-black-formatting.yml
2024-07-26 12:21:11 +10:00
Dion Moult
1fef4c5857
Run black on BBIM
2024-07-26 12:19:21 +10:00
Dion Moult
e7b791f4a2
Run black on utils
2024-07-26 12:16:36 +10:00
Dion Moult
a6286293d8
Run black on IOS-Python
2024-07-26 12:00:57 +10:00
Ziad-I
bddb8d1e56
add initial page layout
2024-07-26 02:19:55 +03:00
Andrej730
d51fa2c5f7
bsdd - info messages with amount of found classes / class props
2024-07-25 18:36:18 +05:00
Andrej730
e4afcc96d1
dev_environment script - echo instead of rem so users could see the instructions
2024-07-25 18:36:18 +05:00
Andrej730
5f94a84616
dev environment script - move username to a separate variable, use current user as default
...
Want to keep the script working for some users (me 👉 👈 ) just by running it from the repo without any changes.
2024-07-25 18:36:18 +05:00
Andrej730
a883e9f490
bsdd - fix bug adding wrong classification to the project + info messages
...
1) we were identifying active domain just by name, therefore it would always pick up the first dictionary that has matching name (typically it's the most recent version) even though user selected a different version
2) Previously it would fail if it couldn't find a domain, now it will show an info message.
3) Also added info message when user is trying to add the same classification again, so it will be less confusing.
2024-07-25 18:36:17 +05:00
Andrej730
74db3fcbbe
bsdd - show more info about the selected domain
...
Exposed all stored information to the UI, now it's possible to distinguish between different versions of the same domain:
https://i.imgur.com/6wlSkCP.png
2024-07-25 18:36:17 +05:00
Andrej730
d7b85d1264
bsdd - fix bug when it was always loading preview and inactive domains
2024-07-25 18:36:17 +05:00
Andrej730
455fe740c7
support assigning bsdd classifications in ifc4x3 too
2024-07-25 18:36:17 +05:00
Andrej730
eac4e80ee9
typing
2024-07-25 18:36:17 +05:00
Dion Moult
33e188b321
Visualisation of WCS now takes into account blender session offsets
2024-07-25 23:34:29 +10:00
Blender Defender
59a3c019a4
ci: Move the black formatter workflow to a seperate file
2024-07-25 18:24:31 +05:00
Blender Defender
30ab2f1e48
ci: Add black formatter to ci.yml
...
Check, whether the files are formatted properly using the black formatter on push and pull requests.
2024-07-25 18:24:31 +05:00
Dion Moult
aae160b568
Don't clone in windows dev setup, also don't use appdata since it will run as root
2024-07-25 22:51:05 +10:00
Ziad-I
c4d3dad639
add page setup functions
2024-07-25 15:35:08 +03:00
Ziad-I
adbf9093d3
add initial drawings page
2024-07-25 15:12:37 +03:00
Ziad-I
c8defbb77f
add connected list to gantt chart page
2024-07-25 14:59:56 +03:00
Ziad-I
a14fc0a7f5
edit css rules
2024-07-25 14:25:44 +03:00
Thomas Krijnen
91f4427bb5
Start from project instead of unit assignment #5074
2024-07-25 10:23:12 +02:00
Ziad-I
8d2717d25b
add connected blender list for index page
2024-07-24 23:26:43 +03:00
Andrej730
8b29e50f11
add_classification - remove dead and deprecated code
2024-07-24 18:24:22 +05:00
Andrej730
7edd1225c0
Fix issue assigning bsdd classification in ifc2x3 #5073
2024-07-24 18:24:22 +05:00
Andrej730
075a0c79e2
migrator - consider IfcClassification renamed property
2024-07-24 18:24:22 +05:00
Andrej730
a1c4221cd7
fix ui in 3d4c85c7d
...
previous change was committed by accident
2024-07-24 18:24:22 +05:00
Dion Moult
dc197a2ae2
Add text shadows and clearly distinguish units, blender, local, and map coordinates in georef decorator
2024-07-24 23:21:32 +10:00
Andrej730
5fab630a8b
Fix #5052 #4832
2024-07-24 17:30:23 +05:00
Andrej730
b021dbf55e
fix issue in 93fe2e9
...
forgot that bim.assign_class is used without context arguments too, moved poll to pie menu operator
2024-07-24 17:21:42 +05:00
Andrej730
d3bcd2f73e
Add more instruction for python version mismatch error handler
...
Example - https://i.imgur.com/l9KCHGc.png
2024-07-24 16:56:56 +05:00
Andrej730
3d4c85c7dc
Indicate that Blender needs a restart if BBIM was reinstalled
...
Example - https://i.imgur.com/lbP4PqO.png
2024-07-24 15:54:26 +05:00
Dion Moult
adde772014
Also consider non elements when guessing a false origin
2024-07-24 17:10:46 +10:00
Chirag Singh
59579fd4c4
Merge branch 'v0.8.0' of https://github.com/IfcOpenShell/IfcOpenShell into v0.8.0
2024-07-24 12:15:08 +05:30
Chirag Singh
0dde4102bc
Added support for mapping material inside the UI. Output file name and file extension taken from input. Plus Fixed some bugs mentioned in #5033
2024-07-24 12:11:56 +05:30
Thomas Krijnen
b988df9e1f
Address old merge issue regarding style lookup #5069
2024-07-24 03:07:17 +02:00
tim
390b280442
Screed added to IfcCovering options
...
Screed added to IfcCovering-predefined_types FLOORING and TOPPING
2024-07-24 10:08:09 +10:00
Ziad-I
9776adee86
fix packages path for blender > 4.2
2024-07-23 22:16:24 +03:00
Andrej730
06c8a9ef14
Blender 4.2 - experimental support for reinstalling BBIM on Windows
2024-07-23 18:56:48 +05:00
Andrej730
9713cc0c2e
operator to quickly restart blender
2024-07-23 17:24:14 +05:00
Thomas Krijnen
dda010b130
Wire up ___localplacement settings #5031
2024-07-23 10:15:52 +02:00
Ziad-I
4122f22ee1
remove hardcoded values
2024-07-23 17:04:37 +10:00
Ziad-I
e833b0aa81
edit docstrings
2024-07-23 17:04:37 +10:00
Ziad-I
975b215bd0
add type hints and docstrings
2024-07-23 17:04:37 +10:00
Ziad-I
276c4b871e
add starting server if no server is running during export to web
2024-07-23 17:04:37 +10:00
Ziad-I
8e6d13242e
add css variables and switching themes for gantt page
2024-07-23 17:04:37 +10:00
Ziad-I
c852e624e9
add theme switching for tables page
2024-07-23 17:04:37 +10:00
Ziad-I
ad17a610eb
edit css for csv tables to have two themes
2024-07-23 17:04:37 +10:00
Ziad-I
6b4c695942
add writing/removing webserver pid to a json file
...
on starting and killing the webserver subprocess
2024-07-23 17:04:37 +10:00
Ziad-I
61dfb42cee
edit warning text color
2024-07-23 17:04:37 +10:00
Ziad-I
386caab840
move intial opening of browser to server on startup event
...
as a band aid fix to handle race condition between starting server and opening of web browser
2024-07-23 17:04:37 +10:00
Ziad-I
f50bbf9704
add warning to web ui on changes and is_dirty in web module data
2024-07-23 17:04:37 +10:00
Ziad-I
4912e86e6e
fix using errno module instead of hardcoded
...
since error code numbers differ based on OS
2024-07-23 17:04:37 +10:00
Ziad-I
b0fe30c597
add caching of blender messages
2024-07-23 17:04:37 +10:00
Ziad-I
84d4bf16c3
remoce unnecessary div element
2024-07-23 17:04:37 +10:00
Ziad-I
7851efd0c8
use ifc_file instead of IFC_File
2024-07-23 17:04:37 +10:00
Ziad-I
500587f267
make webdata ifc_file only show filename instead of full path
2024-07-23 17:04:37 +10:00
Ziad-I
6defdc63b5
add type hints and docstring to send_webui_data function
2024-07-23 17:04:37 +10:00
Ziad-I
216b3a4e37
rename variables to have more meaningful names
2024-07-23 17:04:37 +10:00
Ziad-I
4e79384c8e
fix packages path when using dev setup with symlinks
2024-07-23 17:04:37 +10:00
Ziad-I
f7a3b0706b
fix: using blender python executable
2024-07-23 17:04:37 +10:00
Dion Moult
5d4a3d504c
Support alpha versions for all wheels
2024-07-23 17:00:22 +10:00
Dion Moult
96b4ad8cd3
No longer ship bbim addon with bimtester
2024-07-23 11:41:46 +10:00
Richard Brice
54131b3fe5
IfcSectionedSolidHorizontal logs warning if Directrix is not a piecewise function, rather than silently failing.
2024-07-22 13:21:49 -07:00
Andrej730
93fe2e9b0f
bim.assing_class - add description, add poll check for selected objs
...
also added description to pie menu entry
2024-07-22 17:26:59 +05:00
Andrej730
a7e856c311
Update ci-blenderbim.yml after all makefile changes
2024-07-22 16:46:47 +05:00
Andrej730
1fbdb4811d
makefile - move ifcopenshell packages wheels instead of copy to keep it clean
2024-07-22 16:46:47 +05:00
Andrej730
797e3e8d8c
bbim_translations - not to fail if user has fake-bpy-module
2024-07-22 16:46:47 +05:00
Andrej730
4c53881242
blenderbim makefile - safeguards for wheels used in the build
2024-07-22 16:46:47 +05:00
Andrej730
44fc5768af
blender 4.2 - fix errors detecting last commit hash
...
1) __file__ / bim no longer exists as 'bim' is moved to the wheel
2) there also was an issue detecting hash after it was moved from bim to blenderbim package in c0635af
2024-07-22 16:43:50 +05:00
Andrej730
ffbade0f7a
fix bcf paths after 237cd99
2024-07-22 16:43:50 +05:00
Andrej730
1ca6c489b1
dev installation - update windows script for Blender 4.2
2024-07-22 16:43:50 +05:00
Andrej730
845b3e0f6b
dev installation - move dev environment scripts to separate files
2024-07-22 16:43:50 +05:00
Andrej730
51e9626809
installation.rst - update platform names
2024-07-22 16:43:50 +05:00
Andrej730
1d12f54c36
reuse tool.Blender.get_blenderbim_version
2024-07-22 16:43:50 +05:00
Andrej730
1281eb4aea
fix download urls in startup error handler after d96f96031
2024-07-22 16:43:49 +05:00
Thomas Krijnen
c0f2ac592e
Consider edge orientation in faceset helper for advanced planar breps #4895
2024-07-22 13:07:40 +02:00
Thomas Krijnen
41f1d66fee
Fix 2d transform op + fixed ref column order #5048
2024-07-22 04:33:35 +02:00
Dion Moult
aa31436c67
Move git/other addons/troubleshooting to top level of docs
2024-07-22 12:13:46 +10:00
Thomas Krijnen
e95e92356f
Update src/ifcopenshell-python/ifcopenshell/util/shape.py
...
Co-authored-by: Vyacheslav Dobranov <112861900+VDobranov@users.noreply.github.com >
2024-07-22 03:51:12 +02:00
VDobranov
e27980f746
Update shape.py
...
Following the discussion in Live Chat about length of all edges in a given geometry:
https://matrix.to/#/!ssOmSJysZpXBupsgjO:matrix.org/$0ZHjIFCtpwQl06xdGWlQ9ymsiKWpPuLMczVJnNYmN84?via=matrix.org&via=crossbach.de&via=infeeeee.duckdns.org
2024-07-22 03:51:12 +02:00
Ryan Schultz
3f3f3b6aff
whoops
...
Revert "Update installation.rst"
This reverts commit a428ae5c86 .
2024-07-21 12:50:49 -05:00
Thomas Krijnen
2b3035ec02
Lookup styles on (arbitrarily) more taxonomy kinds
2024-07-21 11:56:02 +02:00
Thomas Krijnen
cc0760d505
profile_helper() returns loop, not face, take into account in hollow profile def
2024-07-21 11:55:18 +02:00
Thomas Krijnen
f683fd220f
Take into account tapered extrusion position
2024-07-21 11:54:48 +02:00
Thomas Krijnen
889d3c5451
Don't fail on tapered extrusion over non-derived profile def #5046
2024-07-21 11:53:42 +02:00
Thomas Krijnen
c16cfc8afd
Support extrusion over composite profile
2024-07-21 11:52:48 +02:00
Thomas Krijnen
4d698deb21
Various improvements to USD serializer related to object naming
2024-07-21 02:41:43 +02:00
Thomas Krijnen
3bbe598dff
Minor formatting improvements
2024-07-21 02:40:56 +02:00
Thomas Krijnen
e88bd3af80
Fix profile fillets #4993
2024-07-21 02:40:09 +02:00
Ryan Schultz
a428ae5c86
Update installation.rst
2024-07-20 16:08:16 -05:00
Ryan Schultz
05e202059e
fix #5047 - order IfcAnnotationTypes alphabetically.
...
and order types regardless of case.
2024-07-20 13:02:21 -05:00
Ryan Schultz
ab97f23b47
Fix #5039 - Assure count is an integer
2024-07-20 10:36:26 -05:00
Kristoffer Andersen
4f0a65baea
Update ci-ifcopenshell-conda-cleaner.yml
...
fix conda cleaner version ordering
2024-07-20 09:45:55 +02:00
Chirag Singh
e88abd881d
Fixed Issue #5033
2024-07-20 12:02:57 +05:30
Dion Moult
d6d5dbfaa3
Fix semver syntax for BBIM GH daily builds
2024-07-20 15:51:26 +10:00
Dion Moult
3ea1f95fcf
Bump version as we've already released 0.7.10
...
This makes the -alpha suffix actually work
2024-07-20 15:49:37 +10:00
Dion Moult
48026c7a50
Fix bug where adding a duct failed due to no container obj being calculated
2024-07-20 15:49:11 +10:00
Andrej730
8f2e8ec64d
fix builds for macos
2024-07-19 22:22:22 +05:00
Andrej730
15945d854a
fix bbim build missing very important aud wheel
2024-07-19 22:22:22 +05:00
Andrej730
f69c42aaae
makefiles - windows support
2024-07-19 22:22:22 +05:00
Kristoffer Andersen
b88e35e3e7
Update ci-ifcopenshell-conda-daily.yml
...
remove illegal conda version character -
2024-07-19 13:50:08 +02:00
Kristoffer Andersen
6befa2dc12
Update ci-ifcopenshell-conda-daily.yml
...
making legal semver by using -alpha
2024-07-19 13:45:12 +02:00
Andrej730
c25bb03a9c
Blenderbim startup error handler - switch to scene properties
...
Noticed that by default Blender is using object properties (and users may have something else their startup file), so no we switch to the scene properties so they could see our error handler immediately.
2024-07-19 14:23:26 +05:00
Andrej730
4fdf8145f0
Fix incorrect python version detection for Blender 4.2
...
Basically this error message is back - https://i.imgur.com/ANQe0eg.png
2024-07-19 14:21:57 +05:00
Andrej730
bb910e42ab
fix dependencies that should be downloaded for specific platform
...
Builds are finally working (atleast tested on windows) 🥳
Thanks to Blender now we'll always now if some dependency will become platform specific.
It shows errors like:
Skipping wheel for other system (manylinux_2_24_x86_64.manylinux_2_28_x86_64 != win_amd64): greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Skipping wheel for other system (manylinux_2_17_x86_64.manylinux2014_x86_64 != win_amd64): yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Skipping wheel for other system (manylinux_2_17_x86_64.manylinux2014_x86_64 != win_amd64): aiohttp-3.9.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Skipping wheel for other system (manylinux_2_17_x86_64.manylinux2014_x86_64 != win_amd64): MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Skipping wheel for other system (manylinux_2_17_x86_64.manylinux2014_x86_64 != win_amd64): fonttools-4.53.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Skipping wheel for other system (manylinux_2_17_x86_64.manylinux2014_x86_64 != win_amd64): charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Skipping wheel for other system (manylinux_2_17_x86_64.manylinux2014_x86_64 != win_amd64): ezdxf-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Skipping wheel for other system (manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64 != win_amd64): frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Skipping wheel for other system (manylinux_2_17_x86_64.manylinux2014_x86_64 != win_amd64): SQLAlchemy-2.0.31-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Skipping wheel for other system (manylinux_2_17_x86_64.manylinux2014_x86_64 != win_amd64): multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2024-07-18 22:05:36 +05:00
Andrej730
13dce9d663
github action - fix finding zip files with new naming
...
encapsulated zip archive name generation in the makefile, so we wouldn't be recreating it multiple times
2024-07-18 21:30:09 +05:00
Andrej730
bda69555f6
blenderbim makefile - fix bbim translations build
2024-07-18 21:30:09 +05:00
Dion Moult
e50f88a91c
Whoops
2024-07-19 00:59:58 +10:00
Dion Moult
fc7288b9e7
Fix missing bdist wheel during build
2024-07-19 00:56:16 +10:00
Andrej730
1355f3ab6b
common.mk - windows support
2024-07-18 19:46:18 +05:00
Andrej730
d60c03b632
fix bbim daily github workflow not being triggered by changes in itself
2024-07-18 19:39:16 +05:00
Dion Moult
b39020ce74
Fix yaml syntax
2024-07-19 00:26:56 +10:00
Dion Moult
cb23b00913
Separate build/dist dir for bbim makefile
2024-07-19 00:26:07 +10:00
Dion Moult
268ab107e2
Forgot to update bimtester makefile
2024-07-18 23:57:44 +10:00
Dion Moult
734b4901fd
Don't copy over the entire blenderbim dir when building
2024-07-18 23:52:24 +10:00
Dion Moult
0ecc3d3e2a
Share common makefile instructions, use venv for running build, and separate dist/build dirs
2024-07-18 23:43:12 +10:00
Dion Moult
237cd99e3b
Make bcf follow the same folder hierarchy as everybody else
2024-07-18 23:41:30 +10:00
Dion Moult
31acd0a39b
Forgot PYTHON var
2024-07-18 22:44:25 +10:00
Dion Moult
7fb04c7d8f
Wrap IOS make in venv
2024-07-18 22:40:43 +10:00
Dion Moult
ad05434777
Add prerelease info, inline make dist-blenderbim
2024-07-18 22:29:08 +10:00
Dion Moult
99cb50d365
Forgot to commit IfcBIMTester pyproject
2024-07-18 22:24:25 +10:00
Andrej730
d29a201814
makefile - create wheels dir
2024-07-18 15:56:50 +05:00
Andrej730
fb702afee6
makefile - install build module globally
...
as we run make dist for ifcopenshell packages not inside venv
2024-07-18 15:48:18 +05:00
Andrej730
657906a2dd
makefile - fix missing build module
2024-07-18 15:36:51 +05:00
Dion Moult
5b96b4a414
Bundle BBIM as a wheel
...
Yes we really did it
2024-07-18 20:24:17 +10:00
Dion Moult
30623ba333
Fix missing imports prior to deciding 4.2 import strategy
2024-07-18 20:24:17 +10:00
Andrej730
34652aa2b7
Create blenderbim_redirect.py
2024-07-18 20:24:17 +10:00
Dion Moult
e7fd06a6d6
Fix non-valid Blender manifest (strings too long apparently)
2024-07-18 20:24:17 +10:00
Dion Moult
f0077b9e22
Fix ifcopenshell-python wheel packaging missing util schema json files
2024-07-18 20:24:17 +10:00
Dion Moult
71aa30a25f
Fix ifc5d packaging missing json mapping files
2024-07-18 20:24:17 +10:00
Dion Moult
d96f960313
Add blender platform support
2024-07-18 20:24:17 +10:00
Dion Moult
5a2a809061
Bump permissions and tags in blender manifest
2024-07-18 20:24:17 +10:00
Andrej730
2710148276
fix bpypolyskel and ifcjson wheels
2024-07-18 20:24:17 +10:00
Andrej730
7ff1c535e5
build wheel for bpypolyskel
2024-07-18 20:24:17 +10:00
Dion Moult
71575905cb
Remove behave and bimtester module - only used by advanced users and confuses users with ifctester
2024-07-18 20:24:17 +10:00
Andrej730
56573160d1
makefile - do not download pkg_resources as it's provided by blender
...
It seems Blender started providing pkg_resources by default at some point, see:
blender-4.2.0/4.2/python/lib/site-packages/pkg_resources
2024-07-18 20:24:17 +10:00
Andrej730
49555eb81e
pack ifcjson to wheel
2024-07-18 20:24:17 +10:00
Dion Moult
9ed286660e
WIP BlenderBIM makefile update
2024-07-18 20:24:17 +10:00
Dion Moult
3d2dfdf9cb
Fix ifccityjson wheel
2024-07-18 20:24:17 +10:00
Dion Moult
c3d4847b29
Minor fix to sun_position < Blender 4.2
2024-07-18 18:26:39 +10:00
Richard Brice
9bf68db080
Fixes mapping of cant segments without superelevations
2024-07-17 15:46:36 -07:00
Bruno Perdigão
798cc6069f
Fix bug related to Linked Aggregates
2024-07-17 15:45:10 -03:00
Dion Moult
0efa36940c
Package BIMTester as a wheel
2024-07-17 20:50:36 +10:00
Andrej730
6fbb1a286c
support sun position addon on blender 4.2
2024-07-17 15:26:12 +05:00
Andrej730
7c606fea9b
make sun_position an optional addon for bbim
2024-07-17 13:18:42 +05:00
Andrej730
ae97350e64
blender_manifest - fix version
...
Blender requires blender_manifest version to be semver compatible otherwise it fails with an error below if you try to install BBIM as an extension.
Error:
Error in manifest key "version" invalid: to be a semantic-version, found '0.7.10.240717'
2024-07-17 13:16:17 +05:00
Andrej730
3e7dbcaeb6
blender_manifest - bump min blender version
...
as manifest is used only for installing addon as blender extension in Blender 4.2+
2024-07-17 13:16:17 +05:00
Thomas Krijnen
4ad426a5c5
Update IfcParse.cpp #4998
2024-07-17 09:45:34 +02:00
Dion Moult
eeb200a19d
Minor UI polish to show structural panels by default
2024-07-17 17:37:20 +10:00
Dion Moult
766eb75e3a
Deprecate old set viewport shadow from sun in favour of new solar analysis tools
2024-07-17 17:37:09 +10:00
Dion Moult
607f79f2f5
New feature to set view from sun for solar analysis
2024-07-17 17:36:50 +10:00
Dion Moult
70f252988a
Purge deprecated "set north" operators from georeference superseded by new visualisation features
2024-07-17 17:36:03 +10:00
Dion Moult
f956545743
Fix tzfpy packaging
2024-07-17 16:45:35 +10:00
Dion Moult
6f8aac96f0
Fix #5027 . Forgot to commit some files for solar analysis.
2024-07-17 14:57:06 +10:00
Dion Moult
a2018a22a6
Add sun path visualisation for solar analysis
2024-07-17 13:59:01 +10:00
Thomas Krijnen
7a10edbd73
Fix ambiguous overload after dedbf7014a
2024-07-17 03:43:55 +02:00
Thomas Krijnen
669b0b8c83
Fix triangulated face set #5020
2024-07-17 03:26:23 +02:00
Thomas Krijnen
70336f179d
Keep identities on indexed face sets #5020
2024-07-17 03:12:35 +02:00
Dion Moult
7fc7a73db8
New panel to manage solar analysis setup (location, date, and time)
2024-07-16 23:13:02 +10:00
Andrej730
41065f77d1
BBIM startup error handler - fix error redownloading addon after 5e6fe5e
2024-07-16 18:02:26 +05:00
Andrej730
010f854a07
BBIM startup error handler - message on python version mismatch
...
Example - https://i.imgur.com/U5CBdqU.png
Logs (only startup error logs) now also have information about binary python version and binary filename.
2024-07-16 18:02:26 +05:00
Andrej730
c0635afb64
BBIM error handler - include commit hash
...
Include commit hash to the copied logs and add it to the startup error handler (https://imgur.com/9yVMBnR )
2024-07-16 18:02:26 +05:00
Andrej730
dedbf7014a
fill context attribute of the shape elements (similar to v0.7.0) #4832
2024-07-16 18:02:26 +05:00
Dion Moult
d8cf6ca4fc
Bundle pytz and tzfpy for timezone calculations for solar analysis
2024-07-16 22:56:51 +10:00
Andrej730
f1ab63dda9
pyradiance macos support + linux fix
...
See:
https://github.com/LBNL-ETA/pyradiance/issues/35
https://github.com/LBNL-ETA/pyradiance/issues/34
2024-07-16 12:11:11 +05:00
Andrej730
3a5c3d856a
quick fix for 54fe0f8ff
2024-07-16 11:17:36 +05:00
Andrej730
54fe0f8ff9
Remove blenderbim/occ_utils.py #812
...
Goodbye duplicated file 😁
2024-07-16 11:06:49 +05:00
Dion Moult
483516a902
Implement show / hide / isolate in spatial decomposition panel
2024-07-16 14:23:30 +10:00
Dion Moult
83085ba3c1
You can now toggle recursive children in the spatial tree
2024-07-15 23:56:35 +10:00
Dion Moult
215866cf30
You can now make a spatial element the active object from the spatial decomposition panel
2024-07-15 23:40:40 +10:00
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
Andrej730
7e117bca90
Move supported OCCT version in docs to general dependencies
2024-07-15 18:34:38 +05:00
Andrej730
9f084558f6
mathutils note
2024-07-15 18:34:38 +05:00
Dion Moult
c715d9a81b
A spatial tree's icon can now be hovered to show the class and clicked to select children
2024-07-15 23:29:53 +10:00
Dion Moult
8923d02f68
Update to latest Sphinx AutoAPI
2024-07-15 09:20:56 +10:00
Dion Moult
447a13b6e7
Forgot to do the same for PyPI
2024-07-14 23:31:34 +10:00
Dion Moult
2531a58083
Fix IOS-Python build to use the new platform-specific blobs
2024-07-14 23:27:22 +10:00
Dion Moult
70ae0fd850
Same for IOS, I guess?
2024-07-14 23:21:04 +10:00
Dion Moult
174749caf7
Don't make IOS version dynamic for BBIM since this'll be locked to a particular commit
2024-07-14 23:14:40 +10:00
Dion Moult
dd8ec95fad
Whoops
2024-07-14 23:10:51 +10:00
Dion Moult
0a791a3b85
Release 0.7.10
...
This is just a test release to see if the workflow is smooth :)
2024-07-14 23:05:50 +10:00
Dion Moult
1c91b966b5
Fix pyradiance dependency
2024-07-14 23:03:45 +10:00
Dion Moult
db6cda2816
Fix #4955 . Add visualisation for georeferencing data.
2024-07-14 17:13:49 +10:00
Dion Moult
d6dab75653
Allow warning and background decorator colours to be configurable
2024-07-14 16:39:29 +10:00
Dion Moult
0dc084d785
Refactor georeferencing properties to remove unnecessary blender_enh/project_north.
2024-07-14 09:06:01 +10:00
Blender Defender
3bafea62f4
feat: Make the ExecuteIfcTester operator work with multiple IFC and IDS files
...
The code that executes the tests has been moved to a seperate method, so it can be called for every IDS and IFC file
2024-07-14 08:34:39 +10:00
Blender Defender
69b7658196
fix(UI): Indicate, that multiple IDS and IFC files can be selected in the IFC Tester Panel
2024-07-14 08:34:39 +10:00
Blender Defender
9e93f22e53
fix: Remove "ANIMATABLE" option from the should_load_from_memory property
2024-07-14 08:34:39 +10:00
Blender Defender
94bcb8d266
feat: Allow selecting multiple IFC and IDS files in the IFC tester
...
This implements the "MultipleFileSelector" for the file selection in the "IFC Tester" panel, so multiple files can be selected at once. Attention: This commit only adds the User Interface, the actual functionality will be added in a later commit
2024-07-14 08:34:39 +10:00
Blender Defender
bbd4e00972
refactor: Abstract "SelectFMIfcFile" to "MultipleFileSelector".
...
The "MultipleFileSelector" class can be used by child classes to implement the option to select multiple files at once. It requires two properties, which it will update: A StringProperty for a single path and a CollectionProperty for a list of paths.
2024-07-14 08:34:39 +10:00
Blender Defender
16e8c504f3
fix: Remove "Animatable" Property from the IFC Tester checkboxes
2024-07-14 08:34:39 +10:00
Dion Moult
95c457f53d
Fix bug to use 0.8.0 materials when linking models
2024-07-13 14:50:46 +10:00
ay-ex
38f5b77f92
fix delete obsolete script
2024-07-13 00:32:09 +10:00
ay-ex
4f1a36753c
fix delete obsolete script
2024-07-13 00:32:09 +10:00
ay-ex
565a0edb73
remove obsolete script
2024-07-13 00:32:09 +10:00
ay-ex
54a65abd76
fix cleanup
2024-07-13 00:32:09 +10:00
Dion Moult
5b16699eb4
Show length, area, volume units by default in unit panel for convenience
2024-07-13 00:06:14 +10:00
Dion Moult
b4482780cf
Linking models now acommodates files with different project or map units combinations correctly
2024-07-12 23:58:18 +10:00
Dion Moult
589b9d4a79
Add test files for georeferencing tests
2024-07-12 23:56:08 +10: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
Dion Moult
c79e490d6d
Add test for fix in f56bae14
2024-07-12 21:57:29 +10:00
Johannes Schorr
b674b8ca58
Fix typo in doctring in ifcdiff.py
2024-07-12 15:01:07 +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
Dion Moult
9f14769cba
Very minor UI improvement to saving work calendar changes to show the text in the edit button
2024-07-11 22:26:19 +10:00
Richard Brice
585eeb283a
emits * for derived entities instead of $
...
Validation service 0.6.4 started giving errors for entities with derived types where $ was used. The correct coding is *.
2024-07-10 12:51:27 -07:00
Andrej730
3a6c3a8312
add typing-extensions to ifcopenshell explicit dependencies
...
typing-extensions is official python package for supporting typing features on older versions.
It was kind of included in both blenderbim and to ifcopenshell as typing-extensions is also numpy dependency, included it explicitly just in case.
2024-07-10 21:37:34 +05:00
Andrej730
86fa24aba3
fix support for Python <3.11
2024-07-10 21:37:08 +05:00
Andrej730
474d8381ab
minor refactor
2024-07-10 18:38:39 +05:00
Andrej730
feea42f988
ifcopenshell.draw - add hlr_poly option
2024-07-10 15:34:35 +05:00
Andrej730
88d3152f04
bim.debug_active_drawing - fix issue running when Exclude is None
...
It was producing invalid selector expression "None, guid1, guid2, ..." leading to errors
2024-07-10 15:34:35 +05:00
Andrej730
515bfd1beb
make bim.profile_import_ifc a bit more friendly
2024-07-10 15:34:35 +05:00
Andrej730
472e2f8e59
Add to debug UI an operator to toggle detailed ifcopenshell logs
...
https://i.imgur.com/tqwRSYs.png
Ping @theoryshaw just in case, I can image Ryan finding lots of edge cases in v0.8.0 and this can help narrow them down😁
2024-07-10 15:34:35 +05:00
Andrej730
83a0d7a63c
prevent freezing the iterator in case of unhandled exceptions
...
Solving an issue in 355cca3 I've noticed that because of some unhandled exception iterator was freezing and hanging indefinitely, this should be resolved now to be safe.
Also added had_errors_during_initialization() method that can help identify whether there were errors either during iterator initialization or processing elements.
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
ay-ex
670bf9d4a6
fix use release tag for choco version label
2024-07-10 17:16:54 +10:00
Dion Moult
ad1183dab8
Update README.md with all distribution badges
2024-07-10 11:26:46 +10:00
Dion Moult
a1568641b0
Fix #4969 . Minor fix where demo library had misnamed slab thicknesses.
2024-07-10 09:23:12 +10:00
Dion Moult
76a6ad6596
Fix #4996 . Don't use assert_never to support Python 3.10.
2024-07-10 09:01:35 +10:00
Andrej730
355cca3679
Improve styles handling (partially support non-shading styles/fix bugs)
...
1) Previously create_shape (was failing with "RuntimeError: Unexpected topology") or iterator (was hanging indefinetely trying initialize with a IfcSlab from #4898 ) were breaking if element had a material that had IfcSurfaceStyle with just IfcExternallyDefinedSurfaceStyle and no IfcSurfaceStyleShading.
Now get_surface_style is returning IfcSurfaceStyle as first element of the pair even if there was no IfcSurfaceStyleShading - so it can be used to create a `taxonomy::style::ptr` with it to indicate that geometry is still referring to some style.
2) Added logs for unsupported presentation styles (non-IfcSurfaceStyles) to both `mapping::map_impl(const IfcSchema::IfcStyledItem* inst)` and `mapping::map_impl(const IfcSchema::IfcMaterial* material)`. Also `map_impl` will not break now if it will meet IfcCurveStyle.
2024-07-09 20:13:59 +05:00
Chirag Singh
7e1eadf54c
Wrapped import pyradiance in a try-except to accommodate mac intel
2024-07-09 23:30:57 +10:00
Chirag Singh
a2dead2dd7
Radiance Support added
2024-07-09 23:30:57 +10:00
Chirag Singh
220fb13eec
Created a UI for Radiance Rendering in the Services and System Panel
2024-07-09 23:30:57 +10:00
Dion Moult
7c1c139074
Attempt to bundle pyradiance
2024-07-09 22:03:04 +10:00
Dion Moult
3a3421897c
Forgot to implement autoguessed project norths from site/building guessed origins (typically for 2X3 models with no georeferencing data)
2024-07-09 18:48:04 +10:00
Dion Moult
b34d10bd35
Bump IOS
2024-07-09 08:23:04 +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
7c1459b83e
clean up ios_materials after they were processed
2024-07-08 17:46:11 +05:00
Andrej730
dd561d3703
remove material assignment listener #4843
2024-07-08 17:46:11 +05:00
Andrej730
24c4858570
Profiles UI - support renaming profiles by double-click
...
Example - https://imgur.com/a/05I5tSz
2024-07-08 17:45:43 +05:00
Andrej730
9690bfb1ed
Styles UI - support renaming styles by double click
...
Example - https://imgur.com/a/X7WBllz
2024-07-08 17:44:41 +05:00
Andrej730
fd48f70ef1
poll message that non-IfcSurfaceStyles are not currently supported
...
https://i.imgur.com/EBbMUaI.png
2024-07-08 17:43:55 +05:00
Andrej730
c33c19c483
Support renaming materials by double clicking them in materials ui
...
Example - https://imgur.com/a/NXr6Ku2
Which is especially important for non-IfcMaterials as they currently don't have their own editing UI (besides when they are applied to some element).
2024-07-08 17:43:55 +05:00
Andrej730
c9989c5f8f
Materials UI - indiciate currently active material type
...
Example - https://imgur.com/a/hn7iJgP
2024-07-08 17:43:55 +05:00
Andrej730
d996811306
don't consider material usages as overriding materials
...
All it does it removes the "Inherited Material Is Occurrence Overridden" label for material usages.
2024-07-08 17:43:55 +05:00
Andrej730
10b5910654
support assigning existing non-ifcmaterials materials
...
Example - https://imgur.com/a/KN8mQPL
Also added some description to material operators (https://imgur.com/a/eIVNEdU). Need to somehow emphasize that this UI is only for IfcMaterials and cannot be used to assign existing layer sets, profile sets, etc...
2024-07-08 17:43:55 +05:00
Andrej730
ee5b3d1775
show materials descriptions in the tooltip when assigning a material
...
Example - https://i.imgur.com/yi96BMa.png
2024-07-08 17:43:55 +05:00
Andrej730
b45a995bb3
typing
2024-07-08 17:43:55 +05:00
ay-ex
fc45e587c0
fix git clone depth
2024-07-08 20:40:03 +10:00
Thomas Krijnen
c18e4ea6ce
Update build-all.py
2024-07-08 08:48:53 +02:00
Dion Moult
ff662fdfcf
Merging projects now accomodates models with different project norths
2024-07-08 11:38:42 +10:00
Thomas Krijnen
f075b0ca52
Update build-all.py
2024-07-07 21:51:03 +02:00
Dion Moult
a3844fe098
More tests and fixes for linking in models with different project norths
2024-07-07 23:59:13 +10:00
Dion Moult
d00e60369b
Bump IOS
2024-07-07 22:24:35 +10:00
Dion Moult
22b7027746
Fix bug where automatic false origin detection didn't do anything if linking from an empty Blender session
2024-07-07 15:53:06 +10:00
Ryan Schultz
410fff6ee9
Fix #4494 - Be able to search (select objects in scene) from the Spreadsheet Import/Export UI, as well.
2024-07-06 11:43:39 -05:00
Dion Moult
9d11f8a25b
Linking in models now considers multiple project norths and federates it properly
2024-07-06 17:00:21 +10: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
Dion Moult
accb1890dc
Minor fix where bSDD didn't load IFC properties
2024-07-06 15:40:25 +10:00
Ryan Schultz
2a808318bf
fix #4665 - View layerset thicknesses in feet and inches format
2024-07-05 22:26:36 -05:00
Andrej730
24d1a2ee64
black format
2024-07-05 18:33:49 +05:00
Andrej730
1d59edcbe8
typing & use common tool.Ifc.Operator class
...
Lazy imported some modules to prevent circular imports.
2024-07-05 18:33:49 +05:00
Andrej730
8a9ca9ac60
remove bbim material unassignment listener #4843
...
Listeners are implicit and get in the way sometimes, we should work on our core methods and make explicit calls.
2024-07-05 18:33:48 +05:00
Andrej730
7a89d8f5ed
smal core.material.unassign_material refactor
2024-07-05 18:33:48 +05:00
Andrej730
a6951d1a6d
fix material tool tests after 75f8e75 and 114fca8
2024-07-05 18:33:48 +05:00
Andrej730
1cdd4c27fc
fix geometry core tests after fccf56d5f
2024-07-05 17:57:17 +05:00
Andrej730
7acea25fdf
fix material core tests after 58a7ef6
2024-07-05 17:57:17 +05:00
Andrej730
2510e4e6c4
bim.add_representation - OBJECT method to use the final geometry
...
E.g. with all modifiers and shape keys applied.
Example - https://imgur.com/a/rbf5RtI
2024-07-05 17:01:39 +05:00
Andrej730
d0f4c25c9f
bim.duplicate_material to handle IfcMaterialLayerSets names
2024-07-05 17:01:39 +05:00
Andrej730
0557ff810a
Fix bug duplicating styles not duplicating blender material #4843
2024-07-05 17:01:39 +05:00
Andrej730
fdaf059c60
Fix bug duplicating and editing materials #4843
...
It was giving errors trying since ifc materials are no longer to connect to the blender materials.
2024-07-05 17:01:38 +05:00
Ziad-I
79f96d22a5
add logo and change path of jsgantt lib
2024-07-05 21:36:07 +10:00
Ziad-I
31e7cd7a8c
add old gantt ui if web ui is not running
2024-07-05 21:36:07 +10:00
Ziad-I
6b274535c6
fix setting editable after printing
2024-07-05 21:36:07 +10:00
Ziad-I
410767921d
add display and update for work schedule data
2024-07-05 21:36:07 +10:00
Ziad-I
78dd4856eb
fix editing task name and time from webui
2024-07-05 21:36:07 +10:00
Ziad-I
166e75db3f
add editing of gantt chart from webui
2024-07-05 21:36:07 +10:00
Ziad-I
01c7be2b48
fix sending work_schedule
2024-07-05 21:36:07 +10:00
Ziad-I
d05e30b4c5
fix updating chart error
2024-07-05 21:36:07 +10:00
Ziad-I
4f44bde9e9
add sending updated task column data
2024-07-05 21:36:07 +10:00
Ziad-I
bd50276e7d
fix error with getting blenderId from chart id
2024-07-05 21:36:07 +10:00
Ziad-I
58b132136d
remove unneeded loop for task creation in gantt chart
2024-07-05 21:36:07 +10:00
Ziad-I
bd8988a474
add updating of gantt chart
2024-07-05 21:36:07 +10:00
Ziad-I
c0216efffe
add sending gantt data on pressing generate gantt chart in blender
2024-07-05 21:36:07 +10:00
Ziad-I
25e964788c
add key name parameter in send_webui_data
2024-07-05 21:36:07 +10:00
Ziad-I
52d9cbff28
add change event handling in gantt data table
2024-07-05 21:36:07 +10:00
Ziad-I
1eb9537d58
refactor web ui operator handling
2024-07-05 21:36:07 +10:00
Ziad-I
24c753a09d
add print options selection button
2024-07-05 21:36:07 +10:00
Ziad-I
b5a130263a
fix some css issues
2024-07-05 21:36:07 +10:00
Ziad-I
13a1252c77
add print button for gantt chart
2024-07-05 21:36:07 +10:00
Ziad-I
f338f66b4b
add gantt html/css/js
2024-07-05 21:36:07 +10:00
Ziad-I
a782812911
rename styles.css to index.css
...
to reflect which page it is used for
2024-07-05 21:36:07 +10:00
Ziad-I
10f96d873a
small index html/css changes
2024-07-05 21:36:07 +10:00
Ziad-I
09a2494967
add handler for gantt url path
2024-07-05 21:36:07 +10:00
Andrej730
84d58cc572
revert 4211e7a93 to restore bot builds #4980
2024-07-05 14:55:19 +05:00
Andrej730
74e27a27b5
bump BBIM build
2024-07-05 12:02:16 +05:00
Andrej730
f5b71543af
makefile "bump" target changes
...
1) added current commit hash as a variable to the makefile, so you can now just `make bump NEW=xxxx` to bump the build version instead of `make bump OLD=yyyy NEW=xxxx`.
2) added binary mode to sed command, so it won't be changing current line endings
2024-07-05 12:02:05 +05:00
Andrej730
ef39acfb05
Suffixes for compiled .pyd/.so based on the platform #4686
2024-07-05 11:44:01 +05:00
ay-ex
8abb8d1102
fix fetch with tags
2024-07-05 15:24:34 +10:00
ay-ex
4db3c60ccf
add choco_release git debug info
2024-07-05 15:24:34 +10:00
Ryan Schultz
baec208303
For walls, labeling which side is exterior/interior
2024-07-04 08:51:39 -05:00
Thomas Krijnen
dda4dd3ab5
occt 7.6 compatibility
2024-07-04 09:08:30 +02:00
petrisch
2ddbf57597
Little typo
2024-07-04 11:34:07 +05:00
Andrej730
f1290ef061
Replace SEW_SHELLS with REORIENT_SHELLS #4832
2024-07-04 11:10:24 +05:00
Thomas Krijnen
cf3d050423
Rename taxonomy kind enum accordingly
2024-07-03 20:04:52 +02:00
Thomas Krijnen
a4532cc722
Remove assumptions on solid topology in SVG camera frustrum detection #4924
2024-07-03 20:04:52 +02:00
Thomas Krijnen
813a8e12ed
Update python bindings for name changes
2024-07-03 20:04:52 +02:00
Thomas Krijnen
10059a722b
Handling of None in draw.py #4924 - mostly untested
2024-07-03 20:02:13 +02:00
Andrej730
4211e7a936
IfcWrap CMake - migrate to FindPython
...
Previously it was giving deprecation warnings:
CMake Warning (dev) at /IfcOpenShell/src/ifcwrap/CMakeLists.txt:38 (FIND_PACKAGE):
Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
are removed. Run "cmake --help-policy CMP0148" for policy details. Use
the cmake_policy command to set the policy and suppress this warning.
CMake Warning (dev) at /IfcOpenShell/src/ifcwrap/CMakeLists.txt:73 (FIND_PACKAGE):
Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
are removed. Run "cmake --help-policy CMP0148" for policy details. Use
the cmake_policy command to set the policy and suppress this warning.
2024-07-03 18:12:22 +05:00
Andrej730
33785620d5
Fix errors loading bounding box representations #4832
2024-07-03 18:12:21 +05:00
Andrej730
5a0df870f5
bim.add_representation - update occurrences too if there were no representations
...
and new representation was just added to the type
Example - https://imgur.com/a/v6a5kg2
2024-07-03 18:12:21 +05:00
Andrej730
f9aba58342
IfcOperator typing
...
Added typing to make sure IfcOperator is properly implemented and not used if there are no IFC changes.
2024-07-03 18:12:21 +05:00
Andrej730
788fb62f25
bim.add_representation - clean up orphaned temporary meshes
2024-07-03 18:12:21 +05:00
Andrej730
cc6d254698
bim.add_representation - option to add default cube representation
...
Example - https://imgur.com/a/Mklgmhj
It can be useful as a way to start working with the representation when object had no representations before.
You can also now add a representation from other object even if object had no representation before.
2024-07-03 18:12:21 +05:00
Andrej730
3f2703ca21
tool.Geometry method for adding a data to an empty object
2024-07-03 18:12:21 +05:00
Andrej730
e72f2758c6
bim.add_representation - OBJECT conversion method UX tweaks
...
1) Filter only objects with representations in the pointer property.
2) Add description to the pointer property.
3) More descriptive error if object is not selected.
2024-07-03 18:12:20 +05:00
Andrej730
2feae06ebd
bim.add_representation - error if current object has is an empty
2024-07-03 18:12:20 +05:00
Andrej730
fccf56d5fd
fix issue removing currently active representation
...
previously it would remove the object, now it's going to switch to some other representation
2024-07-03 18:12:20 +05:00
Andrej730
6e9309aefc
common method for iterating over element's representations
2024-07-03 18:12:20 +05:00
Andrej730
fbe60c85a1
use common method to generate mesh name
2024-07-03 18:12:20 +05:00
Andrej730
8f92877fb4
typing
2024-07-03 18:12:20 +05:00
Andrej730
5d1b2e4651
black format
2024-07-03 18:12:19 +05:00
Thomas Krijnen
10c3893b79
Missing file
2024-07-03 15:07:28 +02:00
Thomas Krijnen
e2198c3ba7
Advanced brep: closed underlying nurbs curve handling #4895
2024-07-03 15:03:49 +02:00
ay-ex
752a64bf3e
choco release fix ( #4971 )
...
* add release script choco_release.py
* fix simplify action yaml
2024-07-03 22:52:32 +10:00
Thomas Krijnen
71ef1bf056
Advanced brep, sweeps and various fixes #4848 #4895
2024-07-03 14:42:51 +02:00
Thomas Krijnen
d4efcd40f9
Advanced brep, sweeps and various fixes #4848 #4895
2024-07-03 14:36:35 +02: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
Thomas Krijnen
19b89a3b1f
Workarounds for unstyled elements in tree and wrapper #4924
2024-07-02 11:44:00 +02:00
Dion Moult
b73da046ee
See #4964 . Forgot to commit qto function.
2024-07-02 18:59:13 +10:00
Thomas Krijnen
675e1982ee
Move macro logic into template function; mark failures as intended #4915
2024-07-01 20:34:51 +02:00
Thomas Krijnen
0357d15ce4
Exhaustive USD Format extensions
2024-07-01 20:30:34 +02:00
Thomas Krijnen
22cd1e8b9e
Another case of mutability causing havoc
2024-07-01 19:55:14 +02:00
Andrej730
0f8f6419e9
Indicate in UI if object's ifc placement/representation is not synced
...
Example - https://imgur.com/a/lixOxeN
Ideally users shouldn't need those as syncing should work seamlessly but since we do have syncing it can be useful if you can check sync status from the UI.
2024-07-01 18:26:04 +05:00
Andrej730
bd7ee0a1c6
Recent IFC projects - add tests
2024-07-01 18:26:04 +05:00
Andrej730
4463548740
move recent IFC projects tools from Blender to Project module
...
as Project is probably more appropriate for this
2024-07-01 18:26:03 +05:00
Andrej730
5655df2081
Recent IFC projects - show schema in the tooltip
...
Example - https://i.imgur.com/0op89zh.png
2024-07-01 18:26:03 +05:00
Andrej730
deb0b3482b
IfcHeaderExtractor tests
2024-07-01 18:26:03 +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
375deaad1e
Add description to "Upgrade to IFC4/IFC4X3)" operator
...
To emphasize that it won't overwrite the current file.
Example - https://i.imgur.com/CKIQJwn.png
2024-07-01 18:26:03 +05:00
Andrej730
f692e943c9
typing
2024-07-01 18:26:03 +05:00
Andrej730
8538a916a3
ifcopenshell.file docs
2024-07-01 18:26:02 +05:00
ay-ex
a8b2997e58
fix choco.yml ( #4959 )
2024-07-01 17:12:58 +10:00
Dion Moult
5c151c6b57
Bump bot build
2024-07-01 11:44:17 +10: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
DimitriosThe
20f8181ac3
Update csv4d2ifc.py ( #4935 )
...
Please correct me if I am wrong:
while trying to create relationships I saw that in def create_rel_sequence (line 194) there is a parameter missing which should reflect the "rel_type", otherwise and according to "assign_sequence.py" the sequence_type remains
def assign_sequence(
file: ifcopenshell.file,
relating_process: ifcopenshell.entity_instance,
related_process: ifcopenshell.entity_instance,
sequence_type: str = "FINISH_START",
2024-07-01 11:18:13 +10:00
John Yani
656a519126
[docs] Starting Project 0 tutorial ( #4953 )
2024-07-01 11:17:24 +10:00
Dion Moult
71869b65f3
Minor fix to warn users closing an error that their model could be in a bad state (future sync errors etc)
2024-07-01 10:43:07 +10:00
Dion Moult
fe8d42c27c
Minor fix for missing flip button for doors
2024-07-01 10:30:16 +10:00
Dion Moult
688c841a8e
Fix #4946 . Refactor model wall join operators into core for better error reporting
...
The operator is no longer needed and all the variations can be called exactly at the workspace hotkey level now (and thus nested operator errors won't cause runtime exceptions)
2024-07-01 10:15:48 +10:00
Dion Moult
989219e1e2
See #4946 . Slowly start refactoring out model module into core for better error handling.
2024-07-01 00:10:51 +10:00
Dion Moult
f2c3e62ba1
Minor signature clean up to tool.Model.load_openings (unused arg)
2024-06-30 21:46:21 +10:00
Dion Moult
73f546aab1
Don't attempt to manipulate type visibility when selecting a type.
2024-06-30 21:46:03 +10:00
Dion Moult
c4b3e57677
Fix bug where using the alignment tool broke on flipped non-LAYER2 objects
...
The alignment tool was initially designed specifically for LAYER2 objects. It doesn't have to be, so now LAYER2 is a special case where it may have its baselines and sidelines aligned whereas non-LAYER2 objects simply align based on bbox.
2024-06-30 21:40:21 +10:00
Dion Moult
4e9f2ea4b2
Add georeferencing integration tests
2024-06-30 17:01:39 +10:00
Dion Moult
2efeb6edb3
Fix bug where context has no active_object when creating a new project from File > New with a preset
2024-06-29 22:20:08 +10:00
Thomas Krijnen
c68dcba087
Implement element-hierarchy setting in USD
2024-06-29 14:16:07 +02:00
Thomas Krijnen
a92d51aeb1
Merge branch 'v0.8.0' of https://github.com/IfcOpenShell/IfcOpenShell into v0.8.0
2024-06-29 14:14:59 +02:00
Dion Moult
0544bbc886
Temporarily disable material listeners as they need to be rewritten anyway (ideally without listeners) with the new style system
...
At least now we can create types for testing
2024-06-29 21:39:38 +10:00
Dion Moult
9a871f1459
Merging projects can now handle projects with different false origins
...
Warning: I haven't yet looked at rotations. Yikes. No CRS reprojection either.
2024-06-29 17:05:06 +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
Dion Moult
2129350ab7
Fix bug where MergeProject didn't clean up duplicate CRS and coordinate operations
2024-06-29 17:03:26 +10:00
Dion Moult
43bc979114
The MergeProject recipe now accepts a file object, not always a filepath
2024-06-29 17:01:58 +10:00
Thomas Krijnen
a0458eeb91
Fix USD transformations after v0.8 migration
2024-06-28 20:26:11 +02:00
Thomas Krijnen
c7232a780a
Remove debug print
2024-06-28 16:21:33 +02:00
Thomas Krijnen
e96b4c11a2
Implement edge as top-level representation item #4924
2024-06-28 16:19:43 +02:00
Thomas Krijnen
fecca6a8b2
What a bad idea to let ellipse inherit from circle"
2024-06-28 16:19:43 +02:00
Andrej730
1fc56585dd
Support loading BlenderBIM in Blender 4.2+ as an extension
...
1) Used a hack to bring `blenderbim` into the main namespace instead of `bl_ext.repository.blenderbim`. This is not an official way to do it but this works for testing stuff (official way is to create a stub wheel that would redirect all `blenderbim` requests to `bl_ext.repository.blenderbim`).
2) AddonPreferences now require blender package name as it's bl_idname (e.g. bl_ext.repository.blenderbim)
3) Addressing preferences now also works through the blender package name. Created method in tool/Blender.py to incapsulate those details.
2024-06-28 18:46:08 +05:00
Andrej730
d1be0e8c1c
create_shape - raise the same error for representations and rep items
...
To be consistent with how it's handled when product+representation is passed, previously it would fail silently.
2024-06-28 18:24:58 +05: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
d4b055aeb2
Open recent IFC project #3657
...
Example - https://imgur.com/a/EDfBTJS
Paths to the opened IFC projects are now stored and then you can open them from File -> Open Recent IFC Project menu. It's done in very similar way to how Blender does it, list of files is stored in `Blender\4.1\config\recent-ifc-projects.txt`.
2024-06-28 18:24:58 +05:00
Andrej730
0e2cc463c8
Fix issue loading curve representations #4924
...
Issue occurred in the process of solving #4843 .
2024-06-28 18:16:32 +05:00
Andrej730
c3930a6573
black format
2024-06-28 18:16:32 +05:00
Andrej730
3c094b7bd2
typing
2024-06-28 18:16:32 +05:00
Dion Moult
f8dffa1a9b
Move new project wizard into its own panel and actually title it "New Project Wizard" for clarity
2024-06-28 22:50:02 +10:00
Dion Moult
03b6c08c50
Remove unload project button - superseded by Convert To Blender File operator
2024-06-28 22:50:02 +10:00
Thomas Krijnen
42b96d6290
Further work on trying to get orientation properly mapped
2024-06-28 13:41:01 +02:00
Thomas Krijnen
c240f0582a
Add TBB_INCLUDE_DIR
2024-06-28 13:40:19 +02:00
Thomas Krijnen
76b7748be1
Note some time points #4915
2024-06-28 13:39:58 +02:00
Thomas Krijnen
a2334f4ce0
More 4X3 non-ADD2 permissiveness in param values on polynomials
2024-06-28 13:39:19 +02:00
Thomas Krijnen
db50c87bf4
Fixed collections not being geom_items in mapped item handling
2024-06-28 13:38:56 +02:00
Thomas Krijnen
dc8766cf0a
Formatting improvements
2024-06-28 13:38:36 +02:00
Dion Moult
158f3d2962
Migrating calendar dates from IFC2X3 to IFC4 is now supported
2024-06-28 21:36:45 +10:00
Dion Moult
008fa70345
Fix failing collector tests to align with new behaviour
2024-06-28 21:15:53 +10:00
ay-ex
e59cd80868
fix choco release ( #4941 )
...
* fix choco action
* fix choco action env vars
* fix choco action env vars
* fix choco action py version source regex
2024-06-28 19:33:58 +10:00
Dion Moult
f0d7965d49
Fix #4804 . Prevent possible execution of toggle edit mode if there is no active object.
...
Recent changes in the UI already make this very unlikely - we don't show the ability to toggle edit mode pre-emptively in the viewport tob bar but just in case...
2024-06-28 14:25:56 +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
70bb0e5481
Update doc code examples to use static functions
2024-06-28 12:54:14 +10:00
Dion Moult
07060fc769
Replace all ifcopenshell.api.run with ifcopenshell.api static functions.
2024-06-28 12:36:31 +10:00
Dion Moult
b5d613989e
Merge pull request #4938 from Vanuan/documentation_geometry
...
[docs] Geometry related documentation
2024-06-28 07:05:46 +10:00
Vanuan
f604aa8b6b
Geometry related documentation
2024-06-27 23:40:39 +03: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
eb67ffcbec
Use ifc4 for enum entities in select attributes validation test #4927
2024-06-27 18:26:49 +05:00
Andrej730
4ec8345716
typing
2024-06-27 18:26:49 +05:00
Andrej730
56d3b2ca36
Use release ifc4x3 version for validation tests
2024-06-27 18:26:49 +05:00
Andrej730
dd06b1a6c4
small addition to 14dbe121f
2024-06-27 18:26:49 +05:00
Dion Moult
3469a9caad
See #4727 . Load alignments (linear elements, linear positioning elements, and referents) by default.
2024-06-27 21:49:44 +10:00
Thomas Krijnen
599ca56496
Mark piecewise_function as geom_item #4727
2024-06-27 09:33:04 +02:00
Andrej730
14dbe121f6
update serializer settings literals #4912
2024-06-27 10:59:35 +05:00
Dion Moult
dee936b2c3
Fix beam Qto length and add more Qto mappings
2024-06-27 14:32:56 +10:00
mat
a98cddf676
Add Text Literal re-ordering #3643
2024-06-27 12:41:33 +10: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
98afb72ba3
Prefer MapConversionScaled in IFC4X3 for SetFalseOrigin
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
Thomas Krijnen
1299a8f512
Mark edge as geom_item
2024-06-26 21:21:47 +02:00
Thomas Krijnen
eccbdfa76e
Eval eigen auto #4727
2024-06-26 21:21:47 +02: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
c56a4a6c9d
Fix console errors from Representations UI if non-product element is selected
2024-06-26 17:17:34 +05:00
Andrej730
832dce462e
spatial manager - fix bug with elevation not converted to si
...
Leading to issues if you would change it in non-meters project.
2024-06-26 17:17:34 +05:00
Andrej730
6f45373edd
move switch_shading method from prop to tool
2024-06-26 17:06:30 +05:00
Andrej730
d5613e0e26
typing
2024-06-26 17:06:30 +05:00
Andrej730
d0ec4fe345
core tests - print unprocessed calls in pytest verbose mode
...
e.g. if you start test with pytest test_style.py -vv it will be easier to guess why it couldn't find a call
```
E Exception: <class 'abc.Ifc'> was not called with run:
E - {'type': 'SHOULD_BE_CALLED', 'number': None, 'call': {'name': 'run', 'args': ('style.add_surface_style',), 'kwargs': {'style': 'style', 'ifc_class': 'IfcSurfaceStyleShading', 'attributes': 'attributes'}}}
E Unprocessed calls:
E - {'name': 'run', 'args': ('style.add_style',), 'kwargs': {'name': 'name'}}
E - {'name': 'link', 'args': ('element', 'obj'), 'kwargs': {}}
E - {'name': 'run', 'args': ('style.add_surface_style',), 'kwargs': {'style': 'element', 'ifc_class': 'IfcSurfaceStyleShading', 'attributes': 'attributes'}}
```
2024-06-26 16:14:00 +05:00
Andrej730
665bf00f8b
fix core.style tests #4843
2024-06-26 16:14:00 +05:00
Andrej730
2d2ca64a72
Do not use tool.Ifc.Operator if no ifc data is changed
2024-06-26 16:14:00 +05:00
Andrej730
60cb41a428
remove some props from Material.BIMStyleProperties as deprecated #4843
2024-06-26 16:13:59 +05:00
Andrej730
a69f3e8da9
remove unnecessary linking in IfcImporter.create_style #4843
...
As it's already linked by `self.link_element(style, blender_material)`
2024-06-26 16:13:59 +05:00
Andrej730
2f81cab5f1
deprecate Material.BIMMaterialProperties #4843
...
As it now stored just 1 property and it's now moved to the BIMStyleProperties.
2024-06-26 16:13:59 +05:00
Andrej730
78e81542d9
fix couple issues after ce9e4f285 #4843
...
1) BBIM was failing to unregister properly.
2) Failed to link materials on load.
3) Failed to purge IFC file.
4) Error changing style name
2024-06-26 16:13:59 +05:00
Andrej730
7bbc81b7c3
create_shape - include more types in the docs
2024-06-26 16:13:59 +05:00
ay-ex
6e6b256c22
fix use release tag for url, bump py version to 3.11
2024-06-26 19:37:37 +10:00
ay-ex
d23eba9343
fix remove release needed check
2024-06-26 19:37:37 +10:00
ay-ex
e899104d56
add simple check for "release needed?"
2024-06-26 19:37:37 +10:00
Dion Moult
de00429df6
Make version in bot build download dynamic
2024-06-26 17:14:57 +10:00
Dion Moult
3aba82f608
Ensure all project feature tests pass
2024-06-26 17:14:39 +10:00
Dion Moult
cb85b690e7
Bump bot build
2024-06-26 17:09:58 +10:00
Vanuan
527742ca93
Basic IFC concepts
2024-06-26 14:50:32 +10:00
Dion Moult
b85dcdb437
Distribute IfcCityJSON on PyPI
2024-06-26 13:53:55 +10:00
Dion Moult
f740ca3cf1
Distribute Ifc5D on PyPI
2024-06-26 13:02:59 +10:00
Dion Moult
b9269b5a11
Distribute Ifc4D on PyPI
2024-06-26 13:02:18 +10:00
Dion Moult
16e98e1400
Distribute IfcFM on PyPI
2024-06-26 12:10:59 +10:00
Dion Moult
4976074b18
Distribute IfcDiff on PyPI
2024-06-26 12:03:08 +10:00
Dion Moult
e670a7ca71
See #4826 . If a Qto calculator returns none, don't fail
...
There can be valid reasons for this, such as if the calculator realises it cannot compute a value (e.g. no mass density when calculating weight)
2024-06-26 12:03:08 +10:00
Dion Moult
d892ad956c
See #4826 . Fix Qto calculator which assumes that openings have a predefined type (in IFC2X3 they don't)
2024-06-26 12:03:08 +10:00
Vanuan
ac42ed7bab
Blender docs: More stubs, walls, doors, windows
2024-06-26 11:55:02 +10:00
Dion Moult
bf677b839d
Only get bot build binaries and use latest python to fix latest install issues
2024-06-26 10:24:32 +10:00
Dion Moult
464815b045
Update drawing generator to use v0.8.0 settings syntax
2024-06-26 09:20:46 +10:00
Dion Moult
ae91c2b9f0
See #4919 . Include pip install instructions for utils in docs.
2024-06-26 09:16:21 +10:00
Thomas Krijnen
39cd980008
Pin freetype version, incompatible change made 5d ago
2024-06-25 21:26:37 +02:00
Andrej730
f364643d7e
fix assigning material usages / reloading reprs after c4ae9578e #4843
2024-06-25 18:30:52 +05:00
Andrej730
ef9bbd8de6
deprecate shading_checksum #4843
...
Changing diffuse color for Blender material now won't change the linked IFC style.
Since now all style parameters for styles are changed through styles UI and users shouldn't use Blender materials tab unless they want to do something advanced (though they are still currently can use it to assign material styles to the specific faces).
PS 1 less thing to sync 🥳
2024-06-25 18:30:52 +05:00
Andrej730
8172096a5b
Do not directly access IfcStore.edited_objs
2024-06-25 18:30:52 +05:00
Andrej730
46d3d3afe1
calculate materials checksum in a common method
2024-06-25 18:30:52 +05:00
Andrej730
39cd4187ea
Remove unused BIMMaterailProperties props #4843
...
attributes were deprecated in d219856
is_external and name were deprecated awhile ago in 3fe5c88 😁
2024-06-25 18:30:51 +05:00
Andrej730
d6a3bc3556
remove dead code for loading materials from external blend files
...
External blender materials are now supported from
2024-06-25 18:30:51 +05:00
Andrej730
ce9e4f2854
remove BIMObjectProperties from bpy.types.Material as deprecated #4843
2024-06-25 18:30:51 +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
Andrej730
5d6215d889
bim.unlink_object - add description
2024-06-25 18:30:51 +05:00
Andrej730
17eb45fb4e
Object metadata to double check element belongs to the current project
...
Just to be safe if it got from other Blender session and there is an IFC element with the same id in the current project. I guess we can't check it anywhere but information in "Object metadata" should very accurate as here user might decide to unlink it.
2024-06-25 18:30:51 +05:00
Andrej730
0a06d58c42
typing
2024-06-25 18:30:50 +05:00
Andrej730
a65c6b6d3f
bim.unlink_object to skip popup if element is not found
...
If element is not found then it should always use `should_delete == False`, so we can just hide the popup in that case so users won't get confused about what should they choose.
2024-06-25 18:30:50 +05:00
Andrej730
c5262274eb
bim.unlink_style - fix issue saving project after unlinking
2024-06-25 18:30:50 +05:00
Andrej730
65f94bcc0c
Fix for console errors in a0e5d350b when no material active
2024-06-25 18:30:50 +05:00
Ziad-I
804bbc47c3
fix exception when global id is not included in csv data
2024-06-25 23:15:58 +10:00
Ziad-I
a967665cbd
slight html/js/css changes
2024-06-25 23:15:58 +10:00
Ziad-I
cbd017aceb
now sets active object too when selecting from web UI
2024-06-25 23:15:58 +10:00
Ziad-I
8d9d142bc2
reorganize JS code to be outside of document.ready
2024-06-25 23:15:58 +10:00
Ziad-I
f6c30f2ddf
improved send function logic to make there be 1 function only
2024-06-25 23:15:58 +10:00
Ziad-I
d2a27999ba
add handling for web operator selection
...
where if user click on item in the table it gets selected in blender
2024-06-25 23:15:58 +10:00
Ziad-I
2738b280a1
now shows ifc file name before table
2024-06-25 23:15:58 +10:00
Ziad-I
c8946a19f2
edit html/js/css to use tabulator to show csv data
2024-06-25 23:15:58 +10:00
Ziad-I
6b1932c8d9
add event listeners in sioserver.py
...
added event listeners for sending csv data from blender and receiving operator data from web UI
2024-06-25 23:15:58 +10:00
Ziad-I
a133b51dcc
add new output format "web". might need to...
...
might need to rewrite the logic for the output format "web" at a later date if there is a better way
2024-06-25 23:15:58 +10:00
Ziad-I
6155edef0d
made sending data take the event and namespace names as args
2024-06-25 23:15:58 +10:00
Thomas Krijnen
439595f04c
Update build-all.py #3927
2024-06-25 11:44:26 +02:00
Thomas Krijnen
c1fa9fe28e
Option to read VERSION file in cmake #3927
2024-06-25 11:40:42 +02:00
Thomas Krijnen
54a0a5b454
Some more python mapping wrapping experiments
2024-06-24 21:57:16 +02:00
Thomas Krijnen
bace73f854
Switch back to minkowski dilation for the time being
2024-06-24 21:56:57 +02:00
Thomas Krijnen
8da68f599b
Move print() to header, distinguish properly between curve_sense and edge orientation, unwrap trimmed curves as edge bases, don't mutated cached edge in oriented edge processing, etc. #4895
2024-06-24 21:56:27 +02:00
Thomas Krijnen
278524ee3e
Uninitialized use of context
2024-06-24 21:52:31 +02:00
Thomas Krijnen
a9912f351f
Don't dereference empty unit assignment list
2024-06-24 21:52:08 +02:00
Thomas Krijnen
1e5c51e5b2
Update main.py
2024-06-24 21:48:54 +02:00
Dion Moult
44100f3c46
Fix isolating drawing camera now that we have a new collection structure
2024-06-24 23:41:00 +10:00
Dion Moult
713e9c8e14
Minor fix in IfcFM to derive occurrences from types (and make it easier to override)
2024-06-24 23:41:00 +10:00
Dion Moult
e6238a1f75
Georeference UI now lets you edit either a decimal degrees angle or an abscissa ordinate and calculates on the fly
...
Seriously no normal person uses abscissa and ordinate
2024-06-24 23:41:00 +10:00
Dion Moult
cfd440dae9
Remove georeferencing orientation calculator UI because it's superseded by built-in angle calculators
2024-06-24 23:41:00 +10:00
Andrej730
a0e5d350bd
Small UI in Blender material properties tab with unlinking #4843
...
Example - https://i.imgur.com/7VqIowz.png
This tab is needed only to indicate whether style is linked to some IFC element and to unlink it. Unlinking from Blender material makes much more sense as you can see from this tab what you're actually unlinking.
Unlinking for styles now works very similar to how it works for objects.
2024-06-24 18:37:55 +05:00
Andrej730
c37240cf96
pyproject.toml - disable pyright setting that conflicts with Blender api
...
See https://github.com/microsoft/pylance-release/issues/5457
2024-06-24 18:34:01 +05:00
Andrej730
115844279f
fix removing objects with materials after c4ae9578e #4843
...
temporary fix, we probably should indeed just get rid of that listener
2024-06-24 18:34:00 +05:00
Andrej730
cbb7c5620d
Fix unlinking objects with should_delete=False after 75f8e75
...
It was keeping a reference to that object in IfcStore which could lead to issues.
2024-06-24 18:34:00 +05:00
Andrej730
6d5d15793b
record material checksum if styles were changed during material assignment
...
previously they wasn't recorded leading to the applying them to the representation items on save
2024-06-24 18:34:00 +05:00
Andrej730
8ac6f59394
typing
2024-06-24 18:34:00 +05:00
Andrej730
5d8addf1f8
remove optimization option deprecated after e3cb811
2024-06-24 18:34:00 +05:00
Andrej730
9b9301cbb0
ifc4x3 docs parser - use release ifc4x3 version
2024-06-24 15:22:02 +05:00
Andrej730
4d9b461776
Update ifc4x3 docs with ifc4x3_add2 release version
2024-06-24 15:22:02 +05:00
Andrej730
36f7cdacbd
ifc4x3 docs - temporary fix for issue upstream
...
see https://github.com/buildingSMART/IFC4.3.x-development/issues/754
2024-06-24 15:22:02 +05:00
Andrej730
feb0e46257
More readable error if express file is missing
2024-06-24 15:22:02 +05:00
Andrej730
0b901bff5f
typing
2024-06-24 15:22:02 +05:00
Dion Moult
b45b0f2c81
There is now an explicit "remove true north" button to make it consistent with other buttons like remove georeferencing
2024-06-24 18:21:06 +10:00
Dion Moult
7a36c05c30
Implement WCS consideration in XYZ <-> ENH conversions.
2024-06-24 18:21:06 +10:00
Dion Moult
ac58e6b8b2
Minor fix to new collection organisation for drawings
2024-06-24 18:21:06 +10:00
Dion Moult
68d3771a83
Change active layer collection when setting a new default container
2024-06-24 18:21:06 +10:00
Kristoffer Andersen
80349d70d8
Update ci-ifcopenshell-conda-cleaner.yml
...
fix missing env activation defaults
2024-06-24 08:41:46 +02:00
Dion Moult
e295d596fe
Split true north in API and Blender UI to be editable independent of georeferencing
...
They are two separate concepts, after all.
2024-06-23 23:19:27 +10:00
Dion Moult
013b138e5c
Default to adding EPSG:3857 when adding georeferencing and let users choose an EPSG when adding.
2024-06-23 23:17:44 +10:00
Dion Moult
95d2d0af83
You can now see and edit WCS in the Blender UI (new API for it too)
2024-06-23 22:23:48 +10:00
Dion Moult
03ee826e67
Add tests for xaxis and yaxis angle conversions
...
This tricked me today, the "XAxis" and "YAxis" vectors are from different perspectives (yikes!). XAxis is from the perspective of grid north, and YAxis is from the perspective of project north. I'm following this convention because that's what buildingSMART docs do but just FYI they serve two different purposes!
2024-06-23 22:23:48 +10:00
Kristoffer Andersen
9f31815d9e
add conda cron daily cleaner ( #4910 )
2024-06-23 09:11:17 +02:00
Ryan Schultz
1e9bfec655
Fix #4493 - Save drawing boundaries on bim.activate_drawing as well.
2024-06-22 11:44:42 -05:00
Dion Moult
fd8cb7e8ed
Implement Blender UI for handling new coordinate operations in IFC4X3
2024-06-22 23:32:25 +10:00
Dion Moult
4ef237e0f7
Implement purge map unit when removing georeferencing and removing 2X3 and 4X3 georeferencing in API
2024-06-22 22:13:20 +10:00
Dion Moult
3c48cfbc19
Add support for IfcRigidOperation and IfcMapConversionScaled in API
2024-06-22 21:59:09 +10:00
Dion Moult
177d43c30e
Redesign georeference calculator UI to show units and be explicit about local vs map (instead of input vs output)
2024-06-22 16:29:36 +10:00
Dion Moult
a6c3ae8446
Typing and update geolocation conversion utils to follow IFC4X3 rules about unit scaling
2024-06-22 15:52:00 +10:00
Dion Moult
d0373da0ad
Update XYZ <-> ENH geolocation conversion after the clarifications made on how to handle scale in IFC4X3
2024-06-22 14:47:42 +10:00
John Yani
7bb3de8371
Add documentation for toolbar ( #4907 )
2024-06-22 13:36:21 +10:00
Dion Moult
45e0045820
Fix bug where merge duplicate types would trigger listeners in an active Blender session. Stop using listeners, I guess?
2024-06-21 23:32:53 +10:00
Dion Moult
347b2b783d
Minor doc fix to SetFalseOrigin code example
2024-06-21 23:32:53 +10:00
Dion Moult
2fc7cc7de2
Show georeferencing unit symbols to make it clearer what units things are in
2024-06-21 23:32:53 +10:00
Andrej730
4d39804045
docs code block formatting
...
`console` type code-block is designed mainly for examples of the console commands with the output.
If it's just a shell script with comments, then `console` only gets in the way - e.g. if you try to select a console code block manually, you won't be able to select comment symbol `#` at the beginning of the command making code unrunnable if you try to copy and run it. I've replaced it with `bash` or `bat` (for Windows) code blocks where `console` wasn't necessary.
I've also removed `$` symbols at the beginning of the commands if it's not a `console` code-block - since otherwise it just breaks "Copy Code Block" because you copy unrunnable code.
2024-06-21 18:28:59 +05:00
Andrej730
746051815d
TesselateElement ifcpatch recipe to support product types
...
Previously it would just fail if you provide some IfcTypeProduct in the patch query
2024-06-21 17:50:22 +05:00
Andrej730
4385bf0bcc
create_shape - note about IfcTypeProducts
2024-06-21 17:50:22 +05:00
Andrej730
1e092c140f
add ifc2x3 support for 301cdf650
2024-06-21 17:50:22 +05:00
Andrej730
c4ae9578e9
fix styles update on material assignment/unassignment #4843
2024-06-21 17:50:22 +05:00
Andrej730
a834e5b4cd
element.get_type doc note
2024-06-21 17:50:22 +05:00
Andrej730
e329b18e33
simplify process of loading blender materials #4843
...
We no longer traverse through representations searching for IfcSurfaceStyles and just rely on geometry.materials.
Possible after #4886 since:
- create_shape is now considering inherited materials
- material.instance_id is not returning IfcMaterial's style id instead of IfcMaterial id.
2024-06-21 17:50:22 +05:00
Andrej730
5731c4036a
unresolve_type_representation - typing and small optimization
2024-06-21 17:49:02 +05:00
Andrej730
a594a6cfe2
typing
2024-06-21 17:49:02 +05:00
Andrej730
8b6235f42f
fix TessellateElements ifcpatch recipe
...
TessellateElements patch was failing because it was relying on optionality of `edges` argument. Though argument itself is currently useless and not used in the code.
2024-06-21 17:49:02 +05:00
Andrej730
d443c5e2a6
element.get_type - check schema explicitly for a small optimization
...
Previously if product had no types it would still run through all element.IsDefinedBy and check if they are IfcRelDefinesByType even if it's not IFC2X3.
2024-06-21 17:49:02 +05:00
Andrej730
68d3539a86
mapping binding - never overwrite already set item->instance
...
1) this way code should be more straightforward
2) this allows us not to reimplement mapping.get_surface_style logic in IfcGeomWrapper as it will be already handled in map_impl(const IfcSchema::IfcStyledItem* inst) and the resulting item->instance is not overridden by IfcStyledItem.
2024-06-21 14:52:37 +05:00
Andrej730
301cdf6504
Fix creating representation with inherited materials
...
It should be considered as inherited material can also have a style.
Though occurrence's material is still prioritized.
2024-06-21 14:52:37 +05:00
Andrej730
882e0a4ae9
Fix instance_id in geometry.materials returning material id instead of style id
2024-06-21 14:52:37 +05:00
John Yani
f921b65953
Major documentation refactoring ( #4905 )
2024-06-21 17:54:05 +10:00
Andrej730
1e26587bd3
geometry.import_representation to disable apply-default-materials #4832
...
as material creator is not designed for this option
2024-06-21 12:11:47 +05:00
Dion Moult
bce6485b91
Support adding / editing georeferencing for IFC2X3 fallback psets
2024-06-21 11:21:41 +10:00
Dion Moult
a0cb980a8f
See #4896 . Bump to IDS v1.0.
2024-06-20 17:37:14 +10:00
Dion Moult
fc0e9e900f
Fix #3970 . Show passing elements in IDS test report.
2024-06-20 16:36:18 +10:00
Dion Moult
d700262e7f
Support IDS tests for nest relationships in IFC2X3
2024-06-20 15:53:28 +10:00
Dion Moult
d92679223e
Fix #4879 . Include metadata about original requirement in JSON reports.
2024-06-20 15:29:10 +10:00
Dion Moult
7ac117cd8d
Use a json encoder for IfcTester JSON reports to ensure everything is stringable
2024-06-20 15:00:55 +10:00
Dion Moult
b87a6bc15c
Fix #4874 . Checking restrictions of the wrong data type will now returned a failed result instead of an exception.
2024-06-20 13:22:16 +10:00
Dion Moult
fbefe8c555
PartOf facet tests now give more granular reports on failing predefined type requirements
2024-06-20 12:58:42 +10:00
Dion Moult
030119fd0e
Fix #4893 . IfcTester now requires lowercase booleans or 0/1.
...
This changed on May 5: https://github.com/buildingSMART/IDS/issues/290
2024-06-20 09:52:45 +10:00
Dion Moult
fcf2c37432
New SetFalseOrigin patch recipe to make it easy to "Just Fix It!"
...
This combines the best practices of a few other patch recipes to make it easy to say "this point here is this world coordinate".
2024-06-19 23:41:46 +10:00
Dion Moult
fab3ee70dd
Fix bug where 2D angles weren't correctly parsed in OffsetObjectPlacements recipe
2024-06-19 23:37:01 +10:00
Dion Moult
4738528e69
We now can do cartesian point offsets regardless if there is a false session origin or not.
...
For example, it doesn't matter if you have a false origin set or not, there can still be scenarios where local verts are far away.
2024-06-19 23:33:16 +10:00
Thomas Krijnen
88c8bcf119
Pin OCCT serialization version to v2 #4393
2024-06-19 14:44:52 +02:00
Ziad-I
3c3e4dd047
add pip install python-socketio and aiohttp in makefile
2024-06-19 13:17:29 +03:00
Thomas Krijnen
b44b1cb8b0
Fix segfault on gcc #4832
2024-06-19 11:56:56 +02:00
Ziad-I
6ad2bef05c
add webui server and static files
2024-06-19 12:27:03 +03:00
Andrej730
8e0c92d5eb
Fix issue using IfcImporter after 8246d2c
...
E.g. there was an error on creating a project using demo template
2024-06-19 10:57:34 +05:00
Andrej730
6bafbd92f3
fix ui bug after 114fca8be
2024-06-19 10:57:34 +05:00
Andrej730
03663eec3f
include socketio to fix starting bbim after 65a1fbe
2024-06-19 10:57:34 +05:00
Thomas Krijnen
a3d4642ea9
Fix boolean results on non-solid shells #4832
2024-06-18 21:30:00 +02:00
Thomas Krijnen
0e42130e9d
Taxonomy curve upgrades #4832
2024-06-18 20:18:39 +02:00
Thomas Krijnen
691fe549d7
taxonony::cast throws exceptions now on invalid casts
2024-06-18 13:52:42 +02:00
Thomas Krijnen
f5979be4d5
Keep old behaviour of subtractions, when failed use first operand #4832
2024-06-18 13:09:32 +02:00
Kristoffer Andersen
9fe40c3137
make necessary changes for v0.8 daily conda builds ( #4884 )
...
* make necessary changes for v0.8 daily ci conda builds
* fix conda find hdf5 portion of CMakelists.txt
2024-06-18 12:52:00 +02:00
Thomas Krijnen
82496e8126
m4 not referenced in IfcEllipseProfileDef
2024-06-18 12:32:00 +02:00
Thomas Krijnen
9c22e6ecc8
Support evaluation of faces directly, add identity matrix on unplaced circle profile curves #4832
2024-06-18 12:32:00 +02:00
Thomas Krijnen
17a433a97b
Don't pass around nullptr in case of failed representation mapping
2024-06-18 12:32:00 +02:00
Ziad-I
b90c1ee7c9
forgot to undo changes after moving web UI code out to its own module/tool
...
forgot to remove changes done to csv module and search tool after moving web UI to its own module/tool
changes such as:
unused imports
panel header option
2024-06-18 18:31:39 +10:00
Ziad-I
bd30f73b3a
fix no such directory error when running server
...
and added a 0.5 sleep time between disconnecting and killing server
2024-06-18 18:31:39 +10:00
Ziad-I
0aad3d99b5
add data.py for web module and sending data via ws connection
2024-06-18 18:31:39 +10:00
Ziad-I
f7d55a4a4a
fix open_web_browser operator
2024-06-18 18:31:39 +10:00
Ziad-I
df2655e7ae
add open browser button and operator
2024-06-18 18:31:39 +10:00
Ziad-I
9ec51e040e
change ui to show buttons according to connected/running
...
and moved setting is_connected and is_running to inside the tool itself
2024-06-18 18:31:39 +10:00
Ziad-I
467602aec3
add sending messages to server in web tool
2024-06-18 18:31:39 +10:00
Ziad-I
88610e23b2
move thread and asyncio loop management to its own class
...
as manually managing the thread and asyncio loop was quite a hassle. especially, cleanup after closing them.
2024-06-18 18:31:39 +10:00
Ziad-I
89fb59307c
add disconnection from server functionality
...
had to refactor how the server connects
2024-06-18 18:31:39 +10:00
Ziad-I
65a1fbea78
add connection to webserver logic
2024-06-18 18:31:38 +10:00
Ziad-I
78bc8fe977
add methods to show running and connected status
2024-06-18 18:31:38 +10:00
Ziad-I
6ab08a2f49
remove debug flag in flask run command
...
removed debug flag in flask run command as it leaves a zombie process after closing blender
2024-06-18 18:31:38 +10:00
Ziad-I
de7d315eb3
add starting webserver and terminating webserver
2024-06-18 18:31:38 +10:00
Ziad-I
24662d75e4
add tool methods to generate port and check port availability
2024-06-18 18:31:38 +10:00
Ziad-I
76e6697bbc
remove open_web_ui button and operator from csv module
2024-06-18 18:31:38 +10:00
Ziad-I
3c2fcffd0d
moved web ui logic to web tool/core
2024-06-18 18:31:38 +10:00
Ziad-I
0188757197
add new web module
2024-06-18 18:31:38 +10:00
Ziad-I
444554a12d
add print messages and opening of web UI
2024-06-18 18:31:38 +10:00
Ziad-I
ba42f01db2
add internal logic to start the web-ui websocket server
...
added internal logic to the Search tool/core to start the websocket server for the webui
2024-06-18 18:31:38 +10:00
Ziad-I
5d91766f07
changed the icon for the button to URL icon
2024-06-18 18:31:38 +10:00
Ziad-I
c4cbc577d8
add open web ui button and dummy operator
2024-06-18 18:31:38 +10:00
Dion Moult
bfd9cc0cf0
Allow calling ifcpatch from code with no arguments
2024-06-18 13:55:19 +10:00
Dion Moult
ac0b5abfc5
You can now choose whether to use a cache / force reload a linked model
2024-06-18 12:51:14 +10:00
Dion Moult
ad61cc3c92
Update linking styles to v0.8.0 syntax
2024-06-18 10:59:10 +10:00
Dion Moult
6fa586a1b6
When linking IFCs into a vanilla Blender session with no IFC, the origin from the first IFC you link determines the origin of subsequent links
2024-06-18 00:15:55 +10:00
John Yani
4c09773211
Refactor Project Info panel to clarify distinct modes ( #4880 )
...
* Rename modes in Project Info documentation
* Refactor project info panel UI code
2024-06-17 23:38:05 +10:00
Dion Moult
2300411ce4
Fix #4510 . Linking in georeferenced models now reuses the host model's georeferencing settings
...
In addition to reusing a constant false origin, because we now reuse the same logic as project loading, we also now get the ability to mix map-conversion and non-map-conversion coordinates and also link in rotated models, not just translated.
2024-06-17 17:10:14 +10:00
Dion Moult
9c61a9eed7
Linking in models now uses the same cartesian point offset strategy as loading models with a dynamic distance limit
...
Previously, it would have a hardcoded 1km distance limit and any "far away" object would be treated as a chunk instead of an occurrence. Now it has dynamic distance limits and benefit from occurrence instancing.
2024-06-17 17:03:42 +10:00
Dion Moult
743a197542
False origin is always in terms of map coordinates, not as an offset.
...
Previously, the false origin would be in terms of local coordinates. This means that the same false origin would give two different results on files with different map conversions. Now, false origin is ... well, a true map coordinate and works equally for both IFCs with and without a map conversion.
2024-06-16 22:28:48 +10:00
Dion Moult
99f329c13d
When guessing false origins, only consider geometry, not placements
...
Placements may be misleading and are "invisible". A far away placement and local geometry can cancel each other out.
2024-06-16 15:12:11 +10:00
Dion Moult
623d487df7
Use gross shapes for guessing false origins to be faster
2024-06-16 15:11:24 +10:00
Dion Moult
348ef4023f
False origins can now be explicitly auto, manual, or disabled
2024-06-16 14:50:33 +10:00
Dion Moult
b253b74e88
Linking projects now shares context prioritisation logic with regular project loading
...
This means it can link in more interesting shapes.
2024-06-16 14:21:25 +10:00
Dion Moult
a3b6a6ea39
Black geom/main.py
2024-06-15 23:50:37 +10:00
Dion Moult
8246d2c593
Aggressively refactor out functions relevant to guessing a false origin to tool.Loader
2024-06-15 23:50:27 +10:00
Dion Moult
3a6cf0e5ae
Fix #4854 . Make IFC edit mode toggle dynamic to prevent editing uneditable things.
2024-06-15 16:40:53 +10:00
Dion Moult
1db26aab15
Fix #4837 . Make mathutils dependency optional.
...
In the long term, I'd like to replace mathutils with numpy.
2024-06-15 15:10:36 +10:00
John Yani
a23e6dcd66
Expand Project Info documentation. Reorganize General Usage ( #4875 )
2024-06-15 14:10:00 +10:00
Dion Moult
9331292dd1
Fix bug where editing qtos was hardcoded to IFC4.
2024-06-15 14:07:27 +10:00
Dion Moult
cad7db0162
See #4838 . Consistently use schema_identifiers throughout the code instead of schema to be more explicit.
...
This also means in the future we are better shaped to be a prototyping platform for future IFC versions.
2024-06-15 14:05:37 +10:00
Dion Moult
9f356542bc
Remove dead code where material psets used to be on a bpy.types.Material
2024-06-15 13:29:48 +10:00
Andrej730
1f7d80e6f1
remove unused argument
2024-06-14 19:14:20 +05:00
Andrej730
f3f1e8721c
remove name update for ifc materials based on blender materials name #4843
2024-06-14 19:14:20 +05:00
Andrej730
114fca8be5
unassociate bim.add_material from blender materials #4843
2024-06-14 19:14:20 +05:00
Andrej730
52167a47b9
minor refactor for bim.add_boolean
...
1) Couple logic simplifications and info messages
2) Removed unlink as obj2 is a blender object (we check this before with `tool.Ifc.get_entity(obj2) == None`) and doesn't need to be unlinked
2024-06-14 19:14:20 +05:00
Andrej730
d4ff2c8dda
typing
2024-06-14 19:14:20 +05:00
Andrej730
75f8e75a8e
ifc.unlink fixes after 3df75e9af
...
Also some changes related to #4843
add
2024-06-14 19:14:19 +05:00
Andrej730
d0f612afc2
IfcStore.get_element - more explicit checks for missing elements
2024-06-14 19:14:19 +05:00
Andrej730
b6b681c244
bim.add_boundary - info message if no relevant elements selected
2024-06-14 19:14:19 +05:00
Dion Moult
5911a602b9
Purge legacy code which used JSON files for schema descriptions and entities
...
In our early days, we didn't use IfcOpenShell to dynamically query the schema.
2024-06-14 21:59:53 +10:00
Dion Moult
453ef437d3
Fix linking IFC coordinates to v0.8.0
2024-06-14 16:30:31 +10:00
Dion Moult
88494d3379
Linking IFCs now also includes spatial elements
2024-06-14 16:16:08 +10:00
John Yani
1b41440aba
Update Blender BIM Project Info documentation ( #4871 )
...
* Update property-editor.rst
* Add project overview screenshots
* Update property-editor.rst
* Add BlenderBIM project info screenshots
* Update property-editor.rst
2024-06-14 14:48:49 +10:00
Dion Moult
105434fe68
See #4854 . Don't show IFC mode UI if there is no IFC model.
...
Still quite a bit of work to be done here, but this is better than nothing.
2024-06-14 13:01:43 +10:00
Dion Moult
a0a505d64b
Minor fix to not show placement if offset is not applicable
2024-06-14 13:00:09 +10:00
Dion Moult
3a4bdd623d
Fix #4867 . Accommmodate invalid IFC data from 12D.
2024-06-14 09:18:14 +10:00
Andrej730
99338187de
prevent possible errors initializing swig wrapper's Settings #4861
2024-06-13 18:19:12 +05:00
Andrej730
9d7ef6ff47
BBIM - fix invalid representation item style assignment in ifc2x3
...
It wasn't considering IfcPresentationStyleAssignment.
2024-06-12 18:24:14 +05:00
Andrej730
ffd944f4f9
style->instance_id to consider possible IfcPresentationStyleAssignment in ifc2x3/ifc4
2024-06-12 13:52:44 +02:00
Thomas Krijnen
ecef745c3b
OCCT doesn't like null shapes even on symmetric bools
2024-06-12 11:47:27 +02:00
Thomas Krijnen
44507785ac
Rerun codegen
2024-06-12 11:47:27 +02:00
Thomas Krijnen
79c0246e6a
Don't sort enum names for correspondence with header
2024-06-12 11:47:27 +02:00
Dion Moult
3c659a342f
BCF workflow now uses VERSION
2024-06-12 19:23:10 +10:00
Dion Moult
d192217e78
bSDD workflow now uses VERSION
2024-06-12 18:44:51 +10:00
Dion Moult
6474552649
IfcClash workflow now uses VERSION
2024-06-12 18:25:05 +10:00
Dion Moult
4b454dd646
IfcCSV workflow now uses VERSION
2024-06-12 18:15:13 +10:00
Dion Moult
85e1786ce5
IfcPatch workflow now uses VERSION
2024-06-12 18:05:33 +10:00
Dion Moult
45b81ab814
IfcTester workflow now uses VERSION
2024-06-12 17:52:35 +10:00
Dion Moult
8241b557fe
Minor fix - add "unstable" word to Sverchok release and fix importing WAxes
2024-06-12 10:26:20 +10:00
Dion Moult
1312a8e704
Purge deprecated feature to enable coordination mode / merge modes in favour of new link IFC feature
2024-06-12 09:53:58 +10:00
Thomas Krijnen
2a5e42e359
Don't log 'no op defined' for failed conversions
2024-06-11 20:09:37 +02:00
Thomas Krijnen
dae7d86dad
Fix style lookup in accordance with v0.7 #4844
2024-06-11 20:09:37 +02:00
Andrej730
9906149b0d
do not load ifc materials as blender materials #4843
...
also deprecate blender_material style argument as it's not used anywhere now
2024-06-11 18:26:19 +05:00
Andrej730
2e2c116180
deprecate mixing up ifc materials and styles in one blender material on loading #4843
...
Part of the transition process disconnecting blender materials from IFC materials to make it less confusing.
E.g. previously if we would load an element A with material M and style S it would load it as blender material M that looks like S.
But also if you would load element B with just style S, it would add it as blender material M though B has nothing to do with material M.
2024-06-11 18:26:19 +05:00
Andrej730
13c6b9d673
do not add Blender materials to objects without styles #4843
...
If part of the geometry has no style, we'll use empty empty material slots since Blender does require some material slot to assign each polygon to.
2024-06-11 18:26:19 +05:00
Andrej730
2fbac57faf
remove bim.unlink_material #4843
2024-06-11 18:26:19 +05:00
Andrej730
f803447651
more safe collector.assign
...
Noticed after error below trying to duplicate an element
File "addons\blenderbim\bim\module\geometry\operator.py", line 769, in execute
return OverrideDuplicateMove.execute_duplicate_operator(self, context, linked=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "addons\blenderbim\bim\module\geometry\operator.py", line 778, in execute_duplicate_operator
IfcStore.execute_ifc_operator(self, context)
File "addons\blenderbim\bim\ifc.py", line 381, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "addons\blenderbim\bim\module\geometry\operator.py", line 772, in _execute
return OverrideDuplicateMove.execute_ifc_duplicate_operator(self, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "addons\blenderbim\bim\module\geometry\operator.py", line 855, in execute_ifc_duplicate_operator
new = blenderbim.core.root.copy_class(tool.Ifc, tool.Collector, tool.Geometry, tool.Root, obj=new_obj)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "addons\blenderbim\core\root.py", line 54, in copy_class
collector.assign(obj)
File "addons\blenderbim\tool\collector.py", line 62, in assign
collection.objects.link(obj)
RuntimeError: Error: Object 'IfcActuator/Cube.001' already in collection 'IfcBuildingStorey/My Storey'
2024-06-11 18:26:19 +05:00
Andrej730
bec834c651
typing
2024-06-11 18:26:19 +05:00
Andrej730
3df75e9af3
IfcStore.unlink_element breaking change
...
Previously there was a problem with this method that it might confuse Blender objects copied from other sessions (or even from the current session but a few steps back) from current IFC objects and might unlink them accidentally.
Option to provide either element or obj was more of a convenience feature but now they have a different meaning to clearly distinguish between unlinking ifc element and unlinking some blender object without touching any ifc elements.
2024-06-11 18:26:19 +05:00
Andrej730
6630db21ee
Set apply default materials to False #4833
...
Since it's now True by default in v0.8.0, resetting it to False as it was in v0.7.0
2024-06-11 18:26:19 +05:00
Andrej730
f54f45a051
geom.settings - add a tooltip for available settings #4832
...
example - https://i.imgur.com/eTdqv5J.png
added a test so we won't miss if some setting will be added/removed
2024-06-11 18:26:18 +05:00
Thomas Krijnen
acd4274136
Don't blindly assumes openings have representations for the selected contexts. #4832
2024-06-11 15:25:03 +02:00
Thomas Krijnen
d400a48a9d
Remember your own conventions: lines run along positive Z
2024-06-11 14:14:47 +02:00
Thomas Krijnen
4331f4f785
Don't stall threads on occt failures
2024-06-11 14:14:11 +02:00
Thomas Krijnen
95e36979d5
Don't link against svgfill from python when building without cgal #4832
2024-06-11 12:32:11 +02:00
Thomas Krijnen
07827940cc
Some defensiveness against null shapes (should look into this better)
2024-06-11 11:20:55 +02:00
Thomas Krijnen
c2efcda7bb
Don't use cached items in multi-threaded mode for now until we have proper immutability
2024-06-11 11:20:40 +02:00
Thomas Krijnen
aa0fbd434e
Add geometry library install targets #4842
2024-06-11 10:33:19 +02:00
Dion Moult
8cff046a46
Doc download links now point to explicitly versioned releases, not bot builds
...
This ensures that IOS-Python always 1) has the appropriate version and 2) contains exactly the same content as PyPI (i.e. with the latest Python files that might be outdated from the bot builds)
2024-06-11 17:32:30 +10:00
Dion Moult
ff4154c2bd
Forgot to distribution Windows 32 bit IfcOpenShell-Python
2024-06-11 16:09:00 +10:00
Dion Moult
d7e497727c
More build fixes.
2024-06-11 16:01:14 +10:00
Dion Moult
d4dc9af1be
Setup builds for IfcSverchok
2024-06-11 15:41:18 +10:00
Dion Moult
fbe25b314b
Whoops
2024-06-11 14:59:29 +10:00
Dion Moult
bfe36dddb7
Update deprecated set-output Github command
2024-06-11 14:48:37 +10:00
Dion Moult
dea2b6e367
New workflow for stable IfcOpenShell-Python releases
...
Typically every 2 months
2024-06-11 14:42:22 +10:00
Dion Moult
5e6fe5e3cf
Attempt to fix daily BBIM builds
2024-06-11 14:11:40 +10:00
Dion Moult
b009913cf4
Fix #4511 . IfcOpenShell builds now read from the VERSION file and expose a __version__ var.
2024-06-11 13:11:14 +10:00
Thomas Krijnen
783675f78c
Fix IfcGeomServer build after c01263d721
2024-06-10 21:41:52 +02:00
Thomas Krijnen
6fb05fa743
Fix segfault on grid placement. Don't fail on nullptr transformation. #4832
2024-06-10 21:40:39 +02:00
Thomas Krijnen
2ccc598270
Re #4833
2024-06-10 21:30:26 +02:00
Thomas Krijnen
d125699ca6
Re #4835
2024-06-10 21:30:01 +02:00
Thomas Krijnen
593fba98c1
Fix USE_PYTHON_OPENCASCADE setting #4832
2024-06-10 21:12:37 +02:00
Thomas Krijnen
74a42ba006
More precisely target cityjson code #4835
2024-06-10 20:56:50 +02:00
Thomas Krijnen
19933e0102
Reintroduce schema def for early bound example part
2024-06-10 20:24:26 +02:00
Thomas Krijnen
c01263d721
shared_ptr styles all over #4833
2024-06-10 20:13:12 +02:00
Thomas Krijnen
f2074d95fd
Adapt USD serializer for v0.8 and define nominmax for windows.h compatibility
2024-06-10 20:13:12 +02:00
Thomas Krijnen
83a929604c
Disable building USD-related things for now
2024-06-10 20:12:09 +02:00
D4ve-R
d8c5414ed1
build scripts
2024-06-10 20:12:09 +02:00
Andrej730
ab31f9ae85
fix mistake in de80e416c
2024-06-10 19:56:02 +05:00
Dion Moult
293cee414a
New VERSION file and make BBBIM and docs based on version string
2024-06-11 00:09:28 +10:00
Andrej730
8067d0c4f6
IfcParseExample to support IFC4 after 2948d08
2024-06-10 17:43:07 +05:00
Andrej730
a70b7e319b
cmake - build alignment examples only if 4x3 schema is available
...
As they doesn't support other schemas.
2024-06-10 17:43:07 +05:00
Andrej730
de80e416c3
use get_shape_matrix util function where it's possible
2024-06-10 17:43:07 +05:00
Andrej730
51f859d8e4
typing
2024-06-10 17:43:06 +05:00
Andrej730
6552463ed9
sequence.remove_task to remove IfcRecurrencePattern
2024-06-10 16:55:21 +05:00
Andrej730
d56da70cae
sequence.assign_recurrence_pattern - fix bug assigning pattern to a task time recurring
...
It wasn't considering that IfcTaskTimeRecurring might be just created and IfcTaskTimeRecurring.Recurrence is None resulting in error below
File "\api\sequence\assign_recurrence_pattern.py", line 120, in assign_recurrence_pattern
if len(file.get_inverse(settings["parent"].Recurrence)) == 1:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\file.py", line 524, in get_inverse
inverses = [entity_instance(e, self) for e in self.wrapped_data.get_inverse(inst.wrapped_data)]
AttributeError: 'NoneType' object has no attribute 'wrapped_data'
2024-06-10 16:55:21 +05:00
Andrej730
6cab7d964e
sequence.remove_work_time to remove IfcRecurrencePattern
...
Previously it was leaving them orphaned.
2024-06-10 16:55:21 +05:00
Andrej730
1343741cfd
sequence.remove_work_calendar to remove related work times
...
Previously they were leaved orphaned
2024-06-10 16:55:20 +05:00
Andrej730
7c713eee65
nest.remove_task to clean up ownerhistory in more cases
...
1) It wasn't removing ownerhistory in the case if task was RelatingObject in IfcRelNests
2) Replaced handling of IfcRelNests as an inverse with direct api calls.
3) Added some basic tests.
2024-06-10 15:51:03 +05:00
Dion Moult
277e53d5ac
General cleanup of collection code in covering tool and dead arguments.
...
It seems there is a lot of copy paste going on here. There needs to be a more detailed review once the v0.8.0 blob is more stable because right now I cannot fully test - it's hard to say if create_shape fails due to our bug or due to v0.8.0 not yet being stable. I'll revisit this later.
2024-06-10 18:07:01 +10:00
Dion Moult
1b63d9e88f
Railing/roof/stair/window now use default collection. Continue removing old "active collection" code.
2024-06-10 16:13:00 +10:00
Dion Moult
e520c2ce8a
Model module walls/slabs/products/mep now use the default container too.
2024-06-10 16:06:36 +10:00
Dion Moult
94f54fd4cb
Generating a space now is based on the default collection
2024-06-10 15:36:55 +10:00
Dion Moult
e6ac012f57
Loading IFCs now also uses tool.Collector.assign instead of implementing the logic twice
2024-06-09 16:55:19 +10:00
Dion Moult
72998b4eac
Drawing style queries now use new selector syntax
2024-06-09 16:53:36 +10:00
Dion Moult
177b8218ee
Creating grids now uses tool.Collector.assign instead of reimplementing collection management
2024-06-09 16:53:04 +10:00
Dion Moult
6e0665bd31
Fix bug where grid axes didn't accommodate cartesian offsets
2024-06-09 16:52:26 +10:00
Dion Moult
cdce612566
Update all geom settings to new v0.8 syntax
2024-06-09 16:15:55 +10:00
Bruno Postle
52f9db4522
Fix CPack source tarball generation
...
This was broken, now a IfcOpenShell-0.7.0.tar.gz file can be created
like so:
mkdir build
cd build
cmake ../cmake/ -DEXTRA_VERSION=
make package_source
2024-06-08 22:54:23 +01:00
Dion Moult
1e1066da3b
Update and rename cd.yml to ci-ifcopenshell-docker.yml
...
Now only runs on manual run / tag.
2024-06-08 23:00:44 +10:00
Dion Moult
072b9fd147
Start simplifying collection tree to only place items in their container and only one level deep.
...
This should heavily simplify the complex logic around blender collections and give freedom to the user to do whatever they want.
2024-06-08 22:26:41 +10:00
Dion Moult
3a1f1af803
Bump docs for v0.8.0
2024-06-08 14:50:18 +10:00
Dion Moult
03b277626f
See #4832 . Use shape.transformation.matrix in v0.8.0
2024-06-08 14:50:02 +10:00
Andrej730
cd2e33721e
Remove deprecated STRICT_TOLERANCE setting #4832
...
Mentioned in #4565 , it's now "set" by default
2024-06-08 00:33:17 +05:00
Andrej730
2d7a7a8bc3
update blenderbim/ifcsverchok branches #4832
2024-06-08 00:23:54 +05:00
Andrej730
b1d9c2df64
bump ifcopenshell build #4832
2024-06-08 00:19:18 +05:00
Dion Moult
c4dfbdbe2e
Merge branch 'v0.7.0' into v0.8.0
2024-06-07 23:48:39 +10:00
Dion Moult
e3cb811225
WARNING: Remove collection syncing. The outliner no longer is used to change spatial hierarchy.
...
This is a BREAKING change (on purpose). If you want to change containment / aggregation, use the UI panels, not drag and drop on the outliner.
2024-06-07 22:55:18 +10:00
Andrej730
db98f13982
typing
2024-06-07 17:15:52 +05:00
Andrej730
61c2a2c6c6
remove_work_schedule to unassign a work schedule from a work plan #4819
2024-06-07 17:15:51 +05:00
Andrej730
5c41baeaf1
remove_work_plan - unassign work schedules #4819
2024-06-07 17:15:51 +05:00
Andrej730
f8a5ce34a8
fix redeclarations in tests
2024-06-07 17:15:51 +05:00
Andrej730
4078140079
distance_limit, false_origin tooltips
2024-06-07 17:15:51 +05:00
Dion Moult
c9d724fe18
You can now set a default spatial container.
...
This will supersede having an active Blender collection selected.
2024-06-07 21:53:21 +10:00
Dion Moult
03b2afbb31
Fix IfcCSV docs to use new selector syntax.
2024-06-07 20:08:23 +10:00
Dion Moult
f0a19cb054
Fix #4815 . Purge deprecated old selector syntax.
2024-06-07 20:08:11 +10:00
Dion Moult
f565b4e8f0
Minor georeferencing offset fix after recent fixes
2024-06-07 20:06:57 +10:00
Dion Moult
af5838cba6
Fix #4821 . Bug where empty true norths were still set.
2024-06-07 16:30:19 +10:00
Dion Moult
d0058a1bde
Fix #4802 . Fix ability to edit CARTESIAN_POINT offset meshes in offset models.
2024-06-07 14:32:00 +10:00
Dion Moult
698c648413
Fix #3757 . Adding objects in offset models now correctly stores georeferenced coordinates.
2024-06-07 12:47:41 +10:00
Dion Moult
8f64ef4465
Fix bug where incorrect units were calculated in the geometry offset UI
2024-06-07 10:40:23 +10:00
Bernd Hahnebach
a16c159b7f
BBIM, bcf, ignore problematic topics in case of markup
2024-06-06 22:06:42 +02:00
Bernd Hahnebach
04b641c49c
BBIM, bcf, fix colors for hex with alpha channel
2024-06-06 22:06:42 +02:00
Bernd Hahnebach
84d475cfd3
BBIM, bcf, fix setting the viewpoint components
2024-06-06 22:06:42 +02:00
Bernd Hahnebach
afe7d526a5
BBIM, bcf, fix if either project or project name is missing in bcf
2024-06-06 22:06:42 +02:00
Dion Moult
98ec3e2301
Fix #4677 . Fix #4809 . Major improvement to local session offset during project loading (see description)
...
This improves four things:
1. Previously, we either used OBJECT_PLACEMENT or CARTESIAN_POINT, but couldn't handle scenarios where simultaneously both the placement and the coords were rubbish for a single object. Now we offset all far cartesian points, so it consistently works and we keep track of a per-object offset.
2. Previously, we applied the georeferencing conversion on every cartesian point which was very slow. The new method uses a simple XYZ translation which is super fast.
3. We now use numpy which should be much faster too.
4. Previously, objects were selectively offset based on whether they fell outside the distance limit. Now, we uniformly treat all non-geometric elements at 0,0,0 as insignificant positionally. This fixes the issue where half the model is offset and the other half isn't, but maintains the fix for situations where the site (typically) is at 0,0,0 and everything else is map coords.
2024-06-06 11:54:07 +10:00
Dion Moult
cfd0ed60cf
Reduce (arbitrary) element checking threshold down to 3 for georef guessing.
2024-06-06 09:34:32 +10:00
Ryan Schultz
802e1966fd
small tweak
2024-06-05 08:21:28 -05:00
Ryan Schultz
b57a1e5ea8
Adding a 'magic_font_scale'
...
https://community.osarch.org/discussion/2202/blenderbim-edit-text-preview-size
2024-06-05 08:12:22 -05:00
Ryan Schultz
b92e78b137
added styles search
2024-06-05 07:43:17 -05:00
Gorgious56
8b69ea464f
Fix variable name in code example
2024-06-05 08:19:29 +02:00
Dion Moult
1565575e8b
Load spatial tree after new / open project
2024-06-05 15:47:55 +10:00
Dion Moult
18b68353b1
Minor UI polish: center tabbar, remove Blender tabs as no longer necessary for native IFC
2024-06-05 15:09:23 +10:00
Dion Moult
9699eb38c5
Only show Blender tab icon in dropdown, separated.
...
This helps for smaller screens and makes it less overwhelming for users.
2024-06-05 15:00:28 +10:00
Dion Moult
d294be3433
Support adding a child space using the rules of spatial decomposition for each schema
2024-06-05 14:53:31 +10:00
Dion Moult
60ae4e80ce
New get_contained util.element function
2024-06-05 13:04:50 +10:00
Dion Moult
05ec36a37d
Spatial manager now shows aggregated objects inside selected space
2024-06-05 13:04:35 +10:00
Andrej730
dc8ea31138
Bump ladybug tools build in docs
2024-06-04 13:42:33 +05:00
Dion Moult
faaea7db49
Spatial manager now allows inline editing of names and elevations for a slicker UI
2024-06-04 15:10:28 +10:00
Dion Moult
b14ff94303
Spatial manager renamed to project tree and added icons
2024-06-04 13:57:57 +10:00
Dion Moult
b3dcfbf0dc
See #4796 . Fix issue where orphaned aggregate is never shown when loading IFC.
2024-06-04 12:31:07 +10:00
Ryan Schultz
b68109d32b
small fix for #4745
2024-06-03 12:31:03 -05:00
Dion Moult
2ea3fe4ab9
Fix qto bug where cubic meter units are incorrectly converted.
2024-06-03 22:49:40 +10:00
Andrej730
94c159ccd0
Consider elements with openings reloading representations
...
Before - https://imgur.com/a/MMnGMBo .
Occurrences with openings wasn't reloaded if you'd change their representation items (add/remove a style, remove a representation item). Also type/occurrences representations were not always reloading.
After - https://imgur.com/a/vBDejb8
Similar thing will be added to switch representation and to representation update to solve issues like this - https://imgur.com/a/0DFIBj2 (issue is still present now).
2024-06-03 17:47:37 +05:00
Andrej730
e4eead6662
styles ui - bim.assign_style_to_selected
...
Just a simple operator to explicitly assign selected style to the selected objects from Styles UI
https://imgur.com/a/JOLVPz7
2024-06-03 17:44:06 +05:00
Andrej730
ee4e92dfa3
remove bim.update_current_style poll
...
as this operator can be executed without any objects selected
2024-06-03 17:44:05 +05:00
Andrej730
f4ce2965f9
fix error saving ifc file / assigning classes 6eb3c4814
2024-06-03 17:44:05 +05:00
Andrej730
5fb7e6e375
resource.remove_resource - fix issue removing resources in ifc2x3
2024-06-03 17:44:05 +05:00
Andrej730
c399eb259a
resource.add_resource_quantity to ensure quantity type is supported
2024-06-03 17:44:05 +05:00
Andrej730
5ccdf187d5
change type of exception when setting non-optional property to TypeError
...
TypeError is more correct since error occurs when user is trying to set some attribute value with None while atttribute doesn't support None type. ValueError is typically raised when provided value has a correct type but unsupported value.
2024-06-03 17:44:05 +05:00
Andrej730
d53351d218
Remove redundant description repeating the label #4771
2024-06-03 17:44:05 +05:00
Andrej730
08a82c7b57
remove dead code after #4745
2024-06-03 17:44:05 +05:00
Andrej730
499cdbb9b8
bump old api argument deprecation date
2024-06-03 17:44:05 +05: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
70091aa28b
typing
2024-06-03 17:44:04 +05:00
Manu Varkey
3d566cc401
Fix missing code in pull request #4784 ( #4794 )
...
One line of code was inadvertently missed out in the pull request https://github.com/IfcOpenShell/IfcOpenShell/pull/4784
2024-06-03 21:30:58 +10:00
Dion Moult
6eb3c48144
Fix #3973 . Fix #4787 . Clarify that you cannot have aggregated physical elements where the whole has a body representation.
2024-06-03 15:37:24 +10:00
Dion Moult
44d180007e
Migrate test qto tool to new qto calculator
2024-06-03 15:16:27 +10:00
Dion Moult
7e8060b224
Fix #4791 . Hide irrelevant spatial containment panel for spatial elements.
2024-06-03 14:32:01 +10:00
Dion Moult
d408568d01
Fix #4793 . Bug where autodetected patch UI failed with new signature typing.
2024-06-03 14:08:54 +10:00
Ryan Schultz
47704b1625
Keeps selected objects selected when switching from one drawing to an… ( #4745 )
...
Keeps selected objects selected when switching from one drawing to another. As discussed: proposed: https://community.osarch.org/discussion/2179/not-unselecting-objects-when-switching-from-one-drawing-to-the-other#latest
2024-06-02 09:05:38 -05:00
Dion Moult
23fee9c8c8
Bring back formwork calculation feature that uses remesh
2024-06-02 17:43:25 +10:00
Dion Moult
c5d1801e1e
Fix #4786 . Speed up parent filter.
2024-06-02 17:39:23 +10:00
Ryan Schultz
e2dc5f4a48
small tweak
2024-06-01 08:19:41 -05:00
Manu Varkey
d28f62d327
Bug fix in editing material set item profile ( #4784 )
...
Fixes bug: Editing a profile under MaterialProfileSetUsage opened dialog boxes under all profiles.
2024-06-01 20:58:07 +10:00
Dion Moult
70064359c3
Whoops x2
2024-06-01 20:52:05 +10:00
Dion Moult
d8b74cf125
Whoops
2024-06-01 20:30:32 +10:00
Dion Moult
00c13c5ea4
Fix #4756 . You can now use parent as a key in a selector key.
2024-06-01 17:30:21 +10:00
Dion Moult
e26dae67aa
Convenience function for calculators to get maximum XY length
...
This is useful for 2D profiles
2024-06-01 15:11:29 +10:00
Dion Moult
6e30cd2ba7
Fix #4638 . You can now filter by parent (in the spatial hierarchy)
2024-06-01 15:10:45 +10:00
Dion Moult
0f9ea1e1e7
New utility functions to get parent in spatial hierarchy, filled void, and voided element
2024-06-01 15:09:05 +10:00
Dion Moult
128ffc8fd7
Fix bug where selector didn't handle "not equals" correctly for locations or groups
2024-06-01 14:53:55 +10:00
Dion Moult
f67911902f
Remove obsolete config option for openlca port
2024-06-01 12:29:17 +10:00
Dion Moult
64a1a3eb29
Migrate PyP6Xer dep to install using pip
2024-06-01 12:03:41 +10:00
Dion Moult
fcf70ad160
Attempt to bump support to intel mac 10.10
2024-06-01 10:48:36 +10:00
Dion Moult
116c9a5fd9
Continue migrating build deps to pip: pystache, lark, svgwrite, pillow, dateutil, isodate, networkx, deepdiff
2024-06-01 10:38:04 +10:00
Dion Moult
61b10a19c7
Attempt to make shapely be installed using pip
2024-06-01 10:21:40 +10:00
Andrej730
666f8e2459
Bump BBIM ifcopenshell build #4580
2024-05-31 18:28:52 +05:00
Andrej730
c303f216ad
Migrate recipe - do not call .migrate twice for each element
2024-05-31 18:20:47 +05:00
Andrej730
162e66b775
typing
2024-05-31 18:20:46 +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
696c6b09b0
materials ui - preserve selected category on expanding/contracting all categories
2024-05-31 18:20:46 +05:00
Andrej730
6e738a0e3a
materials ui - fix bug when it was impossible to contract category
...
E.g. it was impossible to contract category "TEST" if there was also a material with name "TEST" (and it's category was expanded). It occurred due to a mixup of materials and categories in expanded_categories.
Also changed is_expanded default value to False as it makes more sense (previous value didn't worked for materials and for categories you probably would want it to be False by default.
2024-05-31 18:20:46 +05:00
Andrej730
ba6cdc967c
materials ui - shift+click to expand/contract all categories #4771
2024-05-31 18:20:46 +05:00
Andrej730
468baef5c8
materials ui - make expanding/contracting categories more natural
...
Previously if you had some item active before the category you're trying to expand/cotract it would jump back to that item which was confusing. Now it sets contracted/expanded category as active to prevent that jump.
Before - https://imgur.com/a/87ZDnVq
After - https://imgur.com/a/B9WOn8I
In Blender when we reload materials in collection property it's resetting scroll position in the template_list and setting it based template_list index, so the only way to preserve the scroll position is to manipulate template_list index.
2024-05-31 18:20:46 +05:00
Andrej730
bda9dfd4cc
materials ui - avoid having multiple "Uncategorised" categories
...
Previously it would create multiple same named "Uncategorised" categories for each case when Category was "", None, "Uncategorised", which was confusing and some of them ("" and None) would expand simultaneously when you would try to expand one.
Removed `or "Uncategorised"` from ui.py as there shouldn't be a need for this since all cases are handled when items are added.
2024-05-31 18:20:46 +05:00
Dion Moult
930feb1d52
See #4768 . Attempt to use pip for lxml packaging.
2024-05-31 23:06:12 +10:00
Dion Moult
e0b11aa66e
Fix #4434 . User can now explicitly select whether they are choosing a whole or part when changing the aggregate.
2024-05-31 21:38:51 +10:00
Dion Moult
b2e7044373
Fix bug where you couldn't change the aggregate of a spatial element (which has been locked during import)
2024-05-31 21:17:51 +10:00
Dion Moult
77abe9a0a5
[BBIM docs] change color of ui breadcrumb on dark background #4777 by @dirkolbrich
...
Sorry I messed up this merge and did a force push somehow
2024-05-31 21:15:33 +10:00
Dion Moult
e2c67c2f37
Revert "fixes #4434 "
...
This reverts commit cdd332d1ee .
2024-05-31 21:11:37 +10:00
Dion Moult
a5d123fe83
Map a bunch more qto functions for the IfcOpenShell calculator
2024-05-31 13:09:05 +10:00
Dion Moult
b7b99b6db7
Fix #4773 . Bug where two materials that shared a style would cause the Blender <-> IFC link to break
2024-05-31 12:54:19 +10:00
Dion Moult
2be0cc697a
Fix #4768 . Support Python 3.12 version of BBIM.
2024-05-31 11:30:26 +10:00
Dion Moult
dc92b973a0
Minor fix
2024-05-31 10:15:03 +10:00
Dion Moult
5466be9b7b
Fix #4765 . Only run Blender calculator on meshes.
2024-05-31 10:09:56 +10:00
Andrej730
b86dab2a76
fix removing aggregate's collections (and possible orphaned ifc data)
...
Probably have met this issue before - https://i.imgur.com/EOCSGg2.png
It occurred when you would remove e.g. IfcBuildingStorey's (or other aggregate's) collection from outliner. Deletion operator removes objects first and removing aggregate's main object is automatically removing it's collection. Then it would start removing collections and will break meeting an invalid collection.
Most of the times it was scary but harmless since all collections are probably removed either way but it's critical for batch removal as it would be never finished, possibly leaving unlinked ifc data (e.g. representations and it's items) that's not removed completely until batch removal is finalized.
Traceback:
Error: Python: Traceback (most recent call last):
File "\blenderbim\bim\ifc.py", line 360, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\blenderbim\bim\module\geometry\operator.py", line 720, in _execute
bpy.data.collections.remove(collection)
ReferenceError: StructRNA of type Collection has been removed
2024-05-30 17:40:13 +05:00
Andrej730
a57e063c14
convert_to_blender to also unlink blender material from ifc material
2024-05-30 17:38:14 +05:00
Gorgious
c7830e9e5b
Using the "Select IFC class" button doesn't throw an error anymore if an object candidate is in an excluded collection
...
+ use walrus operator in a few instances
2024-05-29 16:23:05 +02:00
Gorgious
d533ba1e6b
Remove dead code going back to a time immemorial hack
2024-05-29 16:11:35 +02:00
Andrej730
45a1655485
typing
2024-05-29 18:00:44 +05:00
Andrej730
3679fccfbd
reload_representation to support multple objects and optimize the process
2024-05-29 17:20:34 +05:00
Andrej730
cf9f792a3b
fix issue unlinking objects after d219856
...
`unlink_style` doesn't need `tool.Style` anymore and `obj` argument was replaced with `style`
2024-05-29 17:20:34 +05:00
Dion Moult
d87665de7e
Minor fix
2024-05-29 22:03:22 +10:00
Dion Moult
95daf7efa3
Minor fix to expose both net and gross variants of IfcOpenShell Qto calculator
2024-05-29 21:58:02 +10:00
Dion Moult
435ce8d58a
New qto tool is now unit aware
2024-05-29 21:46:23 +10:00
Dion Moult
f92a2b3c8e
Shift-Q QTO shortcut now works again
2024-05-29 19:37:35 +10:00
Dion Moult
5ea1c94822
Expose all previous calculation functions in new Qto UI
2024-05-29 19:29:48 +10:00
Andrej730
ab1bf7592e
fix error exporting schedule of rates #4723
...
Issue occurred when cost item would have no quantities but had controlled objects with quantities.
1) just added a check to ensure that cost_item.CostQuantities are present
2) removed possible None return value in get_cost_item_quantity as it actually will break process_cost_data and it's never used anywhere else
3) has_changed_name was unused
4) fix possible similar issue in cost.data (though _get_object_quantities method is unused)
2024-05-29 11:49:27 +05:00
Dion Moult
f4247c3527
Continue purging tools that were specific to base qtos
...
Base qtos shouldn't be too special, it should be based off a calculation mapping. This means we can also support IFC2X3 better (which has no base qtos)
2024-05-29 15:56:50 +10:00
Dion Moult
8c3d10a2bd
Reimplement manual qty calculator using autodetected calculator functions and redo qto UI
2024-05-29 15:14:11 +10:00
Dion Moult
1bda47f76e
Migrate calculator to qto module and mapper to Ifc5D.
2024-05-29 12:45:09 +10:00
Dion Moult
9001aa6383
Purge calculate quantities operator - to be replaced with new ifc5d qto tool
...
The calculate quantities operator assumes a single mapper, not a configurable calculator.
2024-05-29 12:39:05 +10:00
Ryan Schultz
097c5cee3c
fix #3802 - Copy array attributes from another array. Big thank you to @brunoperdigao, for the help!
2024-05-28 21:17:23 -05:00
Dion Moult
9d789425ce
Purge guess quantity feature. It will be reintroduced as a separate tool.
2024-05-29 11:19:33 +10:00
Dion Moult
c0b86ea016
Fix incorrect colours in Basic FM template
2024-05-29 08:51:27 +10:00
Dion Moult
6806eb0a05
Create blank ifc4 qto base quantities ruleset
2024-05-29 08:41:43 +10:00
Andrej730
ce26d931c1
regenerate ifc4x3 pset templates after the release
...
Change log
Different props in pset 'Pset_BuildingCommon':
- new props: ElevationOfTerrain, ElevationOfRefHeight
New template 'Pset_DoorLiningProperties' with props: LiningDepth, LiningThickness, ThresholdDepth, ThresholdThickness, TransomThickness, TransomOffset, LiningOffset, ThresholdOffset, CasingThickness, CasingDepth, LiningToPanelOffsetX, LiningToPanelOffsetY
New template 'Pset_DoorPanelProperties' with props: PanelDepth, PanelOperation, PanelWidth, PanelPosition
New template 'Pset_PermeableCoveringProperties' with props: OperationType, PanelPosition, FrameDepth, FrameThickness
Different props in pset 'Pset_Stationing':
- new props: HasIncreasingStation
New template 'Pset_WindowLiningProperties' with props: LiningDepth, LiningThickness, TransomThickness, MullionThickness, FirstTransomOffset, SecondTransomOffset, FirstMullionOffset, SecondMullionOffset, LiningOffset, LiningToPanelOffsetX, LiningToPanelOffsetY
New template 'Pset_WindowPanelProperties' with props: OperationType, PanelPosition, FrameDepth, FrameThickness
2024-05-28 18:01:33 +05:00
Andrej730
eeaa0a5530
Fill IfcPropertySetTemplate.TemplateType in ifc2x3 pset templates
2024-05-28 18:00:22 +05:00
Andrej730
a09cb5dee4
typing
2024-05-28 18:00:21 +05:00
Andrej730
6035683492
sync get_base_qto after 70a4af2
2024-05-28 12:59:34 +05:00
Andrej730
f27dbacd28
prioritize qto base psets over other qto_ qsets after 70a4af2 #4740
...
1) e.g. in ifc4x3 previously for IfcWall it would prioritize Qto_BodyGeometryValidation over Qto_WallBaseQuantities
2) It would also prioritize general Qto_BodyGeometryValidation over Qto_BuildingElementProxyQuantities.
3) removed "Qto_" check as we do qto_only in get_applicable_names
2024-05-28 12:59:34 +05:00
Andrej730
8817a7e6d5
qtocalculator to support backported EQto_BodyGeometryValidation
2024-05-28 12:59:34 +05:00
Dion Moult
80c4c13998
Basic prototype of new Ifc5D QTO tool in Blender.
2024-05-28 17:33:58 +10:00
Dion Moult
5159e2daee
Initial attempt at a qto module in Ifc5D
...
This is a more flexible, non-Blender approach to doing QTO which allows:
- Doing QTO without Blender
- Doing QTO using query filters
- Using config files for QTOs
- Choosing your calculation engine, either built-in or creating your own
2024-05-28 17:32:51 +10:00
Dion Moult
54951d2102
Add convenience max/min functions for xyz and side_area shape calculations
2024-05-28 17:30:01 +10:00
Dion Moult
8403c32e76
Adjust selector's behaviour to use the elements argument as a filtering subset
...
This was always the original intention, but never worked as designed. This is so that you don't need to filter the entire file (which can be huge).
2024-05-28 17:30:01 +10:00
ppaawweeuu
316934de97
Update selector_syntax.rst - small formating change ( #4752 )
...
typing
2024-05-28 09:43:51 +10:00
Andrej730
dd48fbcb0f
remove dead code core.sequence.highlight_product_related_task
...
It's deprecated after UI changes in de3dfcd
2024-05-27 17:58:45 +05:00
Andrej730
54978a9868
bim.load_product_related_tasks - show info message when finished
...
to make ui a bit more responsive
2024-05-27 17:58:45 +05:00
Andrej730
02fd78df14
datetime2ifc to support None values as it was before ebd03e9 #4734
2024-05-27 17:34:28 +05:00
Andrej730
ed1202e1f2
limit quantity types for each resource based on IFC documentation
...
documentation - https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcConstructionResource.htm#Table-7.3.3.7.1.3.H
e.g. - https://i.imgur.com/PklMyfq.png (previously all quantity types were available for all resources)
2024-05-27 17:30:51 +05:00
Andrej730
d9de967197
specify editing_resource_type values for clarity
2024-05-27 17:30:51 +05:00
Dirk Olbrich
e57076c84f
[BBIM] Add preference option for default startup workspace, remove ambiguous wording ( #4749 )
...
* [BlenderBIM] change ambiguous wording from preferences
* [BlenderBIM] add option for BIM as default workspace
* [BlenderBIM] revert variable name change
2024-05-27 22:19:02 +10:00
Andrej730
75e6495999
load and link ifc files by drag'n'drop 🥳
...
Example - https://imgur.com/a/kIiqk3R
Now you can drag'n'drop files to Blender and they will get loaded as projects (currently there is no safe check whether current project is saved) or you can hold ALT while drag'n'dropping and link single or multiple IFC files.
Actually, it's possible to set it up that way so multiple files won't need ALT modifier (as we can't load multiple projects, only link them) but I've kept ALT modifier for that case too to avoid confusing situations.
Blender 4.1+ only as there wasn't bpy.types.FileHandler before.
2024-05-27 16:16:57 +05:00
Dion Moult
fcf07bebfb
Minor doc fix for IfcPatch ConvertLengthUnit
...
Helps indicate how to get the patched model - it's not an inplace patch
2024-05-27 17:30:17 +10:00
Dion Moult
f190ddcd92
Move all N panels back into the scene tabs. No more panels spread around!
...
Qto, 4D tools, 5D tools now in the Costing/Scheduling tab. The misc panel is now in the sandbox. Git history panel is now with the main Git panel.
2024-05-27 17:29:51 +10:00
Dion Moult
39a841fb4e
Fix #3174 . Toggling edit mode no longer pops up annoying "do you want to save" dialog.
...
The default is now everything is saved which should be 90% of the usecase. If you want to discard changes, there is now a button in the top right next to the IFC mode.
2024-05-27 13:09:47 +10:00
Dion Moult
bdfd0c4aa7
Minor fix to IfcCityJSON and migrate IfcCityJSON docs to sphinx
2024-05-27 12:24:55 +10:00
Dion Moult
37b14f2a3d
Document difference between COBie 2.4 and COBie 2.4 Legacy in IfcFM
2024-05-27 11:59:25 +10:00
Dion Moult
70a4af2605
Fix #4740 . Bug where building element proxies didn't work for the auto calculate all button.
2024-05-27 11:02:23 +10:00
Dion Moult
7142f3856c
Add documentation for some unit utilities
2024-05-27 09:42:28 +10:00
Ryan Schultz
f2ca030fab
fix #4311 : turn off local view when activating drawing
2024-05-26 18:27:44 -05:00
Dion Moult
37cacfcd06
Fix #4728 . Bug where changing class doesn't work with IfcCSV if it didn't need to change anything.
2024-05-26 21:57:23 +10:00
ppaawweeuu
3e31309384
Update selector_syntax.rst - links to regex resources ( #4741 )
...
* Update selector_syntax.rst
add links to regex resources
* Update selector_syntax.rst
links misspelling change
* Update selector_syntax.rst
one misspealling more
* Update selector_syntax.rst
small misspelling in thousands separator location
2024-05-26 20:14:41 +10:00
Dion Moult
a19b7614fa
Fix #4737 . Bug where loading profiles with a non-mesh selected would lead to trouble.
2024-05-26 20:12:12 +10:00
Dion Moult
763ee9198d
See #3847 . Preliminary support for including linked models when generating drawings.
2024-05-26 18:29:26 +10:00
Dion Moult
9ec8035a8d
Add support for manual classification references for materials
2024-05-26 17:10:27 +10:00
Dion Moult
687bb32e37
Move material classification into scene tab. No more panels in the material tab!
2024-05-26 16:33:53 +10:00
Sigma Dimensions (Yass)
4279b769aa
fix bcf viewpoint setup
2024-05-26 03:44:35 +01:00
Dion Moult
9a59b8cdae
Material psets now include category-specific psets and docstrings
...
Previously it was not possible to get concrete / steel material psets. Yikes!
2024-05-26 11:23:08 +10:00
Dion Moult
b9b0e81d25
Move object materials panels further up and profile panel down
...
Object materials panel is much more important and shouldn't be below the material manager.
2024-05-26 10:04:17 +10:00
Dion Moult
80d31b4e1a
Move material psets to material manager.
2024-05-26 09:59:01 +10:00
Ryan Schultz
dac9bfe3d4
Add backticks to copied error message
2024-05-25 10:37:52 -05:00
Ryan Schultz
58a7ef62d7
fix #4729 : add a description and category when creating a new material
2024-05-25 09:49:15 -05:00
Dion Moult
d2198568b2
Deprecate old style panel in the material tab and port over "unlink" operator.
...
All the functionality is now possible with the style manager and prevents the user needing to know how Blender materials work or wrangle nodes themselves and magically have to comply with the glTF spec.
2024-05-25 23:30:18 +10:00
Dion Moult
b087aa09d9
Deprecate old material panel in the material tab and reimplement material duplication in the material manager
...
The material duplication now 1) actually creates a new blender material 2) uses the API to duplicate. One less panel outside our scene tab.
2024-05-25 15:15:12 +10:00
Dion Moult
fd62ba63a5
Do not copy presentation styles when copying a material
...
Ideally, presentation styles are reused. For example, 5 types of concrete can all use the same presentation
2024-05-25 15:14:07 +10:00
Dion Moult
16c5fd56ca
You can now copy a material list
2024-05-25 15:13:36 +10:00
Dion Moult
d85f9af790
The API can now copy material sets too
2024-05-25 14:42:45 +10:00
Dion Moult
2f071bd809
Material total now shows the total of the select material class, not all material classes
...
This is more meaningful. Often the presence of sets will inflate the number artificially.
2024-05-25 14:11:48 +10:00
Andrej730
7a44f9e8a7
different columns for different cost schedules #4724
...
though columns are still stored in .blend file and not in .ifc
Example - https://imgur.com/a/N6epGZ4
2024-05-24 19:15:51 +05:00
Andrej730
59a19a1a70
disable adding cost schedule columns with an empty name
...
example - https://i.imgur.com/5lGdI2X.png
2024-05-24 19:15:51 +05:00
Andrej730
6a8b59f2cf
remove unused code
...
1) core.enable_editing_task was outdated, tool.enable_editing_task doesn't exist
2) tool.get_task_outputs was duplicated
2024-05-24 19:15:51 +05:00
Andrej730
ec28d3d0af
black format
2024-05-24 19:15:51 +05:00
Andrej730
f576aadee1
typing
2024-05-24 19:15:51 +05:00
Andrej730
fffd7360cb
fix for d4ccadb
...
forgot to add it to global namespace
2024-05-24 19:15:43 +05:00
Andrej730
64ea455c01
move update_simple_openings to tool.Model
2024-05-24 16:52:33 +05:00
Andrej730
cf635986a6
same openings generator for non-/parametric doors/windows #4710
2024-05-24 16:51:37 +05:00
Andrej730
ac8040008a
small refactor
2024-05-24 16:51:37 +05:00
Andrej730
df15a37127
fix core.root.assign_class error after 3884403 #4719
2024-05-24 15:22:55 +05:00
Andrej730
6d887d593e
fix issues running core tests after 37c008487
2024-05-24 15:20:12 +05:00
Andrej730
fa87092fe0
Keep 1.2m minimum opening thickness instead of using wall thickness
...
That way there will be a workaround if the wall is 0.6m+ meters thick but won't have an issue when you first added a window to a thin wall and it's opening later won't work for the thicker walls.
Mentioned in #4710
2024-05-24 12:10:40 +05:00
Andrej730
1a4e4678d0
assign/unassign resource operators tooltips
...
also removed couple unused properties
2024-05-23 18:45:31 +05:00
Andrej730
7f2c7eb467
python 3.9 compatibility
2024-05-23 18:45:31 +05:00
Andrej730
c70745826a
rename bim.export_ifc to bim.save_project (similar to bim.load_project)
...
note that old name "export_ifc.bim" is still available (cacb38a25 ) though deprecated
2024-05-23 18:45:30 +05:00
Andrej730
291bffca95
add tooltip for cost schedule columns
...
example - https://i.imgur.com/Uh8D7Vg.png
2024-05-23 18:45:30 +05:00
Andrej730
e5a316e509
fix api calls error handling
...
by accident replaced in f2696d5 TypeError with NotImplementedError
2024-05-23 18:45:30 +05:00
Andrej730
e4aa97091e
fix bug removing cost schedule columns
...
it was using _execute though it's not an ifc operator
2024-05-23 18:45:30 +05:00
Andrej730
b4f0a346c1
fix couple broken properties definitions
...
There was no errors but Blender seems to ignore the provided name if it was provided as a positional argument instead of a keyword argument.
2024-05-23 18:45:30 +05:00
Andrej730
073e471305
typing
2024-05-23 18:45:30 +05:00
Andrej730
4d9f47b3a7
make it more clear that bim.export_cost_schedules is expecting a folder
...
1) add folder filter
2) remove filepath property - that way only directories will be selectable in the file dialog.
2024-05-23 18:31:59 +05:00
Andrej730
96088c1d08
fix ui error in 40e4949
...
bim.add_manual_classification_reference operator doesn't have a "type" property, only "obj_type"
2024-05-23 18:31:59 +05:00
Dion Moult
c405ff1adf
Fix unassign_representation to not incorrectly use remove_deep without first removing known inverses.
...
In theory, it would be possible for the representation map to be used elsewhere, then file.remove(representation_map) would cause problems.
2024-05-23 23:08:53 +10:00
Dion Moult
02cae9c7c2
Continue to revise optimisation of remove_deep to fix failing tests after a8729933
2024-05-23 22:54:19 +10:00
Dion Moult
3c42962635
Fix #4716 . Fix bug where IfcTester fails to verify negative numbers.
2024-05-23 21:40:19 +10:00
Thomas Krijnen
90ae709156
Wrapping of mapping
2024-05-23 13:06:57 +02:00
Dion Moult
0336dbabf7
Fix #4722 . Things like type elements are not allowed to have openings applied to them.
2024-05-23 20:41:15 +10:00
Dion Moult
a8729933af
Optimise remove_deep, which can make removing lots of elements 100x faster in scripts.
2024-05-23 20:15:09 +10:00
Andrej730
993ce46fcc
improve ux for assigning cost item to product types
...
1) also consider active object as selected when assigning / unassigning cost item to product types. Typically types are hidden and if you select some type in outliner it will become active but still not selected. Now it will be possible to add this active object without unhiding the entire Types collection.
2) info messages to make UI more responsive
2024-05-23 12:13:19 +05:00
Dion Moult
edfd446833
Allow custom qtos without a template
2024-05-23 15:17:08 +10:00
Dion Moult
87c184ef8a
Easily add custom psets and props without needing to create a template first
...
This is not best practice but is useful for quick and dirty properties.
2024-05-23 13:28:59 +10:00
Richard Brice
579768c35f
Fixes problem with cant values
2024-05-22 13:51:55 -07:00
Andrej730
e9b9113df8
small fix for 1aaccba80
2024-05-22 21:41:07 +05:00
Thomas Krijnen
f772a53dd5
Update ci.yml
2024-05-22 17:29:15 +02:00
Thomas Krijnen
85c6b6c4da
Update ci.yml
2024-05-22 15:58:34 +02:00
Andrej730
1aaccba803
simpler way to check if enum property is valid
...
Well, it's simpler to use but not really simpler in implementation 😅
Thanks to @Gorgious56 for helping out
Hopefully, it's a farewell to those annoying warnings
see https://blenderartists.org/t/best-way-to-handle-dynamic-enum-items-without-pyrna-enum-to-py-current-value-matches-no-enum
2024-05-22 18:44:12 +05:00
Andrej730
f2eb08a066
typing
2024-05-22 17:43:05 +05:00
Andrej730
f460676e54
fix calculating cost summary #4704 (was confusing 0 qty and no qty)
...
similar to 295d0a677
2024-05-22 17:37:32 +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
Thomas Krijnen
53d02446bf
Update ci.yml
2024-05-22 13:13:18 +02:00
Dion Moult
5a82d7a9d4
Refactor enabling pset editing operator into core/tool
2024-05-22 20:52:43 +10:00
Richard Brice
a976e63def
Fixes divide by zero error for zero-length segments. See Issue #4713 .
2024-05-21 16:22:44 -07:00
Dion Moult
69c197c1a4
get_psets utility now defaults to merging duplicate psets instead of overriding
...
This behaviour is more comprehensive for broken data and now consistent for types and materials.
2024-05-22 08:12:38 +10:00
Ryan Schultz
4027f28c85
Can bim.select_similar from the pset or attribute panels ( #4611 )
2024-05-21 10:30:38 -05:00
Bruno Perdigão
3a1154c4ba
Merge pull request #4597 from IfcOpenShell/linked_aggregate_operator_from_panel
...
when bpy.ops.bim.object_duplicate_move_linked_aggregate is called fro…
2024-05-21 10:45:49 -03:00
Dion Moult
aeb1e4bf49
See #4696 . Allow editing of properties that do not comply with the pset template definition.
...
Strictly speaking, the only properties that should exist in a pset should be those in a pset template. However, there are situations where this is not the case, such as when the pset template has since been modified, or if there is invalid data coming from other software, or migrating between schemas. In this case, we should still load the property, and give the user the option to edit it (or null it).
2024-05-21 23:06:15 +10:00
Andrej730
4fb34c0816
base autogenerated opening thickness on wall thickness #4710
2024-05-21 17:54:51 +05:00
Andrej730
9b562669d2
fix root.create_entity skipping setting up defaults on ifc4x3
2024-05-21 17:54:08 +05:00
Andrej730
295d0a677e
cost schedule - prohibit adding multiple quantity types on 1 cost item
...
All IfcCostItem.CostQuantities supposed to use only 1 type of quantity, so they can be added up.
Changed UI to reflect that requirement - dropdown for selecting quantity type is now only visible if cost item has no quantities, otherwise it just reuses already used quantity type.
See https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCostItem.htm
Before - https://i.imgur.com/gFlwHEk.png
After - https://i.imgur.com/pk3wXfe.png
2024-05-21 17:54:07 +05:00
Andrej730
9aacafd575
fix bug with cost schedules confusing 0 quantity with no quantities
...
a bit related to #4704
1) fixed util.cost.get_total_quantity
2) fixed similar issue in cost.data that calculates the final value that user will see in UI
3) changed UI, "-" is shown when there are no quantities and "0" is when quantities are there but they just equal to zero.
Before - https://i.imgur.com/EO53DhM.png
After - https://i.imgur.com/H6rK4sP.png
fyi @myoualid
2024-05-21 17:54:07 +05:00
Andrej730
ce6ce1b975
bim.assign_cost_item_type name change
2024-05-21 17:54:07 +05:00
Andrej730
d064ef1237
black format
2024-05-21 17:53:46 +05:00
Andrej730
2db9bd9c39
fix errors adding occurrences from type manager #4702
...
Errors occurred if occurrence type wasn't matching current tool's type. E.g. if you would add an IfcRoofType being in a Slab Tool.
2024-05-21 17:53:42 +05:00
Andrej730
7622504d68
avoid even more invalid enum warnings...
...
warnings like `pyrna_enum_to_py: current value '17' matches no enum in 'BIMModelProperties', '', 'relating_type_id'`
2024-05-21 17:53:42 +05:00
Andrej730
221dd9a7a2
typing
2024-05-21 17:53:42 +05:00
Andrej730
1b74a99667
use delete_ifc_object removing a type
...
It was acting a bit different - e.g. leaving mesh representation from type on occurrences leaving to lots of errors. Though there is still #3931
2024-05-21 17:07:32 +05:00
Richard Brice
a45f6f980f
Prevents divide by zero when clothoid constant is 0.0
2024-05-20 13:17:18 -07:00
Dion Moult
9122f006c7
Deprecate material attributes panel in favour of new material manager.
2024-05-20 23:21:13 +10:00
Andrej730
678dbaa66a
nest api to maintain order of related objects #4698
...
order of objects in .RelatedObjects is important (e.g. for cost items, it's the order of their appearance), so we should maintain it and cannot use sets for .RelatedObjects
2024-05-20 17:19:00 +05:00
Andrej730
fb88499197
ifc5d - check for mandatory fields in csv header
2024-05-20 17:19:00 +05:00
Andrej730
f84adf67cd
typing
2024-05-20 17:19:00 +05:00
Andrej730
cacb38a251
maintain "bim." as operators bl_idname prefix for BlenderBIM
...
1) removed unused operator import_ifc.bim
2) marked export_ifc.bim as deprecated
2024-05-20 17:19:00 +05:00
Andrej730
7c6c01e6b9
fix python 3.10 loading issue after bb8e84e
...
The error is below.
It was failing because Callable was checking if `ifcopenshell.entity_instance` is a callable and at runtime actually it's not, it's a module.
In python 3.11 they've removed that check and therefore it's not throwing an error. Enabling forward annotations fixes it for python 3.10.
Not sure if there is a need to ensure `ifcopenshell.entity_instance` should be recgonized by python as a class at runtime rather than a module since we need it just for type checking and type checking seems to be clever enough to prioritize module classes over submodules.
File "C:\Users\user_name\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\blenderbim\bim\__init__.py", line 25, in <module>
from . import handler, ui, prop, operator, helper
File "C:\Users\user_name\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\blenderbim\bim\handler.py", line 23, in <module>
import ifcopenshell.api.owner.settings
File "C:\Users\user_name\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\blenderbim\libs\site\packages\ifcopenshell\__init__.py", line 85, in <module>
from .file import file
File "C:\Users\user_name\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\blenderbim\libs\site\packages\ifcopenshell\file.py", line 179, in <module>
class file:
File "C:\Users\user_name\AppData\Roaming\Blender Foundation\Blender\4.0\scripts\addons\blenderbim\libs\site\packages\ifcopenshell\file.py", line 382, in file
def __getattr__(self, attr) -> Union[Any, Callable[..., ifcopenshell.entity_instance]]:
File "C:\Program Files\Blender Foundation\Blender 4.0\4.0\python\lib\typing.py", line 1206, in __getitem__
return self.__getitem_inner__(params)
File "C:\Program Files\Blender Foundation\Blender 4.0\4.0\python\lib\typing.py", line 312, in inner
return func(*args, **kwds)
File "C:\Program Files\Blender Foundation\Blender 4.0\4.0\python\lib\typing.py", line 1212, in __getitem_inner__
result = _type_check(result, msg)
File "C:\Program Files\Blender Foundation\Blender 4.0\4.0\python\lib\typing.py", line 176, in _type_check
raise TypeError(f"{msg} Got {arg!r:.100}.")
TypeError: Callable[args, result]: result must be a type. Got <module 'ifcopenshell.entity_instance' from 'C:\\Users\\user_name\\AppData\\Roaming\\Blender F.
2024-05-20 13:17:17 +05:00
Andrej730
4e462a3cf7
use .alert in fatal loading error UI to draw more attention ( 3320acc)
...
https://i.imgur.com/5ZukO0b.png
we probably will need to use 1 method for both error UIs at some point 😅
2024-05-20 12:47:09 +05:00
Andrej730
e7f4c6c9cc
update error UI similar to 7bf8c0bbf
2024-05-20 12:34:56 +05:00
Dion Moult
7bf8c0bbfb
Fix #4686 . Automatically derive correct download URI if add-on fails to install.
2024-05-20 16:32:42 +10:00
Dion Moult
c4157673f5
Fix #4696 . Null properties are now purged by default to prevent cruft build up. Add support for purging empty enum props.
2024-05-20 16:04:27 +10:00
E Shattow
16285e0625
Update installation.rst refering to System not Import-Export
...
Blender BIM addon is listed by Blender 4.1 as `System: BlenderBIM`
2024-05-20 10:57:38 +05:00
Dion Moult
a07d3b9669
Fix #4633 . Only update the text value of the object, not try to be clever with types and occurrences.
...
Previously, we were clever in detecting types and occurrences because if you edited a type, you wanted all occurrences to be updated. Now, we no longer need to be clever because like any other UI element, the annotations shown in the active view are updated after every IFC operation.
2024-05-20 14:12:03 +10:00
Dion Moult
2d0b356203
See #4690 . User can now configure font and font-scaling in schedules.
2024-05-20 12:00:59 +10:00
Dion Moult
f666053b63
Use pip instead of hardcoding bcf packages during build. See #4640 .
2024-05-19 23:50:57 +10:00
Dion Moult
3bdc969efb
Fix #4690 . User can now configure the font used to render viewport text.
2024-05-19 23:36:38 +10:00
Bruno Postle
932817877c
Fix CPack source tarball generation
...
This was broken, now a IfcOpenShell-0.7.0.tar.gz file can be created
like so:
mkdir build
cd build
cmake ../cmake/ -DEXTRA_VERSION=
make package_source
2024-05-19 13:29:26 +01:00
Andrej730
cb255a18b9
fix error editing pset templates when you just opened ifc file
...
It was failing with an error below if you'd try to edit any property since `primary_measure_type()` returned `[]` because it was executed before `pset_templates()` and `IfcStore.pset_template_file` wasn't yet set.
```python
Error: Python: Traceback (most recent call last):
File "\blenderbim\bim\module\pset_template\operator.py", line 146, in execute
props.active_prop_template.primary_measure_type = template.PrimaryMeasureType
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: bpy_struct: item.attr = val: enum "IfcLabel" not found in ()
```
2024-05-18 11:24:10 +05:00
Andrej730
183028570e
bump xsdata in blenderbim after 87c9bbe2a #4640
2024-05-18 01:49:56 +05:00
Andrej730
341cdd4ef7
fix error updating curve representations after 3fa573e #4685 #4682
2024-05-17 17:40:13 +05:00
Andrej730
fe68e16ca3
bim.update_representation - error if add_representation didn't worked
2024-05-17 17:31:01 +05:00
Andrej730
a8f0c90d47
set_element_value - fix issues with classification, similar to 52ae759
2024-05-17 17:31:01 +05:00
Andrej730
39f550529b
experimental - set_element_value to throw exception for invalid queries
2024-05-17 17:31:01 +05:00
Andrej730
25c1a14e64
set_element_value - pass attr value to the next part of the query #4495
...
E.g. previously set_element_value with query "material.item.Material.Name" would fail with error "Material property is expecting an IFC entity and not a string".
But now it will detect that "Material" property is not a last key in the query and will pass `.Material` value forward and try to set it's `.Name` attribute with value.
The main goal is to make sure get_element_value and set_element_value would have a same result for same queries.
2024-05-17 17:31:01 +05:00
Andrej730
9f7d710119
fix set_element_value bug #4495
2024-05-17 17:31:01 +05:00
Andrej730
ea592775e4
fix set_element_value setting bool attributes with "False" str value
2024-05-17 17:31:01 +05:00
Andrej730
42be4eb064
typing
2024-05-17 17:31:01 +05:00
Hilko
8662e20c58
remove unused include #4620
2024-05-17 10:26:04 +02:00
Andrej730
da4ce3773f
bcf - fix xsdata warning about deprecated argument in SerializerConfig
...
`pretty_print` was deprecated in 24.2 (https://github.com/tefra/xsdata/commit/2b01dbf6cf586e7d64e93ec7045dc17d2585e0de ) and replaced with `indent`
2024-05-17 11:57:46 +05:00
Andrej730
87c9bbe2a7
Fix bcf due xsdata update #4680
...
After https://github.com/tefra/xsdata/commit/93a8ca0548d1f7badb628ad9fd0327672abe140b
`parser.register_namespace("xs", "http://www.w3.org/2001/XMLSchema ")` started failing with `TypeError: PushParser.register_namespace() missing 1 required positional argument: 'uri'` since xsdata added a new argument `ns_map` (previously it was always using `parse.ns_map` under the hood, now it allows to provide some external dictionary). We just restore the original behaviour with internal `ns_map` by providing it explicitly.
Specified xsdata version after that change in pyproject.toml.
Also `serialize()` is now using `parser.ns_map` as a fallback value (otherwise why we do `parser.register_namespace` if we never used the `parser.ns_map`?)
2024-05-17 11:46:53 +05:00
Andrej730
a66ee06e3d
dev environment - add bcf
2024-05-17 11:42:06 +05:00
Andrej730
9969de58cb
add a console toggle to error message section
2024-05-16 18:14:07 +05:00
Andrej730
6995cafe63
bim.split_along_edge fixes #4675
...
1) description to emphasize that active object will be the one that's cutting
2) skip non-ifc elements, previously they failed to process with error `AttributeError: 'NoneType' object has no attribute 'RepresentationType'`. Also skip objects without representations.
3) add an info message at the end
Here's a short gif in case if anyone doesn't about that feature: https://imgur.com/a/338w7jx
2024-05-16 18:14:06 +05:00
Andrej730
eaa80ad08a
fix issue getting styles if object had empty mat slots
...
Occurred only with only_assigned_to_faces = True
A bit related to #4675
Error was
styles = [style for style, usage in zip(styles, usage_count, strict=True) if usage > 0]
ValueError: zip() argument 2 is longer than argument 1
2024-05-16 18:14:06 +05:00
Andrej730
d001180082
remove unused code
2024-05-16 18:14:06 +05:00
Andrej730
3884403231
typing
2024-05-16 18:14:06 +05:00
Andrej730
8d4b5d83e1
same as e1250f217
2024-05-16 16:13:22 +05:00
Andrej730
e1250f2177
fix saving debug info to clipboard #4675
...
now we just rely on blender to make it crossplatform
2024-05-16 16:00:38 +05:00
Andrej730
a2ee920a5f
fix group.update_group_products to work with multiple rels
2024-05-15 17:18:34 +05:00
Andrej730
fdbe74a432
maintain snake in api calls
...
there were only two methods using camel case for arguments
2024-05-15 17:18:34 +05:00
Andrej730
4e39fb3edd
fix issue adding layers (name is not optional in ifc)
2024-05-15 17:18:34 +05:00
Andrej730
c2049246cd
fix issue adding classification failing to use a None value for the date
2024-05-15 17:18:34 +05:00
Andrej730
335e2b7a78
ifc2x3 tests
2024-05-15 17:18:34 +05:00
Andrej730
bb8e84e5ec
typing
2024-05-15 17:18:33 +05:00
Andrej730
2fa30be0d0
small optimization for da1bdc802
...
On large projects predict dense mesh stage can take 20s+ and reusing attribute value can save up to half of this time.
Using indices also helps but it's not that significant and sometimes it's the same time as using attribute names.
2024-05-14 18:19:13 +05:00
Bruno Perdigão
c50149ad87
added 'product' parameter to a few usages of 'pset.remove_pset' after ebd03e9
2024-05-14 17:48:05 +05:00
Dion Moult
da1bdc802d
Accommodate invalid models coming from Cadwork
2024-05-14 16:16:18 +10:00
Andrej730
a9cba30da6
ifc2x3 tests
...
removed part of test_append_two_type_products_sharing_the_same_material_indirectly_via_a_material_set for ifc2x3 compatibility and removed part is already tested in test_append_two_type_products_sharing_the_same_material_with_properties
2024-05-13 18:01:18 +05:00
Andrej730
3665dda87c
library.remove_library, remove_reference to support ifc2x3
2024-05-13 18:01:18 +05:00
Andrej730
f2696d5352
avoid confusing TypeErrors from api calls
...
After ab5ea4c85 it was always throwing wrong singature errors like below even if TypeError was caused by some internal issues inside API - it was adding couple extra steps to traceback making errors more noisy.
TypeError: Incorrect function arguments provided for library.edit_library
attribute 'VersionDate' for entity 'IFC2X3.IfcLibraryInformation' is expecting value of type 'ENTITY INSTANCE', got 'str'.. You specified args (<ifcopenshell.file.file object at 0x0000027EB8E6BCD0>,) and settings {'library': #1=IfcLibraryInformation('Name','Version',$,$,$), 'attributes': {'Name': 'Name', 'Version': 'Version', 'VersionDate': 'VersionDate', 'Location': 'Location', 'Description': 'Description'}}
E
Correct signature is (file: ifcopenshell.file.file, library: ifcopenshell.entity_instance.entity_instance, attributes: dict[str, typing.Any]) -> None
See help(ifcopenshell.api.library.edit_library) for documentation.
2024-05-13 18:01:18 +05:00
Andrej730
5e394e1576
library.edit_library - support datetime for VersionDate attribute
2024-05-13 18:01:18 +05:00
Andrej730
ebd03e9290
typing
2024-05-13 18:01:17 +05:00
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
865dbab3ec
fix error removing array pset after c50d1ea2f
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
Gorgious56
3320accc7a
The error box is now drawn in red to draw attention to it
2024-05-13 12:00:01 +02:00
Gorgious56
ac686db298
Prevent error when user deletes all spatial structure elements and the spatial manager panel is expanded
2024-05-13 11:57:48 +02:00
Dion Moult
aca26c7597
Fix #4659 .
2024-05-12 17:16:50 +10: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
55026ca996
Fix #4616 . You can now create a new representation based off any other object. This makes it easy to custom model whatever you want as a starting point.
2024-05-11 22:29:39 +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
00ae6809a9
See #4657 . Fallback to copying cache if moving cache fails due to permission error.
2024-05-11 19:59:39 +10:00
Dion Moult
c3fbb11093
See #4657 . Restrict annotation psets to their particular predefined type.
2024-05-11 19:38:22 +10:00
Kurt Battisti
a0d27c3f1c
Make Whole status UI message clearer ( #4658 )
...
Replace UI text "No Aggregate" with "No Whole relation defined" to avoid misinterpretation when instance is a whole with parts.
2024-05-11 19:04:35 +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
94e5baf48a
Fix #4647 . Better error reporting if the user tries to activate a drawing that isn't available.
2024-05-11 19:01:21 +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
Dion Moult
e7eb00eaa3
See #4652 . Fix bug where auto-detection of a false origin could be incorrect
...
We were incorrectly multiplying a shape matrix in SI units with a vertex in project units. We also didn't do a final check whether or not that final resultant coordinate was far away or not (for example, origin and vertex can cancel each other out)
2024-05-10 23:28:37 +10:00
Dion Moult
cd6eac3c8f
See #4652 . Fix bug where using create_mesh won't work if you pass it a triangulation.
2024-05-10 22:39:56 +10:00
Dion Moult
69e21da60c
Minor naming changes in IfcFM to be more true to IFC jargon
2024-05-10 22:13:39 +10:00
Dion Moult
57b905862a
Fix #4650 . When the bbim build hotfixes the bot build, it should replace, not copy over.
2024-05-10 18:20:41 +10:00
Dion Moult
51d3a2b77b
Whoops
2024-05-10 16:16:43 +10: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
4c8f93d737
Add error catching to model loading and let users hide error dialog
2024-05-09 16:33:05 +10:00
Dion Moult
2789bc565a
Write troubleshooting documentation
2024-05-09 16:21:24 +10: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
b57141a80c
New type of IfcTester report which doesn't require audit to be run to see a spreadsheet view of requirements
2024-05-09 10:46:57 +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
37c0084874
Friendlier error reporting if bbim fails to install
2024-05-08 22:26:54 +10:00
Andrej730
875afd69d5
skip objects without placements importing containers
...
It seems that IFC doesn't specify that IfcRelAggregates.RelatedObjects should necessary have a placement. E.g. FreeCAD is using IfcGroups in RelatedObjects to store hierarchy in IFC.
Example - https://community.osarch.org/discussion/2144/object-information-spatial-container
2024-05-08 13:47:11 +05:00
Andrej730
67f4ed00d0
fix couple silent bugs importing containers
...
1) we were setting OwnerHistory to the "elevation" attribute of SpatialElement (in BIMSpatialProperties.containers)
2) we were setting "elevation" attribute at all when SpatialElement doesn't have "elevation" attribute
Though those bugs were silent since PropertyGroup doesn't alarm when we add a completely new attribute to it.
2024-05-08 13:47:11 +05:00
Dion Moult
10d30b0de7
Document api modules and require explicit imports of API submodules
2024-05-08 17:00:35 +10:00
Bruno Perdigão
1110f0cffb
Merge branch 'v0.7.0' into linked_aggregate_operator_from_panel
2024-05-07 21:00:03 -03:00
Bruno Perdigão
66e829a8aa
- Fix the basepoint to be the parent aggregate.
...
- Change the way that "location_to_cursor_3d" is called.
- Create a new operator to use in the ui.
2024-05-07 20:56:12 -03:00
Dion Moult
984b1212a6
Whoops
2024-05-08 09:45:12 +10:00
Andrej730
bc72c927c1
replace deprecated api call
...
noticed fixing #4632
2024-05-07 21:41:01 +05: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
Ryan Schultz
c5b4513f65
fix #4622 - can now reassign IfcWindowStyle and IfcDoorStyle
2024-05-07 09:46:55 -05:00
Dion Moult
5da4fbb39c
Fix #4631 . Fix packaging problem on PyPI for IfcPatch.
2024-05-07 23:36:56 +10: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
26434f0331
Fix #4589 . Symlink entire ifcopenshell dir for dev setups.
2024-05-07 15:51:48 +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
28d205b4a3
show info message on saving/loading csv from bbim
2024-05-06 18:56:20 +05: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
Andrej730
3b90086109
Fix loading search queries with exclusion #4609
...
It was failing to load queries like "!IfcWall" or "!2Mg7PHubX0xxOfF0DdA9Wd"
2024-05-06 17:06:10 +05:00
Gorgious56
30b870b98d
Fix #4617 : Switching representation in edit mode is no longer possible
2024-05-06 13:20:33 +02:00
Thomas Krijnen
b3e7975b83
Consider material profile set in single material determination
2024-05-06 13:18:05 +02:00
Andrej730
8f7f6223de
unlink pasted blender objects if there is no active ifc file #4619
2024-05-06 15:03:27 +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
Ryan Schultz
10f894e2ea
Find the "Types" Collection regardless of the IfcProject.Name
2024-05-05 20:46:07 -05:00
Ryan Schultz
34bbc8f1ea
for 'Add Fitting' changed the hot key from Shift+F to Shift+Y. per https://community.osarch.org/discussion/2124/ui-discussion-around-add-fitting-and-add-bend
...
Also added Shift+F (bim.flip_object) to all profile-based objects
2024-05-05 19:20:13 -05:00
Dion Moult
a213ab6760
Fix docstrings to reference datatype as it would be used for users
2024-05-06 08:39:48 +10:00
Ryan Schultz
d694d8fcc2
fix #4610 : bim.select_type() from type launcher throws error
2024-05-05 13:16:30 -05:00
ppaawweeuu
5f2d451c5e
Update selector_syntax.rst ( #4618 )
...
info about 'Must contain..' and 'Must not contain..' comparisons added
2024-05-05 23:40:32 +10:00
Dion Moult
ab696b980a
See #2693 . Expose static functions of IfcOpenShell API.
2024-05-05 16:26:41 +10:00
Andrej730
9f2df7fb9d
preview external shading style as material is selected from other .blend file
...
previously it required to save external style attributes to preview the changes, now it's couple clicks saved if you want to preview different blender materials for your styles
2024-05-03 17:55:30 +05:00
Andrej730
9e5c3ff675
fix bug appending blender material when style.Location isn't .blend
...
it wasn't considering that .Location could be either None or not a .blend file and was failing in those cases
2024-05-03 17:38:04 +05:00
Andrej730
a67108e6c1
Reload current shading style after editing it #4567
...
Examples:
1) active shading type = EXTERNAL, now after changing it's SHADING attributes and accepting the changes, it will reload EXTERNAL shading back since it's the one that's active.
2) active shading type = SHADING, after adding EXTERNAL shader will reload SHADING style to the material.
2024-05-03 17:36:14 +05:00
Andrej730
b1706f2eac
fix error launching type manager in empty project
2024-05-03 16:28:10 +05:00
Andrej730
ac29e152bb
project.unassign_declaration - support batching #4474
2024-05-03 16:28:10 +05:00
Andrej730
de690a385c
project.assign_declaration - support batching #4474
2024-05-03 16:28:10 +05:00
Andrej730
a973b62918
small comment fix
2024-05-03 16:28:10 +05:00
Andrej730
92426a640a
bim.active_model not to unhide all types and drawings elements
2024-05-03 16:23:55 +05:00
Andrej730
93f8638a94
Use active camera drawing id for bim.create_drawing #4581
...
There was inconsistency between .poll and .execute on what use as active drawing.
2024-05-03 16:23:55 +05:00
Andrej730
16b0b1c3a5
Fix UI error #4575
2024-05-03 15:43:42 +05:00
Dion Moult
25fff3fdd0
Consolidate duplicate operators "Convert to Blender file" and "Purge IFC Links"
2024-05-03 17:02:05 +10:00
dependabot[bot]
0384de46a4
Bump pydantic from 1.10.7 to 1.10.13 in /src/opencdeserver/api/app ( #4585 )
...
Bumps [pydantic](https://github.com/pydantic/pydantic ) from 1.10.7 to 1.10.13.
- [Release notes](https://github.com/pydantic/pydantic/releases )
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md )
- [Commits](https://github.com/pydantic/pydantic/compare/v1.10.7...v1.10.13 )
---
updated-dependencies:
- dependency-name: pydantic
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-03 16:21:08 +10:00
Ryan Schultz
080f325557
extends bim.select_type by selecting multiple types from a selection of objects.
...
Also when the type is selected and turned on, all other types are automatically turned off.
https://imgur.com/a/DQUF0ai
2024-05-03 00:59:33 -05:00
Andrej730
86cc2bf39a
fix bug using "trace outlines" for reprsentation in ifc2x3
...
Mentioned in #4593
The error message was (it was trying to access curves from the original mesh instead of dummy curve object):
```
Error: Python: Traceback (most recent call last):
File "\blenderbim\bim\module\geometry\operator.py", line 46, in execute
IfcStore.execute_ifc_operator(self, context)
File "\blenderbim\bim\ifc.py", line 349, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\blenderbim\bim\module\geometry\operator.py", line 169, in _execute
core.add_representation(
File "\blenderbim\core\geometry.py", line 52, in add_representation
representation = ifc.run(
^^^^^^^^
File "\blenderbim\tool\ifc.py", line 34, in run
return ifcopenshell.api.run(command, IfcStore.get_file(), **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\blenderbim\libs\site\packages\ifcopenshell\api\__init__.py", line 172, in run
result = usecase_class(ifc_file, **settings).execute()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\blenderbim\libs\site\packages\ifcopenshell\api\geometry\add_representation.py", line 73, in execute
return self.create_plan_representation()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\blenderbim\libs\site\packages\ifcopenshell\api\geometry\add_representation.py", line 170, in create_plan_representation
return self.create_annotation2d_representation()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\blenderbim\libs\site\packages\ifcopenshell\api\geometry\add_representation.py", line 833, in create_annotation2d_representation
items = [self.file.createIfcGeometricCurveSet(self.create_curves(is_2d=True))]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\blenderbim\libs\site\packages\ifcopenshell\api\geometry\add_representation.py", line 492, in create_curves
curves = self.create_curves_from_curve_ifc2x3(is_2d=is_2d, curve_object_data=dummy.data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\blenderbim\libs\site\packages\ifcopenshell\api\geometry\add_representation.py", line 575, in create_curves_from_curve_ifc2x3
for spline in self.settings["geometry"].splines:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Mesh' object has no attribute 'splines'
```
2024-05-02 16:48:52 +05:00
Andrej730
c7effa3f25
More descriptive errors linking ifc files
2024-05-02 12:13:44 +05:00
Andrej730
be262eaef2
fix errors linking ifc2x3 projects
...
it was failing with something very verbose:
```
File "\blenderbim\bim\module\project\operator.py", line 1239, in execute
db = ifcpatch.execute(
^^^^^^^^^^^^^^^^^
File "\blenderbim\libs\site\packages\ifcpatch\__init__.py", line 80, in execute
patcher.patch()
File "\blenderbim\libs\site\packages\ifcpatch\recipes\ExtractPropertiesToSQLite.py", line 137, in patch
properties.append([i, "IFC Material", f"Layer {idx + 1} Name", item.Name])
^^^^^^^^^
File "\blenderbim\libs\site\packages\ifcopenshell\entity_instance.py", line 197, in __getattr__
raise AttributeError(
AttributeError: entity instance of type 'IFC2X3.IfcMaterialLayer' has no attribute 'Name'
Error: Python: Traceback (most recent call last):
File "\blenderbim\bim\module\project\operator.py", line 1239, in execute
db = ifcpatch.execute(
^^^^^^^^^^^^^^^^^
File "\blenderbim\libs\site\packages\ifcpatch\__init__.py", line 80, in execute
patcher.patch()
File "\blenderbim\libs\site\packages\ifcpatch\recipes\ExtractPropertiesToSQLite.py", line 137, in patch
properties.append([i, "IFC Material", f"Layer {idx + 1} Name", item.Name])
^^^^^^^^^
File "\blenderbim\libs\site\packages\ifcopenshell\entity_instance.py", line 197, in __getattr__
raise AttributeError(
AttributeError: entity inTraceback (most recent call last):
File "\Temp\tmpdggt3syt.py", line 9, in <module>
run()
File "\Temp\tmpdggt3syt.py", line 5, in run
bpy.ops.bim.load_linked_project(filepath="/Dormitory-ARC.ifc", false_origin="0,0,0")
File "\Blender\4.1\scripts\modules\bpy\ops.py", line 109, in __call__
ret = _op_call(self.idname_py(), kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Error: Python: Traceback (most recent call last):
File "\blenderbim\bim\module\project\operator.py", line 1239, in execute
db = ifcpatch.execute(
^^^^^^^^^^^^^^^^^
File "\blenderbim\libs\site\packages\ifcpatch\__init__.py", line 80, in execute
patcher.patch()
File "\blenderbim\libs\site\packages\ifcpatch\recipes\ExtractPropertiesToSQLite.py", line 137, in patch
properties.append([i, "IFC Material", f"Layer {idx + 1} Name", item.Name])
^^^^^^^^^
File "\blenderbim\libs\site\packages\ifcopenshell\entity_instance.py", line 197, in __getattr__
raise AttributeError(
AttributeError: entity instance of type 'IFC2X3.IfcMaterialLayer' has no attribute 'Name'
Location: \Blender\4.1\scripts\modules\bpy\ops.py:109
... truncatedUnregistered Snippets Library
BMAX Connector - UnRegistred!
An error occurred while processing your IFC.
Traceback (most recent call last):
File "\blenderbim\bim\module\project\operator.py", line 949, in execute
self.link_ifc()
File "\blenderbim\bim\module\project\operator.py", line 991, in link_ifc
self.link_blend(blend_filepath)
File "\blenderbim\bim\module\project\operator.py", line 953, in link_blend
with bpy.data.libraries.load(filepath, link=True) as (data_from, data_to):
OSError: load: \Dormitory-ARC.ifc.cache.blend failed to open blend file
Error: Python: Traceback (most recent call last):
File "\blenderbim\bim\module\project\operator.py", line 949, in execute
self.link_ifc()
File "\blenderbim\bim\module\project\operator.py", line 991, in link_ifc
self.link_blend(blend_filepath)
File "\blenderbim\bim\module\project\operator.py", line 953, in link_blend
with bpy.data.libraries.load(filepath, link=True) as (data_from, data_to):
OSError: load: \Dormitory-ARC.ifc.cache.blend failed to open blend file
Location: \Blender\4.1\scripts\modules\bpy\ops.py:109
Traceback (most recent call last):
File "\blenderbim\bim\module\project\operator.py", line 870, in execute
bpy.ops.bim.load_link(filepath=filepath, false_origin=self.false_origin)
File "\Blender\4.1\scripts\modules\bpy\ops.py", line 109, in __call__
ret = _op_call(self.idname_py(), kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Error: Python: Traceback (most recent call last):
File "\blenderbim\bim\module\project\operator.py", line 949, in execute
self.link_ifc()
File "\blenderbim\bim\module\project\operator.py", line 991, in link_ifc
self.link_blend(blend_filepath)
File "\blenderbim\bim\module\project\operator.py", line 953, in link_blend
with bpy.data.libraries.load(filepath, link=True) as (data_from, data_to):
OSError: load: \Dormitory-ARC.ifc.cache.blend failed to open blend file
Location: \Blender\4.1\scripts\modules\bpy\ops.py:109
```
2024-05-01 18:26:58 +05:00
Andrej730
523e51c775
use json serialization for #4599
...
changed my mind about 5410f14aa , probably better to use `json.dumps` to keep it consistent with how we serialize other attributes
2024-05-01 18:26:58 +05:00
Andrej730
5410f14aa1
ifc2sql - stringify psets list values #4599
2024-05-01 18:03:25 +05:00
Andrej730
45b2411c2b
Fix #4598 after 229c7285c
2024-05-01 17:43:31 +05:00
Andrej730
9f12091c7f
fix bug assigning materials
...
it was clearing all other blender materials - e.g. blender materials associated with representation items styles. Also had the same issue with affecting extra elements as with unassigning materials
2024-05-01 16:42:20 +05:00
Andrej730
bef5d3cca5
blenderbim - fix bug with unassigning material
...
When you would unassign material (e.g. implicitly by removing the object), it might have also removed materials slots from other occurrences of the same type.
Which may had some unexpected sideffects later on - as unassigned styles saving IFC project (BBIM unassigned styles based on a assumption that it was the user decision to remove the materials and related styles).
2024-05-01 16:42:20 +05:00
Andrej730
0f548eb93e
Indicate in UI if type material was overridden by occurrence material
...
Example - https://i.imgur.com/T1hidJg.png
+small optimization in material_name
2024-05-01 16:42:20 +05:00
Andrej730
374348bb81
IfcImporter small optimization
2024-05-01 16:42:20 +05:00
Andrej730
b42f6b1827
ifc delete to show time it took if it was more than 10 secs
2024-05-01 16:42:20 +05:00
Andrej730
addcf531f0
owner.update_owner_history - optimization
...
as it may be used very often
2024-05-01 16:42:20 +05:00
Andrej730
0ef683013a
RegenerateGlobalIds - more informative fixing duplicates
2024-05-01 16:42:20 +05:00
Andrej730
137a306269
typing
2024-05-01 16:42:20 +05:00
Andrej730
fc0ffd1c02
fix a typo #4596 😬
2024-05-01 15:40:45 +05:00
Bruno Perdigão
04172a87cb
when bpy.ops.bim.object_duplicate_move_linked_aggregate is called from the panel, the new objects are placed based on the 3d cursor position
2024-04-30 17:50:31 -03:00
Bruno Perdigão
97e0c43702
Merge pull request #4440 from brunoperdigao/fix-normal-duplication-of-linked-aggregate
...
Fix normal duplication of linked aggregate
2024-04-30 17:01:44 -03:00
Andrej730
8dde98f543
fix #4592 (after 0da3270)
...
Before IFC4 Shape Aspects counldn't be part of IfcRepresentationMap
2024-04-29 15:22:26 +05:00
Ryan Schultz
9962a0c905
small fix to previous commit. Solves https://github.com/IfcOpenShell/IfcOpenShell/commit/4b56b341243d6b0eed82e8533848b124e82e1344#commitcomment-141442796
2024-04-28 18:57:42 -05:00
Ryan Schultz
4b56b34124
Tweaked UI for Linked Aggregates https://imgur.com/a/rExISKO
2024-04-28 10:34:52 -05:00
Thomas Krijnen
f857c513c5
submodule
2024-04-28 10:17:57 +02:00
Kaare Hansen
41df6410bd
Comment std::cout causing console spam
2024-04-28 10:11:32 +02:00
Ryan Schultz
dcbd6a925d
small fix for #4361 . remove IfcProject for class iterator. See https://github.com/IfcOpenShell/IfcOpenShell/issues/4361#issuecomment-2081223615
2024-04-27 18:13:38 -05:00
Ryan Schultz
3848a21136
fix #4361 : Have the aggregate empty turn on too, if at least one object in the aggregate, is turned on as well
2024-04-27 11:31:39 -05:00
Andrej730
8af37cb4ec
Fix #4586 occurred after e14d96e6e
2024-04-27 12:03:56 +05:00
Ryan Schultz
44c28e9a4c
fix #4327 : reorder format as well
2024-04-26 20:48:59 -05:00
Ryan Schultz
677324927c
fix #4431 : prompt for name, when creating aggregate
2024-04-26 20:09:20 -05:00
Massimo Fabbro
d212344c54
Covering tool more user friendly UI ...
2024-04-26 17:19:28 +02:00
Massimo Fabbro
74da327803
Fix create space from cursor bug where spaces were created always in zero elevation
2024-04-26 17:19:28 +02:00
Massimo Fabbro
f021041b31
Remove the (maybe) unnecessary poll functions for spatial tool and cleaner error messages
2024-04-26 17:19:28 +02:00
Massimo Fabbro
c05d2df116
now spaces created with spatial tool have relative zero elevation origin point
2024-04-26 17:19:28 +02:00
Andrej730
2b926f7906
more descriptive error setting non-optional attributes with None
...
Example:
```
import ifcopenshell
import ifcopenshell.api.owner.settings
ifc_file = ifcopenshell.file(schema="IFC2X3")
ifc_file.createIfcOwnerHistory(OwningUser=None)
# Before:
# Traceback (most recent call last):
# File "\test.py", line 16, in <module>
# ifcopenshell.api.run("owner.create_owner_history", ifc_file)
# File "\ifcopenshell\api\__init__.py", line 172, in run
# result = usecase_class(ifc_file, **settings).execute()
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# File "\ifcopenshell\api\owner\create_owner_history.py", line 111, in execute
# return self.file.create_entity(
# ^^^^^^^^^^^^^^^^^^^^^^^^
# File "\ifcopenshell\file.py", line 350, in create_entity
# e[idx] = arg
# ~^^^^^
# File "\ifcopenshell\entity_instance.py", line 305, in __setitem__
# self.wrapped_data.setArgumentAsNull(idx)
# File "\ifcopenshell\ifcopenshell_wrapper.py", line 5285, in setArgumentAsNull
# return _ifcopenshell_wrapper.entity_instance_setArgumentAsNull(self, i)
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# RuntimeError: Attribute not set
# After:
# Traceback (most recent call last):
# File "\test.py", line 16, in <module>
# ifcopenshell.api.run("owner.create_owner_history", ifc_file)
# File "\ifcopenshell\api\__init__.py", line 172, in run
# result = usecase_class(ifc_file, **settings).execute()
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# File "\ifcopenshell\api\owner\create_owner_history.py", line 111, in execute
# return self.file.create_entity(
# ^^^^^^^^^^^^^^^^^^^^^^^^
# File "\ifcopenshell\file.py", line 350, in create_entity
# e[idx] = arg
# ~^^^^^
# File "\ifcopenshell\entity_instance.py", line 316, in __setitem__
# raise ValueError(
# ValueError: attribute 'OwningUser' is not optional for entity instance of type 'IFC2X3.IfcOwnerHistory'
```
2024-04-26 18:23:19 +05:00
Andrej730
3ac69043d6
bbim to provide default user and organisation in ifc2x3 #4574
...
previously every operation that would try to create owner history would fail with the error below if there wasn't IfcPersonAndOrganisation in the project.
2024-04-26 18:23:19 +05:00
Andrej730
f726708815
edit_object_placement - small optimizations
2024-04-26 18:23:19 +05:00
Andrej730
21e153087a
edit_object_placement - adherence support
...
Update edit_object_placement.py
2024-04-26 18:23:18 +05:00
Andrej730
31d85b715a
typing
2024-04-26 18:23:18 +05:00
Andrej730
344cc1fb7d
file.by_type docs note
2024-04-26 11:49:44 +05:00
Andrej730
1cea3d21e8
BBIM support importing IfcRelAdheresToElement #4565
2024-04-26 11:44:32 +05:00
Andrej730
640320f70d
shape_builder - create non-optional position for profiles in ifc2x3
2024-04-25 18:05:47 +05:00
Andrej730
29352092aa
fix issue creating 3d location for 2d placement in ifc2x3
2024-04-25 18:05:47 +05:00
Andrej730
5b877b549a
fix numpy typing #4579
...
On older numpy versions, np.ndarray was less forgiving and wasn't allowing passing 1 argument instead of required 2.
And turned out numpy doesn't yet have typing for shapes (https://github.com/numpy/numpy/issues/16544 ), so all matrices and other shapes specified as `npt.NDArray[np.float64]`.
Fixed type discrepancies for `get_edges` and `get_faces` and also had to fix `import_ifc` as Blender apparently has problems with storing np.int32 in custom attributes (https://projects.blender.org/blender/blender/issues/121072 ), tested that Blender is okay with np.int32 in other cases we had (addressing BMesh.verts[i] where `i` is np.int32).
2024-04-25 18:05:47 +05:00
Andrej730
721466c429
typing
2024-04-25 18:05:47 +05:00
Andrej730
cce2fee1fa
More descriptive error setting non-present attributes
...
Example:
```
import ifcopenshell
ifc_file = ifcopenshell.file(schema="IFC2X3")
# ifc_file.begin_transaction()
wall = ifc_file.createIfcWall()
wall.Identification = "25"
# Before:
# Traceback (most recent call last):
# File "test.py", line 4, in <module>
# wall.Identification = "25"
# ^^^^^^^^^^^^^^^^^^^
# File "\ifcopenshell\entity_instance.py", line 279, in __setattr__
# self[index] = value
# ~~~~^^^^^^^
# File "\ifcopenshell\entity_instance.py", line 293, in __setitem__
# method = self.method_list[idx]
# ~~~~~~~~~~~~~~~~^^^^^
# IndexError: list index out of range
# or this (if file had a transaction going)
# File "\ifcopenshell\entity_instance.py", line 279, in __setattr__
# self[index] = value
# ~~~~^^^^^^^
# File "\ifcopenshell\entity_instance.py", line 288, in __setitem__
# self.wrapped_data.file.transaction.store_edit(self, idx, value)
# File "\ifcopenshell\file.py", line 101, in store_edit
# "old": self.serialise_value(element, element[index]),
# ~~~~~~~^^^^^^^
# File "\ifcopenshell\entity_instance.py", line 283, in __getitem__
# raise IndexError("Attribute index {} out of range for instance of type {}".format(key, self.is_a()))
# IndexError: Attribute index 4294967295 out of range for instance of type IfcWall
# After:
# Traceback (most recent call last):
# File "test.py", line 4, in <module>
# wall.Identification = "25"
# ^^^^^^^^^^^^^^^^^^^
# File "ifcopenshell\entity_instance.py", line 283, in __setattr__
# raise AttributeError(
# AttributeError: entity instance of type 'IFC2X3.IfcWall' has no attribute 'Identification'
```
2024-04-25 18:05:47 +05:00
Andrej730
087d55f02a
fix editing sheets in ifc2x3 #4576
2024-04-25 18:05:47 +05:00
Andrej730
f1037de14d
small fix for 60a70f523
2024-04-25 18:05:46 +05:00
Ryan Schultz
4711672170
small tweak to 3ff31b577c and cd013079f4 - duplicate material and duplicate style have '_copy' suffix.
2024-04-24 21:48:26 -05:00
Bruno Postle
c0b4e099af
fix sheet regeneration missing drawing Identifier
...
Was passing LAYOUT document reference to sheeter instead of
DRAWING document reference
2024-04-24 23:05:44 +01:00
Andrej730
f41fbf24c3
small fix for e14d96e6e
2024-04-24 18:19:20 +05:00
Andrej730
e14d96e6ee
Use .Name instead of .Description if IFC2X3 for sheets #4576
...
As Description was added only in IFC4
2024-04-24 18:17:37 +05:00
Andrej730
716a33f347
convert_file_length_units - fix issue converting to imperial units
...
ifcpatch ConvertLengthUnit - change used units from plural to singular names, to make it consistent across the api
more test coverage - test converting to more units and back from them
2024-04-24 15:15:30 +05:00
Andrej730
c5f084a4af
ConvertLengthUnit test
2024-04-24 14:12:13 +05:00
Andrej730
606a0b46f2
MergeProject - support merging projects with different units
2024-04-24 14:12:13 +05:00
Andrej730
1c729a74d1
util.unit to support converting aggregate of aggregates
2024-04-24 14:12:13 +05:00
Andrej730
db31574103
typing
2024-04-24 14:12:13 +05:00
stefkeB
d03b47e1e6
Fix HDF5 conditional inclusion in GeomTree
...
IfcGeomTree uses HDF5, but this is an optional module, so we have to wrap it with #ifdef WITH_HDF5
2024-04-23 18:46:10 +02:00
Ryan Schultz
ae62ac2777
small tweak to b8a9674483 - duplicate profile has '_copy' suffix.
2024-04-23 07:42:02 -05:00
Andrej730
998f9c6a1e
make styles ui more similar to profiles and materials ui
...
before - https://i.imgur.com/bTbyt2t.png
after - https://i.imgur.com/U53h8Yh.png
2024-04-23 16:39:49 +05:00
Andrej730
3ff31b577c
bim.duplicate_style
2024-04-23 16:39:49 +05:00
Andrej730
cd013079f4
bim.duplicate_material
2024-04-23 16:39:49 +05:00
Andrej730
b8a9674483
bim.duplicate_profile
...
simple operator for profile duplication
example - https://imgur.com/a/dsP78iV
2024-04-23 16:39:49 +05:00
Andrej730
8beb1bef98
preserve selected profile index removing profiles
2024-04-23 16:39:38 +05:00
Andrej730
377676f881
dev environment - add libs/desktop and bsdd
2024-04-23 15:23:16 +05:00
Andrej730
4efe284338
use IFC4X3_ADD2 for ifcopenshell.schema_by_name
...
as it is the main IFC4X3 schema
2024-04-22 17:30:25 +05:00
Andrej730
34a4e3f37a
util.doc - use release schema version for IFC4X3
...
As it will be more like to be available in the ifcopenshell package. Related to #4565
2024-04-22 17:30:25 +05:00
Andrej730
889c9a9e9f
typing
2024-04-22 17:30:25 +05:00
Andrej730
9e79499532
small optimization
2024-04-22 17:30:24 +05:00
Kristof Semjen
589b98053e
Fixes #4261
...
SWIG_Python_str_AsChar and SWIG_Python_str_DelForPy3 are no longer available in swig 4.2 (see : https://github.com/swig/swig/commit/f89dd59d4b82ece899087682fdb86e94d2611513 ),
this commit fixes the build for swig versions > 4.2.
2024-04-21 16:22:56 +02:00
Bruno Postle
fc5bb230a9
Abandon SVG layout generation on missing drawings
...
Drawings need to be generated before layout can be generated, so
remove a partial failed layout caused by missing drawings.
2024-04-21 11:12:24 +01:00
Bruno Perdigão
01361cc8f2
Merge branch 'v0.7.0' into fix-normal-duplication-of-linked-aggregate
2024-04-18 21:00:39 -03:00
Bruno Perdigão
e6bef16c45
small deletions
2024-03-18 23:39:06 -03:00
Bruno Perdigão
4829c4c02b
fix: when subaggregate that is a linked aggregate is unassinged from the main aggregate, it remains a linked aggregate.
2024-03-16 15:27:04 -03:00
Bruno Perdigão
3bf4a8ef52
small refactor
2024-03-16 12:44:26 -03:00
Bruno Perdigão
c95a47ca97
fix #4430 . Shift+D whem selecting all the objects of a linked aggregate creates a normal copy that is not linked
2024-03-15 21:34:27 -03:00