Jee-Bee wrote: ↑Sat Jul 29, 2017 4:26 pm
yorik wrote: ↑Sat Jul 29, 2017 8:05 am
2) If we say "a BOM is a list of parts + associated quantities", even so, there are particularities. For example, if you have a machine which contains rods and screws. You will want to get the lengths of the rods, but for the screws you will want only the amount, not their length.
Why not only screw M6x40 wouldn't be always useful. I have even seen cases where they add automatically 5% extra for bolds, nuts, screws etc..
Each screw should have a part number. Unless it is functionally identical to another screw which already has a part number assigned. in which case it IS that part number. Only need an integer count.
Each rod should have a part number. Unless it is functionally identical to another rod which already has a part number assigned. in which case it IS that part number. Only need an integer count. i am dogmatic about '1 fabricated part model = 1 part drawing' so personally i would have a part file and drawing for each rod. the production planner would then get the length of each rod from a pdf of the drawing.
If you're lazy you can put the length in the part description so you can read it right off the BOM. If you're slick, each part file / physical body has an RM attribute that lists the raw material size required automatically derived from the bounding box of the model (pipe and rod have L, 2 patterns have LXW, machining stock has LXWXH. you can then have a separate column for RM quantity and type in your BOM (still shows part number/ integer quantity though).
Planning the stock purchase of total length to cut the rods from is not a function of the design. It necessarily has to involve local availability of specific stock, minimum order size allowed to be generated by an organization, minimum order size accepted by a supplier, etc. The necessary data to start these calcs is still an integer count of uniquely defined parts.
Let's say your local waterjet guy has a 12' by 6' table. if i only have access to an 8' by 4' table, we can't use the same stock sheet metal or nesting pattern to make a bunch of pattern cuts. (this example was completely made up as far as realistic waterjet table sizes, but the point stands).
What if you can get easy and cheap delivery for rods under 10', but 12' rods doubles the delivery cost. Most people will switch raw material even if the remnant quantity of metal is bigger. very few people
like causing more scrap, but we have to meet deadlines.
On top of all this, obviously you ought to integrate these advanced BOMs with current inventory, subtract quantities on-hand, and flag every other user that you are reserving these quantities...
It is generally accepted practice to separate these concerns from the design itself. If you want to do full MRP in FreeCAD that's a great goal, but be careful, it is an ambitious goal, and it is unlikely you will get there by taking shortcuts.
There are different BOMs for different stages.
- BOM in the assembly model file (1)
- BOM for the physical assembly (2)
- BOM for the purchasing of parts needed to build a single instance of an assembly (3)
- BOM for the purchasing of parts need to build 2X one assembly, 3X another related assembly, plus 15X unrelated parts for stock (4)
- BOM for a specific purchase order to one supplier for the relevant parts from the BOM above this one (5)
a CAD system should focus on making (1) good enough to reliably accomplish (2), while striving to asymptotically reach (3). beyond that you're doing MRP or even ERP.