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
Dion Moult
84c91518b5
Fix #2906 . Basic support added for perspective drawings.
2024-04-16 10:10:50 +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
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
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
Dion Moult
72b5cc8a44
Minor fix
2023-03-20 17:03:39 +11:00
Dion Moult
c97e1079e8
See #2866 . Fix issue where annotation should be able to use 3D coordinates (i.e. Model context type) for elevations and sections where it makes more sense.
2023-03-20 16:36:50 +11:00
Dion Moult
e1e4380fc7
Fix 3 bugs related to representations:
...
* Bug when switching representations when active object not selected.
* Bug when switching to a non MODEL_VIEW body representation would load the MODEL_VIEW one instead all the time.
* Add support for plan body representations.
2023-02-03 21:27:25 +11:00
Dion Moult
5fb574cf5c
Fix #1589 . Saving beveled curves as rswept disk solids is now supported.
2022-09-04 17:46:34 +10:00
Dion Moult
cc8da4abf4
#1153 Symbol background option for text is now stored in a pset
2022-04-24 13:13:21 +10:00
Dion Moult
f2c4b20187
#1153 Experimental support for curve bounded planes for 3D annotations
2022-04-24 12:25:04 +10:00
Dion Moult
31ddb0f2c5
#1153 Add support for Annotation3D representations
2022-04-24 10:00:31 +10:00
Dion Moult
9fc0baf175
#1153 Add support for IfcAnnotationFillArea representation
2022-04-18 10:27:20 +10:00
Dion Moult
d03685abfa
UV coordinates for triangulated face sets are now saved in IFC.
2022-02-08 15:32:03 +11:00
Dion Moult
fe6d9ae926
Triangulated face set geometry exports are now supported.
2022-02-05 11:33:14 +11:00
Dion Moult
810c71dfa2
IfcOpenShell-python licensing and black. See #1082 .
2022-01-19 12:18:33 +11:00
Dion Moult
666e484b2b
Run black on IfcOpenShell-python.
2022-01-10 15:42:24 +11:00
Dion Moult
43869c33f6
Rebuild text annotations to have leaders in the same object and use text literals. See #1153 .
2021-11-16 08:54:29 +11:00
Dion Moult
c1c50f8868
Minor fix.
2021-11-10 12:46:07 +11:00
Dion Moult
7ccb6ee110
Resolve #1836 . Scaling in Blender is now auto resolved when representations are updated.
2021-11-08 21:12:38 +11:00
Dion Moult
117f663f48
Fix bug where you couldn't add a plan representation to something with no context identifier
2021-11-06 17:48:31 +11:00
Laurens Oostwegel
b41e90ead6
IfcOpenShell-python: Implemented point cloud export functionalities ( #1799 )
...
* Implemented export of point cloud representation
* Do representation geometry data no-edge check before no-polygon check
2021-10-15 12:15:55 +11:00
Dion Moult
d2a1e0193b
Fix #1574 . Fix #1578 . Bug where deprecated functions were used in Python 3.9 for drawing generation.
2021-07-22 20:42:03 +10:00
Dion Moult
63f578315d
Add support for 3D curve / wireframe representations.
2021-07-13 18:45:07 +10:00
Dion Moult
54526960c8
Column profiles now auto update when you change the material profile
2021-06-21 12:21:55 +10:00
Dion Moult
2a2f4d692a
Fix bug where extrusion detection on voided profiles was not reliable
2021-06-17 19:24:16 +10:00
Dion Moult
7d841c3f27
New dumb column tool. Creates a parametric solid column from profile sets.
2021-06-07 19:43:02 +10:00
Dion Moult
137a00225c
Dumb slabs now auto generate footprint representations
2021-06-07 14:28:46 +10:00
Dion Moult
5a822d5e39
Slabs with voided profiles are now supported.
2021-06-07 11:20:05 +10:00
Dion Moult
5c1d26ac91
Dumb walls and slabs now are always exported as parametric solids instead of meshes.
2021-06-04 17:30:37 +10:00
Dion Moult
153b6ee24d
Total float calculation now takes into account calendar
2021-06-04 17:22:35 +10:00
Dion Moult
b8e20ec1a5
Reimplement raster underlays when generating drawings. See #1153 .
2021-05-28 14:33:46 +10:00
s-leger
75ae501ff9
Evaluate coplanar vertex in faces ( #1489 )
...
The idea is to only triangulate non co-planar faces when required.
Timings for evaluation with matrix based algo.
IfcRoof/Roof found 3927 of 116178 polygons: 0.366638 sec
IfcWall/Wall.012 found 0 of 6 polygons: 0.000046 sec
So should be acceptable for common use cases
But with single precision in blender we may still be over occ precision with a 1e-6 epsilon.
2021-05-28 08:57:22 +10:00
Dion Moult
afdc1e6679
New feature to export point lights (IfcLightSourcePositional) into IFC
2021-05-27 13:55:44 +10:00
s-leger
61661fe6f3
implement missing create curve 2d method ( #1484 )
2021-05-24 23:14:26 +10:00
Dion Moult
22d9bce591
Dumb walls now automatically generate wall axis upon update
2021-05-24 20:56:47 +10:00
Dion Moult
bfe9213f67
Dumb walls now auto calculate length, width, height, and simple volume quantities when being updated
2021-05-24 19:28:47 +10:00
s-leger
b9723c08e4
Ensure polygons are always coplanar ( #1482 )
...
* Ensure polygons are always coplanar
fix #1481
May adopt a bmesh approach instead ?
* Ensure polygons are coplanar
The bmesh version is lot faster than modifier one
2021-05-24 08:19:39 +10:00
Dion Moult
de873461e1
Fix bug where IFC2X3 files did not correctly generate 2D representations
2021-05-18 16:41:55 +10:00
Dion Moult
f2352e9a17
Old annotation systems now creates IFC elements again. Also text and misc annotations now work again with new system. See #1153 .
2021-05-16 18:26:48 +10:00
s-leger
ff06f452d5
disable boolean for mesh evaluation ( #1466 )
...
Disabling boolean modifier on screen instead of remove / add is enough to get proper mesh representation.
2021-05-16 10:20:56 +10:00
Dion Moult
cb5f57d68a
Point connections are now treated as regular geometry, not an edge case (get it?). See #1409 . Thanks @Jesusbill!
2021-04-01 11:58:46 +11:00
Dion Moult
406b8b4540
IfcOpenShell API now uses kwargs to improve user syntax. See #1399 .
2021-03-27 19:14:46 +11:00
Jesusbill
9c00872a57
replace settings=None with {}
2021-03-25 00:54:42 +01:00
Dion Moult
d77bc6bdaa
First attempt at ripping out agnostic code into ifcopenshell.api namespace. See #1399 .
2021-03-25 10:48:48 +11:00