Welcome! Log In Create A New Profile

Advanced

Bom Generator - Units

Posted by ZachHoeken 
Bom Generator - Units
July 23, 2007 10:17PM
I added two new features:

1. Units - certain parts can and should be measured in units, rather than straight up quantity. rods, belt, studding, wire, etc. are all in mm now. CAPA and such are now in g. More work needs to go into validating the units, as well as perhaps some suggestions on how to handle rods/studs (it just gives you a total, doesnt figure out how many rods you actually need) if no unit is inputted in the google docs, it defaults to just being a normal quantity.

2. url & description - there is now a question box that will expand into the short description on the part when clicked. there is also a url field that makes the product name link off to where ever you linked. there is basically no data in this yet. i recommend we link to octopart on electronics, the reprap wiki for other stuff that has its own page, and relevant pages for the other stuff.

theres still plenty of work to be done, so please be gentle. slowly but surely...
Re: Bom Generator - Units
July 24, 2007 02:10AM
Cool!

The "how many pieces of studding of length L do I need to get *this* set of studs with minimal waste" question is, I suspect, a variant of the bounded knapsack problem (see [en.wikipedia.org] if you care about the math), or something mathematically related to that. It's probably not worth implementing a solver for it in the BOM Generator!

Instead, we can probably just pre-compute a decent solution for 1m chunks, or for whatever small set of lengths our studding suppliers supply. Maybe we can add some 'special case' code to print some appropriate message about this in the parts list?

Unfortunately, this issue means we should probably revert back to seeing each studding length (and rod length) in the output, so the user can "solve the knapsack problem" in their head. Right now, the output of "M8 stud, 7612mm" is precise, but somewhat unhelpful, since you don't know whether you need 8 1m chunks, or more than that. (Worst case, if one piece of studding needed was 97mm and the rest were all 501mm, you'd need 15 1m chunks!). In practice, based on data from a BOM parts list I made on 16 July, I think you need to obtain 10 1m chunks of studding to get what we need.

FWIW, on July 16th, I costed out the fasteners and studding from Amazon at US$73.51 for fasteners, plus US$35.90 for M8 studding, plus US$5.40 for M3 studding, for a total of US$114.81 plus tax and shipping, just for a bunch of metric metal ... and that doesn't include the rods and other stuff only listed as available from McMaster.

One question: We may have a somewhat pessimal set of rod lengths? 11 M8 x 500mm lengths are hard to construct from 1m chunks of rod without that much-vaunted alien cutting technology... in practice would cutting each 1m chunk in half work OK, or do the cutting losses mean we need to either buy 500mm premade lengths or waste a bunch of "very nearly 500mm" offcuts? I seem to remember mention of +- 0.5mm precision for these lengths; does a single hacksaw central cut on a 1m chunk of rod waste more than 1mm? I'd guess not, so we're OK to plan on getting 2 500mm rods from one 1m rod? Can a mechanically oriented person confirm?

While I remember... it might be handy if the final parts list could also include the set of "how many of which subsystems" info that you entered on the initial screen (omitting subsystems whose checkbox you didn't check, obviously)? I now have a bunch of BOM Generator generated printouts and saved HTML files (just testing!), and remembering what the input data for each one was gets challenging :-)

Jonathan

[Additional somewhat theoretical musings: In principle, we'd need some sort of constraint optimizer to handle the case where we have multiple suppliers each offering (for example) M5 nuts in packages of (perhaps) 1, 10, 25, 50, and 100, at different prices such that at a given supplier, a package of 100 is less expensive than buying 100 packages of 1, with each package having a different supplier part number... and we need to know how many of which sizes of package to purchase to get at least 131 M5 nuts at minimal cost! I think this is probably taking the BOM Generator project a bit too far, though :-) So are we currently guessing at "a package of 100, a package of 25, and a package of 10", for the above example, hoping that "a package of 100 and a package of 50" isn't cheaper? Or do we just not put part numbers for bulk packs into the system, maybe??]
Re: Bom Generator - Units
July 24, 2007 03:56AM
From my experience cutting the bearings I would say a standard hacksaw wastes a shade more than 1mm, particulary if you clean up the cut edge, and a junior hacksaw a shade less than 1mm.


[www.hydraraptor.blogspot.com]
Re: Bom Generator - Units
July 24, 2007 10:56AM
jmarsden Wrote:
-------------------------------------------------------
> Cool!
>
> The "how many pieces of studding of length L do I
> need to get *this* set of studs with minimal
> waste" question is, I suspect, a variant of the
> bounded knapsack problem (see
> [en.wikipedia.org] if
> you care about the math), or something
> mathematically related to that. It's probably not
> worth implementing a solver for it in the BOM
> Generator!

interesting. i think it may be overkill to implement at this stage though =)

> Unfortunately, this issue means we should probably
> revert back to seeing each studding length (and
> rod length) in the output, so the user can "solve
> the knapsack problem" in their head. Right now,
> the output of "M8 stud, 7612mm" is precise, but
> somewhat unhelpful, since you don't know whether
> you need 8 1m chunks, or more than that. (Worst
> case, if one piece of studding needed was 97mm and
> the rest were all 501mm, you'd need 15 1m
> chunks!). In practice, based on data from a BOM
> parts list I made on 16 July, I think you need to
> obtain 10 1m chunks of studding to get what we
> need.

yeah, good idea. i'll revert back to showing each length for now.

> FWIW, on July 16th, I costed out the fasteners and
> studding from Amazon at US$73.51 for fasteners,
> plus US$35.90 for M8 studding, plus US$5.40 for M3
> studding, for a total of US$114.81 plus tax and
> shipping, just for a bunch of metric metal ... and
> that doesn't include the rods and other stuff only
> listed as available from McMaster.

one of the things i'd like to try doing is using 5/16" rods/studs instead. they are MUCH cheaper to get in the US, and are only 0.0625mm smaller. hopefully that works out. i'm also looking into finding someone to make us a fastener / rod / stud kit with pre-cut lengths as well as the proper numbers of nuts/bolts. this will have to wait until the darwin design has been through some heavy testing.

on the idea of optimizing the nuts/bolts on quantity, it would be possible to add a quantity field to each supplier and then do some math to find the best combination of products to get the best price. however, this starts to get really tricky and we're probably going to want to switch over to a real database if we want to do stuff like this. its definitely going into v2.0 of the BOM generator.

>
> While I remember... it might be handy if the final
> parts list could also include the set of "how many
> of which subsystems" info that you entered on the
> initial screen (omitting subsystems whose checkbox
> you didn't check, obviously)? I now have a bunch
> of BOM Generator generated printouts and saved
> HTML files (just testing!), and remembering what
> the input data for each one was gets challenging
> :-)

good idea. it shouldnt be hard to add in.
Sorry, only registered users may post in this forum.

Click here to login