Hi everyone,

I looked through this community, and I didn’t see much discussion of the use of CAD for woodworking, so I figured it was worth a post. I learned CAD ages ago, and I’ve used it sparingly in my professional life since then. I’m working on a project now that would benefit from CAD, so I figured I’d try to get up and running with a software for personal use.

I know sketchup and fusion360 have long been the major players for woodworkers, but I am wary of “free” personal use licenses that can be removed or degraded at any time. As this is Lemmy, I’m sure plenty of you are interested in FOSS options as well. I know there are some programs out there specifically for woodworking, but if I’m going to learn a new software, I want it to be more general purpose so I can use it to make things for 3D printing, etc, if needed. I also want something parametric to be able to easily change designs. For those of you unaware of what that means, it basically means that you can design things with variables instead of exact numbers. That way you can punch in numbers later on to easily update your design. In my case, I’m making cabinet doors in a few different sizes, and I’ll be able to generate plans for different doors with only 1 model. Theoretically, I could upload the design for anyone else to use/modify as well on a place like thingiverse (someone give me a shout if they are secretly horrible or something, I’m generally wary of providing value to a corporation for free).

This all drove me to FreeCAD. FreeCAD is a FOSS CAD software that has a huge range of different capabilities. The different tools are divided into “workbenches” of different uses such as architectural drafting, 3d printing, openSCAD etc. There are also user created workbenches that you can install. There’s even one specifically for woodworking (that I haven’t used yet).

I’ve started into some tutorials, and most of them are focused on building a single widget. While that’s great if you are planning on making something to 3d print, us woodworkers are usually assembling different parts. The tutorials for woodworking specifically I’ve followed along with so far seem to follow the same workflow:

First, a spreadsheet is set up to establish all the parameters you want to be able to change, then, each part is designed individually. Finally, all of the pieces are brought together and assembled.

While this is great if you already have a design in mind or an object, and you are trying to make a model of it, it’s not the way I would ideally go about conceptualizing a new design. To make a nightstand, for example, my preferred methodology would be to assemble some simple rectangular panels to represent the top, bottom, back, front, left, and right. After those are in place, I’d start adding joinery, details like routed edges, and cutting out space for a door. It doesn’t seem like freecad is necessarily set up to do things that way, though I could be wrong. This might even be how the woodworking workbench does things, I just figured I’d start learning the default workbenches first.

Anyone else use freecad or another CAD software? What’s your workflow like? Want me to report back once I’ve had more time to play around with it and learn some stuff?

  • Captain Aggravated@sh.itjust.works
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Ah no, it’s not assuming the 5 is in mm, it’s assuming it’s unitless. Like imagine if part_a is 5 times as tall as it is long, part_a.height = part_a.length * 5 will work just fine. But if it’s 5 inches taller than it is wide, part_a.height = part_a.length + 5 won’t work because 5 what? you have to say part_a.height = part_a.length + 5 in and that will work.

    This is flexible enough to allow you to work in metric and standard in the same document, 15 in + 4cm will parse just fine.

    • evasive_chimpanzee@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      It seems like that isn’t the case, though. If that were the case, having a math expression (with no parameters) wouldn’t work without specifying units. My pythagorean formula example works with no units specified at all. If you plug that into an expression, it gives you 5 mm. No matter what your units are set to. If your units are inches, it just shows up as .2 inch.

      “part_a.height = part_a.length + 5” doesn’t work even in mm, though, so something weird is afoot.

      • Captain Aggravated@sh.itjust.works
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        1 year ago

        It can do math on all unitless numbers.

        Opening a new FreeCAD document, creating a spreadsheet, I get the following results:

        =5+5 evaluates to 10

        =5" + 5" = 10"

        =5" + 5 returns a Quantity::Operator Unit mismatch error.

        =5" * 5" returns 2’1"

        =5" + 5mm returns 5"+3/16". I’m working in fractional inches and have it set to 1/16" maximum display precision. Right clicking the cell, going to Display Unit and typing in mm that cell computes to 132.00mm

        Note everywhere I typed a " can be replaced with ’ in’. FreeCAD will parse both.

        If you’re working in the sketcher, it will let you type “5” in for a distance constraint, and is smart enough to go “A unitless length? Okay, we’ll assume the unit is the document default setting” and will insert 5mm or 5 in. So it will automatically–and quietly–assign a unit to that unitless number you typed in.

        In the expression part_a.length + 5, part_a.length is in inches, 5 is unitless. It can’t add those. It can do part_a.length + 5" though. with the " meaning inches. or part_a length + 5 mm.

        Note that when mixing inches and millimeters, it may round numbers for display. There’s a setting in the options for maximum display precision, it’s so you don’t end up with something like 152.00231078422872 mm or 1 93/2048". I do believe that it calculates and renders geometry precisely though. Like above adding 5 inches and 5 millimeters is maybe a bad example because it does just so happen to create a round number.