I just found my initial thoughts sketch for this workbench that I envisioned some time ago. Please add yours to this list:
FreeCAD Furniture Workbench
- Driving shape volume (Containing shape) (like a box) (with internal divisions if needed) who will act like a driving shape for all the panels located inside that shape. If shape and sizes changes, to change everything inside accordingly. -- with schematic representation for later on drawings generation
- Panels definitions (to be placed inside of the previously created Driving Shape): thickness of material, raw size, finish size. -- Surface definitions (grain orientation, material for rendering (also external render engines: Cycles or eevee), material for cross-section view). -- Edge-banding definitions (kind of edge, size, edge profile) if edgebander will take off what it is putting on. Some edge-banding machines have this capabilities, other don't have. When the edge will be applied: Before, ON or After CNC. (if require mechanisation on side of the panel, edges to be applied before mechanisation.) -- Mechanisation profiles associated to edges. (male-female profile mechanisation) -- Fixtures
- Fixtures definitions (like sketchup plugin -Assemblage) (minifix&dowels, cams) (with "if else" options) with related holes in panels. (Holes can be created by placing geometry into the layer called "subtract", and FreeCAD will automatically create the required boolean operations). Editing capabilities after placement, option to swap cams from inside face of panel to outside, option to replace them with something else from library, change position, eliminate part of them if necessary.
Fixtures to be placed on panels definitions of freely onto the surface of panels to certain distance specifyed by user.
- wizards for creation of panels with edges&fixtures, doors and drawers.
- If pockets are partially outside of panel to have extended shape outside for removing all extra material from corners.
- Options for creation of dog-bones (orientation H-V, cross).
= DRAWINGS =========
- Automatic drawings creation for individual parts, assemblies.
- Dynamic section views.
- One button Exploded views (like Sketchup Eclate-Deplace) with automatic numbering of parts from BOM.
- Schematic views with door openings and dimensions.
= BOM ==============
- The first column always represents the Grain orientation.
- Configurable reports. To be detailed.
= NESTING ==========
- Nesting by type of material. If a project needs to have mixed material parts, to nest the parts acording to this condition. Example: all the parts requiring "18mm White Melamine" to be nested into a 18mm White Melamine sheet, "Veneered MDF 19mm Oak" (which have fiber orientation) to be nested into another sheet taking into account the grain orientation.
- Custom shape for board, if we need to use an offcut piece for producing the parts.
= CNC ==============
- Create two separate files if the part require mechanisation on both faces, always turn L to R, to avoid any misalignments between mechanisations.
- Mechanisation priority and optimisation.
- Option for insertion of machining pause in program if require the manual intervention of operator (for removing the extra material, better fixing of part on table, visual inspection, etc.)
- Graphical representation of Grain&Edge-banding on part, so that operator knows how needs to correctly position the part on the CNC machine. Like WoodWop graphical comment.
- Variables creation (for later on making adjustments by operator if required), like L(length), W(wide), H(height).
- Cutting saw support
- Horizontal drilling & drilling block support.
= EXPORT ===========
- Option to export the nested result/sheet or as individual file for every part as .dxf files. If the part require mechanisation on both sides, to export as two separated files, the second one rotated from Left to Right and have the suffix "_face2".
- Suffix with the quantity, like _q5 if needs to mechanize the same part five times.
- The name of the Project&part in component, followed by the kind of material. Example: For the kitchen build for the client Tom, top part of Unit5 who needs to be made from 18mm White Mellamine, the name will be TomU5top18WhiteMelq1.dxf. If that part needs also mechanisation on the other face, the second file will be named TomU5top18WhiteMelq1_face2.dxf
- Layered DXF with configurable layer names. If I need to use Tool #4 and that tool needs to create a 5mm deep pocket, the corresponding geometry for that mechanisation needs to go on layer "PT45". Drill diam. 5mm and 12mm deep = "D5DEPTH12", etc.
- A separate layer to represent the edgebanding, called "edge" with different collors for different edge materials.
- Another layer representing the name of the parts, to easily identify every part by name (layer = "name").
- Layer representing the dimensions of every part in Length and Width into the layer called "dim".