GOPHERSPACE.DE - P H O X Y
gophering on hngopher.com
HN Gopher Feed (2017-06-22) - page 1 of 10
 
___________________________________________________________________
Show HN: 3D Packing for 3D Printing
113 points by fogleman
https://www.michaelfogleman.com/pack3d/
___________________________________________________________________
 
evanlivingston - 1 hours ago
Wheres the print?
 
2dollars27cents - 1 hours ago
Very cool!This is a bit of a naive optimization, though. Thermal
properties have to be considered when planning SLS builds. Very
dense cross sections will result in long laser scan times, and the
quality of those benchies will suffer significantly.
 
  fogleman - 55 minutes ago
  I had a feeling there might be physical limitations!
 
    worldburger - 2 minutes ago
    Could this be optimized for the SLA Form2? I.e. No flat sides
    oriented horizontal?
 
fogleman - 49 minutes ago
A couple performance optimizations I made that weren't covered in
the article:- When I profiled my initial implementation of the
annealing, I found that it was spending a lot of time just rotating
bounding boxes to test for intersection. So I precompute all
possible rotations of the BVHs (24 rotations) and then only need to
deal with translation when checking for intersection - way faster:
https://github.com/fogleman/pack3d/blob/master/pack3d/bvh.go...-
Even more interesting, for the bin packing code, I used a recursive
algorithm with memoization, like you do. But I realized an
improvement can be made. Say you search for the optimal packing for
a box sized 10x10x10 and the optimal packing comes back, say,
9x8x9. Now I do another query for a box sized, say, 9x9x9. I should
just reuse the result for my 10x10x10 query because 9x9x9 falls
between 9x8x9 and 10x10x10. Basically instead of requiring an exact
match in the memoization, I want to query a range. I implemented
this using a spatial hash and it made things WAY faster.
https://github.com/fogleman/pack3d/blob/master/binpack/spati...
 
obeid - 1 hours ago
I came here for the visuals and the visual explanation and OP
delivered.Disclaimer: OP is a friend of mine.
 
throwaway2016a - 2 hours ago
This looks really cool but I have a naive question...I've heard
desktop printers are prone to failure. Like the print becoming
detached from the plate. Would this increase the units / material
you lose if there is an error? Or do the errors happen early enough
in the print you can catch them before much damage is done.
 
  silasb - 2 hours ago
  You are referring to FDM printers.  The OP is talking about SLS
  printers which don't have this issue.
 
    throwaway2016a - 22 minutes ago
    Thank you. As I said naive question. I don't know much about 3d
    printers.
 
    ortusdux - 2 hours ago
    This demo/ad? from Tested does a great job explaining how this
    printer works.  It really is amazing for the price-
    point.https://www.youtube.com/watch?v=IrFYt3uUdrI
 
  [deleted]
 
daenz - 2 hours ago
Love the visualizations and the explanationsQuestion: Is this more
of an unbounded multi-dimensional knapsack problem?  With bin
packing, you have multiple bins and you're minimizing the bins
used.  With knapsack, you're maximizing the value (in this case,
count) of the objects fit into the finite knapsack.
 
  fogleman - 1 hours ago
  I guess it isn't exactly bin packing or knapsack. Usually
  knapsack doesn't deal with dimensions but just a cost/weight.
  Consider it a variant.