View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0033476 | Community | OCCT:Mesh | public | 2023-09-11 19:32 | 2023-11-01 16:19 |
Reporter | justinsavage35 | Assigned To | akaftasev | ||
Priority | normal | Severity | minor | ||
Status | new | Resolution | open | ||
Platform | Windows | OS | VC++ 2017 | ||
Product Version | 7.7.1 | ||||
Target Version | Unscheduled | ||||
Summary | 0033476: Mesh - Fillet and Torus Meshing Visual Artifacts | ||||
Description | A cylinder with radius 25 mm and height (10 mm) with filleted edge of 1 mm will show the bumps / artifacts when meshed with linear deflection = 0.005 and angular deflection = 26.5 degrees (0.4625 rad) and Relative=true, see images attached. This also occurs with a torus, both .step files and .objs are attached. | ||||
Steps To Reproduce | Mesh the .step files with aMeshParams of linear deflection = 0.005, angular deflection = 26.5 degrees (0.4625 rad) and Relative=true | ||||
Tags | No tags attached. | ||||
Test case number | |||||
|
|
token.step token.step (11,309 bytes) |
|
torus.step torus.step (13,933 bytes) |
|
token.obj torus.obj (84,802 bytes) |
|
token.obj token.obj (150,919 bytes) |
|
filet mesh images filet_artifacts.PNG (181,693 bytes) filet_artifacts_mesh.PNG (205,366 bytes) |
|
torus images torus_artifacts.PNG (232,513 bytes) torus_artifacts_mesh.PNG (234,842 bytes) |
|
Hi akaftasev, I have done some debugging with the token.step. The issue is caused by the differing number of points on the circular edges and how the torus’s face is discretized. The inner circular edge (radius 24 mm) has 42 points and outer circular edge (radius 25 mm) has radius 43 points. The torus face discretization uses the inner and outer edge U values from “GetParametersU()” (line 87 OCCT\src\BRepMesh\BRepMesh_TorusRangeSplitter.cxx) with the “aStdStep” check (line 172 OCCT\src\BRepMesh\BRepMesh_TorusRangeSplitter.cxx) to insure the points aren’t too close. The torus using a mixture of U values from the inner and outer edges results in artifacts shown above. I am unsure on what the best solution is to this. Potentially, as part of the ModelHealer there is a check for Torus face shapes which checks if the inner and outer edge has the same number of points? If they are different then the U values of the higher is used for both? This could be applied to NURB surfaces where the same type of artifacts exist. |
|
Hi Akaftasev, I have developed a function which compares the edges of the torus and adjusts them to match in surface UV space. Please let me know what you think and if you have any questions. OCCT\src\BRepMesh\BRepMesh_ModelHealer.hxx line 170 OCCT\src\BRepMesh\BRepMesh_ModelHealer.cxx lines 261 393 - 442 (fixFaceEdgePoints function) OCCT\src\BRepMesh\BRepMesh_EdgeDiscret.hxx line 75 OCCT\src\BRepMesh\BRepMesh_EdgeDiscret.cxx lines 351 - 716 (TessellateEdgeMatch) BRepMesh_EdgeDiscret.cxx (23,812 bytes) BRepMesh_EdgeDiscret.hxx (4,182 bytes) BRepMesh_ModelHealer.cxx (19,863 bytes) BRepMesh_ModelHealer.hxx (7,116 bytes) |
|
Hi @akaftasev, apologies my previous notes did not use the @ symbol. |
Date Modified | Username | Field | Change |
---|---|---|---|
2023-09-11 19:32 | justinsavage35 | New Issue | |
2023-09-11 19:32 | justinsavage35 | Assigned To | => oan |
2023-09-11 19:33 | justinsavage35 | Note Added: 0114136 | |
2023-09-11 19:33 | justinsavage35 | File Added: token.step | |
2023-09-11 19:34 | justinsavage35 | Note Added: 0114137 | |
2023-09-11 19:34 | justinsavage35 | File Added: torus.step | |
2023-09-11 19:34 | justinsavage35 | Note Added: 0114138 | |
2023-09-11 19:34 | justinsavage35 | File Added: torus.obj | |
2023-09-11 19:35 | justinsavage35 | Note Added: 0114139 | |
2023-09-11 19:35 | justinsavage35 | File Added: token.obj | |
2023-09-11 19:35 | justinsavage35 | Note Added: 0114140 | |
2023-09-11 19:35 | justinsavage35 | File Added: filet_artifacts.PNG | |
2023-09-11 19:35 | justinsavage35 | File Added: filet_artifacts_mesh.PNG | |
2023-09-11 19:36 | justinsavage35 | Note Added: 0114141 | |
2023-09-11 19:36 | justinsavage35 | File Added: torus_artifacts.PNG | |
2023-09-11 19:36 | justinsavage35 | File Added: torus_artifacts_mesh.PNG | |
2023-09-12 11:23 | dpasukhi | Summary | Fillet and Torus Meshing Visual Artifacts => Mesh - Fillet and Torus Meshing Visual Artifacts |
2023-09-12 11:24 | dpasukhi | Assigned To | oan => akaftasev |
2023-09-12 11:24 | dpasukhi | Target Version | => Unscheduled |
2023-09-14 17:21 | justinsavage35 | Note Added: 0114171 | |
2023-10-31 19:50 | justinsavage35 | Note Added: 0114458 | |
2023-10-31 19:50 | justinsavage35 | File Added: BRepMesh_EdgeDiscret.cxx | |
2023-10-31 19:50 | justinsavage35 | File Added: BRepMesh_EdgeDiscret.hxx | |
2023-10-31 19:50 | justinsavage35 | File Added: BRepMesh_ModelHealer.cxx | |
2023-10-31 19:50 | justinsavage35 | File Added: BRepMesh_ModelHealer.hxx | |
2023-11-01 16:19 | justinsavage35 | Note Added: 0114460 |