[{"data":1,"prerenderedAt":299},["ShallowReactive",2],{"project-14614304":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":44,"post_text":46,"what":47,"said":70,"maker_in_thread":140,"shape":149,"grid":153,"attempts":261,"same_week":262,"maker_shows":141,"maker_hidden":291,"reader_version":292,"card":293},"14614304","pack3d","3D Packing for 3D Printing","title","Show HN: 3D Packing for 3D Printing","https:\u002F\u002Fwww.michaelfogleman.com\u002Fpack3d\u002F","michaelfogleman.com","fogleman",1498156488,2017,260,45,96,2242,5,"legend","dev_tools","3d print packing optimizer","cli",[24,25,26,27,28],"3d packing","3d printing","simulated annealing","bin packing","stl","loved",0.216,{"positive":32,"neutral":33,"mixed":34,"critical":35},7,14,0,1,22,{"execution":38,"design":39,"idea":41,"performance":42,"pricing":43},{"positive":34,"critical":34},{"positive":40,"critical":34},2,{"positive":35,"critical":34},{"positive":34,"critical":35},{"positive":35,"critical":34},[34,34,34,34,34,34,34,18,18,34,34,45,34,45,34,45,34,34,34,34,35,34,45,18,34,45,34,18,45,34,18,45,34,45,45,45,45,34,34,18],3,null,{"problem":48,"audience":46,"pricing":46,"motivation":46,"time_to_build":46,"stack":59,"openness":67,"stage":68,"team_size":69},{"value":49,"source":50,"evidence":51},"Fitting many 3D parts densely into a printer build volume","inferred",[52,55],{"id":53,"by":11,"text":54},"14616302","Somehow it seems less polished of a command line tool that way, but it was perfect for my needs. I actually ran it over night to pack a model of a deer, packing 8 of them…",{"id":56,"by":57,"text":58},"14617145","andrenotgiant","To a certain extent, yes it increases printer throughput. With selective laser sintering there's a fixed overhead time required to remove the last print from the machine, clean…",[60],{"value":61,"source":62,"evidence":63},"Go","maker",[64],{"id":65,"by":11,"text":66},"14615707","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…","open_source","launched","unknown",{"praise":71,"objections":88,"requests":100,"questions":115,"alternatives":127},[72],{"value":73,"source":74,"evidence":75},"Great visuals and write-up","commenter",[76,80,84],{"id":77,"by":78,"text":79},"14615459","obeid","I came here for the visuals and the visual explanation and OP delivered. Disclaimer: OP is a friend of mine.",{"id":81,"by":82,"text":83},"14616032","vortico",">Note that pack3d runs until stopped, writing its output to disk whenever a new best is found. I wish more software operated like this. It makes it convenient because your…",{"id":85,"by":86,"text":87},"14615287","daenz","Love the visualizations and the explanations Question: Is this more of an unbounded multi-dimensional knapsack problem? With bin packing, you have multiple bins and you're…",[89],{"value":90,"source":74,"evidence":91},"Ignores thermal constraints of SLS builds",[92,96],{"id":93,"by":94,"text":95},"14615602","2dollars27cents","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…",{"id":97,"by":98,"text":99},"14616412","fudged71","Also there are constraints with regards to specific part orientations in the build chamber and angles of specific parts of a print",[101,108],{"value":102,"source":74,"evidence":103},"Support orientation constraints for SLA printers",[104],{"id":105,"by":106,"text":107},"14615945","worldburger","Could this be optimized for the SLA Form2? I.e. No flat sides oriented horizontal?",{"value":109,"source":74,"evidence":110},"Non-90-degree rotations for shapes like wedges",[111],{"id":112,"by":113,"text":114},"14617470","the8472","> So I precompute all possible rotations of the BVHs (24 rotations) It only does 90° rotations? Wouldn't some shapes (e.g. wedges) benefit from other angles?",[116,120],{"value":117,"source":74,"evidence":118},"Is this a knapsack or bin packing problem",[119],{"id":85,"by":86,"text":87},{"value":121,"source":74,"evidence":122},"Does it increase printer throughput",[123],{"id":124,"by":125,"text":126},"14617006","slavik81","While packing problems are pretty cool in general, I'm afraid I don't understand why this is useful for 3D printing. Does this increase printer throughput?",[128,134],{"value":129,"source":74,"evidence":130},"SVGnest for 2D nesting",[131],{"id":132,"by":11,"text":133},"14616136","Thanks! Have you seen this? http:\u002F\u002Fsvgnest.com\u002F",{"value":135,"source":74,"evidence":136},"Shapeways' Netfabb-based packing",[137],{"id":138,"by":98,"text":139},"14617683","My understanding is Shapeways uses an advanced\u002Fcustom version of Netfabb for their 3D packing. Yes they have some insane optimizations\u002Fautomation already, and I believe they also…",{"comments":141,"answered":142,"key":143},9,4,[144,145,148],{"id":65,"text":66},{"id":146,"text":147},"14616340","Right. I was doing a matrix transform on the AABB. I removed the need to do that by having a lookup table of already-rotated BVHs.",{"id":53,"text":54},{"commenters":150,"max_depth":151,"maker_replies":141,"first_comment_mins":152,"lifespan_hours":36},24,6,104,[154,156,160,163,165,167,169,171,175,177,179,180,183,187,189,192,195,197,199,202,204,207,210,212,214,215,216,219,220,221,223,224,227,230,234,236,240,242,243,244,248,251,254,257,259],[65,34,34,155,11,35],"project\u002Fneutral\u002Fperformance",[157,34,34,158,159,34],"14616147","commenter\u002Fneutral\u002Fperformance","StavrosK",[161,34,34,158,162,34],"14616323","awirth",[146,34,34,164,11,35],"maker\u002Fneutral\u002Fperformance",[166,34,34,158,86,34],"14616588",[168,34,34,158,162,34],"14616667",[170,34,34,158,159,34],"14618081",[172,34,18,173,174,34],"14616467","maker\u002Fpositive\u002Fnone","Eduardo3rd",[112,34,45,176,113,34],"project\u002Fneutral\u002Fexecution",[81,35,18,178,82,34],"project\u002Fpositive\u002Fdesign",[53,35,34,155,11,35],[181,35,34,182,11,35],"14616328","project\u002Fneutral\u002Fnone",[184,35,45,185,186,34],"14616329","project\u002Fneutral\u002Fdesign","sitkack",[188,35,34,155,11,35],"14616357",[190,35,45,191,186,34],"14616795","project\u002Fneutral\u002Fidea",[193,35,34,194,82,34],"14620709","commenter\u002Fneutral\u002Fidea",[196,35,45,191,186,34],"14616813",[198,35,45,191,186,34],"14616819",[200,40,34,201,57,34],"14616123","other\u002Fneutral\u002Fnone",[132,40,34,203,11,35],"commenter\u002Fneutral\u002Fnone",[205,40,34,201,206,34],"14618096","Kliment",[208,40,34,201,209,34],"14619660","mrec",[93,45,35,211,94,34],"project\u002Fcritical\u002Fperformance",[213,45,34,158,11,35],"14615682",[105,45,45,185,106,34],[97,45,45,176,98,34],[217,142,18,218,57,34],"14616145","project\u002Fpositive\u002Fidea",[138,142,34,201,98,34],[85,18,45,191,86,34],[222,18,34,194,11,35],"14615324",[77,151,18,178,78,34],[225,32,45,176,226,34],"14615001","throwaway2016a",[228,32,34,203,229,34],"14615049","silasb",[231,32,18,232,233,34],"14615170","project\u002Fpositive\u002Fpricing","ortusdux",[235,32,34,203,226,34],"14615854",[237,238,45,182,239,34],"14620169",8,"syntaxing",[241,238,34,182,11,35],"14620280",[124,141,45,191,125,34],[56,141,45,155,57,34],[245,246,45,182,247,34],"14615563",10,"evanlivingston",[249,246,45,182,250,34],"14615982","yellowapple",[252,246,34,203,253,34],"14616280","ClassyJacket",[255,246,34,201,256,34],"14617334","delhanty",[258,246,18,173,256,34],"14617746",[260,246,18,173,174,34],"14616453",[],[263,268,272,277,281,286],{"id":264,"name":265,"points":266,"category":267},"14644539","GreenPiThumb",537,"hardware",{"id":269,"name":270,"points":271,"category":20},"14625795","Insect",354,{"id":273,"name":274,"points":275,"category":276},"14652217","Hackerhunt",335,"productivity",{"id":278,"name":279,"points":280,"category":20},"14612440","Sourcetrail",328,{"id":282,"name":283,"points":284,"category":285},"14636699","HyperLogLog",194,"languages",{"id":287,"name":288,"points":289,"category":290},"14610882","Crown",193,"games",false,"v2",{"id":294,"name":5,"line":6,"ai":291,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":295,"top":18,"kw":296,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":297,"url":9,"mix":298,"praise":73,"objection":90,"sub":21},14614304,0.22,[24,25,26,27,28],"0000000550030303000010350305305303333005",[32,33,34,35],1794036556558]