B
by Bedson on 13 Oct 2023, edited 14 Oct 2023
#
+1 votes
Is there a way to generate Views of curved surfaces but exclude edges of a certain angle between faces?
I.e. here is a view of a Cylinder Mesh converted to an IfcBuildingElementProxy. You can see the lines in the middle of the cylinder. I'm aware that you can make a Representation Trace Outline but it would be faster to have a universal rule for edges to be excluded in the entire view....

M
by Moult on 13 Oct 2023
#
+1 votes
This is a known issue :( https://github.com/IfcOpenShell/IfcOpenShell/issues/3668 - hopefully something @aothms knows the answer to.
A
by aothms on 13 Oct 2023
#
I don't think this is the same issue as #3668. In a cylinder every edge has the same angle, so you either eliminate all or none. This more about selecting only the outline of the element? Which should be somewhat possible now that we segment the HLR output based on element. But also a bit tricky, because you could only influence this then globally per product (or representation item perhaps).
M
by Moult on 13 Oct 2023, edited 13 Oct 2023
#
+1 votes
Ah yes true, the approach in Python we use for generating it is to see which edges are either "crease edges" (i.e. via angle threshold) or "contour edges" (i.e. not between two faces, or between two faces where one face is visible and one isn't): https://github.com/IfcOpenShell/IfcOpenShell/blob/v0.7.0/src/blenderbim/blenderbim/tool/geometry.py#L205

B
by Bedson on 13 Oct 2023
#
It would be wonderful to have some way of overriding/marking certain edges to either show or not so that we could tweak their looks on the final drawing...
A
by aothms on 13 Oct 2023
#
+1 votes
Indeed. I think OCCT does the same. Here I select both Outline and Visible Edges https://github.com/IfcOpenShell/IfcOpenShell/blob/v0.7.0/src/serializers/SvgSerializer.h#L232 So quickest would be a on a product basis knowing what to include. But that is obviously not a full solution.
M
by Moult on 14 Oct 2023
#
Sorry I don't understand, so what would it take to implement this? A face-edge angle analysis in OCC along with a Python binding to set an angle threshold?
A
by aothms on 14 Oct 2023
#
We need to figure out a way how to agree that the edges on a product are significant and when to include only the contour. I don't think that a global edge angle threshold for the entire model will work.