Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UVAtlas Internal error: Closed surface not correctly partitioned #213

Open
wsyOverflow opened this issue Feb 8, 2025 · 4 comments
Open
Labels

Comments

@wsyOverflow
Copy link

lod_0_new_cluster_size_2014_cluster_609_e3.zip

I try to unwrap above mesh of obj format in visual studio project of UVAtlas. I config the debugging command arguments "-ft obj -t -y "\path\to\obj"", but failed to unwrap uv by error "UVAtlas Internal error: Closed surface not correctly partitioned".

Is there any fallback for this issue? Thanks

@walbourn
Copy link
Member

Did you get any warnings from the validation?

@wsyOverflow
Copy link
Author

wsyOverflow commented Feb 11, 2025

Did you get any warnings from the validation?

Thanks for your replay. The full debug log is as following:

UVAtlas: Initialize...
UVAtlas: Scale factor is 0.309984
UVAtlas: Generate new mesh: 33 vert, 46 face, 80 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 4 vert, 2 face, 5 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 5 vert, 6 face, 9 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 5 vert, 4 face, 8 edge

UVAtlas: Generate new mesh: 4 vert, 2 face, 5 edge

UVAtlas: Generate new mesh: 4 vert, 2 face, 5 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 4 vert, 2 face, 5 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 6 vert, 6 face, 11 edge

UVAtlas: Generate new mesh: 4 vert, 2 face, 5 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 4 vert, 2 face, 5 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 4 vert, 2 face, 5 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: Generate new mesh: 3 vert, 1 face, 3 edge

UVAtlas: ....Divide into 59 sub-meshes...

UVAtlas: Separate to 59 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: ....Has 3 boundies...

UVAtlas: new vert number is :35

UVAtlas: Separate to 1 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: ....Has 2 boundies...

UVAtlas: new vert number is :37

UVAtlas: Separate to 1 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: ----Begin Simplify----
UVAtlas: #Remained vert: 37

UVAtlas: Exported simplified mesh
UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Check and cut multi boundary...

UVAtlas: Calculate Importance order for each vertex...

UVAtlas: Separate to 0 sub-charts
UVAtlas: Old Vert Number is 245, New Vert Number is 225
UVAtlas: Old Face Number is 124, New Face Number is 124
UVAtlas: Initially having 59 separated charts
UVAtlas: Partition....
UVAtlas: Convert Stretch...
UVAtlas: Initial chart number 59

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 36
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 5
UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Convert Stretch...
UVAtlas: Convert Stretch...
UVAtlas: Partition General shape...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 6
UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 9
UVAtlas: Convert Stretch...
UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 12
UVAtlas: Convert Stretch...
UVAtlas: Convert Stretch...
UVAtlas: Partition General shape...

UVAtlas: total landmark count is 20
UVAtlas: Convert Stretch...
UVAtlas: Convert Stretch...
UVAtlas: Partition General shape...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 6
UVAtlas: Convert Stretch...
UVAtlas: total landmark count is 9
UVAtlas: Convert Stretch...
UVAtlas: Check and cut multi boundary...

UVAtlas: Infinite Optimize failed, 0 Internal infinite vertices,1 boundary vert
UVAtlas: total landmark count is 19
UVAtlas: Convert Stretch...
UVAtlas: Partition General shape...

UVAtlas: Partition each face...

UVAtlas: Convert Stretch...
UVAtlas: Infinite Optimize failed, 0 Internal infinite vertices,1 boundary vert
UVAtlas: Convert Stretch...
UVAtlas: Partition General shape...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 11
UVAtlas: total landmark count is 13
UVAtlas: Convert Stretch...
UVAtlas: Convert Stretch...
UVAtlas: Current charts number is : 71
UVAtlas: Partition General shape...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 5
UVAtlas: Convert Stretch...
UVAtlas: total landmark count is 10
UVAtlas: Convert Stretch...
UVAtlas: Current charts number is : 72
UVAtlas: Partition General shape...

UVAtlas: Partition each face...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Check and cut multi boundary...

UVAtlas: Current charts number is : 79
UVAtlas: Charts before merge 79
UVAtlas: #<Chart Number Before Merge> : 79
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 5
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 5
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 5
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 11
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Infinite Optimize failed, 0 Internal infinite vertices,1 boundary vert
UVAtlas: Convert Stretch...
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 5
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 5
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 5
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 5
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 4
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 5
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 5
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 7
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 6
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 7
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 9
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 13
UVAtlas: Infinite Optimize failed, 0 Internal infinite vertices,2 boundary vert
UVAtlas: Convert Stretch...
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 9
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 14
UVAtlas: Convert Stretch...
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 9
UVAtlas: Infinite Optimize failed, 0 Internal infinite vertices,4 boundary vert
UVAtlas: Convert Stretch...
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 9
UVAtlas: Convert Stretch...
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 11
UVAtlas: Convert Stretch...
UVAtlas: Check and cut multi boundary...

