Bruno Perdigão
5df9c45795
Improve weight in snapping for "Plane", "Axis" and "Face" type.
2025-03-12 17:16:47 -03:00
Bruno Perdigão
5cc0aa71c7
Fix issues with snapping empties and faceless objects in x-ray mode.
2025-03-12 17:16:47 -03:00
Bruno Perdigão
b06ddbcad4
Remove duplicate line
2025-03-12 17:16:47 -03:00
Ryan Schultz
18431dec31
added material.item.Material.Name.0 to selector syntax
2025-03-12 14:23:43 -05:00
Bruno Perdigão
7e9985758f
Remove debug print statements.
2025-03-12 11:10:14 -03:00
Andrej730
ece91a94db
util.schema.reassign_class to return early if class already assigned
2025-03-12 18:49:26 +05:00
Andrej730
dccfb634d9
Ports UI - cache instead of accesing IFC on draw calls
2025-03-12 18:49:26 +05:00
Andrej730
ffc6c6a7ad
Zones UI - rearrange button to match the Systems UI layout
2025-03-12 18:49:26 +05:00
Andrej730
dbf4a2a5ed
Fix reassign_class on IFC4X3, use ValueError
...
Use ValueError to make it more specific
2025-03-12 18:49:22 +05:00
Andrej730
f6640d3904
typing
2025-03-12 18:49:22 +05:00
Andrej730
63aada25dd
Deprecate LaunchAddElement, LaunchRenameType
...
TIL that it's possible to set invoke context from draw by changing operator_context property in UILayout 😅
2025-03-12 17:08:41 +05:00
Dion Moult
6596f5bc4b
Fix regressions in MEP joins after switching over to numpy from mathutils
2025-03-12 23:05:34 +11:00
Dion Moult
acdc40fb41
See #1227 . Reimplement extending walls to another wall
2025-03-12 23:05:34 +11:00
Andrej730
9be0a60c0a
github issue templates - use comment blocks for instructions
...
As users sometimes tend not to remove the intsruction messages...
2025-03-12 16:29:13 +05:00
Andrej730
e9a3d06352
Document copy and paste workarounds in docs #6327
2025-03-12 16:13:53 +05:00
Andrej730
dfd30fbcaa
black .
2025-03-12 16:13:52 +05:00
Dion Moult
a941eb3f90
Parametric roof geometry is now whitelisted for IfcSlab.ROOF and IfcCovering.ROOFING too.
2025-03-12 18:47:50 +11:00
Dion Moult
226736eb41
Fix #3357 . Remove Shift-E for parametric objects (superseded by tab) and you can now extend to anything not just slabs.
...
This Shift-E still needs more polish as we figure out the best hotkeys
and what's most natural to users when they select different combinations
of objects, so expect the conditionals that govern when Shift-E does
things to still change in the future.
2025-03-12 18:41:18 +11:00
Dion Moult
f5a1c4aae3
See #1227 . Reimplement extend walls to slab (or anything with negative Z faces)
...
There are a few differences to the previous implementation:
1. It is no longer recalculated on wall regeneration. The new wall
regeneration is strict to the spec on the rules of rel connects path,
and so this being a "userdefined" connection we only calculate it
explicitly when the user invokes the operator.
2. It uses meshes instead of clipping planes, so you can clip to
strange shapes or gable roofs or whatever. Nice.
2025-03-12 18:05:57 +11:00
Bruno Perdigão
a7a4198fc1
Polyline tool - add "dm" and "cm" to the input validation.
2025-03-11 17:10:52 -03:00
Bruno Perdigão
6e0e19d690
See #6130 . Fix issue where aggregate mode where not being disabled.
...
The issue was caused by deleting an object outside the aggregate while in
aggregate mode. The selection for these objects are now disabled to prevent
this issue
2025-03-11 16:58:08 -03:00
Bruno Perdigão
72bbf244f2
Fix issue #6221 where crtl+shift+D were not moving the whole copied aggregate.
2025-03-11 16:33:40 -03:00
Bruno Perdigão
41c1c6e8fa
Fix #6291 .
...
When changing slab `x_angle` the rotation matrix now takes into account object's world matrix.
2025-03-11 16:11:47 -03:00
Bruno Perdigão
a32735ac6a
Small fix after 7af672712f
2025-03-11 14:04:34 -03:00
Bruno Perdigão
031540e982
Add #5496 . Objects from linked ifc files can now be snapped.
2025-03-11 12:37:47 -03:00
Bruno Perdigão
db1d8d938f
Allow dimensions to use custom units from BBIM_Dimension Pset.
...
- Implementation of @theoryshaw PR #5922 .
- Note: `IfcPropertyEnumeration` allows multiple choices, but this is not
applicable for this use case. Users must manually deselect other options;
otherwise, it defaults to the first selected option.
2025-03-11 11:56:16 -03:00
Bruno Perdigão
aa478ab359
Fix area measure tool to display first dimension correctly.
2025-03-11 11:56:16 -03:00
Bruno Perdigão
19c103c627
Fix issue where "C" to close polyline where not updating measurement dimension.
2025-03-11 11:56:16 -03:00
Bruno Perdigão
7af672712f
See #6164 . Allow measure tool to work without IFC Project.
2025-03-11 11:56:08 -03:00
Andrej730
6bd8636c92
Revert "Bump IOS"
...
This reverts commit c1bc36ab86 .
2025-03-11 18:46:38 +05:00
Andrej730
a9f7d4ab3b
get_applicable_types in ifc2x3 to prioritize IfcBuildingElementProxyType
...
for occurrence classes without special type.
E.g. previously:
you select IfcSlab and change it to IfcRoof - since there is not IfcRoofType in IFC2X3 it would figure the matching product type is IfcBeamType and change this slab's type element to IfcBeamType. IfcBuildingElementProxyType seems more generic and fitting.
2025-03-11 18:37:24 +05:00
Andrej730
977d814d39
bim.reassign_class - fix issue in ifc2x3 when selected product class would be ignored
...
E.g. you select IfcSlab and change it to IfcRoof - since there is not IfcRoofType in IFC2X3 it would figure the matching product type is IfcBeamType (which is confusing too but that's another subject) and change this slab's type object to IfcBeamType which consequently change IfcSlab to IfcBeam instead of IfcRoof that was selected originally.
Noticed investigating #5918
2025-03-11 18:37:23 +05:00
Andrej730
5b95bb37e6
Systems UI - cache active system data
2025-03-11 18:37:23 +05:00
Andrej730
85b9906e20
Zones UI - add buttons for unassigning zone from the active objects
2025-03-11 18:37:23 +05:00
Andrej730
64f51d733e
Fixed version of f3f7939c8b + get_element_zones
2025-03-11 18:37:23 +05:00
Andrej730
ed0b1c5009
typing
2025-03-11 18:37:22 +05:00
Dion Moult
c1bc36ab86
Bump IOS
2025-03-11 21:59:53 +11:00
Dion Moult
9cfcaeb587
Fix bug and add boolean tests where if you added a boolean that fully clipped something you couldn't edit it due to lack of item ids.
2025-03-11 21:14:11 +11:00
Dion Moult
d9e48467cd
Fix bug where removing a boolean didn't unmark it as a manual boolean.
2025-03-11 21:13:04 +11:00
Dion Moult
f08dba6483
Improve debug logs when running BDD tests
...
I've been spoilt by tools like Behat and so this make it much nicer
because it tells you exactly the feature/scenario/step where it failed.
2025-03-11 18:40:00 +11:00
Dion Moult
1e97d2c5fa
See #6307 . Prevent user from manually changing the ifc file path.
...
You can still hover over and copy paste if you want.
2025-03-11 18:38:45 +11:00
Dion Moult
bf54132805
Fix #6307 . Warning: critical bug where saving a file broke undo state.
...
Previously, changing props.ifc_file had an update hook to reload
information about the IFC model. But this isn't always correct because
there are two situations:
1. The ifc_file path changed because you saved the file for the first
time or saved as, and this is merely recording a new saved path of the
existing file object.
2. The ifc_file path changed because the user manually changed it or
selected a new file. This could reference an entirely new file object.
This is dangerous because we can't trust anything anymore, including our
undo history.
So the new default situation is that there is no magic hook. If you
change props.ifc_file, that's all it changes ... just a path stored in
Blender with not much significance.
If the user runs select_ifc_file to explicitly relink the file, it now
explicitly purges in that situation and clears the undo history.
Basically now behaviour is explicit, not using magic hooks.
2025-03-11 18:37:53 +11:00
Dion Moult
570513b60b
Revert "util.get_element_systems to consider all kinds of ifcsystems"
...
This reverts commit f3f7939c8b .
2025-03-11 09:13:48 +11:00
Bruno Postle
e1ba98c5f8
fix loading ifc2x3 project libraries
2025-03-10 21:07:18 +00:00
Andrej730
8ed9c32404
Rename systems and zones from UIList
...
example - https://imgur.com/a/8yTzmy3
2025-03-10 18:52:39 +05:00
Andrej730
5b9ef23bdd
bim.assign_system/unassign_system - add info messages
...
Also check whether element is assignable prior to running system.assign_system to avoid scary exceptions.
2025-03-10 18:52:39 +05:00
Andrej730
f3f7939c8b
util.get_element_systems to consider all kinds of ifcsystems
2025-03-10 18:52:39 +05:00
Andrej730
469b4f3502
Systems UI - move buttons to the header to unclutter UI
2025-03-10 18:52:39 +05:00
Andrej730
c4b57eb903
typing
2025-03-10 18:52:39 +05:00
Andrej730
3886c79a2c
black .
2025-03-10 18:52:39 +05:00
Massimo Fabbro
566fe32ab2
Fix wrong wall legth qto calculation
2025-03-10 23:19:12 +11:00
Dion Moult
7fb6adc025
Fix #6296 . See #1227 . More normal fixes in layer set slicing.
2025-03-10 23:15:24 +11:00
Dion Moult
c03cf4ce58
Fix #6303 . I messed up the commit in 1259607a
2025-03-10 23:06:16 +11:00
Dion Moult
41188e26e1
See #1227 . Don't touch manual booleans when regenerating wall body.
2025-03-10 22:54:42 +11:00
Dion Moult
823f27cd6a
Add tests for new element add feature
2025-03-10 22:53:55 +11:00
Massimo Fabbro
4260313a99
Fix #6271
...
Fix the wrong length calculation for beams and columns
2025-03-10 20:09:10 +11:00
Dion Moult
1259607a9f
See #1227 . Fix slicing normal calculation for AXIS3 elements.
2025-03-10 18:10:05 +11:00
Dion Moult
9f1ffe6381
Minor fix where you shouldn't be able to add an element without an IFC project
2025-03-10 18:08:43 +11:00
Dion Moult
ba1b6b5b10
Fix regression where type thumbnails don't refresh properly from ae76d3253
...
The fix in ae76d3253 removed the refresh_ui_data call, so we need to
handle it a bit better. I also heavily simplified the thumbnail loading.
2025-03-10 18:08:30 +11:00
Dion Moult
2318132ea2
Minor refactor add_constr_type_instance is now add_occurrence
2025-03-10 08:23:56 +11:00
Massimo Fabbro
b6b553e726
Fix #6271
...
Fix a bug about wrong net values qto calculation with IfcOpenshell
2025-03-09 22:48:08 +11:00
Dion Moult
076f39e2d6
I think bSDD should use the Name for the property name. See 115a48f
...
It seems correct according to
https://github.com/buildingSMART/bSDD/blob/master/Documentation/bSDD%20JSON%20import%20model.md
2025-03-09 21:35:20 +11:00
Dion Moult
abfe8ec315
Fix failing IOS tests
2025-03-09 20:47:02 +11:00
Dion Moult
9d7fe179cf
See #1227 . Minor fix of incorrect layerset slicing of negative sense slabs.
2025-03-09 19:29:35 +11:00
Dion Moult
8ffb5c56e4
See #1227 . Fix inconsistent layer UI based on direction sense and minor UI cleanup.
...
The UI here looks suspicious in that logic is occuring in the draw call
instead of the cached data object.
2025-03-09 19:28:47 +11:00
Dion Moult
4109b19c3a
See #1227 . Slightly more defensive to make sure ATPATH is between START and END
2025-03-09 18:31:49 +11:00
theseyan
7503530741
Fix #4807
2025-03-09 18:02:59 +11:00
Dion Moult
e78127d54f
See #1227 . Don't move any child at all when regenerating wall body.
2025-03-09 18:00:13 +11:00
Dion Moult
5fa4f2e79b
See #1227 . Reimplement merge walls with new wall body generation code.
2025-03-09 17:32:19 +11:00
Dion Moult
e5027e0be8
See #1227 . Implement updating of object position.
2025-03-09 08:52:05 +11:00
Dion Moult
af2dd1d7c6
See #1227 . Start to integrate into Bonsai. Basic testing of join/unjoin/extend/split/flip done.
2025-03-09 08:25:32 +11:00
Massimo Fabbro
5d9528d791
Fix #6168 . Now reload link button works
...
It is fixed also an inconsistency problem when use relative path is True
2025-03-08 11:47:43 +01:00
Dion Moult
47d11daa15
See #1227 . Small clean up of old sketch-wall based code which we no longer support.
2025-03-08 11:26:27 +11:00
Dion Moult
01ec750814
See #1227 . New connect wall API function since this can be done generically.
...
This will supersede the butt/mitre join functions we used to have.
2025-03-08 11:25:07 +11:00
Dion Moult
8c9a657a8c
See #1227 . Check layer set direction when slicing.
2025-03-08 11:13:26 +11:00
Bruno Perdigão
48acfad8bb
Fix #6213 . Adjust wall clipping from slabs to account for slab offset and direction sense.
2025-03-07 15:49:32 -03:00
Bruno Perdigão
01b63d87d0
Fix issue with updating slab offset with negative direction sense.
2025-03-07 15:42:09 -03:00
Bruno Perdigão
36744d391e
Fix #6236 . Product preview properties were not being cleared when data is empty.
2025-03-07 14:14:28 -03:00
Andrej730
f0e5430daa
bonsai_translations - allow .po files going out of sync
...
We had Chinese translation for Bonsai and some stub file for German and translation.py generation was failing with the error below. Chinese translation is more recent so it has some keys that German file hadn't and some keys were gone in the more recent version. In theory we should make all .po file in sync but let's skip it for now to keep things going.
```
Traceback (most recent call last):
File "/home/runner/work/IfcOpenShell/IfcOpenShell/src/bonsai/scripts/bonsai_translations.py", line 379, in <module>
update_translations_from_po(po_directory=Path(args.input), translations_module=Path(args.output))
File "/home/runner/work/IfcOpenShell/IfcOpenShell/src/bonsai/scripts/bonsai_translations.py", line 203, in update_translations_from_po
if (msgstr := msg.translations[lang]) in (None, ""):
~~~~~~~~~~~~~~~~^^^^^^
KeyError: 'de_DE'
```
2025-03-07 20:48:44 +05:00
Andrej730
197281eb5a
bonsai_translations - use utf-8 for opening files
...
Critical on Windows as it's not using utf-8 by default
2025-03-07 20:48:44 +05:00
Andrej730
7b370e6142
Fix operators missing execute after a663216
2025-03-07 17:13:00 +05:00
Andrej730
71a7d0c086
Fix missing IfcDistributionCircuit and IfcElectricalCircuit #6202
...
When checking if element is assignable to the system.
2025-03-07 17:12:59 +05:00
Andrej730
b86e735530
Fix breaking Systems UI with IfcElectricalCircuits
2025-03-07 17:12:59 +05:00
Andrej730
46104f5bf5
Update Profiles UI profile editing arbitrary profile #6284
2025-03-07 17:12:59 +05:00
Andrej730
d68068a84b
bim.load_profiles - try not to check all inverses for optimization
2025-03-07 17:12:59 +05:00
Andrej730
fc7dd3b234
Preserve ProfileName editing arbitrary profile #6284
2025-03-07 17:12:59 +05:00
Andrej730
85fc97eb84
Profiles UI - add safety check for missing profiles #6284
...
Example - https://imgur.com/a/bVdV5oB
2025-03-07 17:12:59 +05:00
Andrej730
9076deddbc
Consider ifc2x3 in a358cff1b7 #6255
...
In ifc2x3 position is not optional, so we should reset it's coordinates instead.
2025-03-07 17:12:59 +05:00
Andrej730
eb0d3c38b2
ifcopenshell.util - make ifc_file argument optional if it can be deduced from ifc element
2025-03-07 17:12:59 +05:00
Andrej730
590288496e
typing
2025-03-07 17:12:58 +05:00
Andrej730
269e137ea2
black .
2025-03-07 17:12:58 +05:00
Dion Moult
ed722c6f13
See #1227 . Refactor out test waldo script into API function.
2025-03-07 19:05:24 +11:00
Dion Moult
2b9e3d2a2e
See #1227 . Enable layerset slicing.
2025-03-07 19:03:45 +11:00
Dion Moult
7dee888ecf
See #1227 . New util function in shape builder to do an X axis intersection.
2025-03-07 19:00:18 +11:00
Dion Moult
a67927ae67
Automatically merge excessive styles when loading models
...
Came across this problem with some models from 12D
2025-03-07 17:02:05 +11:00
Dion Moult
1271e4b7e3
New IfcPatch recipe to merge identical styles
2025-03-07 17:01:14 +11:00
Andrej730
a44d0e713a
Bump Blender build and fix dead url
2025-03-06 19:11:46 +05:00
Andrej730
a358cff1b7
Fix extrusion position update on OffsetFromReferenceLine changed #6255
...
Also fixed an issue when previously there was an offset and now it was set to 0 but slab did not reset it's position.
2025-03-06 18:43:54 +05:00
Andrej730
188ca3e402
Fix bim.profiles_ui_select button in profiles set ui
...
It was using IfcMaterialProfile id instead of IfcProfileDef id, so profile was never selected
Example - https://imgur.com/a/Sf1ghPO
2025-03-06 18:43:54 +05:00
Andrej730
b5260d3005
copy_class to prevent duplicating profiles #6261
2025-03-06 18:43:54 +05:00
Andrej730
79940641b2
typing
2025-03-06 18:43:54 +05:00
Andrej730
7458040949
Fix ifcpatch unit conversion for lists of ifc entities #6280
2025-03-06 16:14:02 +05:00
Andrej730
14eb543662
TestConvertFileLengthUnits - add attributes conversion tests
2025-03-06 16:14:02 +05:00
Andrej730
e786687882
ConvertFileLengthUnits - unify tests, add ifc4x3 tests
2025-03-06 16:14:02 +05:00
Andrej730
37e131193b
edit_georeferencing - add note on MapUnit data type
2025-03-06 16:14:02 +05:00
Andrej730
dfb00f27bb
Fix georeferencing docs url
2025-03-06 16:14:02 +05:00
Dion Moult
53dea65d8b
See #1227 . Implement joins for sloped walls.
2025-03-06 19:38:46 +11:00
Andrej730
2c16839de7
Fix parametric stairs/railings/roofs not updating ifc link after representation update #6264
...
Related to 3107fd9
2025-03-05 18:53:57 +05:00
Andrej730
c4f2d556f1
Uncomment use of get_edges_representation_item_ids
...
as build was updated awhile ago
2025-03-05 18:53:57 +05:00
Andrej730
74900193ee
merge_identical_objects to use quicker version of get_info
2025-03-05 18:53:57 +05:00
Andrej730
2987d38a31
append_asset - check unique styles based on their name #6269
2025-03-05 18:53:56 +05:00
Andrej730
08b50bb9ea
Library UI - recognize already appended styles
...
Example - https://i.imgur.com/XCXHY4C.png
Noticed investigating #6269
2025-03-05 18:53:56 +05:00
Andrej730
1257eb0872
append_asset - allow using same name for different ifcpresentationstyle types
...
Since they are not used interchangeably typically.
2025-03-05 18:53:56 +05:00
Andrej730
1c8ef176b1
typing
2025-03-05 18:53:56 +05:00
Andrej730
e1e51cbf26
black .
2025-03-05 18:53:56 +05:00
Andrej730
4c97cc8a41
import_ifc - not to break completely on facing breaking mesh #6270
...
create_mesh returns None only in case if it meets some exception and it prints logs in that case, but atleast some breaking mesh won't be in the way of users trying to open some model
2025-03-05 18:53:09 +05:00
Dion Moult
7c6e124fe9
See #1227 . Basic implementation of sloped walls (joins not yet considered)
2025-03-05 22:10:33 +11:00
Andrej730
3fc312752b
Show an error for unsupport curve types #6259
2025-03-04 18:10:42 +05:00
Andrej730
d0cb5456b3
Fix importing IfcPolylines always assuming they're closed
...
Resolved issue during import in #6259 but doesn't completely resolves the issue.
2025-03-04 18:10:42 +05:00
Andrej730
86072079de
draw_image_for_ifc_profile - optimizations using numpy
2025-03-04 18:10:42 +05:00
Andrej730
9440096106
Fix #6260 after 2f6ae17
2025-03-04 18:10:42 +05:00
Andrej730
649a913bbc
add_profile_representation - add test
2025-03-04 18:10:42 +05:00
Andrej730
53a3afaded
typing
2025-03-04 18:10:41 +05:00
Andrej730
33d3984990
add_profile_representation - reuse util.shape methods
2025-03-04 18:10:41 +05:00
Andrej730
5f86c6d1c2
shape_builder.create_axis2_placement_3d_from_matrix - small optimization
...
create_axis2_placement_3d now is fine with numpy arrays
2025-03-03 13:54:57 +05:00
Andrej730
10d5378ee3
TessellateElements - small optimization
...
tolist() supports conversion of multidimensional arrays too
2025-03-03 13:54:57 +05:00
Andrej730
7f27785927
docs fixes
...
1) material.add_profile_set doesn't exist
2) usecase.file is not defined, use `model` instead`
3) Specify material for material.assign_material
2025-03-03 13:54:57 +05:00
Andrej730
fed063a0c6
edit_profile_usage - add test
2025-03-03 13:54:56 +05:00
Andrej730
855062e36b
Quick to select profile from BIM Tool in Profile UI
...
Example - https://imgur.com/a/tJdQUGq
2025-03-03 13:54:56 +05:00
Andrej730
7b74b6c68f
Simplify edit_profile_usage with util.shape
2025-03-03 13:54:56 +05:00
Andrej730
a01278aa8d
ifcopenshell.util.shape to return Python floats if return is just a scalar
2025-03-03 13:54:56 +05:00
Ryan Schultz
99c49736fa
small tweak
2025-03-02 10:31:46 -06:00
Bruno Postle
c1efdbb8ea
black .
2025-03-02 11:37:52 +00:00
Bruno Postle
e240ae2669
Fix bpy.ops.bim.select_by_material() for layersets
...
This operator assumes all material definitions have a Name attribute,
mostly they do except that Material Layer Sets have a LayerSetName
attribute for reasons.
2025-03-02 11:24:07 +00:00
Ryan Schultz
945099b817
Set IfcMaterialLayerSetUsage's DirectionSense/OffsetFromReferenceLine/ReferenceExtent on all selected objects
2025-03-01 18:04:41 -06:00
Bruno Perdigão
f4b0fe6560
Polyline tool - Fix issue where Y and Z axis lock were inverted when in YZ plane.
2025-02-28 13:52:20 -03:00
Bruno Perdigão
efc6842a9d
Improve snapping for empty objects.
2025-02-28 13:44:00 -03:00
Bruno Perdigão
43931e951e
Fix another issue (follows 2609a8293c) with walls created with obtuse x_angle.
2025-02-28 13:19:51 -03:00
Bruno Perdigão
134a480b03
Fix slab preview decorator when using obtuse x_angle.
2025-02-28 13:02:02 -03:00
Bruno Perdigão
0eb32ed7b7
Refactor ChangeExtrusionXAngle to support obtuse x_angle for slabs.
...
To support obtuse x_angle a refactoring had to be made, which helped
improve the general code for slab addition. This is challenging because
there are a few features that interact with each other to create slabs,
like `depth`, `direction_sense`, `offset` and `x_angle`. In addition,
these interactions can happen in different parts of the code. This
commit addresses `ChangeExtrusionXAngle` in `model/wall.py`.
See e8e88c25fdcef55826443fe6b000aec1baa6f25a for more information.
2025-02-28 13:02:02 -03:00
Bruno Perdigão
1855ac421c
Refactor slab addition to support obtuse x_angle. See #5938
...
To support obtuse x_angle a refactoring had to be made, which helped
improve the general code for slab addition.
This is challenging because there are a few features that interact
with each other to create slabs, like `depth`, `direction_sense`, `offset`
and `x_angle`. In addition, these interactions can happen in different parts
of the code. This refactor improves the coherence between those different parts.
Files changed:
- `api/geometry/add_slab_representation.py`
- `model/slab.py` - inside the function `change_thickness()`
File to be changed in a following commit:
- `model/wall.py` - inside the operator `ChangeExtrusionXAngle` - To-do
2025-02-28 13:02:02 -03:00
Bruno Perdigão
7a69d6f20e
Fix issue when updating wall x_angle with obtuse angle. See #5938
2025-02-28 13:02:02 -03:00
Bruno Perdigão
2609a8293c
Fix issue where walls are created with obtuse x_angle. See #5938
2025-02-28 13:02:02 -03:00
Bruno Perdigão
e68c47a897
Remove code related to 0104a2cc9f
2025-02-28 13:02:02 -03:00
Andrej730
06fa2b05d6
Fix #6245 after 17642ca
2025-02-28 18:31:14 +05:00
Andrej730
db52e70121
Fix possibility of adding new invalid surface styles
...
1) Add default values for new IfcSurfaceStyleLighting so they won't appear invalid.
2) Temporarily disable starting surface style with a texture style since it requires additional texture UI to be exposed or some default texture to be assigned to keep it valid.
2025-02-28 18:31:14 +05:00
Andrej730
c81fe97cc2
Fix bim.change_cardinal_point breaking if one of objects had no material
2025-02-28 18:31:13 +05:00
Andrej730
b9f4503206
Paramteric doors/windows - detect previously assigned materials when editing is enabled
...
Example - https://imgur.com/a/FEbSBaX
2025-02-28 18:31:13 +05:00
Andrej730
bd4dc501a2
Pamateric doors/windows - add material select shortcut to UI
...
Example - https://i.imgur.com/UfJTjGz.png
2025-02-28 18:31:13 +05:00
Andrej730
8d1255f0bc
Fix toggling wireframe for odd case when there are no objects linked
...
Noticed investigating #6242
2025-02-28 18:31:13 +05:00
Andrej730
cc7abe6a8d
Fix error applying blender offset to read-only matrix (e.g. during linking)
...
Example:
```
File "\bonsai\bim\module\project\operator.py", line 1815, in execute
self.process_occurrence(shape)
File "\bonsai\bim\module\project\operator.py", line 1952, in process_occurrence
obj.matrix_world = tool.Loader.apply_blender_offset_to_matrix_world(obj, mat)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\bonsai\tool\loader.py", line 952, in apply_blender_offset_to_matrix_world
matrix[0][3] = offset_xyz[0]
~~~~~~~~~^^^
ValueError: assignment destination is read-only
```
Noticed investigating #6242
2025-02-28 18:31:12 +05:00
Andrej730
edfcc3f74b
ifc2sql - change default database name to match default sql_type
...
Co-Authored-By: bsmithuk <68438529+bsmithuk@users.noreply.github.com >
2025-02-28 18:31:12 +05:00
Andrej730
b1c87b1eb4
Set tools hotkeys name to empty string to hide it from tooltip #6238
2025-02-28 18:31:12 +05:00
Andrej730
d37bda6871
cad operators - add descriptions #6238
2025-02-28 18:31:12 +05:00
Andrej730
bb0d156bbf
cad operators - use Blender units for props
2025-02-28 18:31:12 +05:00
Andrej730
b89ffcb6d0
SplitByBuildingStorey - ensure user won't pass a file by accident
2025-02-28 18:31:12 +05:00
Andrej730
323967b9fd
Fix ifc2sql test after 9055f14bb9
2025-02-28 18:31:11 +05:00
Andrej730
4dd10b16e6
SplitByBuildingStorey - Bonsai to recognize filepath argument after cac3d7f
2025-02-28 18:31:11 +05:00
Andrej730
15a0d43180
fix for glob pattern in 62d53ba62d
2025-02-28 18:31:11 +05:00
Andrej730
5a1f7000ec
ifcpatch - add simple test for docs generator
2025-02-28 18:31:11 +05:00
Andrej730
277aaca6c5
typing
2025-02-28 18:31:10 +05:00
Andrej730
9187f2d2b5
Bonsai patcher - small fix for cases when Blender restarts
2025-02-28 18:31:10 +05:00
Andrej730
62d53ba62d
Bonsai - recognize ifc2sql database argument as filepath #6227
2025-02-27 18:35:43 +05:00
Andrej730
9055f14bb9
Ifc2Sql - hide IFC output argument as there's already database argument #6227
...
Also handle directory paths more gracefully.
2025-02-27 18:35:43 +05:00
Andrej730
0bd608b6cb
Bonsai - ifcpatch description to include arguments descriptions
...
Also fix a bug with broken patch descriptions if some argument had more than one line for the description.
Example - https://i.imgur.com/1syL4gJ.png
Notcied working on #6227
2025-02-27 18:35:43 +05:00
Andrej730
497542d7a0
ifc2sql - small optimizations
2025-02-27 18:35:43 +05:00
Andrej730
26b2a7d584
typing
2025-02-27 18:35:43 +05:00
Andrej730
2d0bd9782a
Reuse tool.Blender.add_layout_hotkey_operator
...
Now all tools are using a general method and it should be easier to maintain the consistency between the tools.
Fixes #6238 .
ping @trhyder just in case
2025-02-26 17:55:15 +05:00
Andrej730
746a61a199
Add tool.Blender.KEY_MODIFIERS instead of storing it at workspaces
2025-02-26 17:55:15 +05:00
Andrej730
24df52e2f7
Do not purge orphaned IfcDocumentReferences #6117
2025-02-26 17:55:14 +05:00
Andrej730
257f0b11f5
Fix typo
2025-02-26 17:55:13 +05:00
Andrej730
b4f2039367
Fix bim.purge_unused_openings poll
...
It was returning true regardless whether tool.Geometry.has_openings returned True or not.
2025-02-26 17:55:13 +05:00
Dion Moult
cfb7d026d1
IfcPatch recipe for Revit 2025 TINs import workaround
...
To understand what's going on, please read the docstring. Then please
take as much alcohol required to erase that memory.
2025-02-26 18:13:29 +11:00
Dion Moult
34acd6de35
See #1227 . Implement ATPATH wall connections (going both ways).
2025-02-26 18:13:29 +11:00
Dion Moult
0f3de599a6
Don't break if no area unit defined
2025-02-26 18:13:28 +11:00
Bruno Perdigão
0104a2cc9f
Remove polyline wall size limit restriction. See #6162
2025-02-25 18:06:42 -03:00
Bruno Perdigão
81f4b08b6d
Fix issue where long lines where not being detected by the snapping system.
2025-02-25 18:06:42 -03:00
Bruno Perdigão
10776b7de8
Remove debug print statement
2025-02-25 18:06:42 -03:00
Bruno Perdigão
b0efb648f2
Make snapping system zoom-dependent. See #6162
...
Refactor the snapping system to better organize the weighting and ordering
of snap distances. This change enhances the "stickiness" of snapping points,
allowing for prioritized control over different types of snapping points.
2025-02-25 18:06:42 -03:00
Andrej730
a20a8a68a6
Smal UI fix - display "Types" instead of "Typess"
2025-02-25 18:32:47 +05:00
Andrej730
f8ec8402fe
Remove test for deprecator operator ( c85eb79)
2025-02-25 18:28:48 +05:00
Andrej730
aaf008f007
Fix adding transom to door #6230 ( d23cfcb)
2025-02-25 18:28:48 +05:00
Andrej730
f63d6b80c5
quantitifaction - not to add empty qto if nothing was quantified
...
It already works that way for ifcopenshell quantitification, making it work the same for Blender quantifications.
Noticed in #6220
2025-02-25 18:28:48 +05:00
Andrej730
2f6ae1745f
typing
2025-02-25 18:28:48 +05:00
Andrej730
5f4098e5d4
Update type_elements_filtered on changing ifc class
...
Needed after 1d815cdb67
2025-02-25 18:28:47 +05:00
Andrej730
b49cc6c5e9
AuthoringData.data["relating_type_data"]
...
Simplify lots of data keys to just one dictionary relating_type_data, so it will be easier to maintain it and update if needed.
2025-02-25 18:28:47 +05:00
Andrej730
dcc681ac74
Revert a428169 to avoid constant reload of cached data
...
The code was recalculating type_elements and relating_type_id every time Blender trying to check enum items.
Couldn't replicate issue when type duplicated, perhaps it's resolved some other way already.
2025-02-25 18:28:47 +05:00
Thomas Krijnen
240c78c12a
Update IfcHierarchyHelper.h
2025-02-25 14:18:10 +01:00
Andrej730
6de409031e
Fix #6222
...
Mentioned in #6223
2025-02-25 14:21:01 +05:00
Bruno Perdigão
ea274588b0
See #6214 . Fix how extrusion existing angle is calculated.
...
The issue happen when the layer has a negative direction sense.
2025-02-24 20:46:37 -03:00
Bruno Perdigão
e46e1512fa
Fix #6160 where axis snapping in polyline tool were not working consistently
2025-02-24 20:46:26 -03:00
Thomas Krijnen
70182d943d
Update build_osx.yml
2025-02-24 17:11:01 +01:00
Andrej730
0bd4451ce9
Fix issue not cleaning up the mesh after 76277c35d2
2025-02-24 19:31:36 +05:00
Andrej730
899ada0019
Fix purge unused types test after 3bb4243
2025-02-24 18:52:35 +05:00
Andrej730
f6ae711f6c
Fix feature tests failing due to AuthoringData changes
...
relating_type_id now relies on type_elements which relies on ifc_class_current and they wasn't updated when ifc_class was changed.
Typical failing test looked like "TypeError: bpy_struct: item.attr = val: expected a string enum, not int".
2025-02-24 18:52:35 +05:00
Andrej730
1d815cdb67
Fix issue reloading AuthoringData from workspace at every draw call
...
If data was already loaded for BIMTool ("all") this ` elif ifc_element_type == "all" and AuthoringData.data["ifc_element_type"] is not None:` would always fail and this `AuthoringData.data["ifc_element_type"] != ifc_element_type` would always result to True, constantly recalculating data on every draw call.
This may uncover some issues that were hidden by the constant update (e.g. the bug fixed in the next commit).
Simplified it so now ifc_element_type is almost always referring to either ifc class or None. It's still using "all" in the BIMTool itself but then it's converted to None when passed to draw methods.
2025-02-24 18:52:35 +05:00
Andrej730
ce6339869d
Fix some feature tests
2025-02-24 18:52:35 +05:00
Andrej730
5eb9cb2ee4
len(get_inverse) -> get_total_inverses
2025-02-24 18:52:35 +05:00
Andrej730
6eda4e389c
typing
2025-02-24 18:52:34 +05:00
Andrej730
0783f8082e
black .
2025-02-24 18:52:34 +05:00
Thomas Krijnen
3854afb34d
Update build-all.py; --force when fetch tags
2025-02-24 14:01:48 +01:00
Thomas Krijnen
0b2321f478
Add template keyword
2025-02-24 13:33:53 +01:00
Thomas Krijnen
5510fb1e3c
Add constexpr
2025-02-24 13:30:45 +01:00
Thomas Krijnen
7331f7361f
Workaround explicit in-class specialization to if constexpr #6206
2025-02-24 13:30:24 +01:00
Andrej730
e06684e274
Comment out outdated code #6200
2025-02-24 16:46:32 +05:00
Andrej730
57d6e9b544
Fix error reassigning class for structural items
2025-02-24 15:15:54 +05:00
Andrej730
5fa0aa03e4
util.schema.is_a - use c++ implementation
2025-02-24 15:15:54 +05:00
Andrej730
1d2ac9426d
Fix error during class reassignment after 43cc7a0
2025-02-24 15:15:54 +05:00
Andrej730
e79a85a4fd
bim.edit_container_attributes - remove deprecated operator
...
Currently you can edit container name directly from spatial manager, so this operator is no longer needed (and it also was missing from UI either way).
2025-02-24 15:15:54 +05:00
Andrej730
076a6c152d
fix typo
2025-02-24 15:15:54 +05:00
Andrej730
76277c35d2
Fix for 365393aa07
...
ahh, forgot that representation is already removed at this point
2025-02-24 15:01:00 +05:00
Thomas Krijnen
a81b4a7dbb
Create build_all.yml
2025-02-24 10:30:49 +01:00
Andrej730
ee8a3927b4
Fix displaying some attr types names after e8cb9e7 #6216
2025-02-24 14:20:49 +05:00
Andrej730
365393aa07
Fix #6209 after 67bac44
2025-02-24 14:01:24 +05:00
Thomas Krijnen
9289e1d0cc
Try catch to keep the people happy #6176
2025-02-23 15:50:31 +01:00
Thomas Krijnen
c30b5cbc08
Add std::array typemap #6137 #6191 #6196
2025-02-23 15:22:36 +01:00
Thomas Krijnen
9736345d79
Test case #6173
2025-02-23 14:46:31 +01:00
Thomas Krijnen
5599e52184
Option to retain original edges in cgal for non-boolean non-face-with-voids inputs #6173
2025-02-23 14:46:10 +01:00
Thomas Krijnen
ce26af5a7e
Use ProfileType in mapping #6175
2025-02-23 11:01:17 +01:00
Dion Moult
973c9e2ec9
See #1227 . Implement axis updating for new wall join code.
2025-02-23 18:59:17 +11:00
Dion Moult
29a890662e
See #6201 . Another typing regression fix.
2025-02-23 18:30:58 +11:00
Dion Moult
b42c3ba8c2
See #1227 . Wall layer test script now supports atstart/atend combo test cases and materials.
2025-02-23 17:28:14 +11:00
Dion Moult
a7509dbe29
See #1227 . Experimental support for 3D layerset slicing.
2025-02-23 17:27:32 +11:00
Dion Moult
23158b1b7e
Fix #6201 . Regression in creating drawings due to typing in 67bac441ad
2025-02-23 12:02:50 +11:00
Richard Brice
8c16f394c1
Updates alignment api
...
Fixes mapping of vertical alignment parabola business logic to geometry. Adds creation function of h and v alignment. Adds stationing referent at start of alignment. Fixes utility functions
2025-02-22 16:16:59 -08:00
Richard Brice
12f8a1f769
Adds utility to stringize station values
2025-02-22 16:15:00 -08:00
Richard Brice
7ffd2742d6
Fixes bug mapping geometry for IfcSectionedSolidHorizontal that was introduced in 26ba761
2025-02-22 16:11:10 -08:00
Richard Brice
6429fe34ed
Implements IfcHierarchyHelper.addRelatedObject for IfcRelDefinesByType
2025-02-22 16:11:06 -08:00
Jonas Frei
d38f56e82d
fix: bug in initialization of gltf serialiser fixed
2025-02-22 15:31:45 +01:00
Dion Moult
c549dea943
See #1227 . Test script for priority-aware wall layer joins.
2025-02-22 20:01:17 +11:00
Andrej730
894c05e138
Fix old typo in 686f4a0
2025-02-21 18:45:23 +05:00
Andrej730
92c2fc0b7f
Fix errors regarding added PredefinedType to IfcAnnotations in IFC4X3 #6200
...
In IFC4X3 IfcAnnotation now has PredefinedType and checking ObjectType isn't enough.
2025-02-21 18:45:23 +05:00
Andrej730
ee2fa739bb
remove_deep2 - fix traversing same element twice
...
(I hope I don't miss anything, no tests seem to fail and performance is increased significantly) but because `subelement_queue` initiated with the `traverse` all `element`'s subelements will be traversed inside `while` loop twice - once as a part of initial queue and another time when `element` is traversed inside the loop and all those elements added to the queue again.
Now we just initiate the `queue` with the `element` and it will be traversed inside the loop like any other element.
2025-02-21 18:45:12 +05:00
Andrej730
f7efbe5924
remove_representation - optimizations
...
1) `do_not_delete` performs best when it's set
2) also_consider when `element` related elements go first, so there will be no need to traverse all other elements to see if they cover `element`'s inverses.
2025-02-21 18:45:11 +05:00
Andrej730
6e20ee9fea
remove_deep2 - also_considered_inverses optimization
...
1) replaced walk with traverse(max_levels=1)
2) early return if there total_inverses == 0
3) early return if also_considered_inverses is enough to cover total_inverses
2025-02-21 18:45:11 +05:00
Andrej730
e6d3396630
typing
2025-02-21 18:45:11 +05:00
Andrej730
cf1647a451
Fix bugs in 17642ca4e9
2025-02-21 17:31:33 +05:00
Andrej730
69535c53e0
Fix typo in 4bb32b252d #6199
...
ahh
2025-02-21 17:31:33 +05:00
Bruno Perdigão
fed8c21625
Polyline tool - Improves the preview fix for #6083 by avoiding overlapping edges.
2025-02-20 22:52:42 -03:00
Bruno Perdigão
0f92c2d26b
Fix #6161
...
Error - cannot access local variable 'snap_point'
2025-02-20 22:21:44 -03:00
Bruno Perdigão
c11060b46a
Fix #6185 issue when trying to create a slab with only two points.
2025-02-20 21:13:39 -03:00
Bruno Perdigão
9f0d408e79
See #6190 . Polyline tool support for XZ and YZ planes for profiles.
2025-02-20 18:46:23 -03:00
Bruno Perdigão
d37baa4e0c
Fix calculation for polyline tool when working with X, Y and Z.
2025-02-20 18:22:10 -03:00
Bruno Perdigão
ae4f125371
Fix auto-angle snapping in polyline tools.
...
When locked to a plane, the mouse will be loosely locked to and angle
that is divided by 15 degrees. This was not working properly for "XZ"
and "YZ" planes.
2025-02-20 18:22:10 -03:00
Andrej730
25d8fff5fd
remove_representation - small optimizations
...
check schema version instead of accessing attribute directly (hasattr under the hood is just doing getattr and checking whether it returns AttributeError), so one less IFC access
Similar thing with element.Item to access IFC just once.
2025-02-20 19:12:24 +05:00
Andrej730
331f491d50
typing
2025-02-20 19:12:24 +05:00
Dion Moult
b19ece18c6
Fix minor regression in linking models due to new tool call.
2025-02-20 23:21:59 +11:00
Andrej730
abddc739fe
Fix UI for 4bb32b252d
2025-02-20 17:19:31 +05:00
Andrej730
174f909137
Fix #6192
2025-02-20 17:01:12 +05:00
Andrej730
a826115803
Project Library UI - allow expanding libraries hierarchy even if there are no assets yet
2025-02-20 14:33:00 +05:00
Andrej730
79abbad796
Project Library UI - fix library asset count not considering assets from sublibraries
...
As a result if all elements were assigned to sublibrary, it was showing that library itself has 0 assets and wasn't allowing to expand to see the sublibraries.
2025-02-20 14:33:00 +05:00
Andrej730
04a20b5c80
small fix for 4bb32b252d
2025-02-20 14:33:00 +05:00
Dion Moult
f4d101788d
Fix insane bug when replacing element that looped through every single element.
2025-02-20 19:18:35 +11:00
Andrej730
4bb32b252d
IFC Delete - add logs to system console
...
In some cases deletion can take ages, so there should be at least some way for user to find out how it's going.
2025-02-19 18:31:30 +05:00
Andrej730
8b92b28dfc
should_clean_mesh - add description
2025-02-19 18:31:09 +05:00
Andrej730
43cc7a0304
Replace direct access to IfcStore with tool.Ifc
2025-02-19 18:31:07 +05:00
Andrej730
67bac441ad
typing
2025-02-19 18:31:06 +05:00
Andrej730
6c511f6b1b
Project library UI - fix missing elements added to parent libraries
...
Previously if there was library A and it had sublibrary B and then some element were directly assigned to library A, UI still wouldn't show this element and would show only elements assigned to the B, the last library in the hierarchy
2025-02-19 17:53:59 +05:00
Dion Moult
deb0a46acb
Fix #6186 . Don't hide filter UI if there are no results.
2025-02-19 17:52:34 +11:00
Dion Moult
ee0599e263
Fix #6136 . Allow setting of custom tmp dir, useful for packaged envs like flatpak
2025-02-19 17:44:48 +11:00
Dion Moult
a8efd53d6b
Fix #6182 . For convenience, precalculate scale value for projected CRS map unit map conversion
2025-02-19 16:41:20 +11:00
Dion Moult
02f0c92a41
Fix bug where updating the null value on an enum property would lead to infinite recursion
2025-02-19 16:39:24 +11:00
Bruno Perdigão
f11e09c7d8
See #6121 . Area measurement tool now uses IFC area unit.
2025-02-18 19:37:22 -03:00
Richard Brice
bb1e00e474
Fixes problems mapping vertical alignment segments business logic to geometry
2025-02-18 12:43:11 -08:00
Andrej730
4efb79e472
fix missing get_spline_points in add_representation
2025-02-18 18:50:35 +05:00
Andrej730
527e0f3dbf
set_element_value - fix error for Python 3.9
...
types.EllipsisType was added only in 3.10
2025-02-18 18:50:35 +05:00
Andrej730
8ea3142451
Fix errors removing layers/constituents after eeac0a2
2025-02-18 18:50:35 +05:00
Andrej730
a68cb74699
ifcopenshell.alignment - fix error in Python 3.9
...
match statement was added only in Python 3.10
2025-02-18 18:50:35 +05:00
Andrej730
17642ca4e9
typing
2025-02-18 18:50:34 +05:00
Andrej730
83a351b1c7
black .
2025-02-18 18:50:33 +05:00
Dion Moult
37baa7a57b
Fix #5845 . Allow non GRAPH_VIEW reference representations. Apparently it's a thing in the docs.
...
If anybody can explain to me how Reference is meant to be used (the
example in the docs is really ambiguous) please do :)
2025-02-18 20:45:05 +11:00
Dion Moult
7ca2c043b5
Fix #6179 . Allow searching for materials in parametric object UI.
2025-02-18 20:37:50 +11:00
Dion Moult
1e3ddce5c2
Fix #6174 . Accommodate invalid index maps, and also implement an early return for single colours.
...
A single colour index map is a waste but some IFCs have it apparently.
2025-02-18 18:39:22 +11:00
Dion Moult
c79020aeab
See #5888 . Debugging undos is hard, so include the operator name in the event log.
2025-02-18 16:31:36 +11:00
Dion Moult
645298e9d6
See #5888 . Fix crash due to improper modal undo handling. It now considers both FINISH and CANCELLED states.
2025-02-18 16:30:27 +11:00
Dion Moult
ae76d3253d
See #5888 . Fix bug where loading type thumbnails made undo history not synced with Blender.
...
If a tool.Ifc.Operator updates a prop, the prop update function will
only call _after_ the operator finishes (and therefore adds an undo step
to the undo stack). If the prop update function then calls another
tool.Ifc.Operator, that will result in another "top-level" operator
call. This second operator _won't_ get added to Blender's undo history,
yet the Bonsai history / IfcOpenShell history will have another undo
step added. Yikes!
TL;DR don't call tool.Ifc.Operator from a prop update function.
2025-02-18 16:27:53 +11:00
Bruno Perdigão
693f7c5397
Fix #6119
2025-02-17 18:03:25 -03:00
Bruno Perdigão
a8960957c0
Fix #6083
2025-02-17 17:09:13 -03:00
Bruno Perdigão
c609aea1de
Black .
2025-02-17 16:46:58 -03:00
Bruno Perdigão
247bff4075
Polyline tool initial support for custom transformations.
...
Still early development. Only works for XY plane.
https://imgur.com/a/qW8gMFW
2025-02-17 16:46:58 -03:00
Bruno Perdigão
5a3a032fe6
Snap - modify intersection plane origin to be related to the view location.
2025-02-17 16:46:58 -03:00
Andrej730
5d8c2f2ec2
deprecate test-safe #5192
2025-02-17 17:58:45 +05:00
Andrej730
93ee92c401
Profiles, Materials UI - indicate in UI currently edited element
2025-02-17 17:58:45 +05:00
Andrej730
8c2d71b306
Rename library references from UI
...
Example - https://imgur.com/a/Ez99d1N
2025-02-17 17:58:45 +05:00
Andrej730
8f1446bfa4
Library UI - rename assets and libraries from UI
...
Example - https://imgur.com/a/0kcQrb2
2025-02-17 17:58:45 +05:00
Andrej730
32608ff194
py -m ifcopenshell.validate to use argparse
...
So command would fail if no arguments provided and there would hints on how to use it.
2025-02-17 17:58:45 +05:00
Andrej730
b0fbea60ae
typing
2025-02-17 17:58:44 +05:00
Dion Moult
8f261be338
See #5839 . More accurately consider the relating product definition when checking for shape aspects.
2025-02-16 17:08:55 +11:00
Dion Moult
42e184c936
Fix #5839 . Appending an asset now also considers shape aspects.
2025-02-16 17:08:34 +11:00
Dion Moult
e0a93626a5
Fix #6038 . Standardardise passing around as_posix() paths
2025-02-16 16:17:18 +11:00
Dion Moult
aaa4be1a94
Fix #5691 . UI tweak to show less colour, more text for usability.
2025-02-16 15:54:28 +11:00
Dion Moult
9f453d54d8
Piles should also default to vertical, just like columns
2025-02-16 15:43:03 +11:00
Dion Moult
b226a79ee8
See #5888 . Fix bug where polyline tools weren't part of the undo system.
2025-02-16 11:48:51 +11:00
Dion Moult
774a770c48
Purge usage of mathutils in grid API functions
...
The only thing left is add_representation which is Blender specific
anyway and is slowly being refactored out.
2025-02-16 08:20:59 +11:00
Dion Moult
aff90e89f7
Don't burn CPU cycles for updating parametric windows
2025-02-16 07:47:03 +11:00
Dion Moult
aad4dad9a7
Migrate documentation for IfcTester and make optional deps mandatory in PyPI
...
I don't like this, but PyPI makes it really, really hard to "discover"
optional deps and what they're used for. So it's just easier to make it
a mandatory dependency and advanced users can always strip it out. This
stops user reports about "it doesn't work out of the box I only did pip
install ifctester"
2025-02-16 07:46:22 +11:00
Dion Moult
6ac6f13018
Fix #5824 . Prioritise 3D over 2D. Only then consider subcontexts.
...
It's unexpected in our 3D default viewing world to have 2D first over
3D.
2025-02-15 19:03:52 +11:00
Dion Moult
d23cfcb2cf
Fix #2981 . Standard case windows can now have different materials and implement shape aspects.
2025-02-15 18:31:25 +11:00
Dion Moult
71668fbaf1
Only switch representation once when creating a door
...
Previously it would switch representation (and sync changes) every
single time a new representation was created (in the
replace_obj_ifc_representation function). I think this is misplaced
responsibility. The function should change the representation, but not
be responsible for switching.
2025-02-15 18:29:13 +11:00
Dion Moult
81b7f3dc30
New API function to set shape aspect constituents
2025-02-15 18:26:13 +11:00
Dion Moult
a0fa861b92
Shape builder can now created triangulated face sets
2025-02-15 16:10:12 +11:00
Dion Moult
a63c8e1d70
Don't burn CPU cycles recalculating the door every draw call in parametric door interface
2025-02-15 16:09:26 +11:00
Andrej730
3e1d1bf7fa
Library UI - tree view
...
Example of tree view with libraries hierarchy - https://imgur.com/a/zPuaoPv
Example of library assignment in non-tree view - https://imgur.com/a/9kZFblj
2025-02-14 17:51:47 +05:00
Andrej730
20e1fc2618
Fix bug in get_container not passing specified ifc_class to the parent #6155
2025-02-14 17:49:51 +05:00
Andrej730
1014487d82
black .
2025-02-14 17:49:47 +05:00
Dion Moult
3832077d0f
Fix recent regression where util.shape.get_vertices returns a read-only array, so you can't edit in place (e.g. for offsets)
2025-02-14 13:06:09 +11:00
Bruno Perdigão
768bf17b05
Small fix in snap.
2025-02-13 18:26:44 -03:00
Bruno Perdigão
fb4ad5290f
Fix mix_snap_and_axis() to ignore intersection too close from polyline.
...
Follows 5fe87bf5aa
2025-02-13 17:20:10 -03:00
Bruno Perdigão
f20bdd0ab6
Fix issue where detected snap vector where being changed by other function.
...
It was probably a reference issue. Copying the vectors solved the issue.
2025-02-13 16:49:37 -03:00
Bruno Perdigão
5fe87bf5aa
Modify mix_snap_and_axis() to select the snapping point closest to the last point.
2025-02-13 14:51:40 -03:00
Bruno Perdigão
c23a20df84
Small fix
2025-02-13 14:51:40 -03:00
Bruno Perdigão
b87cd33b12
Polyline tool a snapping system small refactor.
2025-02-13 14:51:40 -03:00
Bruno Perdigão
8acd5321b0
Fix polyline tool angle lock when using XZ and YZ plane
2025-02-13 14:51:39 -03:00
Bruno Perdigão
1165ef3f33
More refactor of the snapping system, after 7e239ac511e991fd8ccf32add878024d921db38b
2025-02-13 14:51:39 -03:00
Bruno Perdigão
2b7108a1d8
Refactor snapping points data structure.
2025-02-13 14:51:39 -03:00
Bruno Perdigão
33d9e050ec
Fix #6123
2025-02-13 14:51:39 -03:00
Andrej730
b88fd964bc
bim.refresh_library - add missing undo flag
...
It's unsafe in Blender to leave operators that edit blend data without undo flag.
2025-02-13 18:55:44 +05:00
Andrej730
0b32c89c26
use_smooth - use correct buffer length
...
apparently it wasn't creating any issues but still creating larger buffer than necessary
2025-02-13 18:55:44 +05:00
Andrej730
9db1783062
more numpy arrays to match expected buffer type
2025-02-13 18:55:44 +05:00
Dion Moult
2d54a48f8e
Add option for door glazing material
2025-02-13 19:18:17 +11:00
Dion Moult
39a30f2577
Redesign profile edit interface to be consistent like all other list+edit button interfaces
...
I kept on clicking the wrong thing
2025-02-13 19:18:02 +11:00
Dion Moult
1e946fd98e
Fix three small but significant typos in previous fixes.
...
BTW @andrej730 that optimisation is awesome. Here's a timeit:
import bpy
import numpy as np
import timeit
obj = bpy.context.active_object
verts = obj.data.vertices
def foreach_get_method():
coords = np.empty(len(verts) * 3, dtype=np.float32)
obj.data.vertices.foreach_get("co", coords)
coords = coords.reshape(-1, 3)
coords = coords.astype("d")
coords /= 10
return coords
def list_comprehension_method():
coords = [v.co / 10 for v in verts]
return coords
# Number of times each function will be executed
num_runs = 10000
t_listcomp = timeit.timeit(list_comprehension_method, number=num_runs)
t_foreach = timeit.timeit(foreach_get_method, number=num_runs)
print("foreach method: {:.6f} seconds over {} runs".format(t_foreach,
num_runs))
print("List comprehension method: {:.6f} seconds over {}
runs".format(t_listcomp, num_runs))
# foreach method: 0.088656 seconds over 10000 runs
# List comprehension method: 0.644446 seconds over 10000 runs
2025-02-13 13:07:29 +11:00
Richard Brice
79046e2970
Compute horizontal project of vertical spiral curve
2025-02-12 16:47:51 -08:00
Dion Moult
f6c6cc9a1b
Fix #6131 . Fix bug where you could potentially create an invalid composite profile with no profiles.
2025-02-13 07:35:58 +11:00
Dion Moult
af03953ef7
Apparently you couldn't edit composite profile defs. Now you can.
2025-02-13 07:35:58 +11:00
Thomas Krijnen
cdcbc2ad3b
Fix 2d boolean check for periodic curves #6147
2025-02-12 16:08:32 +01:00
Andrej730
ba2456ad36
Move common code to create_mesh_from_shape
2025-02-12 18:39:27 +05:00
Andrej730
299b5bcf6b
Optimize loading meshes using numpy arrays
...
1) avoid calling geometry.xxx multiple times as each time it creates a new copy
2) use numpy arrays with correct data type, so Blender could perform buffer copy significantly reducing overhead
2025-02-12 18:39:27 +05:00
Andrej730
cb95539cb0
reuse get_cartesian_point_offset
2025-02-12 18:39:27 +05:00
Andrej730
7b78ebc0f3
Fix possible float precision issues similar to f6087613f0
2025-02-12 18:39:27 +05:00
Andrej730
f39e6ccb54
typing
2025-02-12 18:39:27 +05:00
Dion Moult
3e1710c6fc
Fix bug where duplicating a curve (which would result in a new curve) didn't go in the same collection nor was linked to the right item due to a typo
2025-02-12 23:53:54 +11:00
Thomas Krijnen
fac5104bd8
Take into account edge orientation also for polygonal edges #6113
2025-02-12 10:57:30 +01:00
Thomas Krijnen
51c4059771
20.04 is closing down
2025-02-12 10:31:14 +01:00
Dion Moult
f24de9d384
Fix bug where you couldn't add a meshlike object in a boolean hierarchy
2025-02-12 15:36:57 +11:00
Dion Moult
1e08a71c5a
Fix bug where disabling item mode didn't also quit from the boolean editing mode
...
These two modes should be tied together.
2025-02-12 15:31:56 +11:00
Dion Moult
24b4be3ea1
Fix bug where item positions weren't synced before changing numeric attributes
2025-02-12 08:40:21 +11:00
Dion Moult
d2420c2e45
Revert "Hotfix for PyPI < python 3.11". Release made.
...
This reverts commit d093d80698 .
2025-02-12 08:03:36 +11:00
Dion Moult
d093d80698
Hotfix for PyPI < python 3.11
2025-02-12 07:53:20 +11:00
Bruno Perdigão
aef972a518
Enable snapping of overlapped objects when viewport is in x-ray mode.
2025-02-11 12:31:24 -03:00
Bruno Perdigão
06c6fa5dff
Fix #6064
...
Slabs offset are now measured perpendicularly.
2025-02-11 10:33:29 -03:00
Andrej730
f6087613f0
add_representation - use numpy arrays for calculations that include model offset
2025-02-11 18:14:45 +05:00
Andrej730
45e36590eb
Add paste buffer to outliner context menu #6139
2025-02-11 18:14:45 +05:00
Andrej730
7f37acfd38
Fix typo
2025-02-11 18:14:44 +05:00
Andrej730
de2329c352
bim.override_paste_buffer - add description
2025-02-11 18:14:44 +05:00
Andrej730
09abf0c7ab
bim.override_paste_buffer - fix issue when ctrl-v might unlink currently selected ifc elements
2025-02-11 18:14:44 +05:00
Andrej730
77c2e626b3
Add info message on paste
...
Original Blender `view3d.pastebuffer` had an info missing and it wasn't displayed in UI since it's coming from suboperator. New info message also mentions that objects were unlinked from IFC
2025-02-11 18:14:44 +05:00
Andrej730
9ea6a1fc75
typing
2025-02-11 18:14:44 +05:00
Andrej730
5b7964f04c
black .
2025-02-11 18:14:44 +05:00
Andrej730
57d7d83ebb
Fix Python <3.10 support #6141
2025-02-11 16:50:07 +05:00
tim
2f4c3de92d
New icons
...
add_from_closed_loop and add_from_perimeter
2025-02-11 21:32:03 +11:00
tim
136270b566
IFC icon in Scene dropdown
...
custom white mode support for IFC icon in scene drop down menu
2025-02-11 21:31:15 +11:00
tim
557a5f03d2
Icon mode for Open-Recent-IFC-Project
...
Added UIData class with function for storing icon color mode. Open Recent IFC Project icons now supports blender dark, blender light, and custom "white" themes
2025-02-11 21:31:15 +11:00
tim
4e1ff8ea6a
Icon mode for IFC Modes
...
Added UIData class with function for storing icon color mode. IFC Mode dropdown now supports blender dark, blender light, and custom "white" themes
2025-02-11 21:31:15 +11:00
tim
08680d8726
Geographic Element Tool Icon
...
My tree was missing
2025-02-11 21:31:15 +11:00
Dion Moult
53cf1ee0a1
Fix UI bug where changing the profile name didn't result in the UI being refreshed
2025-02-11 20:03:50 +11:00
Dion Moult
ddf7d1b0b9
Change default behaviour of remove_representation not to remove named profiles
...
I guess this is a Bonsaism but it makes sense as named profiles are
significant, and it isn't the first time materials and profiles have
been treated as "rooted" in a sense. It's also annoying to keep on
having my profile library drop off when I'm just switching profiles.
2025-02-11 20:01:19 +11:00
Dion Moult
eeac0a2e30
Fix bug where removing material set items weren't consistent in how they purged materials and profiles
...
Previously remove_profile would purge unused materials and profiles, but
remove_layer and remove_constituent wouldn't. This was as subtle
inconsitency. Now everything by default consistently retains materials
and profiles, and has options to change this default.
2025-02-11 20:00:17 +11:00
Dion Moult
1f83b4f7a0
Fix bug where non-columns would still behave like columns if they were profiled which is unintuitive
...
On second thoughts only columns should go up, everything else should go
wherever you click to. Not really a bug, just an unexpected default.
2025-02-11 18:54:45 +11:00
Dion Moult
ada8cc90ef
Very minor docs rst syntax fix
2025-02-11 18:53:32 +11:00
Andrej730
21562d7e7d
Add distinguishable name for arrays constraints
2025-02-11 12:06:40 +05:00
Andrej730
77f9dbf4f0
small fix for 4c0a7e1ca9
...
mentioned in #6129
2025-02-10 19:11:13 +05:00
Andrej730
875dd37579
Save Blender preferences on Blender Restart #6095
2025-02-10 17:41:28 +05:00
Andrej730
e1c49ad317
Fix error adding transom to parametric door #6129
2025-02-10 16:47:14 +05:00
Andrej730
8e9d4be55d
Improve error logs for failing profiles #6131
2025-02-10 16:47:14 +05:00
Andrej730
65d65972ac
Fix occurrence name function prop missing after ce8bdff
2025-02-10 16:47:14 +05:00
Andrej730
b2d66bbb89
Fix bug where selecting element / element type without representation wasn't updating bim tools active type
2025-02-10 16:47:13 +05:00
Andrej730
d8a250f153
Update Annotation Tool types when selecting elements #6134
...
Similar to other BIM Tools
Update handler.py
2025-02-10 16:47:13 +05:00
Andrej730
4c0a7e1ca9
typing
2025-02-10 16:47:13 +05:00
Dion Moult
11c6b55f7c
Revise the modern COBie 2.4 implementation to also allow PointOfContact/WarrantyPeriod
...
Legacy COBie 2.4 allowed this but not sure why it dropped off.
2025-02-10 17:26:51 +11:00
Dion Moult
1d2214efd9
Fix IfcOpenShell-Python on Python 3.10
...
Elipsis is not allowed for generic typing
2025-02-10 17:26:03 +11:00
Dion Moult
cb027c80f9
Fix dev install script - brick schema directory changed
2025-02-10 10:50:25 +11:00
Dion Moult
44c7c6d14e
Bump to 0.8.2
2025-02-09 16:45:44 +11:00
Dion Moult
3e7f244100
Drop Windows 32bit support for this release as it isn't built. We can restore it in the future if needed.
2025-02-09 14:59:15 +11:00
Dion Moult
da1c92c42b
Bump IOS
...
Previous one didn't have the full matrix, so we can't release with it
2025-02-09 14:53:32 +11:00
Dion Moult
17682498da
Minor UI cleanup for reorganised visibility buttons
2025-02-09 14:53:09 +11:00
Dion Moult
5db6738ac2
Test to see if this has any impact on reloading the add-on.
2025-02-08 19:27:34 +11:00
Dion Moult
eabdb5d281
Consolidate selection and visibility tools in the spatial manager into a single location with a single function for filtering
...
There were a number of inconsistencies between the modes and how keyword
filtering affected results. This should resolve it.
2025-02-08 16:38:29 +11:00
Andrej730
59dd105e99
fix get_applicable_entities / get_applicable_types missing schema #6108
2025-02-08 07:54:49 +11:00
Andrej730
a28070afef
Hide Edit Profile for material sets without profiles #6103
2025-02-08 07:54:49 +11:00
Andrej730
689e2718e5
Fix conversion to profile for breps #6103
2025-02-08 07:54:49 +11:00
Andrej730
a2ab3972c8
bim.update_representation - add note about about material unassignment
2025-02-08 07:54:49 +11:00
Andrej730
667223da8e
typing
2025-02-08 07:54:49 +11:00
tim
1e58a517a0
Dark mode extend icon ( #6112 )
...
dm_extend.png icon was missing
Co-authored-by: tim <tjrhyder@gmail.com >
2025-02-08 07:51:33 +11:00
Dion Moult
fcee54c572
Fix regression when removing an active representation.
...
Some tests removed since they no longer make sense with the new item
editing mode.
2025-02-08 00:21:38 +11:00
Dion Moult
889a9e3891
Tweak failing test to now allow assigning elements to scaled multi-user objects
...
Previously this was not allowed, but I don't see why not
2025-02-08 00:20:25 +11:00
Dion Moult
7bc1992963
Fix regression where adding a new occurrence should not change your active context back to body if you've switched it.
2025-02-07 23:52:55 +11:00
Dion Moult
49c3a55456
Fix failing pset_template tests. Regression in 5bd24b276 for editing pset template properties.
2025-02-07 23:33:33 +11:00
Dion Moult
f11d79f8c1
Fix cost and drawing feature tests
2025-02-07 22:40:17 +11:00
Dion Moult
2cc4f96b7f
Fix failing project feature tests. Fix regression where appending an asset might append a named style twice.
2025-02-07 22:02:44 +11:00
Dion Moult
bb46a1659d
Fix light and georeference feature tests
...
Not setting the year meant our date calc tests would fail every year :)
2025-02-07 17:19:27 +11:00
Dion Moult
f09002c7e2
Fix regression in caeabe2 where actor data didn't load.
2025-02-07 16:58:45 +11:00
Dion Moult
9f75a14204
Update issue templates
2025-02-07 13:31:59 +11:00
Dion Moult
c40d21d945
Fix #6106 . True north must always be 2D.
2025-02-07 13:19:33 +11:00
Dion Moult
0d3245102f
Fix remaining failing tool tests
2025-02-07 13:12:02 +11:00
Dion Moult
3aa4fa580b
Fix regression where you couldn't upgrade schema of IFCs with invalid headers
2025-02-07 12:38:52 +11:00
Dion Moult
4c255cca43
Fix failing model tests and regression 0899a2a8 where switching geometry can invalidate old meshes
...
The fix in 0899a2a8 ensured that when you switched geometry, all other
elements (sharing the same type or representation) would also switch
alongside it. However it would lead to mesh invalidation which broke
some assumptions in the style code. The style code also repeated a lot
of the logic of switch representation (i.e. finding shared
representations) so this seems simpler.
In general the whole representation part of the code is messy and
hopefully over time it'll get better.
2025-02-07 12:35:08 +11:00
Dion Moult
e603ebed04
Fix bug where loading a types ignored style assigned via a material
...
For occurrences, the iterator would populate ios_materials if there is a
material / style associated with it. However, for types we do
create_shape to the representation directly, so we need to do the
material / style check manually.
2025-02-07 12:29:17 +11:00
Andrej730
38e6f09c91
Fix #6096
2025-02-06 18:26:14 +05:00
Andrej730
6473fa4b67
Deprecate workaround for universal wheels
...
Tested on Blender 4.3.2 and universal wheels are now supported without this hack, see https://projects.blender.org/blender/blender/issues/125091
2025-02-06 18:26:14 +05:00
Andrej730
38adaf4d18
Fix running critical tests in ci
2025-02-06 18:26:14 +05:00
Dion Moult
b7fb5c90bc
Continue fixing failing tool tests. Fix regression where UV coordinates might have the wrong order.
2025-02-06 17:22:54 +11:00
Dion Moult
23efb09ba6
Add links to Linux packages
2025-02-06 09:46:59 +11:00
Dion Moult
cf6280b928
Rename BlenderBIM to Bonsai in a few more spots
2025-02-06 09:24:25 +11:00
Andrej730
c16894cabf
Fix bug in 124c028 saving defined unit as defining
2025-02-05 18:27:27 +05:00
Andrej730
5df297c23c
Fix failing facet test after 124c028
2025-02-05 18:27:27 +05:00
Andrej730
b2b3a83463
ci - fix missing ifctester for tests
2025-02-05 18:27:27 +05:00
Andrej730
4b0b0191ba
Test enabling/disabling Bonsai before uploading to unstable repo #6075
2025-02-05 18:27:27 +05:00
Dion Moult
a92306d413
Fix #6097 . Be more defensive against selection state when moving objects into new containers.
2025-02-05 20:28:29 +11:00
Dion Moult
f457ce8270
Fix failing unit/system/geometry tool tests. Fix regression where object scales weren't applied in the new add element approach.
2025-02-05 18:50:37 +11:00
Dion Moult
590c2e120c
Fix failing drawing tool tests. Also consolidate relative paths using tool.Ifc.get_uri.
...
The same issue of handling relative paths, doing as_posix, checking
drives, etc was solved again and again in slightly different ways. This
centralises it.
2025-02-05 17:17:09 +11:00
Dion Moult
13746eb55e
Fix CI job a unique name so it can be used as a requirement for PRs
...
It seems as though the UI only selects by job name and we use the name
"build" everywhere.
2025-02-05 14:28:42 +11:00
Dion Moult
55b9c7d6bf
Fix failing ifcpatch tests
2025-02-05 14:10:41 +11:00
Dion Moult
e86624873b
Fix segfault from editing a IFC2X3 georeferencing pset with a null map unit.
...
Doing createIfcIdentifier(None) segfaults.
2025-02-05 14:10:41 +11:00
Andrej730
ae11f205f3
Fix missing unregister for some tools #6075
...
PileTool, PlateTool, RampFlightTool, StairFlightTool were never unregistered leading to issues on Bonsai update
2025-02-04 17:37:57 +05:00
Andrej730
457f9c6aef
Select pset template for the pset in pset template ui for editing
...
Example - https://imgur.com/a/h46Ewhk
2025-02-04 17:37:56 +05:00
Andrej730
cc88bd4a9d
Fix issue adding project library if other library was already in edit
2025-02-04 17:37:56 +05:00
Andrej730
8f74f4d9f1
Change IfcProjectLibrary's parent library from UI
...
Example - https://imgur.com/a/4PZr0px
It's very clunky and mainly exposed just to be available in some way, it will all make more sense when we display project libraries as trees in project library ui.
2025-02-04 17:37:56 +05:00
Andrej730
56f0c19a85
append_asset to support IfcPresentationLayerAssignment #6023
2025-02-04 17:37:56 +05:00
Andrej730
76747bdf5a
Recent files - dim button for filepaths that do not exist
...
Example - https://i.imgur.com/dwEBtG6.png
2025-02-04 17:37:56 +05:00
Andrej730
a4de196259
space module operators - remove unnecessary ifc operators
2025-02-04 17:37:56 +05:00
Andrej730
049b157c8a
bim.toggle_space_visibility - description
2025-02-04 17:37:56 +05:00
Andrej730
7ec1bc5272
Fix error toggling boundary decorations after one was removed #6088
2025-02-04 17:37:56 +05:00
Andrej730
d4f44cb0a1
typing
2025-02-04 17:37:55 +05:00
Andrej730
ecd7282150
black .
2025-02-04 17:37:55 +05:00
Dion Moult
bd2c3a0ca1
Continue fixing tool tests.
...
Just chipping away at it give me time.
2025-02-04 17:04:29 +11:00
Louis Trümpler
f0f2dda40e
Add assign constituent fractions recipe ( #5979 )
...
* Add AssignConstituentFractions recipe
* license, units & added context description
* removed src, using better unit handling and several other small improvements based on feedback
2025-02-04 14:23:08 +11:00
Dion Moult
0c41f0c32c
Fix #6094 . Fix failing core tests.
2025-02-04 13:36:28 +11:00
Dion Moult
a35ef32ee6
Forgot to commit docs for serialiser settings
2025-02-04 07:35:34 +11:00
Andrej730
00eff23b74
Rename bim_boundary_properties -> BIMBoundaryProperties for consistency
2025-02-03 17:43:01 +05:00
Andrej730
88af3eb1a6
Explicitly enable Bonsai in the second Blender instance #6092
...
To cover cases when Bonsai was enabled in current Blender sesssion and user prefs are not saved.
2025-02-03 17:28:48 +05:00
Andrej730
a48d774337
typing
2025-02-03 17:28:47 +05:00
Andrej730
734cd47ea5
black .
2025-02-03 17:28:47 +05:00
Dion Moult
5159a69225
Fix #6070 . Button was pointing to the wrong function to confirm/cancel editing an extrusion profile.
...
Probably a copy paste mistake during the UI refactor.
2025-02-03 23:07:16 +11:00
Dion Moult
2f2072cf7f
Fix #6080 . Bug where renaming introduced suffixes during bulk reassignment of classes.
2025-02-03 23:00:04 +11:00
Andrej730
8c47f2a72f
Fix issue infinitely adding new ports on bim.show_ports #6074
2025-02-03 16:37:51 +05:00
Andrej730
a6632167be
system module operators - remove unnecessary ifc operator
2025-02-03 16:37:46 +05:00
Andrej730
12d1fd221d
Clean up orphaned curves creating new elevation/section annotations
2025-02-03 13:45:54 +05:00
Andrej730
10642618e5
Fix error entering item mode for elevation/section annotations #6081
2025-02-03 13:45:54 +05:00
Andrej730
be4f6ac222
small fix for 3eaf4367ad
2025-02-03 12:45:05 +05:00
Andrej730
3eaf4367ad
Fix #6082
2025-02-03 12:40:36 +05:00
Andrej730
305b4c27b5
fix a typo
2025-02-03 11:45:41 +05:00
Andrej730
b56f2d7514
black . - ignore simple_spf submodule
2025-02-03 11:43:08 +05:00
Andrej730
cf026dccc2
bump ios build #5987
2025-02-03 11:43:08 +05:00
Dion Moult
c5185aaf54
Fix #6085 . Failing unit test.
2025-02-03 16:33:04 +11:00
Dion Moult
50ed756353
Found out layer names don't exist in IFC2X3 that's incredible
2025-02-03 16:04:56 +11:00
tim
0f0578e1c5
Geographic Element Tool ( #6089 )
...
New icon tool for adding landscape elements
Co-authored-by: tim <tjrhyder@gmail.com >
2025-02-03 15:38:10 +11:00
Herlianto
0d086fda33
delete unused import ( #6093 )
2025-02-03 15:35:55 +11:00
Dion Moult
f3f7510b48
Fix #6087 . (again)
...
I don't know why depress was used. To make it colour in blue?
2025-02-03 12:36:18 +11:00
Thomas Krijnen
b2a4529904
Don't fail on empty build deps cache #6054
2025-02-02 10:00:56 +01:00
Thomas Krijnen
7de50ff0c5
Don't fail on empty build deps cache #6054
2025-02-02 09:46:13 +01:00
Thomas Krijnen
7b0a7e51bb
Try 'Build IfcOpenShell Linux ARM' workflow #6054
2025-02-02 09:35:15 +01:00
Thomas Krijnen
507d13363d
delete obsolete files
2025-02-02 09:21:01 +01:00
Thomas Krijnen
9713b06d75
delete obsolete files
2025-02-02 09:01:24 +01:00
Dion Moult
be6a4de6f0
Fix #6087 . High CPU usage due to function in draw call.
...
I assume this is the problem.
2025-02-02 17:05:56 +11:00
Dion Moult
ea85a4247a
Fix #6079 . Regression in editing space boundaries due to leftover line in commit.
2025-02-01 16:42:06 +11:00
tim
f377d794a0
Unify icon modes to work with default Blender Light theme ( #6078 )
...
Force the color of the icons in the Properties-Scene tab to match Regular Text
Use the icon display mode function to detect where to use dm_ifc.png or lm_ifc.png
Co-authored-by: tim <tjrhyder@gmail.com >
2025-02-01 16:18:48 +11:00
tim
16d077f1cb
Rename dm_IFC.png to dm_ifc.png ( #6076 )
...
renaming to lowercase to match lm_ifc presidents.
2025-02-01 16:18:26 +11:00
Dion Moult
3f62f72f35
See #2981 . First attempt at having the door generator also do shape aspects, material constituents, and styles all simultaneously
2025-02-01 16:15:58 +11:00
Dion Moult
dc79e9e005
More utility functions to jump between representations, styles, and shape aspects
...
It's a bit uncertain where these belong best, we'll find out over time
2025-02-01 16:11:37 +11:00
Dion Moult
d25f57ec40
See #2981 . Adding a door representation now also adds associated shape aspects
...
It doesn't add materials though, that's a separate responsibility right
now
2025-02-01 16:02:57 +11:00
Dion Moult
9f93779ac2
Adding set items can now specify a name at creation for convenience
2025-02-01 16:00:43 +11:00
Dion Moult
8436817408
Update incorrect docs and raise suspicion about how shape aspect styles are assigned
2025-02-01 15:55:34 +11:00
Dion Moult
1a98504328
Fix bug and typo where getting shape aspects for non-geometric types (e.g. walls) would fail
...
This caused an error when updating a style of a material used in a wall
type
2025-02-01 15:54:57 +11:00
Bruno Postle
1680c3135a
Update to latest ifcmerge on Windows
...
Handle missing IfcRelationship - eg. if all sofas are deleted the
IfcRelDefinesByType is deleted too, but we reincarnate as an empty list
so it can be merged.
Sanity check internal graph - If an entity is deleted in one branch but
has a new usage in another branch, merging would break the graph leaving
a dangling reference. ie. now you can't delete types, materials etc..
in one branch while using them for new objects in another and still
expect the merge to succeed.
2025-01-31 15:05:34 +00:00
Dion Moult
79e4ba5b19
New usecase to add shape aspect with tests
2025-02-01 00:46:00 +11:00
Andrej730
d6d1f7714f
black . to ignore ifcconvert's cityjson submodule
2025-01-31 18:21:23 +05:00
Andrej730
68543c7f05
Simplify types used in debug module express methods #6071
2025-01-31 18:21:14 +05:00
Andrej730
135655f8a0
bim.add_pset - remove unnecessary ifc operator
2025-01-31 17:12:32 +05:00
Andrej730
df49356104
Support adding a new IfcProjectLibrary from UI
...
Example - https://imgur.com/a/NUQkvHf
2025-01-31 17:12:31 +05:00
Andrej730
04bcf8e2a9
Fix error switching between libraries
2025-01-31 17:12:31 +05:00
Andrej730
9f17ec5bf5
Support editing project library attributes
...
Example - https://imgur.com/a/MFtLDlh
2025-01-31 17:12:31 +05:00
Andrej730
67aa8f1413
Update project library enum on changing library file
2025-01-31 17:12:31 +05:00
Andrej730
8469d10c85
Project library UI - make filter optional and allow assigning to different libraries
2025-01-31 17:12:31 +05:00
Andrej730
87cbc66c99
typing
2025-01-31 17:12:31 +05:00
Andrej730
c2ae3dcb08
append_asset - extend existing rels matching them by project guid
...
Mentioned in #6039
2025-01-31 17:12:31 +05:00
Andrej730
089f15a5cc
fix a typo
2025-01-31 15:06:37 +05:00
Thomas Krijnen
919df92888
Virtual inheritance configurable at codegen time
2025-01-30 13:12:42 +01:00
Andrej730
553872ced2
append_asset - fix issue appending elements that have as_entity() -> None #6037 #6039
2025-01-30 16:06:19 +05:00
Andrej730
bc33cb6391
append_asset - remove unnecessary partial
2025-01-30 16:06:19 +05:00
Dion Moult
d010d4e1b5
Fix #6067 . Bug where adding a door ignored the Z offset option.
2025-01-30 19:52:33 +11:00
Andrej730
af29f264a8
Show info message when trying to edit presentation layer and project has no layers #6051
...
Instead of the error.
Also fix a bug with update callback was attached to the wrong prop.
2025-01-30 13:42:01 +05:00
Dion Moult
2570864f58
Fix #6066 . Bug where spatial manager didn't toggle visibility correctly for spaces.
...
Previously I was only toggling Blender collections which is an
optimisation for large projects but will result in incorrect behaviour
if things aren't in the collection you think they're in. So for now it's
slower but more correct. We can optimise it later.
2025-01-30 19:17:12 +11:00
Dion Moult
2ad48aba36
Fix bug where download CSV icon would disappear on web interface after refreshing table data
2025-01-30 18:55:05 +11:00
Dion Moult
4e17a2d6de
The shape builder can now create half space solids for convenience
2025-01-30 18:44:38 +11:00
Dion Moult
eaaec4a12d
Fix ridiculous bug where util.element.get_container didn't consider all parents and therefore didn't correctly contain feature elements in the spatial hierarchy
2025-01-30 18:44:27 +11:00
Dion Moult
abec29af7f
Fix attribute tests. Turns out latest pytest-bdd is stricter when parsing feature files and fails when encountering our blank demo tutorial file.
2025-01-30 17:59:13 +11:00
Dion Moult
838e22d27c
Fix #6060 . Updating long name in spatial manager now also edits attribute for convenience.
...
Editing attributes now also refreshes the spatial manager (i.e. vice
versa), and so does bulk attribute copying.
2025-01-30 17:47:29 +11:00
Dion Moult
8f78fe56de
Prevent copying globalids to selected objects as it makes no sense
2025-01-30 17:46:23 +11:00
Andrej730
e435863500
Fix missing pset templates after 5e93097 #6049
2025-01-30 11:30:52 +05:00
Dion Moult
15d43e9166
Fix bug where spatial object may not exist when renaming from the spatial tree (e.g. partial loads), and also refresh UI (to see updated attributes)
2025-01-30 17:07:57 +11:00
Dion Moult
1768026891
Fix #5854 . Update docs with new IOS v0.8 settings.
2025-01-30 15:32:14 +11:00
sboddy
d6443e46f6
Update debugging guide to deal with MS's Marketplace changes. ( #6035 )
2025-01-30 08:08:28 +11:00
tim
77722fcf89
New Tools ( #5983 )
...
* New tools wip
- New icons: Opening, Furniture, Roof, Railing
- New groupings
- New tools: Opening tools (not working), Furniture (needs default), Roof
- New defaults: Railing, Roof (Hip Roof doesn't work)
* WIP on (no branch)
* Railing icon fixed
* New icons added, old icons tweaked
* Working version
* Just updating some wip - not ready for review yet
* Tool icon update
- New: pile, plate, ramp, ramp flight, stair, stair flight, roof, railing, footing, member, curtain wall
- Updated: wall, window, door, cable
- Expanded tool descriptions to include predefined types
- Added relevant default types
- Revised tool grouping
* IfcStairType and IfcRampType icon's removed
* Curtain wall removed
---------
Co-authored-by: tim <tjrhyder@gmail.com >
2025-01-30 08:07:54 +11:00
Thomas Krijnen
241329325d
Update ci.yml - 22.04
2025-01-29 20:10:19 +01:00
Bruno Perdigão
2e70544bb8
Adjust offset in "change_extrusion_x_angle" to maintain position relative to the slab's top face.
2025-01-29 14:01:23 -03:00
Bruno Perdigão
03267a441a
Fix #6058
2025-01-29 14:01:23 -03:00
Kipre
4bee713455
Fix transform matrix computation in Axis2Placement3D
2025-01-29 15:37:59 +01:00
Andrej730
1d6e560b4f
Change entire material category name from UI #6061
...
Example - https://imgur.com/a/LJUkC2l
2025-01-29 18:16:05 +05:00
Andrej730
71a6ad8cb0
Display assets count for the loaded library
...
Example - https://imgur.com/a/yZTkZgu
2025-01-29 18:16:05 +05:00
Andrej730
83d7cda26b
Select IfcProjectLibrary to display for the loaded library
...
Example - https://imgur.com/a/14LOL0J
2025-01-29 18:16:05 +05:00
Andrej730
8bddde49a2
Hide assign/unassign library declaration button for elements that cannot be declared
...
E.g. IfcMaterials, IfcProfileDefs
2025-01-29 18:16:05 +05:00
Andrej730
909a7ad7a2
Project libraries UI - use cached project library data
...
instead of accessing IFC directly on every draw call
2025-01-29 18:16:05 +05:00
Andrej730
c9da643fe1
typing
2025-01-29 18:16:04 +05:00
Andrej730
0599138bca
Fix #6050 after 5e93097
2025-01-29 17:25:30 +05:00
Andrej730
871710a0aa
Fix remove_representation error #6059
...
After to_delete was explicitly added as an attribute to ifcopenshell.file (previously it was kind of hacky assigned during batch remove).
2025-01-29 16:02:50 +05:00
Andrej730
85e0fa9147
assign/unassign layer - mention representations
2025-01-29 16:02:50 +05:00
Dion Moult
5d3dc84556
Tabbing now works consistently on all elements including those with usage
...
This means that seeing the extrusion type graphically is now possible,
adding booleans is now through a consistent interface. It's still
possible to immediately edit the axis via Alt-E and profile via Shift-E.
This helps consoliate code too.
2025-01-29 21:38:01 +11:00
Dion Moult
a9abf1e993
Forgot to remove these mentions
...
Still need to update tests
2025-01-29 21:32:26 +11:00
Dion Moult
c2b00e09cf
Remove elements menu and purge the "potential" openings feature as this is now properly integrated in the new element menu
2025-01-29 19:55:42 +11:00
Dion Moult
121af475a7
The collector should be responsible for handling global fixed display settings too perhaps
2025-01-29 19:54:25 +11:00
Dion Moult
424cd96fef
Add warning that api.run is deprecated
2025-01-29 19:53:50 +11:00
Bruno Postle
84392f1457
Typo: strucutural > structural
2025-01-28 21:20:20 +00:00
raj-open
1b3b74127a
guid-stdlibs > v0.8.0: linting
2025-01-28 21:46:34 +01:00
raj-open
85308133e2
guid-stdlibs > v0.8.0: added unit tests
...
NOTE: added in prefix-cases post PR review
2025-01-28 21:46:34 +01:00
raj-open
64a027cfba
guid-stdlibs > v0.8.0: linting
2025-01-28 21:46:34 +01:00
raj-open
285c4bff67
guid-stdlibs > v0.8.0: used underlying base64-to-hex to speed up computations
...
NOTE: The conversions remain exactly as before. But by using standard libraries for conversion, we clean up computations.
2025-01-28 21:46:34 +01:00
Bruno Perdigão
c2c2d2d8f3
Revert 87c7309724. I misunderstood the expected behavior.
2025-01-28 17:37:20 -03:00
Bruno Perdigão
87c7309724
See #5938 . Fix bug where x_angle where changing the wall thickness.
2025-01-28 16:28:23 -03:00
Bruno Perdigão
d9903e93f2
See #5938 . This commit starts fixing this issue by:
...
- Fix wall decorator with obtuse angles.
- Preventing slabs from using obtuse angles, for now.
2025-01-28 16:10:17 -03:00
Andrej730
ab0549daa6
Support editing representation's presentation layers from UI
...
Example - https://imgur.com/a/QgtSUoq
2025-01-28 17:22:26 +05:00
Andrej730
f43e33b969
apped_asset - fix passed removed elements after 3ffc0bc #6044
...
Before 3ffc0bc checking identities were handled by file.add but now it's handled append_asset, therefore should be a way to clean removed entities.
2025-01-28 17:22:26 +05:00
Andrej730
cc014e9792
Change message when no object queries in a linked model
...
to give a hint for new users
2025-01-28 17:22:26 +05:00
Andrej730
c0306fc729
typing
2025-01-28 17:22:26 +05:00
Andrej730
7b94a8d1f5
black .
2025-01-28 17:22:25 +05:00
Andrej730
7bfe844d53
Rename void to feature in code 03bfd828e2
2025-01-28 15:23:43 +05:00
Andrej730
23648ef221
remove duplicated add_feature method
...
It was moved to feature module in 03bfd828e2
2025-01-28 15:23:43 +05:00
Dion Moult
693244e20e
Fix bug in SetFalseOrigin which incorrectly handled z height and also add ability to handle non-mapconversion based transformations.
...
I can't believe I accidentally left out the minus sign. The ability to
handle simple remapping of location A --> B is useful for software that
doesn't support map conversion properly.
2025-01-28 17:33:15 +11:00
Dion Moult
03bfd828e2
See #5919 . API now has support for features, not just openings. Void module is renamed to feature.
2025-01-28 14:18:17 +11:00
Dion Moult
5300f4c78f
Fix failing tests
2025-01-28 10:54:37 +11:00
Dion Moult
8e29e7cdee
Be a bit more forgiving in calculate unit scale to not glitch out on models with no project.
...
It's technically invalid but useful for small snippets.
2025-01-28 10:46:24 +11:00
Dion Moult
6e0954e855
Purge constants file that came from PR.
2025-01-28 10:45:54 +11:00
Dion Moult
4d052ba864
Fix bug where decorator had errors if the 3D location was outside the 2D window.
...
Checking for none for `location_3d_to_region_2d` should always be done.
2025-01-28 10:33:08 +11:00
Bruno Perdigão
562c32b96e
Fix issue where area measurement lines where not showing correctly.
2025-01-27 18:58:02 -03:00
Bruno Perdigão
818ad536af
Small fix after a4a52d6576
2025-01-27 18:49:19 -03:00
Bruno Perdigão
a4a52d6576
Make slab's editing profile to horizontal orientation when x_angle is present.
2025-01-27 15:16:22 -03:00
Bruno Perdigão
47b2a00614
Fix Z location for wall axis decorator
2025-01-27 10:59:21 -03:00
Andrej730
ff4d3adf0b
Select Layer In Layers UI
...
Example - https://imgur.com/a/bXctIxc
2025-01-27 17:41:32 +05:00
Andrej730
13a182cd95
Representation Items UI - support editing layers
...
Example - https://imgur.com/a/3fn051N
2025-01-27 17:41:31 +05:00
Andrej730
56af23b89f
revert possible empty layer names in ui
2025-01-27 17:41:31 +05:00
Andrej730
605cf8d99a
Styles UI - add indicator for currently edited style
...
Example - https://i.imgur.com/YT0a63S.png
2025-01-27 17:41:31 +05:00
Andrej730
744487c786
fix test_element after 7b62b03
2025-01-27 17:41:31 +05:00
Andrej730
b735ce74ad
Bonsai - Select By Profile operator
...
Location - https://imgur.com/a/gInY1sl
2025-01-27 17:41:31 +05:00
Andrej730
5fe77b659a
ifcopenshell.util.element.get_elements_by_profile
2025-01-27 17:41:31 +05:00
Andrej730
e71a220f21
typing
2025-01-27 17:41:30 +05:00
Andrej730
5bd24b2760
Enable pset template prop editing on adding a new one #6019
2025-01-27 17:41:30 +05:00
Andrej730
14a792a1e7
Enable pset template editing on adding a new one #6019
2025-01-27 17:41:30 +05:00
Andrej730
7b4fa6b5c0
black .
2025-01-27 17:41:30 +05:00
Gorgious56
378086ac7b
Fix bug when trying to delete an opening object that was already deleted
2025-01-27 12:56:27 +01:00
Dion Moult
c4dbbe85fc
Fix bug where library wasn't actually removed when unlinking an IFC.
...
Previously the collection and scene object was removed, but this is
obviously not sufficient since the bpy.data.library still exists (which
meant that if you relinked it, regardless of your cache setting, it'd
just load the existing Blender file which is completely useless).
2025-01-27 20:41:26 +11:00
Dion Moult
559db259a3
See #6030 . Add isolate, show, and hide operators to group manager.
2025-01-27 17:14:13 +11:00
Dion Moult
3582dc43d9
Add tests for PR #5257 (using cache for fetching units)
2025-01-27 14:40:15 +11:00
Dion Moult
c0aaebcbe9
Fix bug where assigning units didn't necessarily assign to the project, and also didn't overwrite existing units of the same type.
2025-01-27 14:23:02 +11:00
Dion Moult
4af6c24314
Completely untested refactor of #5257 .
...
Removes dependency of file to util (util should depend on file, not vice
versa). Removes auxiliary method.
2025-01-26 21:11:11 +11:00
Dion Moult
ecd72912aa
Purge constants from PR #5257 .
...
I'm not sure I agree here, considering that types are dynamic based on
schema version.
2025-01-26 19:07:02 +11:00
Raj
124c02897c
Feature faster unit method ---> Main ( #5257 )
...
* feature_faster_unit_method > main: added constants
* feature_faster_unit_method > main: extended `file` class to dynamically save unit information
* feature_faster_unit_method > main: refactored `get_property_unit` method
1. split out case that returns the wrong type (dictionary of units) into its own method
2. cleaned up (but preserved) logic
3. refactored common part of all cases (the method which prioritises unit then value-entity then measure_class)
---------
Co-authored-by: raj-open <raj-open@users.noreply.github.com >
Co-authored-by: Dion Moult <dion@thinkmoult.com >
2025-01-26 19:04:49 +11:00
Raj
3b1e893d34
Linting-Workflow ---> v0.8.0 | Make wf only fail on syntax errors instead of unformatted code ( #6041 )
...
* linting-workflow > v0.8.0: make QA only throw warning instead of error on unprettified code with no syntax errors
Without a Linting policy, the workflow should only fail if code base contains syntax errors.
* linting-workflow > v0.8.0: better logging
* linting-workflow > v0.8.0: changed instruction to notice-type
---------
Co-authored-by: raj-open <raj-open@users.noreply.github.com >
2025-01-26 18:54:46 +11:00
Bruno Perdigão
2b1a59a4f8
Refactor how offset and direction sense interact for wall and slabs.
2025-01-25 16:05:04 -03:00
Dion Moult
c49ca699eb
Forgot to commit new feature tool
2025-01-25 21:39:54 +11:00
Dion Moult
75c6505121
See #5919 . You can now add openings through "Add Element" just like everything else.
...
This means that openings can (and default to) start with extrusions. It
also starts to open up the possibility to add other types of feature
elements. Still really incomplete.
2025-01-25 20:43:08 +11:00
Dion Moult
2c531501c3
Fix #5614 . Fix bug where removing an object that had voids showing didn't also remove the voids.
2025-01-25 16:36:57 +11:00
Dion Moult
eab527e7a2
Fix #6033 . Add tools for generate slab from wall and vice versa in the toolbox. Still needs a nice icon.
2025-01-25 15:59:11 +11:00
Dion Moult
83368d7ee1
Fix #6014 . Incorrect units used for position matrix when detecting profiles. Fix by @brunoperdigao
2025-01-25 15:20:01 +11:00
Dion Moult
38835a4092
See #6030 . You can now select elements in groups recursively.
2025-01-25 14:11:42 +11:00
Dion Moult
a2a4da596f
Fix #6030 . Consolidate group management into single UI and allow for bulk assign / unassign.
2025-01-25 14:01:56 +11:00
Bruno Perdigão
5fbb496818
Improve wall axis decorator.
...
- Blue: base
- White: side
- Green: reference
- Arrow: direction
See: https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcMaterialLayerSetUsage.htm
2025-01-24 16:46:03 -03:00
Bruno Perdigão
8b3bf8200f
Add wall and slab regeneration when editing layer set usage, after 755d178b6b
2025-01-24 16:36:24 -03:00
Andrej730
fbab13339c
set_material_name to prevent triggering name callback if it's not necessary
2025-01-24 18:45:14 +05:00
Andrej730
57150e9f63
deprecate style.edit_presentation_style listener
2025-01-24 18:45:14 +05:00
Andrej730
e4ded8c477
Fix editing IfcSurfaceStyle attributes
...
Apparently it was broken for a while now...
2025-01-24 18:45:14 +05:00
Andrej730
d21c24b070
Bonsai - support editing IfcPresentationLayerWithStyle attributes
...
Example - https://imgur.com/a/JRs8RZm
2025-01-24 18:45:13 +05:00
Andrej730
e3ea12a517
Reuse export_attributes for layers, groups, constraints, classifications
2025-01-24 18:45:13 +05:00
Andrej730
60f8044820
Support adding IfcPresentationLayerWithStyle from UI
...
Example - https://i.imgur.com/0mssU2s.png
2025-01-24 18:45:13 +05:00
Andrej730
d5b1b6f66a
Reuse draw_attributes for groups, layers, structures and systems
2025-01-24 18:45:13 +05:00
Andrej730
f3fc55f246
Change <logical> primitive data type from bool to enum
...
As it also has a third value "UNKNOWN" which has it's own meanig in IFC and therefore IfcLogical cannot be represented by simple booleans.
Example in Bonsai - https://i.imgur.com/xuPMcwA.png
2025-01-24 18:45:13 +05:00
Andrej730
d37caedda7
layer.add_layer_with_style
2025-01-24 18:45:12 +05:00
Andrej730
d1082897b1
bim.select_representation_item - add poll message
2025-01-24 18:45:12 +05:00
Andrej730
c12636f4cc
black .
2025-01-24 18:45:12 +05:00
Andrej730
35d20e649d
button to open pset templates user folder
...
to make it more discoverable
Example - https://i.imgur.com/BKN3rkj.png
2025-01-24 12:57:41 +05:00
Andrej730
5c7bea6dea
bim.open_path - utility operator
2025-01-24 12:57:40 +05:00
Andrej730
d979c6a044
bim.open_uri - display url in description
2025-01-24 12:57:40 +05:00
Andrej730
65f2da4beb
Fix creating pset templates after 5e930972d6 #6017
2025-01-24 12:34:36 +05:00
Dion Moult
755d178b6b
Fix bug where adding / removing layers never triggered a regeneration of walls.
...
Continue our slow, ongoing purge of listeners.
2025-01-24 17:28:45 +11:00
Dion Moult
f1187e33d9
Don't show IFC product selection in the type manager since it's assumed to be IfcElementType from context
2025-01-24 16:36:07 +11:00
Dion Moult
2ec7882c57
Fix #6034 . Boundary module now uses the collector tool like everything else.
2025-01-24 09:57:33 +11:00
Dion Moult
1083651d0a
Bump IOS back up to 2024-12-14
2025-01-24 09:49:44 +11:00
Dion Moult
03bd34d98c
Workaround for speed regression in advanced brep models. See #5999 .
2025-01-24 09:47:17 +11:00
Bruno Perdigão
fa174feaae
Refactor wall offset and direction after f724bb692
2025-01-23 15:33:39 -03:00
Bruno Perdigão
5ec5594c69
Polyline slab tool - You can now change offset and direction
...
As it was implemented in Polyline wall tool, the user can press "O" to
change offset and "F" to flip the direction
2025-01-23 15:33:39 -03:00
Bruno Perdigão
4f77df99a5
Add slab preview decorator
2025-01-23 15:33:39 -03:00
Thomas Krijnen
fa191e44f2
cgal kernel: Move orientation logic #5987
2025-01-23 16:35:51 +01:00
Thomas Krijnen
638b2c59ea
Catch string encoding errors and set status #5992
2025-01-23 16:20:06 +01:00
Bruno Perdigão
4aff6ac842
Fix profile tool after 8b678309f
2025-01-23 11:21:29 -03:00
Andrej730
f67e3f35c7
Fix error tabbing into point cloud representations
2025-01-23 18:14:17 +05:00
Andrej730
1ea6d2a194
Add IfcStructuralPointConnection to reimport_element_representations
2025-01-23 18:14:17 +05:00
Andrej730
3c96ad2965
Fix error tabbing into IfcStructuralPointConnections
2025-01-23 18:14:17 +05:00
Andrej730
4ee8176654
Bonsai to display units for force measure props
...
Example - https://i.imgur.com/EhcyIxp.png
2025-01-23 18:14:17 +05:00
Andrej730
4717dffcdc
Bonsai - assign/unassign structural model for all selected elements
2025-01-23 18:14:17 +05:00
Andrej730
3eeb58dded
assign_structural_analysis_model to support batching
2025-01-23 18:14:17 +05:00
Andrej730
70f17c2094
Structural operators - remove unnecessary Ifc Operators
2025-01-23 18:14:17 +05:00
Andrej730
2e71765f4f
Fix structural operator names for consistency with Blender naming
2025-01-23 18:14:16 +05:00
Andrej730
582476cabe
Fix LoadGroupDecorationData data item name for consistency
2025-01-23 18:14:16 +05:00
Andrej730
8f9417a59a
Fix UI errors in Structural Analysis panel when project has no IfcStructuralAnalysisModel
2025-01-23 18:14:16 +05:00
Andrej730
e18475e1ef
Use cancel icon for disabling operators for consistency
2025-01-23 18:14:16 +05:00
Andrej730
d38608ea04
Fix UI errors with not unset active library id after disabling editing
...
It lead to UI errors when library was removed and Bonsai was still trying to get it from active_library_id.
2025-01-23 18:14:16 +05:00
Andrej730
42d01ac222
Fix append_asset conversion issue after 3ffc0bc #6012
...
Custom file.add wasn't considering IfcLengthMeasure attributes...
2025-01-23 18:14:16 +05:00
Andrej730
5bc91ec4e4
append_asset - fix bug identifying None profiles as equivalent
2025-01-23 18:14:16 +05:00
Andrej730
ad99990f17
typing
2025-01-23 18:14:15 +05:00
Andrej730
8dce7b9f68
black .
2025-01-23 18:14:15 +05:00
Bruno Perdigão
d8342134a0
Wall polyline tool - refactor offset functionality
2025-01-23 09:31:28 -03:00
Bruno Perdigão
8b678309fd
Refactor polyline tool instructions.
...
Follows 8fc0d7a808
2025-01-23 09:31:28 -03:00
Bruno Perdigão
88dc9d7633
Enable "shift + mouse wheel" to function before locking angle.
2025-01-23 09:31:28 -03:00
Bruno Perdigão
09dbae7c56
Replace hard-coded unit scale with ifcopenshell.util.unit.calculate_unit_scale
2025-01-23 09:31:28 -03:00
Dion Moult
c6b64baccb
Fix #6028 . Deprecate schema dir as it's basically just data.
2025-01-23 23:10:40 +11:00
Dion Moult
15bc968179
Remove dead code from schema.py
...
Slowly getting to a point where we can completely delete this legacy
file.
2025-01-23 22:59:41 +11:00
Dion Moult
b7e4904905
Change gitkeep into gitignore and move ignore up to root gitignore
...
I kept on getting confused on why things were being ignored in the data
dir and didn't know where to look.
2025-01-23 22:48:25 +11:00
Kipre
039b7ef4ca
Fix issue with eliminate_touching_operands
2025-01-23 11:23:34 +01:00
Dion Moult
e2f10a5784
Minor UI improvement to keep the right alignment of total elements in the material manager
2025-01-23 20:54:43 +11:00
Dion Moult
adff44febd
Snaps are on by default
...
Users can still turn them off. We are a precision modeling app after all
:)
2025-01-23 20:44:20 +11:00
Dion Moult
35d2791657
Fix warning when aggregate decorator cannot be drawn on the screen.
2025-01-23 20:29:21 +11:00
Scott Lecher
a7a9fcc73a
adds calculations for projected_length of gradient curve segments ( #6006 )
2025-01-22 15:37:29 -08:00
Andrej730
5c3045b4db
Temporarily disable 3ffc0bc due to a bug with units conversion
2025-01-22 20:45:06 +05:00
Andrej730
b812d21282
Fix non-existent name argument in add_si_unit docs
2025-01-22 19:07:44 +05:00
Andrej730
083aa4da85
Fix error after 5e93097
2025-01-22 19:07:44 +05:00
Andrej730
605a29786c
Fix tests after 7b62b03
...
Since calculate_unit_scale now requires a project.
def calculate_unit_scale(ifc_file: ifcopenshell.file, unit_type: str = "LENGTHUNIT") -> float:
"""Returns a unit scale factor to convert to and from IFC project units and SI units.
Example:
.. code:: python
ifc_project_length * unit_scale = si_meters
si_meters / unit_scale = ifc_project_length
:param ifc_file: The IFC file.
:param unit_type: The type of SI unit, defaults to "LENGTHUNIT"
:returns: The scale factor
"""
> if not (units := ifc_file.by_type("IfcProject")[0].UnitsInContext):
E IndexError: list index out of range
2025-01-22 18:24:52 +05:00
Dion Moult
3dfc7097b2
Fix #6013 . Fix bug where Blender object names weren't updated when using copy attributes.
2025-01-22 22:54:58 +11:00
Andrej730
4adca79301
Fix edit_attributes triggering name_callback and adding indices to names #6013
...
It was triggering name_callback, adding indices to the names and writing the name with index to ifc.
Also now check previous and new object name explicitly instead of relying on `obj.name` as it may have Blender indices (Blender doesn't support multiple objects sharing the same name).
2025-01-22 16:35:23 +05:00
Andrej730
a8672bc5cb
root.set_object_name to reuse loader.get_name
2025-01-22 16:35:23 +05:00
Andrej730
882bacf91a
bim.copy_attribute_to_selection - add info message
...
It's important to have somewhere information on how many elements were actually affected since some of the selected objects may not support the used attribute.
Example - https://i.imgur.com/UrLNWcF.png
2025-01-22 16:35:23 +05:00
Andrej730
23a6721f8e
Fix bim.copy_attribute_to_selection missing undo
2025-01-22 16:35:23 +05:00
Andrej730
db93ca1067
bim.inspect_from_object - support representation items
2025-01-22 16:35:22 +05:00
Andrej730
f02fd69934
Bonsai - deprecate bpy.app.version checks
...
As we support only Blender 4.2+
2025-01-22 16:35:22 +05:00
Andrej730
74a9669fa8
Fix error tabbing into IfcRevolvedAreaSolid with a boolean + add resolve_base_items
...
resolve_items couldn't find IfcRevolvedAreaSolid inside a boolean result
2025-01-22 16:35:22 +05:00
Andrej730
6ce4b5d0e8
Fix error selecting boolean (RepresentationItemObject missing ifc_definition_id)
2025-01-22 16:35:22 +05:00
Andrej730
391091ad12
typing
2025-01-22 16:34:58 +05:00
Andrej730
a774a75509
black .
2025-01-22 16:00:11 +05:00
Andrej730
06f25b9846
bim.select_boolean - fix operator name
2025-01-22 11:50:49 +05:00
Andrej730
b752f798bd
bim.enable_editing_booleans - add poll message
2025-01-22 11:50:48 +05:00
Andrej730
5ca615114f
Also support changing profile for other sweptsolids
...
E.g. changing it for IfcRevolvedAreaSolid - https://imgur.com/a/jHOC8rt
2025-01-22 11:50:48 +05:00
Bruno Perdigão
c72f17068c
Add support for direction sense and offset in slabs with x_angle
2025-01-21 10:49:29 -03:00
Bruno Perdigão
372654267c
Fix issues with add/remove layer handler when using "Quick Create Type".
2025-01-21 10:49:29 -03:00
Bruno Perdigão
5cf4740f8e
Add direction sense and offset support for slabs
2025-01-21 10:49:29 -03:00
Bruno Perdigão
3740b86678
Add handlers to update layer when adding and removing material layer
2025-01-21 10:49:29 -03:00
Bruno Perdigão
325d6138d3
Add more options to Bonsai snap target. Follow 5649708ca4
2025-01-21 10:10:57 -03:00
Gorgious56
fc58b1769c
Improve logic for https://github.com/IfcOpenShell/IfcOpenShell/commit/bced62bd5c6615ec1ff8c3a6af3334e469e5f9fa
2025-01-21 13:56:32 +01:00
Dion Moult
82fbec68d1
Fix #5973 . You can now select the item from the item panel.
2025-01-21 23:52:33 +11:00
Andrej730
bb1ec569bc
Option to name existing used unnamed profiles
...
Example - https://imgur.com/a/IhMbs6K
2025-01-21 17:31:21 +05:00
Andrej730
5a766e79bd
Show error message trying to edit not supported type of profile
...
E.g. previously if you would tab into editing IfcExtrudedAreaSolid that was using not supported profile type (e.g. IFCCSHAPEPROFILEDEF) it would import it as empty geometry and tabbing out then would save it corrupting the original profile. Now there is an error message that it's not yet supported - https://i.imgur.com/NzksYVP.png
2025-01-21 17:31:21 +05:00
Andrej730
ff337bc849
Change currently edited item's profile
...
Example - https://imgur.com/a/2yiVIW5
2025-01-21 17:31:20 +05:00
Andrej730
992424c748
Update item decorator when moving item in viewport
...
Before this fix - https://imgur.com/a/mhpBvCG
2025-01-21 17:31:20 +05:00
Andrej730
0268f140ad
typing
2025-01-21 17:31:20 +05:00
Andrej730
59c0719b03
black .
2025-01-21 17:31:20 +05:00
Andrej730
c91fbc4d40
Setup user data dir
...
Create some empty folders in the user data directory to hint the user.
2025-01-21 17:30:38 +05:00
Gorgious56
bced62bd5c
When switching between ElementType and Element, keep the same class and predefined type if possible
2025-01-21 13:29:25 +01:00
Dion Moult
b809bc89f0
See #5973 . Representation items UI now works in item mode.
2025-01-21 23:28:33 +11:00
Dion Moult
2452b1be50
See #5973 . Only show shape aspect attributes if creating a new shape aspect to make it clearer how to use the UI.
...
Previously the UI for creating new aspects and reusing an existing
aspect showed simultaneously which was confusing.
2025-01-21 23:21:07 +11:00
John Yani
7de8427a28
[Bonsai docs] Update version switching logic ( #6005 )
...
* Create brand.html
* Update custom.css for version switcher
* Update brand.html
* Update brand.html
Improve select box logic
2025-01-21 11:06:24 +11:00
John Yani
ee0adf2fff
[Bonsai docs] Add version switcher to sidebar and update custom styles ( #6004 )
...
* Create brand.html
* Update custom.css for version switcher
* Update brand.html
2025-01-21 10:24:53 +11:00
John Yani
2ce420ef6f
Follow up #5994 ( #6003 )
...
* Create docs-deployment.yml
* Update docs-deployment.yml
Add CNAME
* Update docs-deployment.yml
* Create docs-deployment-unstable.yml
* Add requirements.txt
* Change trigger branch
2025-01-21 08:45:39 +11:00
Bruno Perdigão
290849d43a
Fix snap to axis after 5649708ca
2025-01-20 14:59:04 -03:00
Andrej730
5e930972d6
User 'data' folder #5564
...
Bonsai now creates a user data folder that allows you overriding Bonsai data files. E.g. you can put you own `default.css` as `data/assets/default.css` in that folder and it will override the `default.css` Bonsai is using for the drawings. Previously you could have change internal `default.css` but Bonsai would always restore the original one on every update / reinstallation.
You can also store your .ifc files in data/libraries or data/templates and Bonsai will ensure they're loaded and you won't need to worry about Bonsai removing them later.
E.g. on Windows this path is `C:\Users\xxx\AppData\Roaming\bonsai\bonsai\data`/
You can also find path in the preferences - https://i.imgur.com/kwMc0JU.png
2025-01-20 19:32:59 +05:00
Bruno Perdigão
c08d25de42
Change Bonsai snap target UI to column.
2025-01-20 11:31:58 -03:00
Bruno Perdigão
5649708ca4
Add support and UI for Bonsai snap target.
...
The user can now select snap target for Bonsai polyline tool.
The options are shown in the bottom of Blender's Snapping panel.
2025-01-20 10:56:22 -03:00
Bruno Perdigão
9e81a3da17
Rename "Edge-Intersection" to "Edge Intersection"
2025-01-20 10:56:22 -03:00
Bruno Perdigão
b509374c27
Add initial curve snapping functionality
2025-01-20 10:56:22 -03:00
Gorgious56
704bb27cf5
You can now user ALT + Click to ensure an object is unlinked from non-IFC collections when assigning a new container
2025-01-20 14:25:55 +01:00
Dion Moult
7b62b035c9
Fix #5964 . Only get the unit assignment from the project to prevent ambiguity.
...
I really don't know why I didn't do this before.
2025-01-20 23:50:03 +11:00
Dion Moult
c5fe80db7b
Make georeferencing decorator use soft limits. Don't scale font.
2025-01-20 23:48:51 +11:00
Andrej730
3ffc0bc39c
append_asset to use custom file.add to prevent duplicating profiles and materials #5925
2025-01-20 16:23:31 +05:00
Andrej730
0a266bba5d
Fix #6000
2025-01-20 16:16:39 +05:00
Andrej730
ecf0d255f7
Roll back build from a65aa92 #6001
2025-01-20 16:16:39 +05:00
Andrej730
c0499a2c88
black .
2025-01-20 16:16:38 +05:00
John Yani
3ad247b9a7
Automatic build and deploy bonsai docs on push ( #5994 )
...
* Create docs-deployment.yml
* Update docs-deployment.yml
Add CNAME
* Update docs-deployment.yml
* Create docs-deployment-unstable.yml
* Add requirements.txt
2025-01-20 21:13:21 +11:00
Bruno Postle
13b93a9ea8
Move cache_dir from site-packages to local folder ( #5856 )
...
Previously cache_dir was located under site-packages, which is managed
by blender and could be read-only. Now location defaults to eg.
~/.cache/bonsai or equivalent location on other platforms. See #5564
Note this adds a dependency on the platformdirs python module
2025-01-20 13:14:51 +05:00
Dion Moult
ebdfe2bccd
Fix #5319 . Workaround for upstream bpypolyskel bug where dormer ridges were not flat.
2025-01-20 17:17:37 +11:00
Dion Moult
942c3fec87
Add missing bin directory
2025-01-20 14:35:50 +11:00
Dion Moult
651c24bbfe
See #5799 . Fix segfault in upstream Blender when unlinking material objects in specific scenario.
...
I can't explain this one so I'm pretty embarrassed to commit this, but
it crashes (see situation in #5799 ) on my machine and I can't recreate
it outside this scenario. In any case I think as a general strategy we
should:
1. Minimise reliance on msgbus
2. Msgbus listeners themselves should be wary of invalid state (e.g. if
object is now unlinked)
3. Not clear listeners (don't overreach)
2025-01-20 14:01:11 +11:00
Dion Moult
b2213592ea
Fix #5799 . Also purge presentation style assignment when purging unused styles.
2025-01-20 13:59:00 +11:00
Dion Moult
c311b65af5
See #5799 . Allow merging unnamed styles.
...
Styles are special because their names aren't critically semantic. It's
more to do with the style definition.
2025-01-20 13:58:39 +11:00
Dion Moult
e8b097e2cb
See #5799 . Remove slow / unnecessary material criticals that also have a risk of crashing
...
In general Blender on my machine at least sometimes has huge lag with
material previews.
2025-01-20 13:57:07 +11:00
Dion Moult
193ff1cd0c
Mention builds website in docs.
2025-01-20 12:15:49 +11:00
Dion Moult
a65aa92c87
See #5999 . Revert to older bot build before speed regression.
2025-01-20 12:15:36 +11:00
Dion Moult
6af19bc98d
Fix 3x slower major speed regression introduced in 98a9550260
...
The commit that introduced the problem was trying to optimise rendering
dense meshes with the opening decorator. However, it introduced more
calculation in the initial project load and stored more data on every
object. This resulted in models loading 3x slower for me which is pretty
major. The original problem needs further investigation.
2025-01-20 11:24:19 +11:00
Dion Moult
5769c0d442
Fix #5754 . Cosmetic bug where UI was not refreshed when using advanced mode causing incomplete decorators to be drawn.
2025-01-20 00:25:29 +11:00
Dion Moult
5c058dff3e
Fix #5766 . Bump IOS.
2025-01-19 21:49:51 +11:00
Dion Moult
f86e414055
Forgot to add a placement for new elements which is invalid.
2025-01-19 21:38:52 +11:00
Dion Moult
c17febac0c
Fix #5996 . Bug where getting selected or active objects was not clear.
...
Sometimes we want to fetch selected objects, and that includes the
active object, even if the active object isn't actually highlighted in
the viewport (albiet rare, I think?).
Conversely sometimes we want to get the active object, even if it isn't
actually highlighted. The tool.Blender functions now have kwargs to
distinguish between these.
2025-01-19 17:17:56 +11:00
Dion Moult
2d811a6786
Fix fetching layers in item mode. Apparently the inverse name changes slightly.
...
Maybe because an item has a single layer whereas the shape is meant to
have many layers?
2025-01-19 17:09:32 +11:00
Dion Moult
6eed5607c4
Fix #5972 . Purge old non-item-based boolean code
2025-01-19 17:09:02 +11:00
Dion Moult
0b46a31c25
Add item menu is now tailored for CSG representations.
...
I find this a bit of a strange behaviour in IFC. Imagine you start with
a Tessellation representation type. You're only allowed meshy things, no
solid extrusion. And vice versa if you have a SweptSolid representation
type.
Now imagine you suddenly create a boolean. Now, you can mix both
tessellations and solids together.
2025-01-19 16:58:10 +11:00
Dion Moult
4d7f078f8b
Ensure item decorator is updated when editing things in item mode.
2025-01-19 16:56:31 +11:00
Dion Moult
046f7cbfd2
See #5972 . You can now select booleans recursively.
2025-01-19 13:54:40 +11:00
Bruno Postle
4152641d1f
Ensure files in libs/bin are executable
...
When blender extracts wheels it doesn't preserve executable permissions
2025-01-18 21:17:43 +00:00
Bruno Postle
ec55c8183f
remove duplicate 'libs' folder
...
The Bonsai installer contained a 'libs' folder in both the ZIP bundle
and the bonsai wheel, but only the one in the wheel was actually used
2025-01-18 19:59:57 +00:00
Bruno Postle
b54741dd0b
Merge branch 'v0.8.0' of github.com:IfcOpenShell/IfcOpenShell into v0.8.0
2025-01-18 19:18:15 +00:00
Bruno Postle
b4190876b0
Actually put ifcmerge in the linux ZIP installer
2025-01-18 19:16:50 +00:00
Bruno Perdigão
864eeb42e9
Add filling objectcs to OverrideMove
2025-01-18 15:15:54 -03:00
Bruno Perdigão
7fcb7c6433
Allow moving the current aggregate/nest when aggregate/nest mode is active
2025-01-18 12:17:28 -03:00
Bruno Perdigão
015d8f6722
Add nest mode operators to workspace UI.
2025-01-18 12:06:00 -03:00
Bruno Perdigão
c07c2d7692
Complement changes from abd05e939a
2025-01-18 11:48:37 -03:00
Dion Moult
a57a0eb4eb
See #5972 . Prioritise clipping results where possible.
2025-01-19 01:09:11 +11:00
Dion Moult
e40644c4f6
See #5972 . You can now remove boolean operations in the stack without deleting operands.
2025-01-19 01:08:47 +11:00
Dion Moult
8c746b1a2c
Validate representation type items when leaving item mode.
2025-01-19 00:30:30 +11:00
Dion Moult
8e98aecc0b
Document add boolean API
2025-01-19 00:30:30 +11:00
Bruno Postle
34a2d95524
Bonsai offers to install Git and ifcmerge ( #5961 )
...
The ZIP installer now contains a `libs/bin` folder that contains
`ifcmerge`. Bonsai on `register()` adds this folder to the system `PATH`
for the current Blender session. Advantage of this is that we don't have
to fiddle with the registry on windows, or install files to
`~/.local/bin` on Linux, it _should_ work on Darwin, updates are
automatic, and we have a mechanism to ship other executables if
required.
(Note that ifcmerge.exe increases the size of the Windows Bonsai ZIP
download by about 7MB)
If Git isn't installed on Windows, the Git panel now offers to install
it from the Windows Package Manager Community Repository using `winget`.
2025-01-18 10:22:45 +00:00
Dion Moult
a12427e44a
See #5972 . Add tests for adding boolean and check against recursive booleans and invalid boolean items.
2025-01-18 21:13:54 +11:00
Dion Moult
35734f4b67
Guess representation type from items based on where rule
...
Previously we never implemented this in a very strict way so it was
prone to mistakes.
2025-01-18 18:35:13 +11:00
Dion Moult
c54ea1e5d2
Shape builder can now create blocks
2025-01-18 18:34:40 +11:00
Bruno Perdigão
abd05e939a
Add nest decorator
2025-01-17 23:00:05 -03:00
Bruno Perdigão
d02c5ca1e6
Rename OverridaAggregateMove to OverrideMove.
...
It now deals with nests too.
2025-01-17 22:58:29 -03:00
Bruno Perdigão
a5afba03ab
Add "nest mode" similar to "aggregate mode".
2025-01-17 22:47:11 -03:00
Bruno Perdigão
3f914cdf27
Remove unused handler from AggregateModeDecorator
2025-01-17 22:43:05 -03:00
Bruno Perdigão
1d03e916f3
Fix after c4f85dffa4
2025-01-17 17:45:21 -03:00
Bruno Perdigão
fd279234f3
Fix #5818
2025-01-17 16:41:01 -03:00
Bruno Perdigão
a44439655c
Install Bonsai decorators from Viewport Overlays in load_post.
2025-01-17 16:23:40 -03:00
Bruno Perdigão
c4f85dffa4
Fix OverrideMoveAggregate to work for multiple layers of aggregates.
2025-01-17 15:51:26 -03:00
Bruno Perdigão
8d63845f3d
Change AddSlabFromWalls to consistently create walls in a counterclockwise direction.
...
This guarantees that the external face of the walls aligns with the edges of the slab.
2025-01-17 15:09:57 -03:00
Thomas Krijnen
e0e24948be
Update build_rocky.yml - safe.directory
2025-01-17 14:07:36 +01:00
Thomas Krijnen
84420a8973
Don't allow empty sha for add_commit_sha
2025-01-17 13:57:14 +01:00
Dion Moult
7ee055f4f3
See #5972 . You can now add half space solid items in item mode.
2025-01-17 23:02:32 +11:00
Andrej730
1f436bcec6
replace date picker util operators with wm.context_set_string
...
Since they were just setting a scene property which can be done by a default operator.
2025-01-17 17:00:06 +05:00
Andrej730
468c1a2580
Highlight currently selected date in date picker
...
Example - https://imgur.com/a/ItNg9sZ
2025-01-17 17:00:06 +05:00
Andrej730
e8cb9e7f3c
Date picker to support IfcDateTime
...
See https://imgur.com/a/9a7JfMO
2025-01-17 17:00:06 +05:00
Andrej730
fa98a7e8f7
black .
2025-01-17 17:00:06 +05:00
Andrej730
686a5e7387
Fix #5988 after 6fb0f5e63a
2025-01-17 15:24:02 +05:00
Dion Moult
e1da08579c
See #5972 . You can now add booleans in item editing mode, with support for all three boolean operators.
2025-01-17 20:55:27 +11:00
Dion Moult
0a87e92dcf
Move geoference visualisation UI into panel header to be consistent.
2025-01-17 20:54:06 +11:00
Dion Moult
24b3cfc067
Fix #5897 . Fix #5488 . Fix #5498 . Bug where you couldn't edit newly added annotation.
...
The annotation adding code was a bit of a mess, spread around
create_annotation, create_annotation_occurrence, and
bpy.ops.bim.add_annotation. I've now consolidated it all into
core.add_annotation and updated it to work with the new item editing
mode (basically new objects need to reload their representation to
populate item_ids). Things are still messy, but a bit less now.
2025-01-17 20:53:29 +11:00
Thomas Krijnen
c163b260cf
Try solve #5989
2025-01-17 10:45:21 +01:00
Andrej730
9e50c89c01
Work schedule UI - use cached data instead of accesing IFC
2025-01-16 18:30:44 +05:00
Andrej730
b28a3b6e32
Basic header for work schedule panel header #5928
...
Example - https://i.imgur.com/9thZQCX.png
2025-01-16 18:30:44 +05:00
Andrej730
9573628bf6
fix typo in sequence/prop.py and use more consistent name for props
...
Issue was that taskcolumns_enum doesn't exist
2025-01-16 18:30:44 +05:00
Andrej730
5f034bf4a9
bim.copy_railing_parameters - add poll message
2025-01-16 17:36:12 +05:00
Andrej730
de6e54040a
FilledOpeningGenerator - update only parts instead of the full decomposition
...
similar to 0662b0c
2025-01-16 17:36:12 +05:00
Andrej730
50b39fdd10
bim.clone_opening - update affected representations
2025-01-16 17:36:12 +05:00
Andrej730
eef04fb91c
bim.clone_opening - always show in opening's ui
...
Otherwise it was hidden until user guesses that 2 objects need to be selected for it to appear.
Also, not sure if it's useful operator anymore - it seems just duplicating an opening and then adding it does the same thing.
2025-01-16 17:36:11 +05:00
Andrej730
a383f60915
Show voided elements in UI
...
E.g. show voided wall when window or wall's opening is selected.
Example - https://i.imgur.com/jxjWPeE.png
2025-01-16 17:36:11 +05:00
Andrej730
44131a7fe5
Select filling objects from UI
...
Example - https://i.imgur.com/BijTwgo.png
2025-01-16 17:36:11 +05:00
Andrej730
c66f2131e2
bim.select_entity - move to bim module
...
as it can be generally useful, not just in tester
2025-01-16 17:36:11 +05:00
Andrej730
035999d0c3
bim.update_openings_focus - remove unnecessary ifc operator
2025-01-16 17:36:11 +05:00
Andrej730
61d68b74ca
bim.add_filled_opening - remove unused operator
2025-01-16 17:36:10 +05:00
Andrej730
133459faec
typo
2025-01-16 17:36:10 +05:00
Andrej730
6fb0f5e63a
typing
2025-01-16 17:36:10 +05:00
Andrej730
2859e9632e
black .
2025-01-16 17:36:10 +05:00
Andrej730
521a8183e7
Fix #5953 after d6e6a6d
2025-01-16 17:36:09 +05:00
Dion Moult
a63f67ad32
Fix #5841 . Incorrect axis usage when generating LAYER2 elements from polyline.
2025-01-16 23:19:11 +11:00
Dion Moult
aeba2885e4
Fix #5984 . Incorrect axis usage when generating slabs.
2025-01-16 23:11:51 +11:00
Dion Moult
f50ae2faa5
See #5972 . You can now load a hierarchy to visualise the boolean result tree.
2025-01-16 22:58:17 +11:00
Dion Moult
bd739f8bfd
Fix undo bug when marking booleans as manual
2025-01-16 22:39:37 +11:00
Dion Moult
5b2243089d
See #5972 . You can now delete boolean operands in item editing mode.
2025-01-16 22:10:28 +11:00
Dion Moult
2fe4680ca1
See #5972 . Boolean operands are now loaded in item editing mode and are editable.
2025-01-16 21:28:05 +11:00
Taku Makoni
21624d6065
Wrong Import Package ( #5982 )
2025-01-16 12:20:59 +11:00
Taku Makoni
b9f40342b2
Grammatical error
2025-01-16 11:52:09 +11:00
Bruno Perdigão
3e879c6156
Change how new objects added are handled in aggregate mode.
...
When in aggregate mode, new objects will now be automatically assigned to
the current aggregate.
2025-01-15 16:11:27 -03:00
Bruno Perdigão
c360b91f4a
Remove constraints from the aggregates.
2025-01-15 16:11:27 -03:00
Andrej730
23b1a71cba
Support adding duplicated existing boolean
...
Example - https://imgur.com/a/rRQz9dx
2025-01-15 18:41:21 +05:00
Andrej730
5d17554d04
bim.add_boolean - support adding multiple booleans at once
...
Example - https://imgur.com/a/IWDqMRT
2025-01-15 18:41:20 +05:00
Andrej730
1f3fc3c2b9
bim.add_openings - display in UI if multiple potential openings are selected
2025-01-15 18:41:20 +05:00
Andrej730
d6da8a7ee1
Support duplicating potential openings and potential/existing booleans
2025-01-15 18:41:20 +05:00
Andrej730
cfb4cd8af9
bim.add_potential_opening - remove unused code
...
draw_settings() was never used
2025-01-15 18:41:20 +05:00
Andrej730
7eff4db4eb
reuse add_tracked_opening
2025-01-15 18:41:19 +05:00
Andrej730
689688c76b
Fix error selecting material usage in Materials UI
...
Previously it would error, now it selects related profile / layer set.
2025-01-15 18:41:19 +05:00
Andrej730
0ea513818b
Support assigning material sets as usages from UI #5933
...
It's on alt+click in Materials UI, see example - https://imgur.com/a/8gP7iAZ
2025-01-15 18:41:19 +05:00
Andrej730
2fdcb41c4e
black .
2025-01-15 18:41:19 +05:00
Dion Moult
65c99c57cd
Prefill class / product type if using a particular BIM tool for convenience, and hide fields.
2025-01-15 22:04:58 +11:00
Dion Moult
fe54b24f5f
Fix bug where box decoration when adding empty geometry failed
2025-01-15 22:04:24 +11:00
Dion Moult
7fdfdbf8b4
Fix #5971 . You can now specify a name and description when adding objects. Clean naming and description is critical!
2025-01-15 20:57:19 +11:00
Dion Moult
53906d824a
Fix #5977 . Silly mistake I forgot all([]) is still True.
2025-01-15 20:47:56 +11:00
Thomas Krijnen
a687a90039
Break out multiple tasks per representation when rep is directly reused #5978
2025-01-15 10:24:52 +01:00
Thomas Krijnen
c37fd6ae0b
Don't throw exception but set to $ when encountering invalid instance name #5680
2025-01-15 10:08:31 +01:00
Dion Moult
06e8e2b35c
Remove obsolete separate_verts_layer when marking edge angles for roofs
...
New roof system automatically handles this scenario (using poke
operator) so no need to mark it.
2025-01-15 19:46:34 +11:00
Dion Moult
fd51b9a9e9
Fix #5968 . Fix #4040 . Rewrote roof generation using per face extrusions and cutting planes instead of edge sliding.
...
WARNING! The roof generation is now quite significantly different. This
WILL change your geometry when you refresh roofs from existing models.
- The roof profile now always represents the top of eave. This better
represents how things are built rather than bottom of eave which was
previous.
- The roof therefore always grows down from the profile. The rafter
edge angle can only be acute. This means that the roof will never grow
larger than the footprint profile that you've drawn. (before, the
footprint was not guaranteed to match).
- The roof thickness is now the actual thickness of the roof, not the
"vertical dimension" of the roof. This means that the roof thickness can
now match intended layer thicknesses instead of you needing to do math
to work it out.
I've rewritten the internals of how roofs were generated to be hopefully
a lot simpler but as a tradeoff it's more restrictive. After the
skeleton is generated, non-uniform angles would be handled through
vertex splitting and moving. This works in simple scenarios but fails in
more complex ones. The new approach only handles non-uniform angles on
triangular faces. These faces are really easy to handle compared to
ngons, but are also more robust. The rafter edge angle is also now
handled using a clipping plane, which is a lot, lot simpler than vertex
sliding math.
Each face is now processed separately and then merged at the end. This
means that if a face has a different angle, it will now correctly
represent the different thickness at that portion of the roof.
In the process consistent roof thickness / rafter angle bugs were fixed.
2025-01-15 19:43:39 +11:00
Andrej730
3f2f296d5f
Fix error with Shift-E #5975
...
E.g. two objects are selected - tesselation and profile and tesellation being active object. Using s-e with deselect tesselation object as it doens't have a usage but Bonsai would still try to run bim.enable_editing_extrusion_profile on it leading to the error.
Also fix possible issues for hotkey executed without active object (it seems all operators in hotkey do require active object)
2025-01-14 17:42:03 +05:00
Andrej730
020937835a
Fix issue enabling ifcsverchok if sverchok installed under a different name #5913
2025-01-14 17:42:03 +05:00
Andrej730
a52e3615d6
Map ifc2x3 IfcAnnotationOccurrence to IfcStyledItems in ifc4 #5917
2025-01-14 17:41:58 +05:00
Andrej730
adb61c5a16
bonsai makefile - use new option for old no-clobber behaviour
...
Apparently (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62572 ) coreutils have changed `mv -n` to throw an error now instead of working silently, therefore our build was failing on Mac when Github Action switched from Ubuntu 22 to 24.
`--update=none` seems to restore the old behaviour.
2025-01-14 17:41:58 +05:00
Andrej730
a50973ede7
typing
2025-01-14 17:41:58 +05:00
Andrej730
74ca86678a
ifcfm cobie - color code ods file tabs too
2025-01-14 13:48:50 +05:00
Gorgious56
ac2e69bd66
Don't close type manager when using the enum search feature while adding a new type
...
Also reduce the attribute name a bit
2025-01-14 08:44:21 +01:00
Dion Moult
595a3b3f87
Preselect IFC class when adding elements for convenience.
2025-01-14 14:22:15 +11:00
Dion Moult
48f534e7c1
Say "Type" instead of None in the general BIM tool.
2025-01-14 14:13:39 +11:00
Dion Moult
1ed770d454
Fix #5921 . Bug when parsing IDS XML of facets with no attributes.
2025-01-14 13:36:33 +11:00
Dion Moult
ec600ec72e
IfcTester can now read from XML strings in addition to opening files on disk
2025-01-14 13:35:45 +11:00
Dion Moult
adcc23541a
Fix bug where starting a new file in an existing session would prompt an error.
...
Bpy.context.active_object is not available in-between loading / starting
a new file.
2025-01-14 13:35:01 +11:00
Dion Moult
9a77c94758
Fix #5967 . Incorrect logic in the for/else block when adding new elements.
...
The for/else block was too greedy, meaning that if nothing was selected,
it would still try to create slabs from walls. I find for/else confusing
so I restructured the section to do more early returns and unindent the
logic.
2025-01-14 12:20:22 +11:00
Moritz Amberger
e89d195f9b
moved full_schema, is_strcit, should_expand, should_get_inverse, should_get_psets. should_get_geometry and should_skip_geometry_data to the Patcher class definition. deleted those parameters from the patch definition so that users are able to set them by themselves. removed the hardcoded tmp-File for the db_file name
2025-01-14 09:30:34 +11:00
tim
228e9d0571
Refactor detect_icon_color_mode to accept attribute path suffix
...
• Removed bpy.context.preferences.themes[0] from the input and hardcoded it in the function.
• color_path now only requires the attribute path suffix (e.g., "user_interface.wcol_regular.text").
• Updated error handling to default to "dm" instead of "lm".
2025-01-14 09:22:53 +11:00
tim
7280669725
Typo
2025-01-14 09:22:53 +11:00
tim
83b8bb153d
One function for model and cad custom icons
...
Apply detect_icon_color_mode function to model and cad workspaces
2025-01-14 09:22:53 +11:00
tim
88891409fd
New icon color mode function
...
New function for determining which icon color mode to use: dark (dm) or light (lm)
2025-01-14 09:22:53 +11:00
tim
b6ba1aaa8c
Hide shortcuts from header
2025-01-14 09:22:22 +11:00
ti
ffb3d2d6e9
check for None
2025-01-14 09:22:03 +11:00
Dion Moult
efede9eb03
No idea why Github actions is failing for MacOS. All code looks good to me.
2025-01-14 00:14:03 +11:00
Andrej730
ac315e8a55
ifcfm cobie 2.4 - color code excel tabs
...
example - https://i.imgur.com/tSeqyjj.png
2025-01-13 17:53:02 +05:00
Andrej730
b7c18221f4
get_bbox - optimize by using numpy arrays
2025-01-13 17:53:02 +05:00
Andrej730
7a49f1611e
get_shape_matrix - small optimization
...
reuse existing matrix instead of recreating new
2025-01-13 17:53:02 +05:00
Andrej730
5c0a7af830
cobie24 - implement Coordinate tab #5926
2025-01-13 17:53:02 +05:00
Andrej730
a968b61d02
np_matrix_to_euler, np_matrix_normalized
2025-01-13 17:53:01 +05:00
Andrej730
0ac9d739f8
remove unused code
2025-01-13 17:53:01 +05:00
Andrej730
74c6480808
bim.add_element to select added object
2025-01-13 17:53:01 +05:00
Andrej730
0601802005
typing
2025-01-13 17:53:01 +05:00
Dion Moult
9784fb1c49
Pyodide example app should use IfcShapeRepresentation to be valid
2025-01-13 23:12:49 +11:00
Gorgious56
039dcbaefa
Stair Modifier : You can now set a total length target that will update individual tread runs automatically. You can lock the total length target and modify tread run or number of treads to keep the same global dimensions.
2025-01-13 12:04:13 +01:00
Gorgious56
1cd17fd5f8
Merge pull request #5947 from IfcOpenShell/update_type_manager
...
Update Type Manager
2025-01-13 09:40:42 +01:00
Gorgious56
2f0f9fe08b
Merge branch 'v0.8.0' of https://github.com/IfcOpenShell/IfcOpenShell into update_type_manager
2025-01-13 09:38:41 +01:00
Gorgious56
50ed75fcc2
Fix potential bug where a class doesn't have a predefined type
2025-01-13 09:32:23 +01:00
Gorgious56
9eaf41c9f0
The filter search field now also filters description and predefined type
2025-01-13 09:28:56 +01:00
Dion Moult
581a674654
Fix #5952 . Aggressively block scaling of IFC elements to prevent user confusion.
2025-01-13 18:01:25 +11:00
Dion Moult
e29f686d3f
Update setting literal from old name of "debug" to new name "debug-boolean".
2025-01-13 15:45:27 +11:00
Dion Moult
8cf7057abc
Fix #5954 . Special automatic movement of features shouldn't then also move children of those features.
...
If you move a wall, and that wall has features (e.g. openings), it's
desirable to also move those openings (because they are invisible). This
is a special exception to `should_transform_children` because the
definition of the feature (opening) is inherently tied to the parent
(wall).
What wasn't considered is that this would typically then also move
subchildren of the features (e.g. fills like doors). I'm surprised
nobody caught this earlier.
I did also consider another approach where if you move a wall, it moves
all unfilled openings, and if you move a door which fills a opening, it
moves the opening too. Intuitively it sounds nice, but it doesn't work
because:
- Openings can have multiple fillings. If you move all fillings, they
all fight to move the openings.
- All logic about children goes one way: a placement may have child
placements relative to it. This breaks the convention (if moving a door
instead moves its opening) which can make brains explode.
- It starts to conflate rules about relative / referenced placements
with spatial decomposition. We assume all IFCs are valid and follows the
convention of relative placement but we cannot guarantee this. This also
leads to brain explosion.
2025-01-13 15:44:52 +11:00
Dion Moult
316b9554d4
Fix #5959 . Bug where default selection basket in selector query was not added per facet list.
...
Previously the code looked for additive facets (entity, instance)
anywhere in the query, and then only added the default basket once at
the beginning of the query. This change makes it look for additive
facets in order (that way you could start with a default selection, and
then later use an additive facet) and does it per facet list (so you can
omit the additive facet at the beginning of each list).
2025-01-13 12:46:44 +11:00
tim
95fa6f39c4
New furniture icon
...
Chair icon for furniture
2025-01-13 10:47:35 +11:00
Thomas Krijnen
65ffbe081b
Pyodide app readme
2025-01-12 15:50:19 +01:00
Thomas Krijnen
936984dd31
Update publish-pyodide-demo-app.yml
2025-01-12 15:16:57 +01:00
Thomas Krijnen
590c6eed0a
Update publish-pyodide-demo-app.yml
2025-01-12 15:12:44 +01:00
Thomas Krijnen
a696c7bbb5
Update publish-pyodide-demo-app.yml
2025-01-12 15:10:59 +01:00
Thomas Krijnen
6ff1d06938
Create publish-pyodide-demo-app.yml
2025-01-12 15:07:44 +01:00
Thomas Krijnen
6deb7121cc
demo-app/CNAME
2025-01-12 15:00:54 +01:00
Thomas Krijnen
6aec2f7a02
pyodide/app-demo
2025-01-12 14:50:20 +01:00
Dion Moult
0eb987fc07
Black
2025-01-12 22:43:41 +11:00
Dion Moult
04092d19be
Refactor common function for parametric objects into tool.Model
2025-01-12 22:43:34 +11:00
Dion Moult
8364c87777
Fix #5941 . Context override when adding objects should only have one object. This is a temporary fix.
...
The proper fix is to refactor add_door and friends into core. That way
it can be properly reused instead of this hacky context override.
2025-01-12 22:39:32 +11:00
Dion Moult
2d38d8520c
Fix regression where you couldn't move spatial elements from the new aggregate move override.
2025-01-12 21:47:42 +11:00
Dion Moult
03d3b1e52c
Changed my mind, remove AssignConstituentFractions patch. See #5441 .
2025-01-12 17:51:32 +11:00
Dion Moult
79fe1bfcfc
Minor fix from new patch recipe in PR #5441 (src no longer required)
2025-01-12 17:45:43 +11:00
Louis Trümpler
59c1d7fa54
Add AssignConstituentFractions recipe
2025-01-12 17:41:50 +11:00
tim
f0e1be765d
New Roof and Railing icons
...
https://github.com/IfcOpenShell/IfcOpenShell/issues/5375
2025-01-12 17:38:57 +11:00
Lucas Nascimento
a2bfc006b7
black formatting
2025-01-12 17:25:21 +11:00
Lucas Nascimento
dff9f56ce3
black formatting and changes in shader typing
2025-01-12 17:25:21 +11:00
LM-Nascimento
80996dee1f
Update unit.py
2025-01-12 17:25:21 +11:00
Lucas Nascimento
a329de9f71
licence comment
2025-01-12 17:25:21 +11:00
Lucas Nascimento
1918138f68
cleanup
2025-01-12 17:25:21 +11:00
Lucas Nascimento
aa21fe9060
separate shader file from decoration data
2025-01-12 17:25:21 +11:00
Lucas Nascimento
6eee445502
Cleaning up and type hints
2025-01-12 17:25:21 +11:00
Lucas Nascimento
3eb29af496
seems to be working
2025-01-12 17:25:21 +11:00
Lucas Nascimento
2912580087
shit ton of changes
2025-01-12 17:25:21 +11:00
Lucas Nascimento
477725529b
now with shader for point loads
2025-01-12 17:25:21 +11:00
Lucas Nascimento
d915dc9df0
update decorator to match shader + changes to text rendering
2025-01-12 17:25:21 +11:00
Lucas Nascimento
53a2b87c97
updates to shader class
2025-01-12 17:25:21 +11:00
Lucas Nascimento
d10b327c5f
Initial commit, able to show structural curve action on the sample file of IFC documentation
2025-01-12 17:25:21 +11:00
Radek Hlaváček
293cd83a9c
Update report.html
...
Adding "Skipped" grey colored container for specification and requirement if no applicable element is found
2025-01-12 17:14:22 +11:00
ti
07817ec6fc
updated restriction types
2025-01-12 17:13:36 +11:00
c4rlosdias
d1ad082979
Add derived unit
2025-01-12 17:12:20 +11:00
Thomas Krijnen
ba9693519b
Remove mathutils import from shape_builder.py
2025-01-12 17:05:32 +11:00
Dion Moult
41362e1582
Fix #5950 . IfcTester now considers optional requirement facets as per latest documentation.
...
The IDS documentation used to state that "optional" on requirement
facets was "for information only" and didn't affect the pass / fail
state. This was changed a while ago (which I missed) to a new behaviour:
both no values and passing values will pass.
2025-01-12 16:28:14 +11:00
Dion Moult
8e77011dda
Fix #5949 . Remove material set psets panel in favour of merging into material manager psets panel.
...
Previously, to edit a single IfcMaterial pset, you'd do so in the
material manager. In contrast, to edit a IfcMaterialSet pset, you'd do
so only when assigned to an object. Not only is it bad to edit psets in
two locations, it also means you can't edit psets until you've first
assigned the material set to an object which is bad. Now it's less code,
and material / material set psets are in the same spot.
There still more consolidation work to do, to allow editing of sets in
the material manager and to figure out how to show item psets, but it's
a step in the right direction.
2025-01-12 15:45:02 +11:00
Dion Moult
02632440b0
See #5949 . Only show material psets and classifications if actually editing in the material manager.
...
Previously, you could disable editing and it would still show irrelevant
psets or classifications.
2025-01-12 15:45:02 +11:00
Bruno Postle
0a4ab32810
Fix missing carriage return
...
SyntaxWarning: invalid escape sequence '\I'
2025-01-11 13:36:54 +00:00
Dion Moult
c446aab9a0
Fix #5951 . Regression when removing mathutils dependency from shape builder and parametric stairs were expecting Vector and instead got numpy.
2025-01-11 15:39:13 +11:00
Dion Moult
2e7cbb759e
Fix #5955 . Regression in 0983f812fd where you couldn't remove a style that wasn't being edited.
2025-01-11 14:51:18 +11:00
Gorgious56
68f175fc71
Fix bug when trying to add an ifc type occurence from the toolbar in the properties editor
2025-01-10 15:42:37 +01:00
Gorgious56
a428169a13
Fix bug when duplicating an ifc type
2025-01-10 15:29:31 +01:00
Gorgious56
7db0196791
Fix bug where the thumbnail of the active class wasn't updated
2025-01-10 15:17:26 +01:00
Gorgious56
4f4c557f61
Another attempt.
...
Went back to previous toolbar : icon + type name + dot grid icon which all launch the type manager.
Validating the type manager popup now only closes it. Functionally is the same thing as clicking Cancel. Don't really know what to do to fix it. Does cancel make sense in the type manager ? Do we want to be able to undo what is possible to be done from within the type manager ?
You can change the active type either with the dropdown in the popup and in the grid flow. I changed it so that changing the type in the dropdown jumps to the corresponding page. BTW first time using github copilot to figure out the maths and it worked magically :) . I'm not against removing the dropdown but I feel like it's nice to see a plain list to choose from.
You can input a specific page number or scrub the page number field. Might be usefull if user has dozens of pages to flip through.
Right now the search is very simple, it does not implement fuzzy search or anything fancy with *
2025-01-10 14:24:33 +01:00
Dion Moult
d88adf2d02
See #5938 . Correctly detect negative extrusion depths and directions.
2025-01-10 22:48:11 +11:00
Dion Moult
956b7dcb92
Fix #5941 . Regression in ae22eec9 where active object wasn't considered when adding a parametric door.
2025-01-10 21:50:52 +11:00
Dion Moult
0a32149be3
Fix #5944 . You can now tab / edit IfcAnnotationFillArea with the new item editing mode.
2025-01-10 19:49:04 +11:00
Gorgious56
aafb6fc426
Add search bar with simple filter function to the type manager
2025-01-10 09:44:12 +01:00
Dion Moult
cac3d7f699
Fix #5939 . Fix #2751 . IfcPatch no longer needs the (rarely used) input src arg by default.
2025-01-10 16:59:45 +11:00
Dion Moult
83add56e6c
Fix #5949 . When duplicating objects, copy over IFC links (shape representation ID, item_ids, edge_item_ids) in a more reliable way
2025-01-10 15:22:53 +11:00
Dion Moult
e4412e2f51
Black
2025-01-10 15:21:18 +11:00
Dion Moult
4a1422d292
New annotations should not go into the unsorted collection
2025-01-10 14:13:28 +11:00
Stephen Boddy
1e448cb170
Add mini-guide to setting up IDE for debugging
2025-01-10 12:34:56 +11:00
Bruno Perdigão
07bb7e68dd
Fix #5932
2025-01-09 16:14:11 -03:00
Bruno Perdigão
cf054e11a1
Refactor: improve preview decorators for other products, following 420a4cfdc
2025-01-09 15:59:15 -03:00
Bruno Perdigão
6b8024f835
Refactor: Improve profile preview decorator to prevent GPU context errors
2025-01-09 15:59:15 -03:00
Bruno Perdigão
66577fd30d
Prevent polyline profile from being called by Column Tool
2025-01-09 15:59:15 -03:00
Bruno Perdigão
0124b7a0e9
Allow polyline profile for IfcCoveringType
2025-01-09 15:59:15 -03:00
Bruno Perdigão
737402cae4
Fix profile scale issue in profile preview decorator.
2025-01-09 15:59:15 -03:00
Bruno Perdigão
8b1d4ca5d4
Implement polyline tool for profiles.
2025-01-09 15:59:15 -03:00
Gorgious56
a6e953a550
Update Type Manager
...
Add back the type dropdown and looking glass icon in the toolbar
Clicking on a type in the manager no longer closes the popup anymore.
A visual indictor is displayed on the active type
Changed the parameters icon in the individual type interface
Fix bug in "Slab from Walls" Shift + A code
2025-01-09 17:45:40 +01:00
Dion Moult
40dcfd450f
See #5940 . Fix bug where using preserve existing in IfcCSV didn't fully purge extra rows, possibly leading to orphaned data (which LibreOffice will render as 0 if it is a number value type)
2025-01-09 18:25:00 +11:00
Dion Moult
e220b6981e
See #5940 . Fix bug where ODS and XLSX didn't correctly check for whether summaries existed and sometimes printed out "None" rows
2025-01-09 18:24:09 +11:00
Dion Moult
84931fbbd2
See #5941 . Don't show mode changes if an object is unselectable.
...
Unselectable things should be uneditable. That's what the lock/unlock is
for.
2025-01-09 17:40:52 +11:00
Gorgious56
2d5bc49ee0
Going in and out of AGGREGATE mode doesn't overwrite other objects' display type anymore
2025-01-08 16:53:59 +01:00
Gorgious56
d4ff789688
You can now mass enable edition, disable edition and validate edition of Ifc Entity Attributes.
...
This highlights a potential bug that already existed due to the way the attribute system is designed. Where the user mass-edits attributes from different IFC types, resulting in discrepancies due to the same attributes having a different index. eg IfcWindow has the Tag attribute at index 3, IfcDoor at index 4. So using the ALT modifier feature from vanilla Blender to mass-modify similarly named attributes on the Tag attribute of the IfcWindow will modify the PredefinedType attribute on the IfcDoor (index 3). For this reason I added the ALT modifier to the buttons so mass-operations are a conscious effort for more knowledgeable users. Might reconsider if problems arise but this is IMO a good QOL feature.
Also fix floating point precision errors on Pset float values stored as strings (re last commit)
2025-01-08 11:29:06 +01:00
Gorgious56
5c3f0f0df9
Fix floating precision artifacts when displaying float values in the Attributes panel
...
Minor fixes on previous commit
2025-01-08 10:28:27 +01:00
Bruno Perdigão
519e667464
Fix bug with bim.aggregate_assign_new_objects_in_aggregate_mode.
2025-01-07 18:17:32 -03:00
Bruno Perdigão
e3abfd60cb
Typo.
2025-01-07 18:16:59 -03:00
Bruno Perdigão
864e8d3a48
Typo.
2025-01-07 18:05:23 -03:00
Bruno Perdigão
d2b05ea3dc
Fix bug related to constraints and aggregate duplication
2025-01-07 18:00:47 -03:00
Thomas Krijnen
d063bdbbf1
wasm wheel fixes
2025-01-07 20:56:16 +01:00
Thomas Krijnen
a42a49e088
wasm wheel fixes
2025-01-07 20:47:25 +01:00
Gorgious56
ae22eec958
Door modifier operators now apply to all elligible selected objects. This makes it way easier to modify a single attribute in several unrelated parametric doors thanks to the ALT + input feature from vanilla Blender. This allows for mass-removing, mass-removing, mass-editing, mass-validating, and mass-cancelling edition of door modifiers.
...
Also allow UNDO for some door operators which seems like they should support it
And Fix #5937 : minor typo
2025-01-07 17:43:43 +01:00
Bruno Perdigão
b657eee564
Change extrusion direction when converting to extrusion in Representation Utilities.
2025-01-07 12:41:15 -03:00
Thomas Krijnen
9d1daa4dc5
ifcpatch - try both out of tree and subpackage imports #5939
2025-01-07 15:43:44 +01:00
Bruno Perdigão
dbf33283ab
Add Bonsai decorators toggle to Blender Viewport Overlays.
...
https://imgur.com/auQcp2Y
2025-01-07 11:32:14 -03:00
Gorgious56
0983f812fd
You can now use the Asset Browser to set a Material Asset as an external style.
...
To do so Right Click on a material in the Asset Browser then `Set To External Style`. The style editor must be loaded in the properties editor.
Also run black on a file from previous commit and fix a bug soft-locking the style editor when removing a style that is being edited
2025-01-07 14:55:17 +01:00
Thomas Krijnen
3ced6e7bb1
wasm wheel fixes
2025-01-07 13:23:10 +01:00
Richard Brice
933d845472
Fixes IfcPolynomialCurve when used as IfcCurveSegment.ParentCurve in horizontal alignments
2025-01-06 14:36:37 -08:00
Gorgious56
8313c05884
Merge pull request #5930 from Gorgious56/improve_modifiers
...
Modifiers QOL
2025-01-06 12:10:26 +01:00
Gorgious56
f6e588b48c
You can now copy roof parameters from active to selected objects
2025-01-06 11:35:17 +01:00
Gorgious56
547c5fb8a9
TAB now applies modifier parameters on the active object. ESCAPE now cancels editing modifier parameters on the active object.
2025-01-06 11:06:41 +01:00
Gorgious56
570e29cfe4
Add operator to copy railing modifier parameters ( #3413 )
...
* You can now copy railing properties from active to selected
Hitting ESCAPE cancels editing railing path
2025-01-06 10:10:54 +01:00
Thomas Krijnen
2e35b07fa6
Fetch boost from github releases in build scripts
2025-01-06 10:05:59 +01:00
Thomas Krijnen
1b6ee26854
Don't fail on empty ReferencedSource in IfcTester
2025-01-05 14:40:27 +01:00
Thomas Krijnen
7b21858cd4
Inform about supported reporter types in IfcTester
2025-01-05 14:37:41 +01:00
Thomas Krijnen
12800bbeee
IFCPATCH_RECIPE_DIR to allow loading out of tree recipes
2025-01-05 11:07:48 +01:00
Gorgious56
3a7488d54b
Fix #3261 : You can now purge unused openings that do not intersect with their related building element.
...
It's a naive implementation and very inefficient. Moreover there may be false positives because it's testing overlapping the evaluated mesh element with all openings applied.
2025-01-03 17:37:46 +01:00
Gorgious56
7bfa926e6d
Fix error when instantiating a wire mesh
2025-01-03 16:41:05 +01:00
Gorgious56
fd7a7d44c3
Special geometry data on meshes are also loaded as geometry attributes.
...
No functional change apart from in dissolve_triangulated_edges where it will try to load the attribute if it can. I believe it will be easier in the long term to use the builtin Attributes system. Unfortunately Curves don't support Attributes yet. Also, attributes are more lightweight compared to custom properties.
2025-01-03 16:12:51 +01:00
Gorgious56
fe6a6d1a0d
You can now disable aggregate mode with ESCAPE in the 3D Viewport
...
- Fix minor typo
2025-01-03 15:04:28 +01:00
Gorgious56
98a9550260
Fix slowness when rendering dense meshes with the opening decorator
...
It uses a custom boolean attribute on the mesh to decide whether an edge should be displayed or not. I think later on it can be used to get rid of the dictionary accessors which make the blend file size skyrocket.
2025-01-03 14:12:16 +01:00
Gorgious56
fe253af5ae
Don't draw triangulation artifact edges in the opening decorator
2025-01-03 13:04:37 +01:00
Gorgious56
e933ff08f8
Use relevant tool.Geometry functions for querying openings relations
2025-01-03 12:22:08 +01:00
Gorgious56
25af639dae
Fix memory leaks due to orphaned meshes in the opening and boolean operations
2025-01-03 11:30:42 +01:00
Gorgious56
5b3e3fc646
Fix not being able to apply or hide specific openings
2025-01-03 10:54:54 +01:00
Gorgious56
57dbea2974
Fix #3854 : Assigning a class to a potential opening removes it from the openings pool
...
Also fix an error in previous commit
2025-01-03 10:33:41 +01:00
Gorgious56
cc3074cdcc
#5919 : Add an option to set the opacity of the rest of the model when modifying openings
...
Option is located in the preferences
2025-01-03 10:01:36 +01:00
Gorgious56
4c9697d260
Consolidate logic for toggling display of openings
2025-01-03 09:59:47 +01:00
Gorgious56
8dfcea0e24
Fix internal openings list not being cleared when applying an opening
2025-01-03 09:42:55 +01:00
Gorgious56
f0fac7ad8b
Reorganize addon preferences layout
...
Hopefully it's a little bit less daunting
2025-01-03 09:40:08 +01:00
Bruno Perdigão
f6c34ac196
Refactor enable_constraints for performance reasons.
...
`context.view_layer.update()` was being called for every object in the loop.
Now it is just called after all the constraints are enabled.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
5ebaaa6c8c
Minor fix to disable_aggregate_mode().
2025-01-02 17:11:43 -03:00
Bruno Perdigão
9838a54173
Minor fix in aggregate decorator.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
2c3c0b9d95
Improve performance for TAB into aggregate mode.
...
Use disable/enable constraint instead of `constraint.apply`. It keeps the
parts location with matrix calculation
2025-01-02 17:11:43 -03:00
Bruno Perdigão
548f6e0566
Improve performance for bim.aggregate_assing_new_objects_in_aggregate_mode()
...
Add constrain only to new objects instead of rebuilding all constraints from scratch.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
3874d19caa
Allow aggregate to me moved while in aggregate mode without moving its parts.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
87fee0b850
Add features for handling newly created objects in aggregate mode
...
- Highlight new objects in red when in aggregate mode
- Introduce an operator to add new objects to the current aggregate, accessible via a button in the header menu
2025-01-02 17:11:43 -03:00
Bruno Perdigão
3bccc993b7
Small fix in aggregate decorator.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
31ae2c5437
Create UI operators for aggregate mode in model workspace.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
85c48f6a63
Small refactor of aggregate decorator.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
833cc0604c
Improve performance in aggregate mode by removing hide_select.
...
Additionally, update rendering of objects outside the aggregate to use
'WIRE' instead of 'BOUNDS'.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
3dd83598e9
Prevent TAB from editing objects outside the aggregate in aggregate mode.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
3050abdb87
Small fix.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
f7c4b13d0a
Aggregate decorator refactor.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
91d3b8161e
Integrate aggregate mode toggle with Bonsai's TAB edit mode override.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
e9cc205ddd
Enable aggregate decorator by default on file startup.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
c48f50a67e
Small fix in aggregate move selection.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
6d9ee8828e
Small fix
2025-01-02 17:11:43 -03:00
Bruno Perdigão
28c95a7d9a
Remove debug print statements.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
9a6ff7c37c
Add bounding box decorator over aggregates.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
226ea10de8
Add aggregate mode decorator.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
3c590f097a
Prevent aggregate objects to be edited by TAB when not in aggregate mode.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
cbdbd5bd83
Add operator to toggle aggregate mode on and off.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
ccdf1cee0a
Hide selection of objects outside the aggregate when in "aggregate edit mode".
2025-01-02 17:11:43 -03:00
Bruno Perdigão
21d3b1d472
Small fix
2025-01-02 17:11:43 -03:00
Bruno Perdigão
0c7a0a6bda
Add aggregate decorator.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
3dcded819f
Add new way to move objects that are a part of an aggregate.
...
Now, when trying to move an object that is a part of an aggregate, the
`OverrideMoveAggregate` will be called, meaning that it will move the whole
aggregation. It works by creating constraints and moving the aggregate instead
of the selected object.
It also introduces the idea of editing an aggregate (no hotkey yet). When active, the user
will be able to move the parts of the aggregate instead of the whole aggregation: https://imgur.com/IcCGtPN
2025-01-02 17:11:43 -03:00
Bruno Perdigão
6f11f74aac
Apply aggregate constraints instead of removing.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
0daf4c9324
Remove constraints when object is unassigned from the aggregate.
2025-01-02 17:11:43 -03:00
Bruno Perdigão
7f838f81b4
Add aggregate constraints to import_ifc.py
2025-01-02 17:11:43 -03:00
Bruno Perdigão
cf9446c4a5
Constrain part objects to aggregate object when creating aggregations.
2025-01-02 17:11:43 -03:00
Richard Brice
26ba761c68
Refactors alignment geometry
2025-01-02 11:10:56 -08:00
Gorgious56
bb9be861c8
Fix blend file being saved twice in a row with CTRL-S
...
This caused a noticeable hiccup when a large file is saved twice on a network drive. Also it messed up the backup system.
2025-01-02 14:32:29 +01:00
Gorgious56
ad815b697e
Fix #5570 : Regen button now appears in the toolbar for windows and doors
2025-01-02 14:12:26 +01:00
Gorgious56
ca90ddc0b4
Fix 3134 : Flip shortcut is now displayed in the toolbar for doors and windows
2025-01-02 14:02:00 +01:00
Gorgious56
fb35e80be0
Editing the representation of an opening now updates the gpu shader accordingly
2025-01-02 13:06:14 +01:00
Gorgious56
21a62116a8
You can now hide all openings by pressing ESCAPE in the 3D Viewport
...
- Also fix CTD on UNDO after pressing ESCAPE due to previous commit
2025-01-02 11:17:48 +01:00
Gorgious56
c2708b13d9
Minor fix on previous commit to correctly go out of ifc edit mode without saving representation
2025-01-02 10:54:55 +01:00
Gorgious56
b949efe8ba
Fix #5849 : Use Keymap item instead of modal operator for override escape in 3D viewport
...
- Enables the vanilla Blender autosave feature back, since a running modal operator deactivates it
- ESC is not used by any other vanilla keymap in the 3D viewport (may be conflict with other addons)
- Hitting ESC over another type of editor (eg enum field in the properties editor) will not trigger disabling ifc item mode
- You can now hit ESC in IFC edit mode to cancel editing the geometry and go back to ifc object mode
2025-01-02 10:27:52 +01:00
Thomas Krijnen
463289e462
pyodide build ( #5916 )
2024-12-31 16:09:54 +01:00
Thomas Krijnen
2fbb47d797
build_pyodide.yml
2024-12-30 17:07:40 +01:00
Thomas Krijnen
6d3612bd5b
WASM build updates
2024-12-30 16:47:59 +01:00
Thomas Krijnen
3592e3f9c0
cityjson off by default
2024-12-30 16:44:47 +01:00
Andrej730
8fc0d7a808
Polyline tool - use Blender icons for status bar text
...
To make it similar to default Blender operators.
Example - https://i.imgur.com/wUEQeQL.png
2024-12-30 17:28:01 +05:00
Andrej730
9454d281fc
handle_snap_selection - disable in input mode
...
As it's used in mouse mode and in input mode it just recalculates the values.
2024-12-30 17:28:01 +05:00
Andrej730
64e4f00f19
Left mouse to cancel input mode in polyline tool
...
Previously it would just have no effect, now it should be more natural.
2024-12-30 17:07:53 +05:00
Andrej730
0f25701967
validate_input - add basic tests
2024-12-30 17:07:53 +05:00
Andrej730
80fec36b98
validate_input - allow typing feet value without feet symbol
...
Similar to how we don't require to specify meters when project is in meters.
2024-12-30 17:07:53 +05:00
Andrej730
1065239501
validate_input - add rounding to remove float garbage
2024-12-30 17:07:53 +05:00
Andrej730
8f4b0f1fd6
Fix error refresh linked aggregate with 2+ levels of aggregates #5911
...
Error occurred if IfcElementAssembly, that was currently refreshed, had another IfcElementAssembly as it's part. Then, it was removed twice - once during delete_objects and another time during delete_ifc_object, leading to the error.
2024-12-30 17:07:52 +05:00
Andrej730
6965399b2a
typing
2024-12-30 17:07:52 +05:00
Andrej730
da9cbbc61b
black .
2024-12-30 11:58:35 +05:00
Ryan Schultz
b506b72d9f
Toggle openings for part's aggregate as well.
2024-12-29 17:05:21 -06:00
Ryan Schultz
78afcf9c7a
Be able to close openings no matter what is selected.
2024-12-29 16:07:56 -06:00
Ryan Schultz
c562a2c2ac
closes #5876 : be able to 'apply void' no matter which order you select the wall (or any other class object) and void.
2024-12-29 12:49:38 -06:00
Thomas Krijnen
f3c52c5cbf
Quick wrapper clean-up
2024-12-29 15:53:21 +01:00
Thomas Krijnen
9fa44fdc3c
Setting rename
2024-12-29 15:53:07 +01:00
Bruno Perdigão
973dd818c4
Add slab direction decorator.
...
It's useful when working with angled slabs. There is no UI for it yet.
2024-12-27 21:02:47 -03:00
Andrej730
f362ba4edc
Fix typo
...
Co-Authored-By: sboddy <12862430+sboddy@users.noreply.github.com >
2024-12-27 21:21:54 +05:00
Andrej730
2b1126d24d
Hide list attributes from attributes UI
...
As they're more internal and not very useful to users.
Example of list attributes popping up before this commit - https://i.imgur.com/Nxcb10O.png
2024-12-27 19:43:30 +05:00
Andrej730
227f315746
Support quantity take-off for element types
...
Previously it would ignore any element types and work only on occurrences though quantity sets do support product types in general.
2024-12-27 19:43:30 +05:00
Andrej730
d55a291589
get_top_area to calculate area for the roof #5899
2024-12-27 19:43:30 +05:00
Andrej730
6c6e40b07c
get_side_area - add angle argument
2024-12-27 19:43:30 +05:00
Andrej730
810ad58c06
Fix get top area doc-string
...
It says that angles lower than the provided angle are ignored when it actually works the opposite way.
2024-12-27 19:43:29 +05:00
Andrej730
19c1394d94
typing
2024-12-27 19:43:29 +05:00
Andrej730
c770776228
Quantity take-off - add a fallback option #5899
...
If current set of rules (e.g. IfcOpenShell) doesn't provide a way to quantify some type of element, then user now have an option to fallback to other calculator (Blender).
Location - https://i.imgur.com/csIPOuo.png
2024-12-27 19:43:29 +05:00
Andrej730
00ba54f5f2
blender qto calculator - simplify x, y, z calculations
2024-12-27 19:43:29 +05:00
Andrej730
845ebb8543
Fix bug in Blender quantities calculator ignoring openings from an aggregate
...
It wasn't considering that object's geometry might be also altered by opening added not directly but to it's aggregate.
2024-12-27 19:43:29 +05:00
Andrej730
5ef10073cd
black .
2024-12-27 19:43:28 +05:00
Bruno Perdigão
b9423b191a
Add AddWallsFromSlab operator.
...
This operator allows users to create walls from a slab.
When the wall tool is active, pressing `Shift + A` will generate walls based on the exterior polygon of the selected slab.
2024-12-27 11:27:30 -03:00
Bruno Perdigão
ba5e968b8f
Fix bug caused by refactor a6a8a0f4b.
2024-12-27 09:40:59 -03:00
Bruno Perdigão
5e77453d1d
Add "Edge Intersection" option to snapping points.
2024-12-26 18:25:43 -03:00
Bruno Perdigão
a6a8a0f4b7
Small refactor in snapping system.
2024-12-26 18:17:39 -03:00
Bruno Perdigão
e65af4425e
Add decorator for "Edge Intersection" snapping point.
2024-12-26 18:17:39 -03:00
Andrej730
a4aaf9b4c3
Add info message if some elements were skipped from quantification #5905
...
Example - https://i.imgur.com/DwklNFS.png
2024-12-26 18:27:55 +05:00
Andrej730
51c9e1eaa2
Save loaded paths to linked IFC models in IFC #5899
...
Short demo - https://imgur.com/a/3LIt9Sr
2024-12-26 18:26:26 +05:00
Andrej730
f8828d3853
If models linked using relative path - store path as relative to ifc, not blend
...
As now we do support storing the list of linked models in IFC.
2024-12-26 18:26:26 +05:00
Andrej730
03793db75f
Keep IfcStore.path as empty string if file is not saved
...
Previously it would get cwd value in that case as bpy.path.abspath("//") returns cwd if .blend is not saved.
2024-12-26 18:26:26 +05:00
Thomas Krijnen
faa13a938d
Preliminary file existance check before attempting mapping
2024-12-26 14:03:36 +01:00
Thomas Krijnen
457f441187
Fix comparison in destructor
2024-12-26 14:03:36 +01:00
Andrej730
6486a8947c
Fix macos builds
2024-12-26 15:36:51 +05:00
Andrej730
3b10d8a9c4
Fix error loading document references in ifc2x3 after 1655341
2024-12-25 17:40:52 +05:00
Andrej730
60d6252fe7
Change documents name/identification from UI
...
Example - https://imgur.com/a/TAkxxSF
2024-12-25 17:40:51 +05:00
Andrej730
ff147a4c24
Fallback for queries if no elements filter is provided #5901
2024-12-25 17:40:51 +05:00
Andrej730
e3aaf5defa
dev_environment - stop script execution on errors
2024-12-25 15:21:00 +05:00
Andrej730
6aaaf99314
dev_environment - move wild cards out of quotation marks #5904
2024-12-25 15:21:00 +05:00
Andrej730
1e4420d824
dev_environment - remove redundant slash at the end of BLENDER_PATH
...
Co-Authored-By: tim <59872808+trhyder@users.noreply.github.com >
2024-12-25 15:21:00 +05:00
Andrej730
769025e084
typing
2024-12-25 15:20:40 +05:00
Andrej730
f62b8073c6
black .
2024-12-25 15:20:40 +05:00
Bruno Perdigão
75483edb22
Fix limitations in AddSlabFromWalls operator.
...
- The operator is now unaffected by the order in which walls are joined.
- It has been updated to support split walls.
2024-12-23 18:12:29 -03:00
Bruno Perdigão
d44942fbae
Typo
2024-12-23 18:10:35 -03:00
Bruno Perdigão
051da8e481
Allow mitre join to create a connection between contiguous walls.
2024-12-23 18:10:35 -03:00
Bruno Perdigão
46c7981842
Change "Split" function to create connection between the new walls.
2024-12-23 18:10:35 -03:00
Bruno Perdigão
7dbfe91b4b
Allow intersect_edges_v2 to work with 2d vectors.
2024-12-23 18:10:35 -03:00
Andrej730
7e8094aaa0
bim.load_linked_project - move processing chunk code to common method
2024-12-23 18:59:56 +05:00
Andrej730
20172a29c2
small optimization
...
avoid copying arrays of data if not necessary
2024-12-23 18:59:56 +05:00
Andrej730
39b64775be
bim.load_linked_project - add invoke for debugging purposes
2024-12-23 18:59:56 +05:00
Andrej730
170b6fc67e
typing
2024-12-23 18:59:55 +05:00
Andrej730
6dfb25862c
black .
2024-12-23 18:59:55 +05:00
Andrej730
f1080a8278
ifcopenshell.open - more robust file existence check
2024-12-23 16:19:56 +05:00
Andrej730
6b0b7989b0
Fix error appending elements without type #5902
2024-12-23 15:48:53 +05:00
Andrej730
9128bf2d47
Fix missing line after f22636d #5896
2024-12-23 15:32:15 +05:00
Andrej730
6edc6cec71
Fix Migrate not migrating ifc file header #5903
2024-12-23 12:33:32 +05:00
Andrej730
d0e2995a84
bim.copy_text_to_clipboard - more detailed tooltip
...
Now it will show the text being copied (e.g. attribute name).
2024-12-23 12:33:17 +05:00
Andrej730
31069d6643
Fix error creating polylines in ifc2x3 after 9fbcb39
...
By accident it was providing numpy array instead of ifc points entities.
2024-12-23 12:33:17 +05:00
Andrej730
09b4681413
Fix #5892
...
By accident not commited `attr = context.button_pointer` line that was leading to console errors
2024-12-23 11:35:55 +05:00
Ryan Schultz
cb0fdbec66
Quick way to get search strings from selections: https://community.osarch.org/discussion/comment/23305/#Comment_23305
2024-12-22 11:25:42 -06:00
Bruno Perdigão
40f1055ac3
Add AddSlabFromWalls operator.
...
This operator allows users to create a slab from a selected closed loop of walls.
When the slab tool is active, pressing `Shift + A` will generate a slab based on the exterior polygon of the selected walls.
2024-12-20 17:42:13 -03:00
Bruno Perdigão
44ef07c43e
Add WallAxisDecorator.
2024-12-20 17:42:13 -03:00
Andrej730
1f68464d46
Bonsai Attribute to support copying it's name to clipboard #5892
...
Example - https://i.imgur.com/Jf1jofZ.png
2024-12-20 19:39:47 +05:00
Andrej730
f7395ccd52
Fix misleading CAD Fillet hotkey, add some CAD hotkeys descriptions #5893
...
It was misleadingly displayed in UI as shift+v while it was shift+f.
2024-12-20 18:59:22 +05:00
Andrej730
a79c4b1ace
typing
2024-12-20 18:59:22 +05:00
Thomas Krijnen
579628fcb1
Properly handle taxonomy::loft with curved edges coming from ExSolidTapered #5891
2024-12-20 13:49:33 +01:00
Andrej730
74fe1b4eb9
append_asset - ensure to update existing rels appending second asset
...
E.g. in #5890 pset was shared by 2 elements and they it worked is
1) it appended first element and it's rel to pset
2) it appended second element and skipped updating it's rel as it was appended before. Now it's going to update it to ensure it encludes second element too.
I believe, issue occurred after 8c28f52 when we stopped duplicating inverses and started to reuse them.
2024-12-20 12:47:10 +05:00
Bruno Perdigão
8c6eddfb66
Disable LEFTMOUSE when input mode is on, in polyline tool.
2024-12-19 20:02:39 -03:00
Andrej730
284ec46b81
add_door_representation - remove mathutils dependency #5192
2024-12-19 18:31:49 +05:00
Andrej730
d6e6a6d559
add_railing_representation - remove mathutils dependency #5192
2024-12-19 18:31:49 +05:00
Andrej730
f22636d880
add_window_representation - remove mathutils dependency #5192
2024-12-19 18:31:49 +05:00
Andrej730
eae92b55bb
shape_builder - np utils
2024-12-19 18:31:49 +05:00
Andrej730
5b315bfa8f
shape_builder - add test for mirror
2024-12-19 18:31:49 +05:00
Andrej730
5cd769e5b4
shape_builder tests - remove mathutils dependency #5192
2024-12-19 18:31:49 +05:00
Andrej730
e2b550f7af
regenerate furniture library after migrating to numpy
2024-12-19 18:31:48 +05:00
Andrej730
bf892a6a06
Furniture library - small change after #4989
2024-12-19 18:31:48 +05:00
Andrej730
0e8eeb18ac
shape_builder - remove mathutils dependency completely #5192
2024-12-19 18:31:48 +05:00
Andrej730
b4a0a5df6c
mathutils deprecation - mep_bend_shape #5192
2024-12-19 18:31:48 +05:00
Andrej730
5469d3f9d5
mathutils deprecation - mep_transition_shape #5192
2024-12-19 18:31:48 +05:00
Andrej730
4a68285d1f
mathutils deprecation - meshes #5192
2024-12-19 18:31:48 +05:00
Andrej730
01c2edfd16
mathutils deprecation - extrude #5192
2024-12-19 18:31:47 +05:00
Andrej730
c32616faca
mathutils deprecation - mirror #5192
2024-12-19 18:31:47 +05:00
Andrej730
6e8815eacc
mathutils deprecation - rotate #5192
2024-12-19 18:31:47 +05:00
Andrej730
8250f02866
mahtutils deprecation - translate #5192
2024-12-19 18:31:47 +05:00
Andrej730
c1ec42c95b
mathutils deprecation - circle, plane, placements, curves #5192
2024-12-19 18:31:47 +05:00
Andrej730
63f56d2f21
mathutils -> numpy - polyline, rectangle #5192
2024-12-19 18:31:47 +05:00
Andrej730
bd0cf6cf3f
black .
2024-12-19 18:31:46 +05:00
Andrej730
7be21bf02e
mep - fix errors adding a bend/a transition
...
mesh is already removed by replace_object_ifc_representation
2024-12-19 18:31:46 +05:00
Thomas Krijnen
352e361ea5
Check for nullptr before resolving inverses
2024-12-19 10:40:59 +01:00
Thomas Krijnen
9efc9d2044
Fix iteration over indeterminate in rule execution
2024-12-18 11:45:47 +01:00
Thomas Krijnen
d271fd1779
Fail faster on representation map not suitable for reuse #5672
2024-12-17 20:58:10 +01:00
Thomas Krijnen
bd7c19a861
Defensiveness #5683
2024-12-17 20:57:01 +01:00
Thomas Krijnen
abb1fe6f60
#5684 Ignore singular object placement
2024-12-17 13:30:21 +01:00
Thomas Krijnen
243e974866
Fetch when already cloned in nix build script
2024-12-17 12:28:32 +01:00
Ryan Schultz
07cf701e90
tweaks to a9defb94d0
...
thanks @Andrej730 for the direction.
2024-12-14 13:07:53 -06:00
Thomas Krijnen
1d271611c4
Try work-around brew install issue on OSX build
2024-12-14 15:34:42 +01:00
Thomas Krijnen
559ef3086a
Only manual dispatch for full builds due to LFS quota
2024-12-14 15:34:15 +01:00
Andrej730
7f1b234045
Fix #5871
2024-12-13 19:07:58 +05:00
Andrej730
2251679479
Skip parts without polygons converting mesh to tessellation #5870
...
As IFC doesn't allow mixed geometry types anyway.
2024-12-13 19:07:57 +05:00
Andrej730
34e8e8911d
geometry test - IfcSweptDiskSolid
2024-12-13 19:07:57 +05:00
Andrej730
c4945970e3
test IfcCircle values
2024-12-13 19:07:57 +05:00
Andrej730
99c752904a
Fallback to add_representation for mesh curves #5870 (after 42f32e3)
2024-12-12 18:16:12 +05:00
Andrej730
8574057340
bim.hide_booleans to hide all selected booleans, not just active
...
short demo - https://imgur.com/a/1h2glfj
2024-12-12 17:44:55 +05:00
Andrej730
363c3b0010
bim.show_booleans to show booleans for all selected objects
2024-12-12 17:44:55 +05:00
Andrej730
e098a7c4fc
Add option to disable loading index maps #5848
...
As currently it might still might take too long
2024-12-12 16:55:56 +05:00
Andrej730
ae61f28df7
Optimize loading index map - finding closest vert index #5848
2024-12-12 16:55:56 +05:00
Andrej730
d8cfc017d4
Optimize loading index map #5848
...
Use dict of face sets so we can get face data in O(1) instead of going through all of O(n).
2024-12-12 16:55:56 +05:00
Bruno Perdigão
4e0a813eb4
Fix Solar Analysis UI after changes in Sun Position Add-on.
...
Changes in this file: https://projects.blender.org/pioverfour/sun_position/src/branch/main/sun_calc.py
2024-12-11 16:39:12 -03:00
Bruno Perdigão
a447776fd7
Change georeference decorator UI.
2024-12-11 16:38:24 -03:00
Thomas Krijnen
eb68264bed
Support inner loops in occt sweep_along_curve #5859
2024-12-11 10:54:01 +01:00
Thomas Krijnen
a84a5815d6
Don't check for BOPAlgo_AlertAcquiredSelfIntersection at all for now
2024-12-10 21:45:39 +01:00
Thomas Krijnen
139b83ea0c
Re-enable remove_duplicate_points_from_loop
2024-12-10 21:30:43 +01:00
Thomas Krijnen
ab17c8ffd9
Re-enable force_close in profile curve handling
2024-12-10 21:26:58 +01:00
Thomas Krijnen
0708f49973
Re-enable wire self-intersection handling
2024-12-10 21:26:06 +01:00
Thomas Krijnen
a728470b76
Allow BOPAlgo_AlertAcquiredSelfIntersection when its our final fuzziness attempt
2024-12-10 21:18:20 +01:00
Thomas Krijnen
72eed36313
Rework debug flags in settings
2024-12-10 21:17:37 +01:00
Andrej730
fc9bcb0b82
Support reloading disk solids representation that use Blender curves
2024-12-10 18:09:27 +05:00
Andrej730
5df93cbb52
Support InnerRadius for disk imported as Blender curves #5859
2024-12-10 18:09:26 +05:00
Andrej730
1e0ca1d891
convert-back-units test #5864
2024-12-10 18:09:26 +05:00
Andrej730
9cd4ff9de4
Fix error adding an occurrence with no type selected #5863
2024-12-10 18:09:26 +05:00
Andrej730
b1231b74e2
Save texture style without textures to remove texture style
...
Mentioned in 618ba51 , it probably will be more natural this way - if there are no textures, we hide UV attribute to indicate that it won't be saved and on save we either do nothing, if texture style wasn't saved before, or remove it.
2024-12-10 18:09:26 +05:00
Thomas Krijnen
ea68f90693
Fix other unit conversion issues #5864
2024-12-10 11:19:43 +01:00
Thomas Krijnen
064ccf8ab6
Always apply shape healing to faces with inner bounds for wrong orientation
2024-12-10 09:24:29 +01:00
Thomas Krijnen
db865ec88f
Revert submodule change in 586f9be077
2024-12-10 09:24:29 +01:00
Ryan Schultz
91a061325d
Perform quantity take off near object's QTO. https://imgur.com/a/kzBA1GB
2024-12-09 15:13:13 -06:00
Andrej730
ce6a5080cd
Added headers for resources and cost schedule
...
Need to polish it and readjust it, just adding some headers to make tables more readable.
https://i.imgur.com/5Lb8Vrc.png
https://i.imgur.com/UYysZF1.png
2024-12-09 18:30:12 +05:00
Andrej730
8039fcd6f7
Fix invalid ifc saving texture style without any textures / option to remove surface style
...
Now it won't allow saving texture style without textures and there is a button to remove part of surface style.
2024-12-09 18:30:05 +05:00
Andrej730
194e033662
Fix error editing lighting style attributes 08e38c6
2024-12-09 18:30:05 +05:00
Andrej730
77a4145dcf
Fix error message creating texture style without render style
...
It was suggesting that it's possible to create it with just shading style though it's not currently supported.
Now it also appears when user is about to enable texture style editing, not when they're already trying to save the changes.
2024-12-09 18:30:05 +05:00
Andrej730
365d82f1d5
Loading texture maps - fallback to absolute paths
...
If it's not possible to get relative path, fallback to absolute path and show an info message.
2024-12-09 18:30:05 +05:00
Andrej730
618ba5187c
Readable error trying to create a texture style without textures #5855
2024-12-09 18:30:04 +05:00
Andrej730
6090c1c669
typing
2024-12-09 18:30:04 +05:00
Andrej730
1572bf36a7
Add descriptions to style/material selection operators
2024-12-09 16:56:15 +05:00
Andrej730
2e0ca32653
black .
2024-12-09 16:56:14 +05:00
Ryan Schultz
5086fcc35a
small fix to previous commit.
2024-12-08 20:12:03 -06:00
Ryan Schultz
a9defb94d0
Improved UI for BIM_PT_object_material
...
also can run `bim.select_by_material` by clicking on material name
2024-12-08 20:01:49 -06:00
Ryan Schultz
586f9be077
When toggling openings, voids are wireframe.
...
Discussed: https://community.osarch.org/discussion/2592/any-objections-of-changing-voids-to-wireframe-when-you-toggle-openings
Also, if you keep hitting tab, it cycles in and out of edit mode.
2024-12-07 15:31:37 -06:00
civilx64
ad35ceef2a
add missing import for ifcopenshell.api.georeference
2024-12-07 18:17:36 +01:00
Ryan Schultz
93ec1cbfc2
closes #5086 : a preference to assign which classes display as wireframe upon opening the IFC file
2024-12-07 10:58:58 -06:00
Thomas Krijnen
8bba25497b
Add material name in gltF
2024-12-07 16:36:40 +01:00
Thomas Krijnen
9160038359
Reuse more existing api in cgal face self-intersection detection #5820
2024-12-07 16:26:59 +01:00
Andrej730
c4ffc06a88
Bonsai - extract elements from selection #4316
...
Demo - https://imgchest.com/p/xny8qvox5yb
You can also now reuse 'bpy.data.texts['globalid-filter-3UvnD5Ml95zBDEcwAkAUIp']' kind of queries from Search in ExtractElements query.
2024-12-06 18:57:55 +05:00
Andrej730
2a713846ce
bonsai ifcpatch - add warning for unsupported patches
...
For patches that require filepath to be provided explicitly (they are still supported with "Load from memory" unchecked).
2024-12-06 18:57:55 +05:00
Andrej730
c306014190
ifcpatch - input and file arguments #2751
...
documented when input is currently required
2024-12-06 18:57:55 +05:00
Andrej730
2da5f2d61e
set_element_value - optimizations setting enum values
...
1) Identify from previous pset value whether prop was an enum (by checking if previous value is a list), instead of searching through prop templates
2) Compare previous and new enum values - if they match, skip editing IFC.
2024-12-06 18:57:54 +05:00
Andrej730
c7af55183b
set_element_value for enums - add a test
2024-12-06 18:57:54 +05:00
Andrej730
6fe5af3170
Fix regression for switching to Point/PointCloud representations
2024-12-06 18:57:54 +05:00
Andrej730
73185293df
Fix long time missing create_cog_representation
...
It was used in the code but method wasn't defined. I believe it was lost during 8b7d968 😁
2024-12-06 18:57:54 +05:00
Andrej730
6d01d71c60
add_representation.create_cartesian_point - fix missing z offset for 0 values
2024-12-06 18:57:54 +05:00
Andrej730
848af67fbb
typing
2024-12-06 18:57:53 +05:00
Andrej730
8609bd12cc
Fix default container label not updating #5817
2024-12-06 15:42:23 +05:00
Andrej730
3446643816
bim.switch_representation to handle representations with the same context
...
1) If object had multiple representations for the same context, then switch simply wouldn't work as it would always pick up the first representation it could find. Now it prioritizes the one user is selecting in UI.
2) If some object is selected and it also has multiple representations for the same context, then switch representation would switch it to any representation in that context it first finds. As user doesn't provide representation explicitly in that case, now it will stick to the already active representation on selected object if it matches the context, to avoid accident switches.
Notcied by working with example from #5824
2024-12-05 18:32:54 +05:00
Andrej730
1b61cbba8f
typing
2024-12-05 18:28:45 +05:00
Andrej730
8d2b783b4a
fix small bug in 939cc63ca
2024-12-05 17:24:33 +05:00
Andrej730
538365885b
Hide output path for ifcpatch without output #4721
2024-12-05 17:24:33 +05:00
Andrej730
939cc63cae
SplitByBuildingStorey - fix errors, fix Bonsai UI #4721
...
- The patch was failed when executed from Bonsai since self.src wasn't provided, fixed now.
- Added a temporary hack to diplsay file selector for this patch.
- small refactor.
2024-12-05 17:16:26 +05:00
Andrej730
13106d255c
int formatting function #5039
...
Example - https://i.imgur.com/wDGFNci.png
2024-12-05 15:52:27 +05:00
Andrej730
9cf34f9d8c
Select profile for profile type objects #5814
...
Demo - https://imgchest.com/p/9rydjxwanyk
2024-12-05 15:21:28 +05:00
Andrej730
eb87e7e866
Fix UI errors when selecting directories in file browser
...
It was only checking if it's existing path but wasn't checking whether it's a file, therefore directories with suffixes were slipping in and then failing during `IfcHeaderExtractor(filepath)`.
2024-12-04 17:46:55 +05:00
Andrej730
e4597708d7
simplify getting view 3d space
...
If area is VIEW_3D then area.spaces.active is always VIEW_3D too.
2024-12-04 17:46:55 +05:00
Andrej730
bb441ade3f
Fix error loading external shader styles
...
Mentioned in logs from #5820
Turned out, `area.spaces` also contain all other spaces this area used (e.g. it used be view3d before it became a nodegraph) leading to errors. Simplifying it with `area.spaces.active`.
2024-12-04 17:46:55 +05:00
Andrej730
00a509aa0b
typing
2024-12-04 17:46:55 +05:00
Andrej730
69fb486778
black .
2024-12-04 17:12:36 +05:00
Thomas Krijnen
aef38bd869
Fix matrix access in XmlSerializer #5840
2024-12-04 10:39:01 +01:00
Andrej730
7b09c9ad3b
Bonsai - handle invalid authorization None value in the header #5834
2024-12-04 14:16:51 +05:00
Richard Brice
eadf35f031
Fixes unit conversion for polynomial coefficients
2024-12-02 14:45:05 -08:00
Thomas Krijnen
f425794182
submodule
2024-12-01 20:26:18 +01:00
Thomas Krijnen
4d90684778
empty
2024-12-01 20:03:16 +01:00
Thomas Krijnen
049173286a
Bump precision in wkt output
2024-12-01 19:05:22 +01:00
Thomas Krijnen
1ecf722111
Assert single polygon in arrange-spaces and no need for the closing point
2024-12-01 19:04:59 +01:00
Thomas Krijnen
85c0992975
submodule
2024-12-01 19:04:08 +01:00
Thomas Krijnen
b9f790217e
Initialize only_valid_
2024-12-01 11:21:58 +01:00
Thomas Krijnen
4bb112ce71
Manually parse SVG polygons for space arrangement
2024-12-01 11:21:38 +01:00
Thomas Krijnen
efd05158c4
Propagate unit settings
2024-12-01 11:21:15 +01:00
Thomas Krijnen
3a687fecda
SVG reliance on UseElemHierarchy for storey decomposition
2024-12-01 11:20:37 +01:00
Thomas Krijnen
df060d7f60
submodule
2024-12-01 11:19:34 +01:00
Ryan Schultz
e3317af56d
fix #5806 : When unlocking spatial objects, that it turns on select-ability as well.
2024-11-30 15:40:26 -06:00
Thomas Krijnen
da78a1107d
Fix validation error in non-aggregate aggregate #5830
2024-11-30 17:49:29 +01:00
Ryan Schultz
b52edcea40
Use Top/Bottom when LayerSetDirection = AXIS3
2024-11-29 09:55:42 -06:00
Thomas Krijnen
4ec8ceb134
Reintroduce --center-model and --center-model-geometry
2024-11-29 13:03:56 +01:00
Thomas Krijnen
8edbb37121
Fix latebound entity inheritance hierarchy wrt id() #5822 - not ideal, because BaseEntity.declation now returns declaration
2024-11-28 12:57:08 +01:00
Andrej730
c9847caa6a
ifccsv - support importing enum values #4608
2024-11-27 18:30:37 +05:00
Andrej730
b7db3da017
ifctester - save results to temp directory
...
the way it was intended to originally but absolute paths of ifc and ids got in the way
Replaced TemporaryDirectory with mkdtemp as sometimes .html report doesn't open fast enough and directory gets deleted. Also need to keep the directory to make sure .ods is not removed.
2024-11-27 18:30:37 +05:00
Andrej730
eca71032bf
black .
2024-11-27 18:30:37 +05:00
Andrej730
ab069f431a
typing
2024-11-27 18:30:37 +05:00
Andrej730
25eecded4e
ifcopenshell.validate to validate guids #5808
2024-11-27 15:42:03 +05:00
Andrej730
cc014bb7ec
ifcopenshell.write check if file was saved successfully #5809
...
will help only for the cases if file didn't existed before
2024-11-27 12:59:06 +05:00
Ryan Schultz
ba7b0d5c4f
When using queries in an IfcAnnotation tag surround with backticks
2024-11-26 21:48:46 -06:00
Bruno Perdigão
4f6e2586e1
Fix #5727
2024-11-26 10:42:26 -03:00
Andrej730
dea3722ca5
bim.select_failed_entities - add info message
2024-11-26 18:12:05 +05:00
Andrej730
268cbe9a69
remove debug print
2024-11-26 18:12:05 +05:00
Andrej730
85b7249a77
Fix error using cwd for titleblock path #5769
...
The titleblock is ifc relative, not .blend/cwd relative.
e.g. if you open Blender in C:\ and then would open .ifc from c:\path\to\project.ifc, it would try to create layouts folder in C:\layouts instead of c:\path\to\layouts
2024-11-26 18:12:05 +05:00
Andrej730
12c08b0697
typing
2024-11-26 18:12:05 +05:00
Andrej730
fb70374876
black .
2024-11-26 18:12:04 +05:00
Andrej730
a4145ecec2
Fix errors using shared path for drawing underlay #5803
2024-11-26 17:06:00 +05:00
Andrej730
4da9f12960
BIMMeshProperties.obj - document
2024-11-26 16:16:29 +05:00
Andrej730
04d3903ee2
bim.hide_boolean to apply changes to booleans transforms #5800
...
Example - https://imgchest.com/p/ljyq8zvwey2
2024-11-26 16:16:29 +05:00
Andrej730
c8e5b8f028
bim.show_booleans - not to load same booleans multiple twice #5800
...
Now it's checking whether they were reloaded before and removing previous instances.
2024-11-26 16:16:29 +05:00
Andrej730
b8468cb19c
Mesh.subshape_type - replace with enum
2024-11-26 16:16:28 +05:00
Andrej730
e6f0f54c93
Mesh.ifc_definition - remove unused property
...
Introduced in 6cc4ce4 , seems to be gone for a while now.
2024-11-26 16:16:28 +05:00
Andrej730
2ff7401803
ifc join to reuse poly curve points if possible
2024-11-26 12:39:19 +05:00
Andrej730
22009973a8
Support ifc joining curve sets of poly curves #5793
...
Will resolve 'Unsupported representation item type for joining: IfcGeometricCurveSet' kind of errors on IFC join.
2024-11-26 12:39:19 +05:00
Andrej730
c228866f51
Add error message on representation type mismatch #5793
...
Instead of failing silently
2024-11-26 12:39:19 +05:00
Andrej730
3856b281ea
Fix sheets related poll errors
2024-11-26 12:39:19 +05:00
Ryan Schultz
6f7565f6f9
select objects within a certain tolerance--which is set in the preferences.
2024-11-25 22:12:27 -06:00
Ryan Schultz
65a8ae1093
Fix #5802 , Thanks @sboddy!
2024-11-25 18:49:50 -06:00
Jesse Roodhorst
e6f8ef992e
tooltips for the drawing module added ( #5798 )
2024-11-25 18:21:41 +05:00
Andrej730
dd0355c539
Fix drawing activation if drawing properties are using temp window #5791
2024-11-25 18:07:45 +05:00
Andrej730
7475a8f989
add_slab_representation - add api description #5792
2024-11-25 17:30:31 +05:00
Andrej730
4d44ec7174
Fix creating arbitrary profile without object after e74adcb
...
Error: Python: Traceback (most recent call last):
File "\bonsai\bim\ifc.py", line 443, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\bonsai\bim\module\profile\operator.py", line 172, in _execute
if not indices:
^^^^^^^
UnboundLocalError: cannot access local variable 'indices' where it is not associated with a value
2024-11-25 16:52:57 +05:00
Andrej730
29f9f04d92
Change profile object UI #5796
...
example - https://imgchest.com/p/qb4zwj6ad4j
1) moved profile object selection to the same row as the profile type selection, so it will more noticable that they're related
2) added object requirements in the description
3) filtered only mesh objects to appear in the dropdown
2024-11-25 16:45:55 +05:00
Ryan Schultz
fc736f725c
tweaks to 812e3dc6df
2024-11-24 09:58:44 -06:00
Thomas Krijnen
ba92e3140c
Fix installation of some header files
2024-11-24 15:12:44 +01:00
Bruno Perdigão
99ad9ac305
Fix snap system ( #5782 ) by changing the priorities.
...
The priority now follows this order:
1. Polyline
2. Measure
3. Faceless objects
4. Objects
5. Axis
6. Viewport plane
2024-11-23 12:53:44 -03:00
Bruno Perdigão
dc6078a416
Small fix in model decorator
2024-11-23 10:52:39 -03:00
Bruno Perdigão
0267e2b5e0
Add option to change the size of the georeference decorator.
2024-11-22 14:48:57 -03:00
Thomas Krijnen
352a2e2eb8
Quotes
2024-11-22 14:00:30 +01:00
Andrej730
091ed3bb8d
Fix possible crash removing resource after 1f21e96
2024-11-22 17:13:05 +05:00
Andrej730
69eca15195
resources import/export - support resource quantities
2024-11-22 17:13:05 +05:00
Andrej730
a551ea36df
related_object_type - use enum instead of stringproperty
2024-11-22 17:13:05 +05:00
Andrej730
1116bcc296
bim.assign_cost_item_quantity - add dynamic description
...
Example:
- https://i.imgur.com/J3LFiYu.png
- https://i.imgur.com/ufC2LzD.png
2024-11-22 17:13:05 +05:00
Andrej730
4ef1afa8bb
resources - support importing/exporting ScheduleUsage
2024-11-22 16:57:54 +05:00
Andrej730
164e5c69ca
bim.export_resources #5760
...
Simple export for resources to csv file, supports just the same fields that import currently does.
Location - https://i.imgur.com/Ssz7BwZ.png
2024-11-22 16:57:26 +05:00
Thomas Krijnen
8420823342
Only package exes for one entry in matrix
2024-11-22 12:18:55 +01:00
Andrej730
71637f120a
Fix "Restart Blender" button for Microsoft Store Blender #5582
2024-11-22 14:32:01 +05:00
Thomas Krijnen
1d6cbc4b76
Add --with-filesystem to boost build (for voxelization toolkit)
2024-11-22 09:31:23 +01:00
Thomas Krijnen
faf5c0ab30
Submodule
2024-11-22 09:21:16 +01:00
Thomas Krijnen
e86b419414
Empty
2024-11-21 19:57:20 +01:00
Thomas Krijnen
c3154b3755
Transfer build output repo
2024-11-21 15:40:34 +01:00
Thomas Krijnen
a37b5c5b62
Github Action build scripts!
2024-11-21 15:40:34 +01:00
Thomas Krijnen
f91fedf69c
Win build script - check for installed deps
2024-11-21 15:26:14 +01:00
Thomas Krijnen
7028d67e00
nix boost 1.86, diskcleanup option
2024-11-21 15:25:47 +01:00
Thomas Krijnen
957369219c
More verbosity on invalid enumeration literals
2024-11-21 15:16:56 +01:00
Stephen Boddy
04e84f7aed
Fix #5770 so sheet subitems can be opened using svg command too, not just the main sheet. I was a little overzealous adding poll methods in 099703f
2024-11-21 18:18:36 +05:00
Andrej730
4bde423c50
Date picker UI for IfcDate type attributes
...
Example - https://imgchest.com/p/5xy2bekl3yl
set_prop_from_path method got from https://blenderartists.org/t/set-property-using-path-from-path-from-id-prop-path-resolve/1559166
2024-11-21 18:11:59 +05:00
Andrej730
4891e4ffed
Fix not applying transforms in case if there's only parent or only constraints
2024-11-21 18:11:58 +05:00
Andrej730
8a31e8d149
Auto update cost item rates when enabling editing non-sor cost schedule
...
There was an issue that it wouldn't load until you manually select it in the "Cost Item Rates" enum - otherwise items didn't appear the first time cost schedule opened and didn't not update when you makes changes to the active schedule of rates.
2024-11-21 18:11:58 +05:00
Andrej730
6e56fe8f9b
bim.load_schedule_of_rates_tree - remove dead code
...
This operator is unused anymore since d3b176e and it's using non-existent core method.
2024-11-21 18:11:58 +05:00
Andrej730
15354d2e06
bim.assign_cost_value - add description
2024-11-21 18:11:58 +05:00
Andrej730
37141c89ac
bim.assign_cost_item_quantity - to show error if no related objects were found
...
Just to make UI more responsive - e.g. if some objects are selected but they are not products.
2024-11-21 18:11:58 +05:00
Andrej730
610665d732
Fix bug with TEXT annotations types showing up in TEXT_LEADER annotation types list
2024-11-21 18:11:38 +05:00
Andrej730
2381e9e4e6
bim.import_resources - add info message about imported resources
...
Example - https://i.imgur.com/NlZRIzw.png
2024-11-21 18:11:38 +05:00
Andrej730
670a85fd8c
Hide class assignment panel for handles from linked models
2024-11-21 18:11:37 +05:00
Andrej730
b2e3a4dd82
typing
2024-11-21 18:11:37 +05:00
Andrej730
ec521916da
black .
2024-11-21 18:11:37 +05:00
Thomas Krijnen
2f7412d0c1
install serializer libs
2024-11-21 09:15:04 +01:00
Andrej730
3b6128b2df
bim.assign_class to apply transform from parents and constraints
...
To avoid confusing situations when user would assign a class, move object around and save ifc file, then to realize that it was saved using just local transforms which can be completely different.
2024-11-20 15:47:41 +05:00
Andrej730
857dd3aa60
Fix linking ifc using relative paths #5768
2024-11-20 14:48:23 +05:00
Andrej730
1a72089b3b
Blender 4.3 - fix not hidden Blender scene panels #5767
...
No idea what happened but in Blender <4.3 `type(bpy.types.SCENE_PT_rigid_body_world_settings.bl_rna)` is `<class 'bl_ui.properties_scene.SCENE_PT_rigid_body_world_settings'>` which is `bpy.types.Panel` but in Blender 4.3 it's now is `bpy.types.Struct`. Using `.base` seems to work for both versions.
2024-11-20 12:02:04 +05:00
Andrej730
361e0419cf
Bump Blender to 4.3 in tests
2024-11-20 12:02:04 +05:00
Andrej730
351bc3f364
Bump dev_environment Blender version to 4.3
2024-11-20 12:02:04 +05:00
Ryan Schultz
bf717622a0
Assign the render engine via shading_styles.json instead of hardcoding it.
2024-11-19 14:39:49 -06:00
Andrej730
6cc75c1164
Fix error assigning product to non-text annotations (e.g. dimension)
...
Error: Python: Traceback (most recent call last):
File "\bonsai\bim\ifc.py", line 443, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\bonsai\bim\module\drawing\operator.py", line 2960, in _execute
core.edit_assigned_product(tool.Ifc, tool.Drawing, obj=context.active_object, product=product)
File "\bonsai\core\drawing.py", line 66, in edit_assigned_product
drawing.update_text_value(obj)
File "\bonsai\tool\drawing.py", line 983, in update_text_value
cls.import_text_attributes(obj)
File "\bonsai\tool\drawing.py", line 904, in import_text_attributes
props.font_size = str(text_data["FontSize"])
2024-11-19 20:15:44 +05:00
Andrej730
d032f75e61
Fix error updating decorations removing active drawing
...
should_draw_decorations is updated as part of regular refresh_ui_data.
'removed_drawings' line was a dead code
Traceback (most recent call last):
File \bonsai\bim\module\drawing\prop.py", line 252, in update_should_draw_decorations
collection = context.scene.camera.BIMObjectProperties.collection
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'BIMObjectProperties'
File \bonsai\bim\module\drawing\prop.py", line 249, in update_should_draw_decorations
2024-11-19 20:15:44 +05:00
Thomas Krijnen
9bbf345fd7
https://github.com/IfcOpenShell/svgfill/pull/8
2024-11-19 15:50:31 +01:00
Thomas Krijnen
75d7fcdc4b
Submodule
2024-11-19 15:34:23 +01:00
Thomas Krijnen
2b3af4cddb
Move issue content to test case #5752
2024-11-19 12:51:11 +01:00
Thomas Krijnen
96d6d5bfbe
Fix validation false positive on Number #5752
2024-11-19 12:49:10 +01:00
sboddy
c7e7031ee5
Fix #5725 : Remember DPI and drawing modes ( #5762 )
2024-11-19 15:32:08 +05:00
Thomas Krijnen
1c54be84ba
Fix #5763 use OuterWire
2024-11-19 11:05:20 +01:00
Andrej730
213b6ed3c3
Fix errors reregistering Bonsai
...
Items generators were exhausted at the first register leading to errors like 'TypeError: EnumProperty(..., default='-'): not found in enum members' preventing reregistration.
2024-11-19 12:53:56 +05:00
Ryan Schultz
837f9e82e2
whoops
2024-11-19 00:42:21 -06:00
Ryan Schultz
1f9e3ffe50
have move_elements_to_top work with Freestyle as well.
...
Also assign ordering preference.
2024-11-19 00:27:16 -06:00
Ryan Schultz
6201ea7144
small tweak to previous
2024-11-18 23:15:43 -06:00
Ryan Schultz
06d947f869
Some fixes for 812e3dc6df
2024-11-18 22:55:31 -06:00
Andrej730
362c5a17a7
Fix bonsai build
...
fonttols is now using universal build for the arm64 instead of x86_64
2024-11-18 15:15:53 +05:00
Andrej730
5a4326eb0f
Fix calculating cost item resource value ignoring resource inheritance
...
Mentioned in #5744
2024-11-18 15:01:49 +05:00
Andrej730
68208d88ea
Migrate - convert IfcQuantityCounts using float values to IfcQuantityNumber in ifc4x3 #5752
...
Traceback:
Traceback (most recent call last):
File "\bonsai\bim\module\patch\operator.py", line 187, in execute
core.run_migrate_patch(tool.Patch, infile=self.infile, outfile=self.outfile, schema=self.schema)
File "\bonsai\core\patch.py", line 30, in run_migrate_patch
patch.run_migrate_patch(infile, outfile, schema)
File "\bonsai\tool\patch.py", line 28, in run_migrate_patch
output = ifcpatch.execute(
^^^^^^^^^^^^^^^^^
File "\ifcpatch\__init__.py", line 85, in execute
patcher.patch()
File "\ifcpatch\recipes\Migrate.py", line 58, in patch
new_element = migrator.migrate(element, self.file_patched)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\util\schema.py", line 363, in migrate
new_element = self.migrate_attributes(element, new_file, new_element, new_element_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\util\schema.py", line 393, in migrate_attributes
self.migrate_attribute(attribute, element, new_file, new_element, new_element_schema)
File "\ifcopenshell\util\schema.py", line 494, in migrate_attribute
new_value.append(self.migrate(item, new_file))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\util\schema.py", line 363, in migrate
new_element = self.migrate_attributes(element, new_file, new_element, new_element_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\util\schema.py", line 393, in migrate_attributes
self.migrate_attribute(attribute, element, new_file, new_element, new_element_schema)
File "\ifcopenshell\util\schema.py", line 497, in migrate_attribute
setattr(new_element, attribute.name(), value)
File "\ifcopenshell\entity_instance.py", line 325, in __setattr__
self[index] = value
~~~~^^^^^^^
File "\ifcopenshell\entity_instance.py", line 363, in __setitem__
raise TypeError(
TypeError: attribute 'CountValue' for entity 'IFC4X3_ADD2.IfcQuantityCount' is expecting value of type 'INT', got 'float'.
Error: Python: Traceback (most recent call last):
File "\ifcopenshell\entity_instance.py", line 361, in __setitem__
self.method_list[idx](self.wrapped_data, idx, entity_instance.unwrap_value(value))
File "\ifcopenshell\ifcopenshell_wrapper.py", line 9271, in setArgumentAsInt
return _ifcopenshell_wrapper.entity_instance_setArgumentAsInt(self, i, v)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: in method 'entity_instance_setArgumentAsInt', argument 3 of type 'int'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "\ifcopenshell\entity_instance.py", line 325, in __setattr__
self[index] = value
~~~~^^^^^^^
File "\ifcopenshell\entity_instance.py", line 363, in __setitem__
raise TypeError(
TypeError: attribute 'CountValue' for entity 'IFC4X3_ADD2.IfcQuantityCount' is expecting value of type 'INT', got 'float'.
2024-11-18 15:01:49 +05:00
Andrej730
818c2714e8
Migrate - convert IfcCountMeasures using float values to IfcNumericMeasure in ifc4x3 #5752
...
Traceback:
Traceback (most recent call last):
File "\bonsai\bim\module\patch\operator.py", line 187, in execute
core.run_migrate_patch(tool.Patch, infile=self.infile, outfile=self.outfile, schema=self.schema)
File "\bonsai\core\patch.py", line 30, in run_migrate_patch
patch.run_migrate_patch(infile, outfile, schema)
File "\bonsai\tool\patch.py", line 28, in run_migrate_patch
output = ifcpatch.execute(
^^^^^^^^^^^^^^^^^
File "\ifcpatch\__init__.py", line 85, in execute
patcher.patch()
File "\ifcpatch\recipes\Migrate.py", line 58, in patch
new_element = migrator.migrate(element, self.file_patched)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\util\schema.py", line 358, in migrate
new_element = self.migrate_attributes(element, new_file, new_element, new_element_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\util\schema.py", line 388, in migrate_attributes
self.migrate_attribute(attribute, element, new_file, new_element, new_element_schema)
File "\ifcopenshell\util\schema.py", line 489, in migrate_attribute
new_value.append(self.migrate(item, new_file))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\util\schema.py", line 358, in migrate
new_element = self.migrate_attributes(element, new_file, new_element, new_element_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\util\schema.py", line 388, in migrate_attributes
self.migrate_attribute(attribute, element, new_file, new_element, new_element_schema)
File "\ifcopenshell\util\schema.py", line 484, in migrate_attribute
value = self.migrate(value, new_file)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\util\schema.py", line 346, in migrate
return new_file.create_entity(element.is_a(), element.wrappedValue)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\file.py", line 400, in create_entity
e[idx] = arg
~^^^^^
File "\ifcopenshell\entity_instance.py", line 363, in __setitem__
raise TypeError(
TypeError: attribute 'wrappedValue' for entity 'IFC4X3_ADD2.IfcCountMeasure' is expecting value of type 'INT', got 'float'.
Error: Python: Traceback (most recent call last):
File "\ifcopenshell\entity_instance.py", line 361, in __setitem__
self.method_list[idx](self.wrapped_data, idx, entity_instance.unwrap_value(value))
File "\ifcopenshell\ifcopenshell_wrapper.py", line 9271, in setArgumentAsInt
return _ifcopenshell_wrapper.entity_instance_setArgumentAsInt(self, i, v)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: in method 'entity_instance_setArgumentAsInt', argument 3 of type 'int'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "\ifcopenshell\file.py", line 400, in create_entity
e[idx] = arg
~^^^^^
File "\ifcopenshell\entity_instance.py", line 363, in __setitem__
raise TypeError(
TypeError: attribute 'wrappedValue' for entity 'IFC4X3_ADD2.IfcCountMeasure' is expecting value of type 'INT', got 'float'.
2024-11-18 15:01:48 +05:00
Andrej730
545431d95d
shapebuilder - fix issue creating profiles on ifc2x3
...
Position argument was only required for IfcParameterizedProfileDef, not for IfcArbitraryClosedProfileDef
2024-11-18 15:01:48 +05:00
Andrej730
7d087064ab
Fix for e0f4fc075
...
Traceback
2024-11-18:11:09:15,441 ERROR [log.py:69] Uncaught exception
Traceback (most recent call last):
File "\bonsai\bim\module\pset_template\ui.py", line 66, in draw
self.draw_pset_template()
File "\bonsai\bim\module\pset_template\ui.py", line 110, in draw_pset_template
value_name = self.props.active_prop_template.get_value_name()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\bonsai\bim\module\pset_template\prop.py", line 175, in get_value_name
ifc_data_type = IfcStore.get_schema().declaration_by_name(self.primary_measure_type)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\ifcopenshell_wrapper.py", line 10119, in declaration_by_name
return _ifcopenshell_wrapper.schema_definition_declaration_by_name(self, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Entity with name '-' not found in schema 'IFC4'
2024-11-18 15:01:48 +05:00
Andrej730
3c320960c8
pset templates UI - hide primary measure type for quantitiy props.
...
As they're used only for psets.
2024-11-18 15:01:48 +05:00
Ryan Schultz
812e3dc6df
Automatically introducing \n (newlines) after some designated character count.
...
as discussed: https://community.osarch.org/discussion/2485/automatically-introducing-n-newlines-after-some-designated-character-count
2024-11-17 17:08:10 -06:00
Ryan Schultz
bc2f6b61e0
small UI change for consistency, and misspelling.
2024-11-17 10:08:47 -06:00
Andrej730
e0f4fc0759
Fix error editing prop templates with None PrimaryMeasureType
...
E.g. all qto props have it's None
Error traceback:
Error: Python: Traceback (most recent call last):
File "\bonsai\bim\module\pset_template\operator.py", line 135, in execute
props.active_prop_template.primary_measure_type = template.PrimaryMeasureType
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: bpy_struct: item.attr = val: expected a string enum, not NoneType
2024-11-15 18:25:48 +05:00
Andrej730
934869af98
add_prop_template - consider pset template type for prop/measure types
2024-11-15 18:25:48 +05:00
Andrej730
dad89cfabd
Narrow down pset prop template enum items
...
Depending on whether we're currently editing pset or qto.
Before - https://i.imgur.com/w95q7UC.png
Now - https://i.imgur.com/0uyHPVC.png
2024-11-15 18:25:48 +05:00
Andrej730
3b4cd4eab5
Fix error editing IfcQuantityCounts in IFC4X3
...
Full error traceback:
Error: Python: Traceback (most recent call last):
File "\ifcopenshell\entity_instance.py", line 361, in __setitem__
self.method_list[idx](self.wrapped_data, idx, entity_instance.unwrap_value(value))
File "\ifcopenshell\ifcopenshell_wrapper.py", line 9271, in setArgumentAsInt
return _ifcopenshell_wrapper.entity_instance_setArgumentAsInt(self, i, v)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: in method 'entity_instance_setArgumentAsInt', argument 3 of type 'int'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "\bonsai\bim\ifc.py", line 443, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\bonsai\bim\module\pset\operator.py", line 142, in _execute
ifcopenshell.api.run(
File "\ifcopenshell\api\__init__.py", line 92, in run
return usecase_function(ifc_file, should_run_listeners=should_run_listeners, **settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\api\__init__.py", line 258, in wrapper
raise e
File "\ifcopenshell\api\__init__.py", line 252, in wrapper
result = usecase(*args, **settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\api\pset\edit_qto.py", line 135, in edit_qto
return usecase.execute()
^^^^^^^^^^^^^^^^^
File "\ifcopenshell\api\pset\edit_qto.py", line 149, in execute
self.update_existing_properties()
File "\ifcopenshell\api\pset\edit_qto.py", line 166, in update_existing_properties
self.update_existing_property(prop)
File "\ifcopenshell\api\pset\edit_qto.py", line 180, in update_existing_property
prop[3] = float(value)
~~~~^^^
File "\ifcopenshell\entity_instance.py", line 363, in __setitem__
raise TypeError(
TypeError: attribute 'CountValue' for entity 'IFC4X3_ADD2.IfcQuantityCount' is expecting value of type 'INT', got 'float'.
2024-11-15 18:25:47 +05:00
Andrej730
43aa6c971a
pset.edit_qto - document editing complex quantities
2024-11-15 18:25:47 +05:00
Andrej730
9f372017bc
Bonsai - document qset prop type inference from prop name
...
In "add new prop" operator description - https://i.imgur.com/ODeMDL8.png
2024-11-15 18:25:47 +05:00
Andrej730
de17736002
Bonsai to detect Blender types for added qset props
...
Example - https://imgchest.com/p/bp452xxbx45
cc @steverugi @DimitriosThe maybe you'll find useful too if you use custom quantity sets for products in 4d/5d
2024-11-15 18:25:47 +05:00
Andrej730
a29b1072e4
Add error trying to add non-numeric custom quantity set value
...
Example - https://i.imgur.com/NUFN1sR.png
2024-11-15 18:25:47 +05:00
Andrej730
8e4e12ba21
active_pset_type - replace with EnumProperty
2024-11-15 18:25:47 +05:00
Andrej730
ff86bba562
Bonsai to detect Blender types for custom psets/qsets
...
Previously it was detecting types only if pset/qset had a template, now it will detect length/area/volume props for non-templated psets/qsets too.
Before - https://i.imgur.com/hacuYfx.png
Now - https://i.imgur.com/baA0KBT.png
2024-11-15 18:25:47 +05:00
Andrej730
da70c46c48
editing quantity set to guess type based on name if template is not found
...
E.g. all props with "Area" in it's name will automatically get IfcQuantityArea type, "Volume" - IfcQuantityVolume, see edit_qto documentation.
2024-11-15 18:25:47 +05:00
Andrej730
b860a8eaad
edit_qto - remove dead code from edit_pset
2024-11-15 18:25:46 +05:00
Andrej730
dd0d0ed1af
typing
2024-11-15 18:25:46 +05:00
Andrej730
7f40491e41
black .
2024-11-15 18:25:46 +05:00
Thomas Krijnen
fd9485e7ea
C++ file_open_status not handled in python
2024-11-14 22:00:11 +01:00
Thomas Krijnen
dbdc2add81
Parsing file with trailing comment fails
2024-11-14 21:57:27 +01:00
Thomas Krijnen
229e2daa42
submodule
2024-11-14 17:00:18 +01:00
Thomas Krijnen
2a853ee8aa
Only install header files, not .cpp
2024-11-14 15:34:48 +01:00
Andrej730
d0b3ecad42
csv2ifc - add header validation
2024-11-14 18:30:47 +05:00
Andrej730
2c9c3e6c7f
ConvertPropertiesToQuantities - add test
2024-11-14 18:30:47 +05:00
Andrej730
3c32c9b6ed
ConvertPropertiesToQuantities - ifc4x3 support
2024-11-14 18:30:47 +05:00
Andrej730
02621305c9
ConvertPropertiesToQuantities - small fix
...
Prevent calling add_qto if quantity set was already found in 'qtos'.
2024-11-14 18:30:47 +05:00
Andrej730
3911f51d89
Fix broken ConvertPropertiesToQuantities #5747
...
Name and Properties arguments were renamed and lowercased.
2024-11-14 18:30:47 +05:00
Andrej730
dfb0f1e828
typing
2024-11-14 18:30:47 +05:00
Andrej730
3270006d8e
black .
2024-11-14 18:30:47 +05:00
Thomas Krijnen
54eb83f080
CGAL 6 compatibility regarding aabb_traits_3 and stdlib usage
2024-11-14 13:30:19 +01:00
Thomas Krijnen
e7d88ba851
cityjson submodule
2024-11-14 13:29:47 +01:00
Thomas Krijnen
e31d164ab2
Merge branch 'v0.8.0' of https://github.com/IfcOpenShell/IfcOpenShell into v0.8.0
2024-11-14 13:28:39 +01:00
Thomas Krijnen
63796aef3b
cityjson submodule
2024-11-14 13:28:36 +01:00
Andrej730
ceb49bac0e
Note in UI derived schedule work explicitly
...
There is "*" mark but since we don't have a documentation for this UI section it may be hard for new users to guess what it means.
2024-11-14 16:38:01 +05:00
Andrej730
9f49cbe0c9
bim.calculate_resource_quantity #5744
...
Added operator to calculate resource quantity based on the output products and the quantity Name.
See video demo - https://imgchest.com/p/9rydjlbmnyk
2024-11-14 16:38:01 +05:00
Andrej730
6c26403b9c
resource.remove_resource - fix bug removing IfcRelAssignsToResource
...
tuple(resource) was resulting in (GlobalId, OwnerHistory, Name, ...) instead of (resource,), so the check never passed and orphaned IfcRelAssignsToResource was never removed.
2024-11-14 16:38:01 +05:00
Andrej730
1f21e96887
resource.remove_resource - fix bug not removing orphaned ifcrelnests
2024-11-14 16:38:01 +05:00
Andrej730
77bc704563
assign/unassign process - add descriptions
2024-11-14 16:38:00 +05:00
Andrej730
2be6afa411
Productivity data operators - remove confusing descriptions
2024-11-14 16:38:00 +05:00
Andrej730
a8d8600087
calculate resource usage/work - add poll messages
2024-11-14 16:38:00 +05:00
Andrej730
6a20ecb2a0
Fix #5746
2024-11-14 11:35:02 +05:00
Bruno Perdigão
e74adcbba3
Improve f4cbd13 and add option for profile with voids.
...
Fix rebase conflict
2024-11-13 11:58:50 -03:00
sboddy
099703fda7
UI drawing improvements ( #5677 )
...
* Fix Shift-clicking SVG-DXF conversion
* Fix Schedules and References not incrementing the ID number properly
* Remove the superfluous Create and Open buttons from the Active Drawing pane
* Add active camera indicator to the Drawing list
* Improved enable/disabled icon behaviour
As many operators as possible now use polling method to set enabled/disabled state.
Icons set their enabled/disabled state intelligently depending on what is selected.
When an operator is disabled it says why it is disabled in the tooltip.
* Rename core open_sheet, operator OpenSheet/bim.open_sheet to better reflect what it actually does, i.e. open_layout
* Added selection checkmarks to Sheets, and operator to select all/none, to do batch ops on sheets
* Missed adding the renamed operator to __init__ in commit 4cfc0bd9f3
* Decouple creating and viewing drawings/sheets to avoid focus stealing popups polluting display on long batch runs
* Improve drawing selections in OpenDrawing operator
* Add the Shift+click power move to Create Sheet
* Add the Open Sheet + Shift+click power move
* Improve drawing selections in RemoveDrawing operator
* All operators are now documented with standardised language and terms.
* Add status bar Info messages for feedback on create tasks that now don't have visual feedback
* Fix enable/disable for ActivateDrawing operator icons.
This was a strange one. They have common invoke and execute methods,
but the polling has different conditions.
I tried subclassing the original ActivateDrawing for the Sheets version,
but something about Blenders operators breaks the classmethod decorated
poll. This was the cleanest solution I found, but maybe there's a better
one.
* Placeholder operator for DuplicateSheet function.
Does nothing but report Not Implemented. Could be omitted if this
kind of thing is frowned upon.
* Change icons to be more consistent
* Final changes to toolbars
Change button order and spacing for better usability.
Add a checkmark all/none button, to do batch ops on sheets.
Moved Bonsai Web UI button up to sheets toolbar.
Some general cleanup of unnecessary clutter in the toolbar code.
* Sheet/Drawing checkmarks remember their state properly
* Adjust sheet/drawing operators to view after singular create, but not when batch creating more than one.
* By special request, add back the opening windows when creating, but requiring Ctrl to be pressed.
* black the files
* Second attempt at blacking ui.py because I used an old black
* Change method of getting active drawing to use one in tool import as requested
* Fix for incorrect d1fc5158d - actually checked it this time
2024-11-13 18:38:26 +05:00
Andrej730
6fb7445610
Set blender materials for imported IfcSweptDiskSolids #5687
2024-11-13 18:20:31 +05:00
Andrej730
a7caee14b0
Remove fallback from ca96815 since bonsai build is already updated
2024-11-13 18:20:31 +05:00
Andrej730
2845071621
Fix error switching from different type of representations
...
E.g. from curve representation to mesh representation and vice versa. Mentioned in #5687 .
2024-11-13 18:20:31 +05:00
Andrej730
5913fe881e
Fix missing BIM tool UI when just spatial element is active
...
Noticed by "select decomposition" button missing, spatial elements are unselectable by default - they're just active.
cc @trhyder
2024-11-13 18:20:31 +05:00
Andrej730
659c3295bc
Remove unnecessary IFC operators
2024-11-13 18:20:31 +05:00
Andrej730
3bbbfd2351
Show errors if failing to parse false origin / project north
2024-11-13 18:20:30 +05:00
Andrej730
0004689841
typing
2024-11-13 18:20:30 +05:00
Andrej730
e2bf611c17
black .
2024-11-13 18:20:30 +05:00
Andrej730
77fc2a89d0
Oops, fix broken #4771 by mistake
2024-11-13 16:18:56 +05:00
Andrej730
5b63b00e98
Workaround for Blender 4.3 #5743
2024-11-13 15:28:01 +05:00
Thomas Krijnen
a522c9a5c9
Submodule
2024-11-13 11:15:15 +01:00
Andrej730
d3333fed96
select decomposition to work on unselectable elements #5739
...
E.g. ifcspaces or other spatial elements are unselectable by default.
2024-11-13 11:11:34 +05:00
Ryan Schultz
a8efc5b1d9
small fix to f4cbd13748
2024-11-12 15:05:28 -06:00
Bruno Perdigão
b51a417065
Fix #5726
2024-11-12 17:21:47 -03:00
Bruno Perdigão
f4cbd13748
Add the option to create IfcArbitraryClosedProfileDef from an object.
...
Reference: https://imgur.com/a/E5YhgqV
2024-11-12 16:52:30 -03:00
Andrej730
cba0b79dc0
Cost schedule UI - optimize selecting cost items
...
On large projects selecting cost items is very slow due to all data that needs to be loaded. On the project I was testing, it was taking about 0.8sec, now this time is reduced to 0.17sec.
2024-11-12 18:40:43 +05:00
Andrej730
26e63c8427
Fix edit_pset for enum props without reference #5707
...
Similar to fb081e3cf but now we cover case when IfcPropertyEnumeratedValue is passed to properties argument.
2024-11-12 15:38:41 +05:00
Andrej730
ecff7980b3
PsetQto - interpret IFC4X3 as IFC4X3_ADD2 #5732
2024-11-12 14:52:47 +05:00
Andrej730
be6e9200b6
calculate_cost_item_resource_value - remove rounding to preserve the original quantities #5706
...
Removed 'quantity is None' check since it's never none after c409258ff .
2024-11-12 14:52:47 +05:00
Bruno Perdigão
204a1b1dc6
Measure tool - Add UI button to clear measurement from the screen
2024-11-11 21:15:06 -03:00
Andrej730
d74a0d05fd
calculate_cost_item_resource_value - fix bug when 0 resource cost value would be misinterpreted as parent's cost value
2024-11-11 18:30:57 +05:00
Andrej730
70e75f5ed2
calculate_cost_item_resource_value not to skip 0 costs/quantities
...
That way all assigned resources will be added as cost values to cost items and it will be more apparent what resources were used for the last calculation and what costs/quantities they had at the time.
2024-11-11 18:30:56 +05:00
Andrej730
8ffa208ca7
Increase rounding precision for updating cost item resource values #5706
...
Co-Authored-By: DimitriosThe <169245599+DimitriosThe@users.noreply.github.com >
2024-11-11 18:30:55 +05:00
Andrej730
c409258ff3
calculate_cost_item_resource_value not to skip resources without quantities
...
Noticed the discrepancies for total cost value for resources in Resource UI and in Cost Schedule UI when the same resources assigned to the item. In Resource UI it was considering omitted quantity as 1.0 (https://github.com/IfcOpenShell/IfcOpenShell/blob/c61e3670a8cf248aa5a229bae2dc29eef041fe47/src/ifcopenshell-python/ifcopenshell/util/cost.py#L53-L55 ) and in Cost Schedule UI it was skipping those resources completely.
For cost items it is documented in ifc that if quantity is omitted then costs are considered to be total. Perhaps it's just not documented for the resources? Anyway, not sure if this way is completly correct but making sure resource quantity to be treated similarly in different parts of the codebase.
Related to - https://github.com/buildingSMART/IFC4.3.x-development/issues/910
cc @myoualid
2024-11-11 18:30:55 +05:00
Andrej730
de414313d3
Fix cost values for resources not updating properly
2024-11-11 18:30:55 +05:00
Andrej730
0f421da6e3
Multifile properties to show selected paths
...
Before - https://i.imgur.com/AkPvTy3.png
After - https://i.imgur.com/znxLqb7.png
2024-11-11 18:30:55 +05:00
Andrej730
478dcb8d78
Fix UI errors selecting empty ifcpatch ("-")
2024-11-11 18:30:55 +05:00
Andrej730
37d9cade92
black .
2024-11-11 18:30:55 +05:00
Andrej730
004488533f
typing
2024-11-11 18:30:55 +05:00
Thomas Krijnen
088bc207ab
Don't fail on untyped enumerations
2024-11-11 13:57:36 +01:00
Andrej730
c61e3670a8
fix test_removing_existing_element_representations_and_mapping_type_representations
...
Started failing after 8061e22 . Test was instantiating abstract IfcProductRepresentation
2024-11-11 16:31:14 +05:00
Andrej730
c5aad82e3d
typing - add missing settings
2024-11-11 16:31:14 +05:00
Andrej730
acd93ead4d
Fix crash during test_remove_fill_area_with_fill_area_style_hatching
2024-11-11 16:31:14 +05:00
Andrej730
8070338087
fix test_remove_non_surface_styles
...
.FillStyles is not optional for IfcFillAreaStyles
2024-11-11 16:31:14 +05:00
Andrej730
05542ca6ec
Fix failing ifcopenshell ci tests due missing ifcpatch ( 56de208)
2024-11-11 16:31:13 +05:00
Thomas Krijnen
8932d8758e
validate.py distinguish internal errors from invalid files
2024-11-11 11:09:26 +01:00
Thomas Krijnen
130afac752
Revert back to github occt uri due to persistent 500
2024-11-11 08:58:01 +01:00
Andrej730
67f8c74c70
Fix processing ifcpatch docs after fe8c396e1
...
bim.update_ifc_patch_arguments in Bonsai wasn't ready for list[xxx] generic and was throwing errors and not showing browse file button.
2024-11-11 12:48:43 +05:00
Thomas Krijnen
6ece1648ab
Update entity_instance.py after 8ae951d
...
cc @Andrej730 we need this for validate.buildingsmart.org because for express rule evaluation we depend on include_id=False and entity_instance.__eq__ has been changed to get_info_2.
2024-11-10 15:06:41 +01:00
Bruno Perdigão
2165dbb3fa
Minor fix after 10aad5a531
2024-11-08 17:04:07 -03:00
Bruno Perdigão
10aad5a531
Change hotkey for angle lock in polyline tool, from "L" to "A".
2024-11-08 17:00:47 -03:00
Bruno Perdigão
23c30e7642
Implement #3083
2024-11-08 16:25:21 -03:00
Bruno Perdigão
f08959aaa9
Fix - Measure tool plane method now works with object snap.
2024-11-08 16:06:28 -03:00
Bruno Perdigão
b416df538a
Add AuthoringData.data["relating_type_id_current"] to model data.
2024-11-08 11:20:17 -03:00
Bruno Perdigão
084c2aa25a
Add AuthoringData.data["ifc_class_current"] to model data.
2024-11-08 11:20:17 -03:00
Bruno Perdigão
66ded3fc41
Partially fix an issue with BIMModelProperties ifc_class enum.
2024-11-08 11:20:17 -03:00
Bruno Perdigão
4b558604cc
Remove mathutils dependency from add_slab_representation.py
2024-11-08 10:34:11 -03:00
Bruno Perdigão
024566887d
Minor fix
2024-11-08 10:34:11 -03:00
Andrej730
916c6a94f1
bim.remove_cost_value - fix misleading label
2024-11-08 18:32:20 +05:00
Andrej730
af1f3cad34
bim.calculate_cost_item_resource_value - tooltip
2024-11-08 18:32:20 +05:00
Andrej730
534355cd33
Fix for 1acf8f1
2024-11-08 18:32:20 +05:00
Andrej730
a0226eb0a1
document double tags for fill-bg #5719
...
It seems we lost this comment at some point.
2024-11-08 18:32:20 +05:00
Andrej730
1fa3478a9d
bim.execute_ifc_tester - remove unnecessary ifc operator
2024-11-08 18:32:20 +05:00
Andrej730
f7a7626575
ifctester to fail more gracefully meeting invalid .ids file
...
Previously Bonsai would show a wall of errors, now it's show a simple error message and redirecting to system console for the details.
Example error - https://i.imgur.com/uJJfjUW.png
Example validation error details in console - https://i.imgur.com/3mcVBUh.png
Same details but in text:
Validation error details:
failed validating {'dataType': 'IFCBOOLEAN', 'ursi': 'https://google.com ', 'cardinality': 'required', 'instructions': "Make sure it's true"} with XsdAttributeGroup(['dataType', 'uri', 'cardinality', 'instructions']):
Reason: 'ursi' attribute not allowed for element
Schema component:
<xs:extension xmlns:xs="http://www.w3.org/2001/XMLSchema " base="ids:propertyType">
<xs:attribute name="uri" type="xs:anyURI" use="optional" />
<xs:attribute name="cardinality" type="ids:conditionalCardinality" use="optional" default="required" />
<xs:attribute name="instructions" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Author of the IDS can leave instructions for the authors of the IFC. This text could/should be displayed in the BIM/IFC authoring tool.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
Instance type: <class 'xml.etree.ElementTree.Element'>
Instance:
<ids:property xmlns:ids="http://standards.buildingsmart.org/IDS " dataType="IFCBOOLEAN" ursi="https://google.com " cardinality="required" instructions="Make sure it's true">
<ids:propertySet>
<ids:simpleValue>Pset_WallCommon</ids:simpleValue>
</ids:propertySet>
<ids:baseName>
<ids:simpleValue>Combustible</ids:simpleValue>
</ids:baseName>
<ids:value>
<ids:simpleValue>false</ids:simpleValue>
</ids:value>
</ids:property>
Path: /ids:ids/ids:specifications/ids:specification/ids:requirements/ids:property[1]
2024-11-08 18:32:20 +05:00
Andrej730
0a7ee4e360
ifctester.main - fail more gracefully for invalid files
2024-11-08 18:32:20 +05:00
Andrej730
466ba6c159
get_components - add test
2024-11-08 18:32:20 +05:00
Andrej730
1a19864e82
get_contained - add test
2024-11-08 18:32:20 +05:00
Andrej730
36f12b5145
Fix get_pset tests after 832ad6d31
2024-11-08 18:32:20 +05:00
Andrej730
eed4985957
get_parts - add test
2024-11-08 18:32:20 +05:00
Andrej730
5597095198
util.element - check schema version explicitly
2024-11-08 18:32:19 +05:00
Andrej730
1b2508f8de
Fix util.element for cases with multiple rels #5713
...
Got report that there was an issue with get_parts not returning all parts if there are multiple IfcRelAggregates involved though it is valid ifc. Fixed the same possible issue for ContainsElements, IsNestedBy
2024-11-08 18:32:19 +05:00
Andrej730
77e6ab3b8b
MergeProjects - temporary handle old way of passing files to merge
2024-11-08 18:32:19 +05:00
Andrej730
fe8c396e12
typing
2024-11-08 18:32:19 +05:00
Blender Defender
1d3ca475d9
fix: Rename the "MergeProject" recipe to "MergeProjects" ( #5187 )
...
* fix: Rename the "MergeProject" recipe to "MergeProjects"
This rename, alongside renaming "filepath" to "filepaths" and adjusting the docstring has been done to clarify, that this patch can be used to merge multiple IFC files into one (and not just two)
* fix: Fix `test_Merge_Project.py`, which was broken due to renaming the patch recipe
2024-11-08 10:51:47 +05:00
Andrej730
09fcd32b7a
Fix error duplicating array item after c415767 #5705
...
error traceback
```
Traceback (most recent call last):
File "bonsai\bim\module\geometry\operator.py", line 909, in execute
return OverrideDuplicateMove.execute_duplicate_operator(self, context, linked=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "bonsai\bim\module\geometry\operator.py", line 918, in execute_duplicate_operator
IfcStore.execute_ifc_operator(self, context)
File "bonsai\bim\ifc.py", line 443, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "bonsai\bim\module\geometry\operator.py", line 912, in _execute
return OverrideDuplicateMove.execute_ifc_duplicate_operator(self, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "bonsai\bim\module\geometry\operator.py", line 1021, in execute_ifc_duplicate_operator
tool.Model.handle_array_on_copied_element(new, array_data)
File "bonsai\tool\model.py", line 673, in handle_array_on_copied_element
array_pset_data = array_pset["Data"]
~~~~~~~~~~^^^^^^^^
KeyError: 'Data'
```
2024-11-07 17:38:39 +05:00
Andrej730
fb081e3cf2
pset.edit_pset - fix issue editing enum props without EnumerationReference #5707
...
Traceback
```
Error: Python: Traceback (most recent call last):
File "\bonsai\bim\ifc.py", line 443, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\bonsai\bim\module\pset\operator.py", line 126, in _execute
ifcopenshell.api.run(
File "\ifcopenshell\api\__init__.py", line 92, in run
return usecase_function(ifc_file, should_run_listeners=should_run_listeners, **settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\api\__init__.py", line 252, in wrapper
result = usecase(*args, **settings)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\api\pset\edit_pset.py", line 166, in edit_pset
return usecase.execute()
^^^^^^^^^^^^^^^^^
File "\ifcopenshell\api\pset\edit_pset.py", line 176, in execute
existing_props = self.update_existing_properties()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\api\pset\edit_pset.py", line 225, in update_existing_properties
prop = self.update_existing_prop_enum(prop)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\ifcopenshell\api\pset\edit_pset.py", line 251, in update_existing_prop_enum
primary_measure_type = prop.EnumerationReference.EnumerationValues[
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'EnumerationValues'
```
2024-11-07 17:09:57 +05:00
Andrej730
b0cc2e30a9
Fix error starting to edit pset without enum reference/enum values #5707
...
Traceback
Error: Python: Traceback (most recent call last):
File "\bonsai\bim\module\pset\operator.py", line 62, in execute
core.enable_pset_editing(tool.Pset, pset, self.pset_name, self.pset_type, self.obj, self.obj_type)
File "\bonsai\core\pset.py", line 86, in enable_pset_editing
pset_tool.import_pset_from_existing(pset, props)
File "\bonsai\tool\pset.py", line 121, in import_pset_from_existing
metadata.set_value(prop.EnumerationReference.EnumerationValues[0].wrappedValue)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'EnumerationValues'
2024-11-07 17:09:56 +05:00
Andrej730
d9186bce11
Bonsai to show different error for Python 3.12 users #5704
2024-11-07 17:09:56 +05:00
Andrej730
cc15e6b3c1
typing
2024-11-07 17:09:56 +05:00
Andrej730
832ad6d318
Prioritize existing data types for templates props for safety
...
Noticed working on #5596 and #5708 a few issue when pset template is changing the prop types.
E.g. prop had string data type and now template suggests that it should be a float.
Previously, it might error trying to cast a string to a float. Now it will show a float until user will set it to null, then next time it will be loaded from the template data type.
Another example - prop was a string and now it's a boolean. Previously, it would be cast to boolean implicitly. E.g. "test" -> bool("test") -> True. And if user wouldn't be paying attention then enabling pset editing and saving it would make them lose "test" value.
Now - https://imgchest.com/p/na7ke99wb78
Before - https://imgchest.com/p/5xy23rr3z4l
2024-11-07 16:21:12 +05:00
Andrej730
3ad713d5c6
Patch Ifc4 psets that missing IfcThermalTransmittanceMeasure type in ThermalTransmittance props
...
Similar to #5708
Affected psets: Pset_RampCommon, Pset_StairCommon.
2024-11-07 16:21:12 +05:00
Andrej730
822107a6ed
Patch Ifc4 psets that missing IfcBoolean type in LoadBearing props #5708
...
Affected psets: Pset_RoofCommon, Pset_RampCommon, Pset_StairCommon.
Also fixed the missing description for that prop.
2024-11-07 16:21:12 +05:00
Andrej730
90d5509046
Add min 0 value to IFC props in UI
...
Basically it won't allow setting values below 0 by accident (especially important for representation item props as it may lead to a crash).
1) IfcPositiveLengthMeasure will affect bunch of props like Depth in IfcExtrudedAreaSolid.
2) IfcNonNegativeLengthMeasure will affect MaterialLayer and some profiles attributes.
2024-11-07 16:21:11 +05:00
Andrej730
f0a6906d73
Use helper.import_attributes for representation item attributes
2024-11-07 16:21:11 +05:00
Andrej730
bbca07d535
Edit other representation item attributes besides IfcSweptSolid depth
...
Examples:
- https://imgchest.com/p/qb4zjgbklyj
- https://imgchest.com/p/lqye68r2k4d
Added this feature in a very experiment way, I'm sure it will break very soon and we'll be able to refine it.
2024-11-06 18:26:57 +05:00
Andrej730
9a77222017
Option to add IfcEllipse as representation item
...
Example - https://i.imgur.com/PADKlAq.png
2024-11-06 18:06:51 +05:00
Andrej730
19cbf6d140
ifcfm - move preset searching logic from ifcm to bonsai
...
So anyone using 'python -m ifcfm' will get more readable error for invalid presets.
2024-11-06 18:06:51 +05:00
Andrej730
9821c343ca
Keep bim.select_container available for IfcProjects too
...
As it's the quicker way to select it than searching it in outliner - https://i.imgur.com/p2NVcdR.png
Couldn't find a simpler a way to do it in UI and had to create bunch of columns. Tried to use splits but they end up readjusting the buttons.
2024-11-06 18:06:50 +05:00
Andrej730
a3845c2b5c
Reload decorator after item attributes are updated and it's representation is reloaded
2024-11-06 18:06:50 +05:00
Andrej730
5c33a66548
Hide assign class panel for representation items
2024-11-06 18:06:50 +05:00
Andrej730
ecdbcff1aa
ifcfm operators - add info message when it's finished
2024-11-06 17:51:04 +05:00
Andrej730
47853bc551
Prevent user from selecting unavailable tabs from dropdown if ifc project is not loaded
2024-11-06 17:51:04 +05:00
Andrej730
41fc0cf8c1
BIMTabProperties fixes
...
1) Fixed non-existent tool.Blender.get_screen
2) ui.py - remove try/except for the case when tabs are not loaded yet as it's covered by BIMTabProperties
3) removed previous_tab, alt_tab props never used in ui
4) general method for getting area properties that includes BIMTabProperties automatically
2024-11-06 17:51:04 +05:00
Andrej730
e3de9c3ea4
bim.set_tab / bim.switch_tab not to create undo steps
...
To avoid unnecessary steps in undo history like on the screenshot - https://i.imgur.com/vEpsYa5.png
2024-11-06 17:51:04 +05:00
Andrej730
c594bc2c1a
bim.execute_ifcfm_federate - small fixes
2024-11-06 17:51:03 +05:00
Andrej730
d89be97bcd
ifcclash docs - small fix
2024-11-06 17:51:03 +05:00
Andrej730
c63469f85e
ifcm - fix missing ifcopenshell import
2024-11-06 17:51:03 +05:00
Andrej730
cf68c5755b
ifcfm - add example
2024-11-06 17:51:03 +05:00
Andrej730
3d79ae53ad
ifcfm - fix bug exporting csvs to folder that didn't yet existed
2024-11-06 17:51:03 +05:00
Andrej730
681b89d95c
Bonsai - improve error message if ifc file fails to open #5694
2024-11-06 17:51:03 +05:00
Andrej730
4fdb313449
typing
2024-11-06 17:50:47 +05:00
Andrej730
4e070545ae
black .
2024-11-06 16:04:03 +05:00
Andrej730
36bd89bb40
ifcopenshell.util.element.get_type to be less strict again after d443c5e
...
I guess by accident in d443c5e I've made this method too strict and it broke get_references using it for IfcPropertySets. Maybe it's a good idea to make it more strict in the future, for now just restoring the previous behaviour.
2024-11-06 16:04:02 +05:00
Thomas Krijnen
e70bc04915
Update draw.py with provisionary access to arrange_spaces
2024-11-06 09:17:32 +01:00
Thomas Krijnen
585821d763
Update wrapper for svgfill::arrange_polygons()
2024-11-06 09:15:59 +01:00
Andrej730
262fca95e3
Bump IOS build #5661
2024-11-06 10:52:43 +05:00
Thomas Krijnen
a2538fdd35
Update ci.yml
2024-11-05 16:13:47 +01:00
Thomas Krijnen
3c174e3dc9
svgfill submodule with arrange_polygons API
2024-11-05 15:43:37 +01:00
Richard Brice
3672ce90d0
Minor tweak for cant with IfcCosineSpiral and IfcSineSpiral
2024-11-04 15:00:27 -08:00
Bruno Perdigão
6729739ee8
Fix a bug where the product decorator displays the incorrect position when type origin is not at world origin.
2024-11-04 10:48:11 -03:00
Bruno Perdigão
4a8710efd8
Fix product decorator to be uninstalled after mouse right click.
2024-11-04 10:27:49 -03:00
Ryan Schultz
f2c96b65e0
If perspective, don't add scale to the view title
2024-11-03 09:29:11 -06:00
Richard Brice
bf8c3530a1
Fixes piecewise function evaluation in alignment api
2024-11-02 14:42:44 -07:00
Andrej730
caeabe2cd5
Optimize enums by moving them to data.py
2024-11-01 16:13:16 +05:00
Andrej730
9c0256165e
Use static enum items instead of dynamic
2024-11-01 16:13:16 +05:00
Andrej730
1acf8f1ed8
deprecate some prop.purge
2024-11-01 16:13:16 +05:00
Andrej730
0944f8a7cb
Fix unsafe enum items #5673
2024-11-01 16:13:15 +05:00
Andrej730
3debf62ca6
Mark unsafe enums #5673
2024-11-01 16:13:15 +05:00
Andrej730
f3019e4d7a
Store enum items strings references to be safe #5673
2024-11-01 16:13:15 +05:00
Andrej730
33b7c0a76f
small optimizations for enum props
2024-11-01 16:13:15 +05:00
Andrej730
ae18590893
typing
2024-11-01 16:13:15 +05:00
Dawid Huczyński
7517414552
add favicon to ifcopenshell-python and bonsaibim docs
2024-11-01 15:19:08 +05:00
Thomas Krijnen
63e98e69e9
Test whether polygonal boundary is simple #5665
2024-11-01 11:15:09 +01:00
Bruno Perdigão
4c08eaf953
Add a proposal to #3692
2024-10-31 17:43:30 -03:00
Bruno Perdigão
05b32b3c32
Fix #4298
2024-10-31 15:38:57 -03:00
Richard Brice
f3ce57480a
Fixes unit conversion problem in IfcCurveSegment
2024-10-31 08:55:01 -07:00
Andrej730
08e38c65f5
Display Ifc length attributes as Blender length properties
...
Basically now all length ifc attributes should be displayed in UI as Blender length properties - they display the units and allow math, typing different units, etc.
Example - https://imgchest.com/p/dl7p93gz64o
2024-10-31 18:40:14 +05:00
Andrej730
3e44f0f37b
Quick way to select profile in profiles UI
...
Example - https://imgchest.com/p/9rydakllwyk
2024-10-31 18:40:14 +05:00
Andrej730
bd7ca78a37
bonsai - print number of voids for elements that hit void_limit
2024-10-31 18:40:13 +05:00
Andrej730
c53885f642
bonsai ifcclash - add separate property for export path
...
Example - https://i.imgur.com/bCRHx9q.png
Needed so it will be easier to rerun ifc clash without providing the same filepath each time.
2024-10-31 18:40:13 +05:00
Andrej730
e56589d544
ifcclash - fix broken list
2024-10-31 18:40:13 +05:00
Andrej730
380e791c59
ifcpatch - add pip installation to readme
2024-10-31 18:40:13 +05:00
Andrej730
904eb9fae8
Fix undo bugs with edited_objs
...
Now it's stored as a collection property in the project properties, so in the most cases we delegate to Blender to ensure it's handled properly on undo and redo.
2024-10-31 18:40:13 +05:00
Andrej730
09df81ab15
typing
2024-10-31 18:40:13 +05:00
Andrej730
b35ef2f101
black .
2024-10-31 18:40:13 +05:00
Andrej730
fb5d37b04b
Fix support for python 3.10 #5662
2024-10-31 18:28:24 +05:00
Andrej730
06a6c2d79b
Option to apply openings to the geometry #5666
...
Button location - https://i.imgur.com/6zSv8vV.png
Now it's possible to "bake" openings to the geometry, The openings representation will be marked as "Reference".
2024-10-31 17:00:43 +05:00
Andrej730
b39f96e2ee
Fix bug duplicating edited object
...
It was losing original object representation on project save as it wasn't marked as edited.
2024-10-31 15:50:21 +05:00
Andrej730
64b3101cef
Skip applying scale to geometry on duplicate #5663
2024-10-31 15:50:21 +05:00
Thomas Krijnen
4cd8428d1d
Update unit.py
2024-10-31 11:00:02 +01:00
Thomas Krijnen
0446befefa
More permissive interval overlap test for 2d opening evaluation #5661
2024-10-31 10:35:30 +01:00
Andrej730
037b5d1bc1
Spatial container drop down to show only spatial objects
...
Example - https://i.imgur.com/v8p4D57.png (it's ignoring walls).
Since we now filter valid elements in poll_container_obj, then there is no need to check it twice in update_container_obj.
2024-10-30 18:45:50 +05:00
Andrej730
e463407de7
void_limit - document
2024-10-30 18:07:34 +05:00
Andrej730
28f81496dd
Small refactor for sync_edited_objects
...
1) remove materials if-branch as they're never edited
2) validate object explicitly
2024-10-30 18:07:34 +05:00
Andrej730
ccb223be94
Remove unnecessary ifc.finish_edits
...
Unused since we do not use fc.edit anymore for parametric geometry
2024-10-30 18:07:34 +05:00
Andrej730
33ed7e5234
typing
2024-10-30 18:07:34 +05:00
Andrej730
0662b0c5b6
Optimize updating representations adding/removing openings
...
No need to update all possible elements from decomposition because openings affect only related objects from IfcRelAggregate. For example, see #5639 .
2024-10-30 18:07:34 +05:00
Andrej730
59e0dbae2c
Fix 8ac9612 for IfcMaterials
2024-10-30 15:32:45 +05:00
Andrej730
e757c42204
Quick way to select style in Styles UI
...
Example - https://imgchest.com/p/ej7mkxp9ayd
2024-10-30 15:32:45 +05:00
Andrej730
b6da13c504
Fix hiding by accident object class asignment section in 86d0139f4
2024-10-30 15:32:45 +05:00
Andrej730
a66cffddb8
ifcopenshell-python - note about supported glibc versions
2024-10-30 15:32:45 +05:00
Andrej730
4dfb3cac51
bump ios build in bonsai
...
e8eb397 fixes #5658
2024-10-30 11:42:34 +05:00
Thomas Krijnen
3d4988349a
Remove self-intersecting faces #5650
2024-10-29 15:43:02 +01:00
Andrej730
fa07f184c3
ifctester - indicate optionality in report message
...
Previously for both cardinality optional/required ifctester would show same results.
E.g.
<ids:property dataType="IFCBOOLEAN" cardinality="required">
<ids:property dataType="IFCBOOLEAN" cardinality="optional">
Were resulting in something like
LoadBearing data shall be true and in the dataset Pset_WallCommon
LoadBearing data shall be true and in the dataset Pset_WallCommon
Now it will result in
LoadBearing data shall be true and in the dataset Pset_WallCommon
LoadBearing data may be true and in the dataset Pset_WallCommon
2024-10-29 18:16:54 +05:00
Andrej730
067203cb9a
ifctester webapp - add some tooltips
2024-10-29 18:16:06 +05:00
Andrej730
e9731f3047
ifctester webapp - fix issue with launching audit
2024-10-29 18:16:05 +05:00
Andrej730
fa0805fe29
ifctester webapp - fix for latest ids version
2024-10-29 18:16:05 +05:00
Andrej730
14bac88aca
ifctester.webapp - add to readme
2024-10-29 18:16:05 +05:00
Andrej730
edafb722e4
Fix ifctester readme
2024-10-29 18:16:05 +05:00
Andrej730
8ac96124c9
Fix UI errors opening non-IfcMaterials in Materials UI
...
There was UI errors because ui data wasn't updated, now ui data update is tied to load_materials
2024-10-29 18:16:05 +05:00
Andrej730
bb23d74ce3
Fix bug in 4c93270ad for IfcMaterialLayers
2024-10-29 18:16:05 +05:00
Andrej730
ff0fe0db06
Small optimization for materials UI
2024-10-29 18:16:05 +05:00
Andrej730
834be2d6a8
geometry.add_wall_representation - document
2024-10-29 18:16:05 +05:00
Andrej730
af01f6b6c7
geometry.create_2p_wall - document
2024-10-29 18:16:05 +05:00
Andrej730
87d185fef1
Lock scale for aggregate parts too if aggregate has openings
2024-10-29 18:16:05 +05:00
Andrej730
bfa2852ca9
typing
2024-10-29 18:16:04 +05:00
Cristian Ritter
cf0a4e2bde
Handle with lowercase hexadecimals #5620
2024-10-28 19:58:43 +01:00
Andrej730
fd6a541689
bonsai bcf v3 - fix issue activating camera in some cases
2024-10-28 20:10:39 +05:00
Andrej730
4c3bb54f98
bim.update_representation to detect openings from it's aggregate and show an error
...
Previously it would apply scale and geometry with opening to the representation, basically corrupting it.
2024-10-28 18:22:11 +05:00
Andrej730
6a4167e234
bim.add_opening to sync representations before adding an opening
...
E.g. if object was scaled or edited. Previously geometry changes were either lost or applied in a weird way (to the object without scale).
2024-10-28 18:21:43 +05:00
Andrej730
147f0bfc9a
Sync parts positions before applying the opening
...
To avoid issues like this - https://imgchest.com/p/bp45zlzen45
2024-10-28 18:21:43 +05:00
Andrej730
a4979a74b2
Fix bug object position wouldn't be synced on project save
...
If project had scale and openings then bim.update_representation wouldn't apply it's position leading to unsynced position.
2024-10-28 18:21:42 +05:00
Andrej730
850c16c745
Fix bug when object scale wouldn't be applied on project save if object wasn't moved
2024-10-28 18:21:42 +05:00
Andrej730
b96e275251
Fix bim.update_representation not apply scales if object wasn't moved
...
Was also creating same issue when project was saved
2024-10-28 18:21:42 +05:00
Andrej730
48a7af76ad
Bump Blender build and simplify sun_position installation
2024-10-28 18:21:42 +05:00
Andrej730
3f4a0128c7
ifcsverchok - fix poll error opening operator search
2024-10-28 18:21:42 +05:00
Andrej730
bdbe91f043
typing
2024-10-28 18:21:42 +05:00
Andrej730
86d0139f41
Hide object related panels when there is no object active
2024-10-28 16:23:35 +05:00
Andrej730
f2e9f2beb9
Fix error adding custom pset to material set item when no item currently edited
...
Error traceback posted in #5647
2024-10-28 16:23:35 +05:00
Andrej730
4c93270adc
Select material in materials UI #5647
...
Example - https://imgchest.com/p/6eyr8j8ag7p
2024-10-28 16:07:23 +05:00
Andrej730
320142f8e2
Hide material sets panels if there is no material set #5647
2024-10-28 16:07:23 +05:00
Andrej730
88d133b4cc
Fix ifc calls on every draw call for material set pset names enum
2024-10-28 16:07:23 +05:00
Andrej730
7fef81c0b9
black .
2024-10-28 16:06:27 +05:00
Thomas Krijnen
92b63a0ef2
Update build-all.py - add 3.13.0
2024-10-27 06:55:38 +01:00
Ryan Schultz
fc57a7bbf4
Fix #5078 : A way to quickly sum up a qto value of multiple selected objects
2024-10-26 14:26:25 -05:00
Thomas Krijnen
68062f54d8
Gracefully handle missing aggregate header fields #5626
2024-10-26 17:21:15 +02:00
Thomas Krijnen
d6ed28e504
Update build-all.py - add rhel-related comment
2024-10-26 17:11:23 +02:00
civilx64
8ff4cef7ec
lint with black
2024-10-26 17:06:24 +02:00
civilx64
8d001d0120
cleanup from original python alignment prototyping
...
`transition_curve.py` is now obsolete and has been removed.
A python port of IfcAlignmentHelper.cpp has also been started.
It needs further development to accommodate vertical alignment.
2024-10-26 17:06:24 +02:00
Thomas Krijnen
ea48996f0d
Double check for relationship subtype when processing openings on aggregate parent #5639
2024-10-26 14:53:36 +02:00
Andrej730
6b55e5e6ee
Fix find_openings for ifc2x3 #5639
2024-10-25 17:43:41 +05:00
Richard Brice
e270583451
Fixes unit conversion on clothoid constant
2024-10-24 08:43:47 -07:00
Andrej730
99dc4795c7
Reset not applied objects scales during project save
...
We try to apply scales using bim.update_representation and if didn't worked (presumably because object has openings) we reset the scales.
It was confusing for users that they scaled an object, saved IFC and they would know that scaling didn't worked only after they reopen the IFC project.
2024-10-24 18:38:17 +05:00
Andrej730
1642f231fb
typing
2024-10-24 18:38:17 +05:00
Andrej730
9998442eb4
Use common method for checking if object is scaled
2024-10-24 18:38:16 +05:00
Andrej730
4040c31583
Lock scale for objects with openings
...
Currently there is an UX problem that it's not clear for users when it's possible to use scale or not. We definitely won't be able to safely apply scales for objects with openings, so will try to lock them from the start.
2024-10-24 18:38:16 +05:00
Andrej730
6614245fc1
Fix unnamed button for editing openings
2024-10-24 18:38:16 +05:00
Andrej730
c7a41b46fd
More complete fix for breaking styles ui e85043ae3
...
Now it also doesn't break if user will undo style rename.
2024-10-24 18:38:16 +05:00
Andrej730
dfd11fb723
black .
2024-10-24 18:38:16 +05:00
Manu Varkey
8d3aa98b58
Implement rounding of elevation ( #5532 )
...
* Implement rounding of elevation
Implement rounding of elevation based on precision stored in IfcGeometricRepresentationContext
* Move formating function to tool
2024-10-24 15:17:47 +05:00
Andrej730
b08acd1625
Fix incorrect error message for bim.link_ifc when linking using 'files' argument
...
self.filepath is empty if bim.link_ifc was executed using 'files' argument
2024-10-24 14:25:26 +05:00
Andrej730
181b0cefc3
Fix linking ifc from shared folder on Windows #5386
...
The problem was that shared folders names are starting with `\\`, e.g. `\\SERVERNAME\shared_folder`. When we pass path strings we usually sanitize them and save them as posix, so it's saved as `//SERVERNAME/shared_folder` and Blender has a convention that paths starting with `//` it interprets as filepaths relative to the current .blend file, therefore it was giving some weird error that `C:\Users\xxxx\SERVERNAME\shared_folder\test.blend` is missing instead of `\\SERVERNAME\shared_folder`.
So need to be careful passing strings to Blender operators and use str instead of as_posix for those operators, so \\` wouldn't be misinterpreted.
2024-10-24 14:25:25 +05:00
Andrej730
e85043ae31
Fix styles UI breaking on undo
...
Turn out storing bpy.types.PropetyGroups was not very reliable idea as they get invalidated, just as Objects.
It's still breaking if you'd try to rename the style and then undo.
2024-10-23 18:34:03 +05:00
Andrej730
ca0e4f9cd6
Fix error duplicating type when current tool doesn't match the type #5591
2024-10-23 18:34:03 +05:00
Andrej730
3ff0ff66a4
Try to ensure undo will still work in case of an error
...
Previously transaction was never finished and therefore is_top_level_operator would never be triggered (without restarting project) making any IFC undo useless.
Previously it wsan't finishing transaction therefore:
- it was possible to undo ifc changes in the last step that had an error
- since transaction was never finished, IfcStore.current_transaction was never cleared and therefore is_top_level_operator will be never be triggered for the next operators, so new transactions are never created breaking undo for any further ifc changes.
Now user can try to undo the last action to save the file.
2024-10-23 18:34:02 +05:00
Andrej730
0ea71b0795
Ifc.Operator - remove second refresh_ui_data
...
Seems to be already covered by refresh_ui_data in IfcStore.execute_ifc_operator.
2024-10-23 18:34:02 +05:00
Andrej730
932a718d2d
limit active_material_index handler callback
2024-10-23 18:34:02 +05:00
Andrej730
106b6f74e1
Handle listeners on unlink commit/rollback
2024-10-23 18:34:02 +05:00
Andrej730
88de650660
Simplify IfcStore.relink_object
2024-10-23 18:34:02 +05:00
Andrej730
72ea93bc0f
Prevent adding None to guid_map
...
OperationData was always including guid key, so guid_map[None] was pointing to some object (typically a style). Also covered by rebuild_element_maps in the most cases.
2024-10-23 18:34:02 +05:00
Andrej730
6f347bcb81
Undo to clear listeners for linked objects
...
Typically it's already covered by rebuild_element_maps after undo but just to be consistent with commit_link_element.
2024-10-23 18:34:01 +05:00
Andrej730
fa29c42887
common method for setting up Blender listeners for objects
2024-10-23 18:34:01 +05:00
Andrej730
86edd52894
Unlinking elements to clear Blender listeners
...
to prevent unnecessary callbacks
2024-10-23 18:34:01 +05:00
Andrej730
db0a72c794
Add min/max values for roof angle/percentage
...
That way those props should be easier to edit, previously dragging "percentage" would go to infinity very quickly.
2024-10-23 18:34:01 +05:00
Andrej730
d68dee148b
Fix infinite recursion with angle/percentage roof properties in 2597827
...
Probably was harmless, it was just flooding the console with errors such as:
object address : 000002485A776380
object refcount : 2
object type : 00007FFBD1249050
object type name: RecursionError
object repr :
lost sys.stderr
File "\bonsai\bim\module\model\prop.py", line 707, in <lambda>
object address : 000002485A774520
object refcount : 2
object type : 00007FFBD1249050
object type name: RecursionError
object repr :
lost sys.stderr
File "\bonsai\bim\module\model\prop.py", line 713, in <lambda>
2024-10-23 18:34:01 +05:00
Andrej730
a1134e83a4
Fix test after 8372e12f8
2024-10-23 18:34:00 +05:00
Andrej730
b61927b460
deprecate Style.get_style
...
In favor of Ifc.get_entity
2024-10-23 18:34:00 +05:00
Andrej730
863633f2dc
Prevent adding name callback to non-ifc blender materials
...
Also removing one more artifact from #4843
2024-10-23 18:34:00 +05:00
Andrej730
b7dfeaee37
typing
2024-10-23 18:34:00 +05:00
Andrej730
2771465996
black .
2024-10-23 18:34:00 +05:00
Ryan Schultz
f62b1ed326
Have svg tags with IfcColumn/IfcBeam classes always on top.
...
discussion: https://community.osarch.org/discussion/2572/a-clever-way-to-get-a-column-buried-in-a-wall-to-still-read-when-you-print-a-drawing
2024-10-22 18:45:19 -05:00
Bruno Perdigão
0c0225543b
Add polyline tool for slabs.
...
No preview yet.
2024-10-22 17:39:19 -03:00
Bruno Perdigão
ffe8d4fad2
Make wall preview decorator work only with IfcWallType.
2024-10-22 17:32:48 -03:00
Andrej730
c18d2e8c17
ifcopenshell.file - store default history_size in class instead of instance
2024-10-22 18:20:29 +05:00
Andrej730
70521b1020
IfcStore.edited_objs - document issues
2024-10-22 18:20:29 +05:00
Andrej730
a777d67252
bim.generate_space - add a test
2024-10-22 18:20:29 +05:00
Andrej730
7544053f0b
bim.generate_space not to fail silently
2024-10-22 18:20:29 +05:00
Andrej730
7bebd2f7ce
bim.generate_space - fix missing undo step
2024-10-22 18:20:29 +05:00
Andrej730
64fe2240e6
bim.generate_space - not to produce orphaned ifc mesh
...
Orphaned mesh was also linked to IFC which could have lead to some hard to debug issues.
2024-10-22 18:20:28 +05:00
Andrej730
54b104b822
fix not working bim.generate_space because of the units mismatch
...
Not sure when this occurred but get_bmesh_from_polygon was expecting Polygon in project units but it was SI. Since it's probably better to move everything to SI, added an option to specify whether polygon is in SI or not.
2024-10-22 18:20:28 +05:00
Andrej730
abd7c93c35
bim.generate_space - document
2024-10-22 18:20:28 +05:00
Andrej730
5c56ea6343
spatial tool ui - sync shift-a hotkey UI with hotkey_S_A
...
Previously it was always showing two S_A operators
2024-10-22 18:20:28 +05:00
Andrej730
e8a2f3aed2
remove recalculate_dumb_wall_origin and don't mark aligned walls as edited
...
Since 5677768 recalculate_dumb_wall_origin is never used and bim.align_wall is either just changing the location (align_centerline) or might change object's representation but it's already saved to ifc (exterior/interior).
2024-10-22 18:20:27 +05:00
Andrej730
931e945044
Fix broken centerline alignment hotkey after e8f66ab
...
Ping @trhyder just in case
2024-10-22 18:20:27 +05:00
Andrej730
5eeea23774
bim.align_product - document
2024-10-22 18:20:27 +05:00
Andrej730
2a44af57d2
bim.align_product.align_type to use enum
...
to make it less error prone
2024-10-22 18:20:27 +05:00
Andrej730
035b6d00c5
bim.align_wall.align_type - use enum
2024-10-22 18:20:27 +05:00
Andrej730
8372e12f88
deprecate geometry.is_edited
...
in favor of ifc.is_edited
2024-10-22 18:20:26 +05:00
Andrej730
76869b0b02
deprecate misc.mark_object_as_edited
...
in favor of ifc.edit
2024-10-22 18:20:26 +05:00
Andrej730
5c08b8f22d
bim.resize_to_storey - document
2024-10-22 18:20:26 +05:00
Andrej730
bcf54b643d
Hide scale warning for non ifc objects
2024-10-22 18:20:26 +05:00
Andrej730
71c5e83fa0
typing
2024-10-22 18:20:25 +05:00
Andrej730
9eaecdb0a4
black .
2024-10-22 18:20:25 +05:00
Bruno Perdigão
3077687c59
Move product preview logic to its own decorator.
2024-10-22 10:01:50 -03:00
Bruno Perdigão
71997d37c0
Add support for cardinal point in beam and column preview.
2024-10-21 21:51:27 -03:00
Bruno Perdigão
acc9e7f706
Adds beam and columns to insertion point product preview.
2024-10-21 16:29:23 -03:00
Bruno Perdigão
5fa5b28484
Allow AddOccurence to use default container elevation value.
2024-10-21 11:10:10 -03:00
Bruno Perdigão
745c8e173a
Small fix after 14917d2c3
2024-10-21 10:46:26 -03:00
Bruno Perdigão
14917d2c31
Windows and Doors preview now get the wall rotation.
2024-10-21 10:34:42 -03:00
Bruno Perdigão
340916a5a4
Refactor snapping point selection to add the object name.
2024-10-21 10:34:42 -03:00
Bruno Perdigão
734ac2ba70
Fix issue with using shift + mousewheel while polyline is active.
2024-10-21 10:34:42 -03:00
Andrej730
dbfe3ea3c4
bim.update_representation - error message for objects with openings
2024-10-21 18:05:27 +05:00
Andrej730
c581946fa8
railing, roof - save representation to ifc instead of marking it as edited #5610
2024-10-21 18:05:27 +05:00
Andrej730
492df2310d
parametric stair - don't mark object as edited
...
As representation already saved to IFC and edited_objs seems to be getting less reliable because of the openings.
2024-10-21 18:05:27 +05:00
Andrej730
e8eb3972a1
Support styles without shading styles after 189bcd5
...
Noticed that after 189bcd5 some representations were missing styles - the ones that are using IfcSurfaceStyle with just IfcExternallyDefinedSurfaceStyle.
Ping @aothms just in case
2024-10-21 16:45:50 +05:00
Andrej730
45b3008b99
bim.edit_style to update representations if Side was edited
...
Mentioned in #5604 . Since IfcSurfaceStyle.Side is used during representation generation, we need to regenerate them if the value was changed. Previously it would require manual update / project reload.
2024-10-21 16:45:50 +05:00
Andrej730
ce6c56cab4
model.workspace - cache is_representation_item
...
To avoid accessing IFC on every draw call
2024-10-21 14:40:39 +05:00
Andrej730
1d90665c3a
split_by_loose_parts to preserve the objects selection
...
Noticed that bim.assign_class started to loose the objects selection after 29d6d2b
2024-10-21 14:40:39 +05:00
Andrej730
6bfbcb8f92
typing
2024-10-21 14:40:38 +05:00
Andrej730
4acdd7c960
Fix assigning cost item to resource after 97393eb #5601
...
fyi @myoualid
2024-10-21 11:26:09 +05:00
Richard Brice
647e379c69
Fixes problem with evaluating point on vertical alignment
...
Fixes evaluation of IfcLine parent curve for IfcGradientCurve. See https://github.com/IfcOpenShell/IfcOpenShell/discussions/5587
2024-10-20 08:19:49 -07:00
Thomas Krijnen
18d5957424
Defensiveness against invalid syntax #5608
2024-10-20 14:17:13 +02:00
Chris Mayo
65ecb92c03
python: Fix ifcopenshell.guid.new()
...
pyException:
<class 'AttributeError'>: module 'ifcopenshell' has no attribute 'guid'
2024-10-20 14:01:34 +02:00
Bruno Perdigão
b8d98b7512
Black format
2024-10-19 11:15:30 -03:00
Bruno Perdigão
97ed3bb0d5
Add product preview for mesh type objects when insertion point is active.
...
Currently works with doors, windows and furnitures.
2024-10-19 10:57:06 -03:00
Bruno Perdigão
217ada0993
Refactor wall preview for polyline tool.
2024-10-19 10:25:03 -03:00
Chris Mayo
dcd6acb1f4
Install cityjson_converter lib and exe
...
Fixes:
$ IfcConvert
IfcConvert: error while loading shared libraries: libcityjson_converter.so: cannot open shared object file: No such file or directory
2024-10-19 13:48:17 +02:00
Andrej730
122ec6fb0a
Use clever Blender length props for editing representation item extrusion depth
...
Example - https://imgchest.com/p/ljyqzpmwoy2
2024-10-18 18:12:00 +05:00
Andrej730
60837b9512
Operator to save pset as a template
...
Mentioned in #5596
Example - https://imgchest.com/p/5xy235xvj4l
Adds 2 things:
1) UI indicator whether pset is based on template or not
2) When pset is not based on a template, indicator becomes clickable and works as a shortcut for creating pset template based on the current pset.
2024-10-18 18:11:59 +05:00
Andrej730
ada4a8884b
tool.PsetTemplate
2024-10-18 18:11:59 +05:00
Andrej730
a27bdc4e3e
Add description to pset template props
...
As name doesn't seem to be displayed in the enum tooltip
2024-10-18 18:11:59 +05:00
Andrej730
43cecf6c5e
Hide 'remove pset template/file' operator when there are no templates/files
2024-10-18 18:11:59 +05:00
Andrej730
4666589fcd
bim.add_pset_template to add psets with unique names for convenience
2024-10-18 18:11:59 +05:00
Andrej730
e3ef64d0b3
Fix UI error switching between pset template files
2024-10-18 18:11:59 +05:00
Andrej730
828160c1b1
Fix UI errors if there are no pset template files
2024-10-18 18:11:59 +05:00
Andrej730
832ccff139
fix broken enum after removing pset template/file
2024-10-18 18:11:59 +05:00
Andrej730
17e67fbdaa
bim.remove_pset_template_file - note
2024-10-18 18:11:58 +05:00
Andrej730
01b28fde6f
remove BIMPsetTemplateProperties.new_template_filename
...
- as it was only used inside bim.add_pset_template_file operator
- also remove second unnecessary ":" in the prop label (":" is automatically added by Blender)
2024-10-18 18:11:58 +05:00
Andrej730
9130659f71
ifcopenshell.open - readable error if file doesn't exist
...
Previously it would show obscure error like:
RuntimeError: Type held at index 0 is class Blank and not class std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >
2024-10-18 18:11:58 +05:00
Andrej730
e073f11e25
typing
2024-10-18 18:11:58 +05:00
Andrej730
dbd64ebb0e
black .
2024-10-18 18:11:58 +05:00
Thomas Krijnen
ecba1c3e7b
Fix for UVs in python binding #5592
2024-10-18 10:37:53 +02:00
Andrej730
5837a143da
bump IOS #5583
2024-10-18 11:55:38 +05:00
Bruno Perdigão
01c67eea48
Fix issue with joining walls with negative direction sense.
2024-10-18 07:49:46 +11:00
Andrej730
0e5008d21e
Bonsai daily build tag to include hours and minutes
...
The problem is index.json is using urls pointing to zip files from the releases and it's possible that installation from unstable repo will be broken (user will get error message like '"Archive size mismatch "bonsai", expected 87417726, was 87418259"') in 2 cases:
1) during 5 minutes after commit while builds are still uploaded to the releases but index.json is not yet updated
2) if some builds were uploaded and some builds failed to upload, then for platforms that were uploaded successfully unstable installation will be broken until we fix the builds
When we add hours and minutes to the tag, that should be enough to make urls unique for each build avoiding this problem. If needed we can came up with some mechanism to clean up all builds besides the last one.
2024-10-17 18:25:08 +05:00
Andrej730
b17eacfa6a
typing
2024-10-17 18:25:08 +05:00
Thomas Krijnen
a04912e174
Assure edges are emitted in some topological order
2024-10-17 14:35:17 +02:00
Andrej730
ee7fd0cadf
Fix issues with unsanitized cache names #5589
...
Underlay filename wasn't sanitized when saved to 'cache' and when added to .svg but later when it's moved from 'cache' to 'drawings' folder the filename was regenerated using sanitized main .svg filename leading to issues.
2024-10-17 15:10:29 +05:00
Andrej730
5ae75d32bd
fix bug in a0e660583 #5585
2024-10-16 21:23:56 +05:00
Andrej730
a0e6605834
support adding parametric roof to object without representations
2024-10-16 18:00:43 +05:00
Andrej730
903e673984
Fix adding parametric geometry operators missing undo step
...
This also seems to by accident resolve #5565 🤨 🤨 🤨
2024-10-16 18:00:43 +05:00
Andrej730
a7efdb0bff
support adding parametric stair to object without representations
2024-10-16 18:00:43 +05:00
Andrej730
695ab0bfab
bump ifc sverchok #5546 #5178
2024-10-16 18:00:43 +05:00
Andrej730
e9e89c1280
remove unnecessary second style reload when disabling style editing
2024-10-16 18:00:43 +05:00
Andrej730
e29f8ce18a
clear collections properties for styles when not editing
2024-10-16 18:00:43 +05:00
Andrej730
ee892f63bf
Fix bug loading wrong external style #5576
...
By mistake it was always using currently edited external style, even if external style was not edited anymore and even if it was different style currently edited.
2024-10-16 18:00:43 +05:00
Andrej730
bb8e1866b0
Subscribe to viewport shading changes for appended BIM workspace too
2024-10-16 18:00:42 +05:00
Andrej730
3a5856511d
bim.update_current_style - optimization for updating styles for multiple objects
2024-10-16 18:00:42 +05:00
Andrej730
725df97ac0
bim.save_project to preserve relative ifc path #5407
2024-10-16 18:00:42 +05:00
Andrej730
98888d5096
bim.load_project - use_relative_path to override should_start_fresh_session
2024-10-16 18:00:42 +05:00
Andrej730
14d44dcd3e
remove ExportIFCBase as it's unused
2024-10-16 18:00:42 +05:00
Andrej730
7f1f249759
typing
2024-10-16 18:00:42 +05:00
Andrej730
3113d62c85
black .
2024-10-16 18:00:35 +05:00
Gorgious56
58b46da04d
Fix SHIFT+D shortcut for duplication not working for vanilla non-meshlike objects (eg lights)
2024-10-16 11:56:04 +02:00
Bruno Perdigão
db77d06a8a
Fix error introduced by b9c6508aa
2024-10-15 23:21:38 -03:00
Dion Moult
4684aa4a55
Fix bug where you couldn't add conditional material psets
2024-10-16 12:26:33 +11:00
Bruno Perdigão
b9c6508aa7
Polyline wall ability to switch axis while drawing.
...
While drawing the polyline the user can press:
- F to flip the wall. Changes the direction sense.
- O to change the offset type between Exterior, Center and Interior. This will change the offset from reference line.
Those attributes can be verified in the Object Materials panels of each wall after they are created.
2024-10-15 21:58:34 -03:00
Bruno Perdigão
d7bf8eba02
Fix small issue with the area decorator for the measure tool.
2024-10-15 21:47:42 -03:00
Bruno Perdigão
e7a725dca3
Fix #5562
2024-10-15 21:25:16 -03:00
Bruno Perdigão
f763e4b0a7
Remove increment snap from the measure tool.
2024-10-15 10:01:25 -03:00
Andrej730
12742bd08c
bim.load_project to support relative paths #5407
2024-10-15 17:57:00 +05:00
Andrej730
8940ec7b80
hide non-ifc objects from relating product dropdown
2024-10-15 17:57:00 +05:00
Andrej730
cb2895cc41
util.shape for materials and material_ids
2024-10-15 17:57:00 +05:00
Andrej730
1facba797d
aggregate data - small optimization
...
check for first BBIM_Linked_Aggregate instead of iterating over all rels
2024-10-15 14:30:49 +05:00
Andrej730
a76e802ab4
aggregate module - remove unnecessary ifc operators
2024-10-15 14:30:49 +05:00
Andrej730
afeec29261
Document bim.aggregate_assign_object
2024-10-15 12:34:07 +05:00
Andrej730
6c573445dd
More clever object selection for assigning aggregates #5560
...
Basically those two properties (Relating Whole and Related Part) are now showing only objects that are valid for the assigning an aggregate - https://i.imgur.com/bqQsXhG.png
2024-10-15 12:34:07 +05:00
Andrej730
f17c2eb80e
bim.query_linked_element - close db connection manually
...
otherwise it seems it was never closed (even if you open some other ifc project in current blender session) and .sqlite file is locked from being deleted (at least on Windows)
2024-10-15 11:28:37 +05:00
Andrej730
0888cbb675
small fix 2aeb87b5f
2024-10-14 17:53:12 +05:00
Andrej730
2aeb87b5fe
reuse ifcopenshell.util.shape
2024-10-14 17:37:34 +05:00
Andrej730
79c09ae225
Error appending inspected linked element for detailed meshes #5415
...
Was resulting in error below for meshes with > 1000 face indices (>~333 tris)
last_error: Traceback (most recent call last):
File "C:\Users\Ryan Schultz\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\.local\lib\python3.11\site-packages\bonsai\bim\ifc.py", line 408, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Ryan Schultz\AppData\Roaming\Blender Foundation\Blender\4.2\extensions\.local\lib\python3.11\site-packages\bonsai\bim\module\project\operator.py", line 1858, in _execute
ifc_file = ifcopenshell.open(queried_obj["ifc_filepath"])
~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: 'bpy_struct[key]: key "ifc_filepath" not found'
2024-10-14 17:37:29 +05:00
Andrej730
686514b88a
fix toggling link visibility after be68a8f #5524
2024-10-14 17:37:29 +05:00
Andrej730
a014cd58e3
fix toggling link selectibility after be68a8f #5524
2024-10-14 17:37:29 +05:00
Andrej730
090c670f04
avoid reimport representation meshes having .001 suffixes
2024-10-14 17:37:29 +05:00
Andrej730
d1b9d9697e
document.operator - remove unnecessary ifc operators
2024-10-14 17:37:28 +05:00
Andrej730
fe316e2741
documents ui - hide Name attribute from editing for document references #5542
...
To avoid invalid ifc.
2024-10-14 17:37:28 +05:00
Andrej730
16553417c1
document.import_references - note about not using Name #5542
2024-10-14 17:37:28 +05:00
Andrej730
fac9444cfd
ifc5d - use utf-8 encoding for reading csv files #5561
...
Same encoding as we use in Ifc5DCsvWriter.
2024-10-14 17:37:28 +05:00
Andrej730
cd8f6e2c78
typing
2024-10-14 17:37:28 +05:00
Andrej730
9e2189fea4
prop_with_search for external styles enum #5569
...
Ping @Gorgious56 as perhaps you might be interested in this weird case - it seems passing Operator with context_pointer_set makes it OperatorProperties which doesn't have original __annotations__.
2024-10-14 12:23:31 +05:00
Andrej730
5ffef568f7
black .
2024-10-14 12:23:31 +05:00
tim
9ccbd332cf
Type Manager fixes
...
- Corrected the alignment of the Type Manager preview in tool header
- Improved click-ability of the thumbnail icon in the Type Manger preview in the side bar
2024-10-14 11:47:23 +11:00
Ryan Schultz
a1fb4d6b81
fix #4051 : filter to only show IfcProfileDefs that are attached to IfcMaterialProfiles
2024-10-13 11:24:41 -05:00
Ryan Schultz
2f0500a14b
have dimensions like 0 7/8" read like 7/8"
2024-10-13 08:48:21 -05:00
Bruno Perdigão
6f6700db06
Fix bug with mixed snap.
2024-10-11 10:38:15 -03:00
Bruno Perdigão
0235d84f25
Fix small issue with area and length measurement text in polyline tool.
2024-10-11 09:43:23 -03:00
Bruno Perdigão
1225073bef
Remove debug print statement
2024-10-11 08:47:39 -03:00
Dion Moult
fb714e8fd8
Fix #5482 . Reimplement handling of arc detection to allow consecutive arcs.
2024-10-11 21:33:10 +11:00
Dion Moult
a0aa5396c9
Purge option for native meshes
2024-10-11 20:18:47 +11:00
Bruno Perdigão
017de3bd59
Fix measurement area text showing in wall polyline
2024-10-10 22:08:19 -03:00
Bruno Perdigão
fe5dada256
Fix measurement area text position.
2024-10-10 21:48:11 -03:00
Bruno Perdigão
fe0aa4b5b7
Change angle increment for axis snap.
2024-10-10 20:59:57 -03:00
Bruno Perdigão
3a2f29aefc
Fix bug in measurement area decorator.
...
Make input validation accept "m²" and "mm²"
2024-10-10 20:59:57 -03:00
Bruno Perdigão
cdaa782c18
Poyline tool - Adds more layers to increment snap base on viewport zoom.
2024-10-10 20:59:57 -03:00
Bruno Perdigão
b4d652d12e
Fix small issue with snap axis when using measure tool with different planes
2024-10-10 20:59:57 -03:00
Bruno Perdigão
014edcdadc
Fix X, Y and Z axis snapping after e673226ea1249a2432ff7b00a7581d750825b544
2024-10-10 20:59:57 -03:00
Bruno Perdigão
3f2efcc846
Fix small issue with increment snap
2024-10-10 20:59:57 -03:00
Bruno Perdigão
095c854d41
Improves angle snapping
2024-10-10 20:59:57 -03:00
Bruno Perdigão
dd646d2763
Increment snap now works only for plane and axis snapping.
2024-10-10 20:59:57 -03:00
Dion Moult
a32c4ae694
CGAL-Hybrid is now the default. Let's see what happens!
2024-10-11 08:49:42 +11:00
Dion Moult
2e21ec749b
Fix #5538 . Purge native mesh handling in Blender. This is now obsolete with CGAL-Hybrid.
2024-10-11 08:40:22 +11:00
Thomas Krijnen
189bcd5ad6
Maintain identity and cache styles based on surface-style-shading not styled-item #5486
2024-10-10 16:48:30 +02:00
Dion Moult
dc1842dbe8
Fix #5520 . Incorrect double calculation of daylight savings and UTC zone.
2024-10-10 22:02:50 +11:00
Dion Moult
c75e2e3fc0
Fix failing core tests
2024-10-10 21:36:48 +11:00
Dion Moult
10e76a09de
Fix failing MacOS builds
2024-10-10 21:12:35 +11:00
Thomas Krijnen
766f8adce7
nix/build-all propagate BUILD_SHARED_LIBS for -shared build
2024-10-10 09:16:28 +00:00
Dion Moult
47f013fc18
Add support for adding curvelike items
2024-10-10 18:34:20 +11:00
Dion Moult
bd42fc9cef
Add support for editing curves
2024-10-10 14:45:05 +11:00
Bruno Perdigão
0eb713a7ff
Fix #5545
2024-10-09 14:37:04 -03:00
Bruno Perdigão
50c6cbcb2d
Polyline tool now shows dimensions for meters and centimeters.
2024-10-09 12:04:45 -03:00
Bruno Perdigão
304db50692
Improved snap hierarchy to allow better face snapping.
2024-10-09 10:41:53 -03:00
Bruno Perdigão
1a55212099
Revert snap stickiness value after changes in increment snap.
2024-10-09 10:28:40 -03:00
Bruno Perdigão
ddd17d519e
Fix error that was preventing 3d panning while polyline tool is active.
...
This error was introduced by 48784ba
2024-10-09 10:19:51 -03:00
Bruno Perdigão
481e6b8a8d
New implementation for increment snap.
...
The first implementation was based directly on Blender increment snap.
The new one works just by rounding distance and angle to a better number.
The rounding is still contextual to the window zoom.
2024-10-09 10:14:07 -03:00
Thomas Krijnen
d01438e7f1
Retain transform when doing unification in kernel
2024-10-09 13:16:58 +02:00
Thomas Krijnen
da0d383666
Distinction between general exception / not supported / not implemented #5484
2024-10-09 13:14:49 +02:00
Thomas Krijnen
a38a3ad2fb
Fix funky mep geometry #5255
2024-10-09 09:34:52 +02:00
Dion Moult
bba862e3ae
Fix #5544 . Assign / add of objects with styles are now supported.
2024-10-09 18:27:36 +11:00
Dion Moult
11eb1c26f0
Fix #3120 . You can now assign styles to individual items.
2024-10-09 18:17:12 +11:00
Dion Moult
d09ab54869
Allow reloading of camera geometric representations
2024-10-09 12:26:03 +11:00
Dion Moult
aeb00e518b
Run black
2024-10-09 12:25:34 +11:00
Dion Moult
844be6bd1c
Fix #5231 . Remove workaround for missing model-offset in v0.8.
2024-10-09 12:24:25 +11:00
Dion Moult
4f6ca68195
Bump IOS
2024-10-09 11:24:30 +11:00
Bruno Perdigão
c33c0b7780
Fix snap to exclude objects that are in a hidden collection.
2024-10-08 18:37:36 -03:00
Bruno Perdigão
7137d95c63
Fix - Mixed snap now gives two snapping points options.
...
The function was only passing the closest option, but this is not always
the best option. It still defaults to the shortest, but now the user can
select the other option by cycling through snapping points with the "M"
key.
2024-10-08 18:13:24 -03:00
Bruno Perdigão
48784ba834
Polyline tool - user can now change the angle of the snap axis.
...
- Press "L" while the tool is active to lock axis to the current angle.
- Press "Shift" + "Mouse Wheel" up or down to adjust the angle.
If using with the measure tool it will only work if you have a plane method selected.
2024-10-08 18:13:24 -03:00
Bruno Perdigão
fa642e6203
Lower snap axis stickiness.
2024-10-08 18:13:24 -03:00
Bruno Perdigão
ee54b3a6f4
Increment snap now works with x, y, z axis snap.
2024-10-08 18:13:24 -03:00
Thomas Krijnen
e3223db059
More includes to make gcc happy
2024-10-08 21:04:11 +02:00
Thomas Krijnen
b34157e257
Allow returning nativeelement in create_shape()
2024-10-08 20:58:02 +02:00
Thomas Krijnen
bfe3601fd1
wkt-use-section option for svg-like occt section cuts instead of polyhedral topology
2024-10-08 20:57:27 +02:00
Kristoffer Andersen
cc6249d6cc
Add bcf conda-forge badge
2024-10-08 18:26:28 +02:00
Thomas Krijnen
4c2fc55cfe
Bring back some v0.7 logic for sweeps over continuous wires #5473
2024-10-08 15:44:51 +02:00
Thomas Krijnen
36a0a0f2dd
Work-around for tiny radii sweeps #5474
2024-10-08 14:53:56 +02:00
Dion Moult
89b1f9c2d7
Fix #5527 . Unlinking an object should never share its mesh data with IFC elements.
2024-10-08 22:47:22 +11:00
Dion Moult
3c51c6325c
Fix #5515 . Spaces are now special and have their own collection. Elements in a space don't go inside a space collection anymore.
...
There can be hundreds of spaces in a building, and generally we use collections for bulk selections (i.e. at the floor level) not for spaces.
2024-10-08 22:35:21 +11:00
Thomas Krijnen
fdf4749dd7
Missing include for OSX build
2024-10-08 09:19:29 +02:00
krande
742b3ca120
add ifdef for cgal 6
2024-10-08 09:12:04 +02:00
Dion Moult
c85eb79c50
Remove deprecated copy class operator
2024-10-08 17:48:53 +11:00
Dion Moult
1d6b0f781b
Fix #5533 . Duplicating objects now updates item ids for new item editing workflow.
2024-10-08 17:48:42 +11:00
Dion Moult
32899ebffb
Fix #5543 . Updating a representation reloads the representation.
2024-10-08 15:45:03 +11:00
Dion Moult
1b321f0747
Fix #5512 . Minor fix of console errors in workspace.
2024-10-08 14:32:48 +11:00
Bruno Perdigão
774791cf97
Polyline tool - increment snap now works for imperial units.
2024-10-07 22:28:03 -03:00
Bruno Perdigão
c5f27e908a
Polyline tool - increment snap implementation.
2024-10-07 22:28:03 -03:00
tim
0f4e4730e2
Progress on Selected Type Preview ( #5535 )
...
* Remove length from wall tool
No longer relevant with the new draw method
* Selected Type Preview and Launch Type Manager
Redesign of thumbnail preview
* Update to Type Manager
Moved Create new type to end of paginated loop
Added Predefined type label under thumbnail
* No Types Found
Modified to match Types Manager tiles
Quick Default icon added
* No Types Found
Modified to match Types Manager tiles
Quick Default icon added
* Description in thumbnail linked to value
---------
Co-authored-by: tim <tjrhyder@gmail.com >
2024-10-08 12:24:56 +11:00
Dion Moult
6fb4ce202e
Loading shapes now uses the selected geometry library
2024-10-08 12:16:56 +11:00
Dion Moult
f66d1bed73
Conveniently preselect object representation template if an object is selected
2024-10-08 12:16:32 +11:00
Dion Moult
af3fb78e1b
Fix #5526 . Fix bug where reloading a representation used by filtered / unloaded elements would fail.
2024-10-08 11:59:04 +11:00
Dion Moult
29d6d2ba97
Fix #5541 . Creating an object from a mesh now separates by loose parts to prevent unwanted vertex fusing.
2024-10-08 11:30:40 +11:00
Thomas Krijnen
a4226369bd
Update type literal
2024-10-07 20:48:58 +02:00
Thomas Krijnen
250fad696e
--unify-shapes setting
2024-10-07 20:47:01 +02:00
Thomas Krijnen
461e3d478a
Store lowest_z in WKT footprint generation
2024-10-07 20:45:52 +02:00
Thomas Krijnen
f3df7b8475
Rerun codegen
2024-10-07 20:43:19 +02:00
Thomas Krijnen
aa9b2d7428
populate_derived() upon instance creation, don't only rely on serialization 'hack' #5364
2024-10-07 20:41:34 +02:00
Bruno Perdigão
8e8136ffb6
Fix issue when using "C" to close polyline.
2024-10-07 14:15:42 -03:00
Bruno Perdigão
b595eb043e
Reverting a change in insert_polyline_point.
2024-10-07 14:07:34 -03:00
Bruno Perdigão
2e6ea4fffb
Small fix in polyline input ui decorator.
2024-10-07 14:07:34 -03:00
Bruno Perdigão
eef0eb5d43
Bug fix on polyline model decorator when there is no polyline yet.
2024-10-07 14:07:34 -03:00
Bruno Perdigão
9cad7269fd
Measure tool - allow for pan, orbit and zoom while tool is active.
2024-10-07 14:07:34 -03:00
Bruno Perdigão
0979c37ba8
Measure tool - center area text horizontally
2024-10-07 14:07:34 -03:00
Bruno Perdigão
f9fc563de9
Bug fixes for measure tool in area type with imperial units.
2024-10-07 14:07:34 -03:00
Bruno Perdigão
ad74d02165
Measure tool - Removed "Area" from the input UI.
...
Area is now shows as text decorator since be3354ece063c2c2abcb6f6904df7cd6865dee47
2024-10-07 14:07:34 -03:00
Bruno Perdigão
93457051da
Measure tool - show text decorator for polyline area and length.
2024-10-07 14:07:34 -03:00
Bruno Perdigão
ce1f1bc394
Bug fix in polyline wall after 95202364a86c8c56f54dde2873b703ac0cc548b4
2024-10-07 14:07:34 -03:00
Bruno Perdigão
0068023c6f
Refactor - moved tool/Snap functions that should be in tool/Polyline
2024-10-07 14:07:34 -03:00
Bruno Perdigão
2ea4fc6491
Polyline tool - properties refactor.
...
Better separation of insertion polyline and measurement polyline
2024-10-07 14:07:34 -03:00
Bruno Perdigão
b057f89459
Measure tool - single and area measurement now persist on screen.
...
Also, the measure polyline properties now stores the area and the total length that will be used by the decorator in later development.
2024-10-07 14:07:33 -03:00
Bruno Perdigão
1a8c11c715
Measure tool - added measurement type to each measurement properties.
2024-10-07 14:07:33 -03:00
Bruno Perdigão
cf2a156872
Small refactor. Variable renaming.
2024-10-07 14:07:33 -03:00
Bruno Perdigão
79a8fb1f7f
Single measure tool now show x,y and z formatted values.
2024-10-07 14:07:33 -03:00
Bruno Perdigão
d4848f26f6
Small refactor
2024-10-07 14:07:33 -03:00
Bruno Perdigão
9b5f20e1dc
Initial implementation of measure tool modes: single, polyline and area.
...
- Single: draws a single measurement that shows the lines and dimensions for x, y and z.
- Polyline: it's how it was already working
- Area: show the area value in the input panel and creates the polygon shape that represents the area. Only works for coplanar points.
The mode can be chosen by clicking the option icon in the workspace menu.
2024-10-07 14:07:33 -03:00
Dion Moult
864cc10b24
Fix #5529 . Escape now switches back from item mode to object mode.
2024-10-06 17:34:59 +11:00
Dion Moult
2e7e2d24e4
Fix #5536 . Trigger advanced mode by default on large models. Default to unlimited loading, but show warning.
...
This is a very common complaint: missing elements on large models. It seems as better default is to warn the user that the model is large, but give them the option to filter prior to loading the model.
2024-10-06 17:16:23 +11:00
Dion Moult
c10056611b
Bump IOS.
2024-10-06 16:13:26 +11:00
Thomas Krijnen
89a078bc50
Test case #5485
2024-10-04 19:12:18 +02:00
Thomas Krijnen
07fda60794
Return edges as planar-component boundaries in CGAL #5485
2024-10-04 19:11:02 +02:00
Andrej730
0935159c42
Restore IFC element menu removed in 23db38d
...
Example - https://i.imgur.com/1FRgYiQ.png
Restored it until we find some other place for it.
2024-10-04 18:45:40 +05:00
Andrej730
ca9681568c
Fix error editing curves based representations #5499
...
KeyError: 'bpy_struct[key]: key "ios_edges_item_ids" not found'
It's still not possible to edit curve representations, just fixing an error trying to import representation items.
2024-10-04 18:45:40 +05:00
Andrej730
13a6d5b64a
Materials UI - suggest MODEL_VIEW context for assigning material style by default
...
Probably makes more sense than just "Model".
2024-10-04 18:45:39 +05:00
Andrej730
8aa1b68d3e
Bonsai - fix issues with default ifcpatch recipe is not loading properly #5540
2024-10-04 18:45:39 +05:00
Andrej730
dc63e989d6
remove try except for ifcpatch import as it's not optional
2024-10-04 18:45:39 +05:00
Andrej730
0cef788a09
Fix console errors after c96c661 (failed to register selection_mode)
...
Apparently Blender is strict that items should be tuples, not lists. Interestingly enough, though it did failed to register, operator still was working fine.
Example error:
TypeError: EnumProperty(...): expected a tuple containing (identifier, name, description) and optionally an icon name and unique number
ValueError: bpy_struct "BIM_OT_select_container" registration error: 'selection_mode' EnumProperty could not register (see previous error)
2024-10-04 18:45:39 +05:00
Andrej730
38d450e111
Show templates based on selected IFC schema #5530
2024-10-04 18:45:39 +05:00
Andrej730
e5c83b1538
same as 3b71d0050 #5537
2024-10-04 18:45:39 +05:00
Andrej730
9177e19efa
Reset proposed property fields after adding custom property #5539
2024-10-04 18:45:38 +05:00
Andrej730
bf9d84e738
typing
2024-10-04 18:45:38 +05:00
Andrej730
2994f5c170
Add a warning if not all project elements were loaded #5536
...
Example - https://i.imgur.com/Tu3OOIm.png
2024-10-04 18:45:38 +05:00
Andrej730
3107fd91ee
Fix issues adding roof and railing representation #5534
...
Apparently after recent changes with how types are added, it's now required to add a representation for them explicitly instead of just marking them as edited
2024-10-04 18:45:38 +05:00
Andrej730
69781daa6b
Materials UI - update material styles data on expanding categories
...
otherwise style data was missing for materials that were previously hidden
2024-10-04 18:45:38 +05:00
Andrej730
e810dc76e0
Materials UI - support showing styles assigned with IfcPresentationStyleAssignment
2024-10-04 18:45:37 +05:00
Andrej730
cab3fd266d
Materials UI - display other styles assigned to material besides IfcSurfaceStyle
2024-10-04 18:45:37 +05:00
Andrej730
62aef09bc7
Fix UI issue when material styles were not reflecting active material #5447
...
It was reflecting active material but it was only updated when ifc UI data was refreshed (usually after some IFC operators), now it should be always up to date.
2024-10-04 18:45:37 +05:00
Andrej730
2626968a05
materials ui - reuse Material.get_active_material_item
2024-10-04 18:45:37 +05:00
Andrej730
0e6479b090
Show all available styles editing material styles #5525
...
Previously it would fail e.g. if IfcFillAreaStyle was already assigned to the material but UI was showing errors because enum items contained only surface styles.
2024-10-04 18:45:37 +05:00
Andrej730
7b0a792ff7
bim.merge_identical_objects to support merging IfcMaterials
2024-10-04 18:45:36 +05:00
Andrej730
944e9c45ac
black .
2024-10-04 18:45:36 +05:00
tim
99b1f5ec45
Tool header and side panel improvements ( #5500 )
...
* Conditions added to show Edit vs Create for each Tool
* Void conditions revised
Apply Voids now only show when number of selected objects ==2, and one of them is a void
* Conditions added to show create vs edit for each tool
example: to edit a wall -> the wall tool must be the active tool and a wall must be selected, to add a wall -> the wall tool must be the active tool and a wall must not be selected
* Extend wall to slab icons added
dark and light mode versions added
* Reset vertex icons added
dark and light mode version added
* Type Manager Preview added
---------
Co-authored-by: tim <tjrhyder@gmail.com >
Co-authored-by: Dion Moult <dion@thinkmoult.com >
2024-10-04 11:02:39 +10:00
Andrej730
3b71d00508
merge_identical_objects - temporarily replace get_info_2 with get_info
2024-10-03 18:37:56 +05:00
Andrej730
c3e4ebd996
bim.merge_identical_objects for merging identical styles
...
Button location - https://i.imgur.com/3O8gHUn.png
Could also be used as a temporary workaround for #5446
2024-10-03 17:15:34 +05:00
Andrej730
be9c9b2caa
fix missing assert statements
2024-10-03 17:15:34 +05:00
Andrej730
306a269061
bim.unlink_style - make it more safe
...
Even if user decide not to delete style during unlinking, we will create a material copy and relink style to it, so it will be safe to assume that each surface style is always linked to blender material.
2024-10-03 17:15:34 +05:00
Andrej730
392b458563
ifcopenshell.util.element.replace_element
2024-10-03 17:15:34 +05:00
Andrej730
8ae951d27a
get_info_2 to support excluding identifier
2024-10-03 17:15:33 +05:00
Andrej730
770e25dbc2
typing
2024-10-03 17:15:33 +05:00
Thomas Krijnen
2c08cff67b
Make sure $ chars in TTL are only enclosed in <IRI> not shortened postfixes"
2024-10-03 10:30:53 +02:00
Thomas Krijnen
83c40c7fb4
Don't try to install directories as files (some change in recent cmake?)
2024-10-03 10:30:53 +02:00
Thomas Krijnen
3b9c1d88c8
Handle missing placement location gracefully #5528
2024-10-03 10:30:53 +02:00
Tyler Kvochick
040aec3e52
Derive docker tags from git refs
2024-10-02 17:28:12 +02:00
Thomas Krijnen
8f443a79f3
Merge pull request #5184 from csritter/v0.8.0
...
Adding --surface-colour in conversion settings to force the use of surface color instead of diffuse color. Issue #5075
2024-10-02 17:24:34 +02:00
Andrej730
3a9598a9d9
bonsai - bim.append_library_element option to skip reusing materials by name
...
Example - https://imgur.com/PsAPugJ
2024-10-02 18:33:31 +05:00
Andrej730
104b6f5564
append_asset option to avoid assuming unique names for assets #5391
2024-10-02 18:33:31 +05:00
smr02
d5fddd5f1b
https://github.com/IfcOpenShell/IfcOpenShell/issues/5511#issuecomment-2388073735
2024-10-02 15:28:58 +02:00
Thomas Krijnen
99ae69f1e4
Don't estimate normal from collinear edges in TTL serializer
2024-10-02 11:12:23 +02:00
Thomas Krijnen
b700c5e448
Don't escape $ in TTL output
2024-10-02 11:12:23 +02:00
Andrej730
2a9301ead2
project.append_asset - slight optimization for existing elements search
2024-10-01 18:08:03 +05:00
Andrej730
315d3c6437
ifcopenshell.file.to_string
2024-10-01 18:08:03 +05:00
Andrej730
35f53232b6
typing
2024-10-01 18:08:03 +05:00
Gorgious56
3978226b65
#5514 : Add information as to where to unlock elements in the error tooltip when trying to edit, delelete or move a locked object. Also fix active object / selection discrepancies
2024-10-01 14:14:48 +02:00
Andrej730
c3a6d28927
avoid writing to ifc loading ui elements
2024-10-01 16:50:17 +05:00
Andrej730
0ca3837fc2
update object name changing name from spatial manager #5449
2024-10-01 16:50:13 +05:00
Gorgious56
c96c661394
By default the "Select container" button in the spatial decomposition panel clears current selection before selecting the container. Shift + Click adds the container to selection, ALT + Click removes the container from selection. Added tooltip to the button for keypresses.
2024-10-01 13:38:20 +02:00
Andrej730
a4ac71f9f7
Replace freestyle extension warning with poll message #5472
2024-10-01 16:23:13 +05:00
Andrej730
f63a7d420e
style.remove_style to handle IfcFillAreaStyles
2024-10-01 15:38:46 +05:00
Andrej730
19f1c87437
style.remove_style to handle IfcFillAreaStyleHatching
2024-10-01 15:38:46 +05:00
Andrej730
4b39631b98
get_element_by_style to support IfcFillAreaStyleTiles
2024-10-01 15:38:46 +05:00
Andrej730
e040dc4562
get_elements_by_style to support curve styles used in IfcFillAreaStyleHatching
2024-10-01 15:38:45 +05:00
Andrej730
55726b3d50
bonsai - fix breaking ui after style is removed
...
not sure when this one occurred but ui was breaking since ui blender items were still referring to the deleted ids
2024-10-01 15:38:45 +05:00
Andrej730
f4165d4149
bonsai - fix error removing non-linked styles
...
including non-ifcsurfacestyle ifcpresentationstyles
2024-10-01 15:38:45 +05:00
Andrej730
b7c390585b
ios - fix error removing other IfcPresentationStyles
...
besides IfcSurfaceStyle
2024-10-01 15:38:45 +05:00
Andrej730
7133b01b76
Count styles based on the current stype type #5462
...
Previously it was showing number of all IfcPresentationStyles
2024-10-01 15:38:45 +05:00
Andrej730
616a8882d9
bim.load_style - avoid writing to ifc every time
2024-10-01 15:38:45 +05:00
Andrej730
e6e6bd841c
project.operator - use pathlib
2024-10-01 15:38:45 +05:00
Andrej730
45ae7634a8
select linked model object when it's loaded
2024-10-01 15:38:45 +05:00
Andrej730
b67be01590
Operator to select link handle
...
Example - https://imgchest.com/p/md7oxbze97p
2024-10-01 15:38:44 +05:00
Andrej730
06a2c5bf0b
Fix linked model decorator not moving for moved linked models ( be68a8fdde)
2024-10-01 15:38:44 +05:00
Dion Moult
79b1388e44
Remove Shift-P hotkey
2024-10-01 19:11:40 +10:00
Dion Moult
53765222d6
See #4915 . Experimental code for polyhedron without holes
2024-10-01 19:11:08 +10:00
Bruno Perdigão
665afc0375
Wall preview decorator now show tris.
2024-09-30 18:25:09 -03:00
Bruno Perdigão
5129d2016e
Fix rebase conflicts
2024-09-30 13:15:19 -03:00
Andrej730
5d83c49fe0
fix saving clash results to bcf #5377
2024-09-30 16:02:52 +05:00
Andrej730
3ad58aba7a
ifcclash typing
2024-09-30 16:02:52 +05:00
Andrej730
9131804e4e
black .
2024-09-30 16:02:52 +05:00
Thomas Krijnen
6e2e01b460
Fix incomplete swept surface mapping #5484
2024-09-30 12:30:34 +02:00
Thomas Krijnen
5d1dee4480
Apply transformation to swept surfaces in occt advanced brep impl #5484
2024-09-30 12:29:14 +02:00
Thomas Krijnen
62f696da51
Don't handle bspline-edges on planar faces in cgal-kernel #5484
2024-09-30 12:28:28 +02:00
Dion Moult
af7bdf6b9f
Deprecate type_class in favour of new simpler type manager workflow
2024-09-30 14:04:03 +10:00
Thomas Krijnen
2c22421889
Don't consume token on invalid entity typename #5504
2024-09-29 19:15:29 +02:00
Dion Moult
8a0e87b8f8
Start cleaning up type manager to serve its new purpose as a fancy dropdown
2024-09-29 22:39:21 +10:00
Dion Moult
1bcc7199f6
Redesign BIM tool to have mutually exclusive add/edit modes.
2024-09-29 21:20:17 +10:00
Dion Moult
275d615d42
Shift-A now triggers the wall polyline tool for all LAYER2 elements
2024-09-29 18:11:08 +10:00
Dion Moult
905044f0d7
Shift-A in BIM tools now lets you pick a point interactively. No more 3D cursor requirement.
...
Still incomplete, but the goal is to not require a "huh?" moment for new users who have no idea what a 3D cursor is.
2024-09-29 17:11:32 +10:00
Thomas Krijnen
e2ae2a4a89
Fix negative modelo #5509
2024-09-28 19:44:19 +02:00
Richard Brice
abe3d7e5db
Fixes problem normalizing IfcDirection direction ratios
2024-09-28 06:19:41 -07:00
Thomas Krijnen
dd01cb0e51
BaseUri setting for TTL+WKT
2024-09-28 14:47:08 +02:00
Daniel Bo Olesen
2eecda17e4
Minor updates
...
Added a debug and run script to the documentation section. Added a tip and clarifies how to roll back to a previous version, when running unstable release.
2024-09-28 21:48:56 +10:00
Daniel Bo Olesen
c45b4372a8
Update writing_docs.rst
...
Some additions on how to get the local server up and running
2024-09-28 21:48:56 +10:00
Dion Moult
5bb40111c1
Pop up add menu in item mode
2024-09-28 21:22:57 +10:00
Dion Moult
faa94eb636
Fix #5466 . Support duplicating representation items
2024-09-28 19:39:29 +10:00
Dion Moult
2a6616707c
Remove random debug print statements
2024-09-28 17:45:32 +10:00
Dion Moult
d1c430cd4d
Show clipping plane in front to make it easy to select
2024-09-28 17:35:06 +10:00
Dion Moult
a5e6539ddf
Support joining representation items
2024-09-28 17:35:06 +10:00
Dion Moult
7bc4b5100b
Support separating representation items
2024-09-28 17:35:06 +10:00
Bruno Perdigão
8d08d358af
Measure tool persists on screen and can be snapped.
...
The user has an option to clean previous measurements polylines by pressing "E" while using the measure tool.
2024-09-27 16:48:28 -03:00
Thomas Krijnen
314534436d
Add .ttl + Well Known Text geometry serializer
2024-09-27 16:32:47 +02:00
Andrej730
be68a8fdde
Support for moving/rotating/scaling for linked models
...
Example - https://imgchest.com/p/lqye6da2z4d
2024-09-27 19:06:31 +05:00
Andrej730
400ebf2efb
bim.append_inspected_linked_element to ensure linked file schema is compatible
2024-09-27 19:06:31 +05:00
Andrej730
0dff19ba6a
Project library dropdown - show only libraries compatible with the current schema
...
To prevent errors trying to append elements from the wrong schema library
2024-09-27 19:06:31 +05:00
Andrej730
24a6ed0e5c
Show an error if library file schema is not compatible with the current file
...
Example - https://i.imgur.com/t1gxBJ4.png ("Schema of library file (IFC4X3_ADD2) is not compatible with the current IFC file (IFC4).")
2024-09-27 19:06:31 +05:00
Andrej730
63ffa1aadb
Add upgrade to ifc4/ifc4x3 button to libraries file browser
...
Example - https://i.imgur.com/cTdwCvt.png
2024-09-27 19:06:31 +05:00
Andrej730
f7bf440848
AbstractKernel::dispatch_curve_creation - use static cast
...
Similar to 93c4749
2024-09-27 19:06:31 +05:00
Dion Moult
82fd49e4c4
Fix bug when tabbing into empties
2024-09-27 23:14:22 +10:00
Dion Moult
4261fdbed6
Rewrite coordinate offset to use np.array not Vector() for precision
2024-09-27 23:09:00 +10:00
Andrej730
9f02737a2e
Fix segfault trying to create IfcSweptDiskSolid with invalid curve #5474
...
In my case it was IfcIndexedPolyCurve with just 1 vertex. Though kernel->convert does return a boolean value to indicate if conversion was successful, we never used it - so it failed silently leading to segfault later on.
Now we also stop processing those polycurves during mapping stage but checking kernel->convert result still might be useful in some other cases.
2024-09-27 17:00:33 +05:00
Andrej730
fe3b66c044
Stop processing IfcIndexedPolyCurve with < 2 verts at mapping stage #5474
...
as they're invalid and would't be able to create a curve
2024-09-27 17:00:33 +05:00
Andrej730
14cea7453b
Skip failed to load IfcSweptDiskSolid shapes
...
Noticed in the file attached in #5474 (note that it's not the issue that's causing the segfault), it was failing due IFCSWEPTDISKSOLID's IFCINDEXEDPOLYCURVE having just 1 point, resulting in something like '[Error] [ 14:07:00] No segment successfully converted: 80=IfcIndexedPolyCurve(79,$)'.
Not sure if this kind of polyline is considered valid in IFC but it doesn't trigger any validation errors, so I guess it shouldn't stop IFC project from loading in BBIM.
2024-09-27 17:00:33 +05:00
Andrej730
cfa2dc5d97
Contexts UI - import Precision as string due problems with Blender UI
...
Btw this is where you can edit model geometry precision - https://i.imgur.com/CLln0oK.png
Related Blender issue - https://projects.blender.org/blender/blender/issues/128238
2024-09-27 17:00:33 +05:00
Andrej730
123d023bb3
context.operator - remove unnecessary ifc operators
2024-09-27 17:00:33 +05:00
Andrej730
8ff94d3f61
context.data - skip passing unnecessary attributes
2024-09-27 17:00:33 +05:00
Andrej730
3b64350a3f
bim.create_shape_from_step_id to include ifc class and id to object name
2024-09-27 17:00:33 +05:00
Andrej730
78302d1583
typing
2024-09-27 17:00:33 +05:00
Dion Moult
d93ffb1fe6
See #5491 . Clean up orphaned meshes when editing.
2024-09-27 21:59:42 +10:00
Bruno Postle
ceeba53c18
Fix linux Associate Bonsai with *.ifc files #5494
...
The package configuration only included files with extensions, so the
`bonsai` wrapper script was not packaged in the wheel
2024-09-26 22:23:38 +01:00
Andrej730
ecd147675e
Ooops, revert wip commit c80c52c248 commited by accident
2024-09-26 22:02:42 +05:00
Andrej730
1cf7f65902
Hide non-simple property types to avoid breaking UI #5496
...
Property types that are now skipped (at least in IFC4):
<type IfcArcIndex: <list [3:3] of <type IfcPositiveInteger: <type IfcInteger: <integer>>>>> ('list', 'integer')
<type IfcBinary: <binary>> binary
<type IfcComplexNumber: <array [1:2] of <real>>> ('array', 'float')
<type IfcCompoundPlaneAngleMeasure: <list [3:4] of <integer>>> ('list', 'integer')
<type IfcLineIndex: <list [2:?] of <type IfcPositiveInteger: <type IfcInteger: <integer>>>>> ('list', 'integer')
<type IfcPropertySetDefinitionSet: <set [1:?] of <entity IfcPropertySetDefinition>>> ('set', 'entity')
2024-09-26 18:40:52 +05:00
Andrej730
7d8ef3ffd0
Fix invalid IfcRevolvedAreaSolid representations with angle <360 deg
...
It was always assuming angle is 360 deg
2024-09-26 18:40:52 +05:00
Andrej730
ca5f083481
Fix error trying to tab into IfcRevolvedAreaSolid
...
by temporary not recognizing reprs with IfcRevolvedAreaSolid as a profile usage
2024-09-26 18:40:52 +05:00
Andrej730
a35304f1d5
lock_object to also lock scales and additional rotations
...
to indicate that they won't have an effect (or might break things)
2024-09-26 18:40:52 +05:00
Andrej730
c80c52c248
Allow editing poly curve representation items
2024-09-26 18:40:52 +05:00
Andrej730
dd516fb873
Support moving IfcConic representation items
...
Example - https://imgur.com/a/UDWxXWX
2024-09-26 18:40:52 +05:00
Andrej730
f8680503ef
Add default values for IfcEllipseProfileDef
2024-09-26 18:40:51 +05:00
Andrej730
23389dcac0
Update ellipse profile just for consistency with 11deb95
2024-09-26 18:40:51 +05:00
Andrej730
8814d3a22b
Lock all representation items that are not movable
...
Otherwise it was confusing that user can move item but when they exit item mode position was lost
2024-09-26 18:40:51 +05:00
Andrej730
340e8515f5
Fix error switching mode for multiple objects
2024-09-26 18:40:51 +05:00
Andrej730
22b9a8804d
notes for loading indexed maps
2024-09-26 18:40:51 +05:00
Andrej730
341b97bce2
typing
2024-09-26 18:40:51 +05:00
Andrej730
24f66bbcb4
black .
2024-09-26 18:40:51 +05:00
Dion Moult
a273c87e41
Fix #5416 . Optimise item decorator and make decoration more subtle to make it easier to see the mesh.
2024-09-26 23:30:12 +10:00
Dion Moult
b01471aa55
See #5491 . Don't show items in front.
2024-09-26 23:28:47 +10:00
Dion Moult
ebb7f0c8a9
Less in-your-face grid decorations that are easily selectable due to show in front
2024-09-26 23:21:44 +10:00
Ryan Schultz
d581174513
Fix #5493 : Bonsai, error when using , in drawing names and clicking on the drawing in the sheet part of UI.
2024-09-25 18:36:39 -05:00
Bruno Perdigão
41d5c391e1
Polyline wall - added top and bottom division lines to product preview.
2024-09-25 16:38:33 -03:00
csritter
a8157e7dd6
Merge branch 'v0.8.0' into v0.8.0
2024-09-25 11:20:47 -03:00
Andrej730
4e33569851
ifc join to support joining 3d polyline curves
2024-09-25 19:09:15 +05:00
Andrej730
761795ccbf
ifc join to show error message if joining is not supported
...
Example - https://i.imgur.com/5vsmJN8.png
2024-09-25 19:09:15 +05:00
Andrej730
95e9b8aeef
Import representation items for curve representations too
...
https://i.imgur.com/TeITxa0.png
2024-09-25 19:09:14 +05:00
Andrej730
dd9de98290
Store edges representation item ids in Triangulation
2024-09-25 19:09:14 +05:00
Andrej730
aad66f94a3
rename addEdge overload to registerEdgeCount
...
So it won't be confused with addEdge that actually does add an edge to edges_.
2024-09-25 19:09:14 +05:00
Andrej730
6ac40b4ab3
typing
2024-09-25 19:09:14 +05:00
Dion Moult
fce7b4416e
Forgot to handle cases where no object is selected when adding a new element
2024-09-25 23:56:18 +10:00
Dion Moult
42f32e3418
Fix #5460 . Assigning a class now uses the new add element mode internally.
2024-09-25 23:48:44 +10:00
Dion Moult
47581f2316
Hooray! New add element means we no longer do this silly "add cube" and delete when adding occurrences.
2024-09-25 23:47:18 +10:00
Dion Moult
c68c621400
Loading and saving extrusion items now take into account georef cartesian point offsets
2024-09-25 23:03:06 +10:00
Andrej730
61151442cf
Merge branch 'bonsai-bump-macos' into v0.8.0
2024-09-25 14:00:17 +05:00
Andrej730
7b36f93973
remove debug logging
2024-09-25 13:59:55 +05:00
Andrej730
5952ce8ed3
disable_item_mode - to set previously edited object as active
...
It seems very natural that after exiting item mode the edited item should become active (similar to how it works in edit mode).
2024-09-25 13:59:55 +05:00
Andrej730
3c309bbac8
load_indexed_colour_map - to support loading colors for rep items
...
Enter item mode for simple faceset cube was failing because this wasn't supported.
2024-09-25 13:59:55 +05:00
Andrej730
3e3b133c7b
black .
2024-09-25 13:59:55 +05:00
Andrej730
0af2ab53a0
bonsai makefile update regex to keep track of x86_64 version automatically
2024-09-25 13:45:37 +05:00
Andrej730
700a453501
fix breaking bonsai builds - bump macos to 10.13 for python 3.12
...
Recently released Python 3.12.6 dropped support for Mac OS 10.9-10.12 - https://www.python.org/downloads/release/python-3126/
And Python 3.12.6 is the one that's used by compiled builds from now - in our case it was fonttools (used by ezdxf) that compiled binaries and it's using cibuildwheel which is also started using Python 3.12.6 as it's released.
2024-09-25 13:45:32 +05:00
Jason Hilton
e45b41c04b
fix: compile errors qt app
...
I was able to hardcode load an ifc file, by uncommenting the hard
coded parse ifcfile, but I was unable to open and load files with the
qt menu.
2024-09-25 10:22:14 +02:00
Dion Moult
86367e9c1f
Loading and saving meshlike items now take into account georef cartesian point offsets
2024-09-25 17:46:59 +10:00
Dion Moult
9af9120dff
Fix bug where switching representations didn't take into account georef cartesian point offsets
2024-09-25 17:46:15 +10:00
Dion Moult
dc5e3d86b4
Lazy optimisation to prioritise styledbyitem instead of indexed maps. Allow blank data_index in case we have multiple rep items.
2024-09-25 13:00:14 +10:00
Daniel Bo Olesen
4472578915
Changed tools tips for commands.
2024-09-25 11:59:01 +10:00
Dion Moult
9ede6a693d
See #5475 . Fix quoting in dev script and default to Github repo.
2024-09-25 11:26:43 +10:00
Dion Moult
7584a40219
Fix #5483 . Units is optional when loading.
2024-09-25 11:13:09 +10:00
Dion Moult
1d4f5de4a0
Fix #5475 . Quote paths to accommodate spaces in dev setup.
2024-09-25 10:39:12 +10:00
dylcos
fa92d3bd59
Update code_examples.rst
...
Replaced "product=wall" with "products=[wall]" in:
# Place our wall in the ground floor
ifcopenshell.api.spatial.assign_container(model, relating_structure=storey, products=[wall])
As code example fails otherwise
2024-09-25 09:36:25 +10:00
Bruno Perdigão
d868eeb77d
Updates on polyline decorator to match standard colors.
2024-09-24 17:30:34 -03:00
Bruno Perdigão
083a1e4074
Small fix in polyline decorator.
2024-09-24 13:55:14 -03:00
Bruno Perdigão
ef5dc58b91
Fix some cases where wall joining were not working after they were created by polyline tool.
2024-09-24 13:47:21 -03:00
Bruno Perdigão
c4232e7407
small fix on 36b4225b1
2024-09-24 11:40:47 -03:00
Andrej730
209c0fef57
restore lost code after a1d99b5
2024-09-24 19:30:17 +05:00
Andrej730
d4bc34dea7
ifc2sql - remove debug print statements
2024-09-24 19:30:08 +05:00
Andrej730
0ce92587bf
ifc2sql - add test
2024-09-24 19:30:08 +05:00
Andrej730
56de208470
ifcopenshell.sql - add simple test
2024-09-24 19:30:08 +05:00
Andrej730
266416226b
ifcopenshell.sql - repr for entities
2024-09-24 19:30:08 +05:00
Andrej730
810f42ea24
ifc2sql - clarify how output works in docs, add a suffix to temp file
2024-09-24 19:30:08 +05:00
Andrej730
21dd5054e6
ifcopenshell.sql - fix error in by_id method
...
it was fetching some random row from id_map instead of using ifc_id filter
2024-09-24 19:30:07 +05:00
Andrej730
08e221fe93
ifcopenshell.sql - garbage collection errors (same as fe1dff0191)
2024-09-24 19:30:07 +05:00
Andrej730
c7e97d06bd
ifcopenshell.sql - fix error opening files similar to #5457
2024-09-24 19:30:07 +05:00
Andrej730
46cc3a449a
ifcopenshell.sql - handle non existing files
...
previously it would create an empty database and give a confusing error "AssertionError: SQLite schema not supported."
2024-09-24 19:30:07 +05:00
Andrej730
9e86d83616
ifcopenshell.sql - typing
2024-09-24 19:30:07 +05:00
Andrej730
2829b7daf6
ifcopenshell.stream - remove unrelated code from ifcopenshell.sql
2024-09-24 19:30:07 +05:00
Andrej730
86ec618327
ifcopenshell.stream - add simple test
2024-09-24 19:30:07 +05:00
Andrej730
9a23daf7b3
stream - add support of crlf files
2024-09-24 19:30:07 +05:00
Andrej730
4e3d6f1773
typing
2024-09-24 19:30:07 +05:00
Andrej730
7045fba9c0
black .
2024-09-24 19:30:00 +05:00
Bruno Perdigão
36b4225b18
Warning messages for prohibit cases when inserting polyline points
2024-09-24 10:55:59 -03:00
Bruno Perdigão
b05e6cf71a
Small fix
2024-09-24 10:55:54 -03:00
myoualid
7692b910f4
loading multiple cost schedules in the web ui is now more responsive, clean up and organise css code #5369
2024-09-24 12:13:18 +01:00
Thomas Krijnen
0c70d4c828
Manually detect facet boundary intersections before triangulation #5470
2024-09-24 13:09:30 +02:00
Thomas Krijnen
11deb955f8
Fix ellipse major < minor workaround #5470
2024-09-24 13:09:30 +02:00
Dion Moult
036754ea20
Bump IOS to OCC 7.8.1
2024-09-24 18:50:07 +10:00
Thomas Krijnen
2557fcf628
Do let cgal handle planar adv brep #4915
2024-09-24 08:54:52 +02:00
Dion Moult
4bee80edc5
Optimise array setup during load
2024-09-24 15:31:55 +10:00
Dion Moult
d1c4a0a415
Check walls first for false origin guessing for speed, checking one object seems to be enough
2024-09-24 15:31:37 +10:00
Dion Moult
f92a02cfcb
Fix regression in speed in collection assignment
...
As hinted in the TODO note for linking collections safely, try-catch is actually much faster. This brings it to 10% faster than 0.7 speeds. Previously the regression made it 10x slower.
2024-09-24 14:54:25 +10:00
Dion Moult
ff5c402750
Optimisation for not iterating through things with no representations
...
Iterator initialise can take a few seconds on large models even though you're just doing a few elements which have no representations.
2024-09-24 14:54:25 +10:00
Bruno Perdigão
2151035afd
Small fix in Raycast function ray_cast_by_proximity.
2024-09-23 22:46:36 -03:00
Bruno Perdigão
cc11c43240
Fix raycast to detect objects with partial visibility in the scene.
2024-09-23 22:37:37 -03:00
Bruno Perdigão
7339325cc9
Fix #5464
2024-09-23 22:25:28 -03:00
Bruno Perdigão
3c2a0c9bf3
Fixed issue with polyline inserting point at world origin (0, 0, 0).
2024-09-23 17:13:57 -03:00
Bruno Perdigão
98d767988e
Added support to snap on empty objects.
2024-09-23 17:04:42 -03:00
myoualid
7b2a30e5b7
web-ui: fix classifications file navigation
2024-09-23 20:41:26 +01:00
myoualid
455012de4c
cost web ui:
...
- add "Linked rate" column,
- assign a cost rate to multiple cost items by selecting linked rate cells & clicking the "assign" button on the chosen cost rate
#5369
2024-09-23 20:19:06 +01:00
Andrej730
ab8a6b80e4
debug module - remove unnecessary ifc operators
2024-09-23 19:33:36 +05:00
Andrej730
acd1b165f8
bim.create_shape_from_step_id to support different geometric libraries
2024-09-23 19:33:29 +05:00
Andrej730
fe1dff0191
ifcopenshell.stream - fix garbage collection errors
...
Mentioined in #5457
Errors such as:
Exception ignored in: <function file.__del__ at 0x7f4cfcc9f920>
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/ifcopenshell/file.py", line 284, in __del__
del file_dict[self.file_pointer()]
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ifcopenshell/file.py", line 444, in __getattr__
return getattr(self.wrapped_data, attr)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'file_pointer'
2024-09-23 19:33:28 +05:00
Andrej730
08bba92b2e
fix opening ifc files with streaming #5457
2024-09-23 19:33:28 +05:00
Andrej730
7e6be53237
Improve error messages for shapes failed to process
...
Example error messages now:
RuntimeError: Failed to process shape. Product: #3855=IfcSite('3ZGD7y6S5209$mGLi_sPll',#20,'Surface:411452',$,$,#3854,#3850,$,.ELEMENT.,(42,12,46,799999),(-71,-2,0,-599999),0.,$,$), representation: #3849=IfcShapeRepresentation(#93,'FootPrint','Curve2D',(#3841,#31427,#31471,#45600,#45628))
RuntimeError: Failed to process shape. Instance: #3841=IfcPolyline((#3800,#3801,#3802,#3803,#3804,#3805,#3806,#3807,#3808,#3809,#3810,#3811,#3812,#3813,#3814,#3815,#3816,#3817,#3818,#3819,#3820,#3821,#3822,#3823,#3824,#3825,#3826,#3827,#3828,#3829,#3830,#3831,#3832,#3833,#3834,#3835,#3836,#3837,#3838,#3839,#3840,#3800))
2024-09-23 19:33:28 +05:00
Andrej730
c6c9f400d3
BBIM Parametric psets - show warning when user edits them manually
...
as they are not intended to be edited manually but through the special ui
example - https://i.imgur.com/nsuy0I0.png
2024-09-23 19:33:28 +05:00
Andrej730
2b35e5fb91
Make parametric doors/windows available for ifc2x3
2024-09-23 19:33:28 +05:00
Andrej730
e7dd186349
Fix roof tooltip in templates
2024-09-23 19:33:27 +05:00
Andrej730
0091f5c09b
Simplify spatial elements sorting
2024-09-23 19:33:27 +05:00
Andrej730
c33e2fc689
Fix #5320
2024-09-23 19:33:27 +05:00
Andrej730
df055cefd4
typing
2024-09-23 19:33:27 +05:00
Andrej730
65f9a745a3
black .
2024-09-23 19:33:27 +05:00
Thomas Krijnen
a51ed6e6b3
Fixes for using hybrid kernel on non-products #5443
2024-09-23 16:18:00 +02:00
Gorgious56
aaf5fde92e
Fix error when the "Add Parametric Window" button is drawn
2024-09-23 16:03:34 +02:00
Thomas Krijnen
0389f1e984
Make cgal implementation a little bit less confident #5453
2024-09-23 16:03:10 +02:00
Dion Moult
84ceb11584
Minor fix
2024-09-23 23:55:15 +10:00
Dion Moult
0426c8e115
Adding an occurrence of a non-geometric type now lets you choose the type of geometry to add
2024-09-23 23:49:34 +10:00
Thomas Krijnen
a9ca4e7366
Mark status when parsing is terminated
2024-09-23 15:24:28 +02:00
Thomas Krijnen
e4d1118124
Manually write out if-statements instead of visit with if-constexpr #5444
2024-09-23 15:10:37 +02:00
Gorgious56
f2efa53fdf
Fix #5456 : Unbound variable error when no snap decorator is drawn
2024-09-23 11:34:35 +02:00
Dion Moult
23db38d0e9
Finally, a way to actually add an IFC element directly
...
Previously, the way to add an IFC element would be to 1) create a blender element then assign or 2) activate bim tool, launch type manager, click create type, fill out field, or 3) using various menus for parametric stuff like stairs. This is now the new proposed way to do things and everything will consolidate to here - and it allows you to directly create non-mesh geometry immediately too!
2024-09-23 18:21:44 +10:00
Dion Moult
194acb078c
See #3707 . See #5445 . Type now launches type manager, and type manager icons are clickable.
...
Previously you could either use the dropdown, or launch the type manager, but now they are one and the same, and more inuitive to click icons.
2024-09-23 18:18:44 +10:00
Dion Moult
c30ac2d061
Slightly more accurate loading time to include initialisation time
2024-09-23 18:14:52 +10:00
tim
621393e67a
Toggle openings typo
2024-09-23 18:13:24 +10:00
tim
2386b935aa
Toggle openings icons
...
renamed png files to match operator name
2024-09-23 18:13:24 +10:00
tim
0071fa515a
Apply void icons
...
This is a temporary fix
2024-09-23 18:13:24 +10:00
Thomas Krijnen
154059126c
Update build-all.py - reset --hard before checkout
2024-09-23 09:16:24 +02:00
Thomas Krijnen
4c048e4695
Update face.cpp - snail artefact on 7.8 as well #4924
2024-09-23 09:12:10 +02:00
Thomas Krijnen
4ce3413cdf
Update build-all.py - fetch before checkout
2024-09-23 06:52:49 +02:00
myoualid
33d8ecdc8b
smart copy paste option for cost schedules in web ui - #5369
2024-09-23 03:21:15 +01:00
myoualid
193daff617
web-ui: enable assigning parametric quantities from queries #5369
2024-09-23 02:21:15 +01:00
myoualid
9f542c30b3
cost module web ui:
...
- add setting options to hide/show columns
- Cost classification column
- New Cost Classification Form to display active classification library, add/delete classification references
2024-09-22 20:00:09 +01:00
Manu Varkey
a053472558
Fixes #5320
2024-09-22 22:19:49 +10:00
Dion Moult
14fe3e6150
Rewrite mode switching from object to item to edit modes
2024-09-22 22:17:07 +10:00
mrfcoelho
df494a3def
Update create_model.rst
...
Fix minor typo
2024-09-22 08:32:20 +10:00
mrfcoelho
ff7c7932e1
Update installation.rst
...
Fix broken link
2024-09-22 08:32:06 +10:00
Dion Moult
9ea44f0a89
You can now add new swept area solid items
2024-09-21 21:27:17 +10:00
Dion Moult
ce010f1e56
You can now add new mesh representation items
2024-09-21 16:34:41 +10:00
Dion Moult
2a8d43c42c
Basic editing of item attributes implemented
2024-09-21 14:27:17 +10:00
tim
ef412c36c6
Cancel and Apply buttons ( #5435 )
...
* Cancel button added back in, Green apply replaced with CHECKMARK
* 2-point arc icon added
---------
Co-authored-by: tim <tjrhyder@gmail.com >
2024-09-21 13:48:33 +10:00
myoualid
8c4ab5bf03
enable displaying schedule of rates - web ui ref #5369
2024-09-21 00:16:11 +01:00
Thomas Krijnen
e0095cd446
occt 7.8.1 #4924
2024-09-20 20:49:22 +02:00
Gorgious56
ea3f5cea1f
Fix parametric stairs not appearing in the type manager templates
2024-09-20 20:26:03 +02:00
Andrej730
a3c0523fbd
Fix #5432
2024-09-20 22:56:59 +05:00
Andrej730
c819368445
code_style.rst - some notes on black formatting
2024-09-20 22:11:15 +05:00
Andrej730
287f08dc7b
bim.print_unused_elements_stats to ignore IfcIndexedTextureMap
2024-09-20 22:03:20 +05:00
Andrej730
5ce9d21dff
Purging styles to also purge associated blender materials #3914
2024-09-20 22:03:19 +05:00
Andrej730
d4df21c4be
ifcopenshell.util.shape.get_normals
2024-09-20 22:03:19 +05:00
Andrej730
95e76c3ab9
bsdd classes - typing for not required attributes
2024-09-20 22:03:19 +05:00
Andrej730
18476ec7f3
bsdd - update classes according to the latest API
...
Also added yml_to_classes.py script that can extract the classes automatically
2024-09-20 22:03:19 +05:00
Andrej730
aeeae7365f
load bsdd classes recursively if query fetches more than 100 items
...
previously it would just hit the limit 100 and stop
2024-09-20 22:03:19 +05:00
Andrej730
9953ce1b39
typing
2024-09-20 22:03:19 +05:00
Andrej730
d7adec3d54
black .
2024-09-20 22:03:19 +05:00
myoualid
e0e9892ff0
cost module web-ui:
...
- remove Blender operators in favor of ifc.api functions
- replace BonsaiBIM Data class dependency with new ifc5D2json script
- enable viewing multiple cost schedules
- add Identifaction column
ref #5369
2024-09-20 16:26:40 +01:00
tim
e8f66abf17
New and updated icons for CAD and BIM workspace
...
* Updates to some icons, new icons added for CAD tools, and new layout for CAD tools
* updates to icons
* WIP changes to BIM Tool UI
* Separated BimToolUI, added Draw wall icon
Separated BimToolUI into AddElementUI and ModifySelectedUI classes, added Draw wall icon
* Voids back in UI
* WIP UI tools and icons
partial support for draw wall tool added
* 40d95c294 WIP UI tools and icons
Minor tweaks
* WIP on profile-axis-ui
* WIP on profile-axis-ui
* Added Merge, Split, Rotate, and Flip back into wall edit tools
* Separators added
* Restore commented out code in CAD workspace.py
---------
Co-authored-by: tim <tjrhyder@gmail.com >
Co-authored-by: Dion Moult <dion@thinkmoult.com >
2024-09-20 22:16:40 +10:00
mrfcoelho
560983c6b8
Update interface.rst
...
Add minor tip to be able to see all the workspaces when the screen size is small.
2024-09-20 21:55:06 +10:00
Gorgious56
07291022b4
Fix purging types in the type manager not working. The purge button is now in a menu for a cleaner interface and avoiding accidentally clicking on it when opening the type manager.
2024-09-20 12:09:55 +02:00
Andrej730
6d94871683
Attribute.data_type -> EnumProperty (+typing)
2024-09-20 13:17:41 +05:00
Andrej730
774db8e997
sort wheel files list in manifest
2024-09-20 13:17:27 +05:00
Manu Varkey
31d49a7bbc
Update drawing shadow settings for consistentency
2024-09-20 18:10:26 +10:00
Dion Moult
542ae6b44a
Basic support for editing swept profiles and positions
2024-09-20 18:08:16 +10:00
Gorgious56
c1a92bf1f3
Fix #5398 : Only show relevant parametric templates in the type manager. Also fix forgotten line in previous commit.
2024-09-20 09:58:26 +02:00
Gorgious56
a8abc8e379
Fix #5333 : Searching for the class name using the looking glass button doesn't close the type manager anymore.
2024-09-20 09:53:00 +02:00
Andrej730
4f64d044ac
Option to assign non-ifc bsdd properties #5404
...
Example - https://imgur.com/a/cPtEkX2
Also Attribute now has additional field "metadata" for storing some case specific data
2024-09-20 12:34:27 +05:00
Andrej730
1f4d973a79
black .
2024-09-20 12:34:26 +05:00
Dion Moult
bfd5b3c1c7
Increase websocket server limit from 1MB to 10MB to allow for larger datasets like large work schedules.
2024-09-20 17:03:46 +10:00
Dion Moult
8866a34f22
Fix #5408 . Use an angular tolerance of 0.1 degrees to determine if something has moved and need resyncing.
2024-09-20 17:03:00 +10:00
Andrej730
669d88fbb1
sequence - fix all import operators missing Ifc operator #5423
2024-09-20 11:14:34 +05:00
Andrej730
7470fb0786
sequence - remove unnecessary Ifc operators
2024-09-20 11:14:34 +05:00
Andrej730
b6fca3916e
assigning process to control - add an error message
2024-09-20 11:14:34 +05:00
Andrej730
5373c7ee9e
sequence import/export - add info message when operator finished
2024-09-20 11:14:34 +05:00
Manu Varkey
f708d9cb4d
Support natural sorting of types closes #5050
2024-09-20 09:20:03 +10:00
Andrej730
f1f055d19d
Restore missing dev docs after 53d7624
2024-09-19 18:56:45 +05:00
Andrej730
e175de5365
Fix misleading docs urls after 53d7624
2024-09-19 18:56:45 +05:00
Andrej730
31befd424b
Fix documentation missing dev env scripts
...
Mentioned in #5398
2024-09-19 18:56:45 +05:00
Andrej730
394b24ddfe
More realistic test for ca8577a8dd
2024-09-19 18:24:37 +05:00
Andrej730
f184ce5386
Support de08d3726e for ifc2x3 #5420
2024-09-19 18:13:14 +05:00
Andrej730
b7d725254d
Temporarily revert 51211dc527 to fix broken bonsai builds #4924
...
Need to not to forget to revert a revert later...
2024-09-19 17:30:10 +05:00
Andrej730
c9f9cf89e8
file -> import/export - add poll messages in case ifc is not loaded
2024-09-19 17:21:51 +05:00
Andrej730
fb6d2b8de2
pp2ifc - preserve original ids
...
Now we're going to use bar ids instead their detalization ids (e.g. expanded task ids, task ids, milestone ids) because it is the way how it works in the software pp file originates from.
2024-09-19 17:21:51 +05:00
Andrej730
ddca950f65
pp2ifc - save calendar identification for pp file to ifc
2024-09-19 17:21:51 +05:00
Andrej730
96756d63d4
pp2ifc refactor and add support for more languages #5417
2024-09-19 17:21:50 +05:00
Andrej730
a5b3c9beb4
black .
2024-09-19 17:21:50 +05:00
Gorgious56
1974974071
Fix #5410 : bim.enable_adding_presentation_style no longer throws an error in a file with no ifc project when launching the search operator (F3)
2024-09-19 14:03:56 +02:00
Manu Varkey
4225643bc0
Disable blf shadow setting after use. Fixes #5387
2024-09-19 21:49:58 +10:00
Dion Moult
4b7bb1533e
Fix #5394 . Fix bug when switching fillings where the current representation was not the body representation.
2024-09-19 16:25:33 +10:00
Dion Moult
d3fdbf4dae
(Un)Bump IOS - downgrade due to critical bugs with OCC 7.7
2024-09-19 11:12:11 +10:00
Dion Moult
5d0fb18ea1
Fix #5395 . Apparently wheels exclude directories with no files in them, so the cache folder wasn't shipped.
2024-09-19 10:59:32 +10:00
myoualid
45708ee287
Cost module web UI:
...
- quick button to add a SUM cost value
- style improvements
2024-09-18 20:34:31 +01:00
Thomas Krijnen
116a0f1a02
Add test
2024-09-18 19:28:55 +02:00
Thomas Krijnen
2554280e50
triangulation-type setting for non-triangulated polyhedral from iterator
2024-09-18 19:28:07 +02:00
Andrej730
748fcce3f5
Adding classification reference tests
2024-09-18 18:44:34 +05:00
Andrej730
5b2733bb3c
add classification reference from bsdd - support ObjectType
...
it seems in bsdd some ObjectType is also provided using "undefined_set" pset
example - https://identifier.buildingsmart.org/uri/ifcairport/ifcairport/1.0/class/ifcairport0000000004
2024-09-18 18:44:34 +05:00
Andrej730
115a48fc1a
bsdd - fix bug when loading pset would set properties in incorrect way
...
It was using name instead of propertyCode which was leading to assigning incorrect properties...
2024-09-18 18:44:34 +05:00
Andrej730
06d927f8bb
bsdd operators descriptions and naming
2024-09-18 18:44:34 +05:00
Andrej730
de08d3726e
Bonsai - set active bsdd when loading project
...
When loading an ifc project it will search it for bsdd ifcclassifications and will set one as active if finds it, so now it will be a bit more convenient working with bsdd classification assignment as it active bsdd previously was always getting reset when you reload ifc file.
Example - https://imgur.com/a/stlJqwm
2024-09-18 18:44:34 +05:00
Andrej730
4dbfeefe53
Fix UI errors getting elements using qset in IFC2X3
...
In IFC2X3 IfcQuantitySet didn't existed yet
Mentioned in #5404
2024-09-18 18:44:33 +05:00
Andrej730
eb823a5ecd
bsdd search to check whether query is long enough
...
It's an API requirement and using shorter queries was giving confusing results.
https://github.com/buildingSMART/bSDD/blob/master/Documentation/bSDD%20OpenAPI.yaml
2024-09-18 18:44:33 +05:00
Andrej730
8f7949808a
Move id to IfcGeom::Representation::Representation and document it
...
as it's a common attribute for all 3 Representation subclasses we have
2024-09-18 18:44:33 +05:00
Andrej730
5860c3fe50
black .
2024-09-18 18:44:33 +05:00
Dion Moult
dbfa4ecf65
Fix minor regression in fe0be0c
2024-09-18 22:58:22 +10:00
Dion Moult
1320eac800
Switch representation now cleans up orphaned meshes itself so callers don't need that responsibility
2024-09-18 22:58:22 +10:00
ArturTomczak
81e4ad2ce2
handle numeric simpleValue ( #5376 )
...
The input value can be a string or number, but 1.0 schema only accepts strings. The processing of int and float was missing. The casting to string might no longer be needed in IDS 1.1. https://github.com/buildingSMART/IDS/issues/342
2024-09-18 21:42:31 +10:00
Dion Moult
736d91f38e
Shape builder now supportes meshy things and faceted breps
2024-09-18 21:35:40 +10:00
Dion Moult
a1d99b544a
Basic support for deleting items, and editing meshlike items
2024-09-18 21:35:40 +10:00
Dion Moult
ed530f737c
Remove deprecated code for fixed bug #2002 .
2024-09-18 21:35:40 +10:00
Dion Moult
0899a2a87b
Fix bug where switching geometry may not correctly share representations
2024-09-18 21:35:40 +10:00
Thomas Krijnen
3bdbb3d513
Don't import cwd ifcopenshell folder when running tests
2024-09-18 11:35:24 +02:00
Andrej730
e22ec57e16
Fix #5409
2024-09-18 13:56:06 +05:00
Dion Moult
9b06797efa
Fix crash when removing representation item with removed inverses
2024-09-18 17:35:51 +10:00
Dion Moult
96ba8e8e29
Fix bug where dissolving edges created corrupted geometry for advanced breps with curved surfaces
2024-09-18 17:34:41 +10:00
Bruno Postle
6e9e270683
IfcGit don't switch colouring so much closes #5402
...
Viewing changes necessarily sets object colours and switches the
viewport to object colouring. Previously most other operations switched
the viewport 'back' to material colouring. This was an annoyance for
users whose workflow makes use of manual object colouring.
Now only operators that reload the model (revert, switch and merge), the
refresh button, and attempting to view changes with the current revision
switch to material colouring.
2024-09-17 23:34:04 +01:00
Andrej730
53a6192858
Skip loading mappings if representation has openings #5405
...
To avoid errors
2024-09-17 18:25:59 +05:00
Andrej730
2a2efefac3
IfcSchema declaration_by_name to be safe
...
Couldn't find if we actually use it anywhere in the code but better to keep it safe, especially because it's exposed to Python and by accident user might provide some too bit integer instead of a string.
2024-09-17 16:28:02 +05:00
Andrej730
a7cac5c77b
IfcWrap cmake - regenerate .py and .cxx on changes in ifcopenshell libs
...
Previously they wouldn't be regenerated unless you edit .i files or manually remove .py/.cxx.
2024-09-17 16:28:01 +05:00
Andrej730
1575696a8b
ifcwrap cmake - use default CMP0078 policy
...
Something weird happened during merge in 7d90c31 and changes from 0055a5d were not applied
2024-09-17 16:28:01 +05:00
Thomas Krijnen
555eb44f00
Add IfcAlignmentSegments to XML output
2024-09-17 13:07:33 +02:00
Thomas Krijnen
0b555b30d2
Add IfcAlignmentSegments to XML output
2024-09-17 13:03:25 +02:00
Andrej730
06f14774f7
Avoid more unnecessary calls to docs api
...
Noticed that prop_value could be other types besides str (e.g. int when using context menu on UIList item) and we can skip them to avoid redundant api calls.
2024-09-16 18:54:13 +05:00
Andrej730
11ddcb0256
IfcSchema declaration_by_name to use size_t instead of int
...
By accident noticed that `declaration_by_name(-1)` crashes python. If we use size_t it will just throw an error like below
NotImplementedError: Wrong number or type of arguments for overloaded function 'schema_definition_declaration_by_name'.
Possible C/C++ prototypes are:
IfcParse::schema_definition::declaration_by_name(std::string const &) const
IfcParse::schema_definition::declaration_by_name(size_t) const
2024-09-16 18:54:13 +05:00
Andrej730
0d77ff5270
remove debug code
2024-09-16 18:54:13 +05:00
Andrej730
c75fa70d23
Support for loading face colors from ifc (IfcIndexedColourMap)
...
example - https://imgur.com/a/l8Yn4Rr
2024-09-16 18:54:13 +05:00
Andrej730
6d8ffc27cc
ifcopenshell.util.shape.get_material_colors
2024-09-16 18:54:13 +05:00
Andrej730
531327578f
bim.print_unused_elements_stats - to skip colour map
2024-09-16 18:54:12 +05:00
Andrej730
6a47e68b78
fix typo
2024-09-16 18:54:12 +05:00
Andrej730
5ec10018d9
bim.purge_unused_elements_by_class - skip IfcRepresentationContext
2024-09-16 18:54:12 +05:00
Andrej730
ec0094ef33
bim.purge_unused_elements_by_class - keep list sorted
2024-09-16 18:54:12 +05:00
Andrej730
a2c2cf65a1
bim.purge_unused_elements_by_class - make filepath argument optional
2024-09-16 18:54:12 +05:00
Andrej730
cfd63392e7
Add to recent projects when project is saved
2024-09-16 18:54:12 +05:00
Andrej730
0891df5d6c
typing
2024-09-16 18:54:12 +05:00
Bruno Postle
cf95c9151c
black formatting after 71de39e
2024-09-15 17:34:44 +01:00
Bruno Postle
71de39ea7c
Recover external git repo changes, fixes #5311
...
IfcGit didn't cope gracefully when commits and/or repositories vanished
unexpectedly
2024-09-15 17:24:36 +01:00
Andrej730
c487643d76
ifcgit - fix errors if paths are mixing up slashes and backslashes
...
`repo.path` is always setup using current platform type of slashes since it's normalized by get_path_dir but when we pass a path to index.add it's not normalized leading to errors
2024-09-14 11:41:58 +05:00
Andrej730
6dbfb3afb3
black format
2024-09-14 11:41:58 +05:00
Bruno Perdigão
aa3a362391
Fixed issue in polyline tools where orbit and pan where not updating the ray cast.
2024-09-13 17:35:08 -03:00
Bruno Perdigão
a2cf95038a
Custom snap symbols #5325 .
2024-09-13 17:34:08 -03:00
Bruno Perdigão
96f3ee2f3a
Added text background to polyline measurements.
2024-09-13 15:38:05 -03:00
Bruno Perdigão
1659498c88
Fix 'C' to trigger wall preview
2024-09-13 14:08:18 -03:00
Bruno Perdigão
a992844e93
Fix enter to trigger wall preview
2024-09-13 13:50:27 -03:00
Bruno Perdigão
59b665758d
Colors update in polyline decorators.
2024-09-13 12:38:35 -03:00
Bruno Perdigão
4dc8a27e82
Fix on polyline wall preview when dealing with closed loops.
2024-09-13 12:38:35 -03:00
Bruno Perdigão
e83bdcc820
Polyline tool - Wall preview is now working for angled walls.
2024-09-13 12:38:35 -03:00
Bruno Perdigão
7ea3d63aa0
Small fix to clear wall preview when deleting all polyline points.
2024-09-13 12:38:35 -03:00
Bruno Perdigão
bd51363532
Small fix related to trying to use polyline wall without wall type.
2024-09-13 12:38:35 -03:00
Bruno Perdigão
d4ccc0dff9
More fixes related to d5b20397a
2024-09-13 12:38:35 -03:00
Bruno Perdigão
66fe2331ef
fix rebase conflict
2024-09-13 12:38:31 -03:00
Bruno Perdigão
b7c4f1a1f0
Minor fix in polyline decorator variables initialization.
2024-09-13 12:37:45 -03:00
Bruno Perdigão
c2cf8cd7dd
Fix bug in polyline tool when "=" were pressed before "TAB".
2024-09-13 12:37:45 -03:00
Bruno Perdigão
efcaf14fbb
fix rebase conflict
2024-09-13 12:37:39 -03:00
Bruno Perdigão
bc884c9dc4
fix rebase conflict
2024-09-13 12:35:50 -03:00
Andrej730
c340f496f2
swizzle material and style purging operators
...
purging material should come first as it may unlock purging more styles
2024-09-13 18:50:54 +05:00
Andrej730
b8aefe7df0
geometry.unassign_representation - fix missing ifc2x3 tests
2024-09-13 18:50:54 +05:00
Andrej730
8061e22480
geometry.unassign_representation to remove shape aspects
...
previously it was leaving unused shape aspects unconnected to any other elements, now it will purge them
2024-09-13 18:50:54 +05:00
Andrej730
aa289fd796
purge unused materials to consider IfcMaterialLists #3914
...
and IFC2X3 material sets and layers
2024-09-13 18:50:54 +05:00
Andrej730
b911b68aec
typing
2024-09-13 18:50:54 +05:00
Andrej730
80af847f99
purge unused material to try to purge materials recursively #3914
...
As on first iteration it may remove only unused material sets and on the next iteration it will be able to remove IfcMaterials that were not used anywhere else besides those material sets.
2024-09-13 15:15:51 +05:00
Andrej730
4d149e8a78
Purge unused materials to consider materials with styles and psets #3914
...
If material has a style or a pset it creates an inverse that shouldn't prevent material from being purged.
2024-09-13 15:15:51 +05:00
Andrej730
c41a4607d1
Fix missing return values in e5a59d0bea
2024-09-13 15:15:50 +05:00
Andrej730
148f8361be
make bump - show an error for incorrect use
2024-09-13 15:15:50 +05:00
Thomas Krijnen
d879bf9f89
Reintroduce --model-offset/-rotation MODEL_OFFSET/_ROTATION setting #5231
2024-09-13 11:38:24 +02:00
Andrej730
81399ffd19
Support loading project without clearing Blender session
...
It wasn't working anymore after 27a2c94 . Importing IFC file as just geometry should be a separate option from 'should_start_fresh_session' and I've added it as 'import_without_ifc_data' property during project load (now both options are also available for users in project load dialog - https://i.imgur.com/Fvbv4Dy.png )
2024-09-13 11:47:49 +05:00
Thomas Krijnen
21cfd03301
Merge pull request #5362 from IfcOpenShell/fix-ifccircle-ifcellipse-processing
...
Fix error processing IfcCircle/IfcEllipse #5352
2024-09-12 20:19:17 +02:00
Thomas Krijnen
1697e49e65
Merge branch 'v0.8.0' into fix-ifccircle-ifcellipse-processing
2024-09-12 20:18:57 +02:00
Andrej730
51211dc527
ifcopenshell makefile - use VERSION
2024-09-12 19:19:11 +05:00
Andrej730
806975c4b9
bump ifcopenshell build for bonsai
2024-09-12 19:07:20 +05:00
Andrej730
e3c23072a5
Hide edit mode for locked elements #5371
2024-09-12 18:40:22 +05:00
Andrej730
d34d3312ba
Add messages for operations with locked elements
...
Otherwise they just silently failing leaving user confused
2024-09-12 18:40:21 +05:00
Andrej730
845402ea9c
Replace grids/space elements visibility two toggles with one
...
See - https://i.imgur.com/5GssIDp.png (same for grids)
2024-09-12 18:40:21 +05:00
Andrej730
e5a59d0bea
remove unnecessary ifc operators
2024-09-12 18:40:21 +05:00
Andrej730
3bb4243850
Purge unused styles and materials #3914
...
Example - https://imgur.com/a/JXEofa1
2024-09-12 18:40:21 +05:00
Andrej730
094bbe6913
bim.override_origin_set to reuse descriptions from blender operator
2024-09-12 18:40:20 +05:00
Andrej730
0f6cc7326c
bim.add_proposed_prop - document possible property types
2024-09-12 18:40:20 +05:00
Andrej730
cc90c92dec
bim.add_proposed_prop to show error message if property already exists
2024-09-12 18:40:20 +05:00
Andrej730
e81fe60218
CMakeLists - fix issue on msvc >= 14.40 #5158
2024-09-12 18:40:20 +05:00
Andrej730
aa97ff7f16
typing
2024-09-12 18:40:20 +05:00
Andrej730
2168b3b7bd
black format
2024-09-12 18:40:20 +05:00
Andrej730
cb21f9bc07
taxonomy::cast - order upgrades in the same order as in taxonomy::dcast for consistency
2024-09-12 16:30:06 +05:00
Andrej730
f930897240
taxonomy::dcast - add missing curve_to_loop_upgrade
2024-09-12 16:30:05 +05:00
Andrej730
93c47498ef
AbstractKernel::dispatch_conversion - use static cast
...
Previously it was using taxonomy::cast that was also trying to upgrade current item - due to the strictness of dispatch_conversion (it works only if type matches exactly because of `N == item_kind`) upgrades will never succeed so we may just skip them.
2024-09-12 16:30:05 +05:00
Thomas Krijnen
2545769f67
Add support for IfcSectionedSurface
2024-09-12 11:20:48 +02:00
Ryan Schultz
35a4d87a65
give schedules a css style called 'schedule' to help with styling
2024-09-11 23:06:43 -05:00
Thomas Krijnen
c7183a58ea
aggregate of int/real compatibility in parsing #5302
2024-09-11 20:15:14 +02:00
Thomas Krijnen
5a44a8e325
Defensiveness against invalid data
2024-09-11 20:13:50 +02:00
myoualid
f5e02d1413
Merge branch 'v0.8.0' of https://github.com/IfcOpenShell/IfcOpenShell into v0.8.0
2024-09-11 19:00:27 +01:00
myoualid
1964def3ca
web ui cost module features:
...
- improve UI for editing cost quantites
- add, edit, delete manual quantities
2024-09-11 19:00:15 +01:00
Thomas Krijnen
cc2017518b
Update build-all.py : _ifcopenshell_wrapper now called ifcopenshell_wrapper?
2024-09-11 19:58:52 +02:00
myoualid
97393eb173
prevent spatial elements selection from being assigned to cost control
2024-09-11 18:48:59 +01:00
Andrej730
4c04bc7cb5
fix test_create_IfcBSplineCurve
2024-09-11 19:42:47 +05:00
Andrej730
005c17084b
dispatch_with_upgrade to use only upgrade types for optimization
2024-09-11 19:42:47 +05:00
Andrej730
858e57351e
AbstractKernel::convert - more generic approach
2024-09-11 19:42:47 +05:00
Andrej730
9be392e2f1
test TesselateElements #5199
2024-09-11 16:02:48 +05:00
Andrej730
f4c3ceb693
black format
2024-09-11 16:02:48 +05:00
Andrej730
32c6ea9363
shapebuilder.profile - fix bug in ifc2x3 assigning non existing Position attr
...
confused arbitrary profiles with parametric profiles in 640320f
2024-09-11 16:02:48 +05:00
Andrej730
ad8131114d
IfcLine, IfcBSplineCurve geometry tests
2024-09-11 15:53:04 +05:00
Andrej730
fe0be0cdae
shape_builder.create_axis2_placement_2d
2024-09-11 15:53:04 +05:00
Andrej730
35221ed772
AbstractKernel::convert to use upgrade to edge as a fallback
2024-09-11 15:53:04 +05:00
Andrej730
37315e941a
taxonomy.h - move upgrades code to cpp
2024-09-11 15:53:04 +05:00
Andrej730
11f017e715
revert manual upgrade to edges for ellipses and circles
2024-09-11 15:53:04 +05:00
Thomas Krijnen
c63f1cfa88
Iterator: Don't crash on calling get() before initialize()
2024-09-11 11:18:09 +02:00
Dion Moult
5fe85e71bb
Work in progress example to import multiple representation items as an object-based breakdown
2024-09-11 18:04:03 +10:00
Dion Moult
f8f3519a68
Minor bugfix to allow unaggregation of hidden elements
2024-09-11 13:45:11 +10:00
Dion Moult
bad6931a84
Fix bug in tessellate elements
2024-09-11 12:26:39 +10:00
myoualid
158f11d58c
Cost web ui improvements:
...
- hovering cost item row displays quick actions
- clicking the quantity cells and cost cells prompts form to edit values
- further style improvements & refactoring
2024-09-10 22:48:22 +01:00
Bruno Perdigão
794154f6f5
Instructions in polyline tools were moved to the status bar.
...
Previously the instructions were shown on screen with decorators. Now it is handled by the modal function of the polyline tools.
2024-09-10 15:41:02 -03:00
Bruno Perdigão
c06929e1c7
Major refactor in polyline tool to use a base class for other operators.
...
Polyline Wall and Measure tool now share most of the logic by inheriting from a base class PolylineOperator.
This should facilitate the implementation of other tools that use polyline.
2024-09-10 15:37:57 -03:00
Bruno Perdigão
1a587dea7d
Minor refactor of tool/polyline
2024-09-10 15:37:57 -03:00
Bruno Perdigão
55df9a42e6
WIP - More refactor
2024-09-10 15:37:57 -03:00
Bruno Perdigão
be8b325a83
WIP - Polyline tool refactor
2024-09-10 15:37:57 -03:00
Bruno Perdigão
2e192034f8
Small tweak in 8032e4851
2024-09-10 15:37:57 -03:00
Bruno Perdigão
ce8e104b0b
Change snap axis to 15 angles increments.
2024-09-10 15:37:57 -03:00
Bruno Perdigão
e48050af4b
Fix #5336
2024-09-10 15:37:57 -03:00
Bruno Perdigão
d63961d840
Small fix on previous commit
2024-09-10 15:37:57 -03:00
Bruno Perdigão
edf0804b0e
Small fix on how the input UI rounds numbers
2024-09-10 15:37:57 -03:00
Bruno Perdigão
aaa3d5c443
Small fix on previos commit
2024-09-10 15:37:57 -03:00
Bruno Perdigão
2008081d9a
Implementation of #5317 .
...
The number in the input UI will be replaced if the user presses a number.
This behavior will be different if the user press "=" or backspace.
2024-09-10 15:37:57 -03:00
Bruno Perdigão
e546971ada
Changed input validation to tool/polyline.py
2024-09-10 15:37:57 -03:00
Bruno Perdigão
8dc77735a5
fix rebase conflict
2024-09-10 15:37:57 -03:00
Richard Brice
cc7171060f
Decouples evaluation of a piecewise_function from the function itself ( #5344 )
2024-09-10 10:11:17 -07:00
myoualid
67a7e713b2
fix util.get_elements_by_pset to account for quantity sets
2024-09-10 17:17:42 +01:00
myoualid
3abe5edd21
Fix generating 3D view drawing when IFC elements don't exist in the Blender scene ( such as IfcDistributionPort)
2024-09-10 17:16:09 +01:00
Andrej730
34aed93b7b
Fix 2 segfaults creating IfcEllipseProfileDef
...
1) taxonomy::ellipse was missing matrix so create_shape was segfaulting either was if Position was set or was not (segfaulting on line - https://github.com/IfcOpenShell/IfcOpenShell/blob/5616367a03ea397885e93523e55788da82238742/src/ifcgeom/kernels/opencascade/loop.cpp#L92 )
2) was segfaulting when there was no default matrix
Removed fc->matrix assignment as matrix is already assigned to the curve.
2024-09-10 18:28:18 +05:00
Andrej730
6fd4d8b1ba
Fix sequence.get_related_products bug after 845d772
2024-09-10 18:28:18 +05:00
Andrej730
2d0b262351
get_nested_tasks to discard non-ifctask elements #4911
2024-09-10 18:28:18 +05:00
Andrej730
a4f669e549
ifc5d.qto - some clarifications for arguments
2024-09-10 18:28:18 +05:00
Andrej730
dc92a8fd27
Bonsai - setup default values for new patametric profiles
...
So there will be less invalid IFC and user will get a preview right away after creating a new profile.
Example - https://imgur.com/a/GjkCql4
2024-09-10 18:28:18 +05:00
Andrej730
3bb0901e3e
Profiles UI - better handling for invalid profiles
...
Previously it would be just console errors possibly breaking UI, now there will be UI error message - https://imgur.com/1o9teJ0
2024-09-10 18:28:17 +05:00
Andrej730
2d68d344bd
Profiles UI - update displayed psets when user is changing active profile
...
previously it would get stuck until some other operator would refresh ui
2024-09-10 18:28:17 +05:00
Andrej730
ddf92ab8fb
typing
2024-09-10 18:28:02 +05:00
Andrej730
9a6fc58949
Fix typo
2024-09-10 18:28:02 +05:00
Andrej730
765b5c2f5c
black format
2024-09-10 18:28:01 +05:00
Andrej730
5616367a03
don't deep copy psets for optimization
...
Related to #5291
pset.edit_pset should cover it since it does support unsharing shared properties
2024-09-10 14:21:14 +05:00
Andrej730
6cf9875472
Fix error processing IfcCircle/IfcEllipse #5352
2024-09-10 12:54:44 +05:00
Dion Moult
5f8fdf233f
Fix #5358 . Easy way to toggle visibility of spatial elements and grids.
2024-09-10 14:29:55 +10:00
Manu Varkey
be090a3a81
Fixes #5353 ( #5354 )
...
* Fixes #5353
* Change logic to use natsorted
2024-09-10 14:14:27 +10:00
Takayuki Kato
1da47d9271
Add support for editing IfcPhysicalComplexQuantity in edit_qto ( #5335 ) ( #5356 )
...
* Add support for editing IfcPhysicalComplexQuantity in edit_qto (#5335 )
* Fix lint-formatting issues
2024-09-10 14:13:57 +10:00
Ryan Schultz
4917cd19a2
addresses https://github.com/IfcOpenShell/IfcOpenShell/commit/3ceeaa739fb20125b7195dbd69e5e8606a3d5ed8#r146061329
2024-09-09 20:01:32 -05:00
Andrej730
e7ad71b51d
black format
2024-09-09 18:01:23 +05:00
Andrej730
e87faa167c
typing
...
also small optimization in MaterialCreator.create to address ifc a couple times less
2024-09-09 17:28:24 +05:00
Andrej730
13ed4d3a6c
ifcopenshell to support styles assigned to IfcFaces #4038
2024-09-09 17:28:23 +05:00
Andrej730
27b9709b78
style.assign_representation_styles to support topology reprensentations #4038
2024-09-09 17:28:23 +05:00
Andrej730
2d988ac445
Representation UI - show IfcTopologyRepresentation #4038
...
Now it will show representation items count and will load representation items for IfcTopologyRepresentations.
2024-09-09 17:28:23 +05:00
Andrej730
6da7e18f50
Fix error adding typed text annotations #5300
...
Apparently it's part of #4832 , previously creating a shape for IfcTypeProduct with literals would error, we ignored the error and type product end up being an empty. After 0.8.0 create_shape for literals creates an empty shape (0 verts) and we need to skip it, otherwise there would be an empty mesh representaiton.
2024-09-09 17:28:23 +05:00
Andrej730
a3c5c334f1
Show info message using annotation tool hotkeys without drawing loaded
2024-09-09 17:28:23 +05:00
Manu Varkey
09b8c4482f
Update tooltips for UI elements ( #5348 )
...
* Update documentation
* Add further documentation
* Update tooltip after discussion
1. Change void to opening
2. Add blank bl_label fields
* Make missed out correction
2024-09-09 19:38:10 +10:00
Thomas Krijnen
680c73f15b
Less noisy faceset helper messages
2024-09-09 09:58:02 +02:00
Thomas Krijnen
89e3650d77
No need to check for manifoldness when processing boolean ops in 2d
2024-09-09 09:57:43 +02:00
Thomas Krijnen
bcc3b43dc1
--element-hierarchy matrix transpose #5191
2024-09-09 09:57:09 +02:00
Dion Moult
5cfcba5272
Fix #3333 . Fix #5290 . Fix bugs where Shift-Click or Alt-Click drawing activation modes didn't quite do what was advertised.
2024-09-09 17:43:40 +10:00
Andrej730
2416d91748
black format
2024-09-09 10:37:44 +05:00
Andrej730
7d90c319f0
Merge branch 'test-cmake-policy-fix' into v0.8.0
2024-09-09 10:34:15 +05:00
Dion Moult
b71034765c
Black
2024-09-09 12:43:22 +10:00
Dion Moult
f82b97e97b
Fix #5329 . Fix #5267 . Add support for composite profile definitions and nested closed profiles.
2024-09-09 12:43:13 +10:00
Dion Moult
ba5b27d03c
Support getting 2D coordinates in util.shape.get_vertices
2024-09-09 12:41:40 +10:00
myoualid
98ab5399f2
web ui cost module:
...
- double click cost cell to enable editing cost values.
- fix tables' height / scrollbar behaviour
2024-09-09 01:08:29 +01:00
myoualid
2d7614622f
fix table styles for cost schedule module
2024-09-08 20:37:46 +01:00
Bruno Perdigão
1c7b36f233
Polyline tool - changed decorator order to show Input UI in front.
2024-09-08 12:04:38 -03:00
Bruno Perdigão
d42890f214
Fix bug when trying to calculate the angle from vectors too close to each other.
2024-09-08 12:01:04 -03:00
myoualid
c607cbc9d7
cost module web ui improvements:
...
-add ribbon bar,
- improve settings menu with ability to change font size for tables.
- Improve cost schedule spreadsheet layout
2024-09-08 15:29:46 +01:00
myoualid
83be26e196
fix loading cost schedule webui from blender operator
2024-09-08 15:25:56 +01:00
Dion Moult
2f026218ff
Purge deprecated dumb wall / slab qto listener in favour of Ifc5D
2024-09-08 17:31:33 +10:00
Dion Moult
7615173924
Minor fix to sync IFC mode and Blender mode when editing profiles
2024-09-08 17:31:33 +10:00
myoualid
171c3083da
Cost module web-ui can now:
...
- assign cost item products from Blender selection
- display list of selected products ( with available quantities, subtotals, and highlighting already assigned products)
- display and refresh assigned products
- highlight loaded cost schedule
2024-09-08 01:16:48 +01:00
Ryan Schultz
fe317f9231
fix #3959 - drawing boundary changes are reflected on bim.create_sheets as well.
...
and only updates drawings that have been changed
2024-09-07 15:35:05 -05:00
Ryan Schultz
5363c33888
fix #5290 : to fix error after shift and click bim.activate_drawing
2024-09-07 13:01:09 -05:00
Dion Moult
795d2c371e
Fix #5340 . Fix cosmetic console bug when adding a spatial subelement and selecting it.
2024-09-07 22:12:54 +10:00
Manu Varkey
1dfa3f8d79
Implement sorting of spacial containers by elevation and name
2024-09-07 21:46:35 +10:00
Dion Moult
2626165629
Fix #5334 . Bug where the wrong type would be added if you added a new type then switched tool.
2024-09-07 21:13:56 +10:00
Dion Moult
0a17588db8
Fix #5346 .
2024-09-07 17:05:19 +10:00
Andrej730
33001e6c6d
profile.copy_profile
...
Fixes issue duplicated profile missing it's psets.
2024-09-07 11:22:43 +05:00
Andrej730
e224bfd19f
Fix error showing material/profile psets in bbim after 691815fd41
2024-09-07 11:22:43 +05:00
Andrej730
c1d5c18724
fix black format
2024-09-07 11:22:43 +05:00
Dion Moult
557a120178
Fix #5341 . Editing elevations in spatial decomposition panel is now a string and has an immediate effect.
2024-09-07 15:37:01 +10:00
Dion Moult
cea4c0c01d
Fix #5345 . Bug when adding a new representation using "full representation". No temp data is used, so deletion not required.
2024-09-07 14:50:09 +10:00
Dion Moult
8b1d3a0c5d
Fix #4769 . Bug where editing grids didn't work with non-SI units.
...
I really don't know how this mistake lasted this long.
2024-09-07 13:48:42 +10:00
Dion Moult
c5fc86d148
Fix #5337 . You can now delete grids, which recursively delete all axes. Edit mode now also respects locking.
2024-09-07 13:18:36 +10:00
Ryan Schultz
8cec717315
fix #5304 : Have demo project have Plan/Annotation/REFLECTED_PLAN_VIEW context
2024-09-06 19:49:38 -05:00
Dion Moult
7905cd8bd3
See #5337 . Grid decorators now turn off when editing an axis.
2024-09-07 10:01:57 +10:00
Dion Moult
0337034d28
Fix #4881 . Fix bug where editing grid axes didn't work.
2024-09-07 10:01:57 +10:00
myoualid
88a40e0052
improve cost table responsiveness and highlight currently loaded cost schedule
2024-09-06 20:51:46 +01:00
Richard Brice
c9d2390d9a
Implements cant geometry
2024-09-06 10:02:08 -07:00
Andrej730
0055a5dd82
ifcwrap cmake - use default CMP0078 policy
2024-09-06 19:58:52 +05:00
Andrej730
4ff0893a8b
ifcwrap cmake - fix CMP0078 warning
2024-09-06 18:28:50 +05:00
Andrej730
791d098800
ifcwrap cmake - fix CMP0078 warning
2024-09-06 18:12:00 +05:00
Andrej730
8e87d0e303
typing
2024-09-06 18:11:25 +05:00
Andrej730
eaaa18468a
Reuse tool.Ifc.Operator
2024-09-06 18:11:25 +05:00
Andrej730
871cd45f53
selector.set_element_value to support 'predefined_type' keyword
...
See more details in https://community.osarch.org/discussion/comment/22134/#Comment_22134
2024-09-06 18:11:24 +05:00
Andrej730
39fd9ce462
attribute.edit_attributes - small optimizations
...
remove settings dictionary and remove some ifc calls
2024-09-06 18:11:24 +05:00
Dion Moult
4c68ec6f82
Fix bug where editing AxisTag didn't change the grid axis name
2024-09-06 23:10:43 +10:00
myoualid
be71eb274b
display cost schedule predefined type in web ui
2024-09-06 12:08:45 +01:00
Andrej730
008e2c01c3
selector.set_element_value - temporarily skip 'predefined_type'
...
to avoid issues importing csvs that used it to extract correct predefined type
Example warning:
WARNING. Assigning 'predefined_type' is not yet supported. Skipping value 'ELECTRICACTUATOR' for element: '#89=IfcActuator('1RjCen6XL6WAdhz7HumLFU',$,'Actuator.002',$,$,#179,$,$,.ELECTRICACTUATOR.)'.
2024-09-06 15:18:15 +05:00
Andrej730
a1e51757b1
attribute.edit_attributes - document behaviour for PredefinedType
2024-09-06 15:18:15 +05:00
Andrej730
d5169e85fa
bim.import_ifccsv to support undo (missing Ifc Operator)
...
Previously it wasn't possible to undo changes in the currently loaded IFC model after bim.import_ifccsv
2024-09-06 15:18:15 +05:00
Andrej730
cfc243949d
Fix error unassigning type from element without representation
...
Traceback
Traceback (most recent call last):
File "\bonsai\bim\module\type\operator.py", line 63, in execute
return IfcStore.execute_ifc_operator(self, context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\bonsai\bim\ifc.py", line 408, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\bonsai\bim\module\type\operator.py", line 78, in _execute
active_context = active_representation.ContextOfItems
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'ContextOfItems'
Error: Python: Traceback (most recent call last):
File "\bonsai\bim\ifc.py", line 408, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "\bonsai\bim\module\type\operator.py", line 78, in _execute
active_context = active_representation.ContextOfItems
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'ContextOfItems'
2024-09-06 15:18:15 +05:00
Andrej730
a3ff0a61a6
ifccsv to web - fix Tabulator dropping columns with non-unique names
2024-09-06 15:18:15 +05:00
`myoualid`
456ad2af8e
remove annoying console logs
2024-09-06 10:14:21 +01:00
Dion Moult
7b8e234683
Remove add grid in add menu, and run black
2024-09-06 18:18:32 +10:00
Dion Moult
95b7a79c64
Locked elements are now blocked from being duplicated too
2024-09-06 18:07:09 +10:00
Dion Moult
4a5e180479
You can now lock and unlock spatial / grid elements, which affects your ability to delete or move them
2024-09-06 17:58:52 +10:00
`myoualid`
d6098a0b6d
- web ui features to add a new cost schedules, and root cost items
...
- improved ui for cost schedules
- sharing more css across files
- refactor get_predefined_types(cost_schedule)
2024-09-06 08:55:10 +01:00
Dion Moult
541a6e18e6
Fix broken ifcconvert table in docs
2024-09-06 16:55:56 +10:00
Dion Moult
11497f9b37
Add decorator for grids outside drawing view
2024-09-06 16:40:56 +10:00
Dion Moult
6b14111b24
More grid panel to spatial subpanel
2024-09-06 16:40:56 +10:00
Andrej730
f27bb6effe
black format
2024-09-06 11:13:09 +05:00
Andrej730
6ebec7e0e5
pset.unshare_pset - fix bug where it would leaving an orphaned pset
...
It was leaving an orphaned pset if 'products' was a list of all elements pset is assigned to. Then it would create a new pset for each element leaving original pset orphaned.
2024-09-06 11:04:05 +05:00
Andrej730
ffb2ea2be3
bim.unshare_pset - move implementation to core
2024-09-06 11:04:04 +05:00
Andrej730
89bb7c76de
bim.unshare_pset - to work for all selected objects #5291
2024-09-06 11:04:04 +05:00
Andrej730
a867e72fd3
rename get_elements_using_pset -> get_elements_by_pset for consistency
...
To be consistent with other get_elements_by_xxx methods.
2024-09-06 11:04:04 +05:00
Andrej730
a03c55d15f
fix poll breaking with no active object
2024-09-06 11:04:04 +05:00
Richard Brice
1a75d95d47
Updates dependencies for boost 1.86.0
2024-09-05 20:34:49 -07:00
Dion Moult
fe5f48c655
Positional elements, project, and spatial elements are now locked. Remove user option to change behaviour.
2024-09-06 12:09:06 +10:00
Dion Moult
a4396ee766
See #5318 . Prevent deletion of project or spatial structures.
2024-09-06 11:44:30 +10:00
Dion Moult
977f3c7dcc
Fix #5243 . Remove usage of types_with_super which is no longer available.
2024-09-06 10:38:19 +10:00
Bruno Perdigão
8ba52a2b1c
Scale the text for polyline tool decorators.
2024-09-05 14:18:12 -03:00
Bruno Perdigão
214c278fc5
Added a function to scale the font size according to preferences.
...
The scale will be calculated in relation to the system dpi and Blender's interface resolution scale.
2024-09-05 14:18:12 -03:00
Ryan Schultz
f521945766
Have bim.select_assigned_product make selected object active, so it's easier to change its Object Information
2024-09-05 10:09:35 -05:00
Thomas Krijnen
12318fbfc2
Handle storage of nullptr as a proper Blank type in variant #5308
2024-09-05 14:38:57 +02:00
Andrej730
56428eb605
Ooops, fix black formatter ignoring bonsai folder #5178
2024-09-05 17:19:15 +05:00
Andrej730
88319bfa57
Fix missing ifc2x3 tests for pset.edit_pset
2024-09-05 17:13:41 +05:00
Andrej730
cce4e426c3
util.get_pset to support ifc2x3 material props
2024-09-05 17:13:41 +05:00
Andrej730
7782ab5479
should_load_from_memory related poll messages
2024-09-05 15:38:32 +05:00
Andrej730
7e5bd0ca83
ifcwrap cmake - rebuild if .i files changed
2024-09-05 15:08:36 +05:00
Andrej730
051d5479fb
Strip redundant newline in repr() for taxonomy items
...
E.g.
print([m.diffuse for m in shape.geometry.materials])
would print
[colour 0.7 0.7 0.7
]
Instead of:
[colour 0.7 0.7 0.7]
2024-09-05 15:08:36 +05:00
Andrej730
deb41d2158
Geometry settings documentation fixes #5312
2024-09-05 15:08:35 +05:00
Andrej730
ea6df7f617
Use latest syntax for setting geometry settings #5299
...
Also fixed:
- old include_curves use
- missing use of 'include_curves' in ifcopenshell.draw
2024-09-05 15:08:35 +05:00
Andrej730
fcf41bf00c
fix typing issue
...
Overloads were breaking because type checker is confused what default value should it use for the argument.
Made it keyword-only to resolve the issue.
2024-09-05 15:04:17 +05:00
tim
7c3fbda01e
Updated icons
...
- new master svg file for storing icons bonsai_icons.svg
script for exporting png files and generating light mode versions
support for light mode
2024-09-05 09:21:15 +10:00
`myoualid`
d0712c7186
1/ WEB UI Cost Schedule features to :
...
- delete cost items
- duplicate cost items
- delete individual cost values
- update cost values on the fly
- Shitf + LMB to recursively hide or show nested rows
2/ Improved UI for cost schedules
3/ Reuse css styles across pages with import statements
4/ Remove console/print statements
2024-09-04 23:39:46 +01:00
Andrej730
e1a5e73106
black format
2024-09-04 18:52:09 +05:00
Andrej730
1282f5c308
geom.Iterate - fix incorrect typing, document some arguments #5299
2024-09-04 18:51:07 +05:00
Andrej730
b0eaf23d2c
Fix missing serializer_settings argument #5299
2024-09-04 18:51:07 +05:00
Andrej730
0ab70827e5
pset.assign_pset, pset.unassign_pset
2024-09-04 18:51:07 +05:00
Andrej730
691815fd41
Tools for handling shared psets #5291
...
In IFC it's possible for a property set to be assigned to multiple elements and which may lead to confusing behaviour when you edit a pset on one element and other element seems to get edited too.
Which makes it worse is that that it is possible that some software is might be doing this unintentionally when exporting IFC (as some sort of optimization as storing 1 is more optimal than n copies of it).
So now there are some tools in Bonsai and in IfcOpenShell to handle the shared psest:
1) Indication that property is shared - https://imgur.com/a/9dd3jST (similar to how Blender indicates ID data-block users). You can click on it to "unshare" the pset - a new copy for the pset will be created and it's going to be linked only to the active object.
2) api pset.unshare_pset method that does the same. And util.element.get_elements_using_pset method that encapsulates schema differences and different approaches for occurrences/types.
3) ifcpatch recipe 'UnsharePsets' that's making all property sets in the IFC file to have just 1 element that's using them. You can limit the affected elements by providing query.
ifcpatch recipe is also available in Bonsai - https://i.imgur.com/aOCx7HI.png
2024-09-04 18:51:06 +05:00
dependabot[bot]
3c3b56d1ae
Bump actions/download-artifact from 2 to 4.1.7 in /.github/workflows
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 2 to 4.1.7.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v2...v4.1.7 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-09-04 10:43:04 +10:00
htlcnn
116192befd
fix last point coincides with first point
2024-09-03 16:36:45 -03:00
Bruno Perdigão
b6a96828ec
Fix #5277
2024-09-03 16:23:32 -03:00
Ryan Schultz
c4c611d778
whoops
2024-09-03 13:21:48 -05:00
Ryan Schultz
290c08d6d5
updated links in docs
2024-09-03 13:18:55 -05:00
Thomas Krijnen
eb7411b310
ifcopenshell.file.assign_header_from() to copy header
2024-09-03 18:49:05 +02:00
Andrej730
bea837299e
root.reassign_class to handle switching occurrence class <-> type class #5260
...
Kind of experimental. The idea is that it will reassign class e.g. from IfcWindow to IfcWindowType (or vice versa) and will keep the IFC representations and property sets.
Example - https://imgur.com/a/X7MHR0s
2024-09-03 18:53:25 +05:00
Andrej730
acbdc0ed4c
typing
2024-09-03 18:53:25 +05:00
Andrej730
bec1d913c5
util.representation.get_representations_iter
2024-09-03 18:38:22 +05:00
Andrej730
b957505bfc
bim.add_xxxx descriptions
2024-09-03 18:38:22 +05:00
Andrej730
3c69fffb19
ifcopenshell.validate fix missing space in indentation 😅
2024-09-03 18:38:22 +05:00
Andrej730
1c7e7c5269
prohibit user from removing a profile that still has inverses #5101
...
To avoid creating invalid material profile sets, representation items. Currently the only inverse that is allowed before removal is profile properties.
Example - https://i.imgur.com/UobI4pL.png
2024-09-03 18:38:21 +05:00
Andrej730
92525db14f
profile.remove_profile - tests
2024-09-03 18:38:21 +05:00
Andrej730
01d965fe25
profile.remove_profile - clean up removing profile psets
2024-09-03 18:38:21 +05:00
Andrej730
d2bc6f9509
pset.add_pset - support ifc2x3 material/profile psets
...
1) For psets there was an issue - it was instantiating abstract IfcProfileProperties
2) For materials it was only able to instantiate IfcExtendedMaterialProperties though there are other pset types too in ifc2x3.
2024-09-03 18:38:21 +05:00
krande
88b861737c
if boost >= 1.86 append newline to json logger
2024-09-03 11:56:15 +02:00
Kristoffer Andersen
0f87bd8206
use a macro to change for boost > 1.86
2024-09-03 11:09:22 +02:00
Kristoffer Andersen
1fe168d331
Update IfcGlobalId.cpp to support boost 1.86
...
It looks like mt19937 is no longer a member of boost in boost 1.86. I propose we use to std::mt19937 (which is already how it is used by svgfill.cpp)
see failure log from conda forge libboost 1.86 test here:
https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=1008654&view=logs&j=4f922444-fdfe-5dcf-b824-02f86439ef14&t=b2a8456a-fb11-5506-ca32-5ccd32538dc0&l=880
2024-09-03 11:09:22 +02:00
Thomas Krijnen
a7925622ed
Handle nix patches for V7_7_2 #5285
2024-09-03 08:52:39 +00:00
Dion Moult
3675429385
Fix #2437 . You can now see the spatial hierarchy decomposed by classification.
2024-09-03 18:42:52 +10:00
Thomas Krijnen
44ab38cb24
Add V7_7_2.patch #5285
2024-09-03 10:01:44 +02:00
Thomas Krijnen
1a146ada48
Add V7_7_2.patch #5285
2024-09-03 09:57:02 +02:00
Dion Moult
2ed2b4fe71
Fix #5230 . Reimplement spatial decomposition hierarchy.
2024-09-03 14:36:01 +10:00
Dion Moult
4ce30b3153
See #5269 . Minor tweak to show warning if object scaling detected.
2024-09-03 12:52:57 +10:00
Dion Moult
4ce2251717
See #5269 . Minor tweak to show warning if manual mode changes detected.
2024-09-03 10:19:35 +10:00
Andrej730
c6e8d2a585
bim.add_material_set to ensure adding valid material sets
2024-09-02 18:41:15 +05:00
Andrej730
90e9c21320
material.add_profile note
2024-09-02 18:40:12 +05:00
Andrej730
236fbc7864
remove unused add_empty_type_button ui function
2024-09-02 17:25:04 +05:00
Andrej730
ae75acb0b9
Fix test after 521b0ab58d
2024-09-02 17:24:59 +05:00
Andrej730
11068fe338
bim.add_drawing_to_sheet - poll message
2024-09-02 17:24:59 +05:00
Andrej730
3c333c6b59
typing
2024-09-02 17:24:58 +05:00
Andrej730
ccbb253d2c
Fix new sheets having non-unique identification
...
It was checking for the wrong scope "DOCUMENTATION".
Scope "DOCUMENTATION" was left from the old times, now we use scope "SHEET".
2024-09-02 17:04:55 +05:00
Andrej730
7c542418e6
fix create sheet test failing if bonsai and tests are on different disks
...
It was failing on Windows with something like "ValueError: path is on mount 'L:', start on mount 'C:'".
I guess it doesn't really occur in bonsai as sheets are typically stored next to the titleblocks (we used to use absolute paths awhile ago and now everything is relative to the ifc project)
2024-09-02 17:04:55 +05:00
Andrej730
d77f57c68e
ifc.resolve_uri - remove redundant second check
...
os.path.isabs(uri) is already checked at the beginning of the function
2024-09-02 17:04:55 +05:00
Andrej730
151244ae79
ifcopenshell.file() to create valid ifc header by default #5246
...
Valid type for author and organization is 'LIST [ 1 : ? ] OF STRING (256)'
2024-09-02 17:04:55 +05:00
Andrej730
e50a90cc9f
ifcopenshell.validate return code 1 in case of some file is invalid
2024-09-02 17:04:54 +05:00
Andrej730
5f5ab10b35
ifcopenshell.validate to validate ifc header #4119
2024-09-02 17:04:54 +05:00
Andrej730
0e791c7dfd
Fix ifcopenshell.validate missing output in some cases after 07a0b4f
...
Apparently adding LogDetectionHandler disabled default handler that prints the output.
2024-09-02 17:04:54 +05:00
Dion Moult
07be50b365
See #5261 . Fix bug when editing parametric stairs (not stair flights) which sets an inapplicable predefined type
2024-09-02 21:23:06 +10:00
Dion Moult
fb422692c8
You can now make the selected element in the spatial decomposition panel active
2024-09-02 20:37:04 +10:00
Dion Moult
1a8be005cf
Fix bug where toggled openings didn't properly appear in the dedicated opening collection
2024-09-02 20:14:43 +10:00
Dion Moult
9dcb5b103c
Fix #5237 . Fix bug where flipping or splitting walls didn't take into account project units and voids were misplaced.
2024-09-02 20:14:30 +10:00
Dion Moult
091824910b
Increase debug log limit to 20
2024-09-02 19:42:26 +10:00
Dion Moult
ea6d5918ba
Fix bug where openings were invalidly contained in a container
2024-09-02 19:42:26 +10:00
Manu Varkey
a452d29bab
Fix bug: Add type instance button duplicated ( #5281 )
2024-09-02 19:37:08 +10:00
Dion Moult
fb803ac35d
Fix #5256 . Use layer collection visibility, not collection visibility to hide types.
2024-09-02 18:48:09 +10:00
Dion Moult
eec4b37827
See #5256 . Fix bug where old "Types" collection was still being created and unused.
2024-09-02 18:47:09 +10:00
Dion Moult
d1565ec1e6
Fix #5273 . Bug where Shift-E allowed you to edit non-roof/railing elements if you also had them selected.
2024-09-02 17:46:44 +10:00
Dion Moult
521b0ab58d
Fix #5271 . Prevent duplicate entries when getting a decomposition.
2024-09-02 17:35:49 +10:00
Thomas Krijnen
04bbfc04ad
Try 7.7.2 for HLR poly/edge behaviour
2024-09-02 09:20:38 +02:00
Thomas Krijnen
f0167b812a
Try 7.7.2 for HLR poly/edge behaviour
2024-09-02 09:19:46 +02:00
Dion Moult
0b8a701423
Fix #5275 . Fix bug where orthographic sections would appear over freestyle linework in perspective views.
2024-09-02 16:51:25 +10:00
Dion Moult
aa7e80fc8c
Fix #5276 . Fix inaccurate tooltip for assign container operator.
2024-09-02 16:40:51 +10:00
Bruno Perdigão
f48c7d6af5
Fix polytool issue with distance input while snapping above the xy plane.
2024-09-01 11:20:14 -03:00
Bruno Perdigão
977014b86a
Fix #5274
2024-09-01 10:48:16 -03:00
Bruno Perdigão
43e13ef8f3
Fix polytool issue when backspacing the whole input.
2024-09-01 10:38:03 -03:00
Thomas Krijnen
daba504981
Update draw.py - test for --drawing-guid existance
2024-09-01 15:33:52 +02:00
Thomas Krijnen
f8a2cce202
Use polygon_from_points() and handle Position for CSG Pyramid #5241
2024-09-01 15:14:22 +02:00
Thomas Krijnen
b786e129bd
Fix faceset helper stats
2024-09-01 15:12:43 +02:00
sukanka
b82073dd57
fix-py-syntax-warning
2024-09-01 14:02:24 +02:00
Thomas Krijnen
d4d9fdff1a
Fix and augment v0.8 taxonomy wrapper
2024-09-01 10:40:23 +02:00
Dion Moult
b3b14e87ec
Next release cycle!
2024-09-01 18:00:31 +10:00
Andrej730
6bc31105bf
Mention common error in troubleshooting docs
2024-09-01 11:10:13 +05:00
Dion Moult
73e3ebd1f0
Update README.md with new doc links
2024-09-01 16:08:45 +10:00
Dion Moult
32f216a594
Minor fix to bonsai-stable build
2024-09-01 14:23:29 +10:00
Dion Moult
296ebf5253
Fix failing tests in Bonsai
2024-09-01 14:08:52 +10:00
Dion Moult
e072870fd3
Fix bcf pypi build
2024-09-01 13:35:57 +10:00
Dion Moult
af4475fe46
Run black
2024-09-01 13:26:58 +10:00
Dion Moult
eb3104367a
Bump version to v0.8.0
2024-09-01 13:23:54 +10:00
Dion Moult
90f9ebd25e
Add dev install instructins to official docs
2024-09-01 13:23:31 +10:00
Yassine Oualid
f2554bc968
- Add button to generate cost schedule
...
- Feature to view, edit and add cost item values. ( Right Click - Edit ).
2024-09-01 01:40:53 +01:00
Dion Moult
53a78f38e5
You can now assign objects to the selected container in the spatial decomposition panel
2024-09-01 08:13:29 +10:00
Dion Moult
b476cb825c
Fix #5265 . Accommodate invalid material sets.
2024-09-01 07:53:49 +10:00
Bruno Perdigão
ec21574be5
Fix measure tool to now show the angle for the first point.
2024-08-31 14:39:58 -03:00
Bruno Perdigão
b552665dd9
Round angle in polytool input numbers calculations.
2024-08-31 14:39:58 -03:00
Bruno Perdigão
48b630696f
Fix 3ceeaa7
2024-08-31 14:39:58 -03:00
Bruno Perdigão
8c94ef6e54
A better fix for dabb85c.
2024-08-31 14:39:58 -03:00
Bruno Perdigão
bdcadfd100
Refactor tool.Cad.angle_3_vectors
...
This functions was built to work with the input calculations for the polytool.
Part of its code was being duplicated in another part of the code. The refactor
keeps most of the calculation in the same place.
2024-08-31 14:39:58 -03:00
Bruno Perdigão
90e83d77a7
more improvement on distance and angle calculations
2024-08-31 14:39:58 -03:00
Bruno Perdigão
2e80363bac
improved general input calculations
2024-08-31 14:39:58 -03:00
Bruno Perdigão
b6f80eabb4
Fix input calculation and conversion for measure tool
2024-08-31 14:39:58 -03:00
Bruno Perdigão
c93e52089b
Fix input calculation and conversion for wall polytool
2024-08-31 14:39:58 -03:00
Andrej730
76ba3947f5
Expose header properties with invalid values #5246
2024-08-31 14:31:41 +02:00
Dion Moult
50cb09aac2
See #3880 . Freestyle support for perspective vector linework.
2024-08-31 20:56:10 +10:00
Andrej730
dac1aaa7f3
Errors adding roof, stair, railing types #5261
...
It wasn't considering that type object can be hidden and can't be active.
Removed obj property since it can be covered with just temp_override.
2024-08-31 13:30:12 +05:00
Dion Moult
eed603bbcd
Bump IOS
2024-08-31 18:09:54 +10:00
Dion Moult
1d62f6f736
Support experimental freestyle linework generation
2024-08-31 18:09:14 +10:00
Andrej730
799cf47316
Fix error removing a cost schedule (after 7a44f9e) #5264
...
It wasn't really leaving orphaned data and interrupting the process of the ifc object deletion but it was leading to confusing errors
2024-08-31 13:00:11 +05:00
Dion Moult
03935a91da
Fix bug where linework merging may create polygons where there should be interior holes instead.
2024-08-30 23:53:02 +10:00
Dion Moult
37baa9235a
Fix bug where a voided element by OCC will be considered non-manifold. Remove doubles with a very small distance fixes it.
2024-08-30 23:51:47 +10:00
Dion Moult
b4b2b60935
New bisect-based drawing cut mode. This replaces OCC's cut (but keeps the projection HLR) with a blender bisect based cut
2024-08-30 20:33:09 +10:00
Dion Moult
a11c7535d8
Turn fill modes (shapely / svgfill) into a dropdown to prevent selecting both and crashing
2024-08-30 20:33:09 +10:00
Andrej730
e8d6dd333c
Fix failing import if 'sun position' extension ( 9633d92)
...
ping @chiragsingh1711
2024-08-30 12:15:00 +05:00
Chirag Singh
9633d92c17
Light/radiance ( #5252 )
...
* Cam fix, Sun Fix, import-export as json
* Ran black formatting
2024-08-30 08:32:45 +10:00
Andrej730
afd5a5b23e
Fix get_info_2 #5248 after d80bcd1
2024-08-29 18:57:47 +05:00
Dion Moult
15481c0a59
Bump docs to use spatial panel. Format menuselection.
2024-08-29 23:30:53 +10:00
Dion Moult
32b37b8823
Implement recursive toggling for elements in spatial panel
2024-08-29 23:30:53 +10:00
Andrej730
f3ab214752
Use first layer/profile from the set to pick up the material #5238
...
As currently we do not support multilayer/profile geometry and therefore we can't correctly represent them when they have multiple styles. As a workaround we'll use the material/style from the first layer and apply it to the entire object.
2024-08-29 17:21:21 +05:00
Dion Moult
4a59b30f1b
Fix #5244 . Prioritise collection of drawing groups over containment groups
2024-08-29 18:42:42 +10:00
Andrej730
87d6960356
Fix #5249 after acf135a
2024-08-29 13:42:08 +05:00
Andrej730
aff893e690
bim.create_drawing - poll message
2024-08-29 13:42:08 +05:00
Dion Moult
486eb259ea
Fix #5245 . Consider situation where object may not be loaded due to partial loading.
2024-08-29 18:09:31 +10:00
Ziad-I
8164b496f8
fix #5219 underlay links are now base64 encoded in the svg before sending it to web UI
...
this is not really the best solution and might need to look for better ones
2024-08-29 10:50:50 +03:00
Dion Moult
fda23f350a
Fix #5247 . Fix typo when opening drawing web UI.
2024-08-29 17:19:28 +10:00
Dion Moult
711c597065
See #5231 . Workaround for missing offset.
2024-08-29 16:22:42 +10:00
Dion Moult
80a396dc12
You can now select geometry library in advanced settings
2024-08-29 16:22:42 +10:00
Dion Moult
2b70f12d44
More bonsai name fixes
2024-08-29 15:17:52 +10:00
Dion Moult
c3bcc2d90c
See #5243 . types_with_super() is no longer available. Also maybe overkill in this scenario.
2024-08-29 10:11:01 +10:00
Dion Moult
88e5a51f01
Merge pull request #5236 from IfcOpenShell/webui_updates
...
Add RMB context menu to web UI spreadsheets and small updates
2024-08-29 09:55:55 +10:00
Dion Moult
8b8af680bc
Merge branch 'v0.8.0' into webui_updates
2024-08-29 09:55:41 +10:00
Dion Moult
8a57a52949
Bump IOS
2024-08-29 09:20:32 +10:00
Jean-Marc Couffin
720eda51c3
Update README.md with new blenderBMI branding - BONSAI
2024-08-29 08:35:24 +10:00
Bruno Perdigão
01a701007e
Fix b74811b3f
2024-08-28 19:02:06 -03:00
Bruno Perdigão
ec5368224f
Fix after fbcb19fdb
2024-08-28 18:58:11 -03:00
Bruno Perdigão
56e9488d3e
A few updates on Snap and Raycast to improve the snap feel.
2024-08-28 16:52:35 -03:00
Bruno Perdigão
23ec2fc48e
Adds intersect_edges_v2 to Cad tools.
...
This function uses another method to calculate the closest points in two edges that are not parallel.
The `intersect_line_line` from mathutils were not getting good results when using orthogonal view.
2024-08-28 16:52:35 -03:00
Bruno Perdigão
fbcb19fdbb
Improved snap "stickiness".
...
Added more control on how the snapping system selects the snapping point, and "M" key now updates the input panel.
Added `intersect_edge_2` to Cad tool
Revert "Improved snap "stickiness"."
This reverts commit 85e67d3996ab8002b4cef7c0b859e9da251d39bf.
A few snap and raycast changes to improve the snap feel
2024-08-28 16:52:35 -03:00
Andrej730
d9f3c9d012
bim.activate_model to hide all annotations #5232
2024-08-28 23:54:17 +05:00
Yassine Oualid
91e236c42c
Display and Load Work Schedules from webUI
2024-08-28 18:57:40 +01:00
Yassine Oualid
03ab88b5bb
First Draft Cost Schedule Web UI:
...
- display cost schedules
- load cost items
- Add cost items
- Edit cost item names
2024-08-28 18:54:18 +01:00
Andrej730
42ef06aae1
typing
2024-08-28 18:47:23 +05:00
Andrej730
691dfb45f0
bim.activate_model to unhide all objects #5232
...
Restore old behaviour (new behaviour was introduced by accident in 786b796 ) where it would unhide all objects instead of keeping only objects in the current drawing.
2024-08-28 18:42:10 +05:00
Andrej730
760816b7f0
Show occurrences in spatial manager decomposed elements
...
Example - https://imgur.com/a/PNFUbv0
2024-08-28 17:57:19 +05:00
Andrej730
fc04c6e41e
Remove unused property
2024-08-28 17:53:13 +05:00
Andrej730
99e67d528f
Remove duplicated then decorator from b9855b2
...
'then the object name is selected' were already defined in then_the_object_name_is_selected
2024-08-28 16:42:55 +05:00
Andrej730
c113061742
Preserve visibility status for non-ifc objects when drawing is activated
...
Mentioned in #3402
2024-08-28 16:37:26 +05:00
Andrej730
174ff00a6d
Fix errors trying to setup decorations running tests
2024-08-28 16:37:26 +05:00
Andrej730
84a2d4266d
Autodocument hotkeys in the BIM tool hotkeys descriptions
...
Addition to #5223
Example - https://i.imgur.com/vGVHNPL.png
2024-08-28 15:41:50 +05:00
Andrej730
64cba98c3d
Fix #5235
2024-08-28 14:37:58 +05:00
Andrej730
1aed2a6b3c
Fix error not excluding annotations from other drawings after 3848a21
...
Mentioned in #5233
Also some refactor:
- checking IfcProduct instead of IfcProject. Not sure when this issue occur in general but if it occurs then it might fail for other non-IfcProducts too, not just IfcProject
- small performance optimization
2024-08-28 12:35:47 +05:00
Andrej730
4e1a956830
Fix #5233
2024-08-28 12:35:47 +05:00
Andrej730
747a39b440
48f0dc6a00 to pass on unix too
2024-08-28 11:29:39 +05:00
Andrej730
1b49515d9f
Replace ordered_set with orderly_set
...
deepdiff deprecated use of ordered_set and switched to orderly_set (ordered_set fork), so we switch too
see https://github.com/seperman/deepdiff/releases/tag/8.0.0
2024-08-28 11:14:52 +05:00
Bruno Perdigão
dabb85c466
Fix polytool input for distance zero
2024-08-27 19:59:55 -03:00
Bruno Perdigão
b74811b3f4
Polytool, changed decorator order to show created polyline first.
2024-08-27 19:53:03 -03:00
Bruno Perdigão
79eaf895f7
Fix polyline to work only with walls.
...
This is temporary until we enable polyline to work with other tools.
2024-08-27 19:05:30 -03:00
Bruno Perdigão
994c85a05a
black format
2024-08-27 18:22:43 -03:00
Bruno Perdigão
0faacccf6d
Raycast now filters objects that are not in the active local view.
2024-08-27 18:20:06 -03:00
Bruno Perdigão
89d27bdf5f
Fixed edge snap.
...
The `intersect_line_line` were returning points that were outside
the object edges, so it was added a function to check if the point
return is on the object edge.
2024-08-27 18:20:06 -03:00
Bruno Perdigão
76853db32c
Fix mixed snap for Polytool
2024-08-27 18:20:06 -03:00
Andrej730
002c50e29d
black format
2024-08-27 18:25:30 +05:00
Andrej730
d2efb2ab78
operator to toggle container elements
...
Example - https://imgur.com/a/Sy83Tnz
2024-08-27 18:25:30 +05:00
Andrej730
8bb78959ef
h5 cache - improve logs
...
Now there are logs when cache was successfully loaded/created/failed to load.
2024-08-27 18:25:30 +05:00
Andrej730
48f0dc6a00
bim.purge_hdf5_cache to skip currently loaded cache
...
Previously it would fail with:
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'bonsai\\bim\\data\\cache\\988c190483ae6bab7cf6b00cee78694d.h5'
2024-08-27 18:25:30 +05:00
Andrej730
27aee31adf
typing
2024-08-27 18:25:29 +05:00
Bruno Perdigão
24aaefb927
Polytool, fixed error with setting the plane method
2024-08-27 10:03:02 -03:00
Bruno Perdigão
7daec25454
Polytool, fixed decorator to show the mouse snapping point on top.
2024-08-27 10:03:02 -03:00
Andrej730
8309b13db0
reveal element filters and drawing underlay panels just if drawing is active
...
Those two panels were requiring drawing's camera to be active object which was a bit confusing since "Active Drawing" section above worked fine without selecting camera explicitly.
https://i.imgur.com/wcmA73Z.png
2024-08-27 17:55:44 +05:00
Andrej730
5e95985d19
Fix error setting integer properties in bim tests
2024-08-27 11:33:58 +05:00
Andrej730
fefe325ece
Fix workflow for tests requiring Sun Position extension
2024-08-27 11:33:21 +05:00
Bruno Perdigão
b717abf639
Polytool: small fix for Z axis line decorator
2024-08-26 17:11:20 -03:00
Bruno Perdigão
32ae12b45a
Polytool: added on screen snap information.
2024-08-26 17:11:19 -03:00
Bruno Perdigão
48b74ebb76
Polytool: creates a decorator to show instructions on the screen.
2024-08-26 17:11:19 -03:00
Bruno Perdigão
197d0b3258
Fixed issue with X, Y and Z input for polytool.
...
This issue was caused by the change to X, Y, Z keys for lock axis.
2024-08-26 17:11:19 -03:00
Bruno Perdigão
2a1bc30f19
Polytool improved axis lock and mixed snapping
...
You can now lock into an axis while snapping to an object.
The result will be to closer point. In the future, there should
be a way for the user to select between different points.
2024-08-26 17:11:19 -03:00
Bruno Perdigão
6dcbd98769
Fixed error for measure tool when working with top or side view.
2024-08-26 17:11:19 -03:00
Bruno Perdigão
1be025ed86
Fixed typo
2024-08-26 17:11:19 -03:00
Bruno Perdigão
6fa87a16ab
Polytool refactor for selecting plane and axis snap.
...
User can now select X, Y, Z to lock to an axis, and
S-X, S-Y and S-Z to lock to a plane.
2024-08-26 17:11:19 -03:00
Cristian Ritter
a450c24739
Merge branch 'v0.8.0' of https://github.com/csritter/IfcOpenShell into v0.8.0
2024-08-26 15:34:55 -03:00
Cristian Ritter
56d19039e3
always apply in diffuse color, if doens't have surface color
...
Signed-off-by: Cristian Ritter <cristian_ritter@hotmail.com >
2024-08-26 15:34:50 -03:00
Ziad-I
8c19b695ea
fix drawings and sheets paths not being normalized
...
which lead to the paths sometimes having both / and \\
2024-08-26 20:07:50 +03:00
Ziad-I
5831c56380
remove left over print :)
2024-08-26 16:29:09 +03:00
csritter
2b8124071a
Merge branch 'v0.8.0' into v0.8.0
2024-08-26 10:26:10 -03:00
Cristian Ritter
9fceec35cc
add diffuse on surface, if has no surface color
...
Signed-off-by: Cristian Ritter <cristian_ritter@hotmail.com >
2024-08-26 10:17:50 -03:00
Andrej730
3dde1b80b9
Fix errors initializing hdf5 cache #4832
2024-08-26 17:33:23 +05:00
Andrej730
08dd8f87ff
Operator to select document related objects
...
https://i.imgur.com/4gXAram.png
2024-08-26 17:15:44 +05:00
Andrej730
1c3cf44122
get_referenced_elements to support IfcExternalInformation
2024-08-26 17:15:44 +05:00
Andrej730
868454c011
delete brick.ttl (added in d1d9db3)
2024-08-26 17:15:44 +05:00
Andrej730
edcfcd8850
Fix error if user hit shift-a in Annotation Tool without any drawing active
2024-08-26 15:47:00 +05:00
Andrej730
33bbf9fc53
remove debug print in collector.assign
2024-08-26 15:47:00 +05:00
Andrej730
286e90e299
Add annotation by default to the active drawing #5216
...
Approach in 358c834 didn't worked out because annotations are assigned to the drawing after assign_class and we can't check in assign_class whether it's going to be part of the drawing.
2024-08-26 15:46:59 +05:00
csritter
ae2933eea5
prevent a copy
...
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2024-08-26 01:08:06 -03:00
Bruno Perdigão
5aa7758795
Small fix in angle input for polytool
2024-08-25 21:36:11 -03:00
Bruno Perdigão
6c47baf0de
Small fix in polytool with angle input when working with millimeters units
2024-08-25 19:13:27 -03:00
Bruno Perdigão
51018177cd
Added option for wall_from_to_points not round the length and angle.
...
This function was hard coded to round length angle, now it has an option.
I assume it was originally built like this because it was supposed to
work only with Grease Pencil.
2024-08-25 19:07:50 -03:00
Bruno Perdigão
be9719f5ca
Fixed issue with creating duplicated points in polytool
2024-08-25 18:53:53 -03:00
Bruno Perdigão
9193ff7252
Fixed error with raycast in orthogonal view
2024-08-25 18:42:00 -03:00
Bruno Perdigão
53c3019b73
Small fix
2024-08-25 18:36:20 -03:00
Bruno Perdigão
6bbf3d3917
Refactor snapping functions and allow to choose snapping point.
...
By pressing "M", the user can now cycle through active snapping points when
there are many options close to each other. Still lacks a text to give
information about the active point.
2024-08-25 18:27:10 -03:00
Ziad-I
47a15011f6
add button to drawings panel to open documentation web ui page
...
might need a different icon since the URL icon is used by the open_drawing button
2024-08-25 21:38:15 +03:00
Ziad-I
f26f6dfe5e
fix broken display for multiple spreadsheets due to absolute position
...
removed absolute positioning as it made spreadsheets on top of each other
and made the spreadsheet's width and height as full screen as possible. also, add a separating margin between two spreadsheets.
2024-08-25 20:30:20 +03:00
Ziad-I
1745a4fd39
fix theme data not being sent when all Bonsai's are disconnected
2024-08-25 17:50:26 +03:00
Dion Moult
fcaac3787b
Continuing work to update docs
2024-08-25 22:15:12 +10:00
Thomas Krijnen
2d3adce59e
Compatibility fix for v0.8 wrapper instances
2024-08-25 10:51:10 +02:00
Thomas Krijnen
7e6607adcf
black
2024-08-25 10:39:57 +02:00
Thomas Krijnen
46c62d7cdb
Add no-parallel-mapping setting to type literal
2024-08-25 10:33:54 +02:00
Thomas Krijnen
c521892ca2
::impl to make msvc17 a bit happier
2024-08-25 09:54:44 +02:00
Dion Moult
d4a0dd1527
Split header and panel tool UI into two functions. Align related tool buttons together.
2024-08-25 15:43:55 +10:00
Dion Moult
527cdd3304
General interface docs
2024-08-25 14:55:21 +10:00
tim
31e836cfb4
png icons added
2024-08-25 14:54:30 +10:00
tim
86f123b6b0
Icons to header & sidebar
2024-08-25 14:54:30 +10:00
Thomas Krijnen
fea8e3a5c9
Perform similar face bound lenciency in cgal kernel
2024-08-24 20:03:44 +02:00
Thomas Krijnen
3137904055
Perform mapping in parallel (or --no-parallel-mapping)
2024-08-24 20:03:44 +02:00
Bruno Perdigão
f89dee7668
Fixed angle input for imperial units in polyline wall and measure tool.
2024-08-24 15:02:22 -03:00
Ziad-I
c042d1afe5
make container padding/margin consistent over all pages
2024-08-24 18:48:58 +03:00
Ziad-I
42fc72bd4f
add favicon to web UI
2024-08-24 18:12:13 +03:00
Bruno Perdigão
f72c128ba6
Improved validation for inputs in polyline wall and measure tool.
2024-08-24 11:48:39 -03:00
Bruno Perdigão
3ceeaa739f
Small fix on format_distance to show zero like 0'.
2024-08-24 11:48:39 -03:00
Thomas Krijnen
7a2e58944e
clang (rightfully) complains about missing include
2024-08-24 15:00:49 +02:00
Dion Moult
b9855b289f
More qto and spatial tests. Tests can now select items in a UIList.
2024-08-24 22:48:37 +10:00
Dion Moult
c7a8fd9309
More Qto tests and you can now spy on UILists and enum items
2024-08-24 21:39:46 +10:00
Thomas Krijnen
daa6b31c5d
msvc17 workaround
2024-08-24 13:24:23 +02:00
Dion Moult
cd411e1f14
Add smoke tests for colour by property feature
2024-08-24 14:20:13 +10:00
Dion Moult
7a168069f7
Add solar analysis panel UI tests
2024-08-24 13:34:40 +10:00
Bruno Perdigão
97d2e08286
Initial implementation of unit handling for wall polyline tool.
...
The input panel now works with meters, millimeters and imperial units.
2024-08-23 17:33:34 -03:00
Thomas Krijnen
f440a3ca17
Revert OCCT version to 7.5.3 due to HLR poly/edge behaviour
2024-08-23 20:54:06 +02:00
Thomas Krijnen
81bdb551ab
SvgSerializer fix: Z == 2
2024-08-23 20:43:27 +02:00
Thomas Krijnen
5fdad744d3
Cgal kernel: Fail boolean op altogether when part conversion to Nef fails
2024-08-23 20:42:32 +02:00
Thomas Krijnen
ab6f408db4
Unify edge orientation logic among kernels
2024-08-23 20:41:42 +02:00
Thomas Krijnen
cdf8b9c038
Cgal kernel: taxonomy::line is intended to run along local Z
2024-08-23 20:41:17 +02:00
Thomas Krijnen
918fb41a7e
Unify face bound counting logic among kernels
2024-08-23 20:39:20 +02:00
Thomas Krijnen
1d8e39e55f
NB! For now let's use Epick for cgal-simple instead of actually Simple_cartesian
2024-08-23 20:38:38 +02:00
Thomas Krijnen
b0b65e550c
dispatch_curve_creation based on template magic instead of dynamic casting
2024-08-23 20:36:47 +02:00
Thomas Krijnen
a1527a7e31
--use-material-names no longer in serializer_settings
2024-08-23 20:35:01 +02:00
Ziad-I
2ca3f86fc9
add RMB context menu to tables to set top calc type
2024-08-23 21:30:21 +03:00
Thomas Krijnen
d80bcd1a94
Unify variant storage ( #5118 )
2024-08-23 20:29:07 +02:00
Ziad-I
60a06138d2
edit index.css for color consistency
2024-08-23 19:34:15 +03:00
Andrej730
e2001e82dd
fix (hopefully) last failing test in github workflow
2024-08-23 17:25:10 +05:00
Andrej730
92f4cb0ffa
fix error reloading camera representation
...
After 4b4ede7 it was leading to non-existing code
2024-08-23 17:25:10 +05:00
Andrej730
9f00e8aef0
Use Point RepresentationType for point clouds in ifc4x3
...
PointCloud representation type marked as deprecated in ifc4x3, see https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcShapeRepresentation.htm
2024-08-23 17:25:10 +05:00
Andrej730
638d200a27
fix error switching to point cloud representation
...
Previously it wasn't handled and would always result in errors. It seems the only way to load point cloud representation to BBIM was by loading IFC file and only if this is the only representation of the element.
2024-08-23 17:25:10 +05:00
Andrej730
59717d6e92
fix tests after a4a2497f33
2024-08-23 17:25:10 +05:00
Andrej730
009795f7dc
More reliable way to get bbim package name #5214
...
See #5214 for details, can't rely on 'bpy.context.preferences.addons' as it may contain a missing addons too (if addon was manually uninstalled and it won't be able to load but it will still appear in 'addons').
2024-08-23 17:25:10 +05:00
Andrej730
a0792a4b93
typing
2024-08-23 17:25:09 +05:00
Ziad-I
8534b6e154
fix first demo message not showing
2024-08-23 19:34:35 +10:00
Ziad-I
7910a68028
add more details in demo page
2024-08-23 19:34:35 +10:00
Ziad-I
d44ee9874b
Bonsai web ui templates
2024-08-23 19:34:35 +10:00
Ziad-I
8cd86581ff
handle operators from demo page
2024-08-23 19:34:35 +10:00
Ziad-I
0a5b6a41b0
add demo html/css/js
2024-08-23 19:34:35 +10:00
Ziad-I
7bac468151
add demo endpoint and event listener
2024-08-23 19:34:35 +10:00
Ziad-I
b375579dcd
add new webui demo panel in demo module
2024-08-23 19:34:35 +10:00
Dion Moult
d3d1ca0169
Fix bug where select similar property didn't work
2024-08-23 15:29:19 +10:00
Dion Moult
2b0572af10
New feature to filter pset / qto quickly in the panel
...
Ever work regularly with models that have 30 or more properties per element?
2024-08-23 15:20:47 +10:00
Dion Moult
ed6365b292
You can now filter spatial containers by name, long name, or class
2024-08-23 14:27:22 +10:00
Dion Moult
e3b1e0773f
Show grouping panel by default
2024-08-23 14:20:37 +10:00
Dion Moult
3d38068b90
Unindent project in spatial tree to save space
2024-08-23 14:20:32 +10:00
Dion Moult
a4a2497f33
You can now filter and search in the spatial decomposition panel
2024-08-23 13:49:45 +10:00
Dion Moult
1ef2fb89af
Show annotations and hide openings in spatial decomposition element filter
2024-08-23 13:48:19 +10:00
Bruno Perdigão
902d777574
Fix removing the dimension decorator in measure tool.
2024-08-22 17:44:48 -03:00
Bruno Perdigão
3bd0caade1
Fixed Polyline Wall after changes in Measure tool input
2024-08-22 16:11:22 -03:00
Bruno Perdigão
301cb4bbdc
Small fix in TAB behavior for measure and polyline tool
2024-08-22 15:55:05 -03:00
Bruno Perdigão
f0338ffdda
Measure tools now shows decorator for the dimension of every line and the angles between them. Area calculation was removed and will be introduced in another operator
2024-08-22 15:54:11 -03:00
Dion Moult
2100528cbe
Rebrand to Bonsai in IOS-Python docs
2024-08-23 00:12:11 +10:00
Dion Moult
ae4f681f73
Remove superseded test
2024-08-22 23:58:15 +10:00
Dion Moult
53d7624fc4
Work in progress starting to restructure docs in preparation for next release
2024-08-22 23:56:59 +10:00
Andrej730
951b2b76a6
small fix for 94f5137684
2024-08-22 18:34:13 +05:00
Andrej730
e9b4b6560e
drawing.create_camera not to assign camera to the scene collection
...
Noticed that added drawing camera was linked to the scene collection and after collector.assign it was linked to the 2 collections instead of just 1 - it's own drawing collection and the scene collection.
2024-08-22 18:34:13 +05:00
Andrej730
cabffdc549
fix tests after 4e48c35425
2024-08-22 18:33:21 +05:00
Andrej730
7ea60742d6
fix typo
2024-08-22 18:28:50 +05:00
Andrej730
358c834427
fix bim tests after 143e094
...
drawings and annotations that are part of some drawing don't need to be added to the spatial hierarchy
2024-08-22 18:28:50 +05:00
Andrej730
5d6655cbc7
fix issue adding drawing representation after ef04402ed8
2024-08-22 18:28:50 +05:00
Andrej730
4d122d77dc
load_from_memory prop - add description
2024-08-22 17:20:48 +05:00
Dion Moult
d4e863ed3b
Replace BlenderBIM branding with Bonsai in docs
2024-08-22 21:02:19 +10:00
Dion Moult
b6ccf505e7
Fix #5177 . Refresh georeferencing viz data after data purged.
2024-08-22 20:18:13 +10:00
Dion Moult
ce9842983b
Fix #5037 . Remove deprecated pie menu.
2024-08-22 19:59:55 +10:00
Dion Moult
eb19b26a6e
Revert xlsx feature, just csv for now
...
Don't want another dep
2024-08-22 17:24:43 +10:00
Dion Moult
06602d0e39
Download CSV/XLSX from web
2024-08-22 17:22:38 +10:00
Dion Moult
00279b63de
Show sum of columns on web spreadsheet, really useful for qto
2024-08-22 17:22:29 +10:00
Dion Moult
6418353119
You can now filter headers in web spreadsheets
2024-08-22 17:22:09 +10:00
Dion Moult
3afbbe51d2
Make spreadsheets fullscreen
...
Spreadsheets from multiple sessions need to be redesigned to perhaps use tabs or split windows or something else
2024-08-22 17:21:48 +10:00
Dion Moult
ddb767674b
Fix bug where there would be missing data in web spreadsheets
...
See https://github.com/olifolkerd/tabulator/issues/3135
2024-08-22 15:37:04 +10:00
Bruno Perdigão
5575ea8296
Polyline and Measure tool now use right-click to confirm input
2024-08-21 23:01:06 -03:00
Bruno Perdigão
e8a7a032aa
Changed the order of the input panel for Polyline and Measure tool. Distance and Angle now come first.
2024-08-21 22:56:12 -03:00
Bruno Perdigão
f23e419685
Fixed bug in Polyline and Measure tool. The input calculation was wrong when you had only one point in the polyline
2024-08-21 22:56:12 -03:00
Bruno Perdigão
b87e8136af
Raycast and Snap refactor. Snap now works with objects with no faces
2024-08-21 22:56:12 -03:00
Bruno Postle
473d0ae888
Remove Association op cleans blenderbim & bonsai
...
The remove *.ifc Association removes any stale Linux BlenderBIM
associations as well as Bonsai associations, this should now give a
clean upgrade path. Closes #5212
2024-08-21 21:11:11 +01:00
Andrej730
94f5137684
fix poll error messages addressing empty enum
2024-08-21 18:36:12 +05:00
Andrej730
4e75945435
add surface styles preview (based on their blender materials)
...
Example - https://i.imgur.com/jH9q7iF.png
2024-08-21 18:36:11 +05:00
Andrej730
e31019eb67
fix issue adding bcf topic viewpoints
...
missed the set statement which is requirement to make it work for all cases
2024-08-21 18:36:11 +05:00
Andrej730
c505630a20
fix error removing bcf topic comment
2024-08-21 18:36:11 +05:00
Andrej730
860fa81f73
bonsai bcf - activate comment's viewpoint
...
Example - https://imgur.com/a/iUMgpVm
2024-08-21 18:36:11 +05:00
Andrej730
847b5d226e
bim.add_bcf_comment - poll message
2024-08-21 18:36:11 +05:00
Andrej730
ad77d09916
fix bug in bonsai bcf v3 api
...
it wasn't setting reference links / document references / labels if Topic container for them wasn't created before
2024-08-21 18:36:11 +05:00
Andrej730
9b12cae8b4
bcf bonsai - create bcf v3 projects and display loaded bcf version
...
Example - https://imgur.com/a/3ZSGtw7
2024-08-21 18:36:11 +05:00
Andrej730
84a8c5dfeb
bim.convert_to_blender to ignore linked files
2024-08-21 18:36:11 +05:00
Andrej730
12a7b8a79e
bim.convert_to_blender to avoid types without mesh properties
2024-08-21 18:36:11 +05:00
Andrej730
ef04402ed8
Fix Image empty interpreted as Mesh #5194
...
Apparently we can't trust `obj.data == None` to identify empties since in Blender there are empties that can use `bpy.types.Image` as their `obj.data`.
2024-08-21 18:36:10 +05:00
Andrej730
45fed747c2
fix failing test in model module
...
it was failing because type object was hidden in viewport and was unselectable
2024-08-21 18:36:10 +05:00
Dion Moult
85229fc865
Fix #5204 . Bug where you could attempt to add IFC objects in edit mode which isn't allowed.
2024-08-21 22:22:46 +10:00
tim
916f854905
Update ifccsv.rst
...
BlenderBIM to Bonsai changes
2024-08-21 22:06:08 +10:00
tim
1915541d20
Update ifcconvert.rst
...
Changed BlenderBIM Add-on to Bonsai
2024-08-21 22:05:48 +10:00
tim
e37b84a95a
Update introduction.rst
...
Replaced BlenderBIM with Bonsai
2024-08-21 22:05:34 +10:00
tim
bcb2a37ce0
Removed Linux defaults to not confuse mac users
2024-08-21 22:05:14 +10:00
tim
018d6847a0
Update blenderbim.rst
...
replaced BlenderBim text with Bonsai
2024-08-21 22:04:44 +10:00
Dion Moult
35918265d0
Fix bug on Linux where INBETWEEN_MOUSEMOVE is fired for measure tool
2024-08-21 21:47:41 +10:00
Dion Moult
4e48c35425
Remove old dumb stair, superseded by new clever stair (now just called stair)
2024-08-21 21:19:27 +10:00
Dion Moult
d985fe9240
Fix #5205 . Regression in creating walls / slabs / profiles / products with potentially no default container.
2024-08-21 21:09:29 +10:00
Dion Moult
7c00021aaa
You can now toggle flat shading when showing colourschemes
2024-08-21 20:55:35 +10:00
Andrej730
d2dc8b519f
fix for ef835e43b8
2024-08-21 15:14:15 +05:00
Andrej730
25fe025354
bonsai file association files #5212
2024-08-21 15:13:59 +05:00
Andrej730
1aae710286
Restore file association files removed by accident #5212
2024-08-21 15:13:59 +05:00
Andrej730
38e8130793
stop ignoring src/bonsai/bonsai/libs
...
After #4373 with new folder structure 'libs' is no longer used to store dependencies and there is no need to ignore it.
2024-08-21 15:13:58 +05:00
Dion Moult
7e94388074
You can select a colourscheme key via search / dropdown now rather than typing a query
2024-08-21 18:50:55 +10:00
Andrej730
ef835e43b8
bim.save_uv_to_style - support saving uv to objects without a style
...
There was a problem with assigning uv workflow if object wasn't originally from IFC - saving uv requires object to have IfcSurfaceStyle but assigning IfcSurfaceStyle would reload representation discarding UV.
So, the current workflow for saving non-ifc objects uv to ifc:
1) Assign class to ifc object
2) Create IfcSurfaceStyle with a texture (currently also requires a rendering style)
3) Use "Save UV To Style"
Example - https://imgur.com/a/GZqo38M
2024-08-21 12:33:25 +05:00
Andrej730
e5d0eb13bf
Show in UI if representation item has UV mapping / colour map
...
Example - https://i.imgur.com/bWV4dRj.png
2024-08-21 12:33:25 +05:00
Andrej730
4fcf23319f
Show in UI an operator for saving UV
...
It was lost when we deprecated style UI in materials tab.
Button location - https://i.imgur.com/V57MKU2.png
Also added some minor tweaks.
2024-08-21 12:33:25 +05:00
Dion Moult
99154afdb1
You can now specify custom min/max for quantitative legends
2024-08-21 16:34:10 +10:00
Dion Moult
e83eb68fe1
Add seaborn colour palletes for tab10, paired, rocket, mako, spectral, and coolwarm
...
This covers three usecases: qualitative, quantitative min->max, and quantitative middle with low/high
2024-08-21 15:27:21 +10:00
Dion Moult
e4a4a33920
Add support for colouring by quantitative colour legend, not just qualitative categories
2024-08-21 14:02:41 +10:00
Dion Moult
e8848c9701
Natsort is now a dependency. We'll be using it to do better sorting everywhere.
2024-08-21 14:01:32 +10:00
Bruno Perdigão
cfd8044cb3
Fixed bug related to pressing shift for plane selection
2024-08-20 17:47:02 -03:00
Bruno Perdigão
2d7866570e
Fixed bug for x, y, z calculation
2024-08-20 17:47:02 -03:00
Bruno Perdigão
eb0ed7fe6b
Fixed bugs related to shift and added Z as input option
2024-08-20 17:47:02 -03:00
Bruno Perdigão
67733c4449
Improved calculation for coordinates from distance and angle
2024-08-20 17:47:02 -03:00
Bruno Perdigão
b3940cdc45
Minor refactor and clean up
2024-08-20 17:47:02 -03:00
Bruno Perdigão
94e75aebb0
Added area calculation to the input panel
2024-08-20 17:47:02 -03:00
Bruno Perdigão
ff203b2a13
Changed decorator name to PolylineDecorator
2024-08-20 17:47:02 -03:00
Bruno Perdigão
10616df494
black format
2024-08-20 17:47:02 -03:00
Bruno Perdigão
1dc6d4935e
Polyline tool: improved plane selection method and decorators
2024-08-20 17:47:02 -03:00
Bruno Perdigão
04088af2b6
small fix
2024-08-20 17:47:02 -03:00
Bruno Perdigão
c477173096
Improved plane selection for Measure tool
2024-08-20 17:47:02 -03:00
Bruno Perdigão
2f4093f958
Fixed decorator for mixed snaping
2024-08-20 17:47:02 -03:00
Bruno Perdigão
95fc51da76
Created function to mix snap point with axis lock in polyline tool
2024-08-20 17:47:02 -03:00
Bruno Perdigão
50e629c02c
Removed code after refactor
2024-08-20 17:47:02 -03:00
Bruno Perdigão
4a178fca58
Fixed error in polyline tool, when two points where add at the same location sequentially
2024-08-20 17:47:02 -03:00
Bruno Perdigão
aff5b238d9
WIP: Added possibility to change plane intersection method
2024-08-20 17:47:02 -03:00
Bruno Perdigão
315b6060b0
WIP: Changed coordinates, distance and angles calculations to allow for 3d vectors
2024-08-20 17:47:02 -03:00
Bruno Perdigão
b137197586
Changed input validantion to Snap tool
2024-08-20 17:47:02 -03:00
Bruno Perdigão
d1d9db3ed8
WIP: started refactoring to develop the measure tool with most of the logic from polyline wall
2024-08-20 17:47:02 -03:00
Cristian Ritter
7d50491a99
checking if diffuse has value, if not, use surface
...
Signed-off-by: Cristian Ritter <cristian_ritter@hotmail.com >
2024-08-20 12:16:19 -03:00
Cristian Ritter
371b4b6079
removing unnecessary use_surface_color on calc_hash
2024-08-20 11:45:29 -03:00
Cristian Ritter
d714eca4ee
replacing diffuse to get_color method
2024-08-20 11:44:20 -03:00
Andrej730
736b50c6fa
bonsai bcf - fix issue when viewpoints were not reloaded
...
when new bcf file was loaded
2024-08-20 18:39:09 +05:00
Andrej730
64b96633c2
bonsai bcf v3 - support working with viewpoints #2790
...
Also fixed a bug when removing viewpoint always removed the last viewpoint
2024-08-20 18:39:09 +05:00
Andrej730
8eae997053
bcf v3, bonsai bcf v3 - support extracting files #2790
...
extracting files in general is also improved - now it's possible to extract a file that was just added to bcf in memory and not yet saved to the disk.
Update model.py
2024-08-20 18:39:09 +05:00
Andrej730
fee56fc120
bonsai bcf - remove "bim.edit_bcf_author"
...
bcfxml doesn't actually have "author" field - this field is not stored in bcf, it's just needed as an UI for author for newly added comments and topics.
2024-08-20 18:39:09 +05:00
Andrej730
d1f87d5467
fix bug in 71ddc6384a
2024-08-20 18:39:09 +05:00
Andrej730
7539404c27
bcf v3 & bonsai bcf v3 - support adding/removing header files #2790
...
Also removed unnecessary read in AddBcfDocumentReference.
2024-08-20 18:39:08 +05:00
Cristian Ritter
cd3df94a4b
add surface and use_surface_color on style class
2024-08-19 18:44:43 -03:00
Cristian Ritter
0efafada1d
fixed missing SurfaceColour on SettingsContainer
2024-08-19 18:41:45 -03:00
Andrej730
71ddc6384a
bonsai bcf v3 - support adding/removing related topics #2790
...
Not entirely sure about TopicHandler.guid typing, just made it consistent with v2 for now.
2024-08-19 18:44:33 +05:00
Andrej730
4b402f8ea5
bonsai bcf - dropdown for related topics
...
Previously you had to type in exactly manually.
Besides the dropdown it should also show now a topic description in the dropdown items tooltips.
Removed "bim.add_bcf_related_topic" poll as it should be now covered by the enum.
Example - https://imgur.com/a/xhgcGWI
2024-08-19 18:44:33 +05:00
Andrej730
c39fa80e09
bonsai bcf v3 - support working with topics #2790
2024-08-19 18:44:33 +05:00
Andrej730
c89ad8c7da
related topic - poll message set
2024-08-19 18:44:33 +05:00
Andrej730
6dfe46d9bd
bonsai bcf - add default project for bcf v3, fix small possible issue with bcf v2
...
In theory in bcf v2 there could be a project with project info but without project.
2024-08-19 18:44:33 +05:00
Andrej730
1de51ecf77
bonsai bcf - fix bim snippet ui issue
...
schema is optional field in bcf v2 and it was unreliable to use it to detect whether bim snippet is present or not
2024-08-19 18:44:33 +05:00
Andrej730
8a55f18c95
bonsai bcf - poll message for adding bim snippet
2024-08-19 18:44:32 +05:00
Andrej730
7a1976cfc1
bonsai bcf - show info message when project is saved/loaded
...
to make ui more responsive
2024-08-19 18:44:32 +05:00
Andrej730
78c6401453
bonsai bcf v3 - support working with bim snippets
2024-08-19 18:44:32 +05:00
Andrej730
e12838d93e
bonsai bcf v3 - support working with comments #2790
2024-08-19 18:44:32 +05:00
Andrej730
7aa5b71a6a
bcf - comments setter api
2024-08-19 18:44:32 +05:00
Andrej730
2ef3af5e1b
bonsai bcf - make document reference uneditable
...
as this data is not really editable and won't be saved
2024-08-19 18:44:32 +05:00
Andrej730
d399f7c6b7
bonsai bcf - add save current project button
...
Now there are two separate buttons - "save project" and "save project as".
Example - https://i.imgur.com/1vuVfgi.png
2024-08-19 18:44:32 +05:00
Andrej730
beb7f75368
bonsai - bcf v3 document references #2790
2024-08-19 18:44:32 +05:00
Andrej730
dc6fdc2a98
typing
2024-08-19 12:26:49 +05:00
Thomas Krijnen
45be17c25a
Remove duplicate UseMaterialNames setting binding #5191
2024-08-19 09:15:49 +02:00
Dion Moult
4f11b19b3d
Update install instructions for Bonsai
2024-08-18 22:22:21 +10:00
Ryan Schultz
f646cf4372
Removes the style from all selected objects
2024-08-17 13:36:10 -05:00
Ziad-I
538859f60a
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-16 20:52:39 +10:00
Ziad-I
75da994faf
fix gantt display when there are no dependencies
2024-08-16 20:52:39 +10:00
Ziad-I
99827df89a
fix setting color-scheme css property
2024-08-16 20:52:39 +10:00
Ziad-I
054a900779
edit names of pages and paths for them
2024-08-16 20:52:39 +10:00
Ziad-I
e800f8b93d
docstrings and formating
2024-08-16 20:52:39 +10:00
Ziad-I
7163697362
add open different web UI pages on starting it up
2024-08-16 20:52:39 +10:00
Ziad-I
29600711ae
make webui default for work schedules and simplfy condition
2024-08-16 20:52:39 +10:00
Ziad-I
1d0ee61ba7
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-16 20:52:39 +10:00
Ziad-I
fb909ace1a
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-16 20:52:39 +10:00
Ziad-I
6ae5dbacf4
make web default format when exporting
2024-08-16 20:52:39 +10:00
Ziad-I
52bffa7f9c
handle edge case not covered by last commit
2024-08-16 20:52:39 +10:00
Ziad-I
e9a502ccec
fix error when exporting an empty csv
2024-08-16 20:52:39 +10:00
Ziad-I
f3d4eed19e
split addGanttElement function into smaller functions
...
for code organization and readability
2024-08-16 20:52:39 +10:00
Ziad-I
d260298ab2
fix printing when there is multiple gantt charts
2024-08-16 20:52:39 +10:00
Ziad-I
c7d0cff300
edit or commented left over console.log
2024-08-16 20:52:39 +10:00
Ziad-I
631deeb094
fix connected list appearing in printing
2024-08-16 20:52:39 +10:00
Ziad-I
953a49f9ae
add different bg color for work schedule table rows
2024-08-16 20:52:39 +10:00
Ziad-I
2e94a7c3f1
move outdated gantt warning into connected list
2024-08-16 20:52:39 +10:00
Ziad-I
68f10e1502
move outdated data warning into connected list for csv page
2024-08-16 20:52:39 +10:00
Ziad-I
625a57c6de
change used text color for warnings
2024-08-16 20:52:39 +10:00
Cristian Ritter
876f059459
remove surface white if doesn't have surface colour
...
Signed-off-by: Cristian Ritter <cristian_ritter@hotmail.com >
2024-08-15 14:18:13 -03:00
Cristian Ritter
b5a61753a5
Adding --surface-color in conversion settings to force the use of surface color instead of diffuse color. Issue #5075
2024-08-15 13:56:31 -03:00
Andrej730
4348b9bff9
bonsai - bcf v3 referenced links support #2790
2024-08-15 18:18:11 +05:00
Andrej730
28ee1a7781
bonsai - dropdown for new bcf topic labels (same as f1db51df1a)
2024-08-15 18:18:11 +05:00
Andrej730
d40119d617
bonsai - more bcf v3 support and lots of todos #2790
2024-08-15 18:18:11 +05:00
Andrej730
774533911c
bonsai - fix issues loading bcf v3 #2790
2024-08-15 18:18:10 +05:00
Andrej730
7597b1b29c
bonsai, ifcopenshell - append IfcSurfaceStyles from other projects
...
And other IfcPresentationStyles, though they are not currently supported by bonsai.
Example - https://imgur.com/a/AHlvowp
2024-08-15 18:18:05 +05:00
Andrej730
bd8a2736d4
typing
2024-08-15 18:18:05 +05: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
Thomas Krijnen
fbb51a6705
Rerun codegen
2024-05-18 15:11:46 +02: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
Thomas Krijnen
b2db755879
nix build --lto flag
2024-05-12 20:32:38 +00:00
Thomas Krijnen
3bb651fbd5
No longer disable optimizations in schema_class, not so relevant anymore
2024-05-12 21:19:32 +02:00
Thomas Krijnen
3df46abbc3
Rerun codegen
2024-05-12 19:36:01 +02:00
Thomas Krijnen
1e60454951
centralize attribute setting templates for size object reduction
2024-05-12 19:36:01 +02:00
Thomas Krijnen
6a62bf8493
Use latebound enum definition for resolving early bound enum names
2024-05-12 19:36:01 +02:00
Thomas Krijnen
fb72fdca9c
String pooling and modern initialization in schema
2024-05-12 19:36:01 +02:00
Thomas Krijnen
69afcce8e5
Rerun codegen
2024-05-12 19:36:00 +02:00
Thomas Krijnen
e9b69b4b26
Reduce number of externs
2024-05-12 19:36:00 +02:00
Dion Moult
aca26c7597
Fix #4659 .
2024-05-12 17:16:50 +10:00
Richard Brice
507e4a8211
Fixes problem with constant cant
2024-05-08 10:28:01 -07: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
Richard Brice
a0b4c24224
Updates taxonomy::piecewise_function so it's immutable and implements internal caching. Adds new evaluate2 method that returns loop and vector of distance along for each loop point.
2024-05-07 10:24:46 -07:00
Richard Brice
e0a9f44c13
Fixes transition code of last segment of vertical alignment
2024-05-06 12:27:32 -07:00
Thomas Krijnen
9de173dd3b
#4605 fix segfault in absence of profile placement
2024-05-06 12:00:00 +02:00
Richard Brice
a130601969
A few more tweaks to the alignment examples
2024-05-05 13:17:55 -07:00
Richard Brice
e4625bd71e
Fixes parabolic curves in IfcAlignment examples and helper functions
2024-05-05 11:40:02 -07:00
Richard Brice
648ca4d477
Resolves IfcSegmentCurve parent curve parameterization for line and clothoid
2024-05-04 18:07:09 -07:00
Richard Brice
6cb511b681
Removed IfcPolyLine as a parent curve for IfcCurveSegment.
2024-05-04 16:14:15 -07:00
Richard Brice
4dec319333
Re-write of IfcCurveSegment to eliminate recursion problem and provides a more standardized approach for all parent curve types
2024-05-04 16:03:36 -07:00
Richard Brice
c93704f097
Fixes problem with IfcCurveSegment.Placement direction for parabolic vertical curves
2024-05-02 16:00:59 -07: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
Thomas Krijnen
7af9944c27
find_openings() on representation as a hint for hybrid kernel
2024-04-29 21:29:34 +02:00
Thomas Krijnen
405fe4097d
Preliminary attempt at hybrid kernel
2024-04-29 21:03:33 +02:00
Thomas Krijnen
6f540e61ac
Remove outdated todo note
2024-04-29 21:03:09 +02:00
Thomas Krijnen
710f19af08
Prevent stackoverflow on long alignments in adjustments
2024-04-29 21:02:31 +02:00
Thomas Krijnen
e6cc500227
Some basic code to lookup lengths for pre ADD2 schemas
2024-04-29 21:00:59 +02:00
Thomas Krijnen
4e35e7455f
Also lookup style association on solids
2024-04-29 20:57:09 +02:00
Thomas Krijnen
6fdf46f151
Add back support for IfcSphere
2024-04-29 20:56:37 +02:00
Thomas Krijnen
ae2600afb9
Set style name
2024-04-29 20:51:17 +02:00
Thomas Krijnen
d382cf7e23
Fix WeldVertices default in IfcConvert
2024-04-29 20:49:11 +02:00
Thomas Krijnen
aef2d05364
Add back IFC4X3 sec schema to default in cmake
2024-04-29 20:48:43 +02:00
Andrej730
82a0c6396c
BBIM support importing IfcRelAdheresToElement #4565
2024-04-26 11:44:52 +05:00
Andrej730
fabebb4ff6
use IFC4X3_ADD2 for ifcopenshell.schema_by_name
...
as it is the main IFC4X3 schema
2024-04-22 17:31:49 +05:00
Andrej730
aeb64acc07
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:31:49 +05:00
Andrej730
f94aecbbff
typing
2024-04-22 17:31:49 +05:00
Andrej730
d33fdbba69
small optimization
2024-04-22 17:31:49 +05:00
Andrej730
0ddbcd98ea
use column-major reshape for matrices #4565
2024-04-22 17:31:16 +05:00
Thomas Krijnen
133b420a54
Preliminary changes to blenderbim for v0.8 #4565
2024-04-21 13:35:18 +02:00
Thomas Krijnen
4f9f3d1856
Work around for obtaining instance id that blenderbim expects for materials
2024-04-21 13:34:25 +02:00
Thomas Krijnen
71c9066dc7
Fallback to C++ impl of IfcAxis2PlacementLinear #4565
2024-04-21 11:27:22 +02:00
Thomas Krijnen
0793ae539e
Merge remote-tracking branch 'origin/v0.7.0' into v08attempt1
2024-04-21 11:26:06 +02:00
Thomas Krijnen
595ef3f009
Allow passing setting enums as naked int
2024-04-21 10:19:17 +02:00
Thomas Krijnen
889ed3bb07
Change 'template template' to param pack to make clang happy
2024-04-20 13:22:13 +02:00
Thomas Krijnen
053c80a577
Uncomment debugging code
2024-04-20 13:21:50 +02:00
Thomas Krijnen
dafc321ea1
template and typename keywords to keep gcc happy
2024-04-19 21:44:54 +02:00
Thomas Krijnen
9272a9ed1f
Missing template keyword
2024-04-19 20:40:59 +02:00
Thomas Krijnen
29998e3f57
Option to convert placements via convert_shape() #4565
2024-04-19 20:23:59 +02:00
Thomas Krijnen
d24d781674
Merge remote-tracking branch 'origin/v0.7.0' into v08attempt1
2024-04-18 21:39:33 +02:00
Thomas Krijnen
c2a47e95ce
Merge commit '5a8209e2ad6873374452' into v08attempt1
2024-04-18 21:39:05 +02:00
Thomas Krijnen
ffe1442974
Fixes after settings rework
2024-04-18 21:36:45 +02:00
Thomas Krijnen
29fd32be75
Fixes after settings rework
2024-04-18 21:15:40 +02:00
Thomas Krijnen
0edfb0e791
Settings rework for plan/model/context and interfacing with python
2024-04-18 21:04:02 +02:00
Thomas Krijnen
b62b328f1d
Address minor unaddressed consequences of merge
2024-04-18 12:11:25 +02:00
Thomas Krijnen
745f7674ff
Update clash code to conform to v0.8
2024-04-18 12:02:22 +02:00
Thomas Krijnen
4828db0f6c
Merge branch 'v0.8.0' of https://github.com/IfcOpenShell/IfcOpenShell into v08attempt1
2024-04-18 11:45:07 +02:00
Thomas Krijnen
1e5f7c93fa
Some changes left-over after conflict resolution
2024-04-18 10:48:25 +02:00
Dion Moult
ad01945561
Fix #4549 . Drawing decorators are now refreshed like the rest of the UI after operations.
2024-04-18 10:48:25 +02:00
Dion Moult
9090b0866b
Fix #4486 . Sync camera properties from IFC on both drawing load as well as drawing activation.
...
Also there are now defaults in case pset values don't exist.
2024-04-18 10:48:25 +02:00
Dion Moult
f11538ee37
Fix #3402 .
2024-04-18 10:48:25 +02:00
Dion Moult
608904325a
Fix #4525 . Fix #4546 . Specify dependencies for ifcopenshell and ifcpatch.
...
No longer optional for a better first experience. They aren't huge deps.
2024-04-18 10:48:25 +02:00
Dion Moult
c2bb57d7de
See #4546 . Fix docs link to filtering elements query syntax.
2024-04-18 10:48:25 +02:00
Dion Moult
1e1451de03
See #4541 . Clarify how to use include args for IfcConvert
2024-04-18 10:48:25 +02:00
Dion Moult
f82a8f34c0
Fix #4550 . Update doc urls.
2024-04-18 10:48:25 +02:00
Andrej730
ef6dfc3fec
Update BBIM version in docs
2024-04-18 10:48:25 +02:00
Andrej730
657ff30883
material.unassign_material - support batching #4474
2024-04-18 10:48:25 +02:00
Andrej730
cd25a50e96
material.assign_material - support batching #4474
2024-04-18 10:48:25 +02:00
Andrej730
5562f35ed1
material.assign_material - update owner history
2024-04-18 10:48:25 +02:00
Andrej730
9e310318d4
ifcpatch - add ifc2x3 tests and test for MergeDuplicateTypes
2024-04-18 10:48:25 +02:00
Andrej730
67a6e4d258
typing
2024-04-18 10:48:25 +02:00
Dion Moult
09578b2fd6
Fix #4526 . Bug when exporting IfcTester results to BCF due to new "failures" attribute.
2024-04-18 10:48:25 +02:00
Dion Moult
a752abf0a5
See #4541 . Add documentation examples on how to use include filters in IfcConvert.
2024-04-18 10:48:25 +02:00
Andrej730
3478db67b9
system.unassign_system - support batching #4474
2024-04-18 10:48:25 +02:00
Andrej730
9ee5cb7180
system.assign_system - support batching #4474
2024-04-18 10:48:25 +02:00
Andrej730
b4658184de
system.add_system - fix failing default agrument in ifc2x3
2024-04-18 10:48:25 +02:00
Andrej730
6e1688905f
new util method ifcopenshell.util.element.get_groups
2024-04-18 10:48:25 +02:00
Andrej730
2460729e43
type.unassign_type - support batching #4474
2024-04-18 10:48:25 +02:00
Andrej730
d6fb508517
assign_type not to remap if it's type was assigned previously
2024-04-18 10:48:25 +02:00
Andrej730
949ff535eb
typing
2024-04-18 10:48:25 +02:00
Andrej730
fed23533a4
remove unused lines from tests
2024-04-18 10:48:25 +02:00
Andrej730
a27461e4ba
fix bug generating profiles on assign_type after df4943205
2024-04-18 10:48:25 +02:00
Vukas Pajic
5c0bbcf525
fix: address test fails
2024-04-18 10:48:24 +02:00
Vukas Pajic
e73ff252bb
fix: cascade_schedule correctly handles timelag with IfcRatioMeasure
2024-04-18 10:48:24 +02:00
Andrej730
74224676cd
type.assign_type - support batching #4474
2024-04-18 10:48:24 +02:00
Andrej730
571892dd60
fix bug in nest.assign_object
2024-04-18 10:48:24 +02:00
Andrej730
fa2009418c
unify tests for ifc4 and ifc2x3
2024-04-18 10:48:24 +02:00
Andrej730
7af1632c1a
fix test files names
2024-04-18 10:48:24 +02:00
Andrej730
48e5d14817
nest.assign_object to support ifc2x3
2024-04-18 10:48:24 +02:00
Andrej730
ee7cf918ea
get_pset() fix bug getting inherited psets with psets_only/qtos_only = True
2024-04-18 10:48:24 +02:00
Andrej730
b77df1892c
further ifcopenshell.util.element optimization
...
and readibility for props addressed by the index
2024-04-18 10:48:24 +02:00
Andrej730
4f2c5e4571
maintain verbosity getting complex property subproperties
2024-04-18 10:48:24 +02:00
Andrej730
bea8b2cddc
typing
2024-04-18 10:48:24 +02:00
Andrej730
773a79abc7
black format
2024-04-18 10:48:24 +02:00
Alper Kantarci
62b9fe2e13
Use "gltf" instead of "gtlf" ( #4538 )
...
- Fix "gtlf" typo
2024-04-18 10:48:24 +02:00
Dion Moult
df4478a90a
Fix #4290 . You can now format custom thousands separators and decimal separators in IfcCSV.
2024-04-18 10:48:24 +02:00
Dion Moult
47d5e17159
Document how MacOS users using Blender from Steam should still use Mac Intel
2024-04-18 10:48:24 +02:00
Dion Moult
97eb34ca0d
Fix #4490 . Fix fundamental bug where get_pset would return none for inherited props with a boolean False value.
2024-04-18 10:48:24 +02:00
Dion Moult
0a4ff00bce
Fix issue where the underlay cache option was not yet implemented and ignored.
2024-04-18 10:48:24 +02:00
Dion Moult
782573f986
Fix issue where reloading the drawing list would cause drawing names to be synced
...
It would run useless sync / API calls to edit psets on potentially hundreds of drawings.
2024-04-18 10:48:24 +02:00
Dion Moult
f0fce05342
See #4481 . Defer setting render visibility to drawing generation to speed up switching between drawings.
...
Doing obj.hide_render = True/False in a loop is slow and there is no bulk set command.
2024-04-18 10:48:24 +02:00
Andrej730
9fe5e75c27
ifcopenshell.util.element optimization
...
Tried to reduce amount of IFC attributes retrieved by reusing already retrieved values.
E.g. previously get_nest() was retrieving same attribute 3 times on each call, now it does it only once and it's 2 times faster (2.4 ms -> 1.2 ms).
2024-04-18 10:48:24 +02:00
Andrej730
ede278db8f
ifcopenshell.util.element.get_nest test
2024-04-18 10:48:24 +02:00
Andrej730
3db33a1071
nest.unassign_object - support batching #4474
2024-04-18 10:48:24 +02:00
Andrej730
d270a4fef8
nest.assign_object - support batching #4474
2024-04-18 10:48:24 +02:00
Andrej730
064fc0e405
typing
2024-04-18 10:48:24 +02:00
Andrej730
846ff3b9fd
black format
2024-04-18 10:48:24 +02:00
Andrej730
8df04091ff
ifcopenshell.api.run optimization
...
cache usecase classes instead of importing their modules and getting them each time, makes empty api call twice as fast
2024-04-18 10:48:24 +02:00
Andrej730
da838a2c7c
deprecate spatial.remove_container in favor of spatial.assign_container
...
added temporary support for old version with warnings:
WARNING. `spatial.remove_container` api method is deprecated and should be replaced with spatial.unassign_container
WARNING. `product` argument is deprecated for API method "spatial.remove_container" and should be replaced with `products`.
2024-04-18 10:48:24 +02:00
Dion Moult
d9d38e00bf
See #4481 . Faster implementation of object hiding and toggline viewport visibility.
2024-04-18 10:48:24 +02:00
Dion Moult
8d9a65caa4
Fix #4497 . Drawing text annotations are now based on actual line breaks.
2024-04-18 10:48:24 +02:00
Dion Moult
4541a15a19
See #4497 . Show invisible newlines and allow newline editing in attributes.
2024-04-18 10:48:23 +02:00
Dion Moult
ba8257c9b0
Fix #4533 . Add convenience link to launch type manager when no types exist.
2024-04-18 10:48:23 +02:00
Benoit DAMAY
446e9093a3
Inline help feature ( #4409 )
...
* Help operator in grouping and filtering Panel
Opens up a webbrowser on click
* Help button on the right of filtering panel header
* replacing os.rename() by shutil.move in ifcpatch
* removing debug print from previous commit
* Removing extra operator
Using bim.open_uri to open help page
* Update docs url
* Clean up whitespace
---------
Co-authored-by: Dion Moult <dion@thinkmoult.com >
2024-04-18 10:48:23 +02:00
ppaawweeuu
d6eb8c131b
Add CCI Classification schema
...
I'd like to add CCI classification to BBIM. It is very similar to CSS, developed by CCI-C and licensed under CC BY 4.0
More details here: https://cci-collaboration.org/the-standard/
This is my first commit, I used CCS(EN).ifc file as reference. Any feedback welcomed.
2024-04-18 10:48:23 +02:00
Gorgious
69d51283c7
New UI List in Sandbox panel to access, flip, remove, add, edit clipping planes
...
and some tweaks :
- Disable possibility to edit clipping plane quad geometry
- Add select and delete operators
- Remove polls from CreateClippingPlane that prevented from using it in the Properties editor. The clipping plane is added near the origin when using the Add button in the panel
2024-04-18 10:48:23 +02:00
Andrej730
163f5f2611
aggregate.unassign_object - support batching #4474
2024-04-18 10:48:23 +02:00
Andrej730
833f67cf45
aggregate.assign_object - support batching #4474
2024-04-18 10:48:23 +02:00
Andrej730
b106d6a4d1
temporary support for deprecated api arguments #4531
2024-04-18 10:48:23 +02:00
Andrej730
bc8b4e1a69
typing
2024-04-18 10:48:23 +02:00
Andrej730
9ef63e9b04
black format
2024-04-18 10:48:23 +02:00
Andrej730
65d419d5c7
fix test after 7dd0d7601
2024-04-18 10:48:23 +02:00
Andrej730
d35f2dd0e9
layer.unassign_layer - support batching #4474
2024-04-18 10:48:23 +02:00
Andrej730
a003bc0018
layer.assign_layer - support batching #4474
2024-04-18 10:48:23 +02:00
Andrej730
7d0111115b
validate - add examples
2024-04-18 10:48:23 +02:00
Andrej730
e21eaac3a2
fix possible infinite recursion in bim.debug_active_drawing #4500
...
also fixed the issue with mixed up results at the end of the operator execution
2024-04-18 10:48:23 +02:00
Dion Moult
3357f89311
Fix #4509 . Don't show scary error message if you haven't specified a filter query.
2024-04-18 10:48:23 +02:00
Dion Moult
562bc14f5b
Fix #3759 . IFC4X3 files should use ADD2 identifier.
2024-04-18 10:48:23 +02:00
Dion Moult
aba8683d5e
Fix #4303 . Declare dependencies for ifctester.
2024-04-18 10:48:23 +02:00
Dion Moult
ef1a92a9ee
Publish IfcClash to PyPI
2024-04-18 10:48:23 +02:00
Dion Moult
bfe2d9f256
Publish IfcCSV to PyPI
2024-04-18 10:48:23 +02:00
Dion Moult
1ab76897a8
Whoops again
2024-04-18 10:48:23 +02:00
Dion Moult
0168c0ee26
See #4529 . Publish IfcPatch to PyPI.
2024-04-18 10:48:23 +02:00
Dion Moult
42db0b18b0
Add bSDD makefile
2024-04-18 10:48:23 +02:00
Dion Moult
1248c8972a
Whoops
2024-04-18 10:48:23 +02:00
Dion Moult
89b1616d2b
Publish bSDD to PyPI
2024-04-18 10:48:23 +02:00
Dion Moult
b158d6a5f8
Materials with no style colours now default to Blender's default colour when linking models
2024-04-18 10:48:23 +02:00
Dion Moult
9a19fb89c9
Fix #4521 .
2024-04-18 10:48:23 +02:00
Dion Moult
52be9684fc
Minor fix in doc utility for entities which have no predefined types
2024-04-18 10:48:23 +02:00
Dion Moult
46adb2b4db
Fix bug where drawing psets were needlessly updated and random objects would get drawing psets added on them
...
The prop update callbacks on has_underlay, has_linework, and has_annotation would edit the active object, which is not necessarily the camera. Yikes! Also, this means that when activating the drawing, it would sync references and every time it synced a reference it would attempt to sync these properties too which was slow and wasteful.
2024-04-18 10:48:23 +02:00
Dion Moult
0e410b4ac2
Fix #4524 . Update README.md
2024-04-18 10:48:23 +02:00
Dion Moult
acba7c2410
Fix #4492 . Refix bug where there was an extra equal sign when loading saved queries.
2024-04-18 10:48:23 +02:00
sebphi
0f33c000fb
Fix import of ifcopenshell.util.unit in Python <3.10 #4520
2024-04-18 10:48:23 +02:00
Andrej730
eebcc48238
group.unassign_group - support batching #4474
2024-04-18 10:48:23 +02:00
Andrej730
df9a306730
spatial.unassign_container - support batching #4474
2024-04-18 10:48:22 +02:00
Andrej730
52995d1cdd
spatial.assign_container - support batching #4474
2024-04-18 10:48:22 +02:00
Andrej730
ee6c7a9fad
black format
2024-04-18 10:48:22 +02:00
Andrej730
443cd5187c
typing
2024-04-18 10:48:22 +02:00
Andrej730
1d916f41e2
Collector.sync skip_unlinking option #4500
...
To speed up the drawing process in large projects and reduce time on syncing stage I've found that if object is already assigned to it's parent collection (both as part of blender collection and in IFC) we can skip assigning stage significantly reducing time on syncing in general (from 20-25 secs -> 9 secs).
The only thing we'll be missing in that case that object won't be unlinked from other unrelated blender collections which shouldn't break anything in the case of drawing generation.
2024-04-18 10:48:22 +02:00
Andrej730
bbdfe11cc0
documentation and small refactor
2024-04-18 10:48:22 +02:00
Andrej730
26e296c4b5
small optimizations
...
1) stop on first parent collection
2) ensure object's own collection's parent has BIMCollectionProperties.obj during the loop
3) collector._get_collections - returns project's own collection for consistency
4) couple tweaks skipping unnecessary iterations in loops
2024-04-18 10:48:22 +02:00
Dion Moult
9ee35b1054
See #4518 . Fix pypi python version requirements.
2024-04-18 10:48:22 +02:00
Dion Moult
35f425c69d
Add missing build dep
2024-04-18 10:48:22 +02:00
Thomas Krijnen
11364061d4
#4278 Update cd.yml bump ubuntu version
2024-04-18 10:48:22 +02:00
Dion Moult
336d056be7
Fix evil hacks in ifcopenshell pip dist packaging and support py312 on PyPI
2024-04-18 10:48:22 +02:00
Dion Moult
861aa3f9c7
Ship py39 to py312 for PyPI
2024-04-18 10:48:22 +02:00
Dion Moult
b8ee171f65
Allow manual workflow dispatch of ci-ifcopenshell-pypi.yml
2024-04-18 10:48:22 +02:00
Dion Moult
a12c732d0f
Fix #4504 . Extract CAD layers when linking in models.
2024-04-18 10:48:22 +02:00
Dion Moult
f72604052b
See #4504 . Extract material data for linked models.
2024-04-18 10:48:22 +02:00
Dion Moult
760e8014e6
See #4508 . Update example code to serialise to obj.
2024-04-18 10:48:22 +02:00
jaymeandretta
fa65de051d
Updates links to BlenderBIM and IfcOpenShell documentation in README
2024-04-18 10:48:22 +02:00
Andrej730
6bc4e003b4
bim.debug_active_drawing debug operator #4500
...
Operator can help narrow down failing elements when drawing is failing with "RuntimeError: An unknown error occurred".
it's located in debug section - https://i.imgur.com/b03jmkZ.png
The output is noisy but the results are highlighted:
https://i.imgur.com/0ZA0u60.png
https://i.imgur.com/oXzqIXU.png
https://i.imgur.com/Y0nMRMz.png
2024-04-18 10:48:22 +02:00
Andrej730
d0e1a04fba
bim.create_drawing to sync only once if printing multiple drawings
...
Turned out syncing process takes too much time on large projects, so we can speed up the printing process by syncing just once. Also exposed option not to sync to operator's properties to allow debugging failing elements.
A bit related to #4500
2024-04-18 10:48:22 +02:00
Andrej730
479c244de7
black format, cleanup, notes
...
bim.generate_global_id - forgot to remove it previously, this operator isn't intended for debug section
2024-04-18 10:48:22 +02:00
Andrej730
1f3d46640f
typing
2024-04-18 10:48:22 +02:00
Dion Moult
95bfb5c6a1
Autodetect CSG representation types in shape builder
2024-04-18 10:48:22 +02:00
Dion Moult
9c11626893
Detect binary data types in util.attribute
2024-04-18 10:48:22 +02:00
Massimo Fabbro
6ea9c9444a
Qto_Calculator more consistent calculation about the PredefinedType
2024-04-18 10:48:22 +02:00
Massimo Fabbro
7519b66d4e
improve the flooring height object quantity calculation
2024-04-18 10:48:22 +02:00
Massimo Fabbro
1132029e1b
improve the ceiling height object quantity calculation
2024-04-18 10:48:22 +02:00
Massimo Fabbro
4ec902abf5
fix add ceiling from walls elevation bug
2024-04-18 10:48:22 +02:00
Andrej730
14efd59ff8
log external styles names when they fail to load
2024-04-18 10:48:22 +02:00
Andrej730
af3e2e0cf3
typing
2024-04-18 10:48:22 +02:00
Andrej730
19dcbf5ffb
use default shading_styles.json in case if project's file is missing
...
to make it consistent with how we use in similar cases default styles, symbols, etc
2024-04-18 10:48:22 +02:00
Andrej730
4d1ea7eba5
move override panel methods to tool.Blender
...
to keep them close, so it will be easier to keep them in sync
2024-04-18 10:48:22 +02:00
Andrej730
100629e104
change .poll for overridden panels instead of creating new classes
...
Needed to avoid errors disabling addons that have overridden panels
2024-04-18 10:48:22 +02:00
Andrej730
c4d437cce4
move scene panels from different addons to "Blender Properties"
...
now we also automatically get list of default blender scene panels instead of hardcoding them
2024-04-18 10:48:21 +02:00
Andrej730
e8b2ccdd3c
override blender ui panels when should_setup_workspace = False
...
Previously with should_setup_workspace = False it wouldn't override Blender UI scene panels and they would get mixed up with BBIM panels. After fix Blender panels are always moved to "Blender Properties" tab
before - https://i.imgur.com/bPvcAEe.png
now - https://i.imgur.com/lRUox29.png
2024-04-18 10:48:21 +02:00
Dion Moult
fea78a8d52
Fix bug when linking in models with no chunks
2024-04-18 10:48:21 +02:00
Andrej730
e5cfe5cf3c
ifcopenshell.validate to check unique guids (IfcRoot.UR1)
2024-04-18 10:48:21 +02:00
Andrej730
72011c2fbd
typing
2024-04-18 10:48:21 +02:00
Andrej730
5c90b215ca
validate.py - black format
2024-04-18 10:48:21 +02:00
Gorgious56
6f520ae457
The button to remove an inherited pset is no longer enabled on instances
...
Previously it would fail silently if clicked
2024-04-18 10:48:21 +02:00
Andrej730
65838f2033
Return of the missing button for regenerating global id
...
Was about to implement to find that we already have "bim.generate_global_id" and it just was lost at some point. Returned it to the attributes UI. It also allows Updating guids for all selected elements on Shift+Click.
This also can be useful to solve MergeProject and other guids conflicts, see example issue in https://community.osarch.org/discussion/2062/bbim-mergeproject-patch-not-separating-elements-in-different-buildings
Example - https://imgur.com/a/mvRtyER
2024-04-18 10:48:21 +02:00
Andrej730
345b94fbee
RegenerateGlobalIds - tests
2024-04-18 10:48:21 +02:00
Andrej730
d6a72bd2b6
Fix test after cf9a94a79
2024-04-18 10:48:21 +02:00
Andrej730
246441e216
prevent reloading reference annotations on loading .ifc #4478
...
1) if reference annotation was changed, it would reload discarding the changes
2) even if reference annotation wasn't changed it would still reload them producing noise in .ifc changes
2024-04-18 10:48:21 +02:00
Andrej730
2f19a1bbea
typing
2024-04-18 10:48:21 +02:00
Andrej730
73d7728c5f
fix typo
2024-04-18 10:48:21 +02:00
Andrej730
bddf423e6c
experimental svg to dxf conversion for drawings
...
Example - https://imgur.com/a/AkvLlbZ
2024-04-18 10:48:21 +02:00
Andrej730
74fa0a106e
fix issue with prohibited facets in 0065c5f, add a test
2024-04-18 10:48:21 +02:00
Andrej730
5c398428c3
ifctester.Specification.set_usage convenience method
...
sets minOccurs and maxOccurs according to the agreement mentioned in the latest ids.xsd
https://github.com/buildingSMART/IDS/blob/6d71cdf3547a0383c6cfbbead81a7cef7521ac3a/Development/ids.xsd#L67-L72
2024-04-18 10:48:21 +02:00
Andrej730
7be396474c
typing
2024-04-18 10:48:21 +02:00
Dion Moult
36527d0e9d
Whoops.
2024-04-18 10:48:21 +02:00
Dion Moult
4403f75959
Fix #4321 . The PurgeData recipe now also works on IFC2X3.
2024-04-18 10:48:21 +02:00
Dion Moult
619f461829
Fix #4060 . The colour by property panel now shows the number of results in the legend.
2024-04-18 10:48:21 +02:00
Dion Moult
3793a5dfea
Fix #4069 . IfcClash Blender interface now uses the new filter UI.
2024-04-18 10:48:21 +02:00
Dion Moult
77465dfd41
Bump IOS.
2024-04-18 10:48:21 +02:00
Dion Moult
7742e4da45
IfcDiff now uses the new selector syntax with the new UI
2024-04-18 10:48:21 +02:00
Dion Moult
e2102cd2c7
Fix #4306 . Remove superseded selector UI.
2024-04-18 10:48:21 +02:00
Ryan Schultz
d7317d27ab
added search for styles - in BIM_PT_representation_items
2024-04-18 10:48:21 +02:00
Dion Moult
2905eb637d
Fix #4328 . Fix incorrect documentation about how to use the imperial_length formatting function.
2024-04-18 10:48:06 +02:00
Dion Moult
33f5db2e26
Use indices instead of WorkTimeDatesInterface
...
Checking start/end dates are done very, very often in date calculations (often looping through every day in a date range). So I'd prefer more opaque code but less overhead.
2024-04-18 10:48:06 +02:00
Thomas Krijnen
c16d49d683
#4450 don't fail on empty bbox in prefiltering
2024-04-18 10:48:06 +02:00
Dion Moult
fcf5073726
See #4484 . Editing predefined type attributes now enforces valid combinations of userdefined and object/element type
2024-04-18 10:48:06 +02:00
Dion Moult
81fdaea5f2
Fix #4323 . Bug where running a filter could fail if you tried to compare values which had incompatible types.
2024-04-18 10:48:06 +02:00
Dion Moult
a56ad31571
More minor doc changes and polish
2024-04-18 10:48:06 +02:00
Dion Moult
589a725747
Fix #4265 . Bug where when loading a saved filter it showed an unnecessary = comparison (which is by default).
2024-04-18 10:48:06 +02:00
Dion Moult
7f70b79f2a
Minor doc fixes
2024-04-18 10:48:06 +02:00
Dion Moult
5fbdc9e7fb
Fix #4461 . Write documentation on how to build and edit documentation.
2024-04-18 10:48:06 +02:00
Dion Moult
65dfa048cf
Fix #4483 .
2024-04-18 10:48:06 +02:00
Dion Moult
a6ae609a6a
Fix #4318 . Theme docs to match website branding and add edit button, footer links, and icons.
2024-04-18 10:48:06 +02:00
Dion Moult
4c3a7b14ff
Fix #4286 . IfcCSV summaries are now formatted the same as the rows.
2024-04-18 10:48:06 +02:00
Dion Moult
2037a5a46b
Fix bug where loading drawings didn't correctly link shared meshes (e.g. from a type of an annotation)
2024-04-18 10:48:06 +02:00
Dion Moult
13b845df92
Fix incorrect handling of prohibited specifications
2024-04-18 10:48:06 +02:00
Andrej730
ad045f5ad7
import referenced drawings activating the current drawing #4478
2024-04-18 10:48:06 +02:00
Andrej730
258d38393f
typing
2024-04-18 10:48:06 +02:00
Dion Moult
7e689f2456
Fix #4305 . Bug where importing spreadsheets into IFC didn't intelligently cast attribute data types
2024-04-18 10:47:36 +02:00
Andrej730
7cd400dc8e
Fix #4477
2024-04-18 10:47:36 +02:00
Dion Moult
948799698e
Fix #4368 . Update to latest Brickschema alpha to cut dep size
2024-04-18 10:47:36 +02:00
Dion Moult
93d44041bf
See #4473 . Cull entourage library.
...
We haven't confirmed the legality of the other assets.
2024-04-18 10:47:36 +02:00
Dion Moult
4f66fdd339
Fix #4411 . Fallback to absolute paths if relative paths fail.
2024-04-18 10:47:36 +02:00
Dion Moult
4abb4d7f63
Run black on IfcTester
2024-04-18 10:47:36 +02:00
Dion Moult
bd92c043e0
Fix #4427 . Failures are now stored in single dictionary.
...
There was a missing clear() call to failed_reasons which could lead to incorrect reporting. It also makes no sense to store them separately.
2024-04-18 10:47:36 +02:00
Dion Moult
ed8eb7543b
Fix #4465 . Update IfcTester to IDS 0.9.7
2024-04-18 10:47:36 +02:00
Andrej730
12a1f8b5f0
Fix invalid profiles after subdividing edges near arcs #4471
2024-04-18 10:47:36 +02:00
Andrej730
e9b8edb5b2
use blender units subtype for cad props
2024-04-18 10:47:36 +02:00
Andrej730
0460c5c640
typing, format
2024-04-18 10:47:36 +02:00
Thomas Krijnen
f6a0d1f073
Fix #4273 ignore degenerate triangles in mesher output
2024-04-18 10:47:23 +02:00
Vukas Pajic
61af868c7a
sync with latest
2024-04-18 10:45:31 +02:00
Vukas Pajic
f7a97622c5
Additional metadata as property set #4425
...
https://github.com/IfcOpenShell/IfcOpenShell/issues/4425
2024-04-18 10:45:31 +02:00
Dion Moult
4584430a5f
Minor doc fixes to refer to Mac intel and silicon
2024-04-18 10:45:31 +02:00
Dion Moult
d5c2085366
Clash results now are sorted and show text overlays of clash type and distance
2024-04-18 10:45:31 +02:00
Dion Moult
36ca54f3a2
Don't consider borderline points to be inside a shape for more robust protrusion results
2024-04-18 10:45:31 +02:00
Dion Moult
4f20ebce80
Change precision check of "is point on line" to be 0.01mm
...
Precision::Confusion() is 1e-7 which is too small apparently when doing this math. There are plenty of results which are things like 5e-7.
2024-04-18 10:45:31 +02:00
Dion Moult
a2ff97e5e7
Fix bug where hidden elements weren't selected sometimes
2024-04-18 10:45:31 +02:00
Dion Moult
0729b5782b
Fix #4269 . Include dateutil for ifcopenshell on pypi
2024-04-18 10:45:31 +02:00
Dion Moult
44adf92392
Bump IfcOpenShell and remove py37 py38 from installation docs
2024-04-18 10:45:31 +02:00
Andrej730
385388a331
ExtractElemenets - add some tests
2024-04-18 10:45:31 +02:00
Andrej730
c2de964dce
ExtractElements - fix bug where IfcElementAssembly elements wasn't added to the spatial tree
...
Example issue - https://community.osarch.org/discussion/2054/bbim-extractelements-patch-and-missing-elements-in-ifcelementassembly
2024-04-18 10:45:31 +02:00
Andrej730
a37c87cf4c
Fix tests involving changes in Blender 4.1 (will fail on Blender <4.1)
...
Basically in Blender 4.1 they've changed a way renaming IDs works if name already existed before and those tests will stop working on Blender <4.1, see https://projects.blender.org/blender/blender/issues/119955
2024-04-18 10:45:31 +02:00
Andrej730
e2b22369f1
tests - reduce precision to our usual Cad tool precision to fix some tests
2024-04-18 10:45:31 +02:00
Andrej730
bdfdac24e1
Fix test in 1c1035e
...
tag @brunoperdigao for information
2024-04-18 10:45:31 +02:00
Andrej730
a7ed8e4328
black format
2024-04-18 10:45:30 +02:00
Dion Moult
321fcf0848
New entourage library including people and cars
2024-04-18 10:45:30 +02:00
Thomas Krijnen
90c7a9435c
Fix #4070 don't increment aggregate length on invalid members
2024-04-18 10:45:22 +02:00
Dion Moult
6875a98646
Optimise property / quantity checks for IDS and other purposes
2024-04-18 10:43:02 +02:00
Dion Moult
2c169fdc24
Forgot to commit clash tool
2024-04-18 10:43:02 +02:00
Dion Moult
94bad4c4cb
Switch over clash to latest add_element signature
2024-04-18 10:43:02 +02:00
Dion Moult
3f456c14b6
Minor note about which OCCT version is currently supported
2024-04-18 10:43:02 +02:00
Dion Moult
24677683ba
Write docs about new geometry tree clash functions
2024-04-18 10:43:02 +02:00
Dion Moult
8f19f6ce07
Reinclude missing max_protrusions_
2024-04-18 10:42:35 +02:00
Thomas Krijnen
ea17cd9b42
Fix is_manifold(), sorry :(
2024-04-18 10:42:35 +02:00
Thomas Krijnen
75732d1d5d
Integrate @Moult's add_element(TriangulationElement*)
2024-04-18 10:42:33 +02:00
Dion Moult
23f91c73af
Clash detection features
2024-04-18 10:40:32 +02:00
Thomas Krijnen
4e4b8e0de1
Resolve merge conflict
2024-04-18 10:14:42 +02:00
Thomas Krijnen
7aa7f26708
Fix #4307
2024-04-18 10:14:15 +02:00
Andrej730
4f92b3587c
fix styles tests
2024-04-17 15:00:40 +02:00
Andrej730
6acdadba75
Fix tests, clean up file creating empty project
...
To fix tests changed bim.unlink_object not to unlink original blender materials as they might be used elsewhere.
2024-04-17 15:00:40 +02:00
Andrej730
6d6c9e19b9
restore accidentally unregistered operator in 9be7d95 (caused issue in tests)
2024-04-17 15:00:40 +02:00
Andrej730
edd8d5470e
small optimization
...
not to calculate each quantity twice
2024-04-17 15:00:40 +02:00
Andrej730
d5384e76eb
fix tests
2024-04-17 15:00:39 +02:00
Andrej730
7cfeaa6047
typing
2024-04-17 15:00:39 +02:00
Andrej730
91765d3156
fix test after 7634e71
2024-04-17 15:00:39 +02:00
Thomas Krijnen
a764387b90
Don't accept non-finite floats #4329
2024-04-17 15:00:07 +02:00
Ian
b40c3fc173
Update build-deps.cmd
2024-04-17 14:58:14 +02:00
Gorgious56
ac72534ae0
You can now select only the aggregate or the aggregate and all its part using the interface
2024-04-17 14:58:13 +02:00
Dion Moult
9f43e9422a
Blender IfcClash interface now supports new IfcClash modes
...
The dumb clash manager has been merged in with the main clash sets window. Loading and saving clashes now also bring in clash results, so the dumb clash manager's load/save is being deprecated. New decorator highlights clash result visually.
2024-04-17 14:58:13 +02:00
Dion Moult
18c38b312d
Upgrade IfcClash to use new clash capabilities (currently unmerged from feature-clash2)
2024-04-17 14:58:13 +02:00
Andrej730
71013a48d4
Fix hiding annotation objects without repr on drawing activation
2024-04-17 14:58:13 +02:00
Andrej730
98e0070be7
typing
2024-04-17 14:58:13 +02:00
Andrej730
9ae39f1edc
fix duplicated function names in test_feature
2024-04-17 14:58:13 +02:00
Andrej730
1a449905f4
fix linked ifc selectability toggle
2024-04-17 14:58:13 +02:00
Andrej730
2fadfc8eff
fix load/unload linked ifc tests
2024-04-17 14:58:13 +02:00
Andrej730
4a513e1e41
fix linked ifc visibility toggle tests
2024-04-17 14:58:13 +02:00
Andrej730
812c2652d3
fix linked ifc wireframe mode toggle
2024-04-17 14:58:13 +02:00
tim
ca50044dba
Remove object text from subheadings ( #4445 )
...
https://github.com/IfcOpenShell/IfcOpenShell/issues/4312
2024-04-17 14:58:13 +02:00
Thomas Krijnen
75b9e6cec9
setOnlyValid() option that skips and logs invalid topology #4130
2024-04-17 14:57:44 +02:00
Bruno Postle
6944c247ca
Drawings panel: fix select_all_drawings operator
...
Previously it always deselected all drawings, now works as advertised
2024-04-17 14:54:42 +02:00
Andrej730
aee264b587
black format
2024-04-17 14:54:42 +02:00
Andrej730
4490efc017
Fix ifc linking tests
2024-04-17 14:54:42 +02:00
Andrej730
37e06338c4
Fix issue removing material set
...
1) core.remove_material_set were removing material set and calling material_tool.get_active_material_type()
2) material_tool.get_active_material_type() called MaterialsData which failed with the traceback below since props.materias[current_index] had ifc id that were just removed
Traceback (most recent call last):
File "\prop.py", line 96, in get_material_types
MaterialsData.load()
File "\data.py", line 43, in load
"active_styles": cls.active_styles(),
^^^^^^^^^^^^^^^^^^^
File "\data.py", line 119, in active_styles
material = tool.Ifc.get().by_id(material)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File \blenderbim\libs\site\packages\ifcopenshell\file.py", line 411, in by_id
return self[id]
~~~~^^^^
File \blenderbim\libs\site\packages\ifcopenshell\file.py", line 396, in __getitem__
return entity_instance(self.wrapped_data.by_id(key), self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File \blenderbim\libs\site\packages\ifcopenshell\ifcopenshell_wrapper.py", line 4619, in by_id
return _ifcopenshell_wrapper.file_by_id(self, id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Instance # 66 not found
File "\prop.py", line 94, in get_material_types
WARN (bpy.rna): C:\Users\blender\git\blender-v410\blender.git\source\blender\python\intern\bpy_rna.cc:1366 pyrna_enum_to_py: current value '2' matches no enum in 'BIMMaterialProperties', '', 'material_type'
2024-04-17 14:54:42 +02:00
Andrej730
2b27f4423f
fix ui error getting active styles for non IfcMaterial materials
...
Error was:
```
Traceback (most recent call last):
File "\blenderbim\bim\module\material\ui.py", line 43, in draw
MaterialsData.load()
File "\blenderbim\bim\module\material\data.py", line 43, in load
"active_styles": cls.active_styles(),
^^^^^^^^^^^^^^^^^^^
File "\blenderbim\bim\module\material\data.py", line 117, in active_styles
return results
File "\blenderbim\libs\site\packages\ifcopenshell\entity_instance.py", line 194, in __getattr__
raise AttributeError(
AttributeError: entity instance of type 'IFC4.IfcMaterialLayerSet' has no attribute 'HasRepresentation'
```
2024-04-17 14:54:42 +02:00
Andrej730
ecc8832c46
typing and small refactor
2024-04-17 14:54:42 +02:00
Andrej730
dbff0e51aa
Blender 4.1 - fix errors due to renamed type manager icon
2024-04-17 14:54:42 +02:00
FabioPiccinini
8464fb5aad
Update sample.css ( #4459 )
...
Changed unescaped ; with , because it may cause problems if the style is included in svg
2024-04-17 14:54:42 +02:00
FabioPiccinini
e3f66981e7
Unescaped ; was causing problems in Inkscape ( #4456 )
...
* Update default.css
An unescaped ; was causing problems when opening svgs that included this style with Inkscape
* Update default.css
2024-04-17 14:54:42 +02:00
Thomas Krijnen
7fa3cd45ca
#4452 release gil in ifcopenshell.open() and read()
2024-04-17 14:54:42 +02:00
Andrej730
2f5190ac75
add macos py3.11-3.12 to docs
2024-04-17 14:54:42 +02:00
Andrej730
a29fbb6239
bump ifc version #4174
2024-04-17 14:54:42 +02:00
Andrej730
eaf6256048
TesselateElements - avoid processing queries that affect no elements
...
Previously it was failing with
File "\ifcopenshell\geom\main.py", line 119, in __init__
self.this = initializer(
File "\ifcopenshell\ifcopenshell_wrapper.py", line 2467, in construct_iterator_with_include_exclude
return _ifcopenshell_wrapper.construct_iterator_with_include_exclude(settings, file, elems, include, num_threads)
TypeError: Attribute of type AGGREGATE OF STRING needs a python sequence of strs
2024-04-17 14:54:42 +02:00
Andrej730
cbc7271885
add_mesh_representation - option to force faceted breps
2024-04-17 14:54:42 +02:00
Andrej730
ac191ac71d
typing
2024-04-17 14:54:42 +02:00
Andrej730
afbf001694
grammar 😬
2024-04-17 14:54:42 +02:00
Andrej730
11bf227730
Clarifying info message saving guids to the text inside .blend #4446
...
Example - https://i.imgur.com/YtuQ9YA.png
2024-04-17 14:54:42 +02:00
Andrej730
860eb054d1
black format
2024-04-17 14:54:42 +02:00
Andrej730
489e92da4e
typing
2024-04-17 14:54:42 +02:00
Andrej730
bae58e517a
bim.select_similar_type optimization
...
1) avoid selecting elements of the same type multiple times
2) iterate over occurrences of the type rather than visible objects, as it's usually smaller amount of objects
2024-04-17 14:54:42 +02:00
Thomas Krijnen
8a8173f238
#4447 build-all.py
2024-04-17 14:54:42 +02:00
Andrej730
ef3d61e6c1
make spatial elements unselectable from viewport by default
...
It seems most of the time they only get in the way trying to select some objects at scene origin.
fyi @theoryshaw
2024-04-17 14:54:42 +02:00
Andrej730
acafc910f7
typing
2024-04-17 14:54:42 +02:00
Andrej730
a511be18a8
unload decorations on unlinking ifc file
2024-04-17 14:54:42 +02:00
Andrej730
a656d32e56
fix issue with removing collections and scenes unlinking .ifc
...
it couldn't find linked collections and scenes since it was comparing `filepath` from `props.links` (.ifc file) and collection.library.filepath (which is .blend file)
2024-04-17 14:54:42 +02:00
Andrej730
a1f5c84ec2
hide "no object selected" label when there are no linked ifc files
2024-04-17 14:54:42 +02:00
Andrej730
ed53f58ae7
Remove appending occurrences from library in favor of fcaac6b
2024-04-17 14:54:42 +02:00
aothms
684c0877f5
#4174 debug osx install of py311 and 312
2024-04-17 14:54:42 +02:00
Andrej730
89114f4f65
Append IfcElements from linked IFC files
...
Example - https://imgur.com/a/phPcKSo
Appending ifc elements from library files will be deprecated as it's much more limited than appending it from linked files (in library you can only see object's name).
2024-04-17 14:54:42 +02:00
Andrej730
088e1d07bf
util.selector.set_element_value to work w/o preassigned placement #4439
2024-04-17 14:54:42 +02:00
Andrej730
7bdd382d06
util.selector.set_element_value ignore values within tolerance #4439
2024-04-17 14:54:42 +02:00
Andrej730
0bd52e2431
collector.sync note
2024-04-17 14:54:42 +02:00
Andrej730
bf770ce8d4
typing
2024-04-17 14:54:41 +02:00
Andrej730
8c028827fa
Fix for loading IFC files with non-IfcElement based IfcRelNests
...
Example is below, it was using IfcAlignment to aggregate IfcAnnotations and IfcReferents.
I've added support loading collections for IfcPositioningElements besides IfcGrid (grids already handled separately).
https://community.osarch.org/discussion/2034/ifc-not-visible-after-loaded-in-blender-bim
2024-04-17 14:54:41 +02:00
Andrej730
588a946fde
typing
2024-04-17 14:54:41 +02:00
Andrej730
67b657f2cb
small fix
2024-04-17 14:54:41 +02:00
Andrej730
5ee0c4c967
ifccsv - support for assigning x/y/z coordinates from csv
2024-04-17 14:54:41 +02:00
Andrej730
9cb76a092f
typing
2024-04-17 14:54:41 +02:00
M!l!nd
596e63e7e7
fixed qsets to display separately ( #4423 )
...
* fixed qsets to display separately
Signed-off-by: milinddethe15 <milinddethe15@gmail.com >
* updated data.py and run black formattor
---------
Signed-off-by: milinddethe15 <milinddethe15@gmail.com >
2024-04-17 14:54:41 +02:00
Ryan Schultz
5bacf70727
small fix to cdd332d1ee, for clarity
2024-04-17 14:54:41 +02:00
Ryan Schultz
24e1c70d5a
fixes #4434
2024-04-17 14:54:41 +02:00
Thomas Krijnen
946a21146a
Add missing includes after merge resolution
2024-04-17 14:54:39 +02:00
Thomas Krijnen
8aa3b12911
Wait for threads in iterator destructor
2024-04-17 14:54:15 +02:00
Andrej730
16fa8573d3
fix error loading representation without styles
...
If current representation didn't had any styles, only a material and it was failing during `assign_material_slots_to_faces` since it was looking for blender material only in self.styles and not in self.materials.
Note: `assign_material_slots_to_faces` is not skipped since `parse_representations` returns `True` because other representation has a style and it's added to the materials.
2024-04-17 14:48:57 +02:00
Andrej730
5197e27b13
typing
2024-04-17 14:48:55 +02:00
Andrej730
f7f828f70c
python code style docs
2024-04-17 14:46:07 +02:00
Benoit DAMAY
3f4a7e6097
removing debug print from previous commit
2024-04-17 14:46:07 +02:00
Benoit DAMAY
df478f6ed7
replacing os.rename() by shutil.move in ifcpatch
2024-04-17 14:46:07 +02:00
Jordan McManus
aec751b762
changed type comparison to GlobalId
2024-04-17 14:46:07 +02:00
Jordan McManus
3066404b40
changed comparison for type relationships
2024-04-17 14:46:07 +02:00
jgunstone
487c96e84f
✅ add get_properties test validating that offset and limit are correctly applied
2024-04-17 14:46:07 +02:00
jgunstone
db811152b8
✨ add limit and offset to client functions
2024-04-17 14:46:07 +02:00
Andrej730
144ef8821a
fix bug after 8291a0ca6
2024-04-17 14:46:07 +02:00
Andrej730
6bb507dfc0
viewport decorations for IfcAnnotation/MULTI_SYMBOL
2024-04-17 14:46:07 +02:00
Andrej730
7ff2f56f46
common method for getting annotation symbol
2024-04-17 14:46:06 +02:00
Andrej730
6ff721f5af
Indicate rotated/scaled symbols in viewport
2024-04-17 14:46:06 +02:00
Andrej730
4b634b91ac
Support for rotated and scaled symbols with IfcAnnotation/SYMBOL
...
See: https://community.osarch.org/discussion/2027/bbim-rotation-of-ifcsymbol
2024-04-17 14:46:06 +02:00
Andrej730
fad51eb388
black format
2024-04-17 14:46:06 +02:00
Andrej730
886467dfd6
typing
2024-04-17 14:46:06 +02:00
Andrej730
914dd031bd
indicate IfcText symbol rotation in viewport
2024-04-17 14:46:06 +02:00
Andrej730
dd1978d61d
BBIM IfcTester - option to generate ODS report
...
https://i.imgur.com/0JyXVK6.png
2024-04-17 14:46:06 +02:00
Andrej730
6873c21d27
Fix #4421
...
1) Excluded annotations from other drawings that user might accidentally include in IfcAnnotation
2) Excluded from EPset_Drawing.Include to avoid getting there other element types besides spaces
2024-04-17 14:46:06 +02:00
Andrej730
edce320756
utils.filter_elements docs and tests
2024-04-17 14:46:06 +02:00
Andrej730
96cc24c820
typing
2024-04-17 14:46:06 +02:00
Andrej730
6eeac88e1c
small fixes
2024-04-17 14:46:06 +02:00
Sigma Dimensions (Yass)
bc833e43ae
fix construction schedule import without IfcProject #4412
2024-04-17 14:46:06 +02:00
Andrej730
0cf8574e1f
spatial.workspace - add hotkeys using add_layout_hotkey
2024-04-17 14:46:06 +02:00
Andrej730
78fb986f0b
bim.decorate_boundaries to decorate all boundaries in the scene
...
It's added as alt+v hotkey in Spatial Tool
Now it's possible to combine it with bim.load_project_space_boundaries to show decorations for all the boundaries or to keep the boundaries after Alt+B and just disable the decorations.
example - https://imgur.com/a/ecbPz13
2024-04-17 14:46:06 +02:00
Andrej730
a265a41ebe
Fix issue with drawing same boundaries multiple times
...
If you'd hit alt+b in space tool multiple times it would redraw them again and again instead of switching between hiding and showing.
2024-04-17 14:46:06 +02:00
Andrej730
998b4a0565
model.space.py - small fixes
2024-04-17 14:46:06 +02:00
Andrej730
8d1559b486
small fixes after d209cc9ff, added a test
2024-04-17 14:46:06 +02:00
Andrej730
9852e4fa54
BBIM - option to append occurrences from the other ifc files
...
Example - https://imgur.com/a/yASjbs8
2024-04-17 14:46:06 +02:00
Andrej730
38bbaa0a8f
util.unit.py - black format
2024-04-17 14:46:06 +02:00
Andrej730
a4a965e7ab
more typing
2024-04-17 14:46:06 +02:00
Geert Hesselink
15dd93b9fb
Redundant closing symbol ' ( #4413 )
...
* scale placeangleunit
* add radian si_conversions
* return conversion value of planeangleunit
* Update unit.py
* redundant closing
* redundant closing
2024-04-17 14:46:06 +02:00
Geert Hesselink
6db45c0965
Scale placeangelunit unit type ( #4406 )
...
* scale placeangleunit
* add radian si_conversions
* return conversion value of planeangleunit
* Update unit.py
2024-04-17 14:46:06 +02:00
Andrej730
17f09655e1
fix error reloading representation for objects without representation
2024-04-17 14:46:06 +02:00
Andrej730
036a88de54
commented out apil.run settings serialization as it's not used currently
2024-04-17 14:46:06 +02:00
Andrej730
6cbc0e0564
small fixes
2024-04-17 14:46:06 +02:00
Ryan Schultz
2d0e4f52a6
Add parameter for angle tolerance, and change 'deg' to '°'
2024-04-17 14:46:06 +02:00
Andrej730
e5d1c8cfb9
add test for util.unit.calculate_unit_scale
2024-04-17 14:46:06 +02:00
Andrej730
0abea81e6b
fix error in typing
2024-04-17 14:46:06 +02:00
fescale
bedb7733a7
Replace the specific "libpython3.8" debian package dependency for the generic "libpython3-dev".
2024-04-17 14:46:04 +02:00
Ryan Schultz
8356911bba
added python version for Blender 4.1
2024-04-17 14:45:15 +02:00
Andrej730
59bda23ff6
Fix bug joining multiple extruded profiles in non-meters projects
...
Demo if someone missed that feature - https://imgur.com/a/JywJHyc
2024-04-17 14:45:15 +02:00
Andrej730
ad87d31e6a
shape_builder.create_axis2_placement_3d utility method and docs
2024-04-17 14:45:15 +02:00
Andrej730
26e7742472
Fix bug resetting rotations after editing profile axis
...
Before - https://imgur.com/a/czjAoSb
After - https://imgur.com/a/ajiNcdK
2024-04-17 14:45:15 +02:00
Adrian Insaurralde Avalos
9b76ce8d97
occt 7.8 compatibility
2024-04-17 14:45:13 +02:00
Dion Moult
10797c03a2
Aggressively remove pandas test files
2024-04-17 14:42:55 +02:00
Andrej730
5980a3984d
fix demo library references after 7a7c89e
2024-04-17 14:42:55 +02:00
Dion Moult
7b3b32c7f5
See #4368 . Don't ship with mostly unused and bloaty boto3 dep. Augin users can install boto3 with new debug tool.
2024-04-17 14:42:55 +02:00
Dion Moult
6d142374b1
Little debug tool for people to easily install pip packages graphically
...
BBIM is being used in companies as ways to automate various BIM processes, and it ends up being such that Blender Python becomes their dev environment.
2024-04-17 14:42:55 +02:00
Dion Moult
b1398988d3
Purge hppfcl in preparation for new clash features
2024-04-17 14:42:55 +02:00
Andrej730
f5fa371492
load clipping planes decorator reopening .blend file
2024-04-17 14:42:55 +02:00
Andrej730
5246e8588a
fix poll errors for clipping plane gizmo #4392
2024-04-17 14:42:55 +02:00
Andrej730
ac4669f841
fix duplicated ifcstyleditems using append_asset
...
since we don't use `file.add` to add inverse items and we use `file.create_entity` it was duplicating new elements, added optional parameter that makes it possible to track already added relationships between `append_asset`s.
2024-04-17 14:42:55 +02:00
Benoit DAMAY
51ca119406
Removing unnecessary comment lines
2024-04-17 14:42:55 +02:00
Andrej730
5d370e8e2f
fix typing loading issues
2024-04-17 14:42:55 +02:00
Andrej730
1d7c882231
append_asset - keep preexisting contexts valid #4280
...
issue occurred with ifcpatch ExtractElements - it was adding project from other ifc file (with the contexts) and then adding some elements from it using `append_asset`. During `append_asset` it was considering existing context with the duplicated one and was partially purging it.
2024-04-17 14:42:55 +02:00
Andrej730
cbf95b2080
typing
2024-04-17 14:42:55 +02:00
Andrej730
a7b731e6df
Optimise patch - lazy import toposort
...
to fix empty Optimise patch description in BlenderBIM
2024-04-17 14:42:55 +02:00
Dion Moult
bceac22ca0
See #4389 . Accommodate null pset values when serializing to SVG.
2024-04-17 14:42:55 +02:00
Dion Moult
d7def8291e
Add tree species to tree library
2024-04-17 14:42:55 +02:00
Dion Moult
167c456223
See #4389 . Accommodate null metadata.
2024-04-17 14:42:55 +02:00
Benoit DAMAY
62a3b37397
Replaced panel row with operator descriptor
2024-04-17 14:42:55 +02:00
Benoit DAMAY
a6f6d0d676
Fix proposition to 3515 - extra empty lines removed from previous commit
2024-04-17 14:42:55 +02:00
Benoit DAMAY
6fa7cbce86
Fix proposition to 3515
2024-04-17 14:42:55 +02:00
M!l!nd
79df9d84fa
Update Makefile
2024-04-17 14:42:55 +02:00
Dion Moult
a7e0cb0bc3
Minor fix to shape aspects because not everything has a mesh (e.g. text annotations)
2024-04-17 14:42:55 +02:00
Dion Moult
6f0dd25517
Fix #4377 . Add support for adding filled elements in AXIS3 layered elements.
2024-04-17 14:42:55 +02:00
Dion Moult
12bde3c56c
Fix #4383 . Demo library should use Model/Annotation/MODEL_VIEW for text annotations so that they can be used anywhere, not just on plans.
2024-04-17 14:42:55 +02:00
Dion Moult
73149a29c9
Fix #4384 . Accommodate null values when getting data from pset.
2024-04-17 14:42:55 +02:00
Dion Moult
01150873f5
Fix #4336 . Close #4337 . Remove rounding for more accurate fills.
2024-04-17 14:42:55 +02:00
Dion Moult
25b73fc35a
Minor fixes to IfcCSV documentation
2024-04-17 14:42:54 +02:00
Dion Moult
5e4afbc748
Separate project templates and libraries and provide dropdown to built-in libraries to aid discoverability.
2024-04-17 14:42:54 +02:00
Dion Moult
658fbd3f6a
Fix #4385 . Probably a mistake in the bool argument for removing datablocks.
2024-04-17 14:42:54 +02:00
Dion Moult
25ad410470
Tweak generated tree parameters and add manual trees to landscape library thanks to SavyGust27
2024-04-17 14:42:54 +02:00
jgunstone
d718afc754
🔧 update pip install command assuming that this branch will be merged back
2024-04-17 14:42:54 +02:00
jgunstone
b3441fd5ae
update license and version
2024-04-17 14:42:54 +02:00
jgunstone
94b5647e56
📝 add docs about so to install and develop this package standalone
2024-04-17 14:42:54 +02:00
jgunstone
cb3ff4b05a
✅ add simple tests to ensure the package is working as expected
2024-04-17 14:42:54 +02:00
jgunstone
2a21ccf0aa
🐛 add limit and offset kwargs to get_classes. TODO- I think this needs doing throughout...
2024-04-17 14:42:54 +02:00
jgunstone
8a409507c8
add version
2024-04-17 14:42:54 +02:00
jgunstone
30cedd16ee
🔧 add pyproject.toml and __init__.py
2024-04-17 14:42:54 +02:00
Dion Moult
d5aff85b35
Fix #889 . Write docs for how to do translations.
2024-04-17 14:42:54 +02:00
Andrej730
708c61e33a
Clipping planes with cappings
...
Added new experimental section that allows you to cut objects based on current clipping planes in the scene. The difference from other clipping plane methods - it actually (temporarily) edits meshes geometry and adds cappings at the cut. So, the clipped meshes can be seen both on render and cutted parts won't get in the way as they do with temporary section cutaways (shader based method)
Example - https://imgur.com/a/SOqovOM
2024-04-17 14:42:54 +02:00
Andrej730
a75f5ef66f
remove_data_block - option to skip some checks to speed it up
2024-04-17 14:42:54 +02:00
Dion Moult
b70b285c03
See #4380 . Remove support for EOL Python 3.6
2024-04-17 14:42:54 +02:00
Dion Moult
9de06fbd6e
Fix #4300 . You can now select spatial elements by their location too.
2024-04-17 14:42:54 +02:00
Dion Moult
0c5a173de7
Fix #4340 . Indicate user needs to setup IFC2X3 user/app when using API directly.
2024-04-17 14:42:54 +02:00
Dion Moult
14e49ac633
Fix #4333 . Ensure order of info is correct for valid IDSes.
2024-04-17 14:42:54 +02:00
Dion Moult
1d7de2063a
See #4380 . Standardise filepaths when linking in IFCs.
2024-04-17 14:42:54 +02:00
Dion Moult
e7cd66bb44
You can now specify a false origin when linking in a model
2024-04-17 14:42:54 +02:00
Dion Moult
525279d4b7
Add Python3.12 to installation docs
2024-04-17 14:42:54 +02:00
Dion Moult
dcc81eb6e9
See #4380 . Bump IOS.
2024-04-17 14:42:54 +02:00
Dion Moult
d51e75d8f0
New cable carrier and cable tool grouped into MEP tool submenu
2024-04-17 14:42:54 +02:00
Dion Moult
f6e0781c78
Add icon and convenience functions for walk and set orbit center in explore tool
2024-04-17 14:42:54 +02:00
Andrej730
2d937890f0
bump svgfill
2024-04-17 14:42:54 +02:00
ChristophMellueh
84edec0af9
add missing Props request
2024-04-17 14:42:54 +02:00
Dion Moult
02e9cb06b4
You can now flip clipping planes
2024-04-17 14:42:54 +02:00
Dion Moult
3ef4927e55
New clipping planes feature.
2024-04-17 14:42:54 +02:00
Dion Moult
d333df8b73
You can now query data about a linked object from a SQLite cache.
2024-04-17 14:42:54 +02:00
Dion Moult
00b356d48d
Fix #4279 . You can now link in IFCs directly with efficient chunking instead of having to first create blend files
2024-04-17 14:42:54 +02:00
Dion Moult
b5c509e893
See #4279 . Viewport object culling feature to increase FPS when navigating large models.
2024-04-17 14:42:54 +02:00
Dion Moult
c48e167758
New IfcPatch recipe to extract flattened properties and relationships to SQLite for simple queries
2024-04-17 14:42:54 +02:00
Dion Moult
1b48995d95
Fix #4335 . Fix compilation error.
2024-04-17 14:42:51 +02:00
patrick.joerg
dfa3988674
Small doc change to direct readers to advanced mode
2024-04-17 14:41:52 +02:00
Andrej730
1819b6812e
Fix issues with accessing invalid entities in bim.reassign_class #4371
...
bim.reassign_class wasn't considering that root.reassign_class will also reassign class for occurrences of the same type and was reaccessing invalid elements
2024-04-17 14:41:52 +02:00
Andrej730
69767a7045
type.py - some typing
2024-04-17 14:41:52 +02:00
Andrej730
a99fbbfdd8
reassign_class - cover with tests
2024-04-17 14:41:52 +02:00
Andrej730
1f532491ec
fix pass-valid-selected-enumeration.ifc after 5270045
...
.ifc was failing during test_validate.py
1) Changed schema to rc2 as rc3-4 doesn't have IfcBridgePart
2) PredefinedType and UsageType were mixed up
3) With just `.DECK.` it was failing with error below
```
With attribute:
<attribute PredefinedType: <select IfcFacilityPartTypeSelect: (<enumeration IfcBridgePartTypeEnum: (ABUTMENT, DECK, DECK_SEGMENT, FOUNDATION, NOTDEFINED, PIER, PIER_SEGMENT, PYLON, SUBSTRUCTURE, SUPERSTRUCTURE, SURFACESTRUCTURE, USERDEFINED)> | <enumeration IfcFacilityPartCommonTypeEnum: (ABOVEGROUND, BELOWGROUND, JUNCTION, LEVELCROSSING, NOTDEFINED, SEGMENT, SUBSTRUCTURE, SUPERSTRUCTURE, TERMINAL, USERDEFINED)> | <enumeration IfcMarinePartTypeEnum: (ABOVEWATERLINE, ANCHORAGE, APPROACHCHANNEL, BELOWWATERLINE, BERTHINGSTRUCTURE, CHAMBER, CILL_LEVEL, COPELEVEL, CORE, CREST, GATEHEAD, GUDINGSTRUCTURE, HIGHWATERLINE, LANDFIELD, LEEWARDSIDE, LOWWATERLINE, MANUFACTURING, NAVIGATIONALAREA, NOTDEFINED, PROTECTION, SHIPTRANSFER, STORAGE, USERDEFINED, VEHICLESERVICING, WATERFIELD, WEATHERSIDE)> | <enumeration IfcRailwayPartTypeEnum: (DILATATIONSUPERSTRUCTURE, LINESIDESTRUCTURE, LINESIDESTRUCTUREPART, NOTDEFINED, PLAINTRACKSUPESTRUCTURE, SUPERSTRUCTURE, TRACKSTRUCTURE, TRACKSTRUCTUREPART, TURNOUTSUPERSTRUCTURE, USERDEFINED)> | <enumeration IfcRoadPartTypeEnum: (BICYCLECROSSING, BUS_STOP, CARRIAGEWAY, CENTRALISLAND, CENTRALRESERVE, HARDSHOULDER, INTERSECTION, LAYBY, NOTDEFINED, PARKINGBAY, PASSINGBAY, PEDESTRIAN_CROSSING, RAILWAYCROSSING, REFUGEISLAND, ROADSEGMENT, ROADSIDE, ROADSIDEPART, ROADWAYPLATEAU, ROUNDABOUT, SHOULDER, SIDEWALK, SOFTSHOULDER, TOLLPLAZA, TRAFFICISLAND, TRAFFICLANE, USERDEFINED)>)>>
Value:
DECK
Not valid
```
2024-04-17 14:41:52 +02:00
Andrej730
a03f62c97e
fix error removing pset from material or profile
2024-04-17 14:41:52 +02:00
Andrej730
f381dce64d
fix tests after a971860
2024-04-17 14:41:52 +02:00
Andrej730
b1811b7604
fix errors in tests
...
they were failing because import_reference_attributes were failing to get docs for unset schema version since ifc file wasn't attached to Blender
2024-04-17 14:41:52 +02:00
Thomas Krijnen
ce5b1530e3
Add buffer (bytestring) accessors to material colors - plus small fixes
2024-04-17 14:41:49 +02:00
Thomas Krijnen
5e7156021b
Add buffer (bytestring) accessors to geometry data
2024-04-17 13:58:05 +02:00
Andrej730
a86ac68e0c
Fix #4365
...
Allowing to add new properties with None values if should_purge is not set to True (and it's False by default)
2024-04-17 13:41:18 +02:00
Thomas Krijnen
7f37ba2fad
convert closed wires to faces prior to processing in svg serializer #4283
2024-04-17 13:41:05 +02:00
Thomas Krijnen
a2cc9b1b4d
Disable building 3.6.x - due to from __future__ import annotations
2024-04-16 13:28:46 +02:00
Andrej730
7843d20fc8
black format
2024-04-16 13:28:46 +02:00
Andrej730
7e9aead518
show occurrence name function in prefs only for custom name style
2024-04-16 13:28:46 +02:00
Andrej730
0c3a038a44
Fix #4363
2024-04-16 13:28:46 +02:00
Dion Moult
444b284602
Update Makefile
2024-04-16 13:28:46 +02:00
Dion Moult
f33b1296e3
Create blender_manifest.toml
2024-04-16 13:28:46 +02:00
Bruno Perdigão
a4eeae2872
UI for linked aggregate ( #4271 )
...
* initial ui
* changed the group name
* groups counter in ui
* added operators for selection and breaking link in the ui
* small removal
* changed IFC operators to _execute
2024-04-16 13:28:46 +02:00
Bruno Perdigão
ed7b337a40
Linked aggregate preserve names ( #4135 )
...
* added simples linked aggregate test
* small fix in remove_old_connections function
* added test for refresh linked aggregate
* refresh linked aggregates now preserves the objects original name
* small fix in recreate_connections function
* tests for Refresh Linked Aggregate
* test for Refresh Linked Aggregate after copying an object
* small deletion
* added custom incremental naming
* small fix in tests
* small fix on the number for renaming
2024-04-16 13:28:46 +02:00
Ryan Schultz
0b4a64225b
Selects all the instances from selected instances that have different types
2024-04-16 13:28:46 +02:00
Massimo Fabbro
bba935940b
New button hide all spaces in spatial tool
2024-04-16 13:28:46 +02:00
Massimo Fabbro
f85b476bc8
Now generate space and generate spaces from walls are always visible in the UI so users understand better that are different procedures
2024-04-16 13:28:46 +02:00
Andrej730
4ac771a214
Fix #4342
2024-04-16 13:28:46 +02:00
Andrej730
284df2e484
update representation item style on editing/removing shape aspect
...
Example - https://imgur.com/a/2SxgSRH
2024-04-16 13:28:46 +02:00
Andrej730
dd27107be8
style.assign_representation_styles to replace previously assigned styles
...
as probably in the most cases user would want 1 style per 1 representation item
After this it's finally possible in BBIM to assign styles to representation items through the materials: https://imgur.com/a/cgiJ1KV
2024-04-16 13:28:46 +02:00
Andrej730
0d251260d8
MaterialCreator - minor refactor for code readibility
2024-04-16 13:28:46 +02:00
Andrej730
8a3934b32b
fix error in data.py occurring if object has no material
2024-04-16 13:28:46 +02:00
Andrej730
05aed7036e
show error message removing material that is used in material sets
...
previously it wasn't showing anything when you would try to remove a material
2024-04-16 13:28:46 +02:00
Andrej730
7966ffa2a4
BBIM - update related representations on assigning style to material
2024-04-16 13:28:46 +02:00
Andrej730
17da72232d
unassign_material_style to handle constituents
2024-04-16 13:28:46 +02:00
Andrej730
c7ca87f9c4
api.unassign_representation_styles
2024-04-16 13:28:46 +02:00
Andrej730
f22369b960
assigning material styles to reuse existing styled item + tests
2024-04-16 13:28:46 +02:00
Andrej730
46eae7a7d2
assign_representation_styles to reuse existing styled item + tests
2024-04-16 13:28:46 +02:00
Andrej730
cb51b8da49
style.assign_material_style small optimization
2024-04-16 13:28:46 +02:00
Andrej730
31e556c0b2
set previous active style and context values editing material's style
2024-04-16 13:28:45 +02:00
Andrej730
ad33794945
descriptive error for missing user or application in ifc2x3 #4340
2024-04-16 13:28:45 +02:00
Andrej730
ec107d2f7f
fixed bug migrating attributes to older ifc version (after 8728fa3)
2024-04-16 13:28:45 +02:00
Andrej730
356c81e80f
black format
2024-04-16 13:28:45 +02:00
Andrej730
0077036716
Fix issues editing work time in ifc4x3 #4295
2024-04-16 13:28:45 +02:00
Andrej730
89da2b3b7d
IFC4.3 test bootstrap
2024-04-16 13:28:45 +02:00
Andrej730
3dc7951a3e
Default Blender filepath hotkeys for .ifc filepath
...
Example - https://i.imgur.com/Mk6mkuP.png
E.g. alt-click now opens .ifc directory and shift-click opens .ifc with default software associated with .ifc files.
Should be cross-platform but tested only on Windows
Added this code to tool.Blender so it can be reused for other operators invoking file browsing window.
2024-04-16 13:28:45 +02:00
Andrej730
45a23d9371
style.assign_material_style to assign style to related shape aspects
2024-04-16 13:28:45 +02:00
Andrej730
c76a5a7ee7
promote get_shape_aspects to util.element method
2024-04-16 13:28:45 +02:00
Andrej730
c918497df2
get material constituents from cache and filter active element material
2024-04-16 13:28:45 +02:00
Andrej730
eebe7d596d
disable editing rep item style if it comes from material constituent through shape aspect
2024-04-16 13:28:45 +02:00
Thomas Krijnen
5c60c2e35b
CMakeLists.txt pre 2.37 compat
2024-04-16 13:28:42 +02:00
Ryan Schultz
09f54709e6
deleted extraneous variables
2024-04-16 13:27:40 +02:00
Ryan Schultz
9bfe417cfb
Select in any order, when assigning relating_product
2024-04-16 13:27:40 +02:00
Thomas Krijnen
e3867a118c
IfcConvert --keep-bounding-boxes option, default is now exluded. #4012 #2138 #2044 #4032
2024-04-16 13:27:16 +02:00
Andrej730
3a9c023d33
Fix issue editing object placement that shares it's axis placement with other placements
...
If multiple object placements were reusing the same IfcAxis2Placement then editing one of them would remove IfcAxis2Placement ignoring it's inverse references making all other object placements invalid.
2024-04-16 11:38:49 +02:00
Andrej730
16eba637f1
fix errors getting layer assignments in ifc2x3 #4330
2024-04-16 11:38:49 +02:00
Andrej730
8b360742a7
sort representation items in ui based on shape aspect
...
- display shape aspect along with the repsentation type
- sort representation items based on shape aspects name, items without shape aspects come last
2024-04-16 11:38:49 +02:00
Andrej730
ae47de8851
Fix #4319
...
StringProperty search keyword was introduced only in Blender 3.3
2024-04-16 11:38:49 +02:00
Gorgious56
27349290b7
Fix section cut planes not working anymore on Blender < 4.0.0
2024-04-16 11:38:49 +02:00
krande
288455416b
add missing typename
2024-04-16 11:38:46 +02:00
Gorgious56
73ae2b7055
#4308 : Fix section cutaway shader links incorrectly linking when removing a section
2024-04-16 11:38:20 +02:00
Gorgious56
fc2009d000
Fix #4308 : Section cutaway shader : Update API for 4.0 breaking changes + draw line decorator for more than one section cutaway
2024-04-16 11:38:20 +02:00
Andrej730
f522e2beb7
some typing
2024-04-16 11:38:20 +02:00
Andrej730
075b9e4775
Fix bug in ExtractElements recipe adding a lot unrelated products
...
if you'd add a type product and it had material that were used in bunch of ther products
example - https://community.osarch.org/discussion/1965/error-extracting-ifcslab-or-ifccolumn
2024-04-16 11:38:20 +02:00
Massimo Fabbro
2f75b7edf8
Minor fix
2024-04-16 11:38:20 +02:00
Andrej730
80dcbb2e46
fix bugs in c5c7363a9
2024-04-16 11:38:20 +02:00
Andrej730
1e4693346a
fix project name for IfcAdvancedHouse
2024-04-16 11:38:20 +02:00
Andrej730
c706ae0292
UI info message when patch execution was finished
2024-04-16 11:38:20 +02:00
Andrej730
f61738112e
ifctester Attribute.filter not to check subtypes attributes
...
if attribute is already found in the super type
2024-04-16 11:38:20 +02:00
Andrej730
e5b63853ef
Fix #4314
...
It was looking for IFC entities with the attribute from Attribute.name but wasn't considering ifc subclasses that inherit from that entity.
2024-04-16 11:38:20 +02:00
Andrej730
41996daaa7
ifctester - some typing
2024-04-16 11:38:20 +02:00
Andrej730
e5810dbc7c
CMake - disable optimization for RelWithDebInfo with ENABLE_BUILD_OPTIMIZATIONS=Off
2024-04-16 11:38:16 +02:00
Andrej730
dea29a3ec7
Fixed #4310
2024-04-16 11:35:32 +02:00
Andrej730
317dbc0ab8
Fix bug removing relating object of IfcRelNests
...
it was unlinking current collection of the related object and related objects were missing after
2024-04-16 11:35:31 +02:00
Andrej730
e289f23c40
root.remove_product - fix some cases producing invalid ifc #4313
...
always remove IfcRelNests
1) if product is RelatingObject
2) if product is the only RelatedObject
2024-04-16 11:35:31 +02:00
Ryan Schultz
53cc393697
proposed fix for #4311
2024-04-16 11:35:31 +02:00
Massimo Fabbro
6c9383d968
See #4007 . Now clone opening works also when a opening hosts a window or a door
2024-04-16 11:35:31 +02:00
Massimo Fabbro
2a52f0fadd
Clone opening now deletes also old opening placement
2024-04-16 11:35:31 +02:00
Massimo Fabbro
65a5c2c1f5
Small refactor clone opening operator in order to better understand and reuse it rebase
2024-04-16 11:35:31 +02:00
Gorgious56
1f10b2415e
Assigning an ifc class to an object now displays a message if the object is not in OBJECT mode
2024-04-16 11:35:31 +02:00
Andrej730
e2ef636209
add fallback to the previous schema versions for docs and mappings
...
before it was breaking part of BlenderBIM UI if we would open IFC4X1 file
2024-04-16 11:35:31 +02:00
Andrej730
7c81633113
bump py version in run-cmake.bat after c0d84713b
2024-04-16 11:35:31 +02:00
Andrej730
8c707f3b48
Fix issue building IfcOpenHouse for IFC4
2024-04-16 11:35:31 +02:00
Andrej730
9560e0b3b2
Fix bug in IfcHierarchyHelper.addRelatedObject
...
Noticed that `file.addRelatedObject<IfcSchema::IfcRelDefinesByType>(door_style, door);` was resulting in list with `door` assigned as RelatingObject and `door_style` assigned as RelatedObjects.
2024-04-16 11:35:26 +02:00
Andrej730
4418c1327d
MergeDuplicateTypes - fix error occuring if ifcopenshell.api is not imported
...
error was:
File "\site-packages\ifcpatch\__init__.py", line 78, in execute
patcher.patch()
File "\site-packages\ifcpatch\recipes\MergeDuplicateTypes.py", line 73, in patch
self.assign_type(element, original_type)
File "\site-packages\ifcpatch\recipes\MergeDuplicateTypes.py", line 114, in assign_type
ifcopenshell.api.run("owner.update_owner_history", self.file, **{"element": types[0]})
^^^^^^^^^^^^^^^^
AttributeError: module 'ifcopenshell' has no attribute 'api'
2024-04-16 11:33:55 +02:00
Andrej730
3dd94889fa
ifcopenshell installation notion about compiling only specific schemas
2024-04-16 11:33:53 +02:00
Andrej730
070f869932
fix cmake warning with CMP0144 policy
...
The warning was:
```
CMake Warning (dev) at CMakeLists.txt:299 (find_package):
Policy CMP0144 is not set: find_package uses upper-case <PACKAGENAME>_ROOT
variables. Run "cmake --help-policy CMP0144" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
CMake variable BOOST_ROOT is set to:
\IfcOpenShell\_deps\boost_1_74_0
For compatibility, find_package is ignoring the variable, but code in a
.cmake module might still use it.
```
2024-04-16 11:32:42 +02:00
Andrej730
c4bf4d7d92
bump required cmake version to remove deprecation warning
...
deprecation warning:
CMake Deprecation Warning at CMakeLists.txt:20 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
2024-04-16 11:32:04 +02:00
Andrej730
d82fbcd66c
bump python version in windows build dependencies
...
they seem to switch to .exe from .msi starting from 3.5+, changed amd prefix. Also fixed version parsing line for two digits minor versions
2024-04-16 11:30:23 +02:00
Andrej730
b503463a02
ifcpatch.execute - make input attribute optional
...
e.g. MergeDuplicateTypes doesn't use it in the code either way
2024-04-16 11:29:01 +02:00
dependabot[bot]
39eed06e90
Bump fastapi from 0.101.0 to 0.109.1 in /src/opencdeserver/api/app
...
Bumps [fastapi](https://github.com/tiangolo/fastapi ) from 0.101.0 to 0.109.1.
- [Release notes](https://github.com/tiangolo/fastapi/releases )
- [Commits](https://github.com/tiangolo/fastapi/compare/0.101.0...0.109.1 )
---
updated-dependencies:
- dependency-name: fastapi
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-16 11:29:01 +02:00
marwiss
b11ca61462
Correct protocol to encrypted HTTPS
2024-04-16 11:29:00 +02:00
marwiss
7ee66de043
Replace existing code in src/opencdeserver with code from the "Kontroll OpenCDE API:s server" POC project on https://github.com/marwiss/Kontroll
2024-04-16 11:29:00 +02:00
Andrej730
10ef4293f3
fixed bug removing representation item
...
if you'd click on "remove item" button for some item it wouldn't remove the corresponding item but would go for removing active item instead
2024-04-16 11:29:00 +02:00
Andrej730
ad76c3ae82
some refactor for bbim drawings svg serialization
...
Made some changes to svg serialization code by moving chunks of code so `.generate_linework()` will be easier to read
- moved gathering linework contexts to a separate method
- moved common code for elements serialization to a function
- replaced self.yield_from_iterator(it) with it.__iter__
Functionally code is exactly the same.
2024-04-16 11:28:59 +02:00
Andrej730
7fc8119956
add a note on get_info_2() #4270
2024-04-16 11:28:59 +02:00
Andrej730
182e428452
Fixed #4259
...
Result of DeepDiff contain ordered sets. Also added fallback for usual sets to lists just in case, should be safe.
2024-04-16 11:28:59 +02:00
Andrej730
7d31791034
Fixed error adding a boolean
...
It occured if active object was IFC object and second selected object was just Blender object.
2024-04-16 11:28:59 +02:00
Andrej730
6d07a157a9
black format
2024-04-16 11:28:59 +02:00
Andrej730
cdf866dc81
Fix test Model.get_manual_booleans after we added pset to store them
2024-04-16 11:28:59 +02:00
Andrej730
5d020f36d3
Fix #4267 and add tests
...
Crash was caused by unmark_manual_booleans accessing boolean element after they were deleted from IFC
2024-04-16 11:28:59 +02:00
Andrej730
af593b6663
Update ui.py
2024-04-16 11:28:59 +02:00
Andrej730
1e96df4311
display active representation presentation layer in UI
...
example - https://i.imgur.com/mpnoqPH.png
2024-04-16 11:28:59 +02:00
Andrej730
e8055ec396
remove_representation to consider representation item's layers too
...
and purge layers if they are out of items as they become invalid
2024-04-16 11:28:59 +02:00
Andrej730
a4d6b2cab3
Small presentation layers UI fixes
2024-04-16 11:28:59 +02:00
Andrej730
8091b25fcd
access layer assignments from inverse attribute instead of going through representation inverses
2024-04-16 11:28:59 +02:00
Andrej730
fd48196bcb
test for removing representation items
2024-04-16 11:28:59 +02:00
Andrej730
de63a8086b
UI to remove representation items
...
example - https://i.imgur.com/jJDpIQP.png
2024-04-16 11:28:59 +02:00
Andrej730
5de1dc115c
tests for creating shape aspects and adding items
2024-04-16 11:28:59 +02:00
Andrej730
caa1181c02
create new shape aspects from UI
...
example - https://i.imgur.com/BJJZWrC.png
2024-04-16 11:28:59 +02:00
Andrej730
fcbbeffc01
edit shape aspect attributes from UI
...
example - https://i.imgur.com/SzUEn6r.png
2024-04-16 11:28:59 +02:00
Andrej730
fb9f830cf0
Fix #4262 after 0da3270c7
2024-04-16 11:28:59 +02:00
Andrej730
ab704aeb01
UI for changing representation item's shape aspect
...
Example - https://imgur.com/a/tN7hCYz
2024-04-16 11:28:59 +02:00
Andrej730
90a77d3453
geometry.remove_representation documentation
2024-04-16 11:28:59 +02:00
Andrej730
70472787bf
operator to remove representation item from shape aspect
2024-04-16 11:28:59 +02:00
Andrej730
bd5c650774
Simple UI to display repr item shape aspect
...
Example - https://i.imgur.com/YEAE9zU.png
2024-04-16 11:28:59 +02:00
Andrej730
7cb08a93a8
BBIM to print console errors in case IFC file is failed to load
2024-04-16 11:28:59 +02:00
Andrej730
947ae02ab9
black format
2024-04-16 11:28:59 +02:00
Bruno Postle
1136ef374c
IfcGit avoid leaving stray .git/config.lock files
2024-04-16 11:28:59 +02:00
Andrej730
5b0528cdbc
shape builder docs
2024-04-16 11:28:59 +02:00
Andrej730
6d8de6425f
shape builder polyline example and tests
2024-04-16 11:28:59 +02:00
Andrej730
8bbb4cb43b
UI for changing styles for representation items
...
Example - https://imgur.com/a/SQh6rR2
2024-04-16 11:28:59 +02:00
Andrej730
c3ddfbdae2
fix couple building docs errors / warnings
2024-04-16 11:28:59 +02:00
Andrej730
d344923a3c
shape builder docs fixes
2024-04-16 11:28:59 +02:00
Andrej730
a28e24d2f5
IFC4 Landscape Library
...
Created IFC library with simple trees, shrubs and hedges - with both 2d and 3d representations. Example - https://i.imgur.com/pOjh1si.png
Now it's available along with the furniture library when creating new project - https://i.imgur.com/Ho0B5Gn.png
2024-04-16 11:28:59 +02:00
Dion Moult
017b020545
See #4247 . Loading models now skips excessively voided objects for performance.
2024-04-16 11:28:59 +02:00
Ryan Schultz
3a14b51fd3
Give user additional feedback when trying to duplicate an IFCproject and Drawing. Also deselects the object to prevent inadvertently moving it.
2024-04-16 11:28:59 +02:00
Dion Moult
a47a9ce0ce
Fix bug where merging by type when loading broke if a type didn't have a name
2024-04-16 11:28:59 +02:00
Dion Moult
187160347a
Fix bug where loading filtered IFC2X3 models didn't work.
2024-04-16 11:28:58 +02:00
Dion Moult
937fd00dba
Fix #2719 . Indicator whether or not IFC is dirty to help users know when to save.
2024-04-16 11:28:58 +02:00
Dion Moult
1ee2913dd1
See #4241 . Only use shapely to repolygonise if IfcOpenShell returns unclosed paths. Hollow cuts typically are closed paths.
2024-04-16 11:28:58 +02:00
Dion Moult
5030023b1b
Fix #4239 . Stop users from duplicating IfcProject.
2024-04-16 11:28:58 +02:00
Dion Moult
b5261e029e
Fix regression where you couldn't unlink an object that already had a broken element link, and bug where you couldn't unlink a spatial element or similar with its own collection.
2024-04-16 11:28:58 +02:00
Dion Moult
29b84078ac
See #4239 . Ensure that all copy pasted objects are unlinked. Use duplicate if you want to copy.
2024-04-16 11:28:58 +02:00
Dion Moult
2308538735
See 0028fd3. Fix regression when duplicating objects without connections.
2024-04-16 11:28:58 +02:00
Andrej730
8ba68d0f0b
static ifcopenshell.geom.serializers and some typing for IDE code hints
...
code itself should work exactly the same way
2024-04-16 11:28:58 +02:00
Thomas Krijnen
ce927cfe30
#4216 todo note
2024-04-16 11:28:58 +02:00
Dion Moult
7b7dece5e7
See #4240 . Guard against possible user creating invalid userdefined attribute values.
2024-04-16 11:28:58 +02:00
Dion Moult
0d3901336b
See #4240 . Fix validation issue with perspective drawing pyramid booleans. Boolean clipping results can only be used on swept solids.
2024-04-16 11:28:58 +02:00
Dion Moult
34c6be0f02
See #4240 . Fix bug where 2D arbitrary profiles were invalid IFC (used 3D point lists not 2D)
2024-04-16 11:28:58 +02:00
Dirk Olbrich
7806dc1d6a
docs: include doxygen-awesome as git submodule
2024-04-16 11:28:55 +02:00
Dirk Olbrich
9f0a781d05
docs: add README with instructions
2024-04-16 11:27:33 +02:00
Dirk Olbrich
15d58e32d1
docs: modify doxygen config to new folder
2024-04-16 11:27:33 +02:00
Dirk Olbrich
03e5d767bd
git: clean up gitignore
2024-04-16 11:27:33 +02:00
Dirk Olbrich
05b3a55e08
docs: move C++ API docs to subfolder
2024-04-16 11:27:33 +02:00
Dirk Olbrich
b298f24275
docs: include doxygen-awesome theme
2024-04-16 11:27:31 +02:00
Dirk Olbrich
97a261ba54
docs: remove duplicate cmake for Sphinx setup
2024-04-16 11:26:47 +02:00
Dirk Olbrich
fcfaa5238e
docs: remove geom setting docs and images
...
- these are duplicated in /src/ifcopenshell-python/docs/ifcopenshell/
2024-04-16 11:26:47 +02:00
Dirk Olbrich
d7d1198a1a
docs: update doxygen file to 1.9.8
2024-04-16 11:26:47 +02:00
Dirk Olbrich
576bd6742e
docs: set LOOKUP_CACHE_SIZE
2024-04-16 11:26:47 +02:00
Dirk Olbrich
3db3e93d87
docs: update Doxyfile to v1.9.4
...
- specify ./output/doxygen as main path for output
- use relative paths for subfolder output
2024-04-16 11:26:47 +02:00
Dion Moult
02c9aee70b
Fix #3947 . Do slight 2mm offset to account for Z-fighting on 2D plan views and RCPs.
2024-04-16 11:26:47 +02:00
Dion Moult
d1f90db707
Fix #4213 . Allow having separate windows to trigger drawing operators.
2024-04-16 11:26:47 +02:00
Dion Moult
3d19d4d319
See #4216 . Document using OpenCASCADE geometry serialisation to create geometry.
2024-04-16 11:26:47 +02:00
Dion Moult
1574d8cfba
Fix #4221 . Only load leaf rows with cost values. Createing a monetary measure with None results in a segfault on Windows.
2024-04-16 11:26:47 +02:00
Dion Moult
b67f753596
Fix #4236 . Consolidate revert, reload IFC, and reload selected IFC operations.
...
Reload IFC incrementally (via diff) is moved to the debug panel since it is a dangerous advanced user command.
2024-04-16 11:26:47 +02:00
Dion Moult
4ee0930e05
Fix #4109 . Write docs about geometry serialiser.
2024-04-16 11:26:47 +02:00
Dion Moult
6f1cb16107
Fix #4231 . Bug where you couldn't add a door to an element assembly.
2024-04-16 11:26:47 +02:00
Andrej730
2268e60036
bbim_translations.py - remove operator context from operator tooltips
...
noticed editing translations from ui that operator tooltip doesn't appear in ui if tooltips has `msgctxt "Operator"`
2024-04-16 11:26:47 +02:00
Dion Moult
8c692dfbb6
Fix #4127 . Bug where IfcTester couldn't save ODS report.
2024-04-16 11:26:47 +02:00
Andrej730
487d07badd
fix build error
2024-04-16 11:26:47 +02:00
Andrej730
a936d56bf8
drop bpy related translations.py<->.po stuff as we won't be using it
2024-04-16 11:26:47 +02:00
Andrej730
d1e2009d78
run bbim_translations.py without bpy
2024-04-16 11:26:47 +02:00
Andrej730
b824ab4c4f
save just a final dictionary to translations.py instead of tuples
...
We can do that since In our workflow we won't be converting translations.py to .po files, that way it will be much shorter as it's containing only translated strings and doesn't have strings sources.
2024-04-16 11:26:47 +02:00
Andrej730
3545a5ad4a
generate translations.py without bpy
2024-04-16 11:26:46 +02:00
Andrej730
37b8a9bc89
gettext bug fix
2024-04-16 11:26:46 +02:00
Andrej730
6bea964db0
update blenderbim build to include translation data
2024-04-16 11:26:46 +02:00
Andrej730
2f04cb7b6f
expose current blender locale in bbim translations ui
2024-04-16 11:26:46 +02:00
Andrej730
acc3a56adb
bbim messages parser to also parse gettext
2024-04-16 11:26:46 +02:00
Andrej730
d5249cf45d
keep order of strings in .pot as they were parsed and store source filepaths
2024-04-16 11:26:46 +02:00
Andrej730
56f383992a
switch to our own string parser instead of blender's
2024-04-16 11:26:46 +02:00
Andrej730
228b7395c8
rename BlenderBIM translation script/addon
2024-04-16 11:26:46 +02:00
Andrej730
30d5141408
allow missing translations.py as not everyone will need translations for BBIM
2024-04-16 11:26:46 +02:00
Andrej730
1b69de2fd4
auto enable "Manage UI Translations" addon if it's not enabled
2024-04-16 11:26:46 +02:00
Andrej730
a3d029f9d9
add without-blender-way to generate translations module from po files
...
though it does require `bpy` module which is available only for python 3.10.
Actually, `bpy` module by itself is not necessary - we just need `bl_i18n_utils` that becomes available after `import `bpy`. So alternatively we can just download that module from Blender https://projects.blender.org/blender/blender/src/branch/main/scripts/modules/bl_i18n_utils
2024-04-16 11:26:46 +02:00
Andrej730
e1147c1cb8
black format
2024-04-16 11:26:46 +02:00
Andrej730
364c6efc68
check if translation ui is loaded by current Blender session instead of current Blender file
...
as it's more reliable and thing could change after Blender restart
2024-04-16 11:26:46 +02:00
Andrej730
793eebbdbb
expose i18n path in translator UI
...
removed bim.open_po_directory operator as it's now available just from alt-clicking on the path browsing button
2024-04-16 11:26:46 +02:00
Andrej730
37d6b24e84
Update bbim_setup_translations.py
2024-04-16 11:26:46 +02:00
Andrej730
e76ef4bb73
fix issues with empty paths accepted as valid paths
2024-04-16 11:26:46 +02:00
Andrej730
1435207ab6
separate developer/translator ui
2024-04-16 11:26:46 +02:00
Andrej730
41b9000401
generate pot file too converting translations.py
2024-04-16 11:26:46 +02:00
Andrej730
94b1a1ba4e
change test addon name from localization_test
2024-04-16 11:26:46 +02:00
Andrej730
b34882e6d1
semi-automatic setup for necessary directories
2024-04-16 11:26:46 +02:00
Andrej730
4a0625e730
register translations dict only if addon is already loaded
2024-04-16 11:26:46 +02:00
Andrej730
3973a6ab4d
open .po directory operator
2024-04-16 11:26:46 +02:00
Andrej730
b9ecc394cf
Operator to disable BBIM and restart Blender
...
as it's needed to reload the translations
Update bbim_setup_translations.py
Update bbim_setup_translations.py
2024-04-16 11:26:46 +02:00
Andrej730
b3990e7267
convert setup_translations to blender addon for UI
2024-04-16 11:26:46 +02:00
Andrej730
f8ca92279d
monkey patch blender's dump_addon_messages
...
The way blender gather messages to translate is:
1) disable the addon
2) parse all available strings
3) enable the addon
4) parse all strings available strings again and subtract the ones gathered at step 2.
But due Blender bug (https://projects.blender.org/blender/blender/issues/116579 ) not all addon parts unregistered at step 1, so some addon's strings left out and gathered at step 2 and then subtracted at step 4. At the end, we loose them and they will be missing from resulting translations files.
I've monkey patched dump_addon_messages so it now works a bit more safe:
0) It expects addon to be disabled and Blender restarted after
1) Gather all Blender strings
2) Enable addon
3) Gather all Blender strings again and subtract strings from step 1.
2024-04-16 11:26:46 +02:00
Andrej730
e9078453eb
setup_translations - original dump_addon_messages
...
same as with dump_py_messages - this commit is needed to track monkey patch changes later on
2024-04-16 11:26:46 +02:00
Andrej730
df41f541de
fix error converting translations to .po if .po files already exist
2024-04-16 11:26:46 +02:00
Andrej730
a2ea7bf1d8
monkey patch dump_py_messages to ignore blenderbim dependencies
2024-04-16 11:26:46 +02:00
Andrej730
a4be606a37
setup_translations - original dump_py_messages
...
as we're going to monkey patch it and this commit is needed to keep the history of changes
2024-04-16 11:26:46 +02:00
Andrej730
4342a03246
update translations in current blender session
2024-04-16 11:26:46 +02:00
Andrej730
b0c0839d3e
setup_translations.py - use just 1 directory to store .po files
...
and use temp directory to store .po files for ui_translate.export/import
2024-04-16 11:26:46 +02:00
Andrej730
fd01d71d2c
fixed typo
2024-04-16 11:26:46 +02:00
Andrej730
3046f2f207
BBIM - register translation strings #889
2024-04-16 11:26:46 +02:00
Andrej730
0371c2c74e
BBIM script to reload/export/import translation strings #889
2024-04-16 11:26:46 +02:00
Ioannis P. Christovasilis
bb05e51a92
ifc2ca major update - todo: update readme file
2024-04-16 11:26:46 +02:00
Vukas Pajic
9a117ce502
Fix #4226
2024-04-16 11:26:46 +02:00
Eduardo Schilling
144f028c84
Roof slope as percentage property
2024-04-16 11:26:46 +02:00
Dion Moult
881f38e163
Fix #4227 . Add shapely as an optional dependency for IOS-Python
2024-04-16 11:26:45 +02:00
Thomas Krijnen
658095ea29
#4222 template kw
2024-04-16 11:26:45 +02:00
Thomas Krijnen
1764741027
#4220 weakref to file
2024-04-16 11:26:37 +02:00
Thomas Krijnen
eb35b88a1e
#4220 Update file.py
2024-04-16 11:26:37 +02:00
Dion Moult
f2fab06438
Fix #4089 . Document support for Linux AArch64 on Conda.
2024-04-16 11:26:37 +02:00
Dion Moult
1fbc770775
Fix #4211 . Minor documentation fix that clarifies upstream bug about whether qto can be assigned to types.
2024-04-16 11:26:37 +02:00
Dion Moult
d6074fa6d6
Fix #4223 . Basic lint error.
2024-04-16 11:26:36 +02:00
Dion Moult
aafda4e787
Fix #4224 . Fix sequencing lint bugs.
2024-04-16 11:26:36 +02:00
Dion Moult
36f2448234
Fix #4219 . Update documentation for creating a new model.
2024-04-16 11:26:36 +02:00
Bruno Postle
616d23d804
IfcGit fixes suggested by ruff
2024-04-16 11:26:36 +02:00
Andrej730
44c9aee727
BBIM - upgrade to IFC4X3 on loading projects
...
Added "Upgrate to IFC4X3" button on loading new projects to migrate them to IFC4x3 as Ifc4x3 got approved now will be used more widely.
https://i.imgur.com/mHSIV7T.png
2024-04-16 11:26:36 +02:00
Andrej730
e841d6ee3a
Migrator - basic support for migrating attributes ifc4 -> ifc4x3
...
And added one of the IfcProperty renamed attribute as an example
2024-04-16 11:26:36 +02:00
Dion Moult
8be42ced69
Fix #4139 . Bulk purge orphaned classes and move advanced operators to debug panel.
2024-04-16 11:26:36 +02:00
Andrej730
f8d38b11e6
Migrator - display some error message for unhandled schemas
...
Noticed it was resulting in error below migrating to IFC4X3 in some cases as we don't have a mapping for IFC4X3 yet.
```
if value is None and not attribute.optional():
UnboundLocalError: local variable 'value' referenced before assignment
```
2024-04-16 11:26:36 +02:00
Andrej730
30b51b93af
black format
2024-04-16 11:26:36 +02:00
Thomas Krijnen
2aa048d0c9
#4220 Update entity_instance.py
2024-04-16 11:26:36 +02:00
Andrej730
dab051dd85
minor fix for bim.create_all_shapes printed messages
2024-04-16 11:26:36 +02:00
Dion Moult
07241649e4
Fix #4173 . Don't recreate boundaries of building elements that already exist.
...
Inline opening processing. Minor improvement to detecting attributes for int/ext and physical/virtual.
2024-04-16 11:26:36 +02:00
Dirk Olbrich
54df646398
readme: fix listed ifc version, add link to IFC4x3 docs
2024-04-16 11:26:36 +02:00
Dion Moult
a3c87f1b0e
Fix #4195 . Forgot to add UI for contains selector.
2024-04-16 11:26:36 +02:00
Dion Moult
b0a4e8c8e4
See #4173 . Prototype new approach to generating 1st level space boundaries.
2024-04-16 11:26:36 +02:00
mohamadalbaaj
6f7be74e7c
Fixing Dimension Mismatch in Matrix Multiplication
2024-04-16 11:26:36 +02:00
Dion Moult
65c00f75dd
Minor test fix
2024-04-16 11:26:36 +02:00
Dion Moult
c8456532ad
Fix bug where UI didn't show applicable psets to specific predefined types
2024-04-16 11:26:36 +02:00
Dion Moult
608147c245
Fix #4195 . Fix regressions from f840da3 and add support for "contains string" comparisons.
2024-04-16 11:26:36 +02:00
Dion Moult
a9857f867c
Fix #4196 . Settings are now saved when you save Spreadsheet export JSON files. Also a new setting to generate an SVG alongside the spreadsheet (intended to be used as a schedule placed on a sheet).
2024-04-16 11:26:36 +02:00
Dion Moult
c60ad6b8a0
Minor fix
2024-04-16 11:26:36 +02:00
Dion Moult
54bf41816b
Fix #4197 . URLs in SVG schedules are now clickable.
2024-04-16 11:26:36 +02:00
Dion Moult
6846021768
Fix #4199 . Bug where external references on sheets weren't properly referenced leading to no names.
2024-04-16 11:26:36 +02:00
Dion Moult
33051c0139
Fix #4203 . Fix bug where removing nested cost items left orphaned relationships.
2024-04-16 11:26:36 +02:00
Dion Moult
d530d34441
Fix #4204 . Add support for XLSX schedules on sheets.
2024-04-16 11:26:36 +02:00
Christoph Mellueh
062822502f
sort code alphabetically
2024-04-16 11:26:36 +02:00
Christoph Mellueh
04afbce3a8
improve core file for better zen
2024-04-16 11:26:36 +02:00
Christoph Mellueh
0005f15364
update BsDD to match new API
...
+ move Functions from operator to core/tool
2024-04-16 11:26:36 +02:00
Dion Moult
a91c76b25c
Fix #4198 . Minor regression in updating text literals.
2024-04-16 11:26:36 +02:00
c4rlosdias
43259c0124
Added more comparisons in search
2024-04-16 11:26:36 +02:00
sennhvi
fd657f2b6f
Update geometry_processing.rst
...
Add an usage example of the parameter include for the Geometry Iterator
2024-04-16 11:26:36 +02:00
Christoph Mellueh
2dfd1cae6d
add pset view to groups
2024-04-16 11:26:35 +02:00
Sigma Dimensions (Yass)
e81bd9723f
fix counting elements when importing cost schedules ( and run black)
2024-04-16 11:26:35 +02:00
Dion Moult
7e262c5c9a
Fix #4186 . Support different RL insertion modes when adding occurrences of a type.
2024-04-16 11:26:35 +02:00
Dion Moult
f55b7d439f
Fix bug where updating type text literals didn't propagate and formatting rounding null values wasn't handled.
2024-04-16 11:26:35 +02:00
Dion Moult
35eda76ffd
Fix #4189 . Hidden or non-isolated objects now don't show annotations.
2024-04-16 11:26:35 +02:00
Christoph Mellueh
9ea086bdc3
add typing to BsDD
2024-04-16 11:26:35 +02:00
Christoph Mellueh
4c382760d4
add deprecation warnings
2024-04-16 11:26:35 +02:00
Christoph Mellueh
7f1a997797
update new api to BsDD
2024-04-16 11:26:35 +02:00
Dion Moult
8ce2b4d2d7
Fix #4162 . Reduce minimum area requirement for auto space generation down to 0.1sqm.
2024-04-16 11:25:27 +02:00
Dion Moult
20e599ca05
See #4162 . Fix bug with generating space from cursor due to numerical inaccuracies and colinear lines for shapely.
2024-04-16 11:25:27 +02:00
Dion Moult
009d1a0aba
Add support for groups in selection queries
2024-04-16 11:25:27 +02:00
Dion Moult
1c573aee32
Fix #4175 . Add new UI for managing IFC object and edit modes.
2024-04-16 11:25:27 +02:00
Andrej730
0a09c2d8ea
Fix breaking spatial containers UI when spatial container is deleted
...
E.g. if you had some container selected in `active_container_id` and then it got deleted UI would break and won't allow to reload the spatial manger until you reload .ifc completely
2024-04-16 11:25:27 +02:00
Christoph Mellueh
9a194939cd
turn list into tuple
2024-04-16 11:25:27 +02:00
Dion Moult
c508c94719
Fix #4161 . Deprecate unmaintained barebones LCA module.
2024-04-16 11:25:27 +02:00
Eduardo Schilling
bcce268900
Add degrees format display
2024-04-16 11:25:27 +02:00
Eduardo Schilling
997803c4b2
Add stair calculated parameter Pitch
2024-04-16 11:25:27 +02:00
Dion Moult
583f3e30d7
Fix #4167 . Bug where pset template module didn't allow creating qto template types.
2024-04-16 11:25:27 +02:00
Dion Moult
1591ad28bc
Minor fix to loading nested ports
2024-04-16 11:25:27 +02:00
Dion Moult
f7aafb6cac
Fix #4176 . Bug where tabbed interface didn't work on new or temporary screens.
2024-04-16 11:25:27 +02:00
Dion Moult
19f03639ee
Fix #4178 . Bug when removing the wrong classification reference.
2024-04-16 11:25:27 +02:00
Sigma Dimensions (Yass)
63e3786354
add conversion based unit symbols
2024-04-16 11:25:27 +02:00
Thomas Krijnen
a5f3f8c465
IfcParseExamples requires C++17 now
2024-04-16 11:25:27 +02:00
Thomas Krijnen
aca4b4f957
Generalize shortened file.schema attribute
2024-04-16 11:25:27 +02:00
CyrilWaechter
97072972f8
IfcRelSpaceBoundary: Add error handling and better error message for user
2024-04-16 11:25:27 +02:00
Sigma Dimensions (Yass)
a2eef4995c
fix resource cost calculation
2024-04-16 11:25:27 +02:00
Sigma Dimensions (Yass)
e58495161b
Record formula and resource name for cost values when calculating resource cost
2024-04-16 11:25:27 +02:00
Sigma Dimensions (Yass)
bf2027ff96
fix cost value calculation when using parent cost
2024-04-16 11:25:27 +02:00
Sigma Dimensions (Yass)
80b7267e5e
Display cost value names, and add import operator for cost schedule panel
2024-04-16 11:25:27 +02:00
CyrilWaechter
54fdfe2905
IfcRelSpaceBoundary: Create almost all boundaries for a selected space
...
* Refactor boundary creation to allow usage in a loop.
* Loop through all building element in building storey instead of stopping to the first one
* Enforce checking to prevent creation of invalid boundary geometries
2024-04-16 11:25:27 +02:00
CyrilWaechter
1c282e6828
Fix some url and add missing ones
2024-04-16 11:25:27 +02:00
CyrilWaechter
b53b7f2f0c
Bump IOS and use more update friendly url
2024-04-16 11:25:27 +02:00
CyrilWaechter
331d7e87bb
Add python 3.11 to blenderbim build matrix
2024-04-16 11:25:27 +02:00
CyrilWaechter
ee79bae426
black boundary operator.py
2024-04-16 11:25:27 +02:00
CyrilWaechter
6dd7c8103a
IfcRelSpaceBoundary: make sure parent boundary is whole
2024-04-16 11:25:26 +02:00
CyrilWaechter
e2a01fcb52
IfcRelSpaceBoundary: Improve inner boundary generation workflow and boundary names
...
# Inner boundaries
Some software or workflow generates many opening for the same element (eg. window) so it is not relevant to create inner boundaries for opening with no filling.
# Boundary name
Apply convention for 1st and 2nd Level boundaries
2024-04-16 11:25:26 +02:00
Kristoffer Andersen
d169991e13
Update meta.yaml
...
pin swig version for conda
2024-04-16 11:25:26 +02:00
Thomas Krijnen
2948d08c1d
C++ get_psets() with extensive preprocessor trickery
2024-04-16 11:25:24 +02:00
Thomas Krijnen
ebd995d98d
Update src/ifcopenshell-python/docs/ifcopenshell-python/geometry_processing.rst
2024-04-16 11:17:58 +02:00
wangsenhui
c6f7417ce8
add geometry processing with multiple representations example
2024-04-16 11:17:58 +02:00
wangsenhui
6084354932
add geometry processing with multiple representations example
2024-04-16 11:17:58 +02:00
wangsenhui
73f81b18fd
add geometry processing with multiple representations example
2024-04-16 11:17:58 +02:00
Thomas Krijnen
2db6e0193f
p21 binary should be uppercase
2024-04-16 11:17:56 +02:00
Andrej730
6baf3da67a
ifctester - added some typing for IDE type hints
2024-04-16 11:17:07 +02:00
Andrej730
3008599eec
Clean up IfcIndexedColourMap removing representation #4138
...
Because we wasn't removing colour map, remove_representation was producing orphaned IfcPolygonalFaceSet that were referred by colour map.
2024-04-16 11:17:07 +02:00
Ryan Schultz
7df5ef6cd6
Applying multiple opening objects in bulk
...
Merry Christmas.
2024-04-16 11:17:07 +02:00
Andrej730
0980075c88
ifcpixeltexture tests to reflect actual order of data
2024-04-16 11:17:07 +02:00
Andrej730
5cae82cded
Fixed issue with flipped ifcblobtexture loaded to blender
2024-04-16 11:17:07 +02:00
Andrej730
f409883536
save ifcblobtexture and ifcpixeltexture to .blend file
2024-04-16 11:17:07 +02:00
Andrej730
796dddaa7a
Fixed issue changing type of object creating opening in an aggregate
...
More: https://community.osarch.org/discussion/1888/error-after-trying-to-change-a-window-type-whose-opening-is-applied-to-an-aggregate#latest
A bit related to #3973 in case if it will be resolved
2024-04-16 11:17:07 +02:00
Andrej730
7f4c3d629b
Note on not allowing aggregates with representation #3973
2024-04-16 11:17:07 +02:00
Andrej730
a1e5aeb00a
expose assign/unassign aggregation hotkey to bim tool ui
2024-04-16 11:17:07 +02:00
Andrej730
8a1149f0de
Fix a few uses of assigning/unassigning agregation after 165262933
2024-04-16 11:17:07 +02:00
dushyant basson
21f741667e
Using transformation-matrix data; Turned off world-coords; Re-using geometry of repeating IDs
2024-04-16 11:17:07 +02:00
dushyant basson
904c0c6b06
initial camera-orientation; multiple materials in a single element; default material used from IfcGeom; improved triangle node data generation for OSG
2024-04-16 11:17:07 +02:00
dushyant basson
d91fa87dd8
update
2024-04-16 11:17:07 +02:00
dushyant basson
e513e63d9a
IFC file successfully parsed and loaded in Qt OpenGL widget
2024-04-16 11:17:07 +02:00
dushyant basson
3bb8bd5000
added header-guard
2024-04-16 11:17:07 +02:00
dushyant basson
6e7a43409e
debug messages
2024-04-16 11:17:07 +02:00
dushyant basson
ccb8135bb4
update
2024-04-16 11:17:06 +02:00
dushyant basson
c7effd2498
Implemented: Application icons; OpenSceneGraph to handle OpenGL with Qt; devicePixelRatio() for handing render on highDPI displays; Sample 3D with handler; MouseHandler not yet working as expected (WIP)
2024-04-16 11:17:06 +02:00
Dushyant Basson
341e68907f
updated .ico file
2024-04-16 11:17:06 +02:00
dushyant basson
22b953aba8
add application file icon for macos
2024-04-16 11:17:06 +02:00
Dushyant Basson
7bd08468d6
application file-icon and window-icon set on ms-windows
2024-04-16 11:17:06 +02:00
dushyant basson
d4ad055e9b
Removed .clangd file from tracking and added it to .gitignore
2024-04-16 11:17:06 +02:00
dushyant basson
4dda73b7bb
Removed .clangd file from tracking and added it to .gitignore
2024-04-16 11:17:06 +02:00
dushyant basson
86157f1e15
adding qt resources
2024-04-16 11:17:06 +02:00
Sigma Dimensions (Yass)
6660ee3788
New Clash management panel to load IFCClash collision results
2024-04-16 11:17:06 +02:00
Sigma Dimensions (Yass)
e87e53f840
fix smart clash group selection
2024-04-16 11:17:06 +02:00
Andrej730
6b7936c0ce
Fix typo in 92cf0d9
2024-04-16 11:17:06 +02:00
Andrej730
994358c50d
Support loading styles with IfcPixelTexture
2024-04-16 11:17:06 +02:00
Andrej730
6130f23a1a
Allow copying node graphs for external shaders on Blender 4.1+ #3876
2024-04-16 11:17:06 +02:00
Andrej730
0fb2a7e5ec
remove_representation not to leave brokens refs with batch_remove #4138
2024-04-16 11:17:06 +02:00
Andrej730
baf00b5b48
Purge IfcWindow/DoorStyle/IfcTypeProduct #4137
2024-04-16 11:17:06 +02:00
Sigma Dimensions (Yass)
38502734e8
consider unit basis for calculating resource costs #4122
2024-04-16 11:17:06 +02:00
Andrej730
d03e3a33b5
Fix issue renaming objects first time project was loaded after 962b8fa
...
E.g. if you load a project and try to rename some element to "test" it will renamed to "test" instead of "IfcWindow/test" e.g.
Since we relid on `obj.name` handler to set `.is_renaming` back to `False`, it didn't set it back to False when project was just loaded and renamed object was not yet linked to ifc element and name handler is not yet setup.
Another option was to check whether object is linked before changing `is_renaming` but just setting it to False should be more more explicit.
2024-04-16 11:17:06 +02:00
Andrej730
50e568b706
prefix bim.assign/unassign_object to avoid operator override #4099
...
Co-Authored-By: Bruno Perdigão <57102715+brunoperdigao@users.noreply.github.com >
2024-04-16 11:16:59 +02:00
Andrej730
9e3b3aca42
Fix for 308457300
...
Co-Authored-By: Bruno Postle <bruno@postle.net >
2024-04-16 11:16:59 +02:00
ay-ex
c2b67ac665
fix cmake regex for used blender python version
2024-04-16 11:16:59 +02:00
Andrej730
652c402d37
Temp disable setting paint_active_slot from external materials #4129
2024-04-16 11:16:59 +02:00
Andrej730
e907951952
Less console errors if failed to find external styles library
...
Now:
```
Error: Error loading external style - cannot find file: 'D:\Dropbox\GitHub\OD_Textures\Closed (Encrypted)\Materials.blend'
```
Before:
```
File "\blenderbim\bim\module\style\prop.py", line 250, in update_shading_style
Error: Error loading external style - cannot find file: 'D:\Dropbox\GitHub\OD_Textures\Closed (Encrypted)\Materials.blend'
Traceback (most recent call last):
File "\blenderbim\bim\module\style\prop.py", line 255, in update_shading_style
bpy.ops.bim.activate_external_style(material_name=blender_material.name)
File "L:\Games\SteamLibrary\steamapps\common\Blender\4.0\scripts\modules\bpy\ops.py", line 109, in __call__
ret = _op_call(self.idname_py(), kw)
RuntimeError: Error: Error loading external style - cannot find file: 'D:\Dropbox\GitHub\OD_Textures\Closed (Encrypted)\Materials.blend'
```
2024-04-16 11:16:59 +02:00
krande
747c32b9b2
remove ci-py-only.yml as ci.yml already does this
2024-04-16 11:16:57 +02:00
krande
f73a438d38
add test and update ci
2024-04-16 11:16:40 +02:00
krande
c031ffc4b4
update ci
2024-04-16 11:16:40 +02:00
krande
2f3bfb340b
add fix for ci tests
2024-04-16 11:16:38 +02:00
krande
680f075b1b
remove ifc2x3 conditional in conversion utility
2024-04-16 11:16:08 +02:00
krande
5a61173052
update name of function to make its purpose more clear
2024-04-16 11:16:08 +02:00
krande
187da13de8
update unit_assignment
2024-04-16 11:16:08 +02:00
krande
5c75cc6a39
initial proposal for updating units conversion
2024-04-16 11:16:08 +02:00
Andrej730
c9200fb73c
Fix #4124
2024-04-16 11:16:08 +02:00
Sigma Dimensions (Yass)
37b282d330
Fix CSV workschedule import - handle date-related attributes more gracefully
2024-04-16 11:16:08 +02:00
Sigma Dimensions (Yass)
7f4ab61b8a
fix displaying derived task durations
2024-04-16 11:16:08 +02:00
Thomas Krijnen
6309122516
nix build-all: don't strip non-release wrapper builds
2024-04-16 11:16:08 +02:00
Bruno Postle
c55092f234
BlenderBIM IFC Git set push.autoSetupRemote
...
When pushing to a remote repository set tracking for the current branch
so that a locally created repository behaves the same (on the
command-line) as a cloned repository
2024-04-16 11:16:08 +02:00
Andrej730
8b69bf00f6
test for loading ifc with blob textures
2024-04-16 11:16:08 +02:00
Andrej730
f526819ef3
test for loading ifc style to blender material
2024-04-16 11:16:08 +02:00
Andrej730
e676c836c9
BBIM to support loading IfcBlobTexture
2024-04-16 11:16:08 +02:00
Andrej730
c02e0a5b01
support to add all surface style types creating new IfcSurfaceStyle
...
Previously it was working only for shading styles, for other styles it worked but then produced errors as IfcSurfaceStyle.Styles end up being None.
2024-04-16 11:16:08 +02:00
Dion Moult
25552163b5
Patch recipes can now be performed in-place and are sorted in the UI.
2024-04-16 11:16:08 +02:00
Dion Moult
7baffef9de
Add support for manual classifications and references
2024-04-16 11:16:08 +02:00
Andrej730
37a7c8a41f
disable rel paths for adding ref images and textures with unsaved .ifc
2024-04-16 11:16:08 +02:00
Andrej730
35fbd3363d
Fixed issues using relative paths for external styles
...
- removed redundant notion about saving .blend file
- relative paths were saved incorrectly
- fix issue using "bim.browse_external_style" if IfcSurfaceStyle already has external style and it's either .blend file or material in it is missing (it was failing opening file browser)
2024-04-16 11:16:08 +02:00
Andrej730
863ed5f002
small error message fix
...
as it appears as one of the messages during .ifc load, that way it will be more clear that it's related to external styles
2024-04-16 11:16:08 +02:00
Andrej730
c60fed8b58
Fix issue BrowseExternalStyle not selecting current external style in file manager
2024-04-16 11:16:08 +02:00
Andrej730
1251a7838a
Pull all shading related material attributes from external styles #4053
2024-04-16 11:16:08 +02:00
Dion Moult
77bc031800
New SetWorldCoordinateSystem patch. Autodesk software is starting to pay attention to this attribute which I find really confusing.
2024-04-16 11:16:08 +02:00
Dion Moult
83a12ea7f9
Nesting collections only generate for element nesting, not port nesting
2024-04-16 11:16:07 +02:00
Andrej730
ab47291760
Support editing IfcSurfaceStyleLighting in UI
2024-04-16 11:16:07 +02:00
Andrej730
eb30b30186
style.edit_surface_style to support editing IfcSurfaceStyleLighting
...
It was failing because api method wasn't supporting IfcColourRgb attributes edit in general but only for IfcSurfaceStyleShading.SurfaceColour
2024-04-16 11:16:07 +02:00
Andrej730
3034d88a89
Support editing IfcSurfaceStyleRefraction in UI
2024-04-16 11:16:07 +02:00
Andrej730
fcd7d4186d
Hide IfcStyledItem from bim.print_unused_elements_stats
...
as IfcStyledItem can be not referred by any other element and it doesn't mean it's not used in the project
2024-04-16 11:16:07 +02:00
Andrej730
b6b0e958b5
style.add_surface_texture to work without blender material provided
2024-04-16 11:16:07 +02:00
Bruno Postle
343589f1c0
Fix Clipping divide error (reported in #4057 )
2024-04-16 11:16:07 +02:00
Andrej730
6bbb509c09
data.py rename for consistency
2024-04-16 11:16:07 +02:00
Andrej730
128afc53f0
Remove old external styles UI from material in favor of general styles UI
...
Adding external styles from other styles now also moved to general styles UI - https://i.imgur.com/uEyjKVY.png
2024-04-16 11:16:07 +02:00
Andrej730
67ec30582f
Fix after 2520a9305
2024-04-16 11:16:07 +02:00
Andrej730
33c771bc3d
Fixed #4105
2024-04-16 11:16:07 +02:00
Carlos Dias
bf3c1d4044
Update __init__.py
...
Fix bug
2024-04-16 11:16:07 +02:00
Thomas Krijnen
e2543b4374
Update build-all.py - py vers
2024-04-16 11:16:05 +02:00
Andrej730
43920f3c81
Override some more blender scene panels #3842
2024-04-16 11:12:08 +02:00
Andrej730
0b594f69b0
Fix issues unregistering overridden panels
...
Previously overridden scene panels were removed but original panels were not restored.
Also added condition check for Blender version to generate list of panels to override, so we won't miss any errors using `try - except`.
2024-04-16 11:12:08 +02:00
Andrej730
8c4bcc22a1
Procedural override for default blender panels, hide keying panels #3842
...
also fixed the issue with default scene panels that were parented to other panels - because we didn't change `bl_parent_id` the panel structure for them was broken.
2024-04-16 11:12:08 +02:00
Bruno Postle
26d42bf14e
BlenderBIM user docs update after 6452872
2024-04-16 11:12:08 +02:00
Andrej730
6dfeadf193
Fixed issues with linked elements from linked blend files #4081
...
In #4081 reported the case when during redo (changing param in operator's popup) `Ifc.rebuild_element_maps` was relinking elements without discarding possible linked blender libraries. It end up accidentally linking some library's objects to the current Ifc file leading to errors.
Also fixed possible similar issue in couple other places.
2024-04-16 11:12:08 +02:00
Andrej730
e926547c92
test for tool.Blender.copy_node_graph #3876
2024-04-16 11:12:08 +02:00
Dion Moult
6dcc8c2a5a
Fix #4085 . Classification reference URIs now have a button you can jump to that link.
2024-04-16 11:12:08 +02:00
Dion Moult
e40336be2a
Fix #4086 . Add support for non predefined bSDD pset and qto values.
2024-04-16 11:12:08 +02:00
Dion Moult
e469886cdd
Fix #4092 . Minor bug with bad detection of text literals when switching geometry.
2024-04-16 11:12:08 +02:00
Dion Moult
4d20c20cb6
Fix #4090 . Bug where profile set generator didn't accommodate optional axes.
2024-04-16 11:12:08 +02:00
Andrej730
83c9d70991
Fix reference images import after styles ui change
2024-04-16 11:12:08 +02:00
Andrej730
b92ab2c85c
Representation Items UI - replace icon for active style
...
Now it's more consistent because we use the same icon is Styles UI
2024-04-16 11:12:08 +02:00
Andrej730
32c1f20eb3
style.edit_surface_style - fix crash setting attribute to None
...
Occured on setting IfcColourOrFactor attribute to None (e.g. DiffuseColour).
2024-04-16 11:12:08 +02:00
Andrej730
fa31e10a77
Styles UI - moved UI from shader graph N-panel to Styles UI #3912
...
Moved all shading style and textures parameters from shader-graph N-panel to general Styles UI. Shader graph now also update in real time on any prop changes in Styles UI.
Now there is practically no need to switch to shader graph to edit styles shaders - all parameters are available from the Styles UI. That also allows you to edit styles and see the results in viewport even if the edited style is not the one that's currently active.
small demo - https://imgur.com/a/i2suoZw
2024-04-16 11:12:08 +02:00
Martin15135215
d0c68d3f5b
add cff for ifcsverchok
2024-04-16 11:12:08 +02:00
Martin15135215
2b49c6e752
add cff for serializers
2024-04-16 11:12:08 +02:00
Martin15135215
9ecc264e19
add cff for qtviewer
2024-04-16 11:12:08 +02:00
Martin15135215
5744c3a821
add cff for ifcwrap
2024-04-16 11:12:08 +02:00
Martin15135215
9ab54425b4
add cff for ifctester
2024-04-16 11:12:08 +02:00
Martin15135215
46f7241da5
add cff for ifcpatch
2024-04-16 11:12:08 +02:00
Martin15135215
5bec6c8e99
add cff for ifcparse
2024-04-16 11:12:08 +02:00
Martin15135215
55227daf17
add cff for ifcopenshell-python
2024-04-16 11:12:08 +02:00
Martin15135215
f9ea887de3
add cff for ifcmax
2024-04-16 11:12:08 +02:00
Martin15135215
c8b9a1bd37
add cff for ifcjni
2024-04-16 11:12:08 +02:00
Martin15135215
47e4c6c22b
add cff for ifcgeom_schema_agnostic
2024-04-16 11:12:02 +02:00
Martin15135215
b844260e13
add cff for ifcgeom
2024-04-16 11:10:59 +02:00
Martin15135215
05a7392c1a
add cff for ifcfm
2024-04-16 11:10:59 +02:00
Martin15135215
bb0feeab01
add cff for ifcdiff
2024-04-16 11:10:59 +02:00
Martin15135215
ae38d5053a
add cff for ifccsv
2024-04-16 11:10:59 +02:00
Martin15135215
9b2b808ff3
add cff for ifcconvert
2024-04-16 11:10:59 +02:00
Martin15135215
76ec22d85c
add cff for ifcclash
2024-04-16 11:10:59 +02:00
Martin15135215
a557a80228
Add cff for ifccityjson
2024-04-16 11:10:59 +02:00
Martin15135215
ea4b23d6a3
add cff for ifcblender
2024-04-16 11:10:59 +02:00
Bruno Perdigão
44bffc8672
add_aggregate now add the empty using the 3d cursor location
2024-04-16 11:10:59 +02:00
Ryan Schultz
b847656e69
Added classification to selector
2024-04-16 11:10:59 +02:00
c4rlosdias
c71ff5fb10
Update Load bSDD domains
2024-04-16 11:10:58 +02:00
Dirk Olbrich
caab8f8036
bbim-docs: add interface property editor section
...
- add stubs for each sub-tab
2024-04-16 11:10:58 +02:00
Dirk Olbrich
8a218249dd
bbim-docs: use figure with caption instead of plain image
2024-04-16 11:10:58 +02:00
Dirk Olbrich
76f25c755b
bbim-docs: update workspace doc for sidebar panels
2024-04-16 11:10:58 +02:00
Dion Moult
401db55c55
Implement support for managing nest hosts and components.
2024-04-16 11:10:58 +02:00
Bruno Perdigão
302dc8eb9f
added report messages
2024-04-16 11:10:58 +02:00
Bruno Perdigão
2fb8fafbb4
added the option to refresh different groups of linked aggregate
2024-04-16 11:10:58 +02:00
Bruno Perdigão
f859c06858
bugfix in recreate_aggregate
2024-04-16 11:10:58 +02:00
Bruno Perdigão
b2cb907599
Refresh Linked Aggregate now handles multiple selection
2024-04-16 11:10:58 +02:00
Bruno Perdigão
172ea49e30
merged the branch 'improvements-on-override-duplicat'
2024-04-16 11:10:58 +02:00
Bruno Perdigão
1d51244205
moved 'recreate_assembly' to tool/root.py
2024-04-16 11:10:58 +02:00
Bruno Perdigão
e25948bd03
added more tests
2024-04-16 11:10:58 +02:00
Bruno Perdigão
b21b0751fa
added test scenario for duplicating an aggregate
2024-04-16 11:10:58 +02:00
Bruno Perdigão
3569780f06
recreates assembly for array children objects
2024-04-16 11:10:58 +02:00
Bruno Perdigão
4d2b2ae5d2
Duplication now recreates connections path #3770
2024-04-16 11:10:58 +02:00
Bruno Perdigão
e5a6e0f761
small deletions
2024-04-16 11:10:58 +02:00
Bruno Perdigão
1366c3bed9
ifc_duplicate_operator now remove the connections with old objects. Similar solutions presented in PR #3789
2024-04-16 11:10:58 +02:00
Bruno Perdigão
55962692bb
Fix #2187 . ifc_duplicate_operator now recreates the IfcElementAssembly structure into a new Assembly
2024-04-16 11:10:58 +02:00
Bruno Perdigão
d1eddb751b
Groups are only added to the parent. Parts now have a pset with index
2024-04-16 11:10:58 +02:00
Bruno Perdigão
5381bf7e48
removed the pset and added group to all elements
2024-04-16 11:10:58 +02:00
Bruno Perdigão
60046ee93d
improvements on dealing with sub-aggregates
2024-04-16 11:10:58 +02:00
Bruno Perdigão
f244f46980
wip: RefreshLinkedAggregate is working with IfcGroup
2024-04-16 11:10:58 +02:00
Bruno Perdigão
25a4f26ffe
wip: refactor of RefreshLinkedAggregate. The operator triggers all the other linked aggregates deletion.
2024-04-16 11:10:58 +02:00
Bruno Perdigão
8d02d1d5fc
IfcElementAssembly share a group instead of a pset
2024-04-16 11:10:58 +02:00
Bruno Perdigão
70bad12d82
Changed operator name
2024-04-16 11:10:58 +02:00
Bruno Perdigão
8bb5ac3542
wip: DuplicateMoveAggregate now calls DuplicateMove function and removes code duplication
2024-04-16 11:10:58 +02:00
Dion Moult
ecc0e85c50
Fix #4076 . Fix bug where drawing activation priorities didn't match drawing generation priorities, and switching to a text literal representation failed.
2024-04-16 11:10:58 +02:00
Dion Moult
a70d1ac1ca
Fix #4078 . Bug in IfcTester that didn't allow certain facets to be used as applicabilities. Also canonicalise facet ordering for convenience.
2024-04-16 11:10:58 +02:00
Dion Moult
298363c175
Fix bug in TessellateElements patch recipe where sometimes the patch would run forever.
2024-04-16 11:10:58 +02:00
Dion Moult
325e8751c5
Run black on cityjson2ifc
2024-04-16 11:10:58 +02:00
Dion Moult
5e4a0f2577
Fix two minor bugs in cityjson2ifc
2024-04-16 11:10:58 +02:00
Andrej730
670cf33ec9
fixed couple styles ui bugs
...
1) it was failing adding a new IfcSurfaceStyle if surface_style_class != Shading/Render as surface_style was not defined
2) It was never creating render material as IfcSurfaceStyleRendering class is a child of IfcSurfaceStyleShading and if statement never got to the is_a("IfcSurfaceStyleRendering") check
2024-04-16 11:10:58 +02:00
Andrej730
fe9ad74fd5
Use paths relative to .ifc instead of .blend choosing texture paths
...
Texture path file dialog is also filtering image files now.
Removed subtype from `FILE_PATH` from all related props since `layout.prop()` for those props starts file dialog that cannot return path relative to .ifc. It can return path relative to .blend - though it can be processed in props update to convert to relative to .ifc, this doesn't allow setting relative paths if .blend is not saved. Therefore, I've created a separate operator.
add
2024-04-16 11:10:58 +02:00
Andrej730
67ef292b85
Store reference images by relative paths #3447
2024-04-16 11:10:58 +02:00
Andrej730
44c05ce71d
Fix normals for generic parametric stairs #4020
...
Also made concrete stair normals defined more explicitly.
2024-04-16 11:10:57 +02:00
Massimo Fabbro
5dc6c736ec
fix #3834 . Now clone opening produces valid IFC files
2024-04-16 11:10:57 +02:00
Dion Moult
b9f33e06bd
Fix #4072 . IDS reports now include filename.
2024-04-16 11:10:57 +02:00
Dion Moult
31e912cf12
Fix #4073 . Objects with no applicable context for the drawing view are now hidden.
2024-04-16 11:10:57 +02:00
Bruno Postle
0735dbd92b
BlenderBIM IFC Git allow branch creation from HEAD
...
Previously you could only create branches by checking out an older
revision, making changes and committing it. This was an annoyance as
typically you are making changes to the HEAD of a branch, then you
realise this should have been a branch - now you can create the branch
on commit (#3096 )
2024-04-16 11:10:57 +02:00
Ryan Schultz
24dfa57831
allow SI with CAD tools.
2024-04-16 11:10:57 +02:00
Bruno Postle
1f4c2e0989
BlenderBIM IFC Git fix typo in function name
2024-04-16 11:10:57 +02:00
Thomas Krijnen
4f64b658b0
don't fail on null guid for rooted element deletion #2796
2024-04-16 11:10:44 +02:00
Andrej730
c3d24c76f2
Reference images attached to the drawings #3447
...
You can also save them as annotation types.
Example - https://imgur.com/a/6trT7SZ
2024-04-16 11:09:32 +02:00
Andrej730
a0ae28c05b
bim.update_representation to save non-body representations styles #3447
2024-04-16 11:09:32 +02:00
Andrej730
505b95d8cd
Fixed issue importing drawing's IfcAnnotations with styles #3447
2024-04-16 11:09:32 +02:00
Andrej730
64c3550378
fix poll errors
2024-04-16 11:09:32 +02:00
Andrej730
35cfea5bd7
Revert "Minor fix - remove redundant code"
...
This reverts commit 7828508179 .
Turned out when I was assuming `bim.add_style` is assigning the style but it wasn't, it was `bim.update_representation` on the file save. So basically during the session style wasn't assigned, therefore I added back explicit style assignment. 😬
2024-04-16 11:09:32 +02:00
Andrej730
661d6bcfe7
fixed typo
2024-04-16 11:09:32 +02:00
Thomas Krijnen
f50509d2d4
occ_utils.py - #1037
2024-04-16 11:09:32 +02:00
MicheleBenedetti
aa33148fe5
mistype-fix
2024-04-16 11:09:32 +02:00
Andrej730
e51d2daf64
Fixed issues applying arrays
...
because pset wasn't removed BBIM was recognizing those elements as parts of an array resulting in issues during deletion and duplication. This issue is a regression after ec4f0e5 , the root problem was that `keep_objs` wasn't working with `sync_children`.
Since `keep_objs` was used only for applying array layers I've replaced it with `array_layers_to_apply` that works for both `sync_children` = True and False.
https://community.osarch.org/discussion/1831/duplicating-failed-for-array-items-after-apply-array
2024-04-16 11:09:32 +02:00
Andrej730
4fa634cf5c
Minor fix - remove redundant code
...
style assignment was already done by `bim.add_style`
2024-04-16 11:09:32 +02:00
Dion Moult
f7e3d54618
FixRevitTINs patch now also flips normals for surface TINs instead of solid TINs.
...
Minor fixes to use view_layer.object.active etc instead of context.active_object when running via Blender UI (it seems when you run the patch recipe from the Blender UI at least in later versions, context does not have an "active_object" property.
2024-04-16 11:09:32 +02:00
Andrej730
dd7ddf21a6
bim.add_reference_image #3447
...
Added operator to load image references as planes that will be stored in IFC.
Button location - https://i.imgur.com/L87BPyX.png
Example - https://imgur.com/a/JJXyU6C
2024-04-16 11:09:32 +02:00
Andrej730
66d0d00393
move all operators added to "add mesh" menu to common method in ui.py
2024-04-16 11:09:32 +02:00
Dion Moult
9e8e095b32
Fix #4049 . New basic "regenerate occurrence name" operator.
2024-04-16 11:09:32 +02:00
Dion Moult
31bfdcb8da
Fix #4054 . You can now select objects based on diff results.
2024-04-16 11:09:32 +02:00
Dion Moult
c5164395b8
See #4054 . Diffing now allows partial loading of changed elements to make it easier to visualise without loading and linking two models.
2024-04-16 11:09:32 +02:00
Dion Moult
f071c5746b
Fix #4057 . Data objects for the API are now in util.data instead of mixed into the shape builder utility and only depends on numpy.
2024-04-16 11:09:32 +02:00
Bruno Postle
a2a7d56691
minor documentation typo fix
2024-04-16 11:09:32 +02:00
Bruno Postle
31bbcf2086
Fix python 3.12 SyntaxWarning ( #4045 )
...
Regular expressions now need to be double-escaped:
https://docs.python.org/3/whatsnew/3.12.html#other-language-changes
2024-04-16 11:09:32 +02:00
Dion Moult
b4bfc6e979
Fix #4057 . Move clipping info dataclass to util.shape_builder
2024-04-16 11:09:32 +02:00
Andrej730
80eaf3ba3f
created uv map to have constistent name with Blender uvs
...
Previously it was named "Float2"
2024-04-16 11:09:29 +02:00
Andrej730
f99029d8ad
moved load_texture_map to tool.Loader, added a test
2024-04-16 11:09:29 +02:00
Andrej730
bff9d7b192
bim.save_uv_to_style - experimental operator to save current uv to ifc
...
it's very limited and covering very little cases now. It works only for IfcPolygonalFaceSets representations that consists of triangles.
Short example - https://imgur.com/a/1AxunSN
2024-04-16 11:09:29 +02:00
Andrej730
3eaea9802f
fixed issue importing uv failing for some IfcPolygonalFaceSets
...
It was failing with IfcIndexedTriangleTextureMap + IfcPolygonalFaceSet
2024-04-16 11:09:29 +02:00
Andrej730
d77794594c
fixed issue importing uv on non meters projects
2024-04-16 11:09:29 +02:00
Andrej730
b7ed178d0a
fixed issue settings style blender props if there are not texture style
2024-04-16 11:09:28 +02:00
Andrej730
ac15452dd3
fixed issue with importing ifc objects with uv after 03a6ee912
2024-04-16 11:09:28 +02:00
Dion Moult
304acdccef
Fix #3059 . Implement IfcTester prohibited string templates (taking into account double negatives)
2024-04-16 11:09:28 +02:00
c4rlosdias
a464551644
Update IfcTester and Tester module of Blenderbim
2024-04-16 11:09:28 +02:00
Dion Moult
d6142d90a9
Fix #3996 . Reassigning occurrences or types now also reassigns the correlating occurrence or type.
2024-04-16 11:09:28 +02:00
Dion Moult
4f8a6c47a1
Fix #4052 . Bug where invalid plane was generated due to missing X axis.
2024-04-16 11:09:28 +02:00
Dion Moult
ac42318a64
Fix #3974 . Bug where orphaned histories would be left in API remove operations.
2024-04-16 11:09:28 +02:00
Kristoffer Andersen
4f655870b3
Update installation.rst
...
add more information about conda package installation
2024-04-16 11:09:28 +02:00
Dion Moult
d0cab0821d
See #3974 . WIP review to ensure history removal in API.
2024-04-16 11:09:28 +02:00
Andrej730
53da438b23
Small styles UI tweaks
...
- fixed a typo in bim.select_by_style
- added note to clarify what Shade/Render/Texture/Lighting/etc buttons do and moved style selection block at the beggining (maybe it's just me but when edit buttons are above selection ui it seemed like they affect all the styles somehow, not just the currently active one), so it will be more intuitive
Before:
https://i.imgur.com/jRSTLGI.png
After:
https://i.imgur.com/8ih4qSX.png
2024-04-16 11:09:28 +02:00
Andrej730
4d3f8f14b4
bim.validate_ifc_file to detect if there where no validation errors
2024-04-16 11:09:28 +02:00
Dion Moult
4b44427e90
Fix #4044 . Bug where object in camera view algorithm was wrong. Simplied to simple AABB test.
2024-04-16 11:09:28 +02:00
Andrej730
c5c7109415
Fixed issue duplicating IfcRelSpaceBoundary #4043
2024-04-16 11:09:28 +02:00
Andrej730
1019b0c075
Fixed console errors with BIM Tool when boundary object is selected
2024-04-16 11:09:28 +02:00
Andrej730
4e71671412
test creating surface style without IFC entities
2024-04-16 11:09:28 +02:00
Andrej730
e98d7ed89c
BBIM Shader Graph Settings - setting uv mode for the textures
...
Now you can set UV mode that will be used to sample textures (previously it was always using UV data on geometry or breaking if it was otherwise). Basically now you can use autogenerated UV for the objects without UV.
https://i.imgur.com/WtYdpmU.png
Removed BIMMaterialProperties.ifc_coordinate_id as it was only used during the ifc_import and maintained by the `Loader.create_surface_style_with_textures` which is also used to update live shader graph that not always have specific IFC id for the UV.
2024-04-16 11:09:28 +02:00
Andrej730
3aa3b329c7
Fixed issue updating texture style for non-faceset representations
2024-04-16 11:09:28 +02:00
Dion Moult
bc04a65109
Fix #4027 . Fix regression where S-D or A-D hotkeys didn't follow vanilla Blender behaviour from 81a1bd9
2024-04-16 11:09:24 +02:00
Dion Moult
5f1943a756
Fix #4037 . IfcTester reports now also include an element type column.
2024-04-16 11:09:24 +02:00
Dion Moult
267505bd99
Fix #4034 . Bug where abstract pset template applicabilities didn't apply to occurrences as well as types.
2024-04-16 11:09:24 +02:00
Bruno Postle
c846edd896
Revert 1d972a6 as no datetime.UTC on CI server
2024-04-16 11:09:24 +02:00
Bruno Postle
98cba98f7d
fix python 3.12 utcnow() deprecation warning
...
Warning is:
/usr/lib64/python3.12/site-packages/ifcopenshell/api/project/create_file.py:61:
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version.
Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
2024-04-16 11:09:24 +02:00
Bruno Postle
4b074fc79e
python api documentation fix
2024-04-16 11:09:24 +02:00
krande
5f3e9f7576
add a workflow dispatch trigger (lets you click a button in the github actions workflow panel to start a new build)
2024-04-16 11:08:05 +02:00
krande
8c0ec6d398
test one more time on my fork before merging
2024-04-16 11:08:05 +02:00
Kristoffer Andersen
a744aa8570
Update ci-ifcopenshell-conda-daily.yml
...
change from deprecated mamba provisioner and move to python 3.11 and 3.12
2024-04-16 11:06:20 +02:00
Gorgious56
50561d72b8
You can now select the same ifc classes and match predefined types with SHIFT + Clicking the "Select Ifc Class" button
2024-04-16 11:05:27 +02:00
Andrej730
518f054cbd
edit_object_placement optimization for objects with subchildren #4035
...
1) We were iterating over same subchildren 2 or more times.
2) There is no need to change subchildren position at all since their parent position is already adjusted.
Explained here in detail - https://github.com/IfcOpenShell/IfcOpenShell/issues/4035#issuecomment-1822824352
2024-04-16 11:05:27 +02:00
Dion Moult
847f0890e0
Fix #3691 . Add toggle for power users to disable the BIM toolbar if an IFC isn't loaded.
2024-04-16 11:05:27 +02:00
Dion Moult
f1b59ee583
New style manager supports basic editing of externally defined surface styles
2024-04-16 11:05:27 +02:00
Dion Moult
e3742cefb0
Minor IfcPatch doc fix where examples had a missing argument
2024-04-16 11:05:27 +02:00
Dion Moult
f2e56f8128
Minor fix to "select multiple IFC class" implementation
2024-04-16 11:05:27 +02:00
Dion Moult
a18cd0eeab
IfcFM panel now autodetects available engines with names and descriptions
2024-04-16 11:05:27 +02:00
Ryan Schultz
d49fb90320
Select all objects from multiple selected classes
2024-04-16 11:05:27 +02:00
Andrej730
86f0af030a
fill userdefined type field during reassigning IFC class #4034
...
to avoid confusion
2024-04-16 11:05:27 +02:00
Andrej730
d5253a8cbf
store path to bcf in Blender file to reaccess it on Blender restart
...
Previously it was throwing errors if load .bcf and then restart Blender, since it was just trying to reaccess file in BcfStore.bcfxml which is gone after Blender restart. Now we store filepath to bcf in Blender properties to reload it after Blender restart.
Removed BCFProperties.is_loaded as it won't be possible to rely on it after Blender restart - after restart it will still indicate that file is loaded and it won't be possible to change it from .poll and .draw if file is gone.
2024-04-16 11:05:27 +02:00
Dion Moult
b84cb72e1d
New graphical element filtering UI for drawing filters that lets you also use saved searches.
2024-04-16 11:05:27 +02:00
Dion Moult
10a4fcfa10
If there is a Blender offset, show the non-offset placement in the placement panel
2024-04-16 11:05:27 +02:00
Dion Moult
eaf939070b
Fix bug when loading IFC with unsupported reflectance method (even though we don't fully support them yet)
2024-04-16 11:05:27 +02:00
Dion Moult
3e36e87311
Move georeferencing calculator panel until scene georeferencing panel.
...
Slowly all the N sidebar panels should be moved away.
2024-04-16 11:05:27 +02:00
Andrej730
b369c5e06e
BCF Viewpoint - clear selection before hiding IfcSpaces #4031
2024-04-16 11:05:27 +02:00
Andrej730
6fd629f707
Fixed issue reassigning class to type class with userdefined type #4018
...
When PredefinedType is not found in the related enum reassign_class is considering it USERDEFINED and trying to set .ObjectType. The problem was it was doing for type classes also, when it should have set .ElementType instead.
Why it crashed BlenderBIM - in IfcClassData.data["has_entity"] we store currently active IFC entity which is recreated during `ifcopenshell.util.schema.reassign_class` making old entity invalid. Since `root.reassign_class` was failing in the process, related BBIM operator was failing too, IfcClassData wasn't updated and removed entity was accessed from UI leading to crash.
2024-04-16 11:05:27 +02:00
Dion Moult
1dd401d77e
Fix critical georeferencing autodetection regression due to refactor of new context filters.
2024-04-16 11:05:27 +02:00
Dion Moult
b20f0dd199
Improve geometry guessing to also check placements of random sample of elements (not just site and building), not just geometry
2024-04-16 11:05:27 +02:00
Dion Moult
be584d9155
New IfcPatch recipe to tessellate elements to account for bugs in other vendors.
2024-04-16 11:05:27 +02:00
Dion Moult
15f06dee29
Fix missing LGPL license blocks in IfcPatch
2024-04-16 11:05:27 +02:00
Andrej730
4fba7461c2
Fixed more overlooked context overrides... #3876
2024-04-16 11:05:26 +02:00
Andrej730
ffce41be95
Fixed #4026 related to #3876
2024-04-16 11:05:26 +02:00
Andrej730
581014a1d5
Move code using ui index from data to ui #4028
...
As UI indices changes doesn't trigger data.py updates and information on screen is not synced with the active item anymore.
2024-04-16 11:05:26 +02:00
Dion Moult
990611c160
Add support for loading nested elements and consider nesting for indirect spatial containment.
2024-04-16 11:05:26 +02:00
Dion Moult
6e97ef66a1
Don't unnecessarily merge materials which can be very computationally consuming on file loads (e.g. from software like Solidworks) which will be made redundant now that a new materials/style management system is WIP.
2024-04-16 11:05:26 +02:00
Dion Moult
fd53adfa49
New ConvertNestToAggregate patch recipe
2024-04-16 11:05:26 +02:00
Bruno Postle
9483835356
IfcGit.load_project() can be used to refresh scene
...
If no file path is given, clear blender objects and regenerate
the scene from the current ifc project in IfcStore
2024-04-16 11:05:26 +02:00
Massimo Fabbro
44b625bf24
fix #4011 . More precise IfcRoof qto calculator
2024-04-16 11:05:26 +02:00
Massimo Fabbro
63636e1cc7
Minor fix
2024-04-16 11:05:26 +02:00
Massimo Fabbro
4b3a49dc3b
Covering Tool: fixed bug if the project is defined in units different from SI units
2024-04-16 11:05:26 +02:00
Andrej730
e17a6c326f
minor fix to support union typing before python 3.10 #3774
2024-04-16 11:05:26 +02:00
Andrej730
8dc9376844
ClippingInfo util class to pass and apply plane clippings #3774
...
Co-Authored-By: Carlos Villagrasa <carvillasil@gmail.com >
2024-04-16 11:05:26 +02:00
Andrej730
1c002c6845
minor fixes
...
- error in settings poll message for bim.assign_selected_as_product
- test that drawing.assign_product won't create new assignments for the same product
2024-04-16 11:05:26 +02:00
Andrej730
d56ec42905
minor fix - clean up after debug
2024-04-16 11:05:26 +02:00
Andrej730
bf943951c1
Tests for connecting mep elements and regenerating them
...
Also:
- fixed bug with bim.mep_connect_elements not considering actual blender blender object's position
- moved syncing ifc position with blender object position to tools (sync_object_ifc_position)
- fixed a bug in adding a bend that occured if either any of the start/end points of the start/end segments matched - in that case one of the segments end up not connected to the bend
2024-04-16 11:05:26 +02:00
Andrej730
891e4d93a7
Fixed error importing .ifc that has element aggregated by ifcproject
...
In case if some element (not another aggregate) was aggregated by IfcProject directly, importing IFC was resulting in error below since the project's collection was never added to `self.collections`.
Traceback:
```
File "\scripts\addons\blenderbim\bim\module\project\operator.py", line 732, in execute
ifc_importer.execute()
File "\scripts\addons\blenderbim\bim\import_ifc.py", line 292, in execute
self.place_objects_in_collections()
File "\scripts\addons\blenderbim\bim\import_ifc.py", line 1668, in place_objects_in_collections
self.place_object_in_collection(self.file.by_id(ifc_definition_id), obj)
File "\scripts\addons\blenderbim\bim\import_ifc.py", line 1672, in place_object_in_collection
self.place_object_in_decomposition_collection(element, obj)
File "\scripts\addons\blenderbim\bim\import_ifc.py", line 1689, in place_object_in_decomposition_collection
return self.collections[aggregate.GlobalId].objects.link(obj)
KeyError: '2bKVb8E7L6e89EQYJUk8BM'
```
2024-04-16 11:05:26 +02:00
Andrej730
485f654f93
Assigning product from selected objects #4015
2024-04-16 11:05:26 +02:00
Dion Moult
2644d080d9
Revert "You can now override custom category element functions in IfcFM"
...
This reverts commit 8a63275db0 .
2024-04-16 11:05:26 +02:00
Dion Moult
4fb01f2fe6
Minor alignment of Basic FM preset to IFC property naming
2024-04-16 11:05:26 +02:00
Dion Moult
b3a2c7c4b7
You can now override custom category element functions in IfcFM
2024-04-16 11:05:26 +02:00
Dion Moult
257b3ce1d9
Minor bug fix to COBie 2.4 space descriptions
2024-04-16 11:05:26 +02:00
Dion Moult
9985ffb413
Purge data recipe now also purges shape aspect names and layers.
2024-04-16 11:05:26 +02:00
Andrej730
0cc337fa88
fixed issue adding bend between segments located at the same point
...
also added some tests
2024-04-16 11:05:26 +02:00
Andrej730
036a670910
Fixed issue with UI for types withotu PredefinedType after 1621449
...
Noticed the issue adding IfcFurnitureType in IFC2x3
```
Traceback (most recent call last):
File "\Blender\4.0\scripts\addons\blenderbim\bim\module\model\workspace.py", line 71, in draw_settings
BimToolUI.draw(context, layout, ifc_element_type="all")
File "\Blender\4.0\scripts\addons\blenderbim\bim\module\model\workspace.py", line 230, in draw
AuthoringData.load(ifc_element_type)
File "\Blender\4.0\scripts\addons\blenderbim\bim\module\model\data.py", line 56, in load
cls.data["predefined_type"] = cls.predefined_type()
File "\Blender\4.0\scripts\addons\blenderbim\bim\module\model\data.py", line 258, in predefined_type
predefined_type = relating_type.PredefinedType
File "\Blender\4.0\scripts\addons\blenderbim\libs\site\packages\ifcopenshell\entity_instance.py", line 191, in __getattr__
raise AttributeError(
AttributeError: entity instance of type 'IFC2X3.IfcFurnitureType' has no attribute 'PredefinedType'
```
2024-04-16 11:05:26 +02:00
Andrej730
e1246e257a
New context override method for setting viewport tools #3876
2024-04-16 11:05:26 +02:00
Andrej730
4f76df8cb1
DumpSlabPlaner.change_thickness to use si units #4004
...
It was providing project units to `geometry.add_slab_representation` resulting and then they were converted to project units once again during `geometry.add_slab_representation`.
2024-04-16 11:05:26 +02:00
Andrej730
3d5b9f5e90
black format
2024-04-16 11:05:26 +02:00
Andrej730
db7dc86cd1
Merge two Services sections in Services and Systems tab #4001
...
Two similar sections were needed in the old ui before we added tabs
2024-04-16 11:05:26 +02:00
Ryan Schultz
65859a8f83
closes #4006 : automatically update the geometry of all the objects that have 'similar openings'.
2024-04-16 11:05:26 +02:00
Ryan Schultz
8eef2392da
fixes #3908 : Close the opening (bim.edit_openings) while having the opening selected
2024-04-16 11:05:26 +02:00
VDobranov
8dfd122430
Update reference_structure.py
...
A mistype in docs: should be IfcRelReferencedInSpatialStructure instead of IfcRelContainedInSpatialStructure
2024-04-16 11:05:26 +02:00
Massimo Fabbro
6e6402e07f
Covering Tool now it is possible to add ceiling coverings from selected walls
2024-04-16 11:05:26 +02:00
Andrej730
6140e67702
show mep regenerate and connecte elements for non-profile based elements
2024-04-16 11:05:26 +02:00
Andrej730
944f8695c7
root.remove_product to remove IfcRelFlowControlElements
2024-04-16 11:05:25 +02:00
Andrej730
6cf1f8f49f
fixed issues with ports ui on undo
...
data.py doesn't update on every undo, so passed blender objects got invalidated on undo resulting in errors. changed blender objects to blender object names
2024-04-16 11:05:25 +02:00
Andrej730
fd69d91776
UI for assigning controls to flow elements #3981
...
Example - https://imgur.com/a/CZQIoHp
2024-04-16 11:05:25 +02:00
Andrej730
72b3f1e967
api for assigning/unassigning flow controls #3981
2024-04-16 11:05:25 +02:00
Andrej730
1bb5a14b65
Fixed typo in control.assign_control, added tests
2024-04-16 11:05:25 +02:00
Andrej730
61e5533598
tool.System.add_ports tests
2024-04-16 11:05:25 +02:00
Andrej730
4264b19fd8
fixed issue placing ports on a bend if start segment is bending using Z-
2024-04-16 11:05:25 +02:00
Andrej730
c2c2c4815f
fixed issue in add_ports mutating object's matrix
...
inherently modifying ports positions in some cases
2024-04-16 11:05:25 +02:00
Dirk Olbrich
b069770643
bbim docs: add user interface subsection, general workspace
2024-04-16 11:05:25 +02:00
Dirk Olbrich
9d9140252e
bbimdocs: reorder images folder in users section
2024-04-16 11:05:25 +02:00
Dirk Olbrich
ee6e273b1d
bbim docs: reorder images folder in dev section
2024-04-16 11:05:25 +02:00
Dirk Olbrich
6e00dcd05e
bbim docs: use absolute path for icon images
2024-04-16 11:05:25 +02:00
Dirk Olbrich
fb55077a86
bbim doc: fix list indentation
2024-04-16 11:05:25 +02:00
Dirk Olbrich
e602c3b68b
bbim docs: fix minor warning in ux-guidelines
2024-04-16 11:05:25 +02:00
Dirk Olbrich
ce43bd7bfe
bbim docs: update bbim version, copyright year
2024-04-16 11:05:25 +02:00
Andrej730
21c7751c14
remove BIMGroupProperties.is_adding attribute to avoid confusion
...
The problem with that attribute was that object's and project's group ui section were both using groups loaded to BIMGroupProperties.groups.
So you could run into situation when you try to load object's groups ui and it would show empty list because user never loaded the groups from the project's ui...
So it was either caching groups twice or just using same `is_editing` flag to check whether groups were previously loaded and I went with the single flag.
2024-04-16 11:05:25 +02:00
Andrej730
29e6601a4b
define inherited ports attributes in bim.add_constr_type_instance
2024-04-16 11:05:25 +02:00
Andrej730
0355aa9eef
fixed issue finding finding compatible fitting
...
it occured sometimes when segment's or fitting's PredefinedType/System were not defined
2024-04-16 11:05:25 +02:00
Andrej730
89a5519631
fixed bug with system decoration data if no system were selected
2024-04-16 11:05:25 +02:00
Andrej730
29dda335ea
test stairs calculated params
2024-04-16 11:05:25 +02:00
Andrej730
168095b1c1
Nosing Lengths / Tread Gap for parametric stairs #3422
...
Example - https://imgur.com/d8PxLV4
2024-04-16 11:05:25 +02:00
Ryan Schultz
66f57f90df
Select multiple arrays at one time, from various parts. Deselect non-compliant objects.
2024-04-16 11:05:25 +02:00
Igor.Sokolov
4404470d91
bf: IfcBSplineCurve is an isntance of abstract entity
2024-04-16 11:05:24 +02:00
Igor.Sokolov
fe4dc87cd1
bf: pass-valid-selected-enumeration.ifc
2024-04-16 11:05:24 +02:00
Igor.Sokolov
0f774a675d
bf: pass-group-1-rels-IFC2X3.ifc failed
2024-04-16 11:05:24 +02:00
Igor.Sokolov
27458cc079
bf: pass-attr-count-ok.ifc failed
2024-04-16 11:05:24 +02:00
Dion Moult
87a98afb64
Black
2024-04-16 11:05:24 +02:00
Dion Moult
26d6fdb1bc
Docs now mention historic builds
2024-04-16 11:05:24 +02:00
Dion Moult
142968559d
Minor fix
2024-04-16 11:05:24 +02:00
Andrej730
12a6bf88a9
Customize tread width for the first and last treads #3419
...
Available on all types of stairs, shouldn't break stairs previously created with BBIM.
Example - https://imgur.com/a/2wSueTM
2024-04-16 11:05:24 +02:00
Andrej730
3317dbd4a1
minor refactor
2024-04-16 11:05:24 +02:00
Andrej730
ba1a84e51b
add force depsgraph update method
2024-04-16 11:05:24 +02:00
Andrej730
2697703bb1
skip black format on type manager template description for readibility
2024-04-16 11:05:24 +02:00
Andrej730
617c8b9fd5
stair profile generation code refactor
...
hopefully it's now a bit more readable
2024-04-16 11:05:24 +02:00
Andrej730
3ec513c56a
Fixed stair calculated params not updating during edit (after 8b23c615c)
...
.data doesn't update on props change, so need to take data from props explicitly when BIMStairProperties.is_editing
2024-04-16 11:05:24 +02:00
Andrej730
7d25261395
move generate_stair_2d_profile to tool, add tests
2024-04-16 11:05:24 +02:00
ceegartner
4336b9c1ae
Update unit.py - convert function, case issue
...
Hi,
I noticed an issue and suggest a fix:
Unit names from <si_conversions> are all lowercase, whereas project units extracted from the IFC files with <get_project_unit(...).Name> are uppercase. So the convert function didn't seem to work properly.
Hope this helps!
2024-04-16 11:05:24 +02:00
Dion Moult
cc338d8acc
Forgot rabbit branding.
2024-04-16 11:05:24 +02:00
Dion Moult
0f0d600f3f
New data purging IfcPatch recipe
2024-04-16 11:05:24 +02:00
Dion Moult
fefb3cc0f2
Fix #3963 . Bind IFC separate to P hotkey and prevent separation on non-IFC meshes.
2024-04-16 11:05:24 +02:00
Dion Moult
f40281e979
Fix #3948 . Bug where IfcTester PartOf facet didn't correctly read entity XML.
2024-04-16 11:05:24 +02:00
Andrej730
611f7518d0
Fix issue with calculated params in stair ui
...
it was displaying incorrect data when stair was just loaded because it was relying on BIMStairProperties in ui.py
2024-04-16 11:05:24 +02:00
Dion Moult
9571146065
Fix #3951 . mats selector now supports IfcMaterialList.
2024-04-16 11:05:24 +02:00
Dion Moult
e2b132ba51
See #3951 . IfcCSV now supports list concatenation.
2024-04-16 11:05:24 +02:00
Dion Moult
c9dcd70cdb
Improve data type error reporting
2024-04-16 11:05:24 +02:00
Dion Moult
c94dc3b47e
Fix #3961 . Improve UI so setting null now clears the value.
2024-04-16 11:05:24 +02:00
Andrej730
01dfd6f79a
bim.select_all_array_objects not to clear previous selection #3960
2024-04-16 11:05:24 +02:00
Dion Moult
6759914188
See #3953 . Fix bug where IDSes with a single enumeration value didn't validate.
2024-04-16 11:05:24 +02:00
Dion Moult
7f1a500445
Fix #3957 . Fix bug where shared properties were not edited independently.
2024-04-16 11:05:24 +02:00
Dion Moult
2bd7ce5996
Fix #3958 . Bug where reassigning type class would incorrectly assign occurrence classes.
2024-04-16 11:05:24 +02:00
Dion Moult
f4f227ffe7
Fix regressions in mapped native swept disk handling
2024-04-16 11:05:24 +02:00
Andrej730
edfe9fbcfa
fix future warning for xml.etree
...
The warning was: FutureWarning: The behavior of this method will change in future versions. Use specific 'len(elem)' or 'elem is not None' test instead.
2024-04-16 11:05:24 +02:00
Andrej730
f6eb1b0e78
remove blf.size deprecated dpi argument #3876
...
turn out it wasn't working for awhile now and in Blender 4.0 was completely removed
2024-04-16 11:05:24 +02:00
Andrej730
f3aa456677
Move new Blender 4.0 Simulation section to Scene/Blender tab #3876
2024-04-16 11:05:24 +02:00
Andrej730
7d785d70a2
Warning message on copying node graph on Blender 4.0+ #3876
...
As we're still looking for a workaround
2024-04-16 11:05:24 +02:00
Andrej730
9d642a0f5d
Remove 3D shaders prefix #3876
...
In Blender 4.0 3D_* shaders are called without "3D_" prefix, otherwise it throws an error. Tested on Blender 3.6 - they work without "3D_" prefix too.
2024-04-16 11:05:23 +02:00
Andrej730
9499f4e80d
More context override fixes #3876
2024-04-16 11:05:23 +02:00
Andrej730
5695efa997
fixing test after 0d0b91e
2024-04-16 11:05:23 +02:00
Gorgious56
036c14b538
You can now eyedrop an object in the viewport to copy container when editing container
2024-04-16 11:05:23 +02:00
Ryan Schultz
bb5fccf6fe
More IFC class suggestions
2024-04-16 11:05:23 +02:00
Dion Moult
cd5b54e240
Disable batching for removal as it doesn't seem to help mostly from experience. Still testing.
2024-04-16 11:05:23 +02:00
Dion Moult
cbac393855
See #3955 . PyPI release now specifies compatible Python versions.
2024-04-16 11:05:23 +02:00
Gorgious56
c9199caba5
You can now eyedrop an object in the viewport to copy class and predefined type when reassigning class
2024-04-16 11:05:23 +02:00
Gorgious56
e851d6b671
Clicking on an entry in the search field popup automatically validates and closes the popup
...
No need to click on "OK" anymore.
This is not a hacky workaround using the mouse position, it uses a signal sent to Blender to close the active popup
See https://blenderartists.org/t/programatically-close-pie-menu-2-79/1488807/2
re-committing since it seems I commited to the wrong branch last week
2024-04-16 11:05:23 +02:00
Andrej730
6a9ec1aa00
Replacing old context override method #3876
2024-04-16 11:05:23 +02:00
Andrej730
8b9790822e
setup_pytest to find site-packages folder near sys.executable
...
Used to get errors running setup_pytest.py having python 3.10 installed on my pc (`sys_paths[-1]` was the system's python folder, not the blender's python).
2024-04-16 11:05:23 +02:00
Andrej730
9cd7d8428c
Fixed #3949
2024-04-16 11:05:23 +02:00
Dion Moult
1a7b95bf1e
Minor fix to Uniclass classification
2024-04-16 11:05:23 +02:00
Thomas Krijnen
a7e925b942
Update test file for case insensitivity. Thanks Igor.
2024-04-16 11:05:23 +02:00
Dion Moult
b07f7bcc58
get_footprint_area now unions 2D polygons to prevent double counting
2024-04-16 11:05:23 +02:00
Dion Moult
cdc3f70ff4
Fix #3939 . Bug where IfcLabel data type was incorrectly used for longer text data.
2024-04-16 11:05:23 +02:00
Ryan Schultz
e641120166
Updated default JoinCriteria to accommodate new facet selector for statuses.
2024-04-16 11:05:23 +02:00
Andrej730
371c54036d
test creating mep transition
2024-04-16 11:05:23 +02:00
Andrej730
1647acf0ca
ifc2x3 pset library - fix bunch of unit related vlaidation errors #3929
2024-04-16 11:05:23 +02:00
Dion Moult
682990a30d
Minor fixes
2024-04-16 11:05:23 +02:00
Dion Moult
11eefab4fc
Add support for latest uniclass and add Uniclass July 2023
2024-04-16 11:05:23 +02:00
Sigma Dimensions (Yass)
aa0d1cc230
fix displaying undefined or userdefined units in cost schedules
2024-04-16 11:05:23 +02:00
Sigma Dimensions (Yass)
c18d756e74
fix displaying cost item totals
2024-04-16 11:05:23 +02:00
Massimo Fabbro
b111d85830
New operator that creates a ceiling from cursor position in covering tool
2024-04-16 11:05:23 +02:00
Andrej730
056e0b050d
fixed core tests after switch_representation changes
2024-04-16 11:05:23 +02:00
Andrej730
e09a57a9d3
"Edit Profile" in BIM Tool for mapped representations
...
basically now "edit profile" will be shown in BIM Tool UI and will work from shift+e hotkey if the active element's representation is mapped (for example, if it has openings)
2024-04-16 11:05:23 +02:00
Andrej730
746053eefb
switch_representation to automatically switch to unresolved mapped representation
...
The cool thing about it now that it will automatically create a new mesh for "unresolved" representation if element has openings, otherwise it'll stick to the same mesh representation as the type object.
This fixed a few bugs:
- similar to b9a9abd but during extrusion profile edit
- applying void to the occurence used to remove the type and other occurences. Apparently it occured after 744c08e - previously we seems to rely on `ifcopenshell.geom.create_shape(settings, element)` to unresolve the representations. Though before 744c08e there still was an issue - it would apply the same opening to the all occurences and the type meshes but wasn't removing them.
Probably fixed a few other similar issues.
2024-04-16 11:05:23 +02:00
Andrej730
79b8125916
switch_representation not to break with temporary mesh representations
...
I've found a bug that if you have some object that consists of extrusion and can be edited in profile edit mode, when you finish editing, it would remove the type object (and I guess the other occurences objects).
It happened because during edit mode it's using temporary mesh data and `switch_representation` would replace this temp mesh data with new representation and remove the old mesh data that might still used by the other occurences and the type.
The issue also was leading to a crash during `box.template_icon(icon_value=AuthoringData.data["type_thumbnail"], scale=5)` if you had BIM Tool thumbnail preview opened in the process - removing type object would make thumbnail icon become invalid leading to the crash.
Crash mentioned here: https://community.osarch.org/discussion/1753/bbim-two-door-types-with-connected-properties
2024-04-16 11:05:22 +02:00
Dion Moult
f30ceae7da
Update beginners tutorial documentation with images from new UI.
2024-04-16 11:04:29 +02:00
Dion Moult
f9236f8b42
You can now assign and unassign styles to materials
2024-04-16 11:04:29 +02:00
Dion Moult
ca1925cc9f
You can now specify a name when adding materials
2024-04-16 11:04:29 +02:00
Ryan Schultz
acb29b5275
Additional clarification on save and save as
2024-04-16 11:04:29 +02:00
Dion Moult
13446cf6db
Reorganise new stakeholders panel, move profiles into geometry tab. General UI polish.
2024-04-16 11:04:29 +02:00
Andrej730
fb650a8516
option to set active system
...
Now it's possible to set in UI active system (currently it's done "select" button next to the system).
Also changed the elements that are going to be decorated with system decorator. Previously it was decorating all the mep elements in the projects which was very performance heavy on large projects.
2024-04-16 11:04:29 +02:00
Andrej730
424042474b
Merge systems UI into one
...
We had two very similar systems panels that were part of the old UI.
2024-04-16 11:04:29 +02:00
Dion Moult
5bb04010ae
Fix #3095 . Very basic implementation of a new zones panel.
2024-04-16 11:04:29 +02:00
Andrej730
91c7fe4628
Fixed tests after selector syntax update
2024-04-16 11:04:29 +02:00
Dion Moult
c5e5f4ab6a
Fix #3901 . Add configurable list concatenation support in IfcFM.
2024-04-16 11:04:29 +02:00
Dion Moult
eff68dda38
Fix #3903 . Bug where stairs started off with an empty mesh and had a representation added, resulting in an invalid empty point cloud.
...
Now stairs have should_add_representation=False when creating the IfcStairFlight, and the representation is updated explicitly, similar to how parametric doors and windows etc have their representations updated.
2024-04-16 11:04:29 +02:00
Dion Moult
afd3ac1881
Fix regression from 744c08e where type products cannot have an instance specified in create_shape
2024-04-16 11:04:29 +02:00
Dion Moult
b5253556a9
Adding / editing shading / rendering styles in the style manager now updates Blender materials
2024-04-16 11:04:29 +02:00
Andrej730
bc9fc0b462
Forgot to fix test after 35d66f5
2024-04-16 11:04:29 +02:00
Andrej730
5d051b5bdd
Fixed issue unlinking mesh objects
...
After d67eae5 delete_ifc_object is removing the meshes and it end up invalidating the unlinked object. Now mesh is copied before running delete_ifc_object
2024-04-16 11:04:29 +02:00
Andrej730
64f1ea9034
Fix tests after 808ff54
2024-04-16 11:04:29 +02:00
Andrej730
a5e667230d
Minor fix after a47c57c
2024-04-16 11:04:29 +02:00
Andrej730
6297afa04c
Fixed test after c34a9c5
...
Also fixed bug in the sheeter
2024-04-16 11:04:29 +02:00
Andrej730
219a5bbcf7
Fixed test after 418444a
2024-04-16 11:04:29 +02:00
Andrej730
ab39983d26
Fixed test after 90b40ff
2024-04-16 11:04:29 +02:00
Andrej730
52d67052bd
Fixed test after 88d96f7
2024-04-16 11:04:29 +02:00
Andrej730
834bde2b63
Fixed test after 6e9639446
2024-04-16 11:04:29 +02:00
Andrej730
ec97b04bde
Fixed #3907 after dd7a6a80e
2024-04-16 11:04:29 +02:00
Dion Moult
9c99085413
You can now edit rendering styles in the style manager
2024-04-16 11:04:28 +02:00
Andrej730
526dbd9e44
Added IfcZone to systems UI in IFC2X3 #3905
...
In IFC2X3 IfcZone is a subtype of IfcGroup but not subtype of IfcSystem (it become one after IFC4), therefore IfcZone wasn't presented anywhere in BBIM UI.
It's a bit confusing though to include IfcZone in systems when it's not actually a IfcSystem but having it in IfcGroups would be confusing too.
2024-04-16 11:04:28 +02:00
Andrej730
a43fd7f066
Fixed #3901
...
It was throwing an error because was failing to write a list to an excel cell, now it's explicitly converting the value to string.
Python: Traceback (most recent call last):
File "\blenderbim\bim\module\fm\operator.py", line 102, in execute
writer.write_xlsx(filepath)
File "\blenderbim\libs\site\packages\ifcfm\__init__.py", line 259, in write_xlsx
cell = worksheet.cell(row=r, column=c, value=col)
File "\blenderbim\libs\site\packages\openpyxl\worksheet\worksheet.py", line 247, in cell
cell.value = value
File "\blenderbim\libs\site\packages\openpyxl\cell\cell.py", line 218, in value
self._bind_value(value)
File "\blenderbim\libs\site\packages\openpyxl\cell\cell.py", line 187, in _bind_value
raise ValueError("Cannot convert {0!r} to Excel".format(value))
ValueError: Cannot convert ['USE TYPE CATALOG'] to Excel
2024-04-16 11:04:28 +02:00
Andrej730
c8e9acce8c
ifcfm symlink to dev environment setup script
2024-04-16 11:04:28 +02:00
Andrej730
ea2120aa00
bim.switch_representation to switch to exact representation
...
previously it was switching to the first representation that matches the context, so it wasn't possible to switch to the second one if you had more than 1 representation in the same context
using always both element and representation in `geometry.import_representation` so it will import the exact representation and not the first one found by `ifcopenshell.geom.create_shape`
2024-04-16 11:04:28 +02:00
Andrej730
915a892479
activate_drawing to prioritize already active representation
...
If there are multiple representations in the same subcontext, when it was searching for the representation for some specific subcontext, it would previously always switch to the first representation from the list, now it's going to prioritize the one that's already active.
2024-04-16 11:04:28 +02:00
Andrej730
b83732a92e
bim.create_all_shapes info message
2024-04-16 11:04:28 +02:00
Andrej730
0a309e191d
Bump build version to fix #3889
2024-04-16 11:04:28 +02:00
Andrej730
1c142a34bc
Some UI to mark booleans as manual #3709
...
Currently it allows only to either set all object's booleans to be marked as manual or all of them marked as automatic, can't change some specific boolean.
Short demo - https://imgur.com/a/bczv35N
2024-04-16 11:04:28 +02:00
Andrej730
6a7f8f65c7
move to tools methods for working with manual booleans #3709
...
Also fixed a bug adding boolean when pset is already added and representation type in add_boolean
```
File "\addons\blenderbim\tool\ifc.py", line 201, in execute
IfcStore.execute_ifc_operator(self, context)
File "\addons\blenderbim\bim\ifc.py", line 336, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
File "\addons\blenderbim\bim\module\model\opening.py", line 534, in _execute
data = json.loads(pset["Data"])
File "\addons\blenderbim\libs\site\packages\ifcopenshell\entity_instance.py", line 248, in __getitem__
if key < 0 or key >= len(self):
TypeError: '<' not supported between instances of 'str' and 'int'
```
2024-04-16 11:04:28 +02:00
Andrej730
3c49dd15f7
localize mathutils dependency in tests #3895
...
replaced shapebuilder with general ifcopenshell code in `test_add_boolean` (the only place besides `test_shape_builder` where it was used), that way mathutils dependency in tests is localized only to `test_shape_builder.py`.
added test-safe option to makefile, so github workflow would ignore `test_shape_builder` tests for now and it wouldn't interrupt the entire workflow
2024-04-16 11:04:28 +02:00
Andrej730
df745345d5
refresh_aggregate to show time it took
...
since this can get very time consuming on large projects
2024-04-16 11:04:28 +02:00
Andrej730
cef9ba6001
Fix poll error after 3de9915
...
The error was
Traceback (most recent call last):
File "\blenderbim\bim\module\model\covering.py", line 64, in poll
return element.is_a("IfcCovering")
AttributeError: 'NoneType' object has no attribute 'is_a'
2024-04-16 11:04:28 +02:00
Dion Moult
2cd7df4cbc
Minor fix
2024-04-16 11:04:28 +02:00
Thomas Krijnen
f504053b27
Fixes after gltf ECEF merge
2024-04-16 11:04:21 +02:00
Andrej730
dcc600805c
small fix f38952dc5 #3898 😬
2024-04-16 11:03:55 +02:00
Andrej730
3804b4912e
small refactor
2024-04-16 11:03:55 +02:00
Andrej730
f8a2946355
Support other voiding IfcFeatureElementSubtraction elements #3889
...
Support other voiding IfcFeatureElementSubtraction besides IfcOpeningElement.
2024-04-16 11:03:55 +02:00
Andrej730
4cf6d65e1a
Fixed issue after 19345ff
...
It wasn't considering that EnumerationReference could be None
2024-04-16 11:03:55 +02:00
Thomas Krijnen
64454a001f
Apply handling of openings on IfcFeatureElementSubtraction generically #3889
2024-04-16 11:03:26 +02:00
Andrej730
ede7776a28
black formatting
2024-04-16 10:56:22 +02:00
Andrej730
e1b64fba00
Keep placement axes recalculating profiles #3879
2024-04-16 10:56:22 +02:00
Andrej730
e2077c27dd
small fix add_profile_representation - use of undefined variables
2024-04-16 10:56:22 +02:00
Ryan Schultz
3ae42a074f
Add a preference for particular app to open sheet layout
2024-04-16 10:56:22 +02:00
Bruno Postle
4375a39726
BlenderBIM minor fix after 7107a91
2024-04-16 10:56:22 +02:00
Dion Moult
12000c5aa5
Fix #3870 . Bug where element filtering wasn't initialised properly when loading a camera for the first time.
...
Raster_x/y would only be set after the handler triggers. This is no longer necessary with the new explicit width / height properties.
2024-04-16 10:56:22 +02:00
Dion Moult
6f42c71e88
New verbose option in util get_pset(s) which lets you get ID and class for complex processing.
2024-04-16 10:56:22 +02:00
Bruno Postle
8d25bfca18
BlenderBIM keep camera position on git switch
...
New 'zoom extents' behaviour on IFC load is unwanted when switching
between git revisions
2024-04-16 10:56:22 +02:00
isma3lMB
34a56cc914
Adding support for non ascii characters when reporting
2024-04-16 10:56:22 +02:00
Thomas Krijnen
7e0765639a
Update build-deps.cmd: proj compilation
2024-04-16 10:56:22 +02:00
Massimo Fabbro
21078a80dd
Fix bug in covering/space tool with matrix global and local
2024-04-16 10:56:22 +02:00
Dion Moult
e4adfb863b
See #3884 . Rewrite native geometry handling with a much more robust approach fixing a number of invalid coordinates and simplifying things.
2024-04-16 10:56:22 +02:00
Dion Moult
2c80342676
Fix bug where native meshes had normal smoothing enabled by default
2024-04-16 10:56:22 +02:00
Dion Moult
587c9858a7
Minor fixes to placement utilities for getting mapped item matrixes
2024-04-16 10:56:22 +02:00
Dion Moult
a3acc0540a
First draft of style manager panel
2024-04-16 10:55:58 +02:00
Dion Moult
30850e79b0
Material manager panel now moved to geometry tab
2024-04-16 10:55:58 +02:00
Dion Moult
648d6dfdb9
Representation items panel now shows styles and layers
2024-04-16 10:55:58 +02:00
Dion Moult
89339f807f
Accommodate bug in Revit where mapped representations were missing... well, a representation map.
2024-04-16 10:55:58 +02:00
Dion Moult
1237d82d13
Minor bug fixes with error message when selecting objects in layers without objects
2024-04-16 10:55:58 +02:00
Dion Moult
30f425af17
Modernize zone and type table mappings for COBie 2.4 with Emma Hooper
2024-04-16 10:55:58 +02:00
Thomas Krijnen
3d13b6468d
Use schema_identifier for schema and express rule validation. See #3126
2024-04-16 10:55:58 +02:00
Massimo Fabbro
7863585cce
better UI for covering tool
2024-04-16 10:55:58 +02:00
Massimo Fabbro
15233c4a21
fix generate space and covering where objects weren't created in the right location
2024-04-16 10:55:58 +02:00
Dion Moult
f14df7f523
Begin drafting out a new representation items panel for managing styles and layers properly
2024-04-16 10:55:58 +02:00
Vukas Pajic
e962c67c80
add missing attributes in ids.parse
2024-04-16 10:55:58 +02:00
Massimo Fabbro
dd9be46212
Add generate flooring from cursor and regen ( #3874 )
2024-04-16 10:55:58 +02:00
Dion Moult
f8439ed728
Fix #3873 . Regression due to new importing logic.
2024-04-16 10:55:58 +02:00
Dion Moult
c4fc00ab50
See #1619 . Fix issue where copying non-templated properties didn't work.
2024-04-16 10:55:58 +02:00
Ryan Schultz
48f57c6999
Further clarify the bim.link_ifc command
2024-04-16 10:55:57 +02:00
Dion Moult
b75dc6a056
Minor fix
2024-04-16 10:55:57 +02:00
Dion Moult
00239234ff
Manual booleans are now tracked via a Pset instead of arbitrary class conventions which should fix a bunch of issues.
2024-04-16 10:55:57 +02:00
Dion Moult
49e27788da
Write documentation for placement utility
2024-04-16 10:55:57 +02:00
Dion Moult
7170d9f06f
See #3817 . WARNING: fundamental change. Standardise prioritisation of all context permutations when loading occurrences and types.
2024-04-16 10:55:57 +02:00
Dion Moult
83a43725f9
You can now federate FM spreadsheets using the Blender UI
2024-04-16 10:55:57 +02:00
Ryan Schultz
a6ef2d6152
Adding "Manually Save Representation" and bim.get_representation_ifc_parameters back to Representation Utilities panel
...
from: https://github.com/IfcOpenShell/IfcOpenShell/commit/3a812a9ec156818061c01bd5b2ac2c2bee09faf1#r123820129
2024-04-16 10:55:57 +02:00
Andrej730
8de37b7df4
Minor fix #3862
2024-04-16 10:55:57 +02:00
Ryan Schultz
865c037474
fixed error when creating new walltype in IFC2x3
2024-04-16 10:55:57 +02:00
Massimo Fabbro
698ccceda2
Minor spatial refactor
2024-04-16 10:55:57 +02:00
Massimo Fabbro
bbfd42cf19
Refactor create_space operator and better UI for covering tool
2024-04-16 10:55:57 +02:00
Massimo Fabbro
fee390c7ed
refactor create spaces from walls
2024-04-16 10:55:57 +02:00
Massimo Fabbro
e10b5f6f44
Add predefined type to AuthoringData
2024-04-16 10:55:57 +02:00
Bruno Postle
1c12f2cbf8
BlenderBIM make fca90e9 optional
...
setup_viewport_camera() does a 'zoom extents' on IFC import.
Create a should_setup_viewport_camera option (default True)
2024-04-16 10:55:57 +02:00
Andrej730
531d3b56ed
fixed issue with placing end port for a bend
2024-04-16 10:55:57 +02:00
Andrej730
a101d7e9a0
system decorations - indicate both directions flow
2024-04-16 10:55:57 +02:00
Dion Moult
6ab6567905
Fix #3843 . Regression where IfcMaterialList UI didn't show list of materials.
2024-04-16 10:55:57 +02:00
Andrej730
9f1afdd905
Minor fix after b9a9abd30
2024-04-16 10:55:57 +02:00
Andrej730
f08cbec747
revert flow directions icons to arrows
2024-04-16 10:55:57 +02:00
Andrej730
5922d08322
Minor fix after 78c748df5
...
RuntimeError: Error: Registering panel class: parent 'BIM_PT_tab_placement' for 'BIM_PT_placement' not found
2024-04-16 10:55:57 +02:00
Hilko
995940880d
Update build-deps.cmd
2024-04-16 10:55:57 +02:00
Andrej730
9a88c4235d
Fixed adding opening to meshes of all occurences for non material based representations
...
Mentioned in #3817
2024-04-16 10:55:57 +02:00
Andrej730
ca4d4e026c
Moving some code to tool.Geometry
2024-04-16 10:55:57 +02:00
Dion Moult
be928347c5
You can now select coloured objects in a colourscheme.
2024-04-16 10:55:57 +02:00
Dion Moult
f574a3f65b
New placement panel to consolidate placement data in geometry tab
2024-04-16 10:55:57 +02:00
Dion Moult
9e573f6e62
New geometry tree documentation picture and minor documentation improvements including mention of COBie 2.4 legacy mode in IfcFM.
2024-04-16 10:55:57 +02:00
Dion Moult
83b5494c81
New documentation for shape utility
2024-04-16 10:55:57 +02:00
Dion Moult
9f23f49ecd
Implement projected surface area calculation function in util.shape
2024-04-16 10:55:57 +02:00
Dion Moult
205c6a9263
New drawing width / height / depth / raster DPI controls
2024-04-16 10:55:57 +02:00
Dion Moult
22ba8ce496
You can now easily create orthographic and perspective model drawings from a preset
2024-04-16 10:55:57 +02:00
Dion Moult
3b53246f80
Active drawing panel moved from camera properties to drawing tab.
2024-04-16 10:55:56 +02:00
Thomas Krijnen
a3cecff3d9
#3852 Update pyproject.toml
2024-04-16 10:55:56 +02:00
Andrej730
739b793cd7
test for model.get_manual_booleans() #3709
...
added test that model.get_manual_booleans will ignore IfcBooleanClippings until we find some other solution to distinguish automatic and manual clippings. And some refactor along the way.
2024-04-16 10:55:56 +02:00
Andrej730
edfe0ec580
DumbWallJoiner to work with IfcBooleanResult correctly #3831
...
It wasn't detecting extrusion as part of IfcBooleanResult and was using default wall data as fallback.
Occured after 0044ef5
Solves #3831
Related to #3709
2024-04-16 10:55:56 +02:00
Dion Moult
3ac6660da7
Revise COBie 2.4 mappings for facility, floor, and some of space worksheet in collaboration with Emma Hooper
2024-04-16 10:55:56 +02:00
Dion Moult
0e17cd7130
Fix #3845 . Select similar for predefined type now takes into account inheritance.
2024-04-16 10:55:56 +02:00
Andrej730
39169c4dd8
Fixed issue applying array with Sync Children #3822
2024-04-16 10:55:56 +02:00
taylor
c88b3a3ad8
Fixed model reference
2024-04-16 10:55:56 +02:00
Dion Moult
74ca102f6a
Georeference module now supports IFC2X3 georeferencing / conversion utilities.
2024-04-16 10:55:56 +02:00
Dion Moult
8119b3199a
Document geolocation util and add support for ePSet IFC2X3 fallbacks.
2024-04-16 10:55:56 +02:00
c4rlosdias
31bdc96130
Fix problem in getpsets(facet.py) and added descriptions to specifications (IfcTester)
2024-04-16 10:55:56 +02:00
Dion Moult
f9d45222c8
Fix #3841 . Bump IOS.
2024-04-16 10:55:56 +02:00
Andrej730
cc0ad74e50
bim.flip_object #3803
...
Added new operator bim.flip_object that flips the object by flipping two of its axes and keeps the original placement.
Currently it can be found either from F3 search or from Shift-F hotkey for IfcBeam and IfcColumn in BIM tools.
2024-04-16 10:55:56 +02:00
Andrej730
514af37e0e
.reg file for #3778
...
Forgot to commit the .reg file...
2024-04-16 10:55:56 +02:00
Andrej730
90bade7bb8
Fixed typo
2024-04-16 10:55:56 +02:00
Thomas Krijnen
2eecfd6422
Option to write Earth-Centered Earth-Fixed glTF
2024-04-16 10:55:54 +02:00
Dion Moult
d8c8ac6c15
Clean up IfcFM's Basic preset to be more true to IFC rather than follow naming schemes from stuff like COBie
2024-04-16 10:37:19 +02:00
Dion Moult
e0ae010c46
You can now select and bulk process multiple models using IfcFM in Blender.
2024-04-16 10:37:19 +02:00
Dion Moult
3cb1791525
New IfcPatch recipe to fix Revit bug with occurrence based classifications
2024-04-16 10:37:19 +02:00
Dion Moult
8df28ca8a1
New IfcPatch recipe to fix Revit bug with hardcoded Uniformat classification
2024-04-16 10:37:19 +02:00
Andrej730
d27703bcf2
IfcSverchok docs update urls
2024-04-16 10:37:19 +02:00
Bruno Perdigão
c5192774c3
fixed a bug where the refresh aggregate operator was not working after adding new objects to the parent aggregate
2024-04-16 10:37:19 +02:00
Ryan Schultz
ce3469fd58
fix #3792
2024-04-16 10:37:19 +02:00
Andrej730
750b9201a9
Fixed error creating a door type / window types after 8f6be60c6
2024-04-16 10:37:19 +02:00
Andrej730
eef3cd80b6
Getting drawing group more precisely
...
Previously it was conflicting with other possible groups assigned to the object. It's now even more important since we're actively using groups to save search queries.
Example error caused by this issue - during drawing activation if you had 2 IfcGroups on the drawing element:
draiwng's IfcGroup RelatedObjects attribute was updated, then inverse attrtibute `drawing.HasAssignments` order was updated too (DRAWING IfcGroup now would be positioned second after IfcGroup for search query) and it was leading to errors during filtering current drawing annotations
2024-04-16 10:37:19 +02:00
Andrej730
2d07e4634b
Small fix for 05d4dc566
2024-04-16 10:37:19 +02:00
Andrej730
20f3a6443f
Rever IFC Project
...
https://i.imgur.com/ajQiK8D.png
2024-04-16 10:37:19 +02:00
Andrej730
e2a08b9947
Fixed #3829 occured after ae45e6b
...
similar_openings wasn't reset on each iteration causing moving unrelated openings
2024-04-16 10:37:19 +02:00
Andrej730
984dca6408
Fixed #3832
2024-04-16 10:37:19 +02:00
Sigma Dimensions (Yass)
916917e2bb
fix f2097c0
2024-04-16 10:37:19 +02:00
Sigma Dimensions (Yass)
1fb9223434
importing csv cost schedules now allows using selector queries for effortless product assignments to cost items, and add new ods and csv format templates (in french)
2024-04-16 10:37:19 +02:00
Dion Moult
ed4df72df6
IfcFM can now be used to federate multiple spreadsheets together
2024-04-16 10:37:19 +02:00
Dion Moult
34b0970c6b
Revise COBie 2.4 contact table mapping in collaboration with Emma Hooper
2024-04-16 10:37:19 +02:00
Andrej730
89d3ee995d
Workaround for #3778
2024-04-16 10:37:19 +02:00
Andrej730
1f815619b6
copy_deep to always pass exclude_callback to the recursion
...
It wasn't passing the exclude_callback if attribute of the copied element wasn't a tuple, resulting in duplicated named profiles in case if you'd copy a IfcBooleanClippingResult #3810
For example, how copy_deep of IfcProductDefinitionShape with boolean clipping previously would work:
V IfcShapeRepresentation - copied with exlude_callback (part of .Representations[])
V IfcBooleanClippingResult - copied with exlude_callback (part of .Items[])
X IfcExtrudedAreaSolid - copied without exlude_callback becuase it's part of .FirstOperand (not an array) and we have IfcIShapeProfileDef duplicated
Case without booleanclippings:
V IfcShapeRepresentation - copied with exlude_callback (part of .Representations[])
V IfcExtrudedAreaSolid - copied with exlude_callback, since it's part of .Items[], IfcIShapeProfileDef not duplicated
2024-04-16 10:37:19 +02:00
Andrej730
fc3b68ada4
bim.remove_opening not to force Model/Body/Model_view
...
Now it won't be forcing Model/Body/Model_view representation on the objects if some other context is active for the object.
Indirectly solves #3817
2024-04-16 10:37:19 +02:00
Dion Moult
dfcafed648
Ship with fallback IFC2X3 georeferencing pset
2024-04-16 10:37:19 +02:00
Massimo Fabbro
06b5982b59
fix generate spaces from walls bug
2024-04-16 10:37:19 +02:00
Andrej730
4a507c0827
Print unused elements stats / purge unused elements
...
Added to Purge Data section in Quality Control some tools - https://i.imgur.com/Nz3YoiH.png
1) Print unused elements - useful to investigate how much unused data you have in IFC file.
https://i.imgur.com/9Fkn0JD.png
2) purge unused elements by ifc class, it's doing it in pretty naive way and can be dangerous, so maybe it should be moved to debug section.
2024-04-16 10:37:19 +02:00
Andrej730
dadb9aa8e8
info message for amount of purged elements
2024-04-16 10:37:19 +02:00
Dion Moult
9095e6dd8b
Introductory docs written for IfcFM
2024-04-16 10:37:18 +02:00
Dion Moult
cffc8b519c
New introduction section in IOS docs
2024-04-16 10:37:18 +02:00
Andrej730
b0d3049ddd
Minor fix after 22edbdd
...
Error was:
TypeError: EnumProperty(..., default='cobie'): not found in enum members
Exception in module register(): \3.6\scripts\addons\blenderbim\__init__.py
Traceback (most recent call last):
File "\Blender\3.6\scripts\modules\addon_utils.py", line 369, in enable
mod.register()
File "\3.6\scripts\addons\blenderbim\__init__.py", line 42, in register
blenderbim.bim.register()
File "\3.6\scripts\addons\blenderbim\bim\__init__.py", line 190, in register
bpy.utils.register_class(cls)
ValueError: bpy_struct "BIMFMProperties" registration error: 'engine' EnumProperty could not register (see previous error)
2024-04-16 10:37:18 +02:00
Dion Moult
4719bc0c62
IfcFM now supports writing to Pandas Dataframes
2024-04-16 10:37:18 +02:00
Dion Moult
30495f2688
You can now interact with IfcFM via CLI
2024-04-16 10:37:18 +02:00
Dion Moult
888f9c0864
You can now specify empty formatting for IfcCSV via CLI
2024-04-16 10:37:18 +02:00
Dion Moult
fd80055ef7
Fix #3788 . Fix crash when opening drawing SVGs using webbrowser module which is not recommended and the file is on a Dropbox synced external drive. Now replaced with generic os.startfile / xdg-open / open commands.
2024-04-16 10:37:18 +02:00
Sigma Dimensions (Yass)
88360a4d55
fix loading animation color scheme
2024-04-16 10:37:18 +02:00
Sigma Dimensions (Yass)
070439fa07
run black and forgotten calender utils
2024-04-16 10:37:18 +02:00
Sigma Dimensions (Yass)
09ed0a682c
maintain tasks bar visual property state when tasks properties are reloaded
2024-04-16 10:37:18 +02:00
Sigma Dimensions (Yass)
1cb0294fd6
hide spaces when creating an animation
2024-04-16 10:37:18 +02:00
Sigma Dimensions (Yass)
7f3559437f
fix warning statement when there are no saved animation color schemes
2024-04-16 10:37:18 +02:00
Sigma Dimensions (Yass)
6b25a64976
fix typo
2024-04-16 10:37:18 +02:00
Sigma Dimensions (Yass)
61831c7321
fix missing task types for animations color scheme
2024-04-16 10:37:18 +02:00
Sigma Dimensions (Yass)
22539db737
fix tasks not displaying derived calendar
2024-04-16 10:37:18 +02:00
Andrej730
ac18bba661
system decorations - live time update
...
Decoration data is now updating in live time, caching some parts in Data for performance. Real time update is needed because Data doesn't allow update on objects positions change and later will need real time update for viewport orientation data.
2024-04-16 10:37:18 +02:00
Andrej730
ae483f7aca
Add ports to MEP bends/transitions types instead of occurences
2024-04-16 10:37:18 +02:00
Andrej730
ca2b804337
system decorations to show flow direction
2024-04-16 10:37:18 +02:00
Andrej730
7de1738d30
settings flow direction without jumping to ports
...
https://imgur.com/a/F00tG7g
2024-04-16 10:37:18 +02:00
Dion Moult
06c2b06f7c
Possible optimisation by caching in IfcTester property checks
2024-04-16 10:37:18 +02:00
Claudio Benghi
4fda95a4a6
Fixed most issues with IDS auditing
2024-04-16 10:37:18 +02:00
Ryan Schultz
bf8ee909ff
proposed fix for #3792
2024-04-16 10:37:18 +02:00
Andrej730
a970b40513
Descriptions for add_representation conversion methods
2024-04-16 10:37:18 +02:00
Andrej730
2ebd00eea2
draw calculate_all_quantities hotkey in bim tool ui
...
hotkey was already there, it just wasn't added to UI
https://i.imgur.com/nar5WYI.png
2024-04-16 10:37:18 +02:00
Andrej730
e6019e8519
recalculate fills on applying changes to ifc windows / ifc doors
...
previously if you'd move the window and then change it's parametric data and try to apply it, opening's position wouldn't be updated
2024-04-16 10:37:18 +02:00
Andrej730
7404357995
Moved common duplication operators code to DuplicateMove
...
Now OverrideDuplicateMoveLinked allways will be in sync with OverrideDuplicateMove.
Also fixed the issue when DuplicateMoveLinked for non ifc elements worked the same was DuplicateMove (it was copying mesh data when it's not suppose to).
2024-04-16 10:37:18 +02:00
Andrej730
9c13ae1993
replace Drawing.remove_object_data with more general method
2024-04-16 10:37:18 +02:00
Dion Moult
0b4532b7aa
Purge IfcCOBie deps from build
2024-04-16 10:37:18 +02:00
Dion Moult
407f363648
Fix #3793 . Bug where flipping a wall with generic connection relationships would fail.
2024-04-16 10:37:18 +02:00
Sigma Dimensions (Yass)
5d6a823493
resources code cleanup
2024-04-16 10:37:18 +02:00
Sigma Dimensions (Yass)
2575348c9d
change tests due to new class assignment workflow ref commit 808ff54
2024-04-16 10:37:18 +02:00
Bruno Perdigão
d0177891e4
remove connections with old objects when duplicating aggregates
2024-04-16 10:37:17 +02:00
Dion Moult
b752048baf
We now support separating IFC meshes.
2024-04-16 10:37:17 +02:00
Dion Moult
f6cd6d2591
Splitting by edge now resolved mapped representations, voided, and non-mesh geometries
2024-04-16 10:37:17 +02:00
Sigma Dimensions (Yass)
604373415f
fix parametric duration/ resource update
2024-04-16 10:37:17 +02:00
Dion Moult
034d43502b
Minor fix during loading arrays
2024-04-16 10:37:17 +02:00
Dion Moult
9ef5dc9f8e
Fix #3791 . Add isodate as an optional dependency to ifcopenshell-python.
2024-04-16 10:37:17 +02:00
Sigma Dimensions (Yass)
c5879f2c57
improved template for resource csv imports
2024-04-16 10:37:17 +02:00
Sigma Dimensions (Yass)
8649a1a23d
fix location search filter
2024-04-16 10:37:17 +02:00
Sigma Dimensions (Yass)
609b7840b0
bring back filter operators into new Filter subpanel and change filter by storey to filter by container
2024-04-16 10:37:17 +02:00
Sigma Dimensions (Yass)
e9ed850b78
Proposal to use resource's parent cost, reducing manual insertions
2024-04-16 10:37:17 +02:00
Dion Moult
0fc478f2f3
New debug feature to override the display type.
2024-04-16 10:37:17 +02:00
Dion Moult
0e525dcbee
Autodetect dense meshes to make it faster when loading so users don't need to go into advanced mode.
2024-04-16 10:37:17 +02:00
Andrej730
6bdc4cd607
Moving common code for duplication operators
2024-04-16 10:37:17 +02:00
Andrej730
b58c25fdc9
Duplicate the array if all it's elements are selected #3763
...
Demo - https://imgur.com/a/0wYZOPl
2024-04-16 10:37:17 +02:00
Andrej730
48a88835dd
Setup arrays constraints on loading .ifc #3753
2024-04-16 10:37:17 +02:00
Andrej730
425a31ffa1
Clear constraint and transform lock on duplicating array child object
...
Previously it was locked even though it's not part of an array anymore.
2024-04-16 10:37:17 +02:00
A. R. S
2691e8a082
Try to get unit from EnumerationReference for IfcPropertyEnumeratedValue
2024-04-16 10:37:17 +02:00
Dion Moult
c5ec9a66f3
Refactor IfcFM to make it easier to exclude things
2024-04-16 10:37:17 +02:00
Dion Moult
b92c2b2dbc
Finally purge IfcCOBie to be superseded by IfcFM
2024-04-16 10:37:17 +02:00
Andrej730
1f20330772
removing arrays if all array elements are selected #3781
...
I think there is still some space to improve but it should cover the main problem with need going to array section to remove it
Demo - https://imgur.com/a/9Z3t5Q8
2024-04-16 10:37:17 +02:00
Andrej730
c1553247c1
Fixed error editing pset with prop with empty prop.NominalValue
...
Traceback:
```
Error: Python: Traceback (most recent call last):
File "\blenderbim\bim\module\pset\operator.py", line 103, in execute
self.load_from_pset_data(pset)
File "\blenderbim\bim\module\pset\operator.py", line 226, in load_from_pset_data
value = prop.NominalValue.wrappedValue
AttributeError: 'NoneType' object has no attribute 'wrappedValue'
```
2024-04-16 10:37:17 +02:00
Massimo Fabbro
d3a37bf0eb
Add model test about manual booleans
2024-04-16 10:37:17 +02:00
Massimo Fabbro
1154d60921
Added calculating quantities function for Qto_DuctSegmentBaseQuantities and Qto_DuctFittingBaseQuantities
2024-04-16 10:37:17 +02:00
Ryan Schultz
54e8421d3d
small fix for 9e67565
2024-04-16 10:37:17 +02:00
Vukas Pajic
37ed67da56
typo
2024-04-16 10:37:17 +02:00
Vukas Pajic
aabeba54f9
Update ids validation
...
see https://github.com/IfcOpenShell/IfcOpenShell/issues/2933
2024-04-16 10:37:17 +02:00
Sigma Dimensions (Yass)
5ca6de023a
small fix when calculating resource work
2024-04-16 10:37:17 +02:00
Dion Moult
672a2c4483
Autogenerate API docs for more modules.
2024-04-16 10:37:17 +02:00
Dion Moult
2587e29750
Forgot to commit BCF docs
2024-04-16 10:37:17 +02:00
Dion Moult
9736d08064
Migrate more documentation to the official Sphinx docs and mention IfcOpenShell-WASM as an installation option
2024-04-16 10:37:17 +02:00
Ryan Schultz
33b5672344
Refresh aggregate from selecting a part
2024-04-16 10:37:17 +02:00
Andrej730
590c3f0384
mep system decorators - basic implementation
...
All it does currently it draws all MEP elements connections in viewport. It also highlights with green color all elements connected to the active object
Demo - https://imgur.com/a/haAQeWt
2024-04-16 10:37:17 +02:00
Andrej730
1ae1e4c4f9
fixed error in api.system.disconnect_port
...
Error was:
TypeError: can only concatenate tuple (not "list") to tuple
2024-04-16 10:37:17 +02:00
Andrej730
9e7d04f337
get_viewport_context to also return space
2024-04-16 10:37:17 +02:00
Andrej730
9f1bfe2868
bim.draw_system_arrows updated for ifc4
2024-04-16 10:37:17 +02:00
Sigma Dimensions (Yass)
0c72ee9b0f
improve pset editing workflow and use refactored core and tool functions
2024-04-16 10:37:16 +02:00
Sigma Dimensions (Yass)
f79e6ada9b
cascade schedule when adding a sequence relationship
2024-04-16 10:37:16 +02:00
Sigma Dimensions (Yass)
a96e7d97ac
fix count_working_days when the start and finish are the same same hours
2024-04-16 10:37:16 +02:00
Sigma Dimensions (Yass)
8549debdc9
fix calculating critical path to consider:
...
- parent tasks with sequence assignments #3772
- tasks that are constrained by a schedule start
2024-04-16 10:37:16 +02:00
Sigma Dimensions (Yass)
46c775c585
fix cascading schedule when parent tasks have sequence relationships #3772
2024-04-16 10:37:16 +02:00
Bruno Perdigão
79c0779449
fix rotation from refresh aggregate operator
2024-04-16 10:37:16 +02:00
Dion Moult
39ee129724
Datatype checks in IfcTester are now case insensitive
2024-04-16 10:37:16 +02:00
Andrej730
ebd02f20db
Exposed some MEP operators in BIM Tool UI
...
https://i.imgur.com/U61QqlQ.png
2024-04-16 10:37:16 +02:00
Andrej730
0c57f8ea39
bim.mep_connect_elements to connect elements by the closest ports
...
Previously it was looking for exact match. Now operator also adjusts connected ports
2024-04-16 10:37:16 +02:00
Andrej730
f516c59784
override_outliner_delete poll error fix
2024-04-16 10:37:16 +02:00
Andrej730
39e622b559
info message for refresh_aggregate
2024-04-16 10:37:16 +02:00
Dion Moult
dd0e997935
You can now add bSDD properties when assigning bSDD classifications
2024-04-16 10:37:16 +02:00
Vukas Pajic
3e760e9406
Fix case when ids_dict has key but value is None
2024-04-16 10:37:16 +02:00
Dion Moult
855ee4c48e
Minor fix
2024-04-16 10:37:16 +02:00
Dion Moult
af9ce9d8fd
Fix crash where IFCTester read directly from IFC in the UI
2024-04-16 10:37:16 +02:00
Dion Moult
a7f33d8172
Basic integration of bSDD with BlenderBIM Add-on: you can now assign classification references from the bSDD and set the active bSDD domain.
2024-04-16 10:37:16 +02:00
Dion Moult
28ddd2aefc
Implement classification searching in bSDD library
2024-04-16 10:37:16 +02:00
Andrej730
10e19d16bd
select array parent / all array objects to work without parent guid argument
...
now it's getting parent guid from the currently active object, not from provided guid argument - so now it's possible to add those operators to quick favorites
2024-04-16 10:37:16 +02:00
Ryan Schultz
d4274e0e20
Have bim.select_aggregate make the aggregate empty the active object, as well.
2024-04-16 10:37:16 +02:00
Dion Moult
7e10d520f4
IfcTester now includes percentages per requirement
2024-04-16 10:37:16 +02:00
Sigma Dimensions (Yass)
145f601a2e
purge cost schedules
2024-04-16 10:37:16 +02:00
Dion Moult
a251816de0
Accommodate potential manual deletion of EPset drawing.
2024-04-16 10:37:16 +02:00
Dion Moult
f1d2bd0eac
Fix #3752 . Accommodate situations where layouts don't match IFC.
2024-04-16 10:37:16 +02:00
Andrej730
cfebf2549b
Associate IFC files with BlenderBIM on Windows
...
Buttons located in addon preferences - https://i.imgur.com/Unp4P9L.png
Just waiting for this to break somehow...
It's not completely automatic now and it doesn't create assign special icon for IFC files yet.
2024-04-16 10:37:16 +02:00
Andrej730
34a881da3a
Remove orphaned IfcPropertyEnumeration
...
Noticed a couple hundreds of orphaned IfcPropertyEnumeration in my .ifc like below 😁
IFCPROPERTYENUMERATION('Status',(IFCLABEL('NEW'),IFCLABEL('EXISTING'),IFCLABEL('DEMOLISH'),IFCLABEL('TEMPORARY'),IFCLABEL('OTHER'),IFCLABEL('NOTKNOWN'),IFCLABEL('UNSET')),$);
2024-04-16 10:37:16 +02:00
Andrej730
ecf3da1d86
fixed bug creating transition shapes
...
it was accidentally assigning extrusion vector instead of an offset
2024-04-16 10:37:16 +02:00
Andrej730
624d1fdc3a
Clean up orphaned meshes
...
- delete_ifc_project
- bim.add_constr_type_instance
- adding transitions and bends
- add profile / slab / wall
2024-04-16 10:37:16 +02:00
Andrej730
654f84ffb7
Save last active context editing doors/windows, solves #3735
...
previously - https://imgur.com/a/gri6zMk
now - https://imgur.com/a/GIwZP6c
2024-04-16 10:37:16 +02:00
Sigma Dimensions (Yass)
788f2d2044
MSP calendar exceptions are now also imported #3766
2024-04-16 10:37:16 +02:00
Sigma Dimensions (Yass)
d7887de3e5
fix msp .xml import: exception days for a standard working week #3766
2024-04-16 10:37:16 +02:00
Massimo Fabbro
da8cd9daba
Add new covering tool. Mock up and initial functions
2024-04-16 10:37:16 +02:00
Massimo Fabbro
4ed901204e
Partial spatial tool refactor
2024-04-16 10:37:16 +02:00
Andrej730
ed9e45bb7d
For parametric doors and windows remove "Edit Profile" button from BIM Tool UI to avoid confusion
2024-04-16 10:37:16 +02:00
Andrej730
484758e564
Add starting/saving IFC project to Blender F4 file context menu
...
https://i.imgur.com/FDvZZwc.png
2024-04-16 10:37:15 +02:00
Andrej730
37f1f6d125
MEP bends - fixed bunch of bugs related to adjusting already existing bends types
2024-04-16 10:37:15 +02:00
Dion Moult
6b15b08835
Project advanced mode filtering now uses new filter syntax
2024-04-16 10:37:15 +02:00
Andrej730
54dcf75a7e
Ooops, forgot to remove debug shape creation
2024-04-16 10:37:15 +02:00
Andrej730
9e667013a3
transitions - fixed bug finding compatible fitting
...
For example, there was a fitting from segment of type A to the segment of type B with start/end transition lengths equal a/b respectively.
And then if you'd try to create a transition from B to A and start/end transition lengths being equal to b/a, previously BBIM wouldn't be able to find that already existing fitting is still compatible.
2024-04-16 10:37:15 +02:00
Andrej730
72d5350b83
mep operators - clamp properties below zero
2024-04-16 10:37:15 +02:00
Andrej730
5f94e2b251
bends - support for zero radius bends
2024-04-16 10:37:15 +02:00
Dion Moult
7f968d6eab
IfcDiff can now visualise across linked IFCs
2024-04-16 10:37:15 +02:00
Dion Moult
4131e595bd
Make IfcDiff more forgiving when invalid geometry occurs. See #3755 .
2024-04-16 10:37:15 +02:00
Andrej730
fe99b59209
Fixed bug using tab editing arbitrary profile
...
It was assuming we were editing extrusion profile and therefore was giving errors.
2024-04-16 10:37:15 +02:00
Dion Moult
34e4ecb8a4
Include buildingSMART psets in IfcFM Basic preset
2024-04-16 10:37:15 +02:00
Dion Moult
c1bb3e482e
Minor fix
2024-04-16 10:37:15 +02:00
Dion Moult
e03a4bab23
More minor fixes to IfcFM basic preset
2024-04-16 10:37:15 +02:00
Dion Moult
b0f1c4d684
Minor fixes to IfcFM
2024-04-16 10:37:15 +02:00
Andrej730
f1184e6182
Revert "Replace currently selected objects with occurences of type"
...
This reverts commit 58199ef7c9 .
2024-04-16 10:37:15 +02:00
Andrej730
4b48b30c3b
bends - consider profile dimensions searching for compatible fitting
...
So basically now it won't reuse a bend fitting created for the same profile but with different dimension.
2024-04-16 10:37:15 +02:00
Andrej730
37eb1751b4
bends - adjusting compatible fitting rotation to match the segments
...
Demo - https://imgur.com/a/cYdWy9X (note that no bend types created in the process - it's just adjusting the type created for the first two segments).
2024-04-16 10:37:15 +02:00
Andrej730
14aa32b04a
Replace currently selected objects with occurences of type
...
Added operator to replace currently selected objects with occurences of the chosen type. I kept doing this from the code and thought it could be generally useful.
It's working pretty naive now and just replacing objects with occurences preserving the original transform (location/rotation/scale), nothing else is preserved.
Demo - https://imgur.com/a/qm8a6Ns
PS Hopefully I'm not reinventing the wheel and not missed some other similar operator
2024-04-16 10:37:15 +02:00
Andrej730
fc2aa41717
bends - considering parametric data searching for compatible fitting
2024-04-16 10:37:15 +02:00
Thomas Krijnen
42da8aba83
Correct xsi:schemaLocation
2024-04-16 10:37:15 +02:00
Thomas Krijnen
79c8594f8f
Update IDS.xsd
2024-04-16 10:37:15 +02:00
Dion Moult
e04b69717b
New FM module in BlenderBIM Add-on for interacting with IfcFM.
2024-04-16 10:37:15 +02:00
Dion Moult
4eaf9c689d
Implement COBie documents and attributes
2024-04-16 10:37:15 +02:00
Andrej730
5715a14b17
bends - use IfcArcIndex to define bends curves
...
instead of manually generating polylines of segments
2024-04-16 10:37:15 +02:00
Andrej730
e7b6fad348
bends - support for start and end segments
2024-04-16 10:37:15 +02:00
Andrej730
959f05d154
shapebuilder - replace y extrusion args with shortcut for readibility
2024-04-16 10:37:15 +02:00
Andrej730
7cef9ffe0e
Bends - replace faceset with simple extrusion
2024-04-16 10:37:15 +02:00
Andrej730
5180f40245
MEP bends - support for circular profiles
...
Demo - https://imgur.com/a/XQBOvGz
2024-04-16 10:37:15 +02:00
Dion Moult
b25fae8ca8
Don't strip selector query keys to allow for explicit "mistakes" in key names.
2024-04-16 10:37:15 +02:00
Dion Moult
728714dae3
Minor fix in IfcCSV where strings didn't get auto quoted.
2024-04-16 10:37:15 +02:00
Dion Moult
d27e0bdf10
New util.system.get_port_element function.
2024-04-16 10:37:15 +02:00
Dion Moult
cc1a2db3ff
Allow optional second arguments to substr formatting.
2024-04-16 10:37:15 +02:00
Dion Moult
cb264bac6e
Implement COBie assemblies, connections, spares, resources, and jobs.
2024-04-16 10:37:15 +02:00
Dion Moult
8976cf5c52
Implement COBie systems
2024-04-16 10:34:30 +02:00
Andrej730
afeca7d598
Fixed top and center alignment in the schedule
...
Solves #3599
Before - https://i.imgur.com/9s7MxH5.png
After - https://i.imgur.com/ojDj09G.png
Inkscape - https://i.imgur.com/pWF4Ouy.png
2024-04-16 10:34:30 +02:00
Andrej730
315e8a436a
MEP bends - more robust start/end points detection
...
also support for bends with angles > 90 degrees and some other bugs fixed
2024-04-16 10:34:30 +02:00
Dion Moult
3b070b755a
Implement COBie type and component tables
2024-04-16 10:34:30 +02:00
Dion Moult
2474b238a8
Deprecate purge_module_data in favour of newer refresh_ui_data function.
2024-04-16 10:34:30 +02:00
Dion Moult
913ccd9289
Improve usability of pset template UI by removing save button and using new explicit applicable entity defaults to mitigate possible invalid pset templates.
2024-04-16 10:34:30 +02:00
Dion Moult
d39df4a933
Minor UI bugfix where pset template files sometimes displayed with truncated filenames
2024-04-16 10:34:30 +02:00
Dion Moult
607e367448
Fix bug where you couldn't add psets that were inherited.
2024-04-16 10:34:30 +02:00
Dion Moult
61475d0846
Implement COBie zones
2024-04-16 10:34:30 +02:00
Andrej730
12c1d7991a
Spatial Manager - try to preserve the selection on loading the manager
...
Also noticed in Sigma Dimensions video that every time user deletes a storey or applies new elevation the selection was jumping to the first storey. Now it's going to be more natural.
Before - https://imgur.com/a/gbn7ryQ
After - https://imgur.com/a/QX2RulF
2024-04-16 10:34:30 +02:00
Andrej730
6700270600
Units formatting for Spatial Manager
...
Noticed in Sigma Dimensions video that we have some floating point garbage displayed in the Spatial Manager UI and I've added some simple formatting.
Now - https://i.imgur.com/eM1rDDu.png
Before - https://i.imgur.com/ySln5uU.png
2024-04-16 10:34:29 +02:00
Dion Moult
c9c449978d
Reimplement IfcCOBie contacts, facilities, floors, and spaces in IfcFM.
2024-04-16 10:34:29 +02:00
Andrej730
602ec57cba
Considering parametric data for fitting #3695
...
Search for compatible fitting wasn't taking into account that maybe fitting used for the same segments but fitting's parameters are not the same (such as start_length, end_length, angle and offset between profiles).
I also forgot to promote transition angle to operator's property😬
2024-04-16 10:34:29 +02:00
Andrej730
a1bca1bb4a
Fixed issue creating slabs in IFC2X3 #3696
...
Error traceback is below - it was trying to set IfcExtrudedAreaSolid.Position to None when in IFC2x3 Position wasn't optional, so now in IFC2X3 it's going to have some default position
RuntimeError: Error: Python: Traceback (most recent call last):
File "\bim\module\model\product.py", line 123, in execute
return IfcStore.execute_ifc_operator(self, context)
File "\bim\ifc.py", line 336, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
File "\bim\module\model\product.py", line 148, in _execute
if self.generate_layered_element(ifc_class, relating_type):
File "\bim\module\model\product.py", line 274, in generate_layered_element
obj = slab.DumbSlabGenerator(relating_type).generate()
File "\bim\module\model\slab.py", line 143, in generate
return self.derive_from_cursor()
File "\bim\module\model\slab.py", line 147, in derive_from_cursor
return self.create_slab()
File "\bim\module\model\slab.py", line 179, in create_slab
representation = ifcopenshell.api.run(
File "\libs\site\packages\ifcopenshell\api\__init__.py", line 66, in run
result = usecase_class(ifc_file, **settings).execute()
File "\libs\site\packages\ifcopenshell\api\geometry\add_slab_representation.py", line 42, in execute
[self.create_item()],
File "\libs\site\packages\ifcopenshell\api\geometry\add_slab_representation.py", line 58, in create_item
extrusion = self.file.createIfcExtrudedAreaSolid(
File "\libs\site\packages\ifcopenshell\file.py", line 337, in create_entity
e[idx] = arg
File "\libs\site\packages\ifcopenshell\entity_instance.py", line 260, in __setitem__
self.wrapped_data.setArgumentAsNull(idx)
File "\libs\site\packages\ifcopenshell\ifcopenshell_wrapper.py", line 4929, in setArgumentAsNull
return _ifcopenshell_wrapper.entity_instance_setArgumentAsNull(self, i)
RuntimeError: Attribute not set
2024-04-16 10:34:29 +02:00
Andrej730
08ace6616c
automatically adjust viewport camera on loading ifc
...
It will make sure you'll be able to see the project's elements in viewport when it's loaded (same way as if you'd select all objects and hit "Numpad .").
Couldn't find any way to make it work without enablging / disabling selection - https://projects.blender.org/blender/blender/issues/112141
2024-04-16 10:34:29 +02:00
Andrej730
b5c80ebaab
Fixed issue using mitre with small angles between walls ( #3721 )
...
Normalization is unrelated, just added to be safe.
2024-04-16 10:34:29 +02:00
Andrej730
ee4568b7d2
some DumbWallJoiner.join() refactor
2024-04-16 10:34:29 +02:00
Dion Moult
271161f00f
Minor fix after 6887210
2024-04-16 10:34:29 +02:00
Dion Moult
01c1023af2
Fix bug when casting to tessellation for invalid IFCs which don't use material sets properly.
2024-04-16 10:34:29 +02:00
Dion Moult
1a59b4913e
IfcFM now uses Openpyxl and supports xlsx. Reorder columns to be more logical and group similar data types together (at least for me).
2024-04-16 10:34:29 +02:00
Dion Moult
2762d9c47f
Fix #3733 . Fix round function precision error.
2024-04-16 10:34:29 +02:00
Dion Moult
5edc6c4d8a
Enable Sphinx auto section labels. Minor doc link fix.
2024-04-16 10:34:29 +02:00
Dion Moult
073491a78a
For convenience, rounding to an integer value now also casts to integer.
2024-04-16 10:34:29 +02:00
Ryan Schultz
fa08d9d01e
Update installation.rst
2024-04-16 10:34:29 +02:00
Dion Moult
a405b36167
ResetAbsoluteCoordinates IfcPatch recipe can now choose whether to reset placements, geometry, or both points.
2024-04-16 10:34:29 +02:00
Dion Moult
678dce8fc0
Fix bug where unedited mesh objects were still tagged as edited which led to unnecessary processing prior to drawing generation or saving.
2024-04-16 10:34:29 +02:00
Dion Moult
292194c4f6
You can now customise the display of empty strings in IfcCSV.
2024-04-16 10:34:29 +02:00
Dion Moult
c4eed78ca1
Update documentation with new selector keys.
2024-04-16 10:34:29 +02:00
Dion Moult
23da63b9a6
Big clean up to IfcFM. It's almost usable!
2024-04-16 10:34:29 +02:00
Dion Moult
62b2b9983f
Fix #3682 . You can now tag setout points with dynamic xyz / enh values.
2024-04-16 10:34:29 +02:00
Dion Moult
e8b52d3d93
Drawing text annotation now use the new format functions instead of executing arbitrary code.
2024-04-16 10:34:29 +02:00
Dion Moult
b792fff98c
New substr formatting function.
2024-04-16 10:34:29 +02:00
Dion Moult
e7a90b5597
You can now choose both input and output units for imperial formatting
2024-04-16 10:34:29 +02:00
Ryan Schultz
41c6830ee0
Update ifc_classes_suggestions.json
2024-04-16 10:34:29 +02:00
Dion Moult
ee2f5fc646
Revert "Spreadsheet Import/Export: Fix feet and inch formatting"
...
This reverts commit 921d412fc7 .
2024-04-16 10:34:29 +02:00
Dion Moult
fbe52287fc
Revert "Small fix for feet and inch formatting on Spreadsheet Import/Export"
...
This reverts commit 7935bd22c2 .
2024-04-16 10:34:29 +02:00
Dion Moult
396fdc7806
Fix #3722 . Fix ifcopenshell pypi distribution to use modern manylinux tag for glibc 2.31.
2024-04-16 10:34:29 +02:00
Ryan Schultz
bf023370ef
Small fix for feet and inch formatting on Spreadsheet Import/Export
2024-04-16 10:34:29 +02:00
Andrej730
d5e222d8de
remove the orphaned data created on object duplicate
...
orphaned mesh still had ifc_definition_id of the original object and could have caused issues in theory
2024-04-16 10:34:29 +02:00
Andrej730
21aad4c4f5
Update status visibility automatically #3721
2024-04-16 10:34:29 +02:00
Dion Moult
fbad0eeac2
Fix #3705 . Fix ambiguity in using commas in unquoted strings in facet selector.
2024-04-16 10:34:28 +02:00
Dion Moult
66032dd8f3
Fix #3712 . Fix bug where grid axes couldn't be duplicated.
2024-04-16 10:34:28 +02:00
Dion Moult
de04c71335
Improve hello world documentation to be more beginner friendly
2024-04-16 10:34:28 +02:00
Andrej730
aa71025e7f
hotfix for ca4efa6e5
2024-04-16 10:33:34 +02:00
Andrej730
eeb7c9b010
Remove operator's name from set_tab tooltip #3704
2024-04-16 10:33:34 +02:00
Andrej730
98503179d9
bim.mep_add_bend
...
Added operator to create bend fittings between objects, it's still work in progress and now it only supports rectangular profiles.
Small demo - https://imgur.com/a/vM7hnJa
2024-04-16 10:33:34 +02:00
Andrej730
3827e1d267
notify about unsupported transition case
2024-04-16 10:33:34 +02:00
Dion Moult
ed9f50298c
See #3700 . Fix issue in drawing include filter where "addition" selections like GlobalIds and classes didn't have any impact.
2024-04-16 10:33:34 +02:00
Dion Moult
e336c63005
You can now load 2D point clouds.
2024-04-16 10:30:32 +02:00
Dion Moult
59c8326c51
See #3682 . You can now add symbols and multisymbols (i.e. one vertex per symbol) annotations. New default symbols for setout points in demo library.
2024-04-16 10:30:32 +02:00
Andrej730
1a3ac79dc2
Fixed bug with adding obstruction fittings
2024-04-16 10:30:22 +02:00
Andrej730
284feb5d67
couple descriptions for setting north
2024-04-16 10:30:22 +02:00
Dion Moult
2f6e702809
Fix #3470 . Fix bug where hppfcl for IfcClash was incorrectly bundled for Windows.
2024-04-16 10:30:22 +02:00
Dion Moult
7b0a10dc13
Fix bug where models that might have invalid shapes or 2D far shapes might break georeferencing and model loading.
2024-04-16 10:28:25 +02:00
Dion Moult
2bc7b98806
Minor fix
2024-04-16 10:28:25 +02:00
Dion Moult
2743d18f50
IfcTester BCFs now include viewpoints for occurrences
2024-04-16 10:28:25 +02:00
Dion Moult
69d9388f61
Add filepath popup when saving IDS reports to BCF
2024-04-16 10:28:25 +02:00
Dion Moult
39ec1f9ea0
Bump IOS
2024-04-16 10:28:25 +02:00
Dion Moult
2ea3704d96
Update BBIM tester module UI to be compatible with new IfcTester upgrades
2024-04-16 10:28:25 +02:00
Dion Moult
283961fc72
IfcTester now supports much more granular statistic reports and more detailed / beautiful HTML reports.
2024-04-16 10:28:25 +02:00
Dion Moult
68025d8204
Fix #3649 . Increase profile threshold.
2024-04-16 10:28:25 +02:00
Dion Moult
aacf902ce0
Fix #3667 . Allow removing drawings if the sheet hasn't yet been generated or manually removed.
2024-04-16 10:28:25 +02:00
Dion Moult
116ad507cf
Fix #3647 . Fix bug where Windows .exe suffix needed to be explicit in commands. No more eval, and commands must now be provided in json form, and variables should be given as simple strings.
2024-04-16 10:28:25 +02:00
Sigma Dimensions (Yass)
f1f5b7627c
fix failed context for hotkey Shitf+C #3676
2024-04-16 10:28:25 +02:00
dushyant basson
429f468e47
Update src/qtviewer/ParseIfcFile.cpp
...
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2024-04-16 10:28:25 +02:00
dushyant basson
504307791c
Update src/qtviewer/ParseIfcFile.cpp
...
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2024-04-16 10:28:25 +02:00
dushyant basson
ac8db0e21b
Revert "Updated included header files"
...
This reverts commit 65f86d929e .
2024-04-16 10:28:25 +02:00
dushyant basson
74d790a28e
Updated included header files
2024-04-16 10:28:25 +02:00
Dushyant Basson
14454d1b78
Added output panel (for debug info, etc.)
2024-04-16 10:28:25 +02:00
Dushyant Basson
98102b9df0
added IFCOS libraries; Qt include dir
2024-04-16 10:28:25 +02:00
dushyant basson
3783729900
Rename files - fixing case change
2024-04-16 10:26:59 +02:00
dushyant basson
eefe821d0a
Updated to use Qt6; Created initial structure of the viewer with OpenGL widget
2024-04-16 10:26:58 +02:00
Dion Moult
1878dedbd4
Fix #3531 . See #3660 . Exclude 2D elements from generating shapely surface polygons in drawings.
2024-04-16 10:26:58 +02:00
Thomas Krijnen
5af30b6f07
#3660 Oops... propagate setting
2024-04-16 10:26:58 +02:00
Dion Moult
2ec1a97a00
Fix #3002 . You can now have metadata classes on projection lines.
2024-04-16 10:26:58 +02:00
Dion Moult
7bcddb8951
Bump IOS to take advantage of setSegmentProjection
2024-04-16 10:26:58 +02:00
Andrej730
0001a1f98b
Fixed #3666 after 101972f
2024-04-16 10:26:51 +02:00
Thomas Krijnen
09f68ae556
Update validate.py - catch some runtime errors
2024-04-16 10:26:51 +02:00
Thomas Krijnen
100ef1d375
Update ci.yml
2024-04-16 10:26:51 +02:00
Thomas Krijnen
ecfeadbbd5
Update ci-py-only.yml
2024-04-16 10:26:51 +02:00
Thomas Krijnen
dc84f84e86
#3660 setSegmentProjection() / --svg-segment-projection options
2024-04-16 10:26:51 +02:00
Dirk Olbrich
941d25d398
docs: fix backslash in cmake command
2024-04-16 10:26:51 +02:00
Dion Moult
b33131db44
Fix #3644 . Annotation matrixes properly calculated now for RCPs.
2024-04-16 10:26:51 +02:00
Bruno Postle
0a69e3668e
BlenderBIM keep view when switching git revision
2024-04-16 10:26:51 +02:00
Sigma Dimensions (Yass)
cd890b2c2e
fix issue where add materials operator would only show when a material is selected
2024-04-16 10:26:51 +02:00
Sigma Dimensions (Yass)
41986fb051
fix toggle link selectability and visibility when linked IFCs use a relative path
2024-04-16 10:26:51 +02:00
Sigma Dimensions (Yass)
e2ab4f1ed8
fix loading and unloading linked IFCs with a relative path
2024-04-16 10:26:51 +02:00
Sigma Dimensions (Yass)
68dcbd8e5c
fix various issues by preventing data from linked IFCs to be saved in current project
2024-04-16 10:26:51 +02:00
Sigma Dimensions (Yass)
218d51cbc9
Maintain active status filters override when activating 3D model during drawing worfklows
2024-04-16 10:26:51 +02:00
Andrej730
a6f96fe0ad
IfcElementType now appears first in Object Metadata
...
Because it's seems more general workflow to create types than just assign classes.
Example - https://i.imgur.com/DD8twX3.png
2024-04-16 10:26:51 +02:00
Andrej730
2808715406
Rename IFC AU Library to IFC Furniture library
...
Just thought watching BIM Voice last video that some people may overlook it like something Australia specific with "IFC AU Library" name.
2024-04-16 10:26:51 +02:00
Sigma Dimensions (Yass)
d22095f603
fix removing drawings from sheets when deleting drawings #3645
2024-04-16 10:26:51 +02:00
Ryan Schultz
676b16bc29
Spreadsheet Import/Export: Fix feet and inch formatting
2024-04-16 10:26:51 +02:00
Andrej730
f573871493
shape_builder docs test
2024-04-16 10:26:51 +02:00
Christoph Mellueh
cac6ea6263
add build to Makefile and use it in bcf-pypi Workflow
2024-04-16 10:26:51 +02:00
Andrej730
f7b46f1265
fill-bg for text instead of the entire symbol by default #3594
...
Before - https://i.imgur.com/OsQycgW.png
After - https://i.imgur.com/rZvXIoT.png
2024-04-16 10:26:51 +02:00
Chetan
76708dd8ce
Create constants ELEMENT_ARRAY_BUFFER and ARRAY_BUFFER to allow for more descriptive bufferview construction. Change the bufferViewId variable from a static variable to a member variable because python instances of IfcOpenShell can have multiple serializers open at any given time. This commit also includes some minor code reformatting and code comments explaining the changes done. Finally integer constants GLB_FILE_HEAER, GLB_JSON_HEADER, GLB_BINARY_CHUNK_HEADER were added to make the glb file header creation more descriptive
2024-04-16 10:26:48 +02:00
Chetan
f4cce9878f
Give each accessor its own buffer view to improve the memory and rendering efficiency of the glb file
2024-04-16 10:25:02 +02:00
Sigma Dimensions (Yass)
f7609132b4
run black and fix silly code #3652
2024-04-16 10:25:02 +02:00
Sigma Dimensions (Yass)
2e5819ca0a
you can now reload linked IFCs #3652
2024-04-16 10:25:02 +02:00
Sigma Dimensions (Yass)
2e8a282276
Move grids panel under Project Setup
2024-04-16 10:25:02 +02:00
Dion Moult
8114df0263
Write documentation describing facet selector and element query syntax.
2024-04-16 10:25:02 +02:00
Dion Moult
4463b44d63
Bump IOS and enable unify inputs.
2024-04-16 10:25:02 +02:00
Dion Moult
54a0e4ebff
Minor fix to use new regex syntax in select similar dialog.
2024-04-16 10:25:02 +02:00
Dion Moult
628005333d
Minor fixes, and IfcCSV now uses pandas to import ODS/XLSX for more robust importing.
2024-04-16 10:25:02 +02:00
Dion Moult
2298201e50
Selector element key queries now allow for regex matching, and single regex matches return that only item, not a list with one item in it.
2024-04-16 10:25:02 +02:00
Dion Moult
a30b2dff31
Fix #3587 . IfcCSV now supports custom formatting functions.
2024-04-16 10:25:02 +02:00
Gorgious56
8f19e04ccc
Fix #3641 : Error when creating roof type
2024-04-16 10:25:02 +02:00
Thomas Krijnen
0b673f725e
#3158 Fix unify inputs
2024-04-16 10:25:02 +02:00
Thomas Krijnen
b4045aa960
Update draw.py --with-unify-inputs [True]
2024-04-16 10:25:02 +02:00
Andrej730
4dba048fa0
small info message on bim.get_representation_ifc_parameters
...
just to notify that it worked but haven't found any parameters
2024-04-16 10:25:02 +02:00
Dion Moult
6721468bcf
Fix incorrect implementation of regex matching
2024-04-16 10:25:02 +02:00
Dion Moult
279ddc639b
Fix #3635 . Minor fix.
2024-04-16 10:25:02 +02:00
Dion Moult
f4fda85dfa
Accommodate invalid Revit models where they have invalid material relationships.
2024-04-16 10:25:02 +02:00
Dion Moult
1fc4b921e6
Fix failing tests and optimise brick tests.
2024-04-16 10:25:02 +02:00
Andrej730
f3e38e8884
fixed errors after 13309cb8c #3624
...
for example it was throwing errors when using WindowTool you selected a wall and it would try to assign current type to wall
2024-04-16 10:25:01 +02:00
rileywong311
42be4344a1
Update core/test_brick.py
2024-04-16 10:25:01 +02:00
rileywong311
97ee85aa87
Update tool/test_brick.py
2024-04-16 10:25:01 +02:00
rileywong311
99b99fbf2c
Fix bug where split screen selection from previous page is out of range on the next
2024-04-16 10:25:01 +02:00
rileywong311
c27d9ad382
Undo indentation from commit <e08283350> (did not account for no name existing)
2024-04-16 10:25:01 +02:00
rileywong311
7220dd024e
Fix Brick core
...
- Refresh viewer now reloads both screens by default
- Rename "add_namespace" to "add_brick_namespace"
- Fix error where "view_brick_class" was run instead of "brick.run_view_brick_class"
2024-04-16 10:25:01 +02:00
rileywong311
6aa6f91be4
Update core\tool.py for Brick
2024-04-16 10:25:01 +02:00
rileywong311
d44e5987d2
Fix Brick tool
...
- Data is now stored regularly and parsed in props
- "get_convertable_brick_spaces" returns a set
- "export_brick_attributes" always returns a tuple of strings
2024-04-16 10:25:01 +02:00
rileywong311
fe8e370b8c
Fix brick.feature
...
For one particular, I removed "And I set 'scene.BIMRootProperties.new_brick_relation_type' to 'hasPart'". Although it should really be "https://brickschema.org/schema/Brick#hasPart " to begin with, it was still failing the test. So removing it as a work around.
2024-04-16 10:25:01 +02:00
rileywong311
1f48281177
Refactor UI get_brick_relations
2024-04-16 10:25:01 +02:00
rileywong311
fd948e9481
Fix condition for hiding "view_brick_item"
2024-04-16 10:25:01 +02:00
rileywong311
529dc4d984
Rename 'add_brick_failed" to "add_brick_relation_failed"
2024-04-16 10:25:01 +02:00
rileywong311
1e6d86b4d7
Fix indentation for assign Brick reference
2024-04-16 10:25:01 +02:00
Gorgious
2ff4aba6cc
Fix #3636 : Check if representation class exists before testing if it's a circle extrusion representation
2024-04-16 10:25:01 +02:00
Sigma Dimensions (Yass)
a29ae07b72
updating a duration will not auto update schedule usage
2024-04-16 10:25:01 +02:00
Andrej730
dd02925cc4
Fixed bug adding ports to the transitions between profiles with an offset
...
end port ended up located without the offset
2024-04-16 10:25:01 +02:00
Andrej730
f92709dadd
Fixed bug in shape_builder.mep_transition_calculate
...
it wasn't taking account that `h` can also end up negative
2024-04-16 10:25:01 +02:00
Andrej730
dcfd790a07
Fixed bug with segments incorrectly adjusted after adding transition
...
If transition was really long comparing to segments length then DumbProfileJoiner.join_E would start change their their length in unexpected way - ATSTART when you'd still expect ATEND and vice versa.
Also fixed the bug when segments length was incorrectly calculated - it wasn't calculating it world space when it makes more sense here to calculate it by local segments Z axis.
2024-04-16 10:25:01 +02:00
Dion Moult
feec0e2437
Fix more failing tests.
2024-04-16 10:25:01 +02:00
Sigma Dimensions (Yass)
7b52e359f2
fix bug where nested resources in task ICOM panel didn't show
2024-04-16 10:25:01 +02:00
Sigma Dimensions (Yass)
b27262f81f
Resource Features :
...
- Adding/removing and edit productivity data is now easier (+ cleaner UI)
- Pressing calculate schedule work on a parent resource will default to calculating its nested resources schedule work.
- Show derived Schedule Work for a parent resource
- Improve apperance of Resource Tree Structure
2024-04-16 10:25:01 +02:00
Gorgious56
66dbd7d8e7
Prevent user from editing the mesh of a circle based extrusion
2024-04-16 10:25:01 +02:00
Dion Moult
1c016c4212
See #3581 . Fix failing IOS tests.
2024-04-16 10:25:01 +02:00
Christoph Mellueh
50d0d16351
rename File and unify with ci-ifctester-pypi
2024-04-16 10:25:01 +02:00
Andrej730
eb95bdd21e
Fixed #3624 - tools props were updating only for BIM Tool
...
It wasn't taking into account WallTool, BeamTool and all other tools we have.
2024-04-16 10:25:01 +02:00
Andrej730
966a04e053
Update currently selected ifc class and type on selecting object
...
Had this idea for awhile now and heard it multiple times from other people. Please give feedback if this feature gets in the way instead of helping.
Example - https://imgur.com/a/K4hz2FB
2024-04-16 10:25:01 +02:00
Andrej730
8ff760261b
A button to jump back from boolean to the original object
...
Example - https://imgur.com/a/A3dVbFM
2024-04-16 10:25:01 +02:00
Dion Moult
2333997bda
Fix #3632 . Make search and CSV UIs share the same Blender props for DRY.
2024-04-16 10:25:01 +02:00
Dion Moult
6b05f4a2aa
You can now reorder columns in IfcCSV
2024-04-16 10:25:01 +02:00
Dion Moult
c190ae5aea
Loading IFCs now prioritise 2D bodies over 3D non-bodies. This helps prevent loading and seeing a bunch of Box / Clearance representations.
2024-04-16 10:25:01 +02:00
Dion Moult
f8b3b3a54f
Fix #3627 . Bug where exclude didn't take into account entities are "OR" not "AND". Whoops.
2024-04-16 10:25:01 +02:00
Sigma Dimensions (Yass)
ed58072d64
run black
2024-04-16 10:25:01 +02:00
Sigma Dimensions (Yass)
1996e98506
Feature to calculate required resources
2024-04-16 10:25:00 +02:00
Sigma Dimensions (Yass)
39d072d0ca
Calculates the number of resources based on required person-hours.
2024-04-16 10:25:00 +02:00
Sigma Dimensions (Yass)
05a5b2abfd
clean up Resource UI using column layout
2024-04-16 10:25:00 +02:00
Jesusbill
60aaf4fc2c
Fix duplicate id in EP_set_Drawing template
2024-04-16 10:25:00 +02:00
Andrej730
624d5f2580
bump ifcsverchok release in readme
2024-04-16 10:25:00 +02:00
Andrej730
8a3f2cf0ef
added UI to display connections for realizing elements
...
Example - https://imgur.com/a/1ZZlTwp
2024-04-16 10:25:00 +02:00
Andrej730
d715bd784a
Added small UI to show realizing elements for the connections
...
Example - https://i.imgur.com/JLDcnbK.png
2024-04-16 10:25:00 +02:00
Andrej730
8856d513f4
test to make sure nothing happened to ifcsverchok 😅
2024-04-16 10:25:00 +02:00
Andrej730
f88cdae500
a bit faster renaming ifc elements when renaming blender objects
...
Previously when you renamed blender object it was requiring the "Ifc.../" prefix so it would also change the name for ifc element. So when you wanted to rename something you'd only select and change the name part without prefix.
Now you can just type the name right in after using F2 which seems a bit quicker by a few less clicks.
Before - https://imgur.com/a/Rn7a17W
After - https://imgur.com/a/a3lmxte
2024-04-16 10:25:00 +02:00
Andrej730
8bb1a129dd
fixed bug in mep transitions
...
it wasn't taking into account that offset can be too big to sustain the angle
2024-04-16 10:25:00 +02:00
Andrej730
4e47827b86
added tests for shape builder transition length calculator
2024-04-16 10:25:00 +02:00
Sigma Dimensions (Yass)
9b5b5da91e
you can now also update resource numbers (usage) from the task ICOM resource list
2024-04-16 10:25:00 +02:00
Sigma Dimensions (Yass)
afce0ce76c
refactor highligh_task code
2024-04-16 10:25:00 +02:00
Dion Moult
678fb313eb
Fix #3620 . Bug where manually inserted windows should preseve the existing Z value.
2024-04-16 10:25:00 +02:00
Sigma Dimensions (Yass)
8299ae6239
when editing sequence relationships, enabling selecting successor and predecessor task
2024-04-16 10:25:00 +02:00
Sigma Dimensions (Yass)
2fc3c03170
feature to select a resource in resource tree from task ICOM list
2024-04-16 10:25:00 +02:00
Dion Moult
e444003803
Fix #3628 . Minor issue where regex queries didn't load properly.
2024-04-16 10:25:00 +02:00
Dion Moult
7a7ac30faf
The copy property tool now works on enumerated properties. Hooray for copying over statuses!
2024-04-16 10:25:00 +02:00
Andrej730
01dad745ba
Small fix for 422f772c4
2024-04-16 10:25:00 +02:00
Dion Moult
2e8c218415
IfcPatch now uses the new facet selector syntax.
2024-04-16 10:25:00 +02:00
Dion Moult
51e6d51a0d
Due to popular demand, custom EPset_Status to be used for "userdefined" status values as well as for things which don't have a status.
2024-04-16 10:25:00 +02:00
Dion Moult
4217318654
New Status panel for managing statuses in the costing / scheduling tab.
2024-04-16 10:25:00 +02:00
Andrej730
098420b858
Fixed bug with remembering materials assigned to faces
...
The problem was that bim.update_representation was assigning representation styles without taking into account that some styles may not be actually used in the mesh, so it was always assigning first style (blender material) to the first IFCPOLYGONALFACESET even though it might be using for example the 3rd style.
More - https://community.osarch.org/discussion/1636/materials-not-remembering-their-assigment
2024-04-16 10:25:00 +02:00
Sigma Dimensions (Yass)
53a43442fe
implement calculating task duration based on resource usage change for fixed person-hours and prevent constrained attributes from updating
2024-04-16 10:25:00 +02:00
Dion Moult
82f868f90c
Fix #3627 . Error where using filters incorrectly applied includes / excludes.
2024-04-16 10:25:00 +02:00
Sigma Dimensions (Yass)
f8651430e6
consolidate constraint utilities into ifcopenshell.util.constraint and refactor
2024-04-16 10:25:00 +02:00
rileywong311
7e5bcd4c49
Update Brick feature tests
2024-04-16 10:25:00 +02:00
rileywong311
a5eb5c869d
Catch Assign_Brick_Reference with no selections
2024-04-16 10:25:00 +02:00
rileywong311
328c38b640
Refactor+polish Brick UI
2024-04-16 10:25:00 +02:00
rileywong311
3e95f8a4ab
Use "split" in Brick relations list to better align layout
2024-04-16 10:25:00 +02:00
rileywong311
1e0769b254
Update Brick References Panel
2024-04-16 10:25:00 +02:00
rileywong311
a9c5464ea9
Export/assign Brick library reference uses "label" if there is one
2024-04-16 10:25:00 +02:00
rileywong311
233b31a057
Brick UI relations list uses "label" if there is one
2024-04-16 10:25:00 +02:00
rileywong311
265948f37f
Restore Brick select ifcGlobalID functionality
2024-04-16 10:25:00 +02:00
rileywong311
4c37423ff4
Move Brick "set last saved" to BrickStore
2024-04-16 10:24:59 +02:00
rileywong311
efa9cdbacb
Simplify buttons for add Brick relations manually
2024-04-16 10:24:59 +02:00
rileywong311
7a925e3078
Rework Brick UI into toggle panels
2024-04-16 10:24:59 +02:00
rileywong311
164c0adc0d
Fix up convert_ifc_to_brick
...
Remove line separation between code, but add comments
Add full URI to Brick relations
Fix typo where "system_uris" was written as "space_uris"
Remove unnecessary get of "distribution_elements = brick.get_convertable_brick_elements()" again
2024-04-16 10:24:59 +02:00
rileywong311
8ee28ecb52
Remove Brick data debugging printouts
2024-04-16 10:24:59 +02:00
rileywong311
8e74880767
Check Brick library location exists
2024-04-16 10:24:59 +02:00
Sigma Dimensions (Yass)
95de43f5b6
forgotten bits and bobs + run black
2024-04-16 10:24:59 +02:00
Sigma Dimensions (Yass)
a2078e8de7
Feature to constrain a resource work or number of used resources
2024-04-16 10:24:59 +02:00
Sigma Dimensions (Yass)
3582ccc1d4
Fix calculating resource work based from parent's productivity and improve UI to show this
2024-04-16 10:24:59 +02:00
Sigma Dimensions (Yass)
2e4e2c3173
improve purge of remove_metric usecase
2024-04-16 10:24:59 +02:00
Sigma Dimensions (Yass)
2be46970fe
api usecase to add a reference path to a metric objective
2024-04-16 10:24:59 +02:00
Sigma Dimensions (Yass)
8b43767a6f
fix updating an objective's metric
2024-04-16 10:24:59 +02:00
Andrej730
7b135180a8
Save blenderbim last commit hash to the ifc header
...
Now it's possible to identify blenderbim version from .ifc file which is useful for debugging
Example:
FILE_NAME('test.ifc','2023-08-22T18:07:07+05:00',(),(),'IfcOpenShell v0.7.0-fc50bdd3a','BlenderBIM 0.0.999999-64bc7af','Nobody');
2024-04-16 10:24:59 +02:00
Dion Moult
9f42a91045
New util function to format a length value in preparation for custom formatting rules in drawings and schedules.
2024-04-16 10:24:59 +02:00
Thomas Krijnen
d233f3e488
#3616 Only consider distance orthogonal to projection vector for 2d boolean preprocessing
2024-04-16 10:24:59 +02:00
Andrej730
ca7984e12e
mep transitions - correct angle when connected segments share the same dimensions
...
Basically there are 3 methods to define the transition angle (https://i.imgur.com/AtCIJty.png ). Before we supported only the second method, now we support 1 and 3 too.
2024-04-16 10:24:59 +02:00
Dion Moult
e6e364780b
IfcCSV can now create summary rows (e.g. total, average) at the end of the table (may or may not be in addition to group totals).
2024-04-16 10:24:59 +02:00
Dion Moult
5e36255efe
When you force an object to be a tessellation, automatically remove all parametric constraints for you.
2024-04-16 10:24:59 +02:00
Dion Moult
2c0b6ca464
Fix bug where split elements by plane didn't work on multiple elements due to forgetting to toggle normals of the cutting plane.
2024-04-16 10:24:59 +02:00
Dion Moult
94e3627c8c
IfcCSV now supports grouping and group operations like concat, sum, min, max, etc.
2024-04-16 10:24:59 +02:00
Dion Moult
83566845df
New support for sorting IfcCSV outputs
2024-04-16 10:24:59 +02:00
Dion Moult
4838b13d63
Drawing include/exclude filters now use the new facet selector syntax
2024-04-16 10:24:59 +02:00
Dion Moult
a73fd2b55f
Drawings now can include non-drawing specific annotations too.
2024-04-16 10:24:59 +02:00
Dion Moult
641b5e002a
Now support custom queries for advanced users in the facet selector (similar to old selector). Also support types and count keys. (e.g. filter by objects with zero types, or zero materials, etc).
2024-04-16 10:24:59 +02:00
Dion Moult
2dd6b164a9
You can now get specific container types via util.element or util.selector. E.g. if you wanted to know what building an object is in or what storey an object is on.
2024-04-16 10:24:59 +02:00
Andrej730
b998e1c927
more work on transitions for MEP
...
- support transitions from and to circle profiles
- reworked transition length algorithm now it should be more accurate
- added support for creating transitions between profiles that are parallel but not collinear
2024-04-16 10:24:59 +02:00
Andrej730
e86ba7d2fb
show error if transition length is more the segments length
2024-04-16 10:24:59 +02:00
Andrej730
c4030134f2
fix the errors occured trying to find compatible fitting type
...
1) It would stop if the first occurence would be connected to a segment without type
2) It would raise an error if one of the fitting's ports was not connected.
2024-04-16 10:24:59 +02:00
Sigma Dimensions (Yass)
cb1ab7ec20
Update tests for editing sequence relationships
2024-04-16 10:24:59 +02:00
Sigma Dimensions (Yass)
dddb4192af
remove unused function
2024-04-16 10:24:59 +02:00
Sigma Dimensions (Yass)
efa4db344e
stop committing print statements
2024-04-16 10:24:59 +02:00
Sigma Dimensions (Yass)
dde12b36f8
clean up updating selected task ICOM and UI re-ordering for work schedule subpanels
2024-04-16 10:24:59 +02:00
Sigma Dimensions (Yass)
954722f40b
editing sequence relationships now requires less clicks
2024-04-16 10:24:59 +02:00
Sigma Dimensions (Yass)
c16d8a39e9
ligten up add cost schedule UI
2024-04-16 10:24:58 +02:00
Dion Moult
7f34c54327
Close #3615 . Follow (terrible, unofficial) convention that boolean result is intentional and boolean clipping result is automated.
2024-04-16 10:24:58 +02:00
Dion Moult
f51f2a0e8c
Fix #3614 . Remove_pset API now supports removing predefined property sets (E.g. door lining properties).
2024-04-16 10:24:58 +02:00
Sigma Dimensions (Yass)
df97bff203
update sequence tool functions
2024-04-16 10:24:58 +02:00
Sigma Dimensions (Yass)
3a6e9a4500
You can now save and load 4D animation color schemes
2024-04-16 10:24:58 +02:00
Dion Moult
ae0a341c95
Fix #3551 . Project specific pset templates now show up in the pset template editor.
2024-04-16 10:24:58 +02:00
Dion Moult
822bc4c08c
Fix #3610 . Glitch where editing existing float cells in IfcCSV ODS files created new cells or didn't update.
2024-04-16 10:24:58 +02:00
Dion Moult
3d933d2abe
Minor fix
2024-04-16 10:24:58 +02:00
Dion Moult
6097d4415a
Fix #3583 . BaseQuantity QTOs in IFC4 can now be set on types.
2024-04-16 10:24:58 +02:00
Dion Moult
861659c212
Fix #3605 . Bug where invalid representation type was created when booleans are added / removed.
2024-04-16 10:24:58 +02:00
Dion Moult
eac84c6965
IfcCSV now supports importing from ODS, XLSX, and Pandas dataframes in addition to CSV
2024-04-16 10:24:58 +02:00
Dion Moult
00c81a3add
Fix #3609 . IfcCSV can now optionally attempt to "preserve" formatting for XLSX and ODS.
2024-04-16 10:24:58 +02:00
Dion Moult
9d4bb4ca27
Fix #2973 . Bundle pandas, openpyxl, and odfpy in preprataion for upgrades in IfcCSV and IfcFM.
2024-04-16 10:24:58 +02:00
Dion Moult
312b2aecf0
Fix #3607 . IfcCSV now supports omitting the GlobalId column. This is great for presentation schedules, but the tradeoff is that you can't use it for imports.
2024-04-16 10:24:58 +02:00
Dion Moult
a9ea54a146
Bump IOS
2024-04-16 10:24:58 +02:00
Dion Moult
331b9cc440
See #3587 . IfcCSV now supports custom header titles.
2024-04-16 10:24:58 +02:00
Ryan Schultz
90163c822a
small fix on 'Live development environment' instructions
2024-04-16 10:24:58 +02:00
Sigma Dimensions (Yass)
aad75f19bf
fix saving and loading coulour schemes
2024-04-16 10:24:58 +02:00
Sigma Dimensions (Yass)
b9cb297b4c
fix enumartion of saved searches
2024-04-16 10:24:58 +02:00
Gorgious56
729e794091
You can now purge unused representations from the purge data panel
2024-04-16 10:24:58 +02:00
Gorgious56
035f7bcbae
You can now purge types from the Purge data panel
...
And refactor a bit the purge profiles code to make use of the profile tool module
2024-04-16 10:24:58 +02:00
Dion Moult
4a37e29429
Advanced users can now directly edit search filter queries.
2024-04-16 10:24:58 +02:00
Dion Moult
539cd047a2
Minor fix to allow edit_work_time to work seamlessly for IFC4X3.
2024-04-16 10:24:58 +02:00
Andrej730
b021103a99
Refactored svg angle decorator code, solves #3602 , more constistency between viewport and svg
...
Now it should be more consistent and more stable since svg and viewport are now using much more similar approach.
2024-04-16 10:24:58 +02:00
Dion Moult
130355f915
See #3603 . Base64 encode gantt chart JSON data to prevent JSON parsing problems.
2024-04-16 10:24:57 +02:00
Andrej730
8464fc86a4
set_objects_selection to set selection only if active_object is not None
...
It was creating errors if you'd try to add angle annotation without having any objects active.
2024-04-16 10:24:57 +02:00
Sigma Dimensions (Yass)
5c22faebe6
Start improving UI for clash detection and management
2024-04-16 10:24:57 +02:00
Gorgious56
5e25e4670d
Active profil users count is now dynamically fetched when the profile is clicked in the UI list
2024-04-16 10:24:57 +02:00
Andrej730
e1db448bad
Fixed clearing scales (after 3345d7e)
...
It was producing a bug with text rotation in elevation view
Added fix to make matrix normalization work for the cases when matrix is rotated and I've just found that mathutils.Matrix.normalize(d) is very conveniently ignoring 4th column (translation) (same for mathutils.Vector)
2024-04-16 10:24:57 +02:00
Andrej730
42316f9591
Fill-bg for template tags #3594
...
Also simplified create_text_tag a bit - now it adds fill_bg by just by copying text tags and adding fill_bg filter to them instead of going through the entire logic again.
2024-04-16 10:24:57 +02:00
Dion Moult
53f0f7c390
Support arbitrary element selection for manual groups in search / IfcCSV, with support for huge element selections.
2024-04-16 10:24:57 +02:00
Dion Moult
1f84457ac9
IfcCSV can now use the graphical filter query builder too.
2024-04-16 10:24:57 +02:00
Dion Moult
fa3c8b43f6
Add support for converting IFC spaces, systems, and feed / location / part relationships into Brick. Brick utilities can now get downstream equipment, and system util can now take into account port flow direction.
2024-04-16 10:24:57 +02:00
rileywong311
13b783feb5
Support displaying Brick Bnode relations
...
- Important for Ifc External References and other data.
- Set predicate_uri of predicates of the Bnode to None, which is used to remove the ability to delete the relationship in the UI.
- Also added try/excepts to difficult edge cases such as the object_uri not having a "#" character in it (such as "<http://qudt.org/vocab/unit/ >") and the object_uri not being a brick class, which breaks "view_brick_item".
- Removing a Bnode type from the entity's relation removes all relations of the Bnode also
2024-04-16 10:24:57 +02:00
rileywong311
85c0ecba13
HIde Brick "Create Relation:" when not toggled
2024-04-16 10:24:57 +02:00
rileywong311
acb3d42245
Refresh Brick split screen on ConvertIfcToBrick
2024-04-16 10:24:57 +02:00
rileywong311
0dfdfb6463
Rework "view brick item" conditional access
...
Change from never show the operator if the relation is "type" to not showing it only if the "type" is the current class being viewed.
This may come in handy if other list views other than hierarchy are implemented.
It also implies why we don't want to show "view brick item" here: because we already viewing it.
2024-04-16 10:24:57 +02:00
rileywong311
4066cfc7ff
Support Add Brick with IfcEntity selected (part 2 aka references)
...
Can now assign references again.
See https://github.com/BrickSchema/Brick/tree/master/examples/ifc for examples.
2024-04-16 10:24:57 +02:00
rileywong311
edb8d636d0
Support Add Brick with IfcEntity selected (part 1)
...
Next is to add the reference
2024-04-16 10:24:57 +02:00
Dion Moult
ff9903b6a2
Fix #3589 . Users can now configure how the null values are represented in IfcCSV.
2024-04-16 10:24:57 +02:00
Massimo Fabbro
a8422717fd
Clone opening initial draft
2024-04-16 10:24:57 +02:00
Gorgious
595f6a15a2
Move profile data and inverse check in data class
2024-04-16 10:24:57 +02:00
Gorgious56
a3aaa9eeba
simplify ifc class suggestions json file and operator
2024-04-16 10:24:57 +02:00
Gorgious56
abc052b667
Scene properties : Highlight buttons to make them stand out more ( #3598 )
2024-04-16 10:24:57 +02:00
Gorgious56
4c221b41ad
You can now purge unused profiles
2024-04-16 10:24:57 +02:00
Dion Moult
f9ee96c47e
Fix #3596 . Fix bug where objects marked as edited were not unmarked after saving when toggling mode. Also fix bug where updating representation didn't check whether or not the meshlike representation has openings applied (which would bake the openings, instead of leaving them dynamic).
2024-04-16 10:24:57 +02:00
Gorgious56
b331623464
Active Profile's inverse relationships count is now displayed in the profiles editor
2024-04-16 10:24:57 +02:00
Dion Moult
54eda1a81c
Fix #3591 . Fix bug where IfcCSV import was not symmetric capability wise. Now you can set all sorts of complex values with the exact same keys you are using to query.
2024-04-16 10:24:57 +02:00
Thomas Krijnen
d9e9013e38
#3429 Fix b operand non-planar face check
2024-04-16 10:24:57 +02:00
Andrej730
6f17846a87
Fix tests errors after 8689164
...
Error was AttributeError: module 'blenderbim.bim.handler' has no attribute 'setDefaultProperties'
2024-04-16 10:24:57 +02:00
Andrej730
c2013a172f
geometry.edit_object_placement was producing orphaned placements
...
It was producing orphaned IfcLocalPlacement if placement was parent to some other one. During edit_object_placement we were replacing all parent references with the new placement but wasn't removing the old one.
2024-04-16 10:24:57 +02:00
Andrej730
69daaff3e1
misspelling 😅
2024-04-16 10:24:57 +02:00
Dion Moult
b53c0d551c
Fix #3590 . Update dev instructions to symlink other utility libraries in BBIM.
2024-04-16 10:24:57 +02:00
Dion Moult
8260469c9b
Fix #2626 . New IFC overrides for setting object origins.
2024-04-16 10:24:57 +02:00
Massimo Fabbro
14bffda53c
fix #3213 Problem related with sheet created on windows and opened on Linux
2024-04-16 10:24:56 +02:00
rileywong311
26b6bc2b3c
Merge Brick classification
...
https://github.com/rileywong311/BrickIfcClassification
2024-04-16 10:24:56 +02:00
rileywong311
0e685f6fb2
Merge IfcClassification
...
https://github.com/Moult/IfcClassification/tree/master
2024-04-16 10:24:56 +02:00
Sigma Dimensions (Yass)
6d1b468166
enable an object to take part in an object type decomposition #3592
2024-04-16 10:24:56 +02:00
Dion Moult
93031f0fc0
Don't strictly require guids / class filters that exist in new facet selector.
2024-04-16 10:24:56 +02:00
Andrej730
b2868aa7f7
Calculate/guess quantity descriptions to avoid confusion
2024-04-16 10:24:56 +02:00
Dion Moult
b4e46da97f
See #3582 . Fix bug where switching representations didn't handle curves in a body / model_view.
...
This means that if you created a curve body, you couldn't switch to it, or if you deleted everything, you ended up with an empty object. If you then tried to switch to that, it would "sync" the empty object and leave you with an empty cartesian point list. E.g:
1. Create cube and assign IFC element.
2. Remove all faces only (leaving edges and verts). Save changes.
3. Switch to representation (bug!)
4. Delete everything (no verts, edges, or faces). Attempt to save.
5. "Revert" switch will fail, leading to empty mesh.
6. Manually try to switch. Empty mesh will sync, creating an empty point list.
2024-04-16 10:24:55 +02:00
Andrej730
4fe03230c5
root.copy_class to remove connections from previously connected ports
2024-04-16 10:24:55 +02:00
Dion Moult
7038eb887f
Fix #3584 . Support matching enumerated properties in new facet selector.
2024-04-16 10:24:55 +02:00
Sigma Dimensions (Yass)
39d1bc36c6
experimental import plot coordinates
2024-04-16 10:24:55 +02:00
Andrej730
520e0cd0b4
Handle ods schedules without column styles #3573
...
Turned out there are ODS files (and turned out we're producing them ourselves from ifccsv) where column styles are not defined and therefore no width/style assigned to each column which was resulting in errors on building schedule.
2024-04-16 10:24:55 +02:00
Dion Moult
62678ac491
New simplified IfcFM parser for basic object data.
2024-04-16 10:24:55 +02:00
Andrej730
2cfb10df30
Small info message on using validate
2024-04-16 10:24:55 +02:00
Andrej730
ce91e04166
Remove empty IfcDocumentInformationRelationship #3581
2024-04-16 10:24:55 +02:00
Dion Moult
faa5a78b39
Fix #3578 . Support querying surface styles in tools like IfcCSV.
2024-04-16 10:24:55 +02:00
Dion Moult
48cd3b4a11
See #3561 . Misc annotation decorator now only highlights non-internal edges.
2024-04-16 10:24:55 +02:00
Dion Moult
9d42df8315
Fix #3562 . Non-manifold geometry is no longer considered in join criteria as there is no such thing as a closed polygon.
2024-04-16 10:24:55 +02:00
Sigma Dimensions (Yass)
89826deeb9
Improve Cost Schedule Layout
2024-04-16 10:24:55 +02:00
Sigma Dimensions (Yass)
02d09a3ab0
woopsies
2024-04-16 10:24:55 +02:00
Sigma Dimensions (Yass)
79a66c47f2
fix the bug fix #07b5c49 - where counting objects controlled by a cost item stopped working
2024-04-16 10:24:55 +02:00
Dion Moult
34c8e80cf0
Fix #3253 . Bug where duplicating elements with fillings incorrectly recreated fillings at the cursor (i.e. the cursor was used as a target destination).
...
Now, instead of trying to be clever and regenerating filling locations and opening types, we simply copy the existing scenario. This also means it'll be more stable for weird fillings coming from proprietary apps.
2024-04-16 10:24:55 +02:00
Dion Moult
782e38b561
Fix #3472 . You can now toggle selectability of linked IFCs.
2024-04-16 10:24:55 +02:00
Dion Moult
072344a9b5
See #3579 . Support Google Colab as an installation option.
2024-04-16 10:24:55 +02:00
Bruno Postle
6234adf451
fix SyntaxError: '(' was never closed
2024-04-16 10:24:55 +02:00
Sigma Dimensions (Yass)
820d2f8a9d
fix api logic where only quantities of the same type can be assignmed to a cost control
2024-04-16 10:24:55 +02:00
Sigma Dimensions (Yass)
b92bbf1672
fix orphaned data when unassigning element quantities from cost item control
2024-04-16 10:24:55 +02:00
Dion Moult
e659e033e2
Fix #3554 . Support editing IfcIndexedPolyCurve profiles where IfcLineIndex has >2 indices.
2024-04-16 10:24:55 +02:00
Sigma Dimensions (Yass)
f0032ec4cf
Fix contracting/expanding cost schedule tree and add tests to avoid proof changes
2024-04-16 10:24:55 +02:00
Massimo Fabbro
8785dfbe65
Fix #3569 Variable name override caused the bug ( #3575 )
2024-04-16 10:24:55 +02:00
Dion Moult
8e444489d2
Fix #3564 . Bug where IfcBuiltSystems didn't show up due to missing icon in IFC4X3.
2024-04-16 10:24:55 +02:00
Dion Moult
9462d906ef
Fix #3576 . Explicit drawing annotations are now immune to "include / exclude" filters.
2024-04-16 10:24:55 +02:00
Dion Moult
da5fd9092c
Fix #3556 . Bug where quantities could not be imported using IfcCSV. Also make IfcCSV support any qset name, not just "Qto" prefixed names.
2024-04-16 10:24:55 +02:00
Dion Moult
e24e15cb50
IfcCSV now uses the new filter query system.
2024-04-16 10:24:55 +02:00
Dion Moult
afe87a6aec
Fix #3577 . Don't force uppercase in schedules.
2024-04-16 10:24:55 +02:00
rileywong311
ec0d3c1129
Make refresh Brick viewer refresh both screens
2024-04-16 10:24:55 +02:00
rileywong311
fae02aaff2
Second level query for Brick equipment+point roots
2024-04-16 10:24:55 +02:00
rileywong311
405e449380
Polish Brick UI and add "last saved" label
2024-04-16 10:24:55 +02:00
rileywong311
5b970dd7ea
Filter Brick class if deprecated
2024-04-16 10:24:55 +02:00
rileywong311
1a24107497
Filter more (all) Brick ontology namespaces
...
I'm not sure if this method of filtering out the entire domain will cause problems. This could use investigation.
2024-04-16 10:24:55 +02:00
rileywong311
d23fe7b301
Clear Brick breadcrumbs on close project
2024-04-16 10:24:55 +02:00
rileywong311
15a8b4d120
Remove another needless BrickStore.graph.triples check
...
As before, this returns a generator type which always evaluates true, even if it is empty.
2024-04-16 10:24:55 +02:00
rileywong311
7dc3c62455
Add description to Brick operators
2024-04-16 10:24:54 +02:00
rileywong311
f2dc98e64e
Move Brick "set root" button and change roots on update instead of operator
2024-04-16 10:24:54 +02:00
Sigma Dimensions (Yass)
10dfacd794
fix Cost schedule of rates UI bug where linked types dont't refresh correctly (and black formatting)
2024-04-16 10:24:54 +02:00
Dion Moult
b5cbeb3fb1
See #3561 . Fix bug where schedules couldn't be removed.
2024-04-16 10:24:54 +02:00
Dion Moult
600456641d
Auto create relevant context when attempting to add an annotation to make it friendlier for new users.
2024-04-16 10:24:54 +02:00
Dion Moult
7fcc3f8e3b
Fix #2894 . Implement reflected ceiling plans. Note that this requires new bot build.
2024-04-16 10:24:54 +02:00
Dion Moult
5ae55cd89e
See #3501 . Minor matrix math fix that caused annotations to not appear in global coordinates.
2024-04-16 10:24:54 +02:00
Dion Moult
a7cb0cdac7
Improve default search filter to include types and spatial elements.
2024-04-16 10:24:54 +02:00
Sigma Dimensions (Yass)
f125032d46
Feature to add a camera to extents of the scene objects
2024-04-16 10:24:54 +02:00
Sigma Dimensions (Yass)
a0768ff408
feature to clear previous 4D Animation (object keyframes & colors)
2024-04-16 10:24:54 +02:00
Kristoffer Andersen
144a61662c
Update bld.bat
...
reduce number of schema variations on windows as well
2024-04-16 10:24:54 +02:00
Kristoffer Andersen
1eff547af2
Update meta.yaml
...
pin compatible boost, occt and cgal-cpp
2024-04-16 10:24:54 +02:00
Kristoffer Andersen
cf8945ec2c
Update build.sh
...
limit number of schema variants
2024-04-16 10:24:54 +02:00
Dion Moult
9cb3ce1f9a
See #2894 . Implement SVG mirroring options (typically used for RCPs or useful when converting to other things like DXF).
2024-04-16 10:24:54 +02:00
Sigma Dimensions (Yass)
eaffd4a2a1
simplify setup_default_task_columns
2024-04-16 10:24:54 +02:00
Sigma Dimensions (Yass)
73f81a9bd3
animation settings now use human readable durations to make it less confusing
2024-04-16 10:24:54 +02:00
Sigma Dimensions (Yass)
f728004077
simplify updateTaskDuration
2024-04-16 10:24:54 +02:00
Sigma Dimensions (Yass)
8dbdfa2301
WIP - Scheduling UI improvements
2024-04-16 10:24:54 +02:00
Sigma Dimensions (Yass)
c864bb88f5
Hide Header for Costing and Schedule Tab
2024-04-16 10:24:54 +02:00
Sigma Dimensions (Yass)
044a2f8960
Revert "Rename and move sub panels of Costing and Schedule Tab"
...
This reverts commit 9d4715c0a9 .
2024-04-16 10:24:54 +02:00
Andrej730
b6ed12589f
plug add_transition to fit_flow_segments
2024-04-16 10:24:54 +02:00
Andrej730
ba9fa8a091
Adjusting connected elements on bim.regenerate_distribution_element
...
Basically commented out automatic adjustment after 45f81b478 - now it's hapenning only when you decide to regenerate it.
It's adjusting connected segments extrusion and location, for all other elements besides segments it's adjusting only location. The idea is it will try to change as less as possible.
Demo - https://imgur.com/oZ1I2Bl
2024-04-16 10:24:54 +02:00
Andrej730
4f8a53f048
quickly connect mep elements if they have matching ports
...
Demo - https://imgur.com/a/o9u8M1u
2024-04-16 10:24:54 +02:00
Andrej730
75e0d94588
fixed bug getting port relating element in ifc2x3
2024-04-16 10:24:54 +02:00
Andrej730
fe2b22b6cd
More descriptive error message on attempt to delete drawings category
2024-04-16 10:24:54 +02:00
Andrej730
c2f515402b
small refactor
2024-04-16 10:24:53 +02:00
Thomas Krijnen
76235f151e
Update draw.py --include-curves
2024-04-16 10:24:53 +02:00
Kristoffer Andersen
57a36de71e
Update build.sh
...
fix env var declaration
2024-04-16 10:24:53 +02:00
Kristoffer Andersen
e7ace4c0bd
Update build.sh
...
Reduce number of schema versions
2024-04-16 10:24:53 +02:00
Thomas Krijnen
9adb4ac82b
#3510 Sample points along diagonal as well for quick and dirty occlusion detection
2024-04-16 10:24:53 +02:00
Andrej730
040cd398cf
remove_product to also remove psets for types
2024-04-16 10:24:53 +02:00
Andrej730
dbc482dfee
More Ports UI
...
Created more UI for ports.
Now you can see the list of ports from UI and what objects they are connected to, you can quickly select any ports/connected objects or disconnect objects.
From port UI you can see what object's it located on and what object it's connected to and quickly jump across them.
Demo - https://imgur.com/a/Gu4Vz7V
2024-04-16 10:24:53 +02:00
Andrej730
86b63242d8
bim.add_transition
...
Added simple operator to add transition between two mep segments (now only rectangular collinear segments are supported).
It also reuses the transition type that was previously used to connect segments of the same type.
Demonstration - https://imgur.com/a/c1AOxj1
2024-04-16 10:24:53 +02:00
Andrej730
2c98ab078a
Fix default mep profile names
...
Previously it was generating names like 4000000x4000000 in mm projects.
2024-04-16 10:24:53 +02:00
Thomas Krijnen
1f4b12443a
fix edge segments in world coords #3536
2024-04-16 10:24:43 +02:00
Dion Moult
00bd159ee7
IfcTester JSON reporter now also stores identification data separately for convenient reporting.
2024-04-16 10:22:47 +02:00
Dion Moult
c9adefd947
Store applicability in IfcTester JSON results
2024-04-16 10:22:47 +02:00
Dion Moult
9b2455e0f0
Fix #2753 . Disable mapping representations when appending assets via the ExtractElements recipe to be more forgiving (and faster) on invalid models.
2024-04-16 10:22:47 +02:00
Dion Moult
3cabe935cd
Fix SurfaceColour typo that broke loading colours in some IFCs
2024-04-16 10:22:47 +02:00
Dion Moult
73b93e7020
Fix #3547 . Bug where using existing clippings were not preserved when editing profile or wall representations.
2024-04-16 10:22:47 +02:00
arun
bd1bfe548a
Update create_2pt_wall.py ( #3553 )
...
* Update create_2pt_wall.py
included unit scale for use cases other than si unit
* Revised Update create_2pt_wall.py
included is_si kwarg to select between si units and other units and also changed the dtype of p1 and p2 array to float incase they are entered as integers
2024-04-16 10:22:46 +02:00
Carlos Dias
a85fdf3f8e
Add element guId in BCF report ( #3549 )
2024-04-16 10:22:46 +02:00
Thomas Krijnen
ee09f2404b
Filter duplicate edge indices #3546
2024-04-16 10:22:34 +02:00
Dion Moult
c6438933ba
Whoops
2024-04-16 10:10:51 +02:00
Dion Moult
a6c8a2abd4
Dissolve specifically IOS triangulated edges for meshes instead of generic Blender limited dissolve.
2024-04-16 10:10:51 +02:00
Dion Moult
65b5a6f8f9
Skeleton operator to regenerate distribution elements recursively
2024-04-16 10:10:51 +02:00
Dion Moult
dca25e8475
Initial implementation of scale dependent map conversion for IFC4X3
2024-04-16 10:10:51 +02:00
rileywong311
9910c53f38
Add brick create relation with split screen
2024-04-16 10:10:51 +02:00
rileywong311
866a6d429b
Implement Brick split screen
2024-04-16 10:10:51 +02:00
rileywong311
6dd908c207
Add more subclasses to Brick root options
2024-04-16 10:10:51 +02:00
rileywong311
eea577d463
Move Brick list root setting
2024-04-16 10:10:51 +02:00
rileywong311
d5159be571
Reformat Brick props order and singularize "brick_entity_classes"
2024-04-16 10:10:51 +02:00
rileywong311
abd4fb18fd
Refactor AddBrickRelation to combine object namespace+label in operator
...
This is an important change that should make adding relations through other methods easier to implement
2024-04-16 10:10:51 +02:00
rileywong311
242d2cb4ef
Guard loading brick files from bad paths
...
Referred to "IFCFileSelector.is_existing_ifc_file" method for to make this
2024-04-16 10:10:51 +02:00
rileywong311
5c6ff36813
Add "rdfs:label" to Brick relation options
...
This is a tricky one because "rdfs:label" cannot really be queried from the Brick ontology, so it is a special case that probably needs to get added manually. Furthermore, an entity really shouldn't have multiple labels, so the option to give an entity an "rdfs:label"
should only appear if it doesn't have one already. The way I did it meant I had to manually reset the Enum type in Blender because it was the active one selection and made the Enum blank since it got removed now that the entity has a "rdfs:label." One possible alternative solution is to allow multiple labels, but in the query to import bricks in the UI list only select one label somehow.
2024-04-16 10:10:51 +02:00
rileywong311
a56ec73f3e
Change BrickschemaData.relations to BrickschemaData.active_relations
2024-04-16 10:10:51 +02:00
rileywong311
49b5fb35a8
Load Brick relationships from schema
2024-04-16 10:10:51 +02:00
rileywong311
7f049f0067
Remove if Brickstore.graph.triples check
...
This returns a generator type which I believe is always truthy, so it didn't change anything.
2024-04-16 10:10:51 +02:00
rileywong311
17317c65cb
Implement basic Brick create relation
2024-04-16 10:10:51 +02:00
rileywong311
07bd99d461
Add "remove brick relation" operator
2024-04-16 10:10:51 +02:00
rileywong311
b5d9c3f5ff
Rename Brick "attributes" to "relations"
2024-04-16 10:10:51 +02:00
Dion Moult
ed66572d66
Fix #3538 . Update bl_info metadata to reflect that we are a native IFC authoring platform not an import-export add-on.
2024-04-16 10:10:51 +02:00
Andrej730
442918e3a3
option to provide step_id into bim.create_shape_from_step_id directly
2024-04-16 10:10:51 +02:00
Andrej730
1a88191173
remove_product to remove object placement too
...
previously it wasn't deleting object placement when you removed the objects (and related elements like IfcDirections etc) and working on project long enough you might had a bunch of orphaned data in it
2024-04-16 10:10:51 +02:00
Andrej730
1496cc04ff
automatically assign ports predefined type
2024-04-16 10:10:51 +02:00
Andrej730
a998cd476d
small change for readibility
2024-04-16 10:10:51 +02:00
Andrej730
7cfdf1f1d5
adjust obstruction position on changing segment length
...
Now when you change the segment's length connected obstructions will adjust. Same for changing obstruction's length. You can also move obstructions/segment around and then use "Regenerate" to make them fit.
Small demo - https://imgur.com/a/atm8Mdx
2024-04-16 10:10:51 +02:00
Andrej730
6f975529f4
add_obstruction to fit_flow_segments, derive it's position from cursor
2024-04-16 10:10:51 +02:00
Andrej730
cd9854707a
Fixed #3533 (also fixed the same issue for windows)
2024-04-16 10:10:51 +02:00
Andrej730
f4f04db952
Fixed error on drawing tester UI
...
Error was:
Traceback (most recent call last):
File "\3.6\scripts\addons\blenderbim\bim\module\tester\ui.py", line 39, in draw
row.prop(self.props, "should_load_from_memory")
AttributeError: 'BIM_PT_tester' object has no attribute 'props'
2024-04-16 10:10:51 +02:00
Dion Moult
b2db70a2ac
Whoops
2024-04-16 10:10:51 +02:00
Dion Moult
b6b2c718f6
Skeleton of "add fitting" operator which decides appropriate fitting type
2024-04-16 10:10:51 +02:00
Andrej730
fa3e3bc9b8
Fixed TestGetApplicableTypes after 0e69f484f
2024-04-16 10:10:51 +02:00
Andrej730
391cecdb21
keep the default flow direction for ports NOTDEFINED as it's not yet set
2024-04-16 10:10:51 +02:00
Andrej730
0df12194d6
operator to add mep obstruction
...
Currently it's not yet available from UI, only from F3 menu.
On changing segment's length obstruction is not yet adjusted.
Short demonstration - https://imgur.com/a/I5fybpO
2024-04-16 10:10:51 +02:00
Andrej730
25ec0ee36c
root.remove_product to remove IfcRelConnectsPorts too
...
previously if you deleted some flow segment that was connected to another the connection would stay resulting in invalid ifc and other bugs
2024-04-16 10:10:51 +02:00
Andrej730
72c2ef1dd1
Poll check for show/hide ports
...
https://i.imgur.com/NFAM1UC.png
2024-04-16 10:10:51 +02:00
Andrej730
8c21c74ff5
Communicate that blend file is also saved on Ctrl-S
...
https://i.imgur.com/BnzTDhM.png
2024-04-16 10:10:51 +02:00
Andrej730
c2320bb320
small add_constr_type_instance refactor
...
ifc_class removed as it was never used - ifc_class was always figured either from BIMModelProperties.relating_type_id or operator.relating_type_id
2024-04-16 10:10:50 +02:00
Dion Moult
a2b972707e
Another minor documentation fix
2024-04-16 10:10:50 +02:00
Dion Moult
17de7a1808
Easily create a "default" duct / pipe even if you have no demo library.
2024-04-16 10:10:50 +02:00
Dion Moult
ec4f4bd158
Minor documentation fix
2024-04-16 10:10:50 +02:00
Andrej730
9812e5a603
Fixed error opening type manager from window_tool, slab_tool etc
...
Th error was:
Error: Python: Traceback (most recent call last):
File "\scripts\addons\blenderbim\bim\module\model\ui.py", line 54, in invoke
props.type_class = props.ifc_class
TypeError: bpy_struct: item.attr = val: enum "" not found in ('IfcActuatorType', 'IfcAirTerminalBoxType', 'IfcAirTerminalType', 'IfcAirToAirHeatRecoveryType', 'IfcAlarmType', 'IfcAudioVisualApplianceType', 'IfcBeamType', 'IfcBoilerType', 'IfcBuildingElementPartType', 'IfcBuildingElementProxyType', 'IfcBurnerType', 'IfcCableCarrierFittingType', 'IfcCableCarrierSegmentType', 'IfcCableFittingType', 'IfcCableSegmentType', 'IfcChillerType', 'IfcChimneyType', 'IfcCivilElementType', 'IfcCoilType', 'IfcColumnType', 'IfcCommunicationsApplianceType', 'IfcCompressorType', 'IfcCondenserType', 'IfcControllerType', 'IfcCooledBeamType', 'IfcCoolingTowerType', 'IfcCoveringType', 'IfcCurtainWallType', 'IfcDamperType', 'IfcDiscreteAccessoryType', 'IfcDistributionChamberElementType', 'IfcDistributionElementType', 'IfcDoorStyle', 'IfcDoorType', 'IfcDuctFittingType', 'IfcDuctSegmentType', 'IfcDuctSilencerType', 'IfcElectricApplianceType', 'IfcElectricDistributionBoardType', 'IfcElectricFlowStorageDeviceType', 'IfcElectricGeneratorType', 'IfcElectricMotorType', 'IfcElectricTimeControlType', 'IfcElementAssemblyType', 'IfcEngineType', 'IfcEvaporativeCoolerType', 'IfcEvaporatorType', 'IfcFanType', 'IfcFastenerType', 'IfcFilterType', 'IfcFireSuppressionTerminalType', 'IfcFlowInstrumentType', 'IfcFlowMeterType', 'IfcFootingType', 'IfcFurnishingElementType', 'IfcFurnitureType', 'IfcGeographicElementType', 'IfcHeatExchangerType', 'IfcHumidifierType', 'IfcInterceptorType', 'IfcJunctionBoxType', 'IfcLampType', 'IfcLightFixtureType', 'IfcMechanicalFastenerType', 'IfcMedicalDeviceType', 'IfcMemberType', 'IfcMotorConnectionType', 'IfcOutletType', 'IfcPileType', 'IfcPipeFittingType', 'IfcPipeSegmentType', 'IfcPlateType', 'IfcProtectiveDeviceTrippingUnitType', 'IfcProtectiveDeviceType', 'IfcPumpType', 'IfcRailingType', 'IfcRampFlightType', 'IfcRampType', 'IfcReinforcingBarType', 'IfcReinforcingMeshType', 'IfcRoofType', 'IfcSanitaryTerminalType', 'IfcSensorType', 'IfcShadingDeviceType', 'IfcSlabType', 'IfcSolarDeviceType', 'IfcSpaceHeaterType', 'IfcSpaceType', 'IfcSpatialZoneType', 'IfcStackTerminalType', 'IfcStairFlightType', 'IfcStairType', 'IfcSwitchingDeviceType', 'IfcSystemFurnitureElementType', 'IfcTankType', 'IfcTendonAnchorType', 'IfcTendonType', 'IfcTransformerType', 'IfcTransportElementType', 'IfcTubeBundleType', 'IfcUnitaryControlElementType', 'IfcUnitaryEquipmentType', 'IfcValveType', 'IfcVibrationIsolatorType', 'IfcWallType', 'IfcWasteTerminalType', 'IfcWindowStyle', 'IfcWindowType')
WARN (bpy.rna): C:\Users\blender\git\blender-v360\blender.git\source\blender\python\intern\bpy_rna.c:1343 pyrna_enum_to_py: current value '8' matches no enum in 'BIMModelProperties', '', 'ifc_class'
2024-04-16 10:10:50 +02:00
Andrej730
bd6e4fbd64
tests for system.get_connected_to / get_connected_from
2024-04-16 10:10:50 +02:00
Andrej730
c5c8a3ba0b
error message on setting flow direction for disconnected port
...
previously it just did nothing which was a bit confusing
2024-04-16 10:10:50 +02:00
Chetan
0ef14bad6f
When creating a GLTF file, make the material double sided to fix a bug where some surfaces were transparent. This will allow surfaces created from a mesh to be be viewed from all angles regardless of the shape of the mesh or the directions of the normals.
2024-04-16 10:10:50 +02:00
Dion Moult
b044ddfaa2
Flow segments are now created at a specific RL above the active storey in the BIM Tool
2024-04-16 10:10:50 +02:00
ay-ex
f94aa6b313
fix_choco_cmake_url ( #3528 )
...
fixed problematic url for blender cmake
2024-04-16 10:10:50 +02:00
Andrej730
a3d1c60375
fixed bug in system.get_connected_to / get_connected_from
...
import was missing
2024-04-16 10:10:50 +02:00
Andrej730
d5e26b5efe
Create empty at object placement from debug panel
...
Small feature for debugging - https://i.imgur.com/OSOCIqG.png
2024-04-16 10:10:50 +02:00
Andrej730
81dc68d11d
Fixed #3262
2024-04-16 10:10:50 +02:00
Andrej730
60d62c2dd4
sort keys in the entity to type mapping
2024-04-16 10:10:50 +02:00
Andrej730
871902de12
More general solution for #3466
2024-04-16 10:10:50 +02:00
Dion Moult
e49c373011
Fix #3465 . Move representation utilities into new tab system.
2024-04-16 10:10:50 +02:00
Dion Moult
d330b2f0c6
Fix #3483 . You can now conveniently duplicate material layers.
2024-04-16 10:10:50 +02:00
Bruno Postle
ed470b6380
Fix some broken restructured text formatting
2024-04-16 10:10:50 +02:00
Dion Moult
418a3feb6c
Fix #3453 . Hidden annotation type removed, and demo library now comes with linetypes for dashed, fine, thin, medium, thick, and strong.
2024-04-16 10:10:50 +02:00
Wei Yang
8203b2b6d9
Add UV texture support for IfcTessellatedFaceSet ( #3523 )
...
* Add texture support for IfcIndexedTextureMap
* fix description.
* Fix posible duplicate coordinate index issue
* Clean up code.
* revert default clean_mesh.
* Fix errors.
* change to EXTEND mode when not RepeatS/T
* remove tris merge to support mix quads and tris.
2024-04-16 10:10:50 +02:00
Massimo Fabbro
44517f3b1d
Add new api function that allows to create arbitrary profiles with voids ( #3522 )
2024-04-16 10:10:50 +02:00
Dion Moult
7d03b0017b
Fix #3466 . Bug in upstream IFC where distribution elements and furnishing elements had no corresponding type and occurrence.
2024-04-16 10:10:50 +02:00
Dion Moult
84c91518b5
Fix #2906 . Basic support added for perspective drawings.
2024-04-16 10:10:50 +02:00
Dion Moult
dc18f7a68a
Fix #3484 . You can now have project-specific pset templates distributed with your project in a relative path. Defaults to pset/.
2024-04-16 10:10:50 +02:00
Dion Moult
43f9d8888f
Purge obsolete search operators in favour of new search filters, colour legend system.
2024-04-16 10:10:50 +02:00
Dion Moult
0b306ccee3
Purge select similar prop operator in favour of dedicated select similar panel
2024-04-16 10:10:50 +02:00
Dion Moult
557fe5fd87
Purge obsolete & risky module unloading / loading feature in favour of tabs.
2024-04-16 10:10:50 +02:00
Dion Moult
1e1ab453bf
Fix #3501 . Annotation tool now creates annotations at the 3D cursor.
2024-04-16 10:10:50 +02:00
Dion Moult
7739779ed6
Fix #3511 . You can now use a query to load in occurrences from another project (library).
2024-04-16 10:10:50 +02:00
Dion Moult
c076cbc5db
Fix #3502 . New select similar feature.
2024-04-16 10:10:50 +02:00
Dion Moult
1d8738fea4
Fix #3273 . Don't use simple string replacement when renaming drawings but instead identify elements by attributes which is preferred.
2024-04-16 10:10:50 +02:00
Thomas Krijnen
23d096be07
SVG serialization UnifyInputs option
2024-04-16 10:10:48 +02:00
Thomas Krijnen
aa7b5bd1e3
Implement IfcGridPlacement
2024-04-16 10:08:33 +02:00
Thomas Krijnen
9214b00893
ci-ifctester-pypi.yml Add workflow_dispatch event
2024-04-16 10:05:52 +02:00
Thomas Krijnen
642e10a6a8
Include .xsd in ifctester package pypi distribution
2024-04-16 10:05:52 +02:00
Dion Moult
e6528559d6
Fix #3521 . Forgot to commit function.
2024-04-16 10:05:52 +02:00
Sigma Dimensions (Yass)
850b3d1c65
Rename and move sub panels of Costing and Schedule Tab
2024-04-16 10:05:52 +02:00
Dion Moult
4176bfa7d2
Fix #3471 . Allow to select hidden types (except if the type is excluded).
2024-04-16 10:05:52 +02:00
Dion Moult
2843d86ad4
Fix #3518 . Default to deeper opening extrusions to handle more wall thicknesses.
2024-04-16 10:05:52 +02:00
ay-ex
19dd89515f
add ids html report template percentage bars per section ( #3520 )
...
adding html report template percentage bars to each section
2024-04-16 10:05:52 +02:00
Dion Moult
fefda94153
Revert "Example of UI if we sentence-cased IFC classes. Good or bad? Please comment at https://community.osarch.org/discussion/comment/16493 "
...
This reverts commit 53bd4bf5ea .
2024-04-16 10:05:52 +02:00
Dion Moult
1426481cf8
Fix #3509 . Backport Qto_BodyGeometryValidation to IFC4 (via EQto) and fix bug where there was no way to have custom Qtos show up in the qto dropdown.
2024-04-16 10:05:52 +02:00
Dion Moult
be2e2f7e91
Fix #3517 . Fix bug where edit arbitrary profile button doesn't show if your profile has voids.
2024-04-16 10:05:51 +02:00
Dion Moult
4b5fcdf30f
Potential fix for #3273 where renamed drawings might not get moved on Windows.
2024-04-16 10:05:51 +02:00
Dion Moult
472da333b9
Fix #3513 . Minor issue where new hierarchical drawing list broke print all feature.
2024-04-16 10:05:51 +02:00
Dion Moult
d927754d11
Fix #3512 . Fix incorrect shapely fills due to unclosed polygons (tolerance issue) and incorrect raycast results.
2024-04-16 10:05:51 +02:00
Bruno Postle
66d4f04ba2
BlenderBIM filter Git messages, remove sort #3096
2024-04-16 10:05:51 +02:00
Ryan Schultz
df699de97d
added to ifc_classes_suggestions.json
2024-04-16 10:05:51 +02:00
Dion Moult
f71bc79559
Fix #3006 . Don't affect visibility of types when activating drawing.
2024-04-16 10:05:51 +02:00
Dion Moult
0de8275f84
Fix #3223 . Fix #3474 . When creating new representations, give the option to generate bounding box or "outline" curves (60 degree crease threshold hardcoded) instead of full 3D mesh.
2024-04-16 10:05:51 +02:00
ay-ex
5f295ab568
add collapsible detail results ( #3508 )
2024-04-16 10:05:51 +02:00
Dion Moult
0b42202490
Redo mechanism that allows filtered BIM Tool classes to be less "magic" and more explicit whether it filters all vs a specific element type.
2024-04-16 10:05:51 +02:00
Dion Moult
ad1800b486
Fix #3479 . Regression in 69fa124 when addressing #3421 that led to objects with multiple paths not taking part in the wall / slab joining procedure.
2024-04-16 10:05:51 +02:00
Dion Moult
d275615829
Fix #3486 . If Z index isn't specified, text is prioritised over other annotation types.
2024-04-16 10:05:51 +02:00
ay-ex
30cd295b13
fix choco url constants ( #3504 )
2024-04-16 10:05:51 +02:00
Dion Moult
1e8662f079
Fix #3497 . Set closed vs unclosed polygonal face sets to allow loading in some IFC software.
2024-04-16 10:05:51 +02:00
Dion Moult
5b6f1323a5
Fix #3469 . Fix bug where you couldn't load models if there was no style due to no polygons.
2024-04-16 10:05:51 +02:00
rileywong311
bc71ccd9f1
Refactor BrickStore.root_classes
2024-04-16 10:05:51 +02:00
Trashman247
546f8d6fe7
Ignore populate Brick attributes if active entity is a brick entity
2024-04-16 10:05:51 +02:00
Trashman247
d0673f185d
Make Brick "root_classes" one source of truth
2024-04-16 10:05:51 +02:00
Trashman247
b68f064346
Change brick attributes query "name" and "value" to "predicate" and "object"
2024-04-16 10:05:51 +02:00
Trashman247
23c5c7cc24
Move brick entity classes to BrickStore and create drop-down for entity type creation
2024-04-16 10:05:51 +02:00
Trashman247
06331105fc
Move Brick namespace from data to BrickStore
2024-04-16 10:05:51 +02:00
Trashman247
2c18823d93
Add Brick "Set View" operator to change list hierarchy
...
- "System" as a root may need different logic since children of a system are not "subClasses" but rather "parts". Currently, "part" would be listed as attribute rather than a direct object in the group.
2024-04-16 10:05:51 +02:00
Trashman247
0b09c9f719
Reformat BrickSchema UI
2024-04-16 10:05:51 +02:00
Dion Moult
0a52f51145
Fix #3498 .
2024-04-16 10:05:51 +02:00
Dion Moult
4a5769c322
Fix #3391 #3491 #3493 . New space generation that uses a cutting plane across all eligible objects instead of a simplified "straight wall" analysis.
...
This makes generating spaces significantly more robust, makes it easier to add / remove "space separating objects" (so we now have support for virtual elements), and only acts on visible objects.
2024-04-16 10:05:51 +02:00
Dion Moult
f3df78784a
New projects now load with a Views and Types collection with appropriate visibility settings.
2024-04-16 10:05:51 +02:00
Dion Moult
e4063f8de5
Demo library now ships with example text annotation types (door tag, window tag, etc)
2024-04-16 10:05:51 +02:00
Dion Moult
4f55ffc13d
More explanatory images in geometry creation docs
2024-04-16 10:05:51 +02:00
Dion Moult
eb95ff5e5c
Add documentation specifically about swept disk solid geometry for rebar
2024-04-16 10:05:51 +02:00
Gorgious
8b644d8415
You can now directly apply an ifc array modifier
...
Previously one would have to click on "remove" then "keep objects"
2024-04-16 10:05:51 +02:00
Dion Moult
c56d9b01de
Finish writing documentation on geometry creation
2024-04-16 10:05:51 +02:00
Gorgious
ea1e7c567f
Array children are now transform-unlocked & unconstrained when the array is applied
2024-04-16 10:05:51 +02:00
Gorgious
a2042fc7f0
Array children are now transforme-locked after editing the array
...
I have yet to find how to set it on ifc load though
2024-04-16 10:05:51 +02:00
Gorgious
847117ae7e
Array children now follow their parent with a "child-of" constraint #3492
2024-04-16 10:05:51 +02:00
Gorgious
c1c6dfc47e
Clicking on the "Select all array objects" button now sets the parent object as active #3492
...
Moved the array objects fetching code to tool.Blender
Also a bit of housekeeping and fixing minor typos here and there
2024-04-16 10:05:51 +02:00
Dion Moult
f5d5f44458
Revert "Small tester UI fix #3487 "
...
This reverts commit c7a1acf974 .
2024-04-16 10:05:50 +02:00
Carlos Dias
8dea80aff7
[BlenderBIM] Update IfcTester (2023_07_21) ( #3489 )
2024-04-16 10:05:50 +02:00
Ryan Schultz
428412b3e5
Allow negative X_angle values
2024-04-16 10:05:50 +02:00
Dion Moult
441be1427f
Fix #3488 . Minor regression in IFC4X3 mapping.
2024-04-16 10:05:50 +02:00
Dion Moult
aa325d521b
You can now save, load, and create custom colour legends of properties
2024-04-16 10:05:50 +02:00
Dion Moult
50bc77a149
Search now renamed filtering and grouping. New "sandbox" section for more experimental panels. Old selector moved to sandbox along with augin/lca/covetool/temporary cutaways also moved there.
2024-04-16 10:05:50 +02:00
Dion Moult
4396f937b5
You can now load and save searches from the search panel
2024-04-16 10:05:50 +02:00
Dion Moult
7bbc89a3c3
More powerful search interface that uses the new facet selector syntax
2024-04-16 10:05:50 +02:00
Andrej730
1525b380bc
Spatial manager elevation in projects units and some bug fixed
...
1) Elevation prop now is taking into account project units (previously it was hardcoded to meters)
2) Fixed a bug that occured when you started changing spatial element name/elevation right after you loaded spatial manager.
https://i.imgur.com/1keMGus.png
2024-04-16 10:05:50 +02:00
Andrej730
13a5317863
Fixed errors after b6ddc0d
...
`element.is_a() in ...` wasn't taking into account spatial classes that inherit from IfcSpatialElement/IfcSpatialStructureElement
2024-04-16 10:05:50 +02:00
Andrej730
0c97e56791
Small tester UI fix #3487
2024-04-16 10:05:50 +02:00
Andrej730
91a11ccb69
Fixed ifctester tests by the latest ids schema #3458
...
Commented out tests involving minOccurs and maxOccurs until https://github.com/buildingSMART/IDS/issues/144 gets resolved.
2024-04-16 10:05:50 +02:00
Dion Moult
3d3c6acd91
Fix #3477 . Move text panels to object information tab.
2024-04-16 10:05:50 +02:00
Gorgious56
23132503b4
Minor fix in wall creation code
2024-04-16 10:05:50 +02:00
Dion Moult
4ca203cb1e
New wall tool, slab tool, etc in toolshelf to improve usability.
2024-04-16 10:05:50 +02:00
Andrej730
4b03cace3e
moving code to shape builder
2024-04-16 10:05:50 +02:00
Gorgious56
274f42993c
#3478 : Ifc class name suggestions can now autofill predefined type
...
If they are correctly filled in the json file :)
2024-04-16 10:05:50 +02:00
Andrej730
99fd807805
fixed error after 190153347
2024-04-16 10:05:50 +02:00
Andrej730
7a6ae07f83
Distance subtype for rl1, rl2 and x/y/z (opening dimensions) in BIM Tool
2024-04-16 10:05:50 +02:00
Andrej730
9d80da9ed5
small matrix math refactor
...
more readable and allows avoiding jumping between 3d/4d vectors
2024-04-16 10:05:50 +02:00
Andrej730
048d77f983
A bit more descriptive port UI
...
Before - https://i.imgur.com/ZhVRoJM.png
After - https://i.imgur.com/tI1h2i7.png
2024-04-16 10:05:50 +02:00
Andrej730
fc5f4f7776
Added some MEP related type templates
...
3 more new types for distribution segments.
Distribution segments work the same way as beams - they come without representation but with IfcMaterialProfileSet defined with some profile. Occurences will also have ports at the start and the end of the segment (ports can be displayed in "Ports" section in "Services and Systems"). If you extend the segment or move it around - ports will move accordingly.
Small demo - https://imgur.com/a/Aq0utXa
2024-04-16 10:05:50 +02:00
Andrej730
80d08ba81f
Small type manager refactor and more descriptions
2024-04-16 10:05:50 +02:00
Dion Moult
7fec467565
Implement guid facet in facet selector
2024-04-16 10:05:50 +02:00
Dion Moult
62c120e4bb
New facet based selector syntax. Proposed to supersede existing selector syntax.
2024-04-16 10:05:50 +02:00
Dion Moult
46c5a5c820
You can now explicitly create new IfcTypeProducts.
2024-04-16 10:05:50 +02:00
Gorgious56
ac28bbdee1
Fix #3480 : Scene tabs now show their individual description on hover
...
Also correct minor typo
2024-04-16 10:05:50 +02:00
Andrej730
f6307520e9
Support looped railings #3415
...
Example - https://imgur.com/a/RaLORbk
2024-04-16 10:05:50 +02:00
Dion Moult
9c5096ea1d
Write docs describing how to create profile representations
2024-04-16 10:05:49 +02:00
Dion Moult
5e3b45a591
Fix #3469 . Minor regression in linking refactor.
2024-04-16 10:05:49 +02:00
ay-ex
e7bd5ca8be
fix error messages
2024-04-16 10:05:49 +02:00
ay-ex
2baf07a8ee
fix choco_regex
...
fixes new regex needed for upstream blender cmake adjustment,
pulls all regex and url into contant variables,
improves error message, when a version cannot be retrieved
2024-04-16 10:05:49 +02:00
Carlos Dias
5ec1dec6ec
Update __init__.py
2024-04-16 10:05:49 +02:00
Carlos Dias
8c7791828e
Update handler.py
2024-04-16 10:05:49 +02:00
c4rlosdias
e6402e5afc
add export bcf to ifctester (2023_07_18)
2024-04-16 10:05:49 +02:00
c4rlosdias
d6caf4a6b9
Add bug fixes
2024-04-16 10:05:49 +02:00
c4rlosdias
e767db18df
Add select entities (2023_07_17)
2024-04-16 10:05:49 +02:00
c4rlosdias
7981f26c57
Update 2023_07_16
2024-04-16 10:05:49 +02:00
c4rlosdias
13295d2abf
update ifctester - 2023_07_14
2024-04-16 10:05:49 +02:00
Gorgious
654e884e8e
Boolean subpanel is now located in the Geometric Relationships panel
2024-04-16 10:05:49 +02:00
Gorgious56
e440eca988
Show ifc modifiers only when applicable to current element
2024-04-16 10:05:49 +02:00
Gorgious56
660aacd6cc
Disable some tab buttons when no ifc file is loaded
2024-04-16 10:05:49 +02:00
Andrej730
b918911e6e
Small description for some type templates
2024-04-16 10:05:49 +02:00
Gorgious56
8e2afaae39
Housekeeping - Reorder suggestion dictionary keys alphabetically
2024-04-16 10:05:49 +02:00
Gorgious56
dda47ce24f
Refactor edit mode toggle logic for profile based representations
2024-04-16 10:05:49 +02:00
Gorgious56
0b82d129b5
Add ifc modifier utilities to tool.Blender
2024-04-16 10:05:49 +02:00
Andrej730
726c8d833e
Fixing railing/roof bug #3416
...
Issue occured when you imported .ifc and then would try to edit roof/railing path and then cancel/finish editing.
Added safe check to avoid using `change_object_data` in edit mode - https://projects.blender.org/blender/blender/issues/110232
2024-04-16 10:05:49 +02:00
Gorgious56
db64fabf43
Fix bug when using the search operator (F3) with no active object
2024-04-16 10:05:49 +02:00
Dion Moult
e0fffbfdfe
New geometry.create_2pt_wall API function to create a wall-like representation from two points.
2024-04-16 10:05:49 +02:00
Dion Moult
f3c4858d2f
Add documentation for basic geometry creation
2024-04-16 10:05:49 +02:00
Dion Moult
7a7c38db5b
Rename sverchok representation to mesh representation
2024-04-16 10:05:49 +02:00
Dion Moult
84570a69f8
Utility function to create rotation matrixes in numpy.
2024-04-16 10:05:49 +02:00
Gorgious56
7aab0ccfd7
Fix Ifc modifier error after #3393064 because of legacy context.object
...
For some reason in the scene properties context.object returns None even if an object is active in the viewport, so ifc modifiers would randomly throw errors. AFAIK functionally they are supposed to point to the same thing, but active_object seems to be the superior one and context.object deprecated and kept for legacy reasons. Couldn't find dev quote but I'm sure I saw it at some point
2024-04-16 10:05:49 +02:00
Gorgious56
79e67c3f12
Ensure positive extrusion depth
...
This prevents an error and mesh corruption when trying to input a negative extrusion depth
2024-04-16 10:05:49 +02:00
Dion Moult
139b124ccb
Move all modifier panels into Representations and Materials tab.
2024-04-16 10:05:49 +02:00
ay-ex
6ead57abd2
fix choco_update action
...
fix according to upstream makefile change:
https://github.com/blender/blender/blob/main/build_files/cmake/Modules/FindPythonLibsUnix.cmake
2024-04-16 10:05:49 +02:00
Andrej730
f01f659fa0
Revision Clouds - option to match revision cloud with the selected object
...
Works similarly to tagging, example - https://imgur.com/a/Atr0nYE
This feature also can be useful in the future if we integrate revision clouds with ifcgit
2024-04-16 10:05:49 +02:00
Dion Moult
26ee0ca7b7
More tab and panel shuffling. Top level panels now have a tab prefix.
2024-04-16 10:05:49 +02:00
Dion Moult
6929c1a614
Disable Shift-D duplication of drawings for now until drawings stabilise more. Use the dedicated duplicate drawings feature.
2024-04-16 10:05:48 +02:00
Andrej730
0dce32ff4f
Fixing bugs on small revision clouds #3310
...
Bugs were:
1) svg print ZeroDivisionError if there was less than 1 pattern segment
2) svg drawing wasn't preserving edge direction if there was less than 1 pattern segment
2024-04-16 10:05:48 +02:00
Andrej730
06df22e793
Fixed #3441
2024-04-16 10:05:48 +02:00
Dion Moult
85a633cd9a
Fix #3449 . Fix bug where you couldn't edit the relating type of an annotation.
2024-04-16 10:05:48 +02:00
Dion Moult
91b23ae853
Fix bug where loaded point geometry had unlinked meshes or placements with wrong units.
2024-04-16 10:05:48 +02:00
Dion Moult
1248059f39
Fix #3275 . You can now rename annotation types from the annotation manager.
2024-04-16 10:05:48 +02:00
Dion Moult
ff3bff13d2
Add support for arbitrary point annotations and survey point, traverse points, control points, spot elevations, etc.
2024-04-16 10:05:48 +02:00
Dion Moult
633ab31544
Fix #3288 . Implement undo / redo until specified named transaction. Fix fundamental undo bug where Blender doesn't track the undo UUID property if you toggle edit mode.
...
This also has the nice side effect of implementing "Jump to point in history" so you can now use the Edit > Undo History menu.
2024-04-16 10:05:48 +02:00
Dion Moult
4926c486c5
More panel shuffling, new Quality and Coordination tab. Geometry is now part of materials.
2024-04-16 10:05:48 +02:00
Dion Moult
88d201ed85
Bulk rename panels to remove redundant IFC prefix
2024-04-16 10:05:48 +02:00
Dion Moult
2c976a4b59
Example of UI if we sentence-cased IFC classes. Good or bad? Please comment at https://community.osarch.org/discussion/comment/16493
2024-04-16 10:05:48 +02:00
Andrej730
73a74c1d66
small fix 90fce1804
2024-04-16 10:05:48 +02:00
Dion Moult
9f091e0a3f
New icon tabbed interface so you don't need to click twice to change tab.
2024-04-16 10:05:48 +02:00
Dion Moult
3c2f4cd2f8
DANGER! Potentially fix a bunch of undo bugs by completely rebuilding undo id_map tracking with a much simpler solution.
...
In the past, we used undo_pre and redo_pre and a bunch of complex commit_link and rollback_link tracking to figure out what IDs and GUIDs were added / removed during transactions and how to handle invalidated objects in the id/guid maps.
I really don't know why I made it that complex.
Now we simply treat all data as bad and rebuild the either map. This means slower undos / redos for large projects, but in theory the maps will never invalidate.
This either fixes a lot of things or breaks a lot of things :) Watch out!
2024-04-16 10:05:48 +02:00
Dion Moult
e7d4e3e50d
Fix undo bugs in the type module where some operators were not part of the undo system for some reason.
2024-04-16 10:05:48 +02:00
Dion Moult
c3c018283b
Fix #3275 . You can now rename types from the type manager.
2024-04-16 10:05:48 +02:00
Andrej730
d42aa7d8cb
root.remove_product fix
2024-04-16 10:05:48 +02:00
Andrej730
a5dedbedbb
oops, forgot to clean up the test name
2024-04-16 10:05:48 +02:00
Andrej730
b5902e0e5d
Fixed plan level annotation rotation #3440
2024-04-16 10:05:48 +02:00
Andrej730
0fe3e56c63
StairData refactor, solves #3416
2024-04-16 10:05:48 +02:00
Andrej730
38dd5a218c
root.copy_class to support copying ports in ifc2x3
2024-04-16 10:05:48 +02:00
Andrej730
6c88d55cb8
Clean up type objects on ifc import
2024-04-16 10:05:48 +02:00
Andrej730
197ecdf51c
avoid IfcSpatialElement errors in ifc2x3
...
IfcSpatialElement was added only in ifc4
2024-04-16 10:05:48 +02:00
Andrej730
8943b71d4e
clean up after running test_wall_opening.py
2024-04-16 10:05:48 +02:00
Andrej730
661441b231
remove_product to remove IfcRelConnectsElements
2024-04-16 10:05:48 +02:00
Andrej730
37bcbd077d
Fixing confusing UI #3357
...
It was showing "Edit Profile" when you have slab and wall selected when it will actually extend the wall to the slab.
2024-04-16 10:05:48 +02:00
Dion Moult
8a64675e2c
See #3421 . Fix drawing bug where IfcOpenShell might return unclosed paths even though the shape is closed and therefore break cut polygon fills.
2024-04-16 10:05:47 +02:00
Dion Moult
efd3ef1a89
See #3421 . Fix bug where some projection fills wouldn't polygonize correctly in shapely due to numerical tolerance.
2024-04-16 10:05:47 +02:00
Dion Moult
a1faf4fe08
Fix #3442 . Update sheet list if drawing name changes.
2024-04-16 10:05:47 +02:00
Dion Moult
551db039d0
Move object data out of object tab and into new object dropdown.
2024-04-16 10:05:47 +02:00
Dion Moult
8553c79dea
You can now open projects from the Ctrl-N shortcut.
2024-04-16 10:05:47 +02:00
Gorgious56
8339d04326
Improve slightly the boolean interface in mesh properties editor
2024-04-16 10:05:47 +02:00
Dion Moult
60b06bbc44
Fix #3414 . The project wizard now doesn't load a fresh session by default. Note that File > Open still enforces a fresh session.
2024-04-16 10:05:47 +02:00
Andrej730
36e476b744
Cleaning up connections on delete_ifc
...
Noticed an error if you connect wall and slab, then remove the slab and try to regenerate the wall - error occured because connection to that slab wasn't removed.
The error was:
Error: Python: Traceback (most recent call last):
File "\3.6\scripts\addons\blenderbim\bim\module\model\workspace.py", line 381, in invoke
return self.execute(context)
File "\3.6\scripts\addons\blenderbim\tool\ifc.py", line 136, in execute
IfcStore.execute_ifc_operator(self, context)
File "\3.6\scripts\addons\blenderbim\bim\ifc.py", line 421, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
File "\3.6\scripts\addons\blenderbim\bim\module\model\workspace.py", line 373, in _execute
getattr(self, f"hotkey_{self.hotkey}")()
File "\3.6\scripts\addons\blenderbim\bim\module\model\workspace.py", line 465, in hotkey_S_E
bpy.ops.bim.join_wall(join_type="T")
File "C:\software\Steam\steamapps\common\Blender\3.6\scripts\modules\bpy\ops.py", line 113, in __call__
ret = _op_call(self.idname_py(), None, kw)
RuntimeError: Error: Python: Traceback (most recent call last):
File "\3.6\scripts\addons\blenderbim\tool\ifc.py", line 136, in execute
IfcStore.execute_ifc_operator(self, context)
File "\3.6\scripts\addons\blenderbim\bim\ifc.py", line 421, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
File "\3.6\scripts\addons\blenderbim\bim\module\model\wall.py", line 76, in _execute
joiner.join_E(context.active_object, context.scene.cursor.location)
File "\3.6\scripts\addons\blenderbim\bim\module\model\wall.py", line 1038, in join_E
self.recreate_wall(element1, wall1, axis, body)
File "\3.6\scripts\addons\blenderbim\bim\module\model\wall.py", line 1145, in recreate_wall
height = self.clip(obj, tool.Ifc.get_object(rel.RelatingElement))
File "\3.6\scripts\addons\blenderbim\tool\ifc.py", line 89, in get_object
return IfcStore.get_element(element.id())
AttributeError: 'NoneType' object has no attribute 'id'
2024-04-16 10:05:47 +02:00
Dion Moult
57cb163c8f
Fix #3393 . Bug where duplicating a typed text didn't also copy its literal.
2024-04-16 10:05:47 +02:00
Andrej730
fa5e785849
Delete edit text from BIM Tool since it's already in Annotation Tool
2024-04-16 10:05:47 +02:00
Andrej730
1d56538152
handle null diffuse color loading ifc styles
...
The error was:
Traceback (most recent call last):
File "\3.6\scripts\addons\blenderbim\bim\module\style\prop.py", line 99, in update_shading_style
tool.Style.set_surface_style_props(blender_material)
File "\3.6\scripts\addons\blenderbim\tool\style.py", line 174, in set_surface_style_props
style_data["DiffuseColour"] = style_data["DiffuseColour"][1]
TypeError: 'NoneType' object is not subscriptable
2024-04-16 10:05:47 +02:00
Gorgious56
5e709d5e64
Enable drawing generation buttons only when an actual drawing is selected
2024-04-16 10:05:47 +02:00
Andrej730
3cc3bace3a
Fixed error on canceling editing railing/roof
...
Since we do not update representation for railing / roofs and just mark them wtih `tool.Ifc.edit(obj)` their previous representation may still be incorrect. So we restore the previous representation just using bmesh update method.
For example if create a new roof, enter editing roof properties mode and then cancel editing, then it would result in "Failed to process a shape" because roof still had just empty Body/PointCloud representation.
2024-04-16 10:05:47 +02:00
Andrej730
056f76c7c0
Fixing errors on loading ifc after ef8f82501
...
The error was:
RuntimeError: Operator bpy.ops.object.editmode_toggle.poll() failed, context is incorrect
Location: C:\software\Steam\steamapps\common\Blender\3.6\scripts\modules\bpy\ops.py:113
Traceback (most recent call last):
File "\3.6\scripts\addons\blenderbim\bim\module\project\operator.py", line 594, in execute
bpy.ops.bim.load_project_elements()
File "C:\software\Steam\steamapps\common\Blender\3.6\scripts\modules\bpy\ops.py", line 113, in __call__
ret = _op_call(self.idname_py(), None, kw)
RuntimeError: Error: Python: Traceback (most recent call last):
File "\3.6\scripts\addons\blenderbim\bim\module\project\operator.py", line 653, in execute
ifc_importer.execute()
File "\3.6\scripts\addons\blenderbim\bim\import_ifc.py", line 265, in execute
self.clean_mesh()
File "\3.6\scripts\addons\blenderbim\bim\import_ifc.py", line 1347, in clean_mesh
bpy.ops.object.editmode_toggle(context_override)
File "C:\software\Steam\steamapps\common\Blender\3.6\scripts\modules\bpy\ops.py", line 111, in __call__
ret = _op_call(self.idname_py(), C_dict, kw, C_exec, C_undo)
RuntimeError: Operator bpy.ops.object.editmode_toggle.poll() failed, context is incorrect
Location: C:\software\Steam\steamapps\common\Blender\3.6\scripts\modules\bpy\ops.py:113
2024-04-16 10:05:47 +02:00
Andrej730
d9b124715a
Fixed console errors on checking modeling data
2024-04-16 10:05:47 +02:00
Dion Moult
a00e47f822
Fix #3300 . Bug where it was impossible to delete normal Blender objects in the outliner when an IFC existed.
...
Also port over batch deletion to the outliner override.
2024-04-16 10:05:47 +02:00
Andrej730
17420ca779
model data parameters renamed to pset_data for consitency
2024-04-16 10:05:47 +02:00
Andrej730
ee308ed0b8
DoorData use refactor
2024-04-16 10:05:47 +02:00
Andrej730
577aacb746
WindowData use refactor
2024-04-16 10:05:47 +02:00
Andrej730
8217fcdf47
change .is_editing type for ifc modifiers to boolean
2024-04-16 10:05:47 +02:00
Andrej730
403c5caf0c
RoofData use refactor
2024-04-16 10:05:47 +02:00
Dion Moult
a386a14a6f
Group drawings by target view in the drawing list
2024-04-16 10:05:47 +02:00
Bruno Perdigão
6b98626210
Select all objects in array modifier #3331
2024-04-16 10:05:47 +02:00
Dion Moult
0602711104
Fix #3411 . Filtering sheets now doesn't break sheet hierarchy and also lets you search for sheet identification, name, and names of drawings / titleblocks / things on sheets.
2024-04-16 10:05:47 +02:00
Dion Moult
bee4e77d63
Fix #3432 . Bug where null applicable occurrence of a type product caused the annotation tool to fail.
2024-04-16 10:05:47 +02:00
Andrej730
e92217a362
makefile fix
2024-04-16 10:05:47 +02:00
Andrej730
0a546d847c
minor change for RailingData
2024-04-16 10:05:47 +02:00
Andrej730
984b33cd77
bim.load_project to refresh session on execute not invoke
...
if you accidentally opened file dialog or just changed your mind it shouldn't remove all objects from the current blender session
2024-04-16 10:05:47 +02:00
Andrej730
6505758171
RailingData use refactor, solves #3416
2024-04-16 10:05:47 +02:00
smr02
f0263b0e6c
ifcsverchok delete api_WIP
2024-04-16 10:05:47 +02:00
Andrej730
928ccf1b9f
display current commit in status bar
...
it works for users who symlinked their blenderbim/bim folders to git repository or installed blenderbim from release created from makefile
https://i.imgur.com/mEBH9I7.png
2024-04-16 10:05:47 +02:00
Gorgious56
55821117d5
Fix error when trying to edit an object that doesn't support edit mode with the TAB keypress
...
Also run black on the rest of the file
2024-04-16 10:05:47 +02:00
Dion Moult
5a0192c5c4
Fix #3420 . Fix missing sheet references on drawings and incorrect direction of section references.
2024-04-16 10:05:47 +02:00
Andrej730
3abd3b1b0d
more consistency in values for plan-, section level and diameter
2024-04-16 10:05:47 +02:00
Andrej730
1ae6a0eb5a
radius annotation - support for prefix/suffix/fill-bg
...
and more consistency between viewport and svg
2024-04-16 10:05:46 +02:00
Andrej730
97b3bf5511
PLAN/SECTION_LEVEL consistency between viewport and svg
...
before - https://i.imgur.com/bwYbozz.png
after - https://i.imgur.com/7BlmQIg.png
NOTE that if you're using markers.svg that was created before this update you won't see the changes for the section-/plan-level markers.
2024-04-16 10:05:46 +02:00
Andrej730
710dce845e
fill-bg for diameter, plan- and section-level annotations
2024-04-16 10:05:46 +02:00
Dion Moult
e75afc9ffb
Fix #3417 . Apply 50mm offset to camera to ensure text isn't "behind" the camera. This 50mm convention is used in quite a few places, we should standardise it.
2024-04-16 10:05:46 +02:00
Dion Moult
dc9b11832b
Fix #3425 . Fix invalid IFC data where grid axes should be 2D not 3D.
2024-04-16 10:05:46 +02:00
Thomas Krijnen
c2aa09b374
Update entity_instance.py
2024-04-16 10:05:46 +02:00
Thomas Krijnen
ffa9015798
Lingering changes after conflict resolution
2024-04-16 10:05:40 +02:00
Andrej730
8e4b93fb03
Prevent resetting selected tab on blender restart
...
Not sure if there is any caveats to that
2024-04-16 10:05:08 +02:00
Dion Moult
a5af1ad79b
Fix #3407 . Override Ctrl-S to the export IFC which checks for Blender projects.
...
1. No IFC --> Saves Blend file
2. IFC, unsaved Blend --> Saves IFC
3. IFC, saved Blend --> Saves IFC and Blend
2024-04-16 10:05:08 +02:00
Andrej730
a43863cad3
PLAN_LEVEL annotations support for prefix, suffix #3399
...
Viewport - https://i.imgur.com/XRa3oJO.png
SVG - https://i.imgur.com/C8PjoiO.png
2024-04-16 10:05:08 +02:00
Dion Moult
2d19b82a63
Fix #3414 . Only clear default scene, not custom scene when loading / creating IFCs.
2024-04-16 10:05:08 +02:00
Andrej730
3d96187a91
SECTION_LEVEL annotations support for prefix, suffix #3399
...
also added support for "show only description" for section_level
2024-04-16 10:05:08 +02:00
Andrej730
e5c5c18d8d
Fixed #3400 introduced in dda16c8
2024-04-16 10:05:08 +02:00
Dion Moult
ef0ccfd48f
Resolve merge conflict
2024-04-16 10:05:08 +02:00
Dion Moult
cdf617e95b
Fix registration bug that created hundreds of workspaces due to continuous triggering of the depsgraph_update.
...
Use an is_registering check to only run the on_register once.
Rename setDefaultProperties to load_post to better reflect what handler it is.
Unregister our custom scene panels upon addon activation.
Move aprops getting to tool.Blender because it is a bit complex. Also, aprops may not be setup until load_post is called, so the len() check protects against that.
2024-04-16 10:05:08 +02:00
Gorgious56
b3c4c05690
Keep active object when unlinking an IFC element
...
Unlinking an element recreates a new blender object so the active object would be lost, jumping the properties to the scene panel which was slightly annoying
2024-04-16 10:05:08 +02:00
Andrej730
03aa63bd61
fixed properties search after 949a2bb and fixed console errors on search
...
1) When you search not from the SCENE properties blender creates some kind of phantom area to check search results. As this area is not present in `context.screen.areas` it was resulting in the error below.
2) After 949a2bb search in scene properties was limited to currently selected tab. Given the amount of tools we have in properties and native blender approach for searching across all available sections in properties, it seems reasonable to make search work across all tabs.
Console error was:
The error was
Python: Traceback (most recent call last):
File "\3.6\scripts\addons\blenderbim\bim\ui.py", line 281, in draw
aprops = context.screen.BIMAreaProperties[context.screen.areas[:].index(context.area)]
ValueError: bpy.data.screens['Layout.001']...Area is not in list
2024-04-16 10:05:08 +02:00
Dion Moult
562c775da2
Integrate brickschema undo system into BlenderBIM Add-on undo system wrapper
2024-04-16 10:05:08 +02:00
Andrej730
88defa07ce
Fixed #3412
...
After 949a2bb printing happens not fron N-panel (which is part of viewport) but from scene properties - so current context doesn't have region_3d anymore.
PS The same issue was there all along if you'd try to print the drawing from Camera Properties tab.
2024-04-16 10:05:08 +02:00
Andrej730
37f3ecc8c5
allow to call select/color by attribute by providing arguments
...
instead of always checking scene.BIMSearchProperties. This allows to add different setups of selections to quick favorites
2024-04-16 10:05:08 +02:00
Dion Moult
e451844e13
Implement Ctrl-Tab in properties to conveniently toggle between two tabs.
2024-04-16 10:05:08 +02:00
Dion Moult
e72396585f
Move built-in scene panels to a dedicated "Blender Properties" tab instead of unregistering permanently.
2024-04-16 10:05:08 +02:00
Andrej730
01ebb649d9
Library for US AISC15 Steel Profiles #3203
2024-04-16 10:05:08 +02:00
Gorgious56
f2dd6a6fc1
Trying to edit a railing modifier path while modifying the parameters is now prevented and user is informed with a tooltip
2024-04-16 10:05:08 +02:00
Gorgious56
332db04aa5
Fix IfcRailing modifier support spacing <= 0 would throw an error, and deactivate support spacing field if manual support is selected
2024-04-16 10:05:08 +02:00
Thomas Krijnen
4940f95d7a
2dc4bbf8cd Apply same logic for derived attributes
2024-04-16 10:05:08 +02:00
Dion Moult
d29f0f171c
Override Ctrl-N new file menu to make it easier to start new projects and new IFC icon.
2024-04-16 10:05:08 +02:00
Andrej730
acc5ca339f
Using EPset_Drawing data instead of camera props on drawing print #3396
...
Previously if you change `HasUnderlay` in pset it caused errors because camera properties `has_underlay` wasn't updated.
Still some work need to be done for updating keep camera properties in sync with pset - probably we can should call something like `tool.Drawing.import_drawing()` on EPset_Drawing edit
2024-04-16 10:05:08 +02:00
Dion Moult
4359769d54
See #3411 . Sheets are now sorted alphabetically by default.
2024-04-16 10:05:08 +02:00
Dion Moult
4eba6bd6c0
See #3016 . Scene shading styles are now stored as part of the drawing style.
2024-04-16 10:05:08 +02:00
Dion Moult
a81a48dc75
Update splash image to be centered
2024-04-16 10:05:07 +02:00
Dion Moult
ac0f432190
Fix #3410 . Minor regression when moving UI to properties panel.
2024-04-16 10:05:07 +02:00
Dion Moult
a99f1e15cb
Add support for Point representations too, not just point cloud.
2024-04-16 10:05:07 +02:00
Dion Moult
4ed1eedbfc
Fix bug where all grouped annotations were excluded when opening models, whereas we only want drawing annotations to be excluded.
2024-04-16 10:05:07 +02:00
Massimo Fabbro
d68294d420
Fix bug where drawing decimal places couldn't be 0. Now it's possible to define 0 as value
2024-04-16 10:05:07 +02:00
Dion Moult
8f555db5a4
Forgot to commit updated IfcTester test suite
2024-04-16 10:05:07 +02:00
Dion Moult
52ef8a6042
Fix critical undo sync bug related to invoking instead of executing. See notes.
...
Currently, the undo system works by wrapping the execute operator. What was not considered was that execute() isn't the only entry point to operators. Operators can be invoked. If an invoked operator calls a bpy.ops.bim.something in its invoke() function, then bpy.ops.bim.something will start and finish its own transaction, and then when the invoke finishes and finally runs execute(), another transaction will be started and finished. This means that we get at least one extra transaction logged (one per any call to bpy.ops.bim.foo in invoke()).
This mismatch of number of transactions and undo stack means that when the user presses ctrl-z, the undo doesn't actually occur. This leads to a sync bug.
To be safe, all IFC invokes must be wrapped. This will take some time to review so expect another commit soon.
2024-04-16 10:05:07 +02:00
Dion Moult
05a3a33a9a
Drawing panels now moved to the drawings and documents "tab"
2024-04-16 10:05:07 +02:00
Dion Moult
ea44fa8b89
Update IfcTester to comply with latest modifications to IDS XSD.
2024-04-16 10:05:07 +02:00
Dion Moult
2dbb566072
Visual clean up of annotation tool to only activate when a drawing is active and have a type manager similar to the BIM tool.
2024-04-16 10:05:07 +02:00
Dion Moult
17d9ddd57d
Update tool icons to all use the same underlying "cube" shape and add bracing for structural icon and background walls for spatial icon.
2024-04-16 10:05:07 +02:00
Bruno Perdigão
81504ebb29
recreate decompositions in Refresh operator
2024-04-16 10:05:07 +02:00
Bruno Perdigão
9b89263ad6
changed keymap
2024-04-16 10:05:07 +02:00
Bruno Perdigão
e580269c75
clear BIMObjectPropertis.collection after duplication
2024-04-16 10:05:07 +02:00
Bruno Perdigão
d25fcb8fbf
initial commit
2024-04-16 10:05:07 +02:00
Dion Moult
daf3c6dffc
Fix #3390 . Type products should not be set in the model interface.
2024-04-16 10:05:07 +02:00
Thomas Krijnen
d6250aaf2a
#3189 proposal ( #3190 )
2024-04-16 10:05:07 +02:00
Bruno Perdigão
8b71db92e2
removed total_items from the operator
2024-04-16 10:05:07 +02:00
Bruno Perdigão
a4c90d8b53
implementation of #3332
2024-04-16 10:05:07 +02:00
Dion Moult
02bca5a622
Fix #3402 . Activate drawing no longer affects the visibility of non-IFC objects.
2024-04-16 10:05:07 +02:00
Dion Moult
8977d37ccd
Fix #3403 . Templates must be specific to the version you are creating.
2024-04-16 10:05:07 +02:00
Dion Moult
8c1214e8c4
Start mocking up our own property "tabs" with the intention to use this new tab system instead of Blender property tabs
...
Blender property tabs are hardcoded and we cannot customise them. IFC data only "somewhat" maps to Blender property tabs, and some things fail to map causing user confusion. For example material and styles are very confusing. Also scene and object properties are crazy overpopulated (see how many times IFCArchitect bulk collapses things). And this also causes things to be spread out and lost (e.g. some random panels in viewport N menu). This should give us a lot more control to organise panels exactly how we want them.
2024-04-16 10:05:07 +02:00
Dion Moult
387bf6aa58
Workspace inspired by IFCArchitect's layout is now setup by default and irrelevant Blender scene panels are hidden. You can disable this behaviour for advanced users, or use your own workspace layout but at least now there is a better "BIM-optimised" layout.
...
The layout uses three columns with a focus on a larger outliner (important as BIM models have lots of objects and complex hierarchies!) and properties, and removes the mostly irrelevant timeline for beginners.
2024-04-16 10:05:07 +02:00
Dion Moult
44ff5b12cd
You can now create, open, and save projects from the file menu, with simple project presets. Also the scene is cleared so no more manual cube / light / camera deletion. Also poll prior to saving. No more import / export menu to confuse users.
...
https://imgur.com/a/EIt2H5b
2024-04-16 10:05:07 +02:00
Dion Moult
8e053de4e5
Delete old annotation panel in favour of annotation tool
2024-04-16 10:05:07 +02:00
luzpaz
1819a45e4c
Fix various typos in src/ifcgeom* subdirs
2024-04-16 10:05:04 +02:00
Richard Brice
e946e34823
Apparent fix to cant placement matrix
2024-04-15 12:41:36 -07:00
Dion Moult
3e7afbed08
Minor doc improvements and SQL/stream code cleanup
2024-04-15 13:30:42 +02:00
Dion Moult
bb7a73feac
Fix #3394 . Fix bug where railing and roof type names were hardcoded. Also improve UI of create type form so you can actually read the fields.
2024-04-15 13:30:42 +02:00
Dion Moult
cb412c78b5
Fix #3213 . Internally, we should always use Unix path separators.
2024-04-15 13:30:42 +02:00
Dion Moult
7d83eb114a
The user can now toggle between rotate before / after translating in OffsetObjectPlacements
2024-04-15 13:30:42 +02:00
Dion Moult
c45b28e78a
Fix #3016 . Drawing styles that set the shading style will change shading style upon activating the style.
2024-04-15 13:30:42 +02:00
Dion Moult
8896a74d1b
Fix #3121 . Merge equivalent contexts when merging projects in MergeProject Ifcpatch recipe.
2024-04-15 13:30:42 +02:00
Dion Moult
fac527b0fe
Fix failing tests since Github test runner only has IFC4X3_ADD1 not TC1 compiled in.
2024-04-15 13:30:42 +02:00
Trashman247
73d2146a6c
Remove binding namespace new project (already in schema)
2024-04-15 13:30:41 +02:00
Trashman247
0c5a8bea4e
remove import BrickStore in props
2024-04-15 13:30:41 +02:00
Trashman247
301800d8ed
Add brick operator accepts label parameter & add toggle for namespace editing
2024-04-15 13:30:41 +02:00
Trashman247
a28b8c1cd4
Add filter to listed namespaces (need add more aliases)
2024-04-15 13:30:41 +02:00
Trashman247
79e9bef565
Double space core functions and clear brick browser on project close
2024-04-15 13:30:41 +02:00
Trashman247
8b2fae4369
Separate serialize into "save" and "save as" with file selection
2024-04-15 13:30:41 +02:00
Sigma Dimensions
676c96c6e2
Georeferencing utility to convert an angle in degrees to X Axis Abscissa and Ordinate
2024-04-15 13:30:41 +02:00
Dion Moult
13075dcae4
See #3126 and 5b4010c. Fix failing tests, and allow schema_by_name to follow the same schema_version distinction as file.
2024-04-15 13:30:41 +02:00
Andrej730
236581baa3
w-type US steel profiles #3203
2024-04-15 13:30:41 +02:00
Dion Moult
e8d6f122f3
See #3126 . Forgot to commit tests related to explicit schema versions.
2024-04-15 13:30:41 +02:00
Thomas Krijnen
22ffd3d2b7
Update win32 download links installation.rst
2024-04-15 13:30:41 +02:00
Thomas Krijnen
26d0f98cd9
#3359 return early in case of no-prefiltering
2024-04-15 13:30:41 +02:00
Andrej730
8f6f03cd27
fill-bg support for dimensions #3387
...
Example - https://i.imgur.com/lvJwtDI.png
works the same way as for text by adding "fill-bg" to EPset_Annotation.Classes
2024-04-15 13:30:41 +02:00
Dion Moult
54492e3769
Fix #3383 . Disallow any extrusion angles >=90 which are invalid.
2024-04-15 13:30:41 +02:00
Dion Moult
1c739dfa55
Test all shapes in the debug panel now also attempts 2D checks to prevent false positives.
2024-04-15 13:30:41 +02:00
Dion Moult
6d37104280
Revert "More descriptive RuntimeError: Failed to process shape #3383 "
...
This reverts commit 1542217117 .
2024-04-15 13:30:41 +02:00
Andrej730
6f9c9d1032
More descriptive RuntimeError: Failed to process shape #3383
...
Example of the new error - https://i.imgur.com/0FMQw5V.png
2024-04-15 13:30:41 +02:00
Dion Moult
e9d12d5e31
Fix #3126 . Implement mapping from IFC4X3 to IFC4X3_ADD1 and explicit version identifiers in ifcopenshell.file
2024-04-15 13:30:41 +02:00
Dion Moult
814bec11e9
Fix #3386 .
2024-04-15 13:30:41 +02:00
Dion Moult
69e650cc50
Fix #3349 . Allow inserting a filling into an uncontained building element.
2024-04-15 13:30:41 +02:00
Bruno Perdigão
7d56f91aa0
fix #3063
2024-04-15 13:30:41 +02:00
Dion Moult
8ba976078b
Fix #3382 . Minor regression in wall join refactor from d64c135
2024-04-15 13:30:41 +02:00
Sigma Dimensions
3e2a509793
fix #3385 - renaming grids with "F2"
2024-04-15 13:30:41 +02:00
Bruno Perdigão
1486dc26e6
minor fix
2024-04-15 13:30:41 +02:00
Bruno Perdigão
72b2cf626f
bugfix and alt+click functionality
2024-04-15 13:30:41 +02:00
Bruno Perdigão
4be1fa7632
implements #3268
2024-04-15 13:30:41 +02:00
Andrej730
e792471725
Moving editing roof and railing paths hotkey from Shift+E/Q to Tab
2024-04-15 13:30:41 +02:00
Andrej730
444166b37c
Fix #3263
2024-04-15 13:30:41 +02:00
Andrej730
7a91b3d153
railing modifiers - fixing normals for frameless_panel #3277
2024-04-15 13:30:41 +02:00
Dion Moult
200aeb896d
See #3359 . Bump IfcOpenShell and enable HLR prefiltering optimisation for drawing generation
2024-04-15 13:30:41 +02:00
Andrej730
20d19bfcba
type selection error #3318
...
if you switch ifc_class then relating_type_id can become invalid and we wasn't taking it into account
Also fixed bunch of warning like `pyrna_enum_to_py: current value '17' matches no enum in 'BIMModelProperties', '', 'relating_type_id'`` when some ifc_class has N related types and then you switch to other ifc_class that has less than N related types.
2024-04-15 13:30:40 +02:00
Andrej730
461eeba9ff
Revert "enable activating object type when trying to select type from an object ( whilst the type is hidden from view layer)"
...
This reverts commit 4bc987924d since there was some unintentional changes.
Now when you use select_type in object properties - ifc class and related type gets selected in the BIM Tool - https://i.imgur.com/drIHYDz.png
#3318
2024-04-15 13:30:40 +02:00
Andrej730
5b10923b45
ShapeBuilder.polyline - skip creating segments if they are not needed
2024-04-15 13:30:40 +02:00
Dion Moult
4efe780df7
Fix #3356 . Include version info in status bar for debugging and new copy debug info button to help bugreporting.
2024-04-15 13:30:40 +02:00
Dion Moult
a5579d1d69
Fix #3256 . Support file profiles made out of multiple representation items.
2024-04-15 13:30:40 +02:00
Dion Moult
f1e3fb38ad
See #3334 . Fix some get_pset implementation errors in 64516a1
2024-04-15 13:30:40 +02:00
OrionSehn
0f6e934ca8
Proposed fix to #3352
2024-04-15 13:30:40 +02:00
Andrej730
1109d4cc51
Sync ifc class in BIM Tool and Type Manager
...
It's seems it would be better for ux if they will be connected
2024-04-15 13:30:40 +02:00
Andrej730
bd70f7bf7f
add_representation - detect non consequtive curves and handle them
...
Basically if current mesh curve is non consequtive we handle it in similar way to b03c4da7b - convert it to curves using Blender and then save them to ifc.
The advantage is that it creates less curves in ifc because mesh method wasn't able to detect separate curves correctly if vertex order was messed up (usually it is) and it would create separate curve for each curve segment.
I've also replaced figuring vertex duplicates with `bmesh.ops.remove_doubles` manually with `bmesh.ops.remove_doubles` and it's now much faster. In some cases because of the manual calculations it was taking too long - in #3233 Ryan mentiones that it freezes blender, it wasn't really freezing Blender but to finish calculations it would take 10 minutes.
2024-04-15 13:30:40 +02:00
Dion Moult
d81e64f7a2
See #3376 . Bump updated build of IfcSverchok.
2024-04-15 13:30:40 +02:00
Dion Moult
00ccb77f86
Merge AWS Lambda installation documentation into official docs
2024-04-15 13:30:40 +02:00
Dion Moult
5dd9a24647
Whoops
2024-04-15 13:30:40 +02:00
Dion Moult
d435152904
Close #3377 . Implement xyz coordinates for COBie object placement.
2024-04-15 13:30:40 +02:00
Dion Moult
5840b1770e
Write IfcOpenShell documentation for geometry trees.
2024-04-15 13:30:40 +02:00
Andrej730
33d3afc35d
experimental support for spline curves representation #3233
...
there is still no full support but as a workaround I've added blender converting curves to meshes and back to curves so we could preserve the actual shapes
before - https://i.imgur.com/9F542Iy.png
after - https://i.imgur.com/t58RlkF.png
2024-04-15 13:30:40 +02:00
Dion Moult
ce8a9293bb
See #3334 . Optimise pset getting and add simple "broadphase" filtering for all facets for faster validation.
2024-04-15 13:30:40 +02:00
Dion Moult
b8e2e693f1
Fix bug where IfcTester would pass derived attribute facets.
...
Now that IfcOpenShell supports derived attributes, we need to explicitly make sure the attribute facet only considers forward attributes.
2024-04-15 13:30:40 +02:00
Dion Moult
9af7ddaf56
See #3334 . Fix bug where get_pset didn't handle property inheritance correctly.
2024-04-15 13:30:40 +02:00
c4rlosdias
31a6049eb6
Add extra formats to output file
2024-04-15 13:30:40 +02:00
Andrej730
5474d0f56a
Prevent crash on attempt to link the current .blend file
2024-04-15 13:30:40 +02:00
Andrej730
d57e152c7d
Storing external styles paths as posix for cross platform compatibility
...
Also it was wrongly referring to .blend file instead of .ifc to generate relative paths.
2024-04-15 13:30:40 +02:00
Andrej730
3fa5679bd7
disable default vebose mode for getting shader attribute to prevent spam
2024-04-15 13:30:40 +02:00
Andrej730
5ce7abbda0
adding default ifc objects added from shift-a menu to the current collection
2024-04-15 13:30:40 +02:00
Andrej730
1b39f243eb
Editiing arbitrary profile without enabling editing profile
...
It was a bit confusing UX since when you finish editing arbitrary profile path the data is already saved in ifc but you were still in editing profile properties
2024-04-15 13:30:40 +02:00
Andrej730
9864f7d19e
Update type manager thumbnails on editing profiles
...
Example - https://imgur.com/a/IcV8IIR
2024-04-15 13:30:40 +02:00
Andrej730
5a5e1e9892
disable chaching sound running the bim tests
...
to save someone's ears (probably mine 😁 ) from running 10 chaching sounds per second
2024-04-15 13:30:40 +02:00
Dion Moult
4845242769
Fix #3366 . Fix crash in IfcDiff if you are comparing a model with no geometry.
2024-04-15 13:30:40 +02:00
Andrej730
847d30fdaa
Fixed errors displaying IFC Connections for IfcRelConnectsElements
...
IfcRelConnectsElements type of connection wasn't handled properly resulting in errors.
Now you should be able to see connections for connected slabs, walls etc - https://i.imgur.com/LpFBKBC.png
Traceback:
Traceback (most recent call last):
File "\blenderbim\bim\module\geometry\ui.py", line 102, in draw
ConnectionsData.load()
File "\blenderbim\bim\module\geometry\data.py", line 100, in load
cls.data = {"connections": cls.connections()}
File "\blenderbim\bim\module\geometry\data.py", line 134, in connections
relating_element_connection_type = rel.RelatingConnectionType
File "\blenderbim\libs\site\packages\ifcopenshell\entity_instance.py", line 171, in __getattr__
raise AttributeError(
AttributeError: entity instance of type 'IFC4.IfcRelConnectsElements' has no attribute 'RelatingConnectionType'
2024-04-15 13:30:40 +02:00
Dion Moult
99e2598c00
Fix #3355 . Reimplement graphical clash snapshots in BCF from IfcClash in the BlenderBIM Add-on.
2024-04-15 13:30:40 +02:00
Dion Moult
6758d878d8
You can now unload BCF projects to load another one.
2024-04-15 13:30:40 +02:00
Trashman247
6986b901d0
Move Brick.ttl ignore to main git-ignore file
2024-04-15 13:30:10 +02:00
Trashman247
9cedd37694
Silence known rdflib_sqlalchemy TypeError warning
2024-04-15 13:29:29 +02:00
Trashman247
2b52ab930c
Implement fully undo/redo with checks
...
While these actions are short in the backend--taking about 0.01 seconds to run--the Blender UI lags a lot leading to 2-3 second pauses because of the "refresh_brick_viewer" function being slow. This should be investigated.
2024-04-15 13:29:29 +02:00
Trashman247
36d0e33958
Change namespace selector to only show alias
2024-04-15 13:29:29 +02:00
Trashman247
6a88905e23
Add changeset versioning to Brick add/remove
2024-04-15 13:29:29 +02:00
Trashman247
64d1fb4ee7
Reformat commenting, remove prints, and remove BrickStore.project
2024-04-15 13:29:29 +02:00
Trashman247
bcd7c79004
Implement fully serialize operator
...
- Turns out, you need the keyword "graph=" in graph_at() to actually select a graph of that name from the collection, otherwise it just returns the entire collection, so I changed that, which correctly isolates the project from the collection for serialization now.
- With this same change, I opted turn BrickStore.VersionedGraphCollection simply into BrickStore.graph and create a new BrickStore.get_project() to return the isolated graph. - This meant I should remove the reload_graph() function because I was actually just loading the entire collection into it still, and its functionality breaks when it isn't the entire collection
2024-04-15 13:29:29 +02:00
Trashman247
38788cc95b
Implement early testing for serialize operator (not functional)
...
All the right code seems to be in place, but it seems the package won't go through with the serialize function because of read/write permissions (ERRNO 13)
2024-04-15 13:29:29 +02:00
Trashman247
4a04411262
Change graph naming to all caps
2024-04-15 13:29:29 +02:00
Trashman247
590049638e
Add Brick.ttl to .gitignore
2024-04-15 13:29:29 +02:00
Trashman247
b13f6116d0
Update BrickStore.purge()
...
I wanted to just have a BrickStore.clear() which would so this:
BrickStore.VersionedGraphCollection = None
BrickStore.graph = None
BrickStore.path = None
(aka not also set BrickStore.schema = None, since it should theoretically just load in the same path anyway) but for some reason Blender crashes when clearing a project and loading one again this way.
2024-04-15 13:29:29 +02:00
Trashman247
d2815415df
Rework NewBrick and LoadBrick in test_brick.py to fit with new VGC format
...
- VGC means VersionedGraphCollection.
- BrickStore.schema is now a filepath, so make that the case in the testing also.
2024-04-15 13:29:29 +02:00
Trashman247
c85b97af5a
Implement VersionedGraphCollection to Brick module
...
- Reworked `load_brick_file` and `new_brick_file` to fit under the VersionedGraphCollection implementation. (Other methods may have broken).
- Added `undo_brick` and `redo_brick`.
- Kept BrickStore.graph the same as to generally still work with the rest of the code. This was done by parsing the VersionedGraphCollection with the new `reload_brick_graph` method.
2024-04-15 13:29:29 +02:00
Carlos Dias
205128400e
Update operator.py
...
missing output file format in arguments
2024-04-15 13:29:28 +02:00
Andrej730
6e01d5ce01
reworked detecting neighbour walls when placing new ones
...
hopefully it will be a bit more natural now - please give feeback
before - https://imgur.com/a/VYQt5ua
now - https://imgur.com/a/5LRAmrd
2024-04-15 13:29:28 +02:00
Andrej730
6a1d1cf039
More responsive UI for IFC search
2024-04-15 13:29:28 +02:00
Andrej730
62ecb1e261
a bit of bim.join_wall refactor
2024-04-15 13:29:28 +02:00
Andrej730
4e186f4a62
Error editing roof profile #3357
...
it was assuming it's a slab and was giving errors trying to start editing slab profile
File "C:\Users\user\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\blenderbim\bim\module\model\slab.py", line 618, in _execute
if extrusion.Position:
AttributeError: 'NoneType' object has no attribute 'Position'
2024-04-15 13:29:28 +02:00
Bruno Postle
84b08fa448
BlenderBIM Git documentation minor corrections
2024-04-15 13:29:28 +02:00
Bruno Postle
e61c572743
BlenderBIM document Git merge asymmetry ( #3096 )
2024-04-15 13:29:28 +02:00
Dion Moult
fcd68a1e64
Whoops
2024-04-15 13:29:28 +02:00
Dion Moult
623ac1fe93
Fix hppfcl segfault by bumping hppfcl and its dependencies. Remove support for py37.
2024-04-15 13:29:28 +02:00
Andrej730
2122ab7bdc
Added warning for a86456392
2024-04-15 13:29:28 +02:00
Andrej730
49abaf6798
improved relative path handling for textures #3365
...
now we're going to store all texture paths in .ifc as posix to keep them working if .ifc moved from one platform to another
previously it was saving all paths as absolute
2024-04-15 13:29:28 +02:00
Andrej730
bfcc8decc0
Calculating angle based on world position instead of camera pos #3362
2024-04-15 13:29:28 +02:00
Andrej730
1357b83d99
Added support for OCCLUSION textures for 3aff29dec
2024-04-15 13:29:28 +02:00
Andrej730
0d74ffd52f
Shape builder - detect AdvancedSweptSolid
...
To avoid validation errors on creating wall mounted railings
#143=IfcShapeRepresentation(#15,'Body','SweptSolid',(#116,#126,#129,#139,#142))
Rule IfcShapeRepresentation.CorrectItemsForType:
IfcShapeRepresentationTypes(self.RepresentationType, self.Items)
Violated by:
False
+ where False = IfcShapeRepresentationTypes('SweptSolid', (#116=IfcSweptDiskSolid(#115,10.,$,$,$), #126=IfcExtrudedAreaSolid(#120,#124,#125,20.), #129=IfcSweptDiskSolid(#128,10.,$,$,$), #139=IfcExtrudedAreaSolid(#133,#137,#138,20.), #142=IfcSweptDiskSolid(#141,25.000000372529,$,$,$)))
+ where 'SweptSolid' = #143=IfcShapeRepresentation(#15,'Body','SweptSolid',(#116,#126,#129,#139,#142)).RepresentationType
+ and (#116=IfcSweptDiskSolid(#115,10.,$,$,$), #126=IfcExtrudedAreaSolid(#120,#124,#125,20.), #129=IfcSweptDiskSolid(#128,10.,$,$,$), #139=IfcExtrudedAreaSolid(#133,#137,#138,20.), #142=IfcSweptDiskSolid(#141,25.000000372529,$,$,$)) = #143=IfcShapeRepresentation(#15,'Body','SweptSolid',(#116,#126,#129,#139,#142)).Items
2024-04-15 13:29:28 +02:00
Andrej730
805d6652f1
set default position on creating window and door
...
to avoid validation errors like IfcProduct.PlacementForShapeRepresentation
2024-04-15 13:29:28 +02:00
Andrej730
2fc79e0bd3
Fixing ifc git poll errors if .ifc file is not yet saved
...
Errors:
Traceback (most recent call last):
File "\Blender\3.6\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 20, in poll
if not os.path.isfile(path_ifc):
File "\Blender\3.6\python\lib\genericpath.py", line 30, in isfile
st = os.stat(path)
TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType
Traceback (most recent call last):
File "\Blender\3.6\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 48, in poll
if not os.path.isfile(path_ifc):
File "\Blender\3.6\python\lib\genericpath.py", line 30, in isfile
st = os.stat(path)
TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType
2024-04-15 13:29:28 +02:00
Andrej730
d511b6fdc8
updated furniture library after f5031035c and a385938
2024-04-15 13:29:28 +02:00
Andrej730
5c1a96c24c
Shape builder - avoid duplicated indices in polylines
...
For example
IfcLineIndex((1,2,3,4,1))
instead of
IfcLineIndex((1,2,2,3,3,4,4,1))
2024-04-15 13:29:28 +02:00
Thomas Krijnen
cb804f2e84
Fix openbot build
2024-04-15 13:29:28 +02:00
Massimo Fabbro
62a0b64b2a
Add regen button also under space tool
2024-04-15 13:29:20 +02:00
Dion Moult
3dd75e98a0
See #3283 . Minor fix where IfcContext is abstract, so IfcProjectLibrary should be checked instead when loading filtered models.
2024-04-15 13:29:20 +02:00
Dion Moult
82519a56c2
Fix failing build
2024-04-15 13:29:20 +02:00
Dion Moult
5f73a2b36d
Bundle qhull for hppfcl on Linux too
2024-04-15 13:29:20 +02:00
Thomas Krijnen
4e599cf132
Fix openbot build
2024-04-15 13:29:20 +02:00
Thomas Krijnen
b76beabb43
Fix openbot build
2024-04-15 13:29:20 +02:00
Andrej730
57f43fe608
Support for door/window/stair modifiers in ifc2x3
2024-04-15 13:29:20 +02:00
Andrej730
ced6326bfd
ShapeBuilder to use IfcPolyline of IfcIndexedPolyCurve to support ifc2x3
...
needed it to add suport for window/door modifiers in ifc2x3 in the next commit
2024-04-15 13:29:20 +02:00
Andrej730
2b3a7ba30c
fixing errors running tests if no tool selected in blender startup file
...
Error was: AttributeError: 'NoneType' object has no attribute 'idname'
2024-04-15 13:29:20 +02:00
Dion Moult
34d44c9e7c
Bundle qhull for ifcclash on macosm1
2024-04-15 13:29:20 +02:00
Thomas Krijnen
fe7d550ef7
Help swig not to trip over old occt handle definitions
2024-04-15 13:29:18 +02:00
Thomas Krijnen
727d075e0e
Add --prefilter flag to draw.py
2024-04-15 13:28:16 +02:00
Thomas Krijnen
09d7cd97c8
SVG prefiltering elements based on large faces
2024-04-15 13:28:13 +02:00
Andrej730
212b707464
simplified dev installation script for mac/linux
2024-04-15 13:25:51 +02:00
Andrej730
ac45b16e73
Fixed crash on Mac m1 on removing unused types (similar to 4d0be1972)
2024-04-15 13:25:51 +02:00
Andrej730
7a4baed6e6
Fix crash on Mac M1 on removing cost item
...
Crash happened because we were addressing `.id()` of already deleted `cost_item`.
Surprisingly for me on windows addressing `cost_item` was causing crash too but `cost_item.id()` worked fine.
2024-04-15 13:25:51 +02:00
Andrej730
704ec5e8f9
avoid errors unregistering tools from tests
2024-04-15 13:25:51 +02:00
Dion Moult
0e47b6ff34
Attempt to bundle hppfcl for macosm1
2024-04-15 13:25:51 +02:00
Andrej730
d522174247
Console warnings if drawing's assets not found #3325
2024-04-15 13:25:51 +02:00
Andrej730
5d01489251
unregistering spatial and structural tools on disabling addon
2024-04-15 13:25:51 +02:00
Andrej730
8d18a8a023
Fix for f88835b #3271
...
Now we do not rely on small offset to keep using inner curves to create linings, if some part of the lining is not present (which happens on mullions and transoms) we'll create U or L shape extrusion instead of rectangle with inner curve.
Long story short - this should keep ifc for windows valid.
2024-04-15 13:25:51 +02:00
Andrej730
e3b77613d3
Corrected L shapes in window lining after e89a9cd #3271
...
From this - https://i.imgur.com/hQuCcR3.png
To this - https://i.imgur.com/qZ2Lyfo.png
It's a bit hacky since we still use really small offsets to keep "The outer curve shall enclose all inner curves." rule for IfcArbitraryProfileDefWithVoids valid.
2024-04-15 13:25:51 +02:00
Andrej730
61be440545
Disable default stream mode for now to avoid errors #3354
2024-04-15 13:25:51 +02:00
Andrej730
1a7382ef40
Poll message for bim.file_unassociate/bim.file_associate
2024-04-15 13:25:51 +02:00
Andrej730
8a9dcbad2f
Fixed error on saving styles without textures after 3aff29dec
2024-04-15 13:25:51 +02:00
Andrej730
4e1acc7955
Added IFC override operators to outliner/object context menus #3345
...
Outliner context menu - https://i.imgur.com/TkJKbLh.png
Object context menu - https://i.imgur.com/JXOEdYH.png
2024-04-15 13:25:50 +02:00
Dion Moult
9d462dab7d
Docs now point to the popular Search IFC Class website.
2024-04-15 13:25:50 +02:00
Dion Moult
bde5b52495
You can now exclude classes from streaming in ifcopenshell.stream
2024-04-15 13:25:50 +02:00
Andrej730
2fbb3c8ac6
adjust window offset on transoms/mullions for symmetry #3271
...
Before - https://i.imgur.com/DbEzJ9H.png
After - https://i.imgur.com/0CERh86.png
Added it for modifier preview and ifc 2d and 3d repr but still need to work some things in 3d representation (L shape lining is not always detected correctly).
2024-04-15 13:25:50 +02:00
Dion Moult
531dc21d8e
New option to enable streaming IFC data into BBIM.
...
To test, go into add-on preferences and enable "Should Stream". Then load an IFC-SPF in advanced mode, and disable "Load Geometry" before loading (the geometry iterator doesn't work with streaming).
2024-04-15 13:25:50 +02:00
Dion Moult
17582f00cf
Naive implementation of file stream and Lark based IFC-SPF reader to handle huge IFCs.
2024-04-15 13:25:50 +02:00
Andrej730
bc20b4a899
Fixing tests after 2dc9dc200
2024-04-15 13:25:50 +02:00
Andrej730
6d152c4fc4
Support for import IfcSurfaceStyleWithTextures
...
Added UI for adding textures in BBIM shader graph generator
https://imgur.com/a/BI5pOZn
2024-04-15 13:25:50 +02:00
Dion Moult
9beae21615
See #3347 . Hotfix latest IfcOpenShell SQLite features when making builds.
2024-04-15 13:25:50 +02:00
Dion Moult
115bd32846
The BlenderBIM Add-on now supports loading IFCSQLite files!
2024-04-15 13:25:50 +02:00
Dion Moult
304a5594bb
You can now toggle loading geometry in advanced mode when loading a project
2024-04-15 13:25:50 +02:00
Dion Moult
fee6ea52ba
ifcopenshell.sqlite wrapper now handles JSON fields by default, which is significantly more performant
...
f attributes holding entity lists are expanded in SQL, this means that you end up with significantly more rows. Also, you cannot have the ifc_id marked as a UNIQUE field / benefit from unique primary key index. So leaving the fields as JSON is actually significantly more efficient (almost 10X faster to load a model into BBIM).
2024-04-15 13:25:50 +02:00
Dion Moult
af796d5f9d
Ifc2Sql patch now can store inverses for efficient queries.
2024-04-15 13:25:50 +02:00
Andrej730
0a22e8d7c2
Fixed typo in e3a7f7627
2024-04-15 13:25:50 +02:00
Andrej730
46bc71eac9
Fixing bug after 28cc168
...
Was causing some tests to fail
2024-04-15 13:25:50 +02:00
Andrej730
5cb1936412
Avoid ui errors after 2dc9dc200
2024-04-15 13:25:50 +02:00
Andrej730
91fa5b1ec6
Unhide in render for not excluded objects #3338
...
Objects were hidden in render but never unhidden if they were no more in drawing's .Exlcude
2024-04-15 13:25:50 +02:00
Andrej730
48d91dac21
Generating IFC compatible shader graphs
...
Added new panel. in shader graph N-panel that allows you to create fully GLTF and IFC compatible shader graphs by just tweaking parameters from the panel. Note that it's still saved to IFC only when you hit "Save Current Style", before that it's still just stored in blender.
https://imgur.com/a/vmkoLPH
The premise is that if you want to have non-external style you'd be able to create it entirely from this panel - so there will no need to guess or to remember which parameters from the graph are supported by IFC and which are not.
It's still work in progress, still need to polish it, add support for more reflectance methods and add suport for textures (need to be able to import/export it with .ifc and set them from this panel).
2024-04-15 13:25:50 +02:00
Andrej730
ebcc6b534d
Fixed #3342
2024-04-15 13:25:50 +02:00
Andrej730
f79053433f
Set shading flat by default to solve #3336
...
Before blender 3.6 it was setting flat shading by default, so we just keeping the same behaviour.
2024-04-15 13:25:50 +02:00
Thomas Krijnen
20f279dfa3
IFC4X3 codegen #2805
2024-04-15 13:24:59 +02:00
Thomas Krijnen
3266648896
IfcGeom dynamic casting updates #2805
2024-04-15 13:23:11 +02:00
Andrej730
77839efd6a
option to keep the viewport position on activating drawing #3333
...
currently it works with alt clicking activate drawing button
https://i.imgur.com/lgvP4QA.png
2024-04-15 13:03:26 +02:00
Andrej730
7f6cf90759
Fixed #3335 caused by 36b746d
2024-04-15 13:03:26 +02:00
Bruno Postle
7e9cef2d8e
BBIM fix Git panel polling repo on refresh ( #3096 )
...
Just scrolling Git panel shouldn't do any Git IO
2024-04-15 13:03:26 +02:00
Massimo Fabbro
eb225070d3
Add toggle space visibiity button into spatial tool menu
2024-04-15 13:03:01 +02:00
Andrej730
2ac74fb535
refactor with SKIP_SAVE option on operator props
...
Co-Authored-By: Gorgious56 <25156105+Gorgious56@users.noreply.github.com >
2024-04-15 13:03:00 +02:00
Andrej730
89146ea046
More options to save .ifc as relative path in blender
2024-04-15 13:03:00 +02:00
Andrej730
7f10eaa14f
Fixed tests after a4a6dce
2024-04-15 13:03:00 +02:00
Andrej730
4d3ed81971
Fixed test after b035129
2024-04-15 13:03:00 +02:00
Andrej730
5e019bbc42
Fixed test after c8c0c9a
...
Taking into account that now we have error messages if user will try to remove the last material layer which would make layer set invalid ifc.
FAILED test/bim/test_feature.py::test_remove_material_set_layer - AssertionError: Failed to run operator bpy.ops.bim.remove_layer(layer=IfcStore.get_file().by_id(93).MaterialLayers[...
2024-04-15 13:03:00 +02:00
Andrej730
765d52d4e1
Fixed missing ifc file in api call after 28cc168
...
Some bim test was failing because of it
FAILED test/bim/test_feature.py::test_assign_material__material_profile_set - AssertionError: No material Default found in profiled materials: []
2024-04-15 13:03:00 +02:00
Andrej730
07401c4b1c
Fixed void tests after d3d2c36
2024-04-15 13:03:00 +02:00
Andrej730
0f206fe709
Fixing test after 1c12a98
...
FAILED test/bim/test_feature.py::test_export_ifc__with_basic_contents_and_saving_as_a_relative_path - AssertionError: Value is C:\IfcOpenShell\src\blenderbim\test\files\temp\export.ifc
2024-04-15 13:03:00 +02:00
Andrej730
3a0d09a6dc
Small fix related to 5c2ae98c0 and a bit more descriptive operator error
...
FAILED test/bim/test_feature.py::test_create_project__ifc2x3 - AssertionError: Failed to run operator bpy.ops.bim.create_project
2024-04-15 13:03:00 +02:00
Andrej730
5397b95df5
Fixing collections tests related to 99d9c0f5b
...
FAILED test/bim/test_feature.py::test_remove_drawing - AssertionError: The collection "IfcGroup/PLAN_VIEW" does not exist
2024-04-15 13:03:00 +02:00
Bruno Postle
489436449c
BlenderBIM push Git tags to remote
...
Shows error message if push fails
2024-04-15 13:03:00 +02:00
Andrej730
a7283ca538
Fixed duplicated objects collections issue after 586707dd2
...
Duplicated objects were not able to have their own collection after 586707dd2
Also fixed bim test
FAILED test/bim/test_feature.py::test_copy_a_storey - AssertionError: assert 'IfcBuildingStorey/My Storey.001' in ['IfcBuildingStorey/My Storey']
2024-04-15 13:03:00 +02:00
Andrej730
6b0200e1f0
Preserving original name on unlinking
...
Unlinking was using copied object name for the unlinked object instead of the original one.
So it worked like Cube -> IfcWall/Cube -> Cube.001 and bim test was failing:
FAILED test/bim/test_feature.py::test_unlink_object - AssertionError: The object "Cube" does not exist
2024-04-15 13:03:00 +02:00
Andrej730
f45e3b99ca
Fixed couple bugs in test_feature
...
1) Explicitly set empty ifc project not to load demo library - was still loading because it was using my default scene which caused errors.
2) typo in dimension check assertion message
2024-04-15 13:03:00 +02:00
Andrej730
787f9cd7be
Fixing collectors tests after 1f43ec8
2024-04-15 13:03:00 +02:00
Andrej730
ea9457a49f
Fixing tool tests
2024-04-15 13:03:00 +02:00
Andrej730
664d0e0fa6
Fixing core tests
2024-04-15 13:03:00 +02:00
Andrej730
f4067abc42
Fixed import error with filtering out IfcGrid's spatial element #3283
...
Fixed error that was occuring if you try to import .ifc file where spatial element contains only grid and will use advanced mode, filter mode = "IFC Class" and check "Filter Spatial Elements".
Error occured because spatial element was filtered out but then when ifc grid was created and importer to find a spatial element based collection for the grid it couldn't find it.
Traceback:
Error: Python: Traceback (most recent call last):
File "\blenderbim\bim\module\project\operator.py", line 595, in execute
ifc_importer.execute()
File "\blenderbim\bim\import_ifc.py", line 260, in execute
self.place_objects_in_collections()
File "\blenderbim\bim\import_ifc.py", line 1494, in place_objects_in_collections
self.place_object_in_collection(self.file.by_id(ifc_definition_id), obj)
File "\blenderbim\bim\import_ifc.py", line 1498, in place_object_in_collection
self.place_object_in_decomposition_collection(element, obj)
File "\blenderbim\bim\import_ifc.py", line 1517, in place_object_in_decomposition_collection
return self.place_object_in_spatial_decomposition_collection(element, obj)
File "\blenderbim\bim\import_ifc.py", line 1545, in place_object_in_spatial_decomposition_collection
self.collections[container.GlobalId].children.link(grid_collection)
KeyError: '33AiKftFj2aAf2MqQr5Gs7'
2024-04-15 13:03:00 +02:00
Andrej730
ae44957464
Fixed getting filtered spatial elements at import for ifc2x3 #3283
...
In ifc2x3 IfcProject is not IfcContext because there is no IfcContext in ifc2x3 and it was causing the error below on .ifc import with filtered spatial elements.
Also added small refactor
Traceback:
Error: Python: Traceback (most recent call last):
File "\blenderbim\bim\module\project\operator.py", line 595, in execute
ifc_importer.execute()
File "\blenderbim\bim\import_ifc.py", line 253, in execute
self.create_spatial_elements()
File "\blenderbim\bim\import_ifc.py", line 688, in create_spatial_elements
self.create_generic_elements(self.spatial_elements)
File "\blenderbim\bim\import_ifc.py", line 698, in create_generic_elements
products = self.create_products(elements)
File "\blenderbim\bim\import_ifc.py", line 717, in create_products
iterator = ifcopenshell.geom.iterator(settings, self.file, multiprocessing.cpu_count(), include=products)
File "\blenderbim\libs\site\packages\ifcopenshell\geom\main.py", line 99, in __init__
raise ValueError("include and exclude need to be an aggregate of IfcProduct?")
ValueError: include and exclude need to be an aggregate of IfcProduct?
2024-04-15 13:03:00 +02:00
Thomas Krijnen
29fbbc2a02
Remove dependency on bootstrap
2024-04-15 13:03:00 +02:00
Thomas Krijnen
970b71663e
#3120 item_id vector test case
2024-04-15 13:03:00 +02:00
Thomas Krijnen
dc81be8a9a
item_id vector #3120
2024-04-15 13:02:45 +02:00
Andrej730
17ee5e6f43
Getting shader graph nodes by type rather than name #3316
...
Because relying on names doesn't work for non english users
2024-04-15 12:04:44 +02:00
Andrej730
e52e9d4ac0
Fixed error on disabling editing window
2024-04-15 12:04:44 +02:00
Andrej730
3e0adb8dfd
Added button to update current style #3293
...
Example - https://i.imgur.com/f4Yi3MR.png
Now changing style type should be a bit more intuitive - previously there were no button and it wasn't possible to change style type for all selected objects / changing style type for the entire scene were hidden in N-panel Miscellaneous section.
Now it also able to change style type for all blender materials, even the ones that don't have any objects using them (wasn't possible before 7c0c934b4 )
2024-04-15 12:04:44 +02:00
Bruno Postle
d15f7cf88e
BlenderBIM Git merge asymmetry heuristic ( #3096 )
...
`ifcmerge` is asymmetrical. When both branches have new entities, either
local or remote step Ids need to be renumbered to resolve the merge
conflict.
If the remote branch is 'origin/main' or 'main' we preserve remote Ids,
otherwise we preserve local Ids.
This should support a workflow where a local 'main' branch is kept
pristine, but other local branches are treated as disposable; it should
also support a workflow where multiple authors access a shared 'origin'.
2024-04-15 12:04:44 +02:00
Thomas Krijnen
88823943f0
Further defer sql.py imports for ifcopenbot to succeed
2024-04-15 12:04:44 +02:00
Thomas Krijnen
4f387e723b
Comment out import mysql.connector
2024-04-15 12:04:44 +02:00
Thomas Krijnen
5a601f16fd
Correct if-clause
2024-04-15 12:04:44 +02:00
Thomas Krijnen
a7b10a2880
Add test
2024-04-15 12:04:44 +02:00
Totally a booplicate
aced364a08
smol fix
2024-04-15 12:04:44 +02:00
Totally a booplicate
0b2cfc7560
fix missing else clause
2024-04-15 12:04:44 +02:00
Totally a booplicate
dc5a0d4568
raise TypeError on invalid pset
2024-04-15 12:04:44 +02:00
Totally a booplicate
79983e5097
rework unpack_unit_value
...
handle the `None` case, simplify logic
2024-04-15 12:04:44 +02:00
Totally a booplicate
e31047e8c6
improve naming of the new method
2024-04-15 12:04:44 +02:00
Totally a booplicate
182aa3ed01
improve update_existing_properties
...
explicit class check
error out on a not supported type
better methods names
2024-04-15 12:04:44 +02:00
Totally a booplicate
0632c9bf1b
implement _try_purge
...
per review comment about repeating code
2024-04-15 12:04:44 +02:00
Totally a booplicate
cd5baefb55
restructure if/elif/else chain
2024-04-15 12:04:44 +02:00
Totally a booplicate
53dd817d97
support tuples
2024-04-15 12:04:43 +02:00
Totally a booplicate
0ce987f788
move prop check
2024-04-15 12:04:43 +02:00
Totally a booplicate
f4c618701c
per review
...
change exception message
remove TODO
pass `Unit`
raise `NotImplementedError` when no template was found
2024-04-15 12:04:43 +02:00
Totally a booplicate
c186e7120c
resolve TODO
...
This is being fixed, we should always have a class to use
2024-04-15 12:04:43 +02:00
Totally a booplicate
1f89fea569
attempt to improve pset support
...
1. Adds support to directly passed in property entities
2. Adds support for tuples
3. Adds support for P_LISTVALUE
2024-04-15 12:04:43 +02:00
Balázs Dukai
2b71b33c82
Don't use importlib for version
2024-04-15 12:04:43 +02:00
Balázs Dukai
435090e7f1
Get package version from pyproject.toml
2024-04-15 12:04:43 +02:00
Balázs Dukai
4a4186e3ce
Include GenericCityObject extension
2024-04-15 12:04:43 +02:00
Balázs Dukai
fb3c553249
Add parameters
2024-04-15 12:04:43 +02:00
Balázs Dukai
bc3cc94500
Init package
2024-04-15 12:04:43 +02:00
Vasile-Corjan
ffebfca277
Update README.md
2024-04-15 12:04:43 +02:00
Vasile-Corjan
eb67a809ce
Update README.md
...
I have added the parameters "minOccurs" and "maxOccurs"
2024-04-15 12:04:43 +02:00
Dion Moult
e7bb823f15
Run black on existing entity_instance
2024-04-15 12:04:43 +02:00
Dion Moult
aafb905199
Build testing prototype of an SQLite based file / entity_instance.
2024-04-15 12:04:43 +02:00
Dion Moult
35a346e412
Document two answers to frequently reported bugs: missing numpy and blend / ifc out of sync.
2024-04-15 12:04:43 +02:00
Dion Moult
297ac5af3a
Minor geometry processing documentation fix
2024-04-15 12:04:43 +02:00
Dion Moult
ef98bd5120
Convert Ifc2Sql script to IfcPatch recipe and add geometry support
2024-04-15 12:04:43 +02:00
Dion Moult
816efc8810
Fetch pset and qto names via pset data instead of real time to prevent UI lag on larger models.
2024-04-15 12:04:43 +02:00
Dion Moult
0e02c97fc6
Lazily check for BBIM_Railing psets to prevent unnecessarily fetching psets for every element when loading models.
2024-04-15 12:04:43 +02:00
Dion Moult
a572bcfcb9
IfcPatch can now support patches that write to arbitrary files or have no output.
2024-04-15 12:04:43 +02:00
Dion Moult
534247daa1
Fix bug for getting psets of materials and profiles in IFC2X3
2024-04-15 12:04:43 +02:00
Thomas Krijnen
7c6620550a
add assert #3308
2024-04-15 12:04:26 +02:00
Thomas Krijnen
7feeb441ff
#2819 Handle periodic bspline curves in serialization
2024-04-15 11:58:51 +02:00
Sigma Dimensions
e17b9fa111
enable activating object type when trying to select type from an object ( whilst the type is hidden from view layer)
2024-04-15 11:44:56 +02:00
Massimo Fabbro
240f9b0100
Now generate spaces from walls considers also columns in order to create the contours
2024-04-15 11:44:56 +02:00
Thomas Krijnen
cd8bc823c2
#3305 Less pessimistic tolerance comparison in newells method
2024-04-15 11:44:56 +02:00
Thomas Krijnen
1efe5761c0
#3305 one more iteration on lower fuzziness level for boolean ops
2024-04-15 11:44:56 +02:00
Sigma Dimensions
8a108627e4
temporarily hide IFC Spatial Manager for IFC2X3 models
2024-04-15 11:44:56 +02:00
Sigma Dimensions
62b5f080ab
Enable selecting group elements
2024-04-15 11:44:56 +02:00
Sigma Dimensions
2b4c21615b
Enable selecting a container's children from the IFC Spatial Manager panel
2024-04-15 11:44:56 +02:00
Sigma Dimensions
c280bfa7ae
fix replacing material with material profile
2024-04-15 11:44:56 +02:00
Sigma Dimensions
ab19c9ff46
experimental patch of non parametric mep segments
2024-04-15 11:44:56 +02:00
Sigma Dimensions
da41469c43
fix missing import
2024-04-15 11:44:55 +02:00
Sigma Dimensions
ee0dca4898
Move Spatial Manager UI to "IFC Project Set-up"
2024-04-15 11:44:55 +02:00
Sigma Dimensions
2cf50dc48f
split material assign/unassign operators into tool and core
2024-04-15 11:44:55 +02:00
Sigma Dimensions
5ce156bfa9
fix delete material operator
2024-04-15 11:44:55 +02:00
Sigma Dimensions
a38784cdc4
Fix displaying connections for selected distribution ports
2024-04-15 11:44:55 +02:00
Sigma Dimensions
0959a7f6a3
Refactor and re-use common spatial_tool.select_products
2024-04-15 11:44:55 +02:00
Andrej730
a7faa3ec3e
Support external shaders from currently opened blend file
...
Previously it was crashing if you try use shader from current .blend file as external.
I guess we now kind of support external internal shaders 🙃
2024-04-15 11:44:55 +02:00
Andrej730
00a87819e4
switch to external styles for rendered shading in viewport
...
Unfortunately I couldn't find a way to make it work with areas that user created during current blender session. But new areas will have this feature too after blender restart
2024-04-15 11:44:55 +02:00
Andrej730
70eaa1a7df
prioritize external styles on ifc import
...
also found a way to switch shade graph for two materials without juggling active materials and active objects - it was necessary to make it work on import without adding temporary active object
2024-04-15 11:44:55 +02:00
johanrd
9648a51e04
fix typo in README.md
2024-04-15 11:44:55 +02:00
Bruno Postle
4318cec65a
BBIM show all fetched remote Git branches ( #3096 )
2024-04-15 11:44:55 +02:00
Gorgious
eb35157f8f
Fix #3142 : Use Tab hotkey to edit horizontally layered objects
2024-04-15 11:44:55 +02:00
Ahmad Saleem Z
3ebd31a486
added link to aws/lambda guide in installation guide
2024-04-15 11:44:55 +02:00
Ahmad Saleem Z
a152474e6d
fix ARG in Dockerfile
2024-04-15 11:44:55 +02:00
Ahmad Saleem Z
d009188805
documentation
2024-04-15 11:44:55 +02:00
Ahmad Saleem Z
8d17838af1
example fixes
2024-04-15 11:44:55 +02:00
Ahmad Saleem Z
829870a416
added aws/lambda sample
2024-04-15 11:44:55 +02:00
Bruno Postle
c07cb2141e
BlenderBIM operator to add remote repo ( #3096 )
...
Procedure to merge a pull request would be: Add Remote, select the added
remote in the pull-down, Fetch from remote, select the added remote
branch in the pull-down, Merge, delete remote
2024-04-15 11:44:55 +02:00
Dion Moult
ada978ed1f
Toggle between full schema (i.e. all tables for every declaration) and partial schema dump into SQL
2024-04-15 11:44:55 +02:00
Bruno Postle
84cd96a48d
BlenderBIM operator to delete a Git remote ( #3096 )
2024-04-15 11:44:55 +02:00
Bruno Postle
567ad3bf63
BlenderBIM fix warning writing .git/config ( #3096 )
2024-04-15 11:44:55 +02:00
Balázs Dukai
6f6ff416c9
Add copyright
2024-04-15 11:44:55 +02:00
Balázs Dukai
a97cd7ad24
Update to ifcopenshell 0.7.0 and cjio 0.8
...
LoD is string in v1.1
2024-04-15 11:44:55 +02:00
Balázs Dukai
818f77da2b
Update to v1.1 CityObject types
2024-04-15 11:44:55 +02:00
Andrej730
8ac1bc6900
IfcGitData update to ifcgit operators poll() methods
...
Added loading IfcGitData to ifcgit operator's poll() methods because it was getting a bit spammy in console if you don't use git.
Traceback (most recent call last):
File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 255, in poll
if IfcGitData.data["ifcmerge_exe"]:
KeyError: 'ifcmerge_exe'
Traceback (most recent call last):
File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 147, in poll
repo = IfcGitData.data["repo"]
KeyError: 'repo'
Traceback (most recent call last):
File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 18, in poll
path_ifc = IfcGitData.data["path_ifc"]
KeyError: 'path_ifc'
Traceback (most recent call last):
File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 45, in poll
path_ifc = IfcGitData.data["path_ifc"]
KeyError: 'path_ifc'
Traceback (most recent call last):
File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 190, in poll
repo = IfcGitData.data["repo"]
KeyError: 'repo'
Traceback (most recent call last):
File "\scripts\addons\blenderbim\bim\module\ifcgit\operator.py", line 111, in poll
repo = IfcGitData.data["repo"]
KeyError: 'repo'
2024-04-15 11:44:55 +02:00
Andrej730
dfe7421dab
External Styles
...
Added support for external blender styles that will be saved to ifc.
What it basically means that you can append material from external .blend file as a style that can be loaded in your blender material anytime.
1) External style can be added in Material Tab
https://i.imgur.com/BYfesi5.png
Note that you select material name at the right side of file selecting panel:
https://i.imgur.com/mvqaaod.png
2) After adding external style you can switch between external and other surface styles:
https://i.imgur.com/YtCz8an.png
3) There is also option to switch styles to External for all objects in the scene:
https://i.imgur.com/u3zTcX9.png
Some other changes:
- some ui adjustments
- moved functions that create blender shaders to tool.Loader (they also reset shader graph now so it's possible to use them on non-default blender materials)
- some new tools for copying node graph from one material to another, appending data blocks
- new operator for browsing external styles can be reused later to append other data blocks
2024-04-15 11:44:55 +02:00
Dion Moult
a4224b104d
Experimental support for storage of IFC in MySQL and SQLite
2024-04-15 11:44:55 +02:00
D4ve-R
26ea4fd583
Revert "build scripts"
...
This reverts commit 6c1218d352 .
2024-04-15 11:44:52 +02:00
D4ve-R
809f3463f0
build scripts
2024-04-15 11:43:45 +02:00
D4ve-R
fc29710c1d
prepare for referencing
2024-04-15 11:39:21 +02:00
D4ve-R
b915da223d
metersPerUnit
2024-04-15 11:39:21 +02:00
D4ve-R
8723d14aee
usd rotateXYZop
2024-04-15 11:39:21 +02:00
D4ve-R
9b9dce33a1
Update submodule
2024-04-15 11:39:21 +02:00
D4ve-R
7c40ce10e6
fix typo
2024-04-15 11:39:21 +02:00
D4ve-R
7d5024bdf4
refactor
2024-04-15 11:39:21 +02:00
D4ve-R
82438f279f
stage up axis
2024-04-15 11:39:21 +02:00
D4ve-R
448f543e3d
fix filename bug
2024-04-15 11:39:21 +02:00
D4ve-R
b9f2dbb0b3
filename bug
2024-04-15 11:39:21 +02:00
D4ve-R
fca79ddb6c
material subsets
2024-04-15 11:38:40 +02:00
D4ve-R
c8b0b65564
works fine
2024-04-15 11:38:39 +02:00
D4ve-R
38b4a225ad
compile & link successful
2024-04-15 11:37:03 +02:00
D4ve-R
7e090f5709
materials
2024-04-15 11:29:06 +02:00
D4ve-R
c8205b4a9e
Add USDSerializer to IfcConvert
2024-04-15 11:29:01 +02:00
D4ve-R
93042ca1ef
Add USDSerializer write-only
2024-04-15 11:17:03 +02:00
Thomas Krijnen
01ad84901c
#2942 Escape SVG text labels
2024-04-15 11:17:03 +02:00
Nelson Henrique
f31132b24e
implements fileselect to export_cost_schedules
2024-04-15 11:17:03 +02:00
Andrej730
66bd1d0d5f
Fixed small error on disabling editing extrusion axis
2024-04-15 11:17:02 +02:00
Chetan
86c93ac1e7
If an IFC file has an IFCRELASSOCIATESMATERIAL but did not supply an IFCMATERIAL, IfcConvert will crash. This commit prevents the crash, catches the exception and prints an error on the terminal
2024-04-15 11:16:59 +02:00
Dion Moult
2c4227384d
Fix bug where you couldn't unassign inherited materials.
2024-04-15 11:07:37 +02:00
Dion Moult
408115b94b
Fix sync bug where unused styles would be purged when reloading a blender file.
2024-04-15 11:07:37 +02:00
Martin15135215
c5e4914bdf
CITATION.cff for BIMTester
2024-04-15 11:07:37 +02:00
Martin15135215
c50a171ae9
CITATION.cff for ifc5d
2024-04-15 11:07:37 +02:00
Martin15135215
2b72291e71
CITATION.cff for ifc4d
2024-04-15 11:07:37 +02:00
Martin15135215
3765c72684
CITATION.cff for ifc2ca
2024-04-15 11:07:37 +02:00
Martin15135215
f0a4244c77
CITATION.cff for bsdd
2024-04-15 11:07:37 +02:00
Martin15135215
bfcc624249
CITATION.cff for bcf
2024-04-15 11:07:37 +02:00
Bruno Postle
6c45936118
BlenderBIM fix Git error on simple merge ( #3096 )
...
Running git commit after a simple merge (that hasn't required conflict
resolution) is a noop, but generates an annoying message anyway.
2024-04-15 11:07:37 +02:00
Dion Moult
1eb1ba604e
Fix #3272 . See #3069 . Fix incorrect refactoring when I was decoupling collections.
2024-04-15 11:07:37 +02:00
Gorgious56
e5003651ed
Fix error when going out of edit mode with TAB when editing an arbitrary profile
2024-04-15 11:07:37 +02:00
Gorgious56
2008868e0e
Fix profile based geometry not re-generating properly when exiting edit mode and the profile geometry wasn't modified
2024-04-15 11:07:37 +02:00
Martin15135215
d3ea921165
Update author in CITATION.cff
2024-04-15 11:07:37 +02:00
Martin15135215
e32de7350d
CITATION.cff file for BlenderBIM
2024-04-15 11:07:37 +02:00
Thomas Krijnen
5714bd1ec4
take into account edge orientation correctly #3201
2024-04-15 11:07:23 +02:00
Andrej730
374f411b59
ids/classes namespaces for drawings in the sheet #3047
...
Now we add some prefix based on drawing id to each id in the drawing and also add this prefix as a class and add it to all css selectors.
Reason for that so each drawing on the sheet can have it's own set of styles that won't be affecting other drawings.
Example - https://i.imgur.com/kqRCwJW.png
2024-04-15 11:04:27 +02:00
Dion Moult
a4f7da598f
See #3266 . Write documentation on how to use IfcCSV.
2024-04-15 11:04:27 +02:00
Dion Moult
2896c23143
Add support for Pandas DataFrames in IfcCSV and clean up function signatures
2024-04-15 11:04:26 +02:00
Dion Moult
02462c1209
Fix #3264 . Describe IFC to JSON conversion (and other formats) in documentation.
2024-04-15 11:04:26 +02:00
Bruno Postle
482f97961d
BlenderBIM fix Git merge log history ( #3096 )
...
The GitPython commit() method isn't suitable for completing a merge as
it only sets one parent, losing all history from the merged branch.
2024-04-15 11:04:26 +02:00
Thomas Krijnen
236c064849
unreferened param #3255
2024-04-15 11:04:09 +02:00
Gorgious56
9ec43b7d9e
Revert unselect non-ifc object using TAB
2024-04-15 10:59:03 +02:00
Gorgious56
4def4c2445
Fix wall mounted handrail railing modifier not regenerating properly when going out of edit mode with the tab key if the path wasn't modified
2024-04-15 10:59:03 +02:00
Dion Moult
7437f0d20c
Fix #3226 . There is now a faster deletion mode that kicks in for large models and large geometry deletions.
2024-04-15 10:59:03 +02:00
Dion Moult
13b80af97e
See #3226 . New batched remove_deep2() which uses serialisation for faster removal performance on large graphs.
2024-04-15 10:59:03 +02:00
Andrej730
c94adb7980
Fixed #3259
2024-04-15 10:59:03 +02:00
Bruno Postle
641962f0e0
BlenderBIM use git shortlog to summarise merge log
2024-04-15 10:59:03 +02:00
Gorgious56
9180fdce5a
Edit profile based representations with TAB ( #3142 )
...
* You can now edit profile based representations with TAB
* Minor fix
* Minor fix
* You can now edit parametric railing paths with TAB
Still not sure about the implementation though
* use shortcut instead of direct link to railing edition
* Add utility to check if a mesh is profile based or its representation is a swept solid
* Fix bug when trying to edit an empty object
* Prevent editing door, window and stair modifiers since they're fully parameterized by the modifier properties
* You can now edit roof modifier, railing modifier and various profile based objects
* You can now edit axis profile based objects
2024-04-15 10:59:03 +02:00
Andrej730
940d999bf4
Solved #3219
2024-04-15 10:59:03 +02:00
Andrej730
ad4f00648f
Blender curves to IfcIndexedPolyCurve #3233
...
Now blender curves segments saved in IfcIndexedPolyCurves instead of creating individual polygons.
Also changed ShapeBuilder.polyline - now it will try to store points in IfcLineIndex where it's possible (previously it was storing just 2).
2024-04-15 10:59:03 +02:00
Andrej730
2db82371bd
Display units for more pset/qset props #3235
...
Now current project units displayed for area and volume properties too.
https://i.imgur.com/7dgl1pC.png
Also added support for imperial units symbols.
2024-04-15 10:59:03 +02:00
Andrej730
0874320935
small note for unsupported pset prop types
2024-04-15 10:59:03 +02:00
Andrej730
6665dd7e92
Add to scene properties whether we use relative path to .ifc #3251
...
Previously it was stored as operator's prop which is (turned out) reseted on reopening .blend.
2024-04-15 10:59:03 +02:00
Andrej730
4d171c17a8
Small fix for 1f43ec870
...
Was getting this error at project start:
Traceback (most recent call last):
File "\scripts\addons\blenderbim\bim\module\project\operator.py", line 332, in execute
return IfcStore.execute_ifc_operator(self, context)
File "\scripts\addons\blenderbim\bim\ifc.py", line 410, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
File "\scripts\addons\blenderbim\bim\module\project\operator.py", line 345, in _execute
self.import_type_from_ifc(element, context)
File "\scripts\addons\blenderbim\bim\module\project\operator.py", line 374, in import_type_from_ifc
collection_obj = collection.BIMCollectionProperties.obj
AttributeError: 'LayerCollection' object has no attribute 'BIMCollectionProperties'
2024-04-15 10:59:03 +02:00
Andrej730
47ed33cba0
small fix for syntax warning after 4865b62ea
...
SyntaxWarning: "is not" with a literal. Did you mean "!="?
2024-04-15 10:59:03 +02:00
Andrej730
8933478137
Spatial/Structural Tools icons
2024-04-15 10:59:03 +02:00
Andrej730
2ab4213e01
Moving operators to Spatial Tool
...
Changes:
- Moved Shift A "Add boundary" from BIM Tool to Spatial Tool
- Moved Alt B "Show boundaries" from BIM Tool to Spatial Tool
2024-04-15 10:59:03 +02:00
Massimo Fabbro
e7509ccc3f
Fix create spaces from walls z-value ( #3248 )
...
Co-authored-by: Dion Moult <dion@thinkmoult.com >
2024-04-15 10:59:03 +02:00
Massimo Fabbro
98ba75ef52
New toggle space visibility button
2024-04-15 10:59:03 +02:00
Dion Moult
bc76c8497e
You can now get decompositions non-recursively in element utilities
2024-04-15 10:59:03 +02:00
Dion Moult
b5c4b87238
Fix #3069 . (Again) review all occurrences of users_collection and collection.name
2024-04-15 10:59:03 +02:00
Trashman247
e4ec8c40f0
Keep dist-info in compiling brickschema and add persistence extras
2024-04-15 10:59:03 +02:00
Bruno Postle
c995d70ae1
Include commit summary of merged branches ( #3096 )
...
Git merges usually transfer the commit history, but when we resolve a
conflict with a 'mergetool' (ie. ifcmerge), this history is lost,
everything is squashed into a single commit. Now a summary of the
merged changes is appended to the merge message.
2024-04-15 10:59:03 +02:00
Bruno Postle
b2568fd343
Display multi-line commit and tag messages ( #3096 )
2024-04-15 10:59:03 +02:00
Sigma Dimensions
cf6be5dd18
Add a banner to ifcopenshell README
2024-04-15 10:59:03 +02:00
Bruno Postle
2738aa571a
Operator to delete a Git tag ( #3096 )
2024-04-15 10:59:03 +02:00
Bruno Postle
3bdf1a170a
Operator to view selected object Git history #3096
...
A new BlenderBIM > Git History side-panel to show the raw Git log
for the step entity of the selected object
2024-04-15 10:59:03 +02:00
Sigma Dimensions
f8f1ba0ae8
Prototype Building Storey Manager #3246
2024-04-15 10:59:02 +02:00
Sigma Dimensions
607172c51d
fix draw_project_not_saved_ui for BIM documentation
2024-04-15 10:59:02 +02:00
Andrej730
58ea6d7de9
same generate_pset_templates.py for ifcopenshell and ifc dev repos
...
same script will be easier to maintain
2024-04-15 10:59:02 +02:00
Andrej730
98cc0336ec
Fixed validation errors in pset templates library
...
- missing project and IfcRelDeclares guids
- missing RelatingContext in IfcRelDeclares
2024-04-15 10:59:02 +02:00
Andrej730
ce8379b8f7
Fixed missing PrimaryMeasureType for P_LISTVALUE in pset templates #3236
...
For some reason there is also was missing PrimaryUnit in IFC2X3. But it's unrelated to the changes from this commit (generating pset templates before this commit already has PrimaryUnit there).
2024-04-15 10:59:02 +02:00
Sigma Dimensions
157d7d3c02
You can now review and assign currencies from the Cost Schedule Panel
2024-04-15 10:59:02 +02:00
Sigma Dimensions
1d13edd747
Display currency on cost item values and total cost
2024-04-15 10:59:02 +02:00
Andrej730
f4344b9e75
Placeholders for spatial and structural tools
2024-04-15 10:59:02 +02:00
Andrej730
a57f9e984b
Tests for external svg references
2024-04-15 10:59:02 +02:00
Trashman247
7a2c6c4b5f
Update Makefile
2024-04-15 10:59:02 +02:00
Sigma Dimensions
9c707977a3
auto refresh tasks assigned to products when filtering by active schedule
2024-04-15 10:59:02 +02:00
Sigma Dimensions
362409cdcb
fix removing cost item value
2024-04-15 10:59:02 +02:00
Sigma Dimensions
6e3acd8c4a
BBIM 5D: Various Cost Schedule UI Improvemements
2024-04-15 10:59:02 +02:00
Thomas Krijnen
8d5911e8aa
fix syntax error on gcc
2024-04-15 10:59:00 +02:00
Thomas Krijnen
5f7b07ab4c
typename :(
2024-04-15 10:57:46 +02:00
Thomas Krijnen
b33f5e19b7
eliminate_narrow_operands() #3141
2024-04-15 10:55:29 +02:00
Thomas Krijnen
5566be0b20
Fix IfcFile::getInverse<T>()
2024-04-15 10:38:02 +02:00
Andrej730
c930eb7603
References for adding external svgs to the sheets
...
It works exactly the same as schedules - you add some .svg file, path to it stored in ifc and you can attach it to the sheet.
UI - https://i.imgur.com/tGbCGBb.png
Still need to add some tests for references
2024-04-15 10:34:50 +02:00
Sigma Dimensions
87673b0784
Use util.element.get_predefined_type() #065bda6
2024-04-15 10:34:50 +02:00
Sigma Dimensions
2a791eef52
Run costing tests and rename changed methods
2024-04-15 10:34:41 +02:00
Dion Moult
5f4fef42ac
See #3069 . Continued refactoring to not rely on users_collection[0].
2024-04-15 10:34:41 +02:00
Dion Moult
6e57cbcf81
See #3069 . More cleanup moving away from collection names and assumed single collections.
2024-04-15 10:34:41 +02:00
Dion Moult
4f15ec1f67
Fix regressions after making aggregate based on selected objects.
2024-04-15 10:34:41 +02:00
Dion Moult
804dbee2c3
Fix #3069 . WARNING: dangerous change. Objects that have their own collection now have a pointer to that collection. This fixes a variety of subtle sync bugs.
2024-04-15 10:34:41 +02:00
Andrej730
d2d6a9e7d4
Remove test to reproduce #3169 as irrelevant
2024-04-15 10:34:41 +02:00
Andrej730
0dfb34a730
Added test to cover 2629172ff
2024-04-15 10:34:41 +02:00
Andrej730
c94c580282
Fixed bug with saving data to Pset_StairFlightCommon not in project units
2024-04-15 10:34:41 +02:00
Massimo Fabbro
8e8c9d4170
Remove old patch file
2024-04-15 10:34:41 +02:00
Massimo Fabbro
f7c83df793
Move the recipe into the blenderbim script folder and rewrite it as a script
2024-04-15 10:34:41 +02:00
Massimo Fabbro
512abbec7c
IfcPatch ReplaceDrawingPath recipie improved: now it's possible to use it on Linux and on Windows
2024-04-15 10:34:41 +02:00
Massimo Fabbro
3204c130eb
Now it's possible to fix drawing reference path problem saved in Windows and opened in Linux
2024-04-15 10:34:41 +02:00
Thomas Krijnen
3413a046f4
More informed invalid shape reporting
2024-04-15 10:34:41 +02:00
Thomas Krijnen
5d4b01e10f
apply boolean results in batches as well #3201
2024-04-15 10:34:24 +02:00
Thomas Krijnen
16e6cf86b6
approximate circular sharp corners #3201
2024-04-15 10:28:35 +02:00
Sigma Dimensions
9a02fc02db
Exporting cost schedules opens the folder directory
2024-04-15 09:59:58 +02:00
Andrej730
aa63055a46
Displaying project units for length values in psets and qsets
...
Examples:
- https://i.imgur.com/ww7MJ7w.png
- https://i.imgur.com/N1rOELc.png
2024-04-15 09:59:58 +02:00
Andrej730
01d639e2e2
Railing, Door Modifiers - project units props
...
Example - https://i.imgur.com/SJOQMMm.png
2024-04-15 09:59:58 +02:00
Andrej730
226e0f9b13
black format
2024-04-15 09:58:27 +02:00
Andrej730
9be09ef443
maintaining same roof thickness for different rafter edge angles
...
PS roof code is not getting simpler to work with 🥲
2024-04-15 09:58:26 +02:00
Dion Moult
a597c171a7
Removing authoring mode which was an outdated concept.
2024-04-15 09:58:26 +02:00
Dion Moult
1f2f245671
Fix #3163 . Use text in lieu of inability to use URIReferences in drawing pset.
2024-04-15 09:58:26 +02:00
Sigma Dimensions
eba0525143
Cost schedule name label now shows the predefined type
2024-04-15 09:58:26 +02:00
Dion Moult
cc12c388c4
Fix #3120 . Don't remove doubles as it may break mesh manifoldness.
2024-04-15 09:58:26 +02:00
Dion Moult
30bff7e9c5
Fix #3113 . Support regex in selector filter values.
2024-04-15 09:58:26 +02:00
Andrej730
958729c9a6
rafter edge angle and roof thickness #3092
...
Added option to adjust rafter edge angle and roof thickness
Short demonstration - https://imgur.com/a/TsYSs6i
2024-04-15 09:58:26 +02:00
Andrej730
8b805e507a
Roof modifier - asymmetrical gable #3093
...
Example - https://i.imgur.com/EHaSt16.png
2024-04-15 09:58:26 +02:00
Dion Moult
d611db0999
Close #3139 . Bump IfcOpenShell.
2024-04-15 09:58:26 +02:00
Dion Moult
2e143f65d9
Fix #3211 . Generated fills now are siblings to the element that they void.
2024-04-15 09:58:26 +02:00
Andrej730
a37585707e
Schedule Builder - text/background color support #3154
2024-04-15 09:58:26 +02:00
Andrej730
f7b911faed
separate ifc text literals in svg with newline #3207
2024-04-15 09:58:26 +02:00
Dion Moult
16582e2691
Fix #3212 . Bug where viewport camera bisection didn't have enough tolerance and sometimes wasn't visible.
2024-04-15 09:58:26 +02:00
Dion Moult
228cce74ac
Fix #3209 . Handle loading of custom scales, fix incomplete NTS implementation, and use Lark for more reliable imperial scale parsing.
2024-04-15 09:58:26 +02:00
Andrej730
91567e93cc
Fixed Stair annotation bug introduced in 762299124
...
in 762299124 I've changed number of segments and verts but never adjusted StairDecorator - so it wasn't drawing parts of the annotation
2024-04-15 09:58:26 +02:00
Andrej730
e96916dbc6
Optimized iteration over objects for viewport annotations #3198
...
This commit should increase viewport annotations performance significantly on large projects. Described in #3198
2024-04-15 09:58:26 +02:00
Dion Moult
0a3b9c4e2b
Fix #3210 . Revert "BBIM Drawings: Exclude ifc objects hidden from render view"
...
This reverts commit 6f39648077 .
2024-04-15 09:58:26 +02:00
Dion Moult
4d01dfe379
Fix #3138 . Remove manual copy class and be more intelligent about what classe can be reassigned.
2024-04-15 09:58:26 +02:00
Andrej730
6169b44fbd
Same distance function for viewport and svg #1321 #3198
2024-04-15 09:58:26 +02:00
Dion Moult
2b424f3d7d
Fix #3200 . Bug where include / exclude filters could break the drawing.
2024-04-15 09:58:26 +02:00
Sigma Dimensions
1bf83ab0b9
BBIM Drawings: Exclude ifc objects hidden from render view
2024-04-15 09:58:26 +02:00
Sigma Dimensions
65f1bff957
Ctrl+P and Alt+P BIMTool Hotekys to assign/unassign aggregation
2024-04-15 09:58:26 +02:00
Bruno Postle
510e157775
Select new/changed objects in visual diff ( #3096 )
...
When visualising differences between current/selected revision,
new/changed objects are selected as well as colourised
2024-04-15 09:58:26 +02:00
Bruno Postle
8e605adbcc
Fix checkout version equivalent to a remote HEAD
2024-04-15 09:58:26 +02:00
Dion Moult
5ff75569a0
See #3184 . Preserve parametric layerset axis direction hints when changing types.
2024-04-15 09:58:26 +02:00
Dion Moult
7f7151288f
Fix #2106 . You can now assign an opening to another element.
2024-04-15 09:58:26 +02:00
Dion Moult
566ea1c283
Fix #3050 . Unlinking now gives you an option to delete as well.
2024-04-15 09:58:26 +02:00
Dion Moult
6537d9dd71
Fix #3169 . Don't allow the user to create invalid material sets without items.
2024-04-15 09:58:26 +02:00
Dion Moult
1aae597da5
See #3169 . Fix bug where non walls and slabs didn't get semantic classes in drawings.
2024-04-15 09:58:26 +02:00
Andrej730
74d5d20d07
Revision Clouds - new annotation type
...
Short demonstration - https://github.com/IfcOpenShell/IfcOpenShell/assets/9417531/90c9b458-0bae-40a2-9eee-d748e57c24a3
Curently it doesn't have any special representation in viewport and it doesn't have any customisable parameters.
You might get come across error "Revision cloud edges must form just 1 polygon" - it means your edges either don't form any polygon or form 2 or more, both cases are not supported.
2024-04-15 09:58:26 +02:00
Dion Moult
1b261304eb
Fix #3202 .
2024-04-15 09:58:26 +02:00
Dion Moult
8bd77b3663
New get_shape_matrix utility.
2024-04-15 09:58:26 +02:00
Dion Moult
43bfd51ccb
Fix #3181 .
2024-04-15 09:58:26 +02:00
Bruno Postle
e4ff87cb01
BBIM Ensure LF end-of-line in Git repo ( #3096 )
...
Git auto text detection seems to fail with IFC files, possibly due to
long lines. So we now force detection as text which ensures conversion
from CRLF to LF when adding to the repository. We also convert the local
IFC file to LF otherwise Git thinks that the local file is out-of-sync
with the repo version ¯\_(ツ)_/¯
2024-04-15 09:58:26 +02:00
Andrej730
b171dc6146
Small documentation note
2024-04-15 09:58:26 +02:00
Andrej730
218b67bc5c
Procedurally generating list of props for shading styles to cover more props
...
If it will be too much we still have option to exclude some of them
2024-04-15 09:58:26 +02:00
Gorgious56
bf9df2897c
Remove the cryptic (and slightly annoying) console warning logs when trying to display the type manager when there is no element type in the file
2024-04-15 09:58:26 +02:00
Gorgious56
66161518df
Fix annoying tooltip when using the eyedropper to copy a type
2024-04-15 09:58:26 +02:00
Andrej730
0d3c0b7a03
Fixed problem with ifccsv set_element_key #3192
...
Currently "type" attribute in selector returns something like "#71=IfcWallType('20jY5HfLH4LBwMrDEoTdML',$,'WAL100',$,$,$,$,$,$,.NOTDEFINED.)" when the code was expecting the class name like "IfcSlab" or "IfcWall". Changed it to "class" atribute that returns just class name.
2024-04-15 09:58:25 +02:00
Andrej730
52302841d9
Window Modifier - support typing units in props
...
Example - https://i.imgur.com/C99RRs9.png
2024-04-15 09:58:25 +02:00
Andrej730
50e393675a
More descriptive exception for reassign_class #3192
...
Added it because there was no error handling here anyway and later there was another UnboundLocalError:
for attribute in declaration.all_attributes():
UnboundLocalError: local variable 'declaration' referenced before assignment
2024-04-15 09:58:25 +02:00
Andrej730
865d755730
Stair Modifier - support typing units in props
...
Example - https://i.imgur.com/XQsVge1.png
2024-04-15 09:58:25 +02:00
Andrej730
880dcb7fcf
Array Modifier - support typing units in props
...
Example - https://i.imgur.com/a0r0vUs.png
Also accidentally fixed input_cursor_array not working properly for projects with non-meters units.
2024-04-15 09:58:25 +02:00
Andrej730
dc698f7116
Small error message on aggregating objects
2024-04-15 09:58:25 +02:00
Dion Moult
983f78c3a5
Fix #3193 . Revert "partially addresses #3103."
...
This reverts commit 1b2ab4e3f0 .
2024-04-15 09:58:25 +02:00
Dion Moult
122e17d5b5
Fix #3086 .
2024-04-15 09:58:25 +02:00
Gorgious
e6a90d6786
Using the eyedropper on a type automatically sets the type and validates assign_type. However it does display an annoying message saying the value was not set, I don't know how to get rid of it.
2024-04-15 09:58:25 +02:00
Gorgious
bb2ee957e9
You can now eyedrop an object in the 3D viewport to fill in its class in the type selector
2024-04-15 09:58:25 +02:00
Gorgious
c7381c8092
Fix Relating type enum not correctly initializing
2024-04-15 09:58:25 +02:00
Gorgious
db283eb137
The type manager now switches to the type when clicking on the "select type" button. Duplicating a type also changes the active type in the type manager
2024-04-15 09:58:25 +02:00
Gorgious
62f2144245
Selecting types and instances now show a helpful tooltip when the object is not selectable (due to being hidden or in a hidden collection)
2024-04-15 09:58:25 +02:00
Gorgious
9d9d1660ff
You can now duplicate a type from the properties panel
...
+ change the "paste" icon for the "duplicate" icon
2024-04-15 09:58:25 +02:00
Gorgious
4843068458
"Select instances" button is now grayed out when the type doesn't have any instance
2024-04-15 09:58:25 +02:00
Bruno Postle
3884260bcf
BlenderBIM set gitattributes and autocrlf
...
Force Git to always treat IFC files as text.
Store IFC in Git with LF line-endings, but checked-out files are
CRLF on Windows.
2024-04-15 09:58:25 +02:00
Andrej730
27655dcf35
Roof modifier - more descriptive errors on invalid footprints #3171
2024-04-15 09:58:25 +02:00
Andrej730
b66fac5041
Default material layer thickness for adding new layers
...
Same as when you create IfcMaterialLayerSet
2024-04-15 09:58:25 +02:00
Andrej730
9b221452d5
UI problem with creating empty material layer set causing issues #3169
...
Now it's also possible to select some material that will be used for they first layer of material layer set.
2024-04-15 09:58:25 +02:00
Ryan Schultz
e94350db93
bulk assignment of objects to an aggregate.
2024-04-15 09:58:25 +02:00
Andrej730
e7510231d5
Added a descriptive error on attempt of deleting last material layer
2024-04-15 09:58:25 +02:00
Andrej730
63b394109b
Fixed error loading .ifc and activating view for drawing with underlay
2024-04-15 09:58:25 +02:00
Ryan Schultz
1fafc42d36
partially addresses #3103 .
2024-04-15 09:58:25 +02:00
Sigma Dimensions
6e41a25953
fix contracting/expanding schedule of rates
2024-04-15 09:58:25 +02:00
Sigma Dimensions
5e5d4f57f4
Fix selecting unassigned work/cost schedule products
2024-04-15 09:58:25 +02:00
Sigma Dimensions
9e0f1db6dc
small fix for work schedule derived start/end dates
2024-04-15 09:58:25 +02:00
Sigma Dimensions
4950f249b6
BBIMD: enable deleting sequence relationships from list of predecessors/successors
2024-04-15 09:58:25 +02:00
Sigma Dimensions
f81b8eae87
remove annoying print statement
2024-04-15 09:58:25 +02:00
Sigma Dimensions
53aa7a8abb
ios api task fix: remove orphan IfcRelNests when deleting tasks
2024-04-15 09:58:25 +02:00
Sigma Dimensions
24af5b8904
BBIM D: Copy cost items, export Cost Schedules individually, start improving Cost Schedule UI
2024-04-15 09:58:25 +02:00
Sigma Dimensions
b1e5e1914e
Easier grouping of materials by allowing material attributes editing from the IfcMaterial subpanel in the scene properties tab
2024-04-15 09:58:25 +02:00
Bruno Postle
2c69e3c44c
Allow missing/broken GitPython
...
`import git` can fail badly with a broken xcode installation, so
we let blenderbim run anyway
2024-04-15 09:58:25 +02:00
Bruno Postle
a8d20717cb
Fix merging of remote branches ( #3096 )
...
You can now 'clone' a remote repository and 'push' to it. There is no 'pull'
functionality because this can fail badly, so there is a 'fetch' which
retrieves all remote branches without merging (and never fails). The
user can then select the remote branch in the branch pull-down and merge
it.
2024-04-15 09:58:25 +02:00
Andrej730
f7b2a68ed3
Detect BBIM railings at import to import as meshes not curves #3144
...
Sometimes railing could consist just of one IFCSWEPTDISKSOLID then it will be considered native swept disk solid and imported as a curve.
But when user create BBIM railing they edit it as a mesh and curve might look a bit different. Therefore we detect it now at import to make sure it's going to be reprsented the same way as it was saved.
2024-04-15 09:58:25 +02:00
Andrej730
3601a1d43b
Reset active drawing id if we removed the active drawing
...
Previously there was an error if you remove all drawings:
```
Traceback (most recent call last):
File "\addons\blenderbim\bim\module\drawing\ui.py", line 182, in draw
DrawingsData.load()
File "\addons\blenderbim\bim\module\drawing\data.py", line 106, in load
"active_drawing_pset_data": cls.active_drawing_pset_data(),
File "\addons\blenderbim\bim\module\drawing\data.py", line 134, in active_drawing_pset_data
drawing = ifc_file.by_id(bpy.context.scene.DocProperties.active_drawing_id)
File "\addons\blenderbim\libs\site\packages\ifcopenshell\file.py", line 326, in by_id
return self[id]
File "\addons\blenderbim\libs\site\packages\ifcopenshell\file.py", line 314, in __getitem__
return entity_instance(self.wrapped_data.by_id(key), self)
File "\addons\blenderbim\libs\site\packages\ifcopenshell\ifcopenshell_wrapper.py", line 4517, in by_id
return _ifcopenshell_wrapper.file_by_id(self, id)
RuntimeError: Instance #1 077 not found
```
2024-04-15 09:58:25 +02:00
Andrej730
af2e0b07c3
fixed neg values in format_distance & section/plan level #3175
2024-04-15 09:58:25 +02:00
Andrej730
9403b8cbf0
Added default Model/Annotation/PLAN_VIEW to support e68fdb2db
2024-04-15 09:58:25 +02:00
Andrej730
afda99d2f4
Test that drawing styles are loaded
2024-04-15 09:58:25 +02:00
Andrej730
4f8851f007
Fixed error on rebuilding sheet with underlays
...
Also added description and more clear name for `bim.open_sheet`
Error was:
```
Error: Python: Traceback (most recent call last):
File "\addons\blenderbim\bim\module\drawing\operator.py", line 82, in execute
IfcStore.execute_ifc_operator(self, context)
File "\addons\blenderbim\bim\ifc.py", line 410, in execute_ifc_operator
result = getattr(operator, "_execute")(context)
File "\addons\blenderbim\bim\module\drawing\operator.py", line 1177, in _execute
del raster_references[reference.Location]
TypeError: list indices must be integers or slices, not str
```
2024-04-15 09:58:25 +02:00
Andrej730
c37b71a3d3
Update drawing styles on changing Underlay checkbox #3172
2024-04-15 09:58:25 +02:00
Bruno Postle
fabfa6ad7a
Git remote fetch and push operations ( #3096 )
2024-04-15 09:58:24 +02:00
Ryan Schultz
bda25b7932
allow elevations to show negative values
...
removed RL - not standard throughout the world
2024-04-15 09:58:24 +02:00
Andrej730
a07d782683
Added test scenario to reproduce #3169
...
Can be easily called with `pytest .\test\bim\test_feature.py -k "issue"`
Commented some lines out to make sure it doesn't interrupt someone's test process.
Need to uncomment `When I press "bim.create_drawing"` if you want to see if it freezes for you.
You can also uncomment `And I save sample test files and open in blender` to see the freeze manually in Blender client.
2024-04-15 09:58:24 +02:00
Andrej730
ce9769b1e1
Test to cover drawing maintaining sheet position #3155
...
Updated to gitignore to include some new folders that are created during tests
2024-04-15 09:58:24 +02:00
Andrej730
2d67950503
3d annotations for FALL, SECTION_LEVEL, PLAN_LEVEL #3145
...
Before that commit if you created those types of annotations and then reopened .ifc file (without .blend) then you would lose their z coordinate and therefore would lose their value (because they were created previously as 2d annotations).
Now those annotations created as 3d to avoid that problem. I've also added temporary fallback that will turn your existing annotations to 3d next time you edit them.
2024-04-15 09:58:24 +02:00
Andrej730
9c9b8b265c
Maintaining drawing's sheet position on raster x/y changes #3155
...
Example - https://i.imgur.com/uiNWhIq.png
2024-04-15 09:58:24 +02:00
Andrej730
00a1699eab
More consistent PlanLevel and SectionLevel in viewport and svg
...
Now it's using first vert instead of last to calculate height (same way svgwriter does it)
2024-04-15 09:58:24 +02:00
Andrej730
e06fa6267e
Showing decorations on activating view #3146
2024-04-15 09:58:24 +02:00
Andrej730
539d218b25
AngleDecorator - changed edges / arc colors
...
Now angle annotation edges (not the arc itself) are greyed out when you're not editing them - that way they won't draw unnecessary attention. When you're in edit mode they'll appear white and the angle arc will appear blue.
Demo - https://imgur.com/a/lsgp9G4
2024-04-15 09:58:24 +02:00
Andrej730
1ec50fb125
Positioning AngleDecorator text at the center of the arc
...
Before - https://i.imgur.com/0VxFkg9.png
After - https://i.imgur.com/ibDnlbE.png
2024-04-15 09:58:24 +02:00
Andrej730
5ac6b1cd87
More smoothed lines for annotations with angles and circles
2024-04-15 09:58:24 +02:00
Andrej730
ec39cdfc6d
Added some tests for changing ifc text
2024-04-15 09:58:24 +02:00
Andrej730
0c0906d06a
Fixed bug with annotations update #3159
...
toggleDecorations was interrupted because it was trying to update text for non text element
2024-04-15 09:58:24 +02:00
Andrej730
ae0ae76ee6
Fixing bug with changing text size #3159
...
Bug appeared after 046940f but it was there before - it was just kind of compensated by the other bug.
Because of that bug blender text size value was reupdated before saving it to pset therefore pset never received a new value.
Also added some refactor, planned to write some test to get this error covered.
2024-04-15 09:58:24 +02:00
Andrej730
87dba7c066
Fixed ifc text annotation preview not showing during edit #3159
...
Error was:
```
Traceback (most recent call last):
File "\scripts\addons\blenderbim\bim\module\drawing\decoration.py", line 1899, in __call__
decorator.decorate(context, obj)
File "\scripts\addons\blenderbim\bim\module\drawing\decoration.py", line 1451, in decorate
self.draw_text(context, obj)
File "\scripts\addons\blenderbim\bim\module\drawing\decoration.py", line 540, in draw_text
symbol = text_data["Symbol"]
KeyError: 'Symbol'
```
2024-04-15 09:58:24 +02:00
Andrej730
6aa372d2b6
Schedule Builder - some naive support for font size in text #3154
2024-04-15 09:58:24 +02:00
Andrej730
e8fc86a041
Schedule Builder - support for bold and italic text in cells #3154
2024-04-15 09:58:24 +02:00
Andrej730
c51c3e5e3c
Schedule builder - fixing cell alignment #3154
...
Noticed that it's actually not merging cell style with col style as I did before but just prioritizing cell style if it's defined
2024-04-15 09:58:24 +02:00
Andrej730
26a3fe8a5d
Schedule cells limit without print range to prevent system freeze
...
What I've found that sometimes you might get into situation (especially if .ods was created / processed in Excel) you might get a lot unnecessary columns and rows (in fact excel always seems to save 1048576x16384 table) and trying to print this kind of table results in investing a lot of RAM into it and possible system freeze.
Now there is a check if table has more than 10000 cells (number is completely made up 😁 ) then it would require user to define print range in the table to prevent the issue.
2024-04-15 09:58:24 +02:00
Andrej730
e5add946fe
Scheduler builder enhancements #3154
...
Now it supports
1) print ranges - in svg you'll get only the part that's included in print-range.
2) children styles - sometimes cells inherit center alignment from column styles and before that commit text wouldn't be centered in svg in that case
3) repeating rows support
2024-04-15 09:58:24 +02:00
Andrej730
91387b3aa8
Saving drawing shading styles to ifc #2991
...
Now shading styles are stored in ifc. It's actually stored in json file (by default it's in projects "assets/shading_styles.json") and the path to it saved in `EPset_Drawing.ShadingStyles`.
Current shading styles is stored in `EPset_Drawing.CurrentShadingStyle`.
This change could potentially cause problems but I've added some temporary fallback to make sure `EPset_Drawing.ShadingStyles` will be set to some default path and default shading styles will be copied to the project's folder.
2024-04-15 09:58:24 +02:00
Bruno Postle
046a356915
BlenderBIM Git clone repository operator ( #3096 )
2024-04-15 09:58:24 +02:00
Gorgious
5e6ffd9ab6
use tool module instead of local function to activate object
2024-04-15 09:58:24 +02:00
Bruno Postle
8b85875b45
BlenderBIM Git tagging documentation
2024-04-15 09:58:24 +02:00
Bruno Postle
a4e9f304d9
BlenderBIM list and create git tags #3096
2024-04-15 09:58:24 +02:00
Andrej730
41ef46cb88
Multiline in dimension description / suffix / prefix #3005
...
Also added some offset for dimension text in viewport to make it more similar to svg
2024-04-15 09:58:24 +02:00
Andrej730
dff88c7560
Option to add prefix and suffix to dimension annotation #3005
...
Example - https://imgur.com/a/0NkStWm
2024-04-15 09:56:51 +02:00
Andrej730
6e290d585e
Ifc CSV Export template now also saves the expression #3034
...
Previously saved templates wouldn't work now, they need to be either recreated or modified to make them work.
Example of old template format:
`["Name", "class", "type.Name"]`
Example of new template format:
`{"expression": ".IfcDoor", "attributes": ["Name", "class", "type.Name"]}`
Note that this would work too:
`{"attributes": ["Name", "class", "type.Name"]}`
2024-04-15 09:56:51 +02:00
Andrej730
03e373aaff
Not all curve annotation types were detected at the import #3090
2024-04-15 09:56:51 +02:00
Gorgious
4f47366976
Fix #3128 : RefLatitude and RefLongitude attributes now show their description on right click + add a snippet to tell the user how to format the values
2024-04-15 09:56:51 +02:00
Bruno Postle
957bcaa21b
Report ifcmerge conflicts in pop-up #3096
2024-04-15 09:56:51 +02:00
Kristoffer Andersen
1a86752ed0
Update meta.yaml
...
pin daily conda builds to occt 7.7.0
2024-04-15 09:56:51 +02:00
Gorgious56
078e50423f
Fix typo in get_pset docstring
2024-04-15 09:56:51 +02:00
Andrej730
436f81d137
Migrating shaders to builtins to support M1 #2897
...
Migrated all shaders from geometry shaders to builtins (all geometry data now calculated in python before passing to shader) to make them more reliable and support Metal backend on Mac M1 (tested that it works - both annotations and gizmo).
The current downside is that there is no more custom frag shaders too - meaning we do not support dashed lines in the annotations (currently Hidden and Grid just use a bit less bright annotation color).
2024-04-15 09:56:51 +02:00
Bruno Perdigão
edd5686c13
changed custom scale input
2024-04-15 09:56:51 +02:00
Bruno Postle
838b0b04fb
Selecting a git revision updates info box
2024-04-15 09:56:51 +02:00
Sigma Dimensions
da5b9e2b22
Fix task json issue due to "Bad control character in string literal in JSON at position XXXX"
2024-04-15 09:56:51 +02:00
Sigma Dimensions
f6a6201c30
Convenient Pie Menu shortcut to aggregate selected objects to active object
2024-04-15 09:56:51 +02:00
Sigma Dimensions
da13f4cb46
fix toggle_cost_item_parent
2024-04-15 09:56:51 +02:00
Sigma Dimensions
607cb253d2
Fix baseline gantt chart bug when new tasks are added to the planned schedule
2024-04-15 09:56:51 +02:00
Dion Moult
dff827db59
Minor improvements to shape utility.
2024-04-15 09:56:51 +02:00
Dion Moult
c5154ec594
See #2673 . Bundle IfcTester for PyPI.
2024-04-15 09:56:51 +02:00
arun
3ea7e28b12
corrected get_extrusions function
2024-04-15 09:56:51 +02:00
Dion Moult
3b66822fe2
Add shape utility to easily get profiles and extrusions
2024-04-15 09:56:38 +02:00
Bruno Postle
d7a74dd6a4
BlenderBIM ifc file association (linux only) #2399
2024-04-15 09:56:38 +02:00
Bruno Postle
b987d5ca7c
Rename blenderbim.sh, better initialisation #2399
2024-04-15 09:56:38 +02:00
Dion Moult
b8431a8c33
Fix failing tests in preparation for release.
2024-04-15 09:56:38 +02:00
Dion Moult
89310d19cb
Fix #3084 . Issue where drawings with no elements couldn't be generated.
2024-04-15 09:56:38 +02:00
Sigma Dimensions
769dd6c09a
fix test-related sequence bug
...
Fix baseline gantt chart bug
2024-04-15 09:56:38 +02:00
Sigma Dimensions
eb29543d24
Fix baseline gantt chart bug when new tasks are added to the planned schedule
2024-04-15 09:56:38 +02:00
Sigma Dimensions
0b9e7af325
BBIM4D: Enable filtering by active work schedule when retrieve tasks related to objects
2024-04-15 09:56:38 +02:00
Sigma Dimensions
e25c43879f
Auto-refresh task sorting
2024-04-15 09:56:38 +02:00
Bruno Postle
8add979bf3
Basic user documentation for BlenderBIM Git functionality ( #3096 )
2024-04-15 09:56:38 +02:00
Dion Moult
8b173e5b4d
Fix fundamental bug where area and volume units were ignored on new projects.
2024-04-15 09:56:38 +02:00
Andrej730
5bc181a2cf
Small addition to 8c302ed85
2024-04-15 09:56:38 +02:00
Andrej730
06a6d7cacd
Changed x_angle subtype to degrees
...
Now BIMModelProperties.x_angle stores data in radians internally but for user it still appears as degrees
2024-04-15 09:56:38 +02:00
Dion Moult
0a637ea4fa
See #1676 . Fix space boundary generation for IFC4 RV where openings are already subtracted from the body.
2024-04-15 09:56:38 +02:00
Dion Moult
b7e61ad10b
Accommodate invalid named units when loading IFCs.
2024-04-15 09:56:38 +02:00
Dion Moult
3e9f1f7d5c
See #3085 . Don't bundle numpy as Blender already has it and it causes conflicts.
2024-04-15 09:56:38 +02:00
Andrej730
059b717bf3
Updating BIM Tools props on active object change #3102
...
Updating extrusion_depth, length and x_angle on active object change. Shouldn't be too expensive and that way it'll be more consistent with Blender UI.
2024-04-15 09:56:38 +02:00
Andrej730
10e442188b
Fallback to abs path adding schedule rel path is not available #3106
2024-04-15 09:56:37 +02:00
Andrej730
6d14fcdac6
Updating drawing's size on sheet to match it's scale #2965
2024-04-15 09:56:37 +02:00
Massimo Fabbro
39d8a9871b
Now it's possible to regenerate a space that it was created automatically from walls
2024-04-15 09:56:37 +02:00
Sigma Dimensions
2bd8ac25c1
remove annoying print statement, run black on cost
2024-04-15 09:56:37 +02:00
Sigma Dimensions
4dfaea3675
remove annoying print statement, run black on cost
2024-04-15 09:56:37 +02:00
Sigma Dimensions
09a300b57b
fix copying relationships when duplicating tasks
2024-04-15 09:56:37 +02:00
Sigma Dimensions
7188d6ea74
BBIM 4D: implement human readable duration to read/edit durations.
...
new IOS Fuzzy Duration Parsing utility
2024-04-15 09:56:37 +02:00
Sigma Dimensions
7d61c292fe
fix editing null task duration values #3091
2024-04-15 09:56:37 +02:00
Dion Moult
6bad697ec4
Minor documentation update to describe how add-ons with conflicting deps / hotkeys are incompatible.
2024-04-15 09:56:37 +02:00
Dion Moult
f6ccfb52b3
See #1676 . Space boundary generation now accounts for voids and fills.
2024-04-15 09:56:37 +02:00
Dion Moult
60985752d3
See #1676 . Space boundaries default to physical internal boundaries.
2024-04-15 09:56:37 +02:00
Dion Moult
767c435c00
See #1676 . You can now set the type of boundary class prior to generating boundaries.
2024-04-15 09:56:37 +02:00
Andrej730
7b5ece2f4a
A bit more intuitive adding drawing/schedule to the sheet
...
Now it will detect currently active sheet even if you have sheet's drawing/titleblock/schedule selected.
2024-04-15 09:56:37 +02:00
Dion Moult
c615f7469a
See #1676 . You can now duplicate space boundaries.
2024-04-15 09:56:37 +02:00
Andrej730
41e88636ff
Annotation Tool - always show "Add type" button
...
It wasn't showing if you had some objects selected which seems a bit counterintuitive - the need to deselect everything to create a new type.
2024-04-15 09:56:37 +02:00
Andrej730
3f3c9e937d
Fixed error during building schedule from ods
...
We were discarding some styles that didn't have any style properties and then we always needed to keep it in mind later on, now we just create empty dict for those.
2024-04-15 09:56:37 +02:00
Andrej730
9cc87e10a1
Apply scale and rotation to ifc text symbols #3094
...
Before symbols attached to ifc text were not rotated / scaled if they didn't have "text-template" fields in them.
2024-04-15 09:56:37 +02:00
Andrej730
e82fdc8a52
Support multiline text in the schedule #3010
...
Before - https://i.imgur.com/gff5jo3.png
After - https://i.imgur.com/meyXBYb.png
2024-04-15 09:56:37 +02:00
Andrej730
595e73ca19
Added some (naive) text wrapping in the schedule #3010
...
Before - https://i.imgur.com/dJPQ788.png
After - https://i.imgur.com/T1FtI8H.png
For it to work make sure you have word wrapping in ods.
It's still very naive since it's taking constant font width which could vary depending on font type, font size, font lettering. The proper way would be is to either find some svg way to do it (couldn't find any stable one) or to render text to identify it's width (could be done with PIL but seems overkill, atleast for now).
2024-04-15 09:56:37 +02:00
Sigma Dimensions
8d2ea88b9b
BBIM 4D: Enable displaying task tooltip in the gantt chart & add resource columns
2024-04-15 09:56:37 +02:00
Sigma Dimensions
cbb6878f51
BBIM 4D: You can now visualize & print work schedule baselines with Gantt Charts
2024-04-15 09:56:37 +02:00
Sigma Dimensions
c761c7d5d9
minor fix
2024-04-15 09:56:37 +02:00
Sigma Dimensions
dee0b5cdb9
BBIM 4D Gantt: Support multiple languages, human readable durations, add convenient Print Function with different Sheet Formats,
...
start improving overall page style; refactor code to split js and css code away from mustache file
2024-04-15 09:56:37 +02:00
Andrej730
47711f723f
Small fix for text alignment in scheduler
2024-04-15 09:56:37 +02:00
Dion Moult
b7c3bcbe3f
Fix #3085 . Prioritise shipped BlenderBIM Add-on packages instead of system packages to avoid dependency clashes.
2024-04-15 09:56:37 +02:00
Dion Moult
1e8a137fd7
Minor UI cleanup. Remove align buttons from architectural tool panel.
2024-04-15 09:56:37 +02:00
Dion Moult
28686b2fa8
See #1676 . You can now add basic space boundaries with the BIM Tool with Shift-B, either by selecting both a space and an element (e.g. wall) or selecting a space and placing the 3D cursor on a face.
2024-04-15 09:56:37 +02:00
Dion Moult
a863c6d68e
See #1676 . Deleting space boundaries now also removes connection geometry.
2024-04-15 09:56:37 +02:00
Andrej730
9f19b33764
Support cells text alignment building schedule from ods #2885
...
Before - https://i.imgur.com/9QZ2YW2.png
After - https://i.imgur.com/M7ZHSJq.png
2024-04-15 09:56:37 +02:00
Andrej730
f858dd14d9
Support merged columns building schedule from ods #2885
...
Before - https://i.imgur.com/p1l6ugn.png
After - https://i.imgur.com/9QZ2YW2.png
2024-04-15 09:56:37 +02:00
Andrej730
dfe143290e
Keep rows height building svg schedule from ods #2885
...
Before - https://i.imgur.com/erMH4Ku.png
After - https://i.imgur.com/p1l6ugn.png
2024-04-15 09:56:37 +02:00
Andrej730
c9d2a9810e
More safe adding roof modifier #3080
2024-04-15 09:56:37 +02:00
Dion Moult
628cdf8ca0
Fix #3088 . Prioritise body curves to be loaded before trying to load 2D annotations.
2024-04-15 09:56:37 +02:00
Sigma Dimensions
9d6de8c019
BBIM 4D: Auto Update Resource Usage from resource tree
2024-04-15 09:56:37 +02:00
Sigma Dimensions
775f570897
BBIM feature to create & view work schedule baselines
2024-04-15 09:56:37 +02:00
Sigma Dimensions
242745fa25
IOS.API consider removing baseline tasks when deleting tasks
2024-04-15 09:56:37 +02:00
Sigma Dimensions
31131c1106
IOS.API usecase to create a work schedule baseline
2024-04-15 09:56:37 +02:00
Sigma Dimensions
51402cdc59
run black
2024-04-15 09:56:36 +02:00
Dion Moult
9f07605de0
Accommodate space boundaries with no connection geometry, fetch spatial structure for IFC2X3, and fix scale bug when editing boundary profiles.
2024-04-15 09:56:36 +02:00
dependabot[bot]
568f1657ad
Bump flask from 2.0.1 to 2.3.2 in /src/opencdeserver
...
Bumps [flask](https://github.com/pallets/flask ) from 2.0.1 to 2.3.2.
- [Release notes](https://github.com/pallets/flask/releases )
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst )
- [Commits](https://github.com/pallets/flask/compare/2.0.1...2.3.2 )
---
updated-dependencies:
- dependency-name: flask
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-15 09:56:36 +02:00
Thomas Krijnen
da348e36be
#2676
2024-04-15 09:56:36 +02:00
Andrej730
40e67dc54f
Option to scale symbol from ifc tag by scaling ifc text object #2946
...
Also added some text scaling in viewport if there is some symbol associated with text annotation to roughly visually indicate how big this thing is going to be in the svg.
Example - https://user-images.githubusercontent.com/9417531/235445393-447f3aba-8425-4da6-81d0-6bf9004fcf2b.mp4
2024-04-15 09:56:36 +02:00
Andrej730
23ef51495b
Keep text rotation for text annotation with symbols #2946
2024-04-15 09:56:36 +02:00
Dion Moult
29243b787a
See #1676 . You can now toggle boundaries on or off in the BIM tool via Alt-B, with a special boundary decorator.
2024-04-15 09:56:36 +02:00
Andrej730
499edf960d
Test command to load blend file during test scenario for debugging
2024-04-15 09:56:36 +02:00
Andrej730
98fdebb81e
Moving decorators colors from scene to addon props #3033
2024-04-15 09:56:36 +02:00
Dion Moult
8cc42ab84b
See #1676 . Tab now toggles space boundary surface profile editing.
2024-04-15 09:56:36 +02:00
Andrej730
aaa24ee521
Fixed error on adding Roof modifier to non-footprint objects #3080
2024-04-15 09:56:36 +02:00
Andrej730
17cb72896f
Fixed bug with double conversion of height/extrusion length #3073
...
Also fixed some tests
2024-04-15 09:56:36 +02:00
Sigma Dimensions
55250aba6d
BBIM 4D features & fixes:
...
- feature to re-order tasks
- fixes for task sorting
- further workSchedule UI/UX improvements
- forgotten bits and bobs
2024-04-15 09:52:38 +02:00
Sigma Dimensions
2aa5e9d808
- refactor IOS.API resource calculation to re-use shared utilities
...
- run black
2024-04-15 09:52:38 +02:00
Sigma Dimensions
83344e4f43
- BBIM 4D: features to review and edit Resource productivity data on the fly
...
- IOS: new resource utilitiy functions
2024-04-15 09:52:38 +02:00
Dion Moult
380eca4382
Add profile-style (like slab editing) enable editing, edit, and disable editing operators for energy boundary surface geometry.
2024-04-15 09:52:38 +02:00
Dion Moult
aa6c4cea24
Fix #3030 . Don't bother layerset slicing walls with a single layer.
2024-04-15 09:52:38 +02:00
Dion Moult
f4c4b60842
Cut merging now only applies to particular elements for the majority of cases. Drawing generation can be twice as fast due to this.
2024-04-15 09:52:38 +02:00
Massimo Fabbro
98d96fdd7c
Generate space from walls refactor and cleaning around
2024-04-15 09:52:38 +02:00
Massimo Fabbro
08a6fe5748
Add generate space button in UI in N-Panel -> BlenderBim -> Architectural
2024-04-15 09:52:38 +02:00
Massimo Fabbro
2ff5ffcb24
Now it's possible to create spaces automatically from selected walls
2024-04-15 09:52:38 +02:00
Sigma Dimensions
0d2ab2317a
Fix duplicate task logic in IOS.API
2024-04-15 09:52:38 +02:00
Dion Moult
62657e7b9b
Filter elements visible in the camera view. Drawing generation is now significantly faster on larger projects (e.g. 24s down to 10s for a portion of the Revit sample project)
2024-04-15 09:52:38 +02:00
Dion Moult
83f8260029
Fallback to unmerged polygons if merging fails. More investigation needed.
2024-04-15 09:52:38 +02:00
Dion Moult
afb3759fc2
Viewport layerset slicing now uses a cache for speed.
2024-04-15 09:52:38 +02:00
Andrej730
14abf0fd23
Fixed double conversion in bim tool props after b4b6404
...
No more 1000000 and 3000000 mm values
2024-04-15 09:52:38 +02:00
Andrej730
3d9994726b
Added support for different railing cap types
...
Very similar to this - https://i.imgur.com/SNyvfgh.png
2024-04-15 09:52:38 +02:00
Dion Moult
54c6fa2067
Fix bug where numerical tolerance caused certain objects to be unnecessarily updated.
2024-04-15 09:52:38 +02:00
Dion Moult
2b3b53b147
Fix bug in cut decorator layersets where walls could be joined to odd non-layered things.
2024-04-15 09:52:38 +02:00
Dion Moult
35d224be31
Fix #3053 . Bug where very thin meshes (<1mm) couldn't be reverse engineered into extrusions.
2024-04-15 09:52:38 +02:00
Andrej730
b5d24334fd
Fixed bug with wrong position of support in wall mounted railing
...
The problem was that that support's disk was not rotated according to the railing path.
2024-04-15 09:52:38 +02:00
Sigma Dimensions
1ef3a54fe1
BBIM 4D: Auto-refresh task re-ordering
2024-04-15 09:52:38 +02:00
Dion Moult
df9a33a2c8
Fix #3066 . Regression crash when deleting openings.
2024-04-15 09:52:38 +02:00
Sigma Dimensions
d5c837b517
forgotten core functions & run black
2024-04-15 09:52:38 +02:00
Sigma Dimensions
e4d3e32519
Sequence Tools clean-up
2024-04-15 09:52:38 +02:00
Sigma Dimensions
720600e0fb
BBIM 4D: Features to select a Work Schedule's assigned / unassigned products
2024-04-15 09:52:38 +02:00
Sigma Dimensions
7c7058be5d
Work Schedule Panel UX improvement
2024-04-15 09:52:38 +02:00
Sigma Dimensions
0b981ac9ce
Fix schedule task sorting
2024-04-15 09:52:38 +02:00
Dion Moult
0400b72f3e
Fix #3052 . Deep deletion of large geometries is now thousands of times faster.
2024-04-15 09:52:37 +02:00
Bruno Postle
c806f924ec
Fix crash when switching between git revisions
2024-04-15 09:52:37 +02:00
Bruno Postle
9131578807
Fix check for invalid Git branch name
2024-04-15 09:52:37 +02:00
Andrej730
1dcf74eb60
WALL_MOUNTED_HANDRAIL type for Railing modifier
...
Added WALL_MOUNTED_HANDRAIL type for railing modifier. It's still a bit work in progress - still need to add support for different railing termination types.
Here's the short demonstration - https://user-images.githubusercontent.com/9417531/234582621-6c6f948b-9cdc-4be6-b380-17ddbf5803bf.mp4
2024-04-15 09:52:37 +02:00
Dion Moult
af1d14a0c1
See #1227 . Minor fix.
2024-04-15 09:52:37 +02:00
Dion Moult
273c970c11
See #1227 . Experimental viewport layerset visualisation.
2024-04-15 09:52:37 +02:00
Bruno Postle
1e6bc5a14e
Fix some refresh glitches in IFC Git panel
2024-04-15 09:52:37 +02:00
Bruno Postle
f86713584c
Format ifcgit code with black
2024-04-15 09:49:53 +02:00
Dion Moult
4f8510ad60
Fix #3046 . Renaming drawings now updates all drawing references on sheets.
2024-04-15 09:49:53 +02:00
Andrej730
74afcb1b3e
Fixing error on using bim.override_mode_set_edit with no active object
...
Error was:
File "\addons\blenderbim\bim\module\geometry\operator.py", line 775, in _execute
obj.select_set(True)
AttributeError: 'NoneType' object has no attribute 'select_set'
2024-04-15 09:49:53 +02:00
Andrej730
7f4f9393b3
Fixed blurred text with background after bfbced3
...
before commit - https://user-images.githubusercontent.com/9417531/233907917-f86ad10b-0227-4180-9488-a8b71a00f099.png
after commit https://user-images.githubusercontent.com/9417531/233907920-d100c73a-e206-42fd-bb41-f7257ea6f98c.png
Tested it on firefox too
2024-04-15 09:49:53 +02:00
Dion Moult
b1b57a9ec9
Fix #3055 . Get paths using forward slashes for platform compatibility.
2024-04-15 09:49:53 +02:00
Dion Moult
f89e8697d8
Fix #3051 . Text background filter now applied on <text> element to make it work on Firefox.
2024-04-15 09:49:53 +02:00
Dion Moult
6a39d0fed6
Fix #3040 . View title template variables now have access to sheet attributes prefixed with "Sheet".
2024-04-15 09:49:53 +02:00
Dion Moult
86d60f4cd9
Fix #3001 . User can now specify join criteria in drawings. Only elements where all the criteria have the same values are merged.
2024-04-15 09:49:53 +02:00
Dion Moult
a19b5c0473
Fix #3054 . Edit sheet is now implemented for drawings, schedules, and titleblocks.
2024-04-15 09:49:53 +02:00
Bruno Postle
5a46d79387
Include git, gitdb and smmp libs in blenderbim zip
2024-04-15 09:49:53 +02:00
Bruno Postle
102a4f181d
Install GitPython *before* removing the working folder
2024-04-15 09:49:53 +02:00
Bruno Postle
e956e36957
Add GitPython dependency
2024-04-15 09:49:53 +02:00
Dion Moult
5a95dfa31a
New default patterns for stack and stretcher bond tiles and floorboards.
2024-04-15 09:49:53 +02:00
Bruno Perdigão
b3404a68d7
applyed the patch by Bruno Postle
2024-04-15 09:49:53 +02:00
Bruno Perdigão
a39f268a53
changed imports to integrate with blenderbim
2024-04-15 09:49:53 +02:00
Bruno Perdigão
dff4c178e7
initial commit
2024-04-15 09:49:53 +02:00
Dion Moult
af140c1861
See #3002 . Spaces are now managed separately so that they don't conflict with projection polygon merging and raycasting.
2024-04-15 09:49:53 +02:00
Dion Moult
f9526b038c
See #3002 . Experimental SVGFill approach to polygon merging.
2024-04-15 09:49:53 +02:00
Thomas Krijnen
84287bf3ae
Update draw.py
2024-04-15 09:49:53 +02:00
Andrej730
83f5241694
Fixed couple bugs in furniture library
...
1) last polyline point was failing on Consecutive rule causing validation errors
2) Fixed wrong ifc class for dishwasher (was used occurence class instead of type)
2024-04-15 09:49:53 +02:00
Dion Moult
5bd16d8600
See #3002 . Experimental shapely approach to polygon merging for semantic projection elements.
2024-04-15 09:49:52 +02:00
Andrej730
61dda1d09d
Roof modifier - remove redundant context fill causing visual artifacts
2024-04-15 09:49:52 +02:00
Andrej730
d3d076adbe
Roof modifier - removing bottom chord if angle = 90 degrees
...
This - https://i.imgur.com/75AmYGI.png
instead of https://community.osarch.org/uploads/editor/yp/zcaqxx9b33wu.png
2024-04-15 09:49:52 +02:00
Andrej730
26ab901a9e
Roof Modifier - separating vertices on defining gable roof angle
...
Added option (which is activated by default) - when you set gable roof angle for some edge it will duplicate the top vertex instead of just moving which allows you to do shape like this - https://imgur.com/a/OEFZ4pw
Previously you would get something like this in that case - https://community.osarch.org/uploads/editor/ap/hlt70rbw5r1l.png
2024-04-15 09:49:52 +02:00
Andrej730
16b6861765
OverrideDelete - remove objects with X if they are not related to ifc
...
It was a bit frustraiting when you added a cube and can't just get rid of it with X hotkey 😅
2024-04-15 09:49:52 +02:00
Andrej730
c03666c395
Fixed error in disabling text exiting after deleting text literal
2024-04-15 09:49:52 +02:00
Dion Moult
2bc6d3b43b
Fix validation error where IfcURIReference cannot be used as a property data type :(
2024-04-15 09:49:52 +02:00
Dion Moult
4722208fa4
Fix #3038 . Fix #3039 . Selector should default to none instead for throwing errors if the query doesn't have a result.
2024-04-15 09:49:52 +02:00
Dion Moult
6a25d05e5d
Fix #3021 . IfcSpatialElements are included in drawings by default.
2024-04-15 09:49:52 +02:00
Andrej730
999186f684
Converting to project units inside QtoCalculator.guess_quantity
...
Also added some error message if `calculate_quantity` failed to calculate a quantity
2024-04-15 09:49:52 +02:00
Andrej730
c73e34eb8c
tool.Qto.convert_to_project_units
2024-04-15 09:49:52 +02:00
Andrej730
c4c848867c
bim.calculate_quantity - remove convertion part
...
now the convertion already happens in QtoCalculator.calculate_quantity
2024-04-15 09:49:52 +02:00
Andrej730
6ee8369114
test_qto.py black format
2024-04-15 09:49:52 +02:00
Andrej730
ccba3a3b8b
Tests for calculating quantities for prefix and imperial project units
2024-04-15 09:49:52 +02:00
Andrej730
e44f0e2050
qto_calculator.py black format
2024-04-15 09:49:52 +02:00
Andrej730
ac46276748
Update QtoCalculator to convert to project units at the end
...
Before this commit it was calculating all values in meters not taking into account actual project units.
2024-04-15 09:49:52 +02:00
Kristoffer Andersen
bb73390afe
Fix conda env
2024-04-15 09:47:27 +02:00
Andrej730
b00cd887cd
Added DISTANCE subtype to BIM Tool Extrusion Depth and Length
...
In BIM Tool it looks like this right now - https://i.imgur.com/JWVPssg.png (note the units)
Previously it was displaying value like this - https://i.imgur.com/244aYTN.png
The benefit is that you can specify other units in that kind of property and it will automatically convert to current project's unit.
For example if you have millimeters as project's unit you can still type "10m" instead of "5000" and it will automatically convert it to 5000mm.
Or type in inches like 5" 11'.
2024-04-15 09:37:50 +02:00
Andrej730
2dd7057fec
Update viewport on bim.activate_model
...
To see the changed context right away in the viewport
2024-04-15 09:37:50 +02:00
Andrej730
56c587da10
Fixed bug with wrong text value in viewport on canceling text editing
...
Actual text was replacing with "TEXT" default value if you cancel text editing instead of applying changes
2024-04-15 09:37:50 +02:00
Andrej730
9722063c93
Fixed bug in get_object_bounding_box #3023
2024-04-15 09:37:50 +02:00
arun
8517f808a8
Nesting added to util.get_decomposition function
2024-04-15 09:37:50 +02:00
Sigma Dimensions
dae8d6bdc1
fix "cost_item quantity updates" bug when editing a QTO
2024-04-15 09:37:50 +02:00
htlcnn
181966b08e
fix EditBcfTopic and EditBcfTopicName
2024-04-15 09:37:50 +02:00
Andrej730
b40c77a3e0
CutDecorator color connected to preferences too #2987
2024-04-15 09:37:50 +02:00
Dion Moult
bfe76b83dc
New default triangle, hexagon, capsule, circle, and space tag symbols
2024-04-15 09:37:50 +02:00
Andrej730
15c5c9da20
Added some decorator colors to addon preferences #2987
...
For ProfileDecorator (editing profiles, roof preview) and DecorationsHandler (openings).
Still need to add CutDecorator colors to preferences
2024-04-15 09:37:50 +02:00
Andrej730
3c4e25edc7
Some descriptions for EPset_Drawing
2024-04-15 09:37:50 +02:00
Andrej730
5d650d29e0
Fixed text annotation rotation in viewport #3017
...
Fixed text annotation rotation in viewport for the views rotated by multipel axis.
Changed text direction calculation to be the same in both viewport and svg.
2024-04-15 09:37:50 +02:00
Thomas Krijnen
77445f9b22
get_mappeditem_transformation()
2024-04-15 09:37:50 +02:00
Thomas Krijnen
0325c49c3d
Add util.placement.get_cartesiantransformationoperator3d()
2024-04-15 09:37:50 +02:00
Thomas Krijnen
5f334192db
Normalize vectors in a2p()
2024-04-15 09:37:50 +02:00
Vukas Pajic
63bfa290db
Update failure reason #3018
2024-04-15 09:37:50 +02:00
Andrej730
94f4f499ef
unsuppress zero inches in formatting distance #3011
...
Added option to suppress zero inches in the dimension annotation text through SuppressZeroInches property of BBIM_Dimension property set.
Previously by default suppressing zero inches was enabled. Now by default it is disabled.
SupressZeroInches On - https://i.imgur.com/nrhELnA.png
SupprezZeroInches Off - https://i.imgur.com/gIuO2GW.png
2024-04-15 09:37:50 +02:00
Dion Moult
2fc74fd440
Fix bug where you could save geometry with no data (no vertices / splines) which is invalid.
2024-04-15 09:37:50 +02:00
Dion Moult
eea93265f7
Fix #2913 . Bug where properties with multiple inverses were not correctly purged.
2024-04-15 09:37:49 +02:00
Dion Moult
e6f13a4ef9
Fix #2916 . Bug where joining swept solids didn't merge styles correctly.
2024-04-15 09:37:49 +02:00
Vukas Pajic
7ca6fec75f
cleanup
2024-04-15 09:37:49 +02:00
Vukas Pajic
bc2a12a498
added new tests for case where spec has no requirements
2024-04-15 09:37:49 +02:00
Andrej730
1cf524b95d
Fixed bug in bim.select_assigned_product
...
It was trying to call method `Drawingcls.get_active_object()` that didn't exist
2024-04-15 09:37:49 +02:00
Andrej730
00370e94d0
TEXT_LEADERS BoxAlignment, FontSize, multiline in viewport preview #3008
...
Moved code for drawing text in viewport to a separate reusable method `draw_text` in BaseDecorator.
2024-04-15 09:37:49 +02:00
Dion Moult
98309da543
Add support for loading IfcProxy
2024-04-15 09:37:49 +02:00
Dion Moult
fe8220f9a7
Add support for editing ref latitude/longitude
2024-04-15 09:37:49 +02:00
Massimo Fabbro
cc9b178535
Small fix
2024-04-15 09:37:49 +02:00
Massimo Fabbro
8daa5bf5f7
Now it's possible to specify the digits number in a drawing. Fix #2993
2024-04-15 09:37:49 +02:00
Ryan Schultz
5c301da21e
Library - changed to correct class
2024-04-15 09:37:49 +02:00
Dion Moult
507f03640a
Fix #3003 .
2024-04-15 09:37:49 +02:00
Dion Moult
d2fbdfeada
Fix #2975 . Fix bug where imperial projects still created drawings with metric scales by default.
2024-04-15 09:37:49 +02:00
Dion Moult
2b81da2c50
See #2975 . Fix bug where custom scales were not loaded correctly.
2024-04-15 09:37:49 +02:00
Dion Moult
00a40024a9
Fix bug where changing object visibility didn't first check for view layer existence.
2024-04-15 09:37:49 +02:00
Ryan Schultz
187b4d9dc0
Fix #2989
2024-04-15 09:37:49 +02:00
Dion Moult
66c9fa6934
Fix #2980 . Minor cleanup to polish array panel UI.
2024-04-15 09:37:49 +02:00
Dion Moult
6dfe7dc31b
Fix #2988 . Imperial dimensions in viewport are now split between feet and inches.
2024-04-15 09:37:49 +02:00
Ryan Schultz
61b255b08f
Fix #2990
2024-04-15 09:37:49 +02:00
Andrej730
d2124e1c8b
Fixed bugs with furniture library toilets and basins #2976
...
Bug was introduced in cf6acd5 when `shape_builder.get_rectangle_coords` started returning coords in counter-clockwise order instead of clockwise.
2024-04-15 09:37:49 +02:00
Andrej730
f6a95e8c17
Dimension description in viewport/option to hide the measurements #2918
...
same thing for diameter annotations since they are just reusing dimension annotations
+ some refactor along the way
2024-04-15 09:37:49 +02:00
Dion Moult
d9726efee0
Fix #2986 . Reimplement Metadata property of EPset_Drawing to include arbitrary metadata as CSS classes.
2024-04-15 09:37:49 +02:00
Dion Moult
4f7454070c
Fix #2985 . Purge obsolete vector style feature.
2024-04-15 09:37:49 +02:00
Dion Moult
d753852042
Fix #2979 . Batch drawling unselected and selected cut lines.
2024-04-15 09:37:49 +02:00
Andrej730
fcdfa5dd23
Annotation Tool
...
Added Annotation Tool that allows you create annotation types and their occurences. It will also allow us to get rid of "Annotation" panel in N-panel.
I've recorded bunch of short videos to demonstrate the features:
- bulk tagging - currently works only for "Text" and "Stair arrow" type of annotations, adds annotations to all selected objects, automatically assigns products to the annotations
https://user-images.githubusercontent.com/9417531/231968358-28cbb762-3349-470a-beef-d1ab21882769.mp4
- creating annotation type with representation - all occurences will share the same representation which makes bulk tagging really powerful if you use variables like {{PredefinedType}}, {{GlobalId}}, {{Name}}, {{Description}}, {{ObjectType}}, {{Tag}}
https://user-images.githubusercontent.com/9417531/231970500-333514c6-6406-4ef5-a9e7-fddfcc9a2436.mp4
- creating annotation type without representation - it allows occurences to have unique text or line geometry but still share the same classes from inherited property set
Examples:
creating text type without representation to create title case annotations
https://user-images.githubusercontent.com/9417531/231969361-bda5f924-a8c8-4f5a-ba61-461aa7101f73.mp4
creating type for oblique dimension annotations
https://user-images.githubusercontent.com/9417531/231969902-38e8c3f4-45a6-4c98-bba4-2956288ce10a.mp4
- readjusting - if you created some annotations using bulk tagging but the products were changed / moved afterwards now you can select those annotations and "readjust" them according to new product's position / measurements
https://user-images.githubusercontent.com/9417531/231968975-ee8d6589-60ee-4575-9be2-b0ce68d43ffa.mp4
PS In this commit I've also moved all icons to 1 .blend file and added instructions how to regenerate them.
2024-04-15 09:37:49 +02:00
Dion Moult
01a4d64419
Fix #2980 . Array deletion now uses delete tool. Delete moved into tool so it can be used by other functions.
2024-04-15 09:37:49 +02:00
Dion Moult
c852678437
See #2978 . Fix crash upon drawing deletion.
2024-04-15 09:37:49 +02:00
Dion Moult
019c9d89e4
Fix #2955 . Drawings can now set a precision.
2024-04-15 09:37:49 +02:00
Dion Moult
718082e4df
Fix #2971 . Only update placement if object actually moved.
2024-04-15 09:37:49 +02:00
Dion Moult
e5c9f0e38f
Purge old code from timer-based type browser system
2024-04-15 09:37:49 +02:00
Thomas Krijnen
f2c25f430a
Fixes to validation of selected simple type / enum
2024-04-15 09:37:49 +02:00
Dion Moult
09a72b32e9
Minor fix
2024-04-15 09:37:49 +02:00
Dion Moult
cf640a971d
Fix #2968 . Deletions are no longer postponed. Should fix or reveal a lot of sync errors.
2024-04-15 09:37:48 +02:00
Dion Moult
c4c3fc1bfa
Fix bug where switching representations didn't update the material checksum, leading to unnecessary material syncs at export time.
2024-04-15 09:37:48 +02:00
Dion Moult
4c6565d4a4
Styles are applied per mesh data now (potentially dangerous). Fix crash when switching to representation which has styles from an unstyled mesh.
2024-04-15 09:37:48 +02:00
Dion Moult
e3979cadc7
Fix #2974 . Type property sets are now properly copied.
2024-04-15 09:37:48 +02:00
Dion Moult
7ba65857bd
New activate model operator to switch back to a MODEL_VIEW target view subcontext
2024-04-15 09:37:48 +02:00
Dion Moult
92a8bf27c8
Activating a drawing now automatically switches to the preferred target view representation of all elements
2024-04-15 09:37:48 +02:00
Dion Moult
9d006f4eb3
New "cut decorator" that draws cut lines in drawings.
2024-04-15 09:37:48 +02:00
Dion Moult
5f44435acb
Only activate drawing styles if underlay enabled, and default to default Blender styles to prevent confusion
2024-04-15 09:37:48 +02:00
Dion Moult
697d10620a
Regenerating fills now maintains the active representation
2024-04-15 09:37:48 +02:00
Dion Moult
5e91b77df0
Only allow drawing / sheet / schedule creation once the IFC is saved to enforce correct relative paths.
2024-04-15 09:37:48 +02:00
Andrej730
e78ab0db93
Focus on text field on edit Ifc Text with BIM Tool hotkey (once again)
...
This option was here before but it was accidentally discarded after f7181aa
2024-04-15 09:37:48 +02:00
CyrilWaechter
8aa5830741
Fix #2964
2024-04-15 09:37:48 +02:00
Andrej730
ed1f35c09c
restoring selection on bim.override_mode_set_edit if nothing worked
...
it was a bit confusing when you're trying to edit some object, you get error message but you also lose object selection
2024-04-15 09:37:48 +02:00
Andrej730
1ebb018187
Fixed bug with roof created in projects with milimeters units
...
the problem was that operators were converting angle using SI and angle was set to 10000
2024-04-15 09:37:48 +02:00
Andrej730
e3a64788ef
Fixed error in PLAN_LEVEL elevation value in printed svgs #2961
...
Also added more precision to inPerFoot in helper.format_distance to avoid this a bit annoying precision problem where format function keeps adding 1/256"
Without precision - https://i.imgur.com/D9WYjvJ.png
With precision - https://i.imgur.com/3XgOFSH.png
2024-04-15 09:37:48 +02:00
Andrej730
c20f9eaffd
Changed roof preview colors and it's now transparent
...
Changed roof preview colors to the same as openings
2024-04-15 09:37:48 +02:00
Andrej730
5707d8245f
fixed mistake in tool.Blender.apply_bmesh
...
was resulting in error when you apply roof path
2024-04-15 09:37:48 +02:00
Andrej730
37949a0d80
Added checkboxes to drawing list to mark multiple selected drawings
...
Checkboxes affect the drawings that will be used when you shift click "Create drawing", "Open Drawing", "Remove Drawing". Previously those opeartors were always applying the action to all drawings.
Also added option to remove selected drawings with shift+click to "Remove Drawing" and added new operator "Select all drawings" to select drawings in one click (you can shift click it to delsect all drawings).
Example - https://i.imgur.com/GAGghu5.png
2024-04-15 09:37:48 +02:00
Dion Moult
759a5a6b86
Fix bug where invalidly mapped representations shouldn't be edited.
2024-04-15 09:37:48 +02:00
Thomas Krijnen
7a82dbeaf4
Some small fixes for rule compliance in template.py
2024-04-15 09:34:22 +02:00
Dion Moult
a9817d83c3
Fix #2947 . Embarrassing bug where slabs didn't consider the total thickness.
2024-04-15 09:25:51 +02:00
Dion Moult
d021871904
Fix #2948 . Bug where IFC array tool didn't track undo properly causing crashes.
2024-04-15 09:25:51 +02:00
Dion Moult
e898e91ad6
See #2516 . Titleblocks dropdown now also shows project titleblocks.
2024-04-15 09:25:51 +02:00
Dion Moult
ba8e6288bc
Fix #2955 . You can now store default paths in a project pset.
2024-04-15 09:25:51 +02:00
Dion Moult
401021ac23
See #2516 . Fix issue where getting sheet layout URIs were not explicit.
2024-04-15 09:25:51 +02:00
Trashman247
d3b6802589
Reformat parametrized "Save" in IFC project (again)
2024-04-15 09:25:51 +02:00
Trashman247
ab02ac3dda
Reformat parametrized "Save" in IFC project
2024-04-15 09:25:51 +02:00
Trashman247
69b74cb4c5
Add dynamic tool tip for parametrized "Save" in IFC project
2024-04-15 09:25:51 +02:00
Thomas Krijnen
fdf0596e42
Property transfer ownership of schema from py to c++ upon register_schema()
2024-04-15 09:25:51 +02:00
Thomas Krijnen
b7ded0eb79
Attempt load schema from cwd (IS THIS DANGEROUS?)
2024-04-15 09:25:50 +02:00
Thomas Krijnen
7981eb473b
Don't fail on unmapped attribute types (IFC4.4)
2024-04-15 09:25:50 +02:00
Andrej730
ffdaa8c417
Fixed error on disabling BlenderBIM addon
...
Error was occuring because macros doesn't have `is_registered` attribute.
Error: Traceback (most recent call last):
File "C:\Software\Steam\steamapps\common\Blender\3.5\scripts\modules\addon_utils.py", line 421, in disable
mod.unregister()
File "\scripts\addons\blenderbim\__init__.py", line 45, in unregister
blenderbim.bim.unregister()
File "\scripts\addons\blenderbim\bim\__init__.py", line 192, in unregister
if cls.is_registered is not False:
AttributeError: type object 'OverrideDuplicateMoveMacro' has no attribute 'is_registered'
Still getting some other error on disabling the addon, seems to happen due ongoing drawing system restructure.
Error: Traceback (most recent call last):
File "C:\Software\Steam\steamapps\common\Blender\3.5\scripts\modules\addon_utils.py", line 421, in disable
mod.unregister()
File "\addons\blenderbim\__init__.py", line 45, in unregister
blenderbim.bim.unregister()
File "\addons\blenderbim\bim\__init__.py", line 177, in unregister
if bpy.data.scenes['Scene'].BIMProperties.module_visibility['drawing'].is_visible:
KeyError: 'bpy_prop_collection[key]: key "drawing" not found'
2024-04-15 09:25:50 +02:00
Dion Moult
4e94d0dc10
Fix #2516 . Add/build/remove/view/rename/copy sheet/drawing/schedule now all references and updates user configurable relative paths.
2024-04-15 09:25:50 +02:00
Dion Moult
fd989733c7
Fix bug where unassigning a document was too aggressive and deleted relationships where it shouldn't.
2024-04-15 09:25:50 +02:00
CyrilWaechter
f8923709f6
Add ifczip and ifcxml to x-ifc mime-type
2024-04-15 09:25:50 +02:00
Nathan Hild
ec1af01545
Correct tooltip messages for enabling and disabling edit buttons
2024-04-15 09:25:50 +02:00
Andrej730
6f5e39849a
Including/Excluding IfcAnnotations from drawing #2903
...
Including or excluding elements from the drawing using EPset_Drawing.Include/Exclude now also works for IfcAnnotation elements. Both in viewport (on "activate view") and on svg print.
Related change - annotation decorations are now hidden in viewport if their object is hidden.
2024-04-15 09:25:50 +02:00
Andrej730
deacc91470
Fixed errors from 9bca705
2024-04-15 09:25:50 +02:00
Andrej730
113a7ab7dd
Make BIM Tool alignment buttons clickable and some hotkeys code cleanup
2024-04-15 09:25:50 +02:00
Dion Moult
c881ed655c
Fix #2960 .
2024-04-15 09:25:50 +02:00
Massimo Fabbro
ff97aa00ed
Better fix about cls without is_registered method
2024-04-15 09:25:50 +02:00
Massimo Fabbro
17fc46a732
Fix bug related to operators without is_registered method
2024-04-15 09:25:50 +02:00
Dion Moult
d1e8b4a4a0
Document list now shows description and locations instead of names as names are inherited.
2024-04-15 09:25:50 +02:00
Dion Moult
47709662b9
See #2516 . References to titleblocks, layouts, and published sheets are now explicitly stored. Titleblock paths are now configurable. Generated filenames are sanitised.
2024-04-15 09:25:50 +02:00
Andrej730
1bcda4c05a
Prevent flickering for SectionLevel and Grid decorators
2024-04-15 09:25:50 +02:00
Dion Moult
f1c8e7d984
Fix #2959 . Oversight when disabling mesh edit mode. Edit grid axes should be allowed.
2024-04-15 09:25:50 +02:00
Dion Moult
2e466ead37
See #2516 . WARNING: breaking changes! Restructure drawing system to use relative paths based on IfcDocumentReference Locations.
2024-04-15 09:25:50 +02:00
Andrej730
5864873945
Solved producing orphan objects data on drawing deletion
2024-04-15 09:25:50 +02:00
Andrej730
cc34e16c6b
Updating sheet name from UI #2950
2024-04-15 09:25:50 +02:00
Thomas Krijnen
788f1154da
#2685 Fix AttributeError
2024-04-15 09:25:50 +02:00
Andrej730
638eb34680
annotation and gizmo shaders rework for smoothed lines without bgl #2897
...
Reworked annotation and gizmo shaders to work without `bgl` and support smooth lines.
Moved LIB_GLSL and DEF_GLSL to shaders module since it's basically the same code and this way it'll be easier to keep track of it.
2024-04-15 09:25:50 +02:00
Dion Moult
5e9e666484
Minor improvement to add error message when mirror elements called without a mirror axis.
2024-04-15 09:25:50 +02:00
Bruno Perdigão
7b1c2ef3d4
minor fix, sets a minimum to 'count'
2024-04-15 09:25:50 +02:00
Bruno Perdigão
b1538cbb25
Fix #2937 . IFC Array now have the option to sync children
2024-04-15 09:25:50 +02:00
Sigma Dimensions
827b0fe6ac
BBIM 4D Features to:
...
- Display nested task resources/task inputs of the active task
- Show list of tasks related to the current object selection
- Highlight, in the WorkSchedule panel, tasks related to the current object selection
2024-04-15 09:25:50 +02:00
Kristoffer Andersen
365de4054f
conda daily pin occt version
2024-04-15 09:25:50 +02:00
Dion Moult
a1eff64aec
Fix #2935 . Duplicating objects clear any parametric array relationships.
2024-04-15 09:25:50 +02:00
Massimo Fabbro
6873de45a8
Fix bug #2825
2024-04-15 09:25:50 +02:00
Dion Moult
9707a2b2f6
Fix #2945 . Selector should expand enumerated list properties so that you can match any of them.
2024-04-15 09:25:50 +02:00
Andrej730
6e8a9c8f13
Warning when user loading sheets and some svgs are missing
...
Added this warning because missing svgs can lead to errors later on.
2024-04-15 09:25:50 +02:00
Andrej730
963d464e73
ChangeSheetTitleBlock operator
...
Added operator to change title block of currently selected sheet, it's located right after "Add sheet" button.
The way it works - you select the sheet, select the desired titleblock from dropdown menu and it overrides current titleblock from the sheet with the new one.
2024-04-15 09:25:50 +02:00
Bruno Perdigão
b201bb5c3b
ifc array modifier: get cursor position in relation to the object local axes
2024-04-15 09:25:50 +02:00
Bruno Perdigão
5074a0bf8d
ifc array modifier: adds the option to get the dimensions from the 3d cursor
2024-04-15 09:25:50 +02:00
Bruno Perdigão
792f1fcefd
ifc array modifier: bugfix, prevent divider from being zero.
2024-04-15 09:25:50 +02:00
Bruno Perdigão
0627d90486
ifc array modifier: adds the option to choose between "total" and "increment" as dimension input
2024-04-15 09:25:49 +02:00
Gorgious56
91d7229353
You can now change the section line decorator width in the UI
2024-04-15 09:25:49 +02:00
Gorgious56
d717fe040d
Add new shader to display the section as a thick line on the mesh
2024-04-15 09:25:49 +02:00
Gorgious56
6b67532228
Add new decorator utility to the Compare node group
2024-04-15 09:25:49 +02:00
Andrej730
87f5e7f852
Title case naming for operators
2024-04-15 09:25:49 +02:00
Andrej730
8731cf7fcf
Open all drawings at once with shift+click (similar to print all)
...
Also added filepath check to make sure all drawings were printed first.
2024-04-15 09:25:49 +02:00
Andrej730
397617550e
Title case naming for operators
2024-04-15 09:25:49 +02:00
Dion Moult
32f21c8ea0
Fix #2936 . Unassigning a type now also unmaps representations.
2024-04-15 09:25:49 +02:00
Andrej730
d86a1cedc1
Sync viewport visibility based on EPset_Drawing/Include Exclude #2613
...
It's not real time, it's triggered on using "Activate view" button in "Drawings" section.
2024-04-15 09:25:49 +02:00
Gorgious56
d76775c616
Fix temporary section cutaway socket inputs/outputs not initializing properly
...
Related to #2547
2024-04-15 09:25:49 +02:00
Dion Moult
9e33d9bfad
Fix #2938 . Unlinked objects should no longer synchronise edits after they've changed.
2024-04-15 09:25:49 +02:00
Dion Moult
9b3625717f
See #2938 . Fix issue where unlinking didn't consider other users of the object's data or material.
2024-04-15 09:25:49 +02:00
Andrej730
57c9efba97
Support for SECTION_LEVEL annotations description in viewport
...
Example - https://i.imgur.com/ATF9Fp6.png
(similar to svg)
2024-04-15 09:25:49 +02:00
Andrej730
4540dcc006
Small fix
2024-04-15 09:25:49 +02:00
Andrej730
232e415c87
Background for Ifc Text annotations in SVG
...
Added option to fill background of Ifc Text annotation with white color.
To make it work need to add "fill-bg" class to EPset_Annotation - https://i.imgur.com/ig2EhkQ.png .
Result - https://i.imgur.com/mq4hzAM.png
2024-04-15 09:25:49 +02:00
Andrej730
d9562c66a4
Small editing assigned product UI fix
...
Previously checkmark didn't worked at all if the existing and new product were the same.
2024-04-15 09:25:49 +02:00
Andrej730
6043d35821
Sliding doors - more consistent 2d repr between door types #2919
2024-04-15 09:25:49 +02:00
Andrej730
5d4ecb7177
Sliding doors - moved annotation arrow to Annotation/PLAN_VIEW #2919
2024-04-15 09:25:49 +02:00
Dion Moult
b44cd7e153
Fix #2114 . Duplicate overrides are now defined as macros which means that repeating last function now works.
2024-04-15 09:25:49 +02:00
Andrej730
7f058ab8bf
removed redundant parts from generate_steel_profiles_library.py
...
removed never used methods and contexts
2024-04-15 09:25:49 +02:00
Dion Moult
12f60084f4
Fix #2898 . Explicitly check for changed active material in material UI panels.
2024-04-15 09:25:49 +02:00
Andrej730
7233840434
Fixed ifc validation errors for generated openings #2925
...
Now ELEVATION_VIEW 3d curves converted to 2d to be extruded later on to create opening representation.
2024-04-15 09:25:49 +02:00
Dion Moult
6ad091b0be
Deprecate mode subscriptiosn of profiles and walls
2024-04-15 09:25:49 +02:00
Dion Moult
dff33632ae
See #2881 . Allow indices in the selector instead of relying on external evaluations.
2024-04-15 09:25:49 +02:00
Dion Moult
e76487ca90
See #2916 . Minor fix.
2024-04-15 09:25:49 +02:00
Andrej730
a2df9dcadd
Revert "Fixed ifc validation errors for generated openings #2925 "
...
This reverts commit 66a53b486a .
2024-04-15 09:25:49 +02:00
Gorgious56
1503a13f6c
Interface now displays a hint when trying to edit a non-mesh-like object
...
& Fix case where the active object would go into edit mode even if not mesh-like when multiple objects were selected
2024-04-15 09:25:49 +02:00
Andrej730
7842877ba0
Fixed ifc validation errors for generated openings #2925
2024-04-15 09:25:49 +02:00
Andrej730
be75ef2596
Fixed ifc validation errors for furniture library #2925
...
Fixed bunch of validation errors with furniture library:
- IfcSpaceType PredefinedType wasn't optional
`<attribute PredefinedType: <enumeration IfcSpaceTypeEnum: (EXTERNAL, GFA, INTERNAL, NOTDEFINED, PARKING, SPACE, USERDEFINED)>> Not optional`
- some object had 0.0 depth extrusion
```
Rule IfcPositiveLengthMeasure_WR1:
(self > 0.)
Violated by:
(0.0 > 0.0)
```
- some orphan representations violating:
```
Rule IfcShapeModel_WR11:
((sizeof(self.OfProductRepresentation) == 1) ^ (sizeof(self.RepresentationMap) == 1) ^ (sizeof(ofshapeaspect) == 1))
Violated by:
((0 == 1 ^ 0 == 1) ^ 0 == 1)
+ where 0 = sizeof(())
+ where () = #9091=IfcShapeRepresentation(#15,'Body','SweptSolid',(#9090 )).OfProductRepresentation
+ and 0 = sizeof(())
+ where () = #9091=IfcShapeRepresentation(#15,'Body','SweptSolid',(#9090 )).RepresentationMap
+ and 0 = sizeof(())
```
2024-04-15 09:25:48 +02:00
Andrej730
ec882a1a7d
Fixed validation error for ELEVATION_VIEW curves #2925
...
Error occured because ShapeBuilder was assigning "Curve2D" representation type for elevation view curves when the correct type is "Curve3D".
It use to occur for both doors and windows created with ifc modifier.
```
Validation error text:
2023-04-03:18:21:28,879 ERROR [rule_executor.py:154] On instance:
#135=IfcShapeRepresentation(#21,'Profile','Curve2D',(#134 ))
Rule IfcShapeRepresentation_CorrectItemsForType:
(IfcShapeRepresentationTypes(self.RepresentationType,self.Items))
Violated by:
False
+ where False = IfcShapeRepresentationTypes('Curve2D', (#134=IfcIndexedPolyCurve(#133,(IfcLineIndex((1,2)),IfcLineIndex((2,3)),IfcLineIndex((3,4)),IfcLineIndex((4,1))),$),))
+ where 'Curve2D' = #135=IfcShapeRepresentation(#21,'Profile','Curve2D',(#134 )).RepresentationType
+ and (#134=IfcIndexedPolyCurve(#133,(IfcLineIndex((1,2)),IfcLineIndex((2,3)),IfcLineIndex((3,4)),IfcLineIndex((4,1))),$),) = #135=IfcShapeRepresentation(#21,'Profile','Curve2D',(#134 )).Items
```
2024-04-15 09:25:48 +02:00
Andrej730
75d3da9908
Fixed all unit.add_si_unit uses after fd87747
...
Now they were causing `TypeError: Usecase.__init__() got an unexpected keyword argument 'name'`
2024-04-15 09:25:48 +02:00
Andrej730
3095521e36
Fixed some validation errors for doors and windows #2925
...
Fixed the ones caused by using 3d curves as inner/outer curves in profiles.
2024-04-15 09:25:48 +02:00
Andrej730
4dcb9116e0
Fixed issue with tool.Blender.apply_bmesh
2024-04-15 09:25:48 +02:00
Dion Moult
b18503d1e6
FixRevitTINs patch recipe now also purges non up-facing polygons as Revit doesn't handle them very well.
2024-04-15 09:25:48 +02:00
Dion Moult
dd5e069729
Fix #2930 . Do not require entity applicability in IfcTester.
2024-04-15 09:25:48 +02:00
Dion Moult
79479901f6
Fix #2910 . Bug where style colours were not synced prior to duplication.
2024-04-15 09:25:48 +02:00
Chun
4bdf5475a9
a simplifier workflow and a more consistent coding style
2024-04-15 09:25:48 +02:00
Chun
ab17b85854
Unify variable
2024-04-15 09:25:48 +02:00
Chun
f859f11add
Update functions of get_connected_to and get_connected_from compatible with IFC4 and IFC2X3
2024-04-15 09:25:48 +02:00
Chun
765b4a73d3
Add IFC4 support for functions get_connected_to and get_connected_from in util.system
2024-04-15 09:25:48 +02:00
Chun
9d70b9303b
Add IFC4 support to get_connected_to and get_connected_from functions
2024-04-15 09:25:48 +02:00
Dion Moult
a92c0d59d0
Fix #2928 .
2024-04-15 09:25:48 +02:00
Dion Moult
4bd9515bf5
Fix #2924 . IfcElements default to a null predefined type so they can inherit where possible.
2024-04-15 09:25:48 +02:00
Dion Moult
109df898e6
Fix #2926 . Connections removed when rotating 90 deg to prevent unintuitive behaviour. Layer2 are also now recalculated.
2024-04-15 09:25:48 +02:00
Dion Moult
e6468f280e
Link to IfcArchitect tutorial series for quickstart video tutorials
2024-04-15 09:25:48 +02:00
Dion Moult
ea5069a991
See #2881 . Add support for evaluated commands in smart text literals
2024-04-15 09:25:48 +02:00
Dion Moult
40fb960101
Fix #2927 . Continuing to make mesh editing stricter.
2024-04-15 09:25:48 +02:00
Dion Moult
65d2e51742
Shortlist which IFC geometries may be treated as a meshlike object.
2024-04-15 09:25:48 +02:00
Dion Moult
4b8152776d
Minor fix
2024-04-15 09:25:48 +02:00
Massimo Fabbro
3f2adc1e13
fix qto ui bug where objects with no assigned base qto doesn't allow to show the qto panel
2024-04-15 09:25:48 +02:00
Dion Moult
86ed354a05
Fix #2922 . You can now edit extrusion profiles of swept solids.
2024-04-15 09:25:48 +02:00
Dion Moult
2f3c5a7c75
Disable edit mode on non mesh-like representations as well to prevent risk of invalid geometry.
2024-04-15 09:25:48 +02:00
Dion Moult
6b4955344d
Fix bug where generated openings invalidly used 3 dimensions instead of 2
2024-04-15 09:25:48 +02:00
Andrej730
e0f1ec3317
Fixed bug in tool.Blender.get_bmesh_for_mesh
...
It caused errors because it was expecting mesh object to be selected - when it's not necessary that active_object is the one that mesh belongs to and sometimes no objects can be selected at all.
2024-04-15 09:25:48 +02:00
Andrej730
31e5090a5d
Fixed error with switching from EDIT mode for annotation meshes
...
Error occured when you were editing annotation mesh and tried to switched from EDIT mode
Error: Python: Traceback (most recent call last):
File "\blenderbim\bim\module\geometry\operator.py", line 838, in invoke
elif element.HasOpenings:
File "\blenderbim\libs\site\packages\ifcopenshell\entity_instance.py", line 153, in __getattr__
raise AttributeError(
AttributeError: entity instance of type 'IFC4.IfcAnnotation' has no attribute 'HasOpenings'
2024-04-15 09:25:48 +02:00
Andrej730
45536111b7
Revert part of 3a3d96be0 #2897
...
Reverted part of the bgl to gpu transition (to not scare away people with annotations without antialiasing🙂 ) until I work out the complete solution.
2024-04-15 09:25:48 +02:00
Andrej730
95848561c1
Fixed another typo related to #2889...
2024-04-15 09:25:48 +02:00
Andrej730
6ec4fc7914
Fixed crash in Blender 3.5 on creating fill area annotation
...
Crash was caused by some change in Blender Python API in 3.5.
The code below resulted in `ValueError: bpy_struct: item.attr = val: MeshPolygon.vertices: array length cannot be changed to 4 (expected 0)`
```
obj.data.polygons.add(1)
p1 = obj.data.polygons[-1]
p1.vertices = (v1.index, v2.index, v3.index, v4.index)
```
2024-04-15 09:25:48 +02:00
Andrej730
65055a9dd0
bgl to gpu: profiles and openings decorations #2897
...
Still need to fix shaders.py and decoration.py
2024-04-15 09:25:48 +02:00
Andrej730
db55cfc4ee
Added description to some annotation operators
2024-04-15 09:25:48 +02:00
Andrej730
d4a8de95c5
Automatically adjusted STAIR_ARROWs now stop at the top thread
...
Previously they were ending at the end of the stair object and problem was that the end of the object could be at the slab underneath the stair.
Example - https://i.imgur.com/Y43v0GM.png
Before - https://i.imgur.com/Ze9DoK2.png
2024-04-15 09:25:48 +02:00
Andrej730
c807ea26e6
STAIR_ARROW annotations attached to IfcStairFlight object now readjusted after changes in IFC Stair modifier
...
Later probably will also need some other way to readjust annotations - so they can be readjusted for custom stairs, not created with modifier.
2024-04-15 09:25:48 +02:00
Andrej730
1ff6f691ac
Clever STAIR_ARROW annotation
...
Now adding STAIR_ARROW annotation is a bit more clever - if you have IfcStairFlight selected when adding this type of annotation it will automatically:
1) define stair as it's parent;
2) add the stair as it's product;
3) place itself along the stair (it's assumed that stair direction is X+)
Example - https://i.imgur.com/Ze9DoK2.png
2024-04-15 09:25:47 +02:00
Andrej730
01a62bacd2
Fixed bug causing errors in IFC4X3 projects
...
It was causing an error below on opening BIM Tool and probably in some other places.
```
Traceback (most recent call last):
File "C:\software\Steam\steamapps\common\Blender\3.5\scripts\startup\bl_ui\space_view3d.py", line 35, in draw
self.draw_tool_settings(context)
File "C:\software\Steam\steamapps\common\Blender\3.5\scripts\startup\bl_ui\space_view3d.py", line 48, in draw_tool_settings
tool = ToolSelectPanelHelper.draw_active_tool_header(
File "C:\software\Steam\steamapps\common\Blender\3.5\scripts\startup\bl_ui\space_toolsystem_common.py", line 809, in draw_active_tool_header
draw_settings(context, layout, tool)
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\workspace.py", line 67, in draw_settings
BimToolUI.draw(context, layout)
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\workspace.py", line 89, in draw
AuthoringData.load()
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\data.py", line 52, in load
cls.load_ifc_classes()
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\data.py", line 109, in load_ifc_classes
cls.data["ifc_classes"] = cls.ifc_classes()
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\data.py", line 196, in ifc_classes
+ tool.Ifc.get().by_type("IfcDoorStyle")
File "\Blender\3.5\scripts\addons\blenderbim\libs\site\packages\ifcopenshell\file.py", line 364, in by_type
return [entity_instance(e, self) for e in self.wrapped_data.by_type(type)]
File "\Blender\3.5\scripts\addons\blenderbim\libs\site\packages\ifcopenshell\ifcopenshell_wrapper.py", line 4499, in by_type
return _ifcopenshell_wrapper.file_by_type(self, *args)
RuntimeError: Entity with name 'IfcDoorStyle' not found in schema 'IFC4X3'
Traceback (most recent call last):
File "C:\software\Steam\steamapps\common\Blender\3.5\scripts\startup\bl_ui\space_view3d.py", line 35, in draw
self.draw_tool_settings(context)
File "C:\software\Steam\steamapps\common\Blender\3.5\scripts\startup\bl_ui\space_view3d.py", line 48, in draw_tool_settings
tool = ToolSelectPanelHelper.draw_active_tool_header(
File "C:\software\Steam\steamapps\common\Blender\3.5\scripts\startup\bl_ui\space_toolsystem_common.py", line 809, in draw_active_tool_header
draw_settings(context, layout, tool)
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\workspace.py", line 67, in draw_settings
BimToolUI.draw(context, layout)
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\workspace.py", line 92, in draw
cls.draw_header_interface()
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\workspace.py", line 351, in draw_header_interface
cls.draw_type_selection_interface()
File "\Blender\3.5\scripts\addons\blenderbim\bim\module\model\workspace.py", line 367, in draw_type_selection_interface
if AuthoringData.data["ifc_classes"]:
KeyError: 'ifc_classes'
```
2024-04-15 09:25:47 +02:00
Andrej730
e5427583ad
Fixed typo in ifcopenshell.util.type
2024-04-15 09:25:47 +02:00
Andrej730
3429972067
Added arrow to 2d repr of sliding doors ( #2919 )
...
Example - https://i.imgur.com/eJnhDXU.png
2024-04-15 09:25:47 +02:00
Dion Moult
4e1dca6934
Load all type products by default (in preparation for IfcAnnotationType support)
2024-04-15 09:25:47 +02:00
Andrej730
7f1bb71c66
IFC Door Modifier - sliding doors
...
Added support for sliding doors in IFC Door Modifier.
The main differences are 2d representation (https://i.imgur.com/VyEH569.png ) and the door panel being placed before the lining, not after
2024-04-15 09:25:22 +02:00
Thomas Krijnen
969b7382b6
Replace unpacking with boost::tie() for compatibility with msvc17 build machine
2024-04-15 08:55:37 +02:00
Thomas Krijnen
44deaedccc
Incorporate profile in FixedRefSolid, some attempt at DirectrixDerived
2024-04-12 10:24:24 +02:00
Thomas Krijnen
7b296629d6
Doing a transpose was most likely misguided
2024-04-12 10:23:27 +02:00
Richard Brice
420eed1828
Adds new simplified alignment example that makes us of the alignment helper functions
2024-04-11 11:26:42 -07:00
Richard Brice
e30fd6096a
Adds framework for alignment helper functions.
...
Function include building a simple highway alignment and mapping of sementic segment definitions to geometric definitions (this part is still a work in progress)
2024-04-11 11:26:42 -07:00
Thomas Krijnen
85887b6db0
Clone profile for immutability in IfcDerivedProfileDef
2024-04-11 20:15:55 +02:00
Thomas Krijnen
9e2645d4cf
Respect face matrix in IfcSectionedSolidHorizontal
2024-04-11 20:15:55 +02:00
Thomas Krijnen
c535c000a6
Wrong axis typo causing singular matrices
2024-04-11 20:15:55 +02:00
Richard Brice
a1d8aaf999
Fixes problems with Helmert curves
2024-04-11 11:13:02 -07:00
Richard Brice
4807e5b432
Fixes curve segment placement issues
2024-04-10 15:15:11 -07:00
Richard Brice
a34da81ac5
Fixes tilt slope for cant
2024-04-10 14:09:46 -07:00
Thomas Krijnen
7589e0bd40
Implement product matric access in Python wrapper
2024-04-10 21:22:13 +02:00
Richard Brice
6d5a9f8716
Fixes anon namespace that was causing problems with linking
2024-04-10 11:48:26 -07:00
Richard Brice
fda4c674d9
Fixes more problems with mapping IfcCurveSegment
2024-04-09 16:46:43 -07:00
Richard Brice
a94d1e53b7
Fixes some problems with mapping IfcCurveSegment
2024-04-06 19:02:18 -07:00
Richard Brice
98ec4220eb
Adds method to piecewise_function to evaluate over a range.
2024-04-06 10:40:22 -07:00
Thomas Krijnen
f0dbef88c1
Respect ReorientShells setting in shell.cpp
2024-04-05 15:37:10 +02:00
Thomas Krijnen
59fbf2bbde
#4501 warning message
2024-04-03 11:43:06 +02:00
Thomas Krijnen
209d6c1e70
SectionedSolidHorizontal: sort sections, bounds check
2024-03-29 15:53:34 +01:00
Richard Brice
83a127b570
Implements IfcSegmentReferenceCurve and cant
2024-03-28 15:04:17 -07:00
Richard Brice
960a59da84
Fixes IfcAxis2PlacementLinear per https://github.com/buildingSMART/IFC4.3.x-development/issues/732#issuecomment-1812127613
2024-03-27 16:24:58 -07:00
Thomas Krijnen
4b32381192
Don't fail on product without placement
2024-03-21 09:44:40 +01:00
Thomas Krijnen
0d3c73de82
Fix compilation for 4x2
2024-03-15 20:13:16 +01:00
Thomas Krijnen
3babe852de
Don't use BRepFill, but rather triangulate. Implement IfcSectionedSolidHorizontal
2024-03-15 17:32:05 +01:00
Thomas Krijnen
bf1d2befd8
Address compiler warnings
2024-03-14 11:10:19 +01:00
Thomas Krijnen
ca0488892c
Add eigen constructur to point3 and direction3
2024-03-14 11:04:44 +01:00
Thomas Krijnen
eed0b55f01
Move version definition below header include
2024-03-14 10:26:51 +01:00
Thomas Krijnen
b1f5f7d628
Update ci-py-only.yml
2024-03-13 14:09:29 +01:00
Thomas Krijnen
978a8f474d
Update ci.yml
2024-03-13 14:09:07 +01:00
Thomas Krijnen
c8a9d5b743
Address comment by @RickBrice
2024-03-13 13:18:12 +01:00
Thomas Krijnen
3b08f644ed
Uncomment type assertion and comment out writing to stdout
2024-03-13 13:18:12 +01:00
Thomas Krijnen
d06280f0e7
First rough draft of alignment-based IfcFixedReferenceSweptAreaSolid
2024-03-13 13:18:12 +01:00
Richard Brice
ebe6015561
Fixes vertical clothoid, vertical circle, and horizontal cubic cases for alignment
2024-03-06 12:00:35 -08:00
Dirk Olbrich
28c7da2336
examples: fix missing includes
2024-03-06 09:25:02 +01:00
Dirk Olbrich
eb50be5c52
ifcparse: fix missing include and const
2024-03-06 09:25:02 +01:00
Dirk Olbrich
47a2971c65
ifcparse: fix clang-tidy warning readability-identifier-length
2024-03-06 09:25:02 +01:00
Dirk Olbrich
eea9a14722
ifcparse: unify private member variables name to use trailing underscore
2024-03-06 09:25:02 +01:00
Dirk Olbrich
8b145248c6
ifcparse: fix clang-tidy warning readability-qualified-auto
2024-03-06 09:25:02 +01:00
Dirk Olbrich
c29e7b32ad
ifcparse: fix clang-tidy warning readability-implicit-bool-conversion
2024-03-06 09:25:02 +01:00
Dirk Olbrich
95b5926353
ifcgeom, serializer: fix missing includes
2024-03-06 09:25:02 +01:00
Dirk Olbrich
9f40674d91
ifcparse: fix clang-tidy warning readability-else-after-return
2024-03-06 09:25:02 +01:00
Dirk Olbrich
b264408d85
ifcparse: fix clang-tidy warnung unused-includes
2024-03-06 09:25:02 +01:00
Richard Brice
fcfeac95bf
WIP getting alignment geometry to match unit test from bSI Rail Room
2024-03-01 10:55:20 -08:00
Richard Brice
77b56b6826
Fixes typo in IfcPointByDistanceExpression
2024-02-28 18:38:41 -08:00
Richard Brice
0baf3dac52
Adds support for IfcCosineSpiral, IfcSineSpiral, and updates implementation to match results from bSI Railway Room test cases.
2024-02-26 16:34:41 -08:00
Thomas Krijnen
a60e272eee
build_halfspace_tree_is_decomposed() for polies already tagged as convex
2024-02-18 12:06:02 +01:00
Thomas Krijnen
8af6903505
Convex tag on cgal shape
2024-02-18 12:06:02 +01:00
Thomas Krijnen
d04357933b
Release GIL in some cases
2024-02-18 12:06:02 +01:00
Thomas Krijnen
c72f97225f
Clear current product after finalization
2024-02-18 12:06:02 +01:00
Thomas Krijnen
b76dad682a
item_id()
2024-02-18 12:06:02 +01:00
Thomas Krijnen
0d9a40f88c
Submodule
2024-02-18 12:06:02 +01:00
Thomas Krijnen
4418397d2c
fixes to cityjson invocation
2024-02-18 12:06:02 +01:00
Thomas Krijnen
49e8f8bdca
settings, data model changes (no longer graph on both orientations of plane eq, group equations per product), multiple files, convex ifc definition test, reuse convex decomps for instanced geom, fix remove narrow, option to store eq mapping, multi-threading, command line options
2024-02-18 12:06:02 +01:00
Thomas Krijnen
ec5bfd6a68
cgal threads, city json executable
2024-02-18 12:06:02 +01:00
Richard Brice
bb88ba5bdf
Updates implementation of IfcXXXPolynomialSpiral curves as parent curve
2024-02-16 13:54:26 -08:00
Thomas Krijnen
bb8769aff8
Add WITH_RELATIONSHIP_VALIDATION defaulting to OFF
2024-01-30 09:15:35 +01:00
Thomas Krijnen
d7d89a6084
Merge branch 'v0.8.0' of https://github.com/IfcOpenShell/IfcOpenShell into v0.8.0
2024-01-30 09:04:13 +01:00
Thomas Krijnen
c9f320f062
Debug options, eliminate narrow slices prior to snapping, consider triangle areas in box substitution
2024-01-20 13:26:54 +01:00
Richard Brice
abddb74bd9
Adds placeholder implementations for IfcXXXOrderPolynomialSpiral - there are some bugs, but the basic implementation framework is good.
2024-01-17 12:59:48 -08:00
Richard Brice
f2f0000616
Minor tweaks to IfcAlignment example
2024-01-16 15:33:25 -08:00
Richard Brice
f12c3aae09
Adds caching of loop upgraded to pwf to loop class
2024-01-15 15:52:26 -08:00
Richard Brice
a8b88b8ae1
Adds loop_to_piecewise_function_upgrade
...
This provides for a more uniform treatment of curves when mapping IfcOffsetCurveByDistances and IfcPointByDistanceExpression
2024-01-11 15:37:44 -08:00
Richard Brice
5815417198
Fixes documentation in comment
2024-01-11 15:36:17 -08:00
Thomas Krijnen
142b15e332
CgalShape: Triangulate before calculating area/volume
2023-12-28 19:08:08 +00:00
Thomas Krijnen
706b92d4e0
Exterior shell extractor implemented in Python
2023-12-21 21:19:43 +01:00
Richard Brice
f493343558
Adds geometric representations for CT 4.1.7.1.1.4 Alignment Geometry - Segments to the IfcAlignment example
2023-12-20 14:53:20 -08:00
krande
d5da636b00
suggested change of ifcwrap pythoninterpreter function to no longer rely on distutil (which is deprecated in python 3.12).
2023-12-20 12:05:47 -08:00
Thomas Krijnen
4dcc1b5718
4x3_add2 py wrapper
2023-12-19 12:40:38 +01:00
Thomas Krijnen
9fddb564b1
OpaqueCoordinate rule of 3
2023-12-19 12:40:16 +01:00
Thomas Krijnen
89fd887d9a
Remove virtual kind() call out of compile-time loop
2023-12-19 12:38:51 +01:00
Thomas Krijnen
ca4781f559
Return value
2023-12-18 19:22:29 +00:00
Thomas Krijnen
ef929f9d30
Const ptr references and address some warnings
2023-12-18 13:51:12 +00:00
Thomas Krijnen
aa5b8ce30a
Update build-all.py
2023-12-17 13:24:17 +01:00
Thomas Krijnen
c4326e557c
Remove const
2023-12-15 14:31:40 +01:00
Thomas Krijnen
0cf5d1c968
#4084 debug iterator failure
2023-12-15 14:03:08 +01:00
Thomas Krijnen
796c1d6210
Comment out obsolete code
2023-12-15 13:41:51 +01:00
Thomas Krijnen
c2492c8655
--circle-segments conversion setting instead of hardcoded number in cgal kernel
2023-12-15 13:41:37 +01:00
Richard Brice
2a3416b01a
Merge pull request #4117 from RickBrice/v0.8.0
...
Addresses alignment geometry issues
2023-12-14 08:27:45 -08:00
Richard Brice
662a4bb6e9
Fixes generated geometry based on evolving understanding of IFC
2023-12-13 16:17:10 -08:00
Richard Brice
3ff8c5c292
Fixes IfcAlignment example
2023-12-13 16:17:10 -08:00
Richard Brice
c33f68fb99
Adds check for placement relative to self
2023-12-13 16:17:10 -08:00
Richard Brice
7fef3efbeb
Fixes horizontal alignment issues
2023-12-13 16:17:10 -08:00
Thomas Krijnen
6ed91d3ea4
to_string() option, no shared_ptr in OpaqueCoord, add ConvResShape::vertices(), newell instead of simple cross product, create_epeck(double/str)
2023-12-13 16:43:33 +01:00
Thomas Krijnen
14e924cd8c
typename
2023-12-11 21:33:08 +01:00
Thomas Krijnen
1e83e5b018
Python wrapper improvements
2023-12-11 21:06:25 +01:00
Thomas Krijnen
9c82b752b6
Fix OBJ writer from Nef
2023-12-11 21:05:58 +01:00
Thomas Krijnen
e74f160a48
Use predefined templates
2023-12-11 21:05:39 +01:00
Thomas Krijnen
17bf6691c6
Use custom poly converter
2023-12-11 21:04:54 +01:00
Thomas Krijnen
137a6b5706
map(vector<opaque_4>) prototype
2023-12-11 21:03:55 +01:00
Thomas Krijnen
df0e64a68a
Commit debugging trick comment analogous to occt kernel
2023-12-11 21:00:54 +01:00
Thomas Krijnen
c7a2abdf2d
CgalKernel halfspace handling: orientation is on face not plane
2023-12-11 21:00:32 +01:00
Thomas Krijnen
a62aefa7ff
Disable automatic density substitution in cgal kernel
2023-12-11 21:00:04 +01:00
Thomas Krijnen
e946b6c540
Test for self-intersection before converting to nef
2023-12-11 20:59:04 +01:00
Thomas Krijnen
cac2b77659
Implement num_faces
2023-12-11 20:57:58 +01:00
Thomas Krijnen
5c4cc81f6f
So much for using a typesafe language
2023-12-11 13:29:20 +01:00
Richard Brice
3f1c01e363
Merge pull request #4097 from RickBrice/v0.8.0
...
Small tweaks to the IfcAlignment example
2023-12-08 13:16:09 -08:00
Richard Brice
13985eb49d
Small tweaks to the IfcAlignment example
2023-12-08 13:15:29 -08:00
Richard Brice
5207c3d7c5
Merge pull request #4091 from RickBrice/v0.8.0
...
Updates representation context in IfcAlignment example so it passes bSI validation service tests
2023-12-07 15:38:49 -08:00
Richard Brice
7893b217ad
Updates representation context in IfcAlignment example so it passes the bSI validation service checks
2023-12-07 15:31:33 -08:00
Richard Brice
e0b445de0b
Merge pull request #4088 from RickBrice/v0.8.0
...
Updates representations in IfcAlignment example
2023-12-07 09:48:22 -08:00
Richard Brice
92f80646cd
Merge branch 'IfcOpenShell:v0.8.0' into v0.8.0
2023-12-07 09:47:29 -08:00
Richard Brice
84a8c370c1
Updates representations in IfcAlignment example
2023-12-07 09:46:23 -08:00
Richard Brice
4b933812a7
Generalized calculation of spiral curve tangent vector
2023-12-07 08:01:31 -08:00
Richard Brice
71cca03e1d
Merge pull request #4083 from RickBrice/v0.8.0
...
PR fixes bug computing IfcAxis2PlacementLinear.Axis for IfcSegmentReferenceCurve as basis curve
2023-12-06 15:43:45 -08:00
Richard Brice
c562a52011
Merge branch 'v0.8.0' of https://github.com/RickBrice/IfcOpenShell into v0.8.0
2023-12-06 15:32:13 -08:00
Richard Brice
9e32c0ea93
Fixes problem computing Axis vector for cant
2023-12-06 15:31:01 -08:00
Thomas Krijnen
f687e610b9
Workaround to create epeck number from python
2023-12-05 21:15:06 +01:00
Thomas Krijnen
c1cb16f5f6
Implement a bunch of shape analysis routines
2023-12-05 21:14:43 +01:00
Thomas Krijnen
059c9fb7d5
remove_degenerate_faces() in order to prevent division by zero
2023-12-05 21:13:43 +01:00
Thomas Krijnen
0b4718b3b5
Report tasks on actual mapped products
2023-12-05 21:12:09 +01:00
Thomas Krijnen
4cd327f711
Don't mutate conversion result placement. Breaks combination of world coords + optimized model.
2023-12-05 21:11:36 +01:00
Thomas Krijnen
c595adfb7b
Use world coords on OBJ/STP/IGS serializers as before
2023-12-05 21:10:42 +01:00
Richard Brice
07d0a21393
Merge pull request #4023 from RickBrice/v0.8.0
...
v0.8.0 Alignment Geometry - Bug fixes and more work in progress
2023-12-01 09:12:13 -08:00
Richard Brice
6c808c097e
Merge branch 'IfcOpenShell:v0.8.0' into v0.8.0
2023-12-01 07:22:29 -08:00
Thomas Krijnen
4166384ab3
Enable setting ITERATOR_OUTPUT from python
2023-11-28 12:59:32 +01:00
Richard Brice
2126381a15
Adds conversion settings to control the granularity of points computed for a piecewise_function
2023-11-22 15:49:24 -08:00
Richard Brice
39c3cac05d
Fixes bugs in segment reference curve geometry
2023-11-22 08:32:59 -08:00
Richard Brice
5f7e89a5f8
Implements IfcOffsetCurveByDistance mapping
2023-11-21 08:54:06 -08:00
Richard Brice
49d9245e29
Fixes problem computing tangent and normal vectors for Circle
2023-11-21 08:49:16 -08:00
Thomas Krijnen
87f39b3826
Temporarily log evaluated points
2023-11-21 14:42:59 +01:00
Thomas Krijnen
b52c5ab082
Don't emit empty results for representation and allow implicit items to
...
pass when using --plan
2023-11-21 14:41:31 +01:00
Richard Brice
49b3805859
Updates treatment of IfcLine to account for the fact that IfcLine.Orientation.DirectionRatios are generally normalized.
2023-11-20 11:15:35 -08:00
Rick Brice
265f45a814
Adds example program for alignments
2023-11-17 11:27:49 -08:00
Richard Brice
afb8375e70
Fixes problem with vertical curve slopes
2023-11-17 08:03:03 -08:00
Richard Brice
162db2e588
Merge branch 'IfcOpenShell:v0.8.0' into v0.8.0
2023-11-16 17:20:42 -07:00
Richard Brice
f4ba3fe487
Still trying to figure out cant
2023-11-16 16:17:41 -08:00
Thomas Krijnen
dc6eb8611a
More robust conversion to nef in CgalShape
2023-11-16 09:15:19 +01:00
Richard Brice
f204135aa6
Fixing bugs
2023-11-15 07:21:19 -08:00
Thomas Krijnen
5af975f99e
Backwards compatibility for py setting strings
2023-11-15 13:42:55 +01:00
Thomas Krijnen
d5fbc72537
if constexpr instead of disallowed member specialization
2023-11-15 12:33:26 +01:00
Thomas Krijnen
c2b527b832
Copy pasta error
2023-11-15 11:49:44 +01:00
Thomas Krijnen
9e73e96d31
More missing typenames
2023-11-15 11:33:00 +01:00
Thomas Krijnen
f2b800c30c
Add missing typename
2023-11-15 11:30:06 +01:00
Thomas Krijnen
3ef4e8152f
Commit suggestions in #3992 Thanks @RickBrice
2023-11-15 11:05:06 +01:00
Thomas Krijnen
2545f334a3
Submodule
2023-11-15 11:04:05 +01:00
Thomas Krijnen
65e874c67f
Drastic settings refactoring
2023-11-15 10:32:33 +01:00
Thomas Krijnen
d2a2e0d7a0
ENABLE_EXTENDED_ALIGNED_STORAGE for msvc
2023-11-15 10:32:33 +01:00
Richard Brice
73abb25fc3
Merge pull request #3988 from RickBrice/v0.8.0
...
Fixes a build issue with IfcCurveSegmet
2023-11-09 10:49:59 -07:00
Richard Brice
a80a126fd8
Merge branch 'IfcOpenShell:v0.8.0' into v0.8.0
2023-11-09 10:48:45 -07:00
Richard Brice
8303a04b4f
A couple tweaks for IfcCurveSegment
2023-11-09 09:48:05 -08:00
Richard Brice
e07281d72c
Merge pull request #3987 from RickBrice/v0.8.0
...
Fixes build issue with mapping
2023-11-09 10:44:45 -07:00
Richard Brice
12e69ff07a
Fixes build issue with mapping
2023-11-09 09:43:36 -08:00
Richard Brice
43a9c050eb
Merge pull request #3982 from RickBrice/v0.8.0
...
Implements IfcSegmentedReferenceCurve and first cut at cant geometry
2023-11-09 03:28:18 -07:00
Richard Brice
8409859e8d
Implements safer way to use IfcCurveSegment.UsingCurves
...
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2023-11-09 03:23:13 -07:00
Richard Brice
7ed85358f9
Implements IfcSegmentedReferenceCurve and first cut at cant geometry
2023-11-08 19:43:21 -08:00
Thomas Krijnen
809668c015
Major update to halfspace algorithm, conversion result shape analysis
2023-11-02 09:04:34 +01:00
Thomas Krijnen
559de7d4cd
Merge pull request #3945 from RickBrice/v0.8.0
...
Implements framework for adjusting geometry based on start location next segment
2023-11-01 22:22:55 +01:00
Richard Brice
b50f4a2240
Adds a virtual init_adjustments function to precompute common values for segment geometry adjustments
2023-11-01 08:35:29 -07:00
Richard Brice
bef86e261c
Renamed interpolate to compute_adjustment and made it a template function.
2023-11-01 08:34:58 -07:00
Richard Brice
ba870e54c3
Merge branch 'v0.8.0' into v0.8.0
2023-10-27 10:46:53 -07:00
Richard Brice
969181acf3
Implements framework for adjusting geometry based on location of start point of next segment.
2023-10-27 08:10:18 -07:00
Richard Brice
0aa69a6ebf
Moves implementation of piecewise_function::evaluate(u) from h to cpp to prevent massive rebuilds everytime the function is changed.
2023-10-27 08:10:18 -07:00
Richard Brice
dd915736f5
Adds warning that the BaseCurve of IfcGradientCurve is expected to be IfcCompositeCurve
2023-10-27 08:10:18 -07:00
Richard Brice
85ece64272
Minor code format revisions
2023-10-27 08:10:18 -07:00
Richard Brice
6e8d635040
Adds test of fallback placement for IfcLinearPlacement and reduces number of tests for placement type.
...
Changed to if-else if so inst isn't tested to be every placement type, every time.
2023-10-27 08:10:18 -07:00
Richard Brice
cefbf8b4f2
Fixes runtime check for polynomial curve
2023-10-27 08:10:17 -07:00
Thomas Krijnen
a0aaa39c4b
Test for intersection result in cgal code
2023-10-27 08:10:17 -07:00
Thomas Krijnen
71166f3685
Some variations of shell mapping in occt
2023-10-27 08:10:17 -07:00
Thomas Krijnen
90f9123f35
Notify on product conversion start as in 0.7
2023-10-27 08:10:17 -07:00
Thomas Krijnen
a6f97b0b92
Implement ObjectPlacement using native recursion
2023-10-27 08:10:17 -07:00
Richard Brice
f0dbb535d3
Removed assert, added Logger::Warning and Logger::Error. Made treatment of unexpected data more permissive
2023-10-27 08:09:50 -07:00
Richard Brice
dde85265c6
Adds support for IfcLinearPlacement
2023-10-27 08:09:05 -07:00
Richard Brice
1920a6427d
Removed assert, added Logger::Warning and Logger::Error. Made treatment of unexpected data more permissive
2023-10-27 08:04:19 -07:00
Thomas Krijnen
3913849635
Use --start/end-group on linux to fix ld geomserver
2023-10-27 08:04:18 -07:00
Richard Brice
140dded1d1
Implements Eigen shortcut
...
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2023-10-27 08:04:18 -07:00
Richard Brice
40d4c5bd01
Implements Eigen shortcut
...
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2023-10-27 08:04:18 -07:00
Richard Brice
97879e47e2
Implements Eigen shortcut
...
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2023-10-27 08:04:18 -07:00
Richard Brice
8b05da1da1
Implements Eigen shortcut
...
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2023-10-27 08:04:18 -07:00
Richard Brice
6a828d7035
Instantiates IfcHierarchyHelper template for ADD2
2023-10-27 08:04:18 -07:00
Richard Brice
528cf06a46
Adds support for IfcLinearPlacement
2023-10-27 08:04:17 -07:00
Thomas Krijnen
b4ef4cbbec
Add noexcept to hash functor
2023-10-27 08:04:17 -07:00
Thomas Krijnen
23ab8c7ef9
In-code changes for ADD2
2023-10-27 08:04:17 -07:00
Thomas Krijnen
b52752ae11
Rerun C++ codegen
2023-10-27 08:04:17 -07:00
Thomas Krijnen
b865309b92
Merge v0.7.0 -- src\ifcopenshell-python\ifcopenshell\express
2023-10-27 08:04:13 -07:00
Richard Brice
512b8b9e08
Mapping of vertical profiles with IfcGradientCurve
2023-10-27 08:04:12 -07:00
Richard Brice
8497e655f5
Fixes mapping of horizontal curve with IfcCircle
2023-10-27 08:04:12 -07:00
Richard Brice
c1cab4b186
Fixes problems with horizontal curves and clothoid spirals
2023-10-27 08:04:12 -07:00
Thomas Krijnen
53096017f5
Update nef_to_halfspace_tree.h
2023-10-27 08:04:12 -07:00
Thomas Krijnen
c1a6d8f347
Small changes to curve segment handling for purpose of wrapper
2023-10-27 08:04:12 -07:00
Richard Brice
ba4ff68597
Fixes runtime check for expected IfcPolynomialCurve coefficients and adds fallback check to IfcObjectPlacement ( #3936 )
...
* Adds support for IfcLinearPlacement
* Instantiates IfcHierarchyHelper template for ADD2
* Implements Eigen shortcut
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
* Implements Eigen shortcut
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
* Implements Eigen shortcut
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
* Implements Eigen shortcut
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
* Removed assert, added Logger::Warning and Logger::Error. Made treatment of unexpected data more permissive
* Fixes runtime check for polynomial curve
* Adds test of fallback placement for IfcLinearPlacement and reduces number of tests for placement type.
Changed to if-else if so inst isn't tested to be every placement type, every time.
---------
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2023-10-25 09:42:39 +02:00
Thomas Krijnen
e9c70f8d83
Test for intersection result in cgal code
2023-10-24 20:57:02 +02:00
Thomas Krijnen
f911bbd931
Some variations of shell mapping in occt
2023-10-24 20:56:39 +02:00
Thomas Krijnen
85b3509ce3
Notify on product conversion start as in 0.7
2023-10-24 20:56:06 +02:00
Thomas Krijnen
ad61353fb5
Implement ObjectPlacement using native recursion
2023-10-24 20:54:25 +02:00
Richard Brice
2a53911c52
Removed assert, added Logger::Warning and Logger::Error. Made treatment of unexpected data more permissive
2023-10-24 17:05:51 +02:00
Richard Brice
94b567a25b
Implements Eigen shortcut
...
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2023-10-24 17:05:51 +02:00
Richard Brice
3237190d83
Implements Eigen shortcut
...
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2023-10-24 17:05:51 +02:00
Richard Brice
5482ca145e
Implements Eigen shortcut
...
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2023-10-24 17:05:51 +02:00
Richard Brice
6f5f7016fe
Implements Eigen shortcut
...
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com >
2023-10-24 17:05:51 +02:00
Richard Brice
5c64a1bd8d
Instantiates IfcHierarchyHelper template for ADD2
2023-10-24 17:05:51 +02:00
Richard Brice
fc22d2fa51
Adds support for IfcLinearPlacement
2023-10-24 17:05:51 +02:00
Thomas Krijnen
4f3dacd6d5
Use --start/end-group on linux to fix ld geomserver
2023-10-21 22:29:41 +02:00
Thomas Krijnen
164125fe70
Add noexcept to hash functor
2023-10-18 09:47:30 +02:00
Thomas Krijnen
fd3ef6508b
In-code changes for ADD2
2023-10-18 09:47:29 +02:00
Thomas Krijnen
1eb8ef08d2
Rerun C++ codegen
2023-10-18 09:47:28 +02:00
Thomas Krijnen
6302be6bfd
Merge v0.7.0 -- src\ifcopenshell-python\ifcopenshell\express
2023-10-18 09:47:27 +02:00
Richard Brice
d52f12973a
Mapping of vertical profiles with IfcGradientCurve
2023-10-17 09:20:50 +02:00
Richard Brice
3eb85cc36a
Fixes mapping of horizontal curve with IfcCircle
2023-10-17 09:20:50 +02:00
Richard Brice
e794911926
Fixes problems with horizontal curves and clothoid spirals
2023-10-17 09:20:50 +02:00
Thomas Krijnen
51f72b4edc
Update nef_to_halfspace_tree.h
2023-10-16 21:28:38 +02:00
Thomas Krijnen
661c8bc50f
Small changes to curve segment handling for purpose of wrapper
2023-10-14 16:37:50 +02:00
Thomas Krijnen
909978c941
Merge pull request #3826 from RickBrice/v0.8.0
...
Some minor tweaks and implements suggestions
2023-10-12 20:59:31 +02:00
Dirk Olbrich
616a96972a
clang-format: align license blocks
...
- split up some very long lines
2023-10-12 12:39:16 +02:00
Dirk Olbrich
d971e0e62e
clang-format: remove duplicates from base style
2023-10-12 12:39:16 +02:00
Dirk Olbrich
63177a7c35
clang-format: format test
2023-10-12 12:39:16 +02:00
Dirk Olbrich
17838f2426
clang-format: no column length, no short blocks
2023-10-12 12:39:16 +02:00
Dirk Olbrich
1969828340
clang-format: add style file
2023-10-12 12:39:16 +02:00
Thomas Krijnen
fa73de97b0
Option to specify algorithm for --exterior-only
2023-10-06 13:27:47 +02:00
Richard Brice
b9c234457d
Fixes minor issues with mapping code
2023-10-04 13:25:58 -07:00
Richard Brice
a5c07d5e24
Adds IfcPolynoialCurve for vertical curves
2023-10-04 13:25:31 -07:00
Richard Brice
7b0e2c52ac
Manually merged in aothms revisions for gradient curves and implicit_item taxonomy
2023-10-02 16:30:39 -07:00
Richard Brice
ae09a1acac
Merge branch 'v0.8.0' of https://github.com/RickBrice/IfcOpenShell into v0.8.0
2023-09-29 13:27:54 -07:00
Richard Brice
c3aeae8661
Implements recommendation to use map_impl(IfcPolyline*)
2023-09-29 13:27:23 -07:00
Richard Brice
9c5758b77c
Merge branch 'v0.8.0' into v0.8.0
2023-09-29 12:37:14 -07:00
Richard Brice
00d8ffeba0
Reverts to Taylor Series approximation of Clothoid curve.
...
If you compare the results generated by the numeric integration and the approximation, they are very different. The approximation compares will with other software so there is likely a problem with the equation of the clothoid
2023-09-29 12:14:38 -07:00
Richard Brice
f9d259a3d8
Removes redundant function evaluation in numeric integration
2023-09-29 12:14:38 -07:00
Richard Brice
d9b534b66d
Implemented position handling with transformation matrix
2023-09-29 12:14:38 -07:00
Richard Brice
47c319aa2d
Adds a continuity check for IfcCurveSegment
2023-09-29 12:14:30 -07:00
Richard Brice
d50dcadf5c
Implemented placement handling with transformation matrix.
2023-09-29 08:45:02 +02:00
Richard Brice
fdc0c0cbd1
Minor revision to numerical integration code
2023-09-29 08:45:02 +02:00
Richard Brice
2d14ad1667
Revises implementation of operator(IfcSchema::IfcClothoid*) to use trapezoid rule numeric integration.
...
This is a more general approach than the Taylor Series approximation and is applicable to all the other spiral types. I stubbed out a functor for IfcSecondOrderPolynomialSpiral, but haven't tested it. The purpose is to show the concept.
2023-09-29 08:45:02 +02:00
Richard Brice
9ac99b6f97
Implements mapping of IfcCurveSegment to taxonomy::geometry
2023-09-29 08:45:02 +02:00
Richard Brice
4d3a21de77
Fixes cast to IfcCurveSegment for access to ParentCurve
2023-09-29 08:45:02 +02:00
Richard Brice
60723cff2b
Fixed problem with call to boost::mpl::for_each
2023-09-29 08:45:02 +02:00
Richard Brice
6510291f21
Updated build scripts to use boost_1.79.0
2023-09-29 08:45:02 +02:00
Richard Brice
d4f543d2ad
Implemented placement handling with transformation matrix.
2023-09-28 14:58:21 -07:00
Richard Brice
1564b53ef5
Minor revision to numerical integration code
2023-09-28 14:28:17 -07:00
Richard Brice
4f2b083ffc
Revises implementation of operator(IfcSchema::IfcClothoid*) to use trapezoid rule numeric integration.
...
This is a more general approach than the Taylor Series approximation and is applicable to all the other spiral types. I stubbed out a functor for IfcSecondOrderPolynomialSpiral, but haven't tested it. The purpose is to show the concept.
2023-09-28 11:51:26 -07:00
Richard Brice
6ae0cce186
Implements mapping of IfcCurveSegment to taxonomy::geometry
2023-09-27 11:16:55 -07:00
Richard Brice
3e272efce4
Fixes cast to IfcCurveSegment for access to ParentCurve
2023-09-22 13:49:18 -07:00
Richard Brice
04b70efd7f
Fixed problem with call to boost::mpl::for_each
2023-09-21 15:48:45 -07:00
Richard Brice
53028d9c97
Updated build scripts to use boost_1.79.0
2023-09-21 15:48:45 -07:00
Thomas Krijnen
3bc9f81b6a
Remove 4x3 RCs from cmake defaults
2023-09-17 21:02:05 +02:00
Thomas Krijnen
053e3a3191
#3098 Move boost::type application to curve to template function
2023-09-17 09:35:14 +02:00
Thomas Krijnen
a14c40feda
Check for empty result from map(IfcRepresentation) in iterator
2023-09-16 22:23:22 +02:00
Thomas Krijnen
88ef7c75b8
#3098 IfcCurveSegment and IfcClothoid handling (?)
2023-09-16 22:23:04 +02:00
Thomas Krijnen
79d456bbf1
mapping: always overwrite orientation of loop as facebound
2023-09-14 21:58:46 +02:00
Thomas Krijnen
380cf4eca5
cgal kernel: permissiveness for multiple outer bounds in face
2023-09-14 21:58:06 +02:00
Thomas Krijnen
179e3049dd
cgal kernel: Continue with invalid state after triangulation
2023-09-14 21:57:23 +02:00
Thomas Krijnen
5bead4b219
#2805 Apply changes to v0.8 geometry mapping as well
2023-09-14 11:33:23 +02:00
Thomas Krijnen
cae5a80397
Apply e9d0b8ab6 part of Serialization
2023-09-14 10:07:22 +02:00
Thomas Krijnen
02864f96e0
#2819 Handle periodic bspline curves in serialization
2023-09-14 10:03:19 +02:00
Thomas Krijnen
085d420d7c
#2819 Mark rep id as AdvancedBrep
2023-09-14 10:03:18 +02:00
Dirk Olbrich
43b525e7e7
cmake: add use of ccache
2023-09-14 09:29:20 +02:00
Dirk Olbrich
1534e5cef5
cmake: fix regex for option flags
2023-09-14 09:29:20 +02:00
Dirk Olbrich
1263f3c4d3
cmake: move all macros/functions into utility file
2023-09-14 09:29:20 +02:00
Dirk Olbrich
b3d10ce43e
clang-tidy: add basic checks
2023-09-14 09:29:20 +02:00
Dirk Olbrich
66a0b56443
cmake: bump version and add compile commands
2023-09-14 09:29:20 +02:00
Dirk Olbrich
e341fb9892
clangd: gitignore cache
2023-09-14 09:29:20 +02:00
Thomas Krijnen
eca4eba747
Remove logging statement
2023-09-14 09:27:26 +02:00
Thomas Krijnen
727ea55315
Apply ifcparse/ part of '65cb47e2d892d84c0d3d8e89ba157360c6902c7f'
2023-09-14 09:27:08 +02:00
Thomas Krijnen
d7951668e9
Case sensitivity on entity str comparison from cmd line https://sourceforge.net/p/ifcopenshell/discussion/1782717/thread/2bf3324a7f
2023-09-14 09:21:12 +02:00
Dirk Olbrich
8bb0ffd2c7
ifcparse: fix compiler warning -Wignored-qualifiers
2023-09-14 09:21:11 +02:00
Thomas Krijnen
1641ad0047
#2805 IFC4X3 codegen
2023-09-14 09:21:10 +02:00
Thomas Krijnen
a40e359620
#2805 Pasta errors
2023-09-14 09:14:32 +02:00
Thomas Krijnen
b374454f3a
#2805 template keyword for gcc
2023-09-14 09:14:32 +02:00
Thomas Krijnen
b4ee981134
#2805 Rerun codegen
2023-09-14 09:14:27 +02:00
Thomas Krijnen
5dabcbb944
#2805 Use dynamic cast for generalize() due to virtual inheritance of selects
2023-09-14 09:14:21 +02:00
Thomas Krijnen
39c1face4d
#2805 update hierarchy helper
2023-09-14 09:14:21 +02:00
Thomas Krijnen
6180627acd
#2805 rerun codegen
2023-09-14 09:14:16 +02:00
Thomas Krijnen
1a014046a9
#2805 rerun codegen
2023-09-14 09:14:08 +02:00
Thomas Krijnen
c0abaa36f4
fix syntax error on gcc
2023-09-14 09:14:01 +02:00
Thomas Krijnen
db3a6c8ef7
typename :(
2023-09-14 09:14:01 +02:00
Thomas Krijnen
52421a6398
Fix IfcFile::getInverse<T>()
2023-09-14 09:14:00 +02:00
Thomas Krijnen
063bb0a017
#3139 Capture parsed selected simple type values
2023-09-14 09:14:00 +02:00
Shohei Kunimatsu
1767b09bbc
Fix wrong attribute name usage (ValueComponent -> UnitComponent) in IfcFile::getUnit
2023-09-14 09:14:00 +02:00
Thomas Krijnen
235c32875d
Use plane eq snapping for boolean ops in cgal and other strategies in addition to minkowsky sum dilation
2023-09-13 22:05:23 +02:00
Thomas Krijnen
5eff7178da
Restructure cgal shape triangulation
2023-09-13 22:05:22 +02:00
Thomas Krijnen
0116be1386
Use geobim tooling as a provisional iterator adaptor
2023-09-13 22:05:22 +02:00
Dirk Olbrich
8d85aaba6d
cmake: reset to c++17
2023-09-11 11:40:20 +02:00
Dirk Olbrich
309a29faf2
cmake: reapply changes for cgal from v0.8
2023-09-11 11:40:20 +02:00
Dirk Olbrich
6b692d8772
cmake: merge 'v0.7.0' into 'v0.8.0'
2023-09-11 11:40:20 +02:00
Thomas Krijnen
a393d694df
Update submodule
2023-09-11 11:37:08 +02:00
Thomas Krijnen
4127247230
Reference correct cgal kernel impl and build wrapper with /force:multiple as well
2023-08-26 13:42:42 +02:00
Thomas Krijnen
4bb3cc5c90
Fix transformation in serialization element, accept geometry library in more geom functions
2023-08-26 11:35:23 +02:00
Thomas Krijnen
5336b2f987
Implement shape serialization for cgal, possibility to supply geometry library to iterator in py
2023-08-25 21:46:32 +02:00
krande
3f4d183680
ready for PR
2023-08-03 16:27:29 +08:00
krande
85943c8086
add platform conda pkg dir in matrix
2023-08-03 16:27:29 +08:00
krande
a67bb8b2ff
add platform specific anaconda uploads
2023-08-03 16:27:29 +08:00
krande
339aea0295
ready v0.8 branch for conda daily PR
2023-08-03 16:27:29 +08:00
Thomas Krijnen
dad5845db7
Fix compilation of gserver
2023-08-01 11:52:11 +08:00
Thomas Krijnen
d34b1e9545
Fix compilation of wrapper
2023-08-01 08:56:16 +08:00
Thomas Krijnen
b7f73153cc
Update unused filter() function
2023-07-31 16:01:29 +08:00
Thomas Krijnen
73fdeaf2a7
Fully qualify namespace
2023-07-31 15:01:36 +08:00
Thomas Krijnen
65a5646bf0
Major update: taxonomy shared pointers, collection type safety, work towards hashing
2023-07-27 16:42:06 +08:00
Thomas Krijnen
98a73f1646
Add occt build script patch for V7_7_1
2023-04-10 14:47:30 +02:00
Thomas Krijnen
9af7d33814
Update build-all.py
2023-04-10 14:31:20 +02:00
Thomas Krijnen
eeddd5127b
Update occt version number on win
2023-04-10 14:28:30 +02:00
Thomas Krijnen
8329a1dea1
Use taxonomy::matrix4 instead of Eigen::Matrix4d in profile helper which has default constructor to identity
2023-04-10 14:22:43 +02:00
Thomas Krijnen
11a515a025
Improve error reporting in test_wall_opening.py
2023-04-10 14:22:43 +02:00
Thomas Krijnen
09f6992c65
Fix linking of wrapper on GCC
2023-04-09 19:28:57 +00:00
Thomas Krijnen
933f7fced2
Merge OCCT 7.6+ compatibility
2023-04-09 19:28:37 +00:00
Thomas Krijnen
ed00fc282a
Update nix build script to OCCT 7.7.1
2023-04-09 19:27:58 +00:00
Thomas Krijnen
d12d14e7f2
Experiment with simple_cartesian<double> kernel
2023-04-03 13:34:35 +02:00
Thomas Krijnen
49416808d4
Make use of identity in faceset helper
2023-04-03 13:33:22 +02:00
Thomas Krijnen
9d5fe1fee4
Fix some mapping errors
2023-04-03 13:31:52 +02:00
Thomas Krijnen
cc223dd5b4
Add identity int to taxonomy item
2023-04-03 13:31:22 +02:00
Thomas Krijnen
2ac66571b0
Update build-all python versions
2023-04-01 13:51:12 +02:00
Thomas Krijnen
48798ae07d
Use linker groups on gcc to fix geomserver build
2023-03-31 21:58:53 +02:00
aothms
99abc6e0e2
Fix errors on clang
2023-03-31 15:19:39 -04:00
Thomas Krijnen
a3e3a6bd0c
Update build-all.py
2023-03-31 15:29:21 +02:00
Thomas Krijnen
b3f0140bb5
Also support exporting OBJ exterior shell
2023-03-31 15:19:54 +02:00
Thomas Krijnen
b8c6bda006
Update cd.yml
2023-03-31 13:04:01 +02:00
Thomas Krijnen
64ff23c8f3
Update ci.yml
2023-03-31 13:03:25 +02:00
Thomas Krijnen
7e2fb6d578
Update cd.yml
2023-03-31 12:31:16 +02:00
Thomas Krijnen
cd6967cf2b
Return axis rep even when assigned to model context
2023-03-31 12:28:22 +02:00
Thomas Krijnen
3e69f061ea
Fix for msb without voids
2023-03-31 12:28:22 +02:00
Thomas Krijnen
ab99a0486d
Fix retrieval of native element
2023-03-31 12:28:22 +02:00
Thomas Krijnen
442ba56972
Proceed with citygml conversion integration
2023-03-31 12:28:22 +02:00
Thomas Krijnen
12142568c2
Update ci-py-only.yml
2023-03-30 14:57:28 +02:00
Thomas Krijnen
ab206da885
Update ConversionSettings.h
2023-03-30 14:29:06 +02:00
Thomas Krijnen
348a333323
Update ConversionSettings.h
2023-03-30 14:28:25 +02:00
Thomas Krijnen
7fb921e5d0
Update cd.yml
2023-03-30 11:54:00 +02:00
Thomas Krijnen
a1f48da120
Update ci-py-only.yml
2023-03-30 11:53:57 +02:00
Thomas Krijnen
11a21e5d3f
Update ci.yml
2023-03-30 11:53:53 +02:00
Thomas Krijnen
5b2f7653eb
Integerate cityjson converter
2023-03-30 11:29:09 +02:00
Thomas Krijnen
f1ce5f17e8
Merge remote-tracking branch 'origin/v0.7.0' into v0.8.0
2023-03-29 18:06:50 +02:00
Thomas Krijnen
fc05c096f6
Undef var rrrors after merge
2023-03-29 15:56:41 +02:00
Thomas Krijnen
2c0e791c6e
Rerun codegen
2023-03-29 15:36:07 +02:00
Thomas Krijnen
c32c88b1a0
Merge remote-tracking branch 'origin/v0.7.0' into v0.8.0
2023-03-29 12:55:05 +02:00
Thomas Krijnen
05a7aac62e
Prevent double counting elements in single threaded mode
2023-03-28 15:20:54 +02:00
Thomas Krijnen
b108452cb1
Compilation error
2023-03-28 10:01:09 +02:00
Thomas Krijnen
f803a38fbb
Revert "Some warnings"
...
This reverts commit 468d8effc8 .
2023-03-27 21:22:04 +02:00
Thomas Krijnen
468d8effc8
Some warnings
2023-03-27 21:09:25 +02:00
Thomas Krijnen
625ce773c5
Fix segfault in loop.cpp on empty instance
2023-03-27 21:08:52 +02:00
Thomas Krijnen
635f3ca30e
Rerun codegen
2023-03-27 14:05:40 +02:00
Thomas Krijnen
96fbe9e5b6
String pooling and reducing duplication in schema codegen
2023-03-27 14:04:32 +02:00
Thomas Krijnen
c964559b91
taxonomy string formatting
2023-03-27 14:02:53 +02:00
Thomas Krijnen
1adcce509f
Presentation style handling for 4.3
2023-03-27 14:02:21 +02:00
Thomas Krijnen
b957e629b5
Update wrapper code
2023-03-22 15:25:14 +01:00
Thomas Krijnen
031694af2b
Make cgal optional
2023-03-22 11:47:00 +01:00
Thomas Krijnen
2b1b79bf1c
Make occt optional
2023-03-22 11:17:14 +01:00
Thomas Krijnen
cb35378a73
4x3 segment compatibilty
2023-03-22 09:55:04 +01:00
Thomas Krijnen
236f470ae6
Update geom server
2023-03-22 09:28:02 +01:00
Thomas Krijnen
de93ad1e92
Duplicate const
2023-03-22 09:12:19 +01:00
Thomas Krijnen
4d5a77d8e3
Ambiguous overload
2023-03-22 09:02:57 +01:00
Thomas Krijnen
358b120108
Case sensitivity
2023-03-22 08:45:30 +01:00
Thomas Krijnen
4b36f9a8f9
Update ci.yml
2023-03-21 20:38:43 +01:00
Thomas Krijnen
7594aa8d0c
Update ci-py-only.yml
2023-03-21 20:38:19 +01:00
Thomas Krijnen
b92fa5eab2
Proceed with merge
2023-03-21 20:26:11 +01:00
Thomas Krijnen
c78b2893de
Proceed with merge
2023-03-21 20:15:01 +01:00
Thomas Krijnen
cfb0eda067
Fix eigen installs
2022-11-15 22:19:24 +01:00
Thomas Krijnen
a85571979e
Merge branch 'v0.8.0' into v0.8.0-merge
2022-11-15 15:11:00 +01:00
Thomas Krijnen
ccde605029
File renames, build script and cmake updates
2022-11-15 13:19:24 +01:00
Thomas Krijnen
6d59e6ea90
Fixes for transform and mapped item reuse in taxonomy
2020-07-09 22:09:54 +02:00
Thomas Krijnen
0e2bac5e3b
Shape reuse based on std::less
2020-07-08 12:07:10 +02:00
Thomas Krijnen
6aafff2c40
taxonomy printing and different trimmed curve orientation handling
2020-06-21 15:15:49 +02:00
Thomas Krijnen
eacea738f9
move dispatch curve creation
2020-06-11 20:51:22 +02:00
Thomas Krijnen
7f60ea9c52
cgal curve implementations
2020-06-11 20:51:08 +02:00
Thomas Krijnen
b85e03374a
Workaround singularity issues in gp_GTrsf
2020-06-11 20:50:50 +02:00
Thomas Krijnen
939d1a6c4f
implement triangulation transformation in eigen
2020-06-11 20:50:13 +02:00
Thomas Krijnen
018f1ea1d4
fix radius
2020-06-11 20:49:53 +02:00
Thomas Krijnen
52a3d627e2
mapped item implementation
2020-06-11 20:49:44 +02:00
Thomas Krijnen
109131961f
heap alloc for eigen types for alignment issues
2020-06-11 20:48:35 +02:00
Thomas Krijnen
185b4ef9fa
shell based surface model
2020-06-11 20:44:29 +02:00
Thomas Krijnen
0fa05f7339
Note on segfault
2020-04-29 10:06:23 +02:00
Thomas Krijnen
0b659ce4f6
Update CMakeLists.txt
2020-04-28 13:54:41 +02:00
aothms
55024e1e8a
Update cmake install directives
2020-04-05 09:41:20 +00:00
aothms
53477cc8e2
Small fixes for gcc
2020-04-03 15:05:50 +00:00
aothms
bba7295edf
Small fixes for gcc
2020-04-03 14:56:46 +00:00
Thomas Krijnen
9b391d3d47
Remove auto from lambda parameter declaration
2020-04-03 16:24:07 +02:00
Thomas Krijnen
5d21d26f24
Fix glTF transformation
2020-04-03 16:21:16 +02:00
Thomas Krijnen
47b2da6082
Fix gltf serializer compilation
2020-04-03 14:23:23 +02:00
aothms
63b9b7baa7
Nullptr return types
2020-04-03 12:01:58 +00:00
aothms
33e092c8d5
Update occt tree
2020-04-03 12:01:30 +00:00
aothms
4d23a442be
Eigen in nix build
2020-04-03 12:00:48 +00:00
Thomas Krijnen
3113976ee5
Implement fillets and a couple of profiles
2020-03-30 14:31:59 +02:00
Thomas Krijnen
048ee84ae6
Propagate failure on representation to product
2020-03-27 14:06:43 +01:00
Thomas Krijnen
4aef5dbd10
Small fixes
2020-03-23 09:20:01 +01:00
Thomas Krijnen
60b160461e
Update README
2020-02-01 11:23:01 +01:00
Thomas Krijnen
df6852d2ac
space boundaries
2020-02-01 11:16:09 +01:00
Thomas Krijnen
6b250b3ccf
manifold solid brep
2020-02-01 11:15:40 +01:00
Thomas Krijnen
bca78e086d
Storey containment fuzziness
2020-01-31 11:58:14 +01:00
Thomas Krijnen
cbf147b9f9
area overlap
2020-01-31 11:57:52 +01:00
Thomas Krijnen
a805496895
Disable polyline point removal
2020-01-29 17:29:33 +01:00
Thomas Krijnen
b91a34c8c6
Track time; fixes for wall connectivity check
2020-01-29 14:57:49 +01:00
Thomas Krijnen
e448312d41
Reporting for wall connectivity
2020-01-27 10:42:01 +01:00
Thomas Krijnen
1d6f20c48d
Fix wall connectivity
2020-01-26 17:11:14 +01:00
Thomas Krijnen
7a8a5e2ebb
Dont close polylines automatically
2020-01-26 17:11:02 +01:00
Thomas Krijnen
b6a7ba1e1c
Fix for open polyhedra
2020-01-26 13:58:02 +01:00
Thomas Krijnen
060c35939a
Wall connectivity
2020-01-26 13:12:19 +01:00
Thomas Krijnen
030ea06aac
Fix placement on containment case
2020-01-25 14:24:18 +01:00
Thomas Krijnen
3575aded90
containment check
2020-01-21 16:26:00 +01:00
Thomas Krijnen
487be4b65e
Correct projection to middle surface
2019-12-14 16:17:36 +01:00
Thomas Krijnen
612fb8d8d5
Average space boundary construction in Nef polyhedra
2019-12-14 14:50:20 +01:00
Thomas Krijnen
a729f489ee
Fix double free
2019-12-14 14:41:41 +01:00
Thomas Krijnen
59b04c7857
Validation work using Nef
2019-12-14 13:25:30 +01:00
Thomas Krijnen
a5de17228a
Work towards space boundaries fix
2019-10-06 19:03:31 +02:00
Thomas Krijnen
f391b425ba
dilate as boolean
2019-10-06 09:11:44 +02:00
Thomas Krijnen
389964c9f4
cgal boolean result and minkowski sum for dilation
2019-09-25 15:30:11 +02:00
Thomas Krijnen
11ad1b2cc5
cgal extrusion
2019-09-24 15:46:50 +02:00
Thomas Krijnen
d91ac7363f
Mark loops from profile_helper as external
2019-09-22 16:02:48 +02:00
Thomas Krijnen
0085393884
Take into account vertex welding
2019-09-22 16:02:22 +02:00
Thomas Krijnen
61403e878e
Try catch face normal computation
2019-09-22 16:02:05 +02:00
Thomas Krijnen
a1671448db
Default static runtime to off.
2019-09-22 15:05:14 +02:00
Thomas Krijnen
474786c4c5
IfcArbitraryProfileDefWithVoids
2019-09-22 10:32:03 +02:00
Thomas Krijnen
1f4bc28e2b
Product placements and openings
2019-09-19 10:11:01 +02:00
Thomas Krijnen
3cde411e1b
halfspaces and boolean ops
2019-09-18 16:35:26 +02:00
Thomas Krijnen
a447dc6208
Work towards trimmed curves
2019-09-16 19:30:11 +02:00
Thomas Krijnen
3731c95728
Mapped item
2019-09-16 17:40:55 +02:00
Thomas Krijnen
d59f3e9932
Polyline
2019-09-16 15:40:13 +02:00
Thomas Krijnen
04bce57e80
Fix placements
2019-09-16 10:25:39 +02:00
Thomas Krijnen
e3041219b5
Further work on profiles
2019-09-15 15:59:05 +02:00
Thomas Krijnen
0c54bdcd54
Cleanup
2019-09-04 09:10:57 +02:00
Thomas Krijnen
bed9c44883
mark bounds as external based on entity type
2019-09-01 18:46:11 +02:00
Thomas Krijnen
8efb86420e
Compilation errors
2019-09-01 16:48:50 +02:00
Thomas Krijnen
7f8bed9922
Begin reenable CGAL kernel
2019-09-01 16:29:00 +02:00
Thomas Krijnen
816c0d3618
Fix placements
2019-09-01 13:36:46 +02:00
Thomas Krijnen
2e7c43f590
Work on placements
2019-09-01 10:36:49 +02:00
Thomas Krijnen
ca2a4f243d
initialize units in mapping
2019-09-01 09:18:29 +02:00
Thomas Krijnen
64ee3e9af3
closed shell; placements; faceset_helper
2019-08-28 09:54:20 +02:00
Thomas Krijnen
3bfe3b9ab5
Seperate map() and map_impl() for automatic taxonomy item <> ifc instance mapping
2019-08-28 09:24:00 +02:00
Thomas Krijnen
640b08159f
Work on shells
2019-08-27 18:59:19 +02:00
Thomas Krijnen
f17036313d
Work on face boundaries
2019-08-26 17:19:06 +02:00
Thomas Krijnen
8b4900b0e1
Work on shell conversino
2019-08-25 16:07:10 +02:00
Thomas Krijnen
41d7fb32da
Provide collection implementation in abstract_kernel
2019-08-25 12:00:04 +02:00
Thomas Krijnen
8ec2019003
Fix enumeration order
2019-08-25 11:50:40 +02:00
Thomas Krijnen
26d7af1450
Implement additional mappings
2019-08-24 18:32:30 +02:00
Thomas Krijnen
2f1861db7b
Declare conversions for reuse detection
2019-08-24 17:36:17 +02:00
Thomas Krijnen
94aa7dfab4
Close to working executable
2019-08-18 15:53:26 +02:00
Thomas Krijnen
8f88c601c6
IfcConvert links on windows
2019-08-18 14:31:22 +02:00
Thomas Krijnen
85171bb5df
Remove ConversionResultPlacement, fix some errors
2019-08-18 08:37:59 +02:00
Thomas Krijnen
585b89be87
Fix compilation of serializers and convert
2019-08-17 09:47:07 +02:00
Thomas Krijnen
ddeaf5a375
More work
2019-08-16 17:40:13 +02:00
Thomas Krijnen
dae35f59ce
Implement mapping of IfcExtrudedAreaSolid
2019-08-04 11:27:10 +02:00
Thomas Krijnen
467ebb68a3
First step at reorganizing
2019-08-04 09:36:31 +02:00
Thomas Krijnen
c8def0474e
Update examples
2019-08-03 16:11:02 +02:00
Thomas Krijnen
f6aa7c8930
Additional merge issues
2019-08-03 15:43:14 +02:00
Thomas Krijnen
92f7d26835
Work on Python wrapper
2019-08-03 15:09:50 +02:00
Thomas Krijnen
5ccc7213a0
Merge remote-tracking branch 'origin/v0.6.0' into v0.7.0
2019-08-03 14:50:08 +02:00
Thomas Krijnen
fd9c57b77d
Merge branch 'v0.6.0' into v0.7.0
2019-08-02 17:56:45 +02:00
Thomas Krijnen
b08e52bd9b
Merge remote-tracking branch 'origin/v0.6.0' into v0.7.0
2019-08-02 13:23:41 +02:00
Thomas Krijnen
0cb2c81227
Rough draft of a client application for the C++ IfcGeomServer binary
2019-05-15 17:13:29 +02:00
Thomas Krijnen
bbf271a10e
Fix volume calculation with voxels in geom server
2019-05-15 17:07:16 +02:00
Thomas Krijnen
d45d843173
Fix CMake error
2019-05-15 14:27:31 +02:00
Thomas Krijnen
4fa283fb3c
Write voxelization logic in geom server
2019-05-15 13:57:50 +02:00
Thomas Krijnen
4400a6ea4f
Make use of cgal configurable
2019-05-15 11:13:58 +02:00
Thomas Krijnen
9cb321e73d
Move include up for M_PI def on MSVC
2019-05-10 14:38:42 +02:00
Thomas Krijnen
e566af84c2
Fix geom server for schema agnosticism
2019-05-10 14:35:42 +02:00
Thomas Krijnen
310013dfe4
Fix compilation error from merge
2019-05-10 14:35:20 +02:00
Thomas Krijnen
de3633e742
Cmake find voxels
2019-05-10 14:35:00 +02:00
Thomas Krijnen
a24ad023a5
CGAL win build script
2019-05-10 13:46:13 +02:00
Thomas Krijnen
adc0e92528
Fix remaining conflict
2019-05-10 13:42:16 +02:00
Thomas Krijnen
46ba5661d6
Merge branch 'v0.6.0' into v0.7.0
2019-05-10 13:37:42 +02:00
Thomas Krijnen
33bcf786fd
MPIR and MPFR in win build script
2019-05-03 10:46:59 +02:00
Thomas Krijnen
8e6a6ec56d
Add voxelization_toolkit to win build script
2019-04-30 14:36:55 +02:00
Thomas Krijnen
b862f633db
Fix voxel library in nix build script
2019-04-30 13:24:28 +02:00
Thomas Krijnen
f9e839817d
Add opensourceBIM/voxel to nix build script
2019-04-27 14:37:31 +02:00
Thomas Krijnen
a0c01ff756
Merge branch 'v0.6.0' into v0.7.0
...
# Conflicts:
# cmake/CMakeLists.txt
# src/ifcconvert/IfcConvert.cpp
# src/ifcgeom/IfcGeomRepresentation.h
# src/ifcgeom/IfcRepresentationShapeItem.h
# src/ifcgeom/kernels/opencascade/IfcGeomFunctions.cpp
# src/ifcgeom/schema_agnostic/IfcGeomRepresentation.cpp
# src/ifcgeom/schema_agnostic/Kernel.cpp
# src/ifcgeom/schema_agnostic/Kernel.h
# src/ifcgeomserver/IfcGeomServer.cpp
# src/serializers/schema_dependent/XmlSerializer.cpp
2019-04-26 15:07:50 +02:00
Thomas Krijnen
5b066c9f95
Don't convert to Nef if there are no voids
2019-01-25 15:19:52 +01:00
Thomas Krijnen
3afb9169b1
Implement missing virtual function in CgalKernel
2019-01-25 14:25:34 +01:00
Thomas Krijnen
24b552a822
Merge fixes
2019-01-23 17:27:13 +01:00
Thomas Krijnen
884064f213
Merge remote-tracking branch 'cgal/cgal' into v0.7.0
2019-01-23 15:44:19 +01:00
Thomas Krijnen
4d39dbca2a
Build static cgal, fix null pointer access
2019-01-23 15:10:20 +01:00
Thomas Krijnen
30479ca0a6
Fixes for compilation of cgal kernel
2019-01-23 12:34:21 +01:00
Thomas Krijnen
a7a1ad129e
Merge commit '6b47e9ca1d18df4b1cd2c66e488ad91f9730ecdf' into v0.7.0
...
# Conflicts:
# cmake/CMakeLists.txt
# nix/build-all.py
# test/input
2019-01-22 13:00:49 +01:00
Thomas Krijnen
bea627d01e
Merge commit '6b47e9ca1d18df4b1cd2c66e488ad91f9730ecdf' into v0.7.0
2019-01-22 12:47:21 +01:00
Thomas Krijnen
059a1cb14b
Merge commit '4d12bf7e8df4bd144526eeb5994802d308b40297' into v0.7.0
2019-01-22 12:38:02 +01:00
Thomas Krijnen
8c5349feaa
Introduce AbstractKernel
2019-01-20 13:16:42 +01:00
Thomas Krijnen
fa0a33f3c0
Option to select Kernel from IfcConvert
2019-01-19 12:39:47 +01:00
Thomas Krijnen
5a7c7ed048
Shuffle project structure
2019-01-18 16:43:38 +01:00
Thomas Krijnen
16d6420352
More work on enabling cgal kernel
2019-01-18 15:19:00 +01:00
Thomas Krijnen
d804575974
Cgal kernel skeleton
2019-01-18 12:10:18 +01:00
Thomas Krijnen
ad24b6be0f
Isolate (most of the) geometry processing code into separate opencascade kernel
2019-01-18 11:23:19 +01:00
Thomas Krijnen
0072e1f247
CMake CGAL version of IfcGeom
2019-01-16 14:44:43 +01:00
Thomas Krijnen
116b80cf91
Fix MPFR download location
2019-01-16 14:41:34 +01:00
Thomas Krijnen
208f6d4d74
Small fixes to build script
2019-01-16 14:18:36 +01:00
Thomas Krijnen
a0dfdc78ef
Add cgal to IfcGeom deps
2019-01-16 14:06:17 +01:00
Thomas Krijnen
cf2dd2aa8d
Add GMP MPFR CGAL to build script
2019-01-16 14:04:05 +01:00
Thomas Krijnen
6737b54457
Add GMP MPFR CGAL to build script
2019-01-16 13:59:10 +01:00
Thomas Krijnen
9ae55ab303
Small fixes to transformations
2017-06-06 17:12:46 +02:00
Ken Arroyo Ohori
8baf6197d5
Merge pull request #16 from kenohori/cgal
...
Validation code to catch more cases of invalid objects
2017-04-25 10:22:33 -05:00
Ken Arroyo Ohori
42f23a786f
Output all errors as separate files
2017-04-25 13:45:18 +02:00
Ken Arroyo Ohori
8b539d2b93
Requirement for self-intersection tests
2017-04-25 13:44:57 +02:00
Ken Arroyo Ohori
b732759388
Comprehensive validation code for opening subtractions
2017-04-25 13:44:34 +02:00
Ken Arroyo Ohori
02244400ab
Remove old debug code
2017-04-25 13:43:55 +02:00
Ken Arroyo Ohori
85a36738d2
Comment out triangulation code
2017-04-25 13:42:38 +02:00
Ken Arroyo Ohori
164e67a50b
Catching some more CGAL errors, allow non-closed meshes, start of new code to triangulate faces
2017-04-21 15:43:19 +02:00
Ken Arroyo Ohori
de83633891
Merge pull request #15 from kenohori/cgal
...
Catching some errors during conversion to/from Nef, tapered extrusions
2017-04-12 23:10:46 -05:00
Ken Arroyo Ohori
9f2a617ad7
Catch a few nasty cases in triangulation, more efficient to only compute face normals
2017-04-10 18:54:30 -05:00
Ken Arroyo Ohori
26bd03e407
Ditto
2017-04-10 18:53:52 -05:00
Ken Arroyo Ohori
248c73c2ab
Catch failures to convert Nef to Polyhedron_3
2017-04-10 18:53:28 -05:00
Thomas Krijnen
8d9acfa677
Attempt to fix travis build w/ CGAL
2017-04-06 15:23:45 +02:00
Thomas Krijnen
7b7f9b4852
Attempt to fix travis build w/ CGAL
2017-04-06 14:57:10 +02:00
Thomas Krijnen
7189219aa4
Attempt to fix travis build w/ CGAL
2017-04-06 14:44:57 +02:00
Ken Arroyo Ohori
f03a228280
Merge pull request #3 from aothms/cgal
...
Thomas fixed the transformations
2017-04-05 18:07:32 -05:00
Thomas Krijnen
91e5b337d3
Reverse matrix multiplication order
2017-04-05 16:06:07 +02:00
Thomas Krijnen
009f50abe1
Fix compilation on MSVC
2017-04-05 15:57:21 +02:00
Ken Arroyo Ohori
c9267d7ace
Fixed orientation bug in tapered extrusions
2017-03-30 21:11:05 -06:00
Ken Arroyo Ohori
4a340027bf
IfcExtrudedAreaSolidTapered (with problems?)
2017-03-30 20:12:23 -06:00
Ken Arroyo Ohori
612f8f36db
Merge pull request #14 from kenohori/cgal
...
Bugfixes + some validation code when creating New polyhedra
2017-03-30 19:16:48 -06:00
Ken Arroyo Ohori
c1887f3f1f
And the rest
2017-03-30 19:16:11 -06:00
Ken Arroyo Ohori
71ad7dd4bc
Forgot one line
2017-03-30 19:06:47 -06:00
Ken Arroyo Ohori
ed9676ed38
Squashed some bugs
2017-03-30 19:04:39 -06:00
Ken Arroyo Ohori
a6195290f5
Merge pull request #13 from kenohori/cgal
...
Move shapes back to Polyhedron_3, more IFC entities supported, bugfixes
2017-03-23 20:33:52 -06:00
Ken Arroyo Ohori
583c334802
Removed sphere radius at some point
2017-03-23 20:31:41 -06:00
Ken Arroyo Ohori
f8f4db72ec
IfcDerivedProfileDef
2017-03-23 20:25:54 -06:00
Ken Arroyo Ohori
dd206a2a52
A few more simple IFC classes to fill in things
2017-03-23 20:20:43 -06:00
Ken Arroyo Ohori
12967790ba
Switched back to Polyhedron_3 for shapes. Should be checked.
2017-03-23 19:49:15 -06:00
Ken Arroyo Ohori
d0b71a2e57
Merge pull request #12 from kenohori/cgal
...
Reorganisation, export of non-simple New polyhedra, (very slow) solution to create open meshes
2017-03-20 20:59:19 -06:00
Ken Arroyo Ohori
4061f93560
Export non-simple Nef too
2017-03-20 20:57:17 -06:00
Ken Arroyo Ohori
71d7bbd6ba
Ordering things…
2017-03-20 20:06:48 -06:00
Ken Arroyo Ohori
62ca6f6a7d
Checked shapes with styles. Found bug?
2017-03-20 16:45:27 -06:00
Ken Arroyo Ohori
8090bb4c00
Shapes with styles in separate file
2017-03-20 16:35:14 -06:00
Ken Arroyo Ohori
cf6bd5a629
Enabled missing Cartesian transformations
2017-03-20 16:31:06 -06:00
Ken Arroyo Ohori
cf9605f108
Missing Shapes, support for voids
2017-03-20 15:56:31 -06:00
Ken Arroyo Ohori
507d4778fa
Merge pull request #11 from kenohori/cgal
...
Bugfixes in placements, half space solids and validation code
2017-03-17 19:27:34 -06:00
Ken Arroyo Ohori
95e6c14f39
Hack to solve issues with IfcHalfSpaceSolid. Not ideal.
2017-03-17 19:24:51 -06:00
Ken Arroyo Ohori
2bbe80fd28
Problems with extended kernel experiment, but this should be incorporated in any case
2017-03-17 16:12:24 -06:00
Ken Arroyo Ohori
0ffa633a6d
Better validation
2017-03-16 19:30:39 -06:00
Ken Arroyo Ohori
30e88210b2
Simplified code by moving Nef creation outside
2017-03-16 19:20:41 -06:00
Ken Arroyo Ohori
98ce04ed64
Fix logic of transformations
2017-03-16 18:44:25 -06:00
Ken Arroyo Ohori
d2aef0fcbd
2D Cartesian transformations (untested)
2017-03-13 22:32:12 -06:00
Ken Arroyo Ohori
38cbdbc0f4
Correct way to create trimmed parametric curves?
2017-03-13 20:22:19 -06:00
Ken Arroyo Ohori
83689a1cec
Merge pull request #10 from kenohori/cgal
...
Basic support for (trimmed) curves
2017-03-13 19:29:20 -06:00
Ken Arroyo Ohori
81cb7f379e
Ignore output files in /test/
2017-03-13 19:26:54 -06:00
Ken Arroyo Ohori
7d16b725a3
IfcTrimmedCurve. Needs projection to closest point in curve?
2017-03-13 19:08:50 -06:00
Ken Arroyo Ohori
54331062c3
Basic curve types
2017-03-13 19:08:23 -06:00
Ken Arroyo Ohori
4419331710
Merge pull request #9 from kenohori/cgal
...
Fix issue with opening placements
2017-03-10 18:29:01 -06:00
Ken Arroyo Ohori
81a33309f3
Merge pull request #2 from aothms/cgal
...
Merge pull request #8 from kenohori/cgal
2017-03-10 18:28:17 -06:00
Ken Arroyo Ohori
d02918070d
Remove debug code
2017-03-10 18:26:15 -06:00
Ken Arroyo Ohori
ac7099ab39
Fixed bug with opening placements
2017-03-10 18:21:15 -06:00
Ken Arroyo Ohori
b5e79b2558
Debug code
2017-03-10 17:44:19 -06:00
Ken Arroyo Ohori
b1df91ffd9
Merge pull request #8 from kenohori/cgal
...
More profiles (T, U, Z) and support for openings
2017-03-09 18:45:34 -06:00
Ken Arroyo Ohori
287fb9f0ed
Convert openings and subtract them
2017-03-09 18:42:54 -06:00
Ken Arroyo Ohori
06c10dc4da
Correct plane creation?
2017-03-09 17:04:37 -06:00
Ken Arroyo Ohori
3972727f9d
Z profiles
2017-03-09 16:55:33 -06:00
Ken Arroyo Ohori
3e918180d2
U profiles
2017-03-09 16:46:09 -06:00
Ken Arroyo Ohori
0fbadc2985
T profiles
2017-03-09 16:29:14 -06:00
Ken Arroyo Ohori
8f89498a32
Merge pull request #1 from aothms/cgal
...
Merging back Thomas' latest changes
2017-03-09 09:46:48 -06:00
Thomas Krijnen
7bcd0d0a8d
Apply transformation to IfcExtrudedAreaSolid
2017-03-09 15:35:29 +01:00
Thomas Krijnen
0596827b9d
Fix null pointer access in tesselation of opencascade shape
2017-03-09 15:04:54 +01:00
Thomas Krijnen
619b4fbed5
Fix CGAL library linking on windows, conditional IfcTriangulatedFaceSet based on schema
2017-03-09 12:14:00 +01:00
Ken Arroyo Ohori
deea0f6558
Merge pull request #7 from kenohori/cgal
...
Composite curves, some profiles (C, I, L)
2017-03-08 20:13:33 -06:00
Ken Arroyo Ohori
15e4e1952f
I profiles (untested)
2017-03-08 20:11:45 -06:00
Ken Arroyo Ohori
e922212357
L profiles
2017-03-08 19:55:17 -06:00
Ken Arroyo Ohori
0d36693780
C profiles
2017-03-08 19:38:25 -06:00
Ken Arroyo Ohori
cb7ed51fc6
IfcCartesianTransformationOperator3DnonUniform (untested)
2017-03-07 20:00:32 -06:00
Ken Arroyo Ohori
a3df0556aa
Composite curves
2017-03-07 19:39:59 -06:00
Ken Arroyo Ohori
3f94d4af37
Skeleton for planes+halfspaces. Might be wrong.
2017-03-07 14:30:48 -06:00
Ken Arroyo Ohori
7f96b3a523
Merge pull request #6 from kenohori/cgal
...
Added several types of shapes and profiles
2017-03-07 13:55:15 -06:00
Ken Arroyo Ohori
27d8e86024
Hollow rectangle profiles, all tested now
2017-03-07 13:52:29 -06:00
Ken Arroyo Ohori
66048610e2
Rounded rectangles work now, def must be before rectangles
2017-03-07 13:41:04 -06:00
Ken Arroyo Ohori
31d4de228a
Extrusions with holes (Nef)
2017-03-07 13:18:49 -06:00
Ken Arroyo Ohori
29021d8b06
Hollow circles
2017-03-07 13:04:22 -06:00
Ken Arroyo Ohori
1fb76a9749
Switched to normals per vertex per face
2017-03-07 12:50:06 -06:00
Ken Arroyo Ohori
b299c27473
Switched to Nef_polyhedron_3. Some problems...
2017-03-06 19:28:12 -06:00
Ken Arroyo Ohori
64e385c361
Skeleton for IfcEdgeLoop and IfcOrientedEdge
2017-03-06 17:45:55 -06:00
Ken Arroyo Ohori
27b5fd0fc5
Debug code
2017-03-06 17:29:20 -06:00
Ken Arroyo Ohori
4f5ecee81e
Removing duplicate points, IfcCartesianTransformationOperator3D with problems
2017-03-06 16:03:29 -06:00
Ken Arroyo Ohori
ca19d447cc
Zero-radius rounded rectangles
2017-03-06 15:03:57 -06:00
Ken Arroyo Ohori
484cea968e
IfcTriangulatedFaceSet
2017-03-06 11:41:58 -06:00
Ken Arroyo Ohori
033a2e7482
IfcFaceBasedSurfaceModel
2017-03-06 11:28:57 -06:00
Ken Arroyo Ohori
1d3732aa62
IfcEllipseProfileDef
2017-03-06 11:23:37 -06:00
Ken Arroyo Ohori
584b2e5584
IfcTrapeziumProfileDef
2017-03-06 11:18:51 -06:00
Ken Arroyo Ohori
1bcc369c7a
Rounded rectangles
2017-03-06 11:12:06 -06:00
Ken Arroyo Ohori
64bc8e9d4f
Circular profiles, added missing transformation for rectangles
2017-03-06 10:52:57 -06:00
Ken Arroyo Ohori
b9828b029c
Right way to output more than one object
2017-03-03 15:25:45 -06:00
Ken Arroyo Ohori
749071601e
Merge pull request #5 from aothms/ken_first_steps
...
Reorganised code, Boolean ops seem to work
2017-03-03 13:59:58 -06:00
Ken Arroyo Ohori
bbe0b74f83
Boolean ops working?
2017-03-03 13:56:08 -06:00
Ken Arroyo Ohori
efb8bce25a
Didn’t save sphere output
2017-03-03 13:20:47 -06:00
Ken Arroyo Ohori
c59ae03cb3
Fixed bug in cylinders/cones
2017-03-03 13:12:05 -06:00
Ken Arroyo Ohori
7145b1ae85
Some debugging code, checking transformations
2017-03-03 12:58:52 -06:00
Ken Arroyo Ohori
596c4f8b77
Adding some validation code
2017-03-03 09:58:17 -06:00
Ken Arroyo Ohori
302e7b2db8
IfcRightCircularCone
2017-03-02 18:42:10 -06:00
Ken Arroyo Ohori
bece7053a0
IfcRightCircularCylinder
2017-03-02 18:39:18 -06:00
Ken Arroyo Ohori
82cd4056b7
IfcRectangularPyramid
2017-03-02 18:22:34 -06:00
Ken Arroyo Ohori
6297ff74f1
Boolean ops using Nef polyhedra (untested)
2017-03-02 18:11:11 -06:00
Ken Arroyo Ohori
c9633273a6
Several more classes, needs testing
2017-03-02 17:11:58 -06:00
Ken Arroyo Ohori
2cb53a860d
Entities for basic CSG
2017-03-02 15:09:05 -06:00
Ken Arroyo Ohori
db85bebc1a
Merge branch 'cgal' into ken_first_steps
2017-03-01 17:48:37 -06:00
Ken Arroyo Ohori
57fae25de8
Putting functions into files per geometric type
2017-03-01 17:48:19 -06:00
Thomas Krijnen
451ccd4e21
Merge pull request #4 from aothms/ken_first_steps
...
IfcManifoldSolidBrep and IfcConnectedFaceSet
2017-02-23 13:53:02 +01:00
Ken Arroyo Ohori
b893f5a3f0
Take into account extrusion height
2017-02-22 18:15:27 -06:00
Ken Arroyo Ohori
64eb707996
Fixed issue with transformations?
2017-02-21 18:40:27 -06:00
Ken Arroyo Ohori
c0732f5197
Trying to find out why placements don’t arrive at Triangulate()
2017-02-21 15:37:38 -06:00
Ken Arroyo Ohori
e47d128b18
Brep and swept solid working now
2017-02-20 20:14:49 -06:00
Ken Arroyo Ohori
9d4463b73a
Check for NULL placement
2017-02-13 15:26:06 -06:00
Ken Arroyo Ohori
d9d5f17725
Should be working now
2017-02-13 11:45:17 -06:00
Ken Arroyo Ohori
f4274e4b46
Skeleton for IfcExtrudedAreaSolid
2017-02-13 11:12:04 -06:00
Ken Arroyo Ohori
b463dfe88a
Changed --kernel parameter to --opencascade. Was conflicting with positional options for input.
2017-02-09 14:46:02 -06:00
Ken Arroyo Ohori
44634eb42d
Remove implemented throws, add faces and materials
2017-02-08 17:12:56 -06:00
Ken Arroyo Ohori
1755752ab7
IfcAxis2Placement2D
2017-02-08 16:56:59 -06:00
Ken Arroyo Ohori
7051104bc7
Basic code to output triangulation, something goes wrong when getting materials...
2017-02-08 16:12:19 -06:00
Ken Arroyo Ohori
2894b0cb92
Nothing is a pointer now. Initialisation is easier…
2017-02-07 20:37:47 -06:00
Ken Arroyo Ohori
42b512960b
Filling in most of the placement code. To check.
2017-02-07 20:25:04 -06:00
Ken Arroyo Ohori
96e9c8ecc1
Skeleton for IfcObjectPlacement and IfcAxis2Placement3D
2017-02-07 19:51:16 -06:00
Ken Arroyo Ohori
bae84b6753
Directions as CGAL Vector_3, more robust points
2017-02-07 19:50:51 -06:00
Ken Arroyo Ohori
e1702fc0cf
Return value for transformation, still needs to be initialised somewhere…
2017-02-06 16:22:54 -06:00
Ken Arroyo Ohori
6aff3d0f3d
Conversion result for breps
2017-02-06 16:22:36 -06:00
Thomas Krijnen
6b47e9ca1d
Add GMP MPFR and CGAL include/libs to cmake and build script
2017-02-04 16:38:57 +01:00
Ken Arroyo Ohori
1525cf6bfc
Polyhedra built with the incremental builder, IfcConvert crashes
2017-02-02 14:29:26 -06:00
Ken Arroyo Ohori
5724e1ac34
Face from IfcFace
2017-02-01 17:53:12 -06:00
Ken Arroyo Ohori
f2a45b7057
Fixed pointer bug, wires seem okay now
2017-02-01 15:57:25 -06:00
Ken Arroyo Ohori
233aaeaca2
Points and wires
2017-01-31 19:03:15 -06:00
Ken Arroyo Ohori
9c21e05184
Skeleton reaching all the way up to points, to be filled in
2017-01-31 18:53:00 -06:00
Ken Arroyo Ohori
0821dd4702
Skeleton for IfcManifoldSolidBrep and IfcConnectedFaceSet
2017-01-27 18:40:38 -06:00
Ken Arroyo Ohori
cac9c91c56
Mac metadata
2017-01-27 15:31:37 -06:00
Ken Arroyo Ohori
a4264f3143
Replaced macros, added basic CGAL definitions
2017-01-27 15:31:22 -06:00
Thomas Krijnen
4d12bf7e8d
Cgal kernel skeleton ( #3 )
...
Cgal kernel skeleton
2017-01-16 14:04:31 +01:00
Thomas Krijnen
3958204c1c
Don't build Python wrapper on Travis
2017-01-13 20:51:12 +01:00
Thomas Krijnen
d17f714dc5
Isolate geometry processing code into separate opencascade kernel
2017-01-13 20:51:12 +01:00
Thomas Krijnen
4fa7f293d6
cd to correct repository folder
2017-01-13 18:11:05 +01:00
Thomas Krijnen
7e3f96e410
Add GMP MPFR CGAL to build script
2017-01-09 17:14:49 +01:00
Thomas Krijnen
8018c9cc44
Add GMP MPFR CGAL to build script
2017-01-09 17:14:49 +01:00