Skip to main content
Tweeted twitter.com/StackBlender/status/1416820075668062208
deleted 398 characters in body
Source Link

I found this document that provides some pseudo-code that will probably help. I'll try porting it to Python tomorrow. The more I think about this problem though, the more complicated I realize it is. Sometimes, instead of unsupported points needing to move, the neighboring vertices may need to move. I think that depends on whether the normal vector points up or down.

Also, I can create a mesh where the normal of an unsupported vertex won't pass through the cones of the neighboring vertices. I'm pretty sure I need to check both edges and faces.

Still can't have vertices at localize minima, but beyond that, vertices that are above at least one neighbor are okay if any edge OR FACE is greater than some set configurable angle.

Here is a blend file with a sample object. The vertex in the middle of the cube (local minima) needs to be moved so there is no local minima and so that at least one connected edge is at least ~20 degrees from horizontal. The vertex at the center/top should be moved until at least one connected edge is more than ~20 degrees from horizontal too.

Sample blend file

I found this document (Pages 10-15) that provides some pseudo-code that should help. Since I don't have any experience doing anything like this, I could really use some help. I can't copy/paste the pseudo code here because the pdf file shows spaces in between most of the letters. Ugh. I'm not sure the whole thing is required, but maybe?

I found this document that provides some pseudo-code that will probably help. I'll try porting it to Python tomorrow. The more I think about this problem though, the more complicated I realize it is. Sometimes, instead of unsupported points needing to move, the neighboring vertices may need to move. I think that depends on whether the normal vector points up or down.

Also, I can create a mesh where the normal of an unsupported vertex won't pass through the cones of the neighboring vertices. I'm pretty sure I need to check both edges and faces.

Still can't have vertices at localize minima, but beyond that, vertices that are above at least one neighbor are okay if any edge OR FACE is greater than some set configurable angle.

Here is a blend file with a sample object. The vertex in the middle of the cube (local minima) needs to be moved so there is no local minima and so that at least one connected edge is at least ~20 degrees from horizontal. The vertex at the center/top should be moved until at least one connected edge is more than ~20 degrees from horizontal too.

Sample blend file

Here is a blend file with a sample object. The vertex in the middle of the cube (local minima) needs to be moved so there is no local minima and so that at least one connected edge is at least ~20 degrees from horizontal. The vertex at the center/top should be moved until at least one connected edge is more than ~20 degrees from horizontal too.

Sample blend file

I found this document (Pages 10-15) that provides some pseudo-code that should help. Since I don't have any experience doing anything like this, I could really use some help. I can't copy/paste the pseudo code here because the pdf file shows spaces in between most of the letters. Ugh. I'm not sure the whole thing is required, but maybe?

added 34 characters in body
Source Link

Also, I can create a mesh where the normal of an unsupported vertex won't pass through the cones of the neighboring vertices because the edges will never reach a high enough angle, but the faces would. And really, the attached faces are what's important for slicing. So nowI'm pretty sure I need to figure out how to check faces instead ofboth edges and faces.

Still can't have vertices at localize minima, but beyond that, vertices that are above at least one neighbor are okay if any edge OR FACE is greater than some set configurable angle.

Also, I can create a mesh where the normal of an unsupported vertex won't pass through the cones of the neighboring vertices because the edges will never reach a high enough angle, but the faces would. And really, the attached faces are what's important for slicing. So now I need to figure out how to check faces instead of edges.

Also, I can create a mesh where the normal of an unsupported vertex won't pass through the cones of the neighboring vertices. I'm pretty sure I need to check both edges and faces.

Still can't have vertices at localize minima, but beyond that, vertices that are above at least one neighbor are okay if any edge OR FACE is greater than some set configurable angle.

more details on the problem.
Source Link

I found this document that provides some pseudo-code that will probably help. I'll try porting it to Python tomorrow. The more I think about this problem though, the more complicated I realize it is. Sometimes, instead of unsupported points needing to move, the neighboring vertices may need to move. I think that depends on whether the normal vector points up or down.

Also, I can create a mesh where the normal of an unsupported vertex won't pass through the cones of the neighboring vertices because the edges will never reach a high enough angle, but the faces would. And really, the attached faces are what's important for slicing. So now I need to figure out how to check faces instead of edges.

Here is a blend file with a sample object. The vertex in the middle of the cube (local minima) needs to be moved so there is no local minima and so that at least one connected edge is at least ~20 degrees from horizontal. The vertex at the center/top should be moved until at least one connected edge is more than ~20 degrees from horizontal too.

Here is a blend file with a sample object. The vertex in the middle of the cube (local minima) needs to be moved so there is no local minima and so that at least one connected edge is at least ~20 degrees from horizontal. The vertex at the center/top should be moved until at least one connected edge is more than ~20 degrees from horizontal too.

I found this document that provides some pseudo-code that will probably help. I'll try porting it to Python tomorrow. The more I think about this problem though, the more complicated I realize it is. Sometimes, instead of unsupported points needing to move, the neighboring vertices may need to move. I think that depends on whether the normal vector points up or down.

Also, I can create a mesh where the normal of an unsupported vertex won't pass through the cones of the neighboring vertices because the edges will never reach a high enough angle, but the faces would. And really, the attached faces are what's important for slicing. So now I need to figure out how to check faces instead of edges.

Here is a blend file with a sample object. The vertex in the middle of the cube (local minima) needs to be moved so there is no local minima and so that at least one connected edge is at least ~20 degrees from horizontal. The vertex at the center/top should be moved until at least one connected edge is more than ~20 degrees from horizontal too.

added 2 characters in body
Source Link
Loading
added WIP code that identifies unsupported vertices.
Source Link
Loading
Added sample objects and more specific requests.
Source Link
Loading
added 94 characters in body
Source Link
Loading
Source Link
Loading