UVAtlas: total landmark count is 16
UVAtlas: Convert Stretch...
UVAtlas: #<Chart Number after Merge> : 55
UVAtlas: Charts after merge 55
UVAtlas: UVAtlas Internal error: Closed surface not correctly partitioned

And console log

210 vertices, 124 faces
WARNING:
A bowtie was found.  Bowties can be fixed by calling Clean
  A bowtie is the usage of a single vertex by two separate fans of triangles.
  The fix is to duplicate the vertex so that each fan has its own vertex.

Bowtie found around vertex 181 shared by faces 104 and 92

Bowtie found around vertex 111 shared by faces 71 and 57

Bowtie found around vertex 20 shared by faces 8 and 93

Bowtie found around vertex 202 shared by faces 117 and 120

Bowtie found around vertex 25 shared by faces 12 and 11

Bowtie found around vertex 39 shared by faces 45 and 16

Bowtie found around vertex 45 shared by faces 20 and 19

Bowtie found around vertex 63 shared by faces 38 and 37

Bowtie found around vertex 81 shared by faces 38 and 37

Bowtie found around vertex 44 shared by faces 20 and 19

Bowtie found around vertex 49 shared by faces 21 and 23

Bowtie found around vertex 82 shared by faces 41 and 40

Bowtie found around vertex 80 shared by faces 39 and 40

Bowtie found around vertex 46 shared by faces 23 and 19

Bowtie found around vertex 47 shared by faces 25 and 20

Bowtie found around vertex 53 shared by faces 27 and 25

Bowtie found around vertex 65 shared by faces 35 and 30

Bowtie found around vertex 157 shared by faces 80 and 81

Bowtie found around vertex 165 shared by faces 84 and 101

Bowtie found around vertex 64 shared by faces 38 and 30

Bowtie found around vertex 108 shared by faces 57 and 56

Bowtie found around vertex 197 shared by faces 112 and 110

Bowtie found around vertex 67 shared by faces 75 and 31

Bowtie found around vertex 153 shared by faces 78 and 82

Bowtie found around vertex 152 shared by faces 78 and 82

Bowtie found around vertex 66 shared by faces 75 and 31
 [35 vertex dups]
Computing isochart atlas on mesh...
0.00%
ERROR: Failed creating isocharts (80004005: ?????? )

@walbourn
Copy link
Member

This looks like you are using the library directly and not the uvatlas command-line tool. Can you try the mesh in question using the command-line tool?

Note that the tool performs specific validation and cleanup using DirectXMesh functionality. Are you doing that?

@wsyOverflow
Copy link
Author

wsyOverflow commented Feb 12, 2025

The UV unwrapping test for the mesh in this issue was actually conducted using UVAtlasTool, but it was launched via the Visual Studio source code project. I attempted using UVAtlasTool.exe again and obtained the same result. Below is the log output:

210 vertices, 124 faces
WARNING:
A bowtie was found.  Bowties can be fixed by calling Clean
  A bowtie is the usage of a single vertex by two separate fans of triangles.
  The fix is to duplicate the vertex so that each fan has its own vertex.

Bowtie found around vertex 111 shared by faces 71 and 57

Bowtie found around vertex 20 shared by faces 8 and 93

Bowtie found around vertex 202 shared by faces 117 and 120

Bowtie found around vertex 25 shared by faces 12 and 11

Bowtie found around vertex 39 shared by faces 45 and 16

Bowtie found around vertex 44 shared by faces 19 and 21

Bowtie found around vertex 81 shared by faces 37 and 41

Bowtie found around vertex 45 shared by faces 20 and 19

Bowtie found around vertex 63 shared by faces 38 and 37

Bowtie found around vertex 82 shared by faces 41 and 40

Bowtie found around vertex 49 shared by faces 21 and 23

Bowtie found around vertex 80 shared by faces 39 and 40

Bowtie found around vertex 46 shared by faces 23 and 19

Bowtie found around vertex 47 shared by faces 25 and 20

Bowtie found around vertex 53 shared by faces 27 and 25

Bowtie found around vertex 65 shared by faces 35 and 30

Bowtie found around vertex 157 shared by faces 80 and 81

Bowtie found around vertex 165 shared by faces 84 and 101

Bowtie found around vertex 64 shared by faces 38 and 30

Bowtie found around vertex 108 shared by faces 57 and 56

Bowtie found around vertex 197 shared by faces 112 and 110

Bowtie found around vertex 67 shared by faces 75 and 31

Bowtie found around vertex 153 shared by faces 78 and 82

Bowtie found around vertex 152 shared by faces 78 and 82

Bowtie found around vertex 66 shared by faces 75 and 31
 [36 vertex dups]
Computing isochart atlas on mesh...
0.00%
ERROR: Failed creating isocharts (80004005: ?????? )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants