Cabinet furniture design tools workbench

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
User avatar
Roy_043
Veteran
Posts: 8578
Joined: Thu Dec 27, 2018 12:28 pm

Re: Cabinet furniture design tools workbench

Post by Roy_043 »

Maybe OT, but this macro by TheMarkster is perhaps of interest:
Macro Joint
routalot
Posts: 70
Joined: Sun Sep 23, 2018 11:40 am

Re: Cabinet furniture design tools workbench

Post by routalot »

One of the reasons why I bumped this topic a few days ago is that I know a man who is getting a new furniture business established and we often talk about ways of doing things.He has had conversations with one or two people about software that would allow him to keep the whole project together from design of the piece to nesting of components to generating CNC cutting files.Naturally enough,every person he talks to insists that theirs is the best possible solution and when pressed for details about cost,they get a bit coy and offer to prepare a quote-which might turn out to be a lot higher than the headline figure for the most basic version.

I began using Freecad to allow me to cut section templates for my hobby of carving half models of interesting boats.I had done quite enough tracing of sections with carbon paper,followed by cutting and sanding to shape and so I built a very basic CNC router.When it came to actually cutting them from the small sheet that would fit my machine and using it effectively,I looked in vain for a nesting facility.I discovered a few days ago that there is the basis of one and had it included the facility to specify a gap for a cutting tool,it would have saved me a lot of trial and error manoeuvring of parts.I did the job and enjoyed the freedom from the tedious sanding.

I told my associate that if a couple of further links in the chain were in place,Freecad would be well worth considering for his purposes but for now it isn't quite there.For his purposes a generic piece could be the starting point,with a spreadsheet that determines all the principal dimensions.Part design won't do it as it involves multi body modelling and I am unaware of a method of lining spreadsheets for the files of several parts of the same assembly.I admit to knowing nothing about Assembly options other than A2plus so perhaps I'm missing something.I know that Path updates when a Part Design model changes and I would expect a working nest function would have some re-calculating to do.It seems that if only there were ways of linking the various functions that are so nearly there,Freecad would be exceptionally good for the job.For my hobby,I would be really happy to see the appearance of the nesting function in the Path workbench and with the ability to specify a gap between the parts,am I the only potential user of such a huge benefit?
zohozer
Posts: 119
Joined: Mon Jul 28, 2014 8:35 pm

Re: Cabinet furniture design tools workbench

Post by zohozer »

The parts and nesting module needs to add support for Grain orientation in the first place, a thing that it is a must for any furniture manufacturer.
User avatar
dprojects
Posts: 722
Joined: Mon Mar 06, 2017 6:02 pm
Location: Poland
Contact:

Re: Cabinet furniture design tools workbench

Post by dprojects »

LOL, I didn't know you are discussing here without me so long about woodworking ;-) That's not fair ;-)

In the past I had similar problem with woodworking ;-) I use Ubuntu and I hadn't software to design furniture with simple and short dimensions list. I usually order chipboards at the cutting service store (named in Poland: Castorama) so I had to have dimensions table to the person who cut chipboards. Mostly, I use screws for furniture and pilot holes, never glue and dowels, because I like to have the possibility of disassembly into parts in case of changing furniture, renovation of the apartment or put it into trash ;-)

yorik wrote: Thu Feb 17, 2022 11:09 am So basically I would say we need two main kinds of objects: a "box" and a "panel". The box is basically the same as the Part Box except it can be subdivided. Maybe it needs more properties too?
I guess, you need to define furniture part, I made it here: Furniture parts, so this might be useful for you.

yorik wrote: Thu Feb 17, 2022 11:09 am The panel would be similar to the Arch panel (maybe reuse/extend it?), you should be able to make one from a face of an existing object (or a group of faces), and allow to define all kinds of offsets so your panel could be larger or smaller than its base face, or at a distance from it. It should also hold grain direction and panel type (shoulder, top,...)

How does that sound?
I would create new Workbench named Woodworking and add buttons with links to existing FreeCAD features:

Supported furniture parts:
  • Part :: Cube,
  • PartDesign :: Pad.
Supported transformations:
  • Part :: Mirroring,
  • Draft :: Array,
  • Draft :: Array Polar,
  • Draft :: Clone,
  • PartDesign :: Hole,
  • PartDesign :: LinearPattern,
  • PartDesign :: Mirrored,
  • PartDesign :: MultiTransform
