Commit Graph

1399 Commits

Author SHA1 Message Date
Dion Moult eb95ff5e5c Add documentation specifically about swept disk solid geometry for rebar 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
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 4396f937b5 You can now load and save searches from the search panel 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
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
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 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
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 38dd5a218c root.copy_class to support copying ports in ifc2x3 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
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
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 4940f95d7a 2dc4bbf8cd Apply same logic for derived attributes 2024-04-16 10:05:08 +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
Thomas Krijnen d6250aaf2a #3189 proposal (#3190) 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
Dion Moult 3e7afbed08 Minor doc improvements and SQL/stream code cleanup 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
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
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
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 200aeb896d See #3359. Bump IfcOpenShell and enable HLR prefiltering optimisation for drawing generation 2024-04-15 13:30:41 +02:00
Andrej730 5b10923b45 ShapeBuilder.polyline - skip creating segments if they are not needed 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 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 00ccb77f86 Merge AWS Lambda installation documentation into official docs 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 9af7ddaf56 See #3334. Fix bug where get_pset didn't handle property inheritance correctly. 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 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 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
Thomas Krijnen 4e599cf132 Fix openbot build 2024-04-15 13:29:20 +02:00