Commit Graph

592 Commits

Author SHA1 Message Date
Andrej730 d42aa7d8cb root.remove_product fix 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 661441b231 remove_product to remove IfcRelConnectsElements 2024-04-16 10:05:48 +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
luzpaz 1819a45e4c Fix various typos in src/ifcgeom* subdirs 2024-04-16 10:05:04 +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
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
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 1357b83d99 Added support for OCCLUSION textures for 3aff29dec 2024-04-15 13:29:28 +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 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
Thomas Krijnen 5a601f16fd Correct if-clause 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
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
Sigma Dimensions 362409cdcb fix removing cost item value 2024-04-15 10:59:02 +02:00
Sigma Dimensions 65f1bff957 Ctrl+P and Alt+P BIMTool Hotekys to assign/unassign aggregation 2024-04-15 09:58:26 +02:00
Andrej730 b171dc6146 Small documentation note 2024-04-15 09:58:26 +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 09a300b57b fix copying relationships when duplicating tasks 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
Sigma Dimensions c761c7d5d9 minor fix 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
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
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 0d2ab2317a Fix duplicate task logic in IOS.API 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
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
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 eea93265f7 Fix #2913. Bug where properties with multiple inverses were not correctly purged. 2024-04-15 09:37:49 +02:00
Dion Moult e3979cadc7 Fix #2974. Type property sets are now properly copied. 2024-04-15 09:37:48 +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
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
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