This is already supported by the macro: getDimensions so this is possible to use it like this for woodworking purposes without inventing new special objects.

yorik wrote: Thu Feb 17, 2022 11:09 am What about drawers? How would that go?
I wouldn't make drawers as a separate Furniture Part, because to make drawers you have to create it from wood parts. In fact it is small furniture. To make drawers you need to have information about each part, all dimensions for each part. Currently at FreeCAD you can make drawer and use transformations on that like Clone or Body copy to make them more and treat is as furniture part. This is currently supported and I have demo with such transformations here: Demo006_holes.

Hope this helps. I think FreeCAD is great because you can code many things.

Thanks
Darek
github.com/dprojects

workbench for woodworking is available at: github.com/dprojects/Woodworking
User avatar
dprojects
Posts: 722
Joined: Mon Mar 06, 2017 6:02 pm
Location: Poland
Contact:

Re: Cabinet furniture design tools workbench

Post by dprojects »

zohozer wrote: Sun Feb 20, 2022 12:35 pm The parts and nesting module needs to add support for Grain orientation in the first place, a thing that it is a must for any furniture manufacturer.
When creating a table top from glued raw wood parts, the orientation of the grains is essential so that the table does not crack in the future.
Support for grain direction can be simply done by pre-config macro that set all your properties and you would be able to assign grain direction via GUI for each face. But I am not sure if this is what you are looking for.

Thanks
Darek
github.com/dprojects

workbench for woodworking is available at: github.com/dprojects/Woodworking
User avatar
dprojects
Posts: 722
Joined: Mon Mar 06, 2017 6:02 pm
Location: Poland
Contact:

Re: Cabinet furniture design tools workbench

Post by dprojects »

zohozer wrote: Mon Feb 14, 2022 12:05 pm We already have a Spreadsheet workbench who is quite capable and there also it is developed a Configuration Table using Spreadsheet that needs some further improvements like the posibility to use IF, ELSE conditionals.
Why you need spreadsheet for woodworking with if and else? At Sketch for each constrain and for Cube for each dimension you have possibility to add link to Spreadsheet. So you are able to create fully resizable furniture with that. Here is demo with such Spreadsheet: Demo004_pads_mirror. You can move the legs offset and size of the table in the spreadsheet. The 3D model will be updated automatically. And also if you run the macro you get new dimensions at report.

I was thinking about using Spreadsheet as costs input for my macro, in Poland we pay for m2 of chipboard so you could have there costs calculations as well. But for now I am not convinced for that. I can simply group each chipboards color in folders and calculate it manually very quickly. So for me it is not so urgent issue.

Thanks
Darek
github.com/dprojects

workbench for woodworking is available at: github.com/dprojects/Woodworking
User avatar
dprojects
Posts: 722
Joined: Mon Mar 06, 2017 6:02 pm
Location: Poland
Contact:

Re: Cabinet furniture design tools workbench

Post by dprojects »

Just to sum up:
yorik wrote: Wed Feb 16, 2022 11:03 am - work with boxes
- be able to assemble those boxes
This is already supported: g - report type

yorik wrote: Wed Feb 16, 2022 11:03 am - be able to drive the boxes dimensions from a spreadsheet
This is already implemented at FreeCAD. You can add link at each Sketch constraint to spreadsheet cell, even without easy alias: Example

yorik wrote: Wed Feb 16, 2022 11:03 am - be able to subdivide boxes
I wouldn't do that. If you define furniture part as cube or pad this should be base element.

yorik wrote: Wed Feb 16, 2022 11:03 am - generate panels from those boxes
You can use currently supported Draft :: Array or even PartDesign :: LinearPattern. However if you want to make table top from raw wood parts you need to define grain direction for array, what can be little tricky because arrays can have 6 x number of elements faces. List all of them in one spreadsheet row may not be possible because there is no room to print it later ;-) However there can be special tool for that and special report. You can store all faces at object level in simple array with all grain codes.

yorik wrote: Wed Feb 16, 2022 11:03 am - generate specific attachment points from these panels
- those attachment points can become holes, or be use to hook other objects (screws, hinges, buttons, whatever)
You can also use currently supported features: Dowels, pilot holes, countersinks.

yorik wrote: Wed Feb 16, 2022 11:03 am - be able o generate CNC cut sheets
I can't help here because I don't have CNC so I don't have idea what is needed for this. I only made detailed report with pilot holes, countersinks but have no idea is this help.

yorik wrote: Wed Feb 16, 2022 11:03 am - be able to generate BOM
You can add button for my macro under BOM name. Also another button for sheet2export named "Export BOM" or something like that at Woodworking workbench.

yorik wrote: Wed Feb 16, 2022 11:03 am - be able o generate conventional drawings (plan, front view...)
TechDraw does this but personally I don't use it. So I can't help here. For me TechDraw could handle multi-page input.

yorik wrote: Wed Feb 16, 2022 11:03 am - be able to generate exploded drawings
Have no idea what it is ;-) core dump? ;-) so this already implemented very well ;-) LOL

yorik wrote: Wed Feb 16, 2022 11:03 am Once this plan is good, the next step would be to identify which new features/objects are needed, and which existing ones can be used or need to be adapted
I guess, there might be more woodworking macros so you can add button for each one. License for all my publicly available projects is MIT. I have no idea if there are copyright works but probably most of all are LGPL so they can be used this way, I guess.

Hope this helps.

Thanks
Darek
github.com/dprojects

workbench for woodworking is available at: github.com/dprojects/Woodworking
zohozer
Posts: 119
Joined: Mon Jul 28, 2014 8:35 pm

Re: Cabinet furniture design tools workbench

Post by zohozer »

dprojects wrote: Sun Feb 20, 2022 5:51 pm
Why you need spreadsheet for woodworking with if and else?
To be able to adjust dinamically the number of dowels and other conectors based on the panel sizes. IF panel with = 500mm = use 3 dowels, ELIF > 600 = use 4 dowels, ELSE use 2 dowels.
User avatar
dprojects
Posts: 722
Joined: Mon Mar 06, 2017 6:02 pm
Location: Poland
Contact:

Re: Cabinet furniture design tools workbench

Post by dprojects »

zohozer wrote: Mon Feb 21, 2022 8:28 am To be able to adjust dinamically the number of dowels and other conectors based on the panel sizes. IF panel with = 500mm = use 3 dowels, ELIF > 600 = use 4 dowels, ELSE use 2 dowels.
Personally I use Wolfcraft - Dowelling Jig for pilot holes making. Also if I make more segments, I use dowels to put one segment module at the top of the other. But never glue them. The Wolfcraft jig has predefined space between next hole 32 mm (it is system). I was watching also many woodworkers at youtube and they never plan doweling so detailed or any other woodworking accessories. They use what is already in the store and they mostly use something what is called I guess "Festool dowel router" and it has also predefined offset for next hole.

So in fact you have to plan only the offset from the edge for first hole. All others are mostly predefined (can be mirrored or linearpattern at FreeCAD).

EDIT:

Mostly the dowels are used this way: Demo002_constraints. This is defined as offset from the edge (at FreeCAD you can use offset at Sketch for that already). In real-life dowels and pilot holes are never proportionally set along the entire edge.

Image

You mean Dovetail joints or something similar maybe? In this case the size of joint need to be adjusted and also number of them to fit the entire edge perfectly. This is usually very difficult to do it correctly in real-life so it is usually done by maximum crazy hobbyist ;-) However, in fact you can already do it at FreeCAD just by simple bool operation on Pad. Maybe I will make such demo for that. Who knows.

Thanks
Darek
github.com/dprojects

workbench for woodworking is available at: github.com/dprojects/Woodworking
zohozer
Posts: 119
Joined: Mon Jul 28, 2014 8:35 pm

Re: Cabinet furniture design tools workbench

Post by zohozer »

Basically FreeCAD Furniture workbench needs to be able to produce something like this and all the wood panels to have grain orientation:
cabinet.PNG
cabinet.PNG (195.17 KiB) Viewed 2462 times
There are different workflows used by different softwares to achieve this result. Interiorcad have a good workflow, also SolidWorks have good tools to achieve the same result.

SOLIDWORKS in the furniture design industry

How to create a conector in SW: Library Features in SolidWorks

Library Feature Parts / Smart Components in SolidWorks

Introduction To Cabinetry Within SolidWorks Part 3: Smart Parts
Post Reply