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

Detect local build minima (unsupported points) in meshes and tweak support grid dynamically #2

Open
DanielJoyce opened this issue Jan 27, 2016 · 1 comment
Labels

Comments

@DanielJoyce
Copy link
Collaborator

Currently we can't detect unsupported points in build meshes. We rely on the mesh being reasonably smooth so the default grid code provides decent support. We need to add a method to detect unsupported areas and explicitly enhance the support grid to generate special supports for that spot.

@DanielJoyce
Copy link
Collaborator Author

Finding local minima

  1. Create a mesh data structure from loaded geometry. Will need to determine which scheme to use
  2. Calc vertex and face normals
  3. label each vertex whose normal cross -z is > 0, and each vertex which participates in a face whose normal cross -z > 0
  4. Now we iterate, and search each labeled vertex and if we find a vertex lower than the current one, we remove its label.
  5. repeat until number of vertices that are still labeled stabilizes. These are the absolute minima vertices.

Next we take our grid. If a support grid point is within some error bounds of the of the x,y coordinate of a minima, we simply perturb it. Otherwise we generate another point and join it into the lattice.

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

1 participant