2

Windows 10 ships with "3D Builder", a Universal App that contains utility functions to prepare STL, OBJ, 3DS, and other files that represent geometries for 3D printing.

The utility looks like this: 3D Builder

In particular, they have triangle mesh functions there that:

  • "Detect" when a mesh is not suitable for 3D printing;
  • "Repair" so that the mesh isn't right it prepares it, by removing internal faces, closing "holes" in the outer surface, etc.;
  • "Simplify" by removing redundant triangles, such as those found to be adjacent and co-planar; and
  • "Plane Cut", slicing a mesh through an arbitrarily positioned plane and filling in a surface on that plane to re-enclose the geometry, sometimes followed by a "Detect" and "Repair".

Every copy of Windows 8.1 and 10 has this utility at no additional cost. That says to me that the functions are well-known and as far as I've been able to test, reliable for virtually all inputs to the 3D printing use case. I used some of the messiest STL files I could find to prove this thing.

The question is: Which algorithms can be used for those functions?

(Secondarily: Where are they found for a .NET/WPF/UWP environment? Did they expose the functions in an API I can use for a slightly dissimilar use case?)

In the builder the functions look like this:

Simplify (the tractor top and sides have fewer facets):

Simplify Output

Slice, UI before processing:

Slice, UI before processing

Slice, after processing and then one "Simplify" pass:

Slice, after processing

8
  • 8
    It's obvious you put a lot of work into composing this question. Unfortunately, there's no way for us to answer it here. We're not Microsoft. Commented Mar 23, 2016 at 14:55
  • Microsoft people don't look here? I thought we were crowdsourced. Commented Mar 23, 2016 at 23:38
  • If you want an answer from a Microsoft employee asking SE is not likely to give you that. It is possible that somebody from Microsoft with that knowledge is part of this community, but definitely not guaranteed. So, why not ask Microsoft directly instead? Commented Mar 24, 2016 at 0:18
  • Because 20 years of programming on the Microsoft stack has taught me little is more futile than asking Microsoft, even through MSDN, about the implementations of their own programs; they're simply not structured so that their code becomes documented. I thought a graphics programmer looking here would see the wireframes change and be able to suggest something robust. Instead I see that an hour can't go by without someone starting a closure wave. This is a narrow question with two followups: Which algorithms do these things to triangle meshes? Commented Mar 24, 2016 at 1:16
  • 4
    Since answering is blocked, I'll glaze over my answer: The slice operation is implemented using Constructive Solid Geometry algorithms. The simplify operation is an implementation of mesh optimization. The "detect" operation most likely is a convexity test. The CSG algorithm makes it possible to detect holes so that covers that. Hope this helps. Commented Mar 25, 2016 at 8:51

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.