Throw FreeCAD Some Curves

[Mango Jelly] got a question from someone trying to model a phone box with a complex curved roof. We have to admit that when we saw it, we knew it would be hard to model well. Naturally, there are several ways it could be one, but [Mango Jelly] used the curves workbench in FreeCAD to produce a wireframe of the shape, and you can see how that works in the video below.

The curve bench didn’t sound familiar to us, and that’s because it is an add-on workbench. He starts with a sketch of a curve, constrained to be symmetrical. Then the draft workbench allowed a rotation to convert the curve into a nice skeleton of the curved roof.

The curves workbench can create a Gordon surface over that skeleton. You can extrude that into a solid object. There are still some details to add, though, and you’ll see how each part of the roof takes shape.

Watching videos like this reminds us that we use a small fraction of what FreeCAD can do. You’ll probably pick up at least one tip from this video. If you need a quick basic tutorial, try the one from [NovaSpirit]. Or, try a longer one.

43 thoughts on “Throw FreeCAD Some Curves

  1. Super cool! I should probably start using curves more, just rounding with fillets gets visually dull pretty fast. Hopefully we’ll get alternative fillet profiles or to make stuff a bit easier someday?

      1. Can’t say how to do it the easy way?

        In other CAD suites, you’d define the surface shape by a sphere or a revolution, and then just do a shell operation on it. The boolean cuts would also allow you to define different shapes for the inside and outside curves if needed, and it becomes trivial to have ribs and other special features – and you don’t need a special workbench for it because it’s already part of the normal set of tools you have.

        1. Yes, but this is FreeCAD – you’re not allowed to do it easily. You have to jump through someone’s random workbench addon, then try a different fork of FreeCAD, then spend 20 minutes doing something that would take 2 minutes in any other cad program.

    1. yeah that was my exact thought as well. i use openscad and once you say “complex curved roof”, i have to admit defeat…but this doesn’t look like a complex curved roof, this looks like sphere CSG.

    2. If it’s not a spherical shape you can’t and most likely the tutorial is designed to show how to do it for non-spherical shapes. We all went through this before about how tutorials are to teach skills and not always just about solving one task easily.

  2. For a spherical surface, cutting a sphere might be the most direct way. You fully control the shape of the surface including the middle point. The boundary curve method might get a mid point that is way off, and is hard to control.
    Surface based modelling and curve based modelling both have their advantages and disadvantages, depending what you need.

  3. That’s an interesting video for my first intro to freecad. It looks easy in his video, though I suspect the learning curve is steep!

    However, I can’t help but notice though that the “lid” section of his model ends up subtly different to the phone box. The phone box’s lid looks like it’s edges are cut vertically, with an overhung lip before the vertical sides. His has the edges of the lid normal to the lid, and no overhang.

    I was surprised he didn’t think about how the box was likely constructed (I’m guessing from ~10mm sheet steel, with the lid stamped into the curve?). I’d presume that would help both find an approach to modelling it, and follow the shape accurately?

    Still, impressive how quickly he modelled a complex shape like that, and how easy he made it look!

      1. Everything “works” and “gets the job done” when you know how to do it.

        Also, the definition of an idiot is a person who doesn’t know what you just learned five minutes ago.

        1. Everything? You’ve led a blessed life.

          Never tried to build a reliable network with Lantastic? Use MS Access or mySQL for anything? Owned a brit car? Etc etc.

          Half the skill is knowing when to cut and RUN from a POS product.

          1. @Dude, I think the point HaHa is trying to make is that for some products, there is no way to figure out ‘how to make it work’, because the ‘not working’ is in the design and can’t be circumvented.

          2. You’ve never used a product that could be made to work by nursing it but would fail as soon as you turned your back?

            e.g. mySQL can work, as long as you are willing to use a terrible completely non-standard SQL dialect (you’ll be stuck with it), are also willing to routinely take down the database for re-indexing, don’t need transactions and don’t mind a few rows going missing once in a while. It is good enough to store hackaday comments…

            second e.g. FreeCAD’s pipe extrusion tool can work. If you use it completely correctly. If one of your section sketches isn’t closed though, it will corrupt your project. You need to close the project without saving, close freeCAD then restart and try again. Not documented behavior, tutorials just do it right and never mention the trap. Error messages are less than useless, point you in wrong direction.

            My point: Definitions of ‘work’ vary.
            Does something ‘work’ if you have to do something 3 times after checking if it worked this time?
            Do Jaguars ‘work’?

            I routinely say ‘Anything is possible’, some of my coworkers really like that.
            What they don’t know is there is a silent ‘ but there has to be a better way then THAT’ attached to the phrase.

          3. >Do Jaguars ‘work’?

            Neither do Alfa Romeos. It’s more like an inverted pendulum – it has no stable configuration, just a point where it won’t immediately fall over, and the more you try to nudge it towards that point the faster if falls over the other side. If you ever get it to stay there, don’t touch it!

    1. Photopea is kinda missing the point. Sure, it looks and behaves in a familiar manner, but then…

      For example, take the “Photo filters…” tool. It’s supposed to emulate gels that you put on the projector to achieve different color casts, and those have a “Wratten number” like “85” for amber. These are specific values that are used to achieve certain effects like pulling down from 5500K outdoors color temperature to 3400 K indoors color temperature. So, there’s a list of often used filters, and then a color picker for custom options. In photopea, there’s only a color picker and you’re supposed to know which RGB value in this program behaves like an 85 filter.

      In other words, like GIMP, it copies the manner but not the meaning. Copying the functions but not the functionality is cargo cult usability – the people who made the copy didn’t understand what they were doing for the most part, or didn’t think it was important enough to include. Back in the day when Photoshop was being made, they went the other way around and asked professionals “What do you want to do with this?”, and they would explain what they need, and that’s why even after so many years Photoshop is the industry standard and everybody tries to copy Photoshop.

  4. FreeCAD is in no way a POS. Just check some of the videos this fellow (Mang0Jelly) has done. Some complex stuff in about 30 minutes and that is instructing at the same time. He even compares it to other CAD packages and it holds it’s own pretty well. Maybe take some time to learn a bit about it before you decide it’s junk.

    1. Eh, it’s kind of a POS. Fillets go apeshit on relatively simple shapes, for example. Scaling an object is an absurd rigmarole. You frequently see “Recalculation failed. See console for details.” IN THE CONSOLE (with zero details).

      I spent hours getting conversant enough in it to model stuff for 3-D printing, and it’s the only CAD software I use. But come on, it’s a bit of a mess.

      1. I use FreeCAD exclusively for all my 3d printing projects, mainly because I want to fully own my designs and not be dependent on some shareholders-first company that can screw me over whenever they decide.

        The oops-something-went-wrong-figure-it-out-yourself-what-you-did-wrong-or-if-you-did-do-anything-wrong-to-begin-with-you know-maybe-it-was-just-freecad-messing-up level of error reporting is one of the most obvious symptoms of a product where the developers over the last 20 years or so have focused 95% on features and 5% on usability.

        On the positive side, the my biggest gripe: having to redo all your fillets and chamfers every time you make a tiny change to your design, is now finally being addressed with the ‘toponaming’ work of RealThunder. So there is hope yet on the usabilty front.

        1. > the developers over the last 20 years or so have focused 95% on features and 5% on usability.

          In other words, a bunch of people have worked on the same project but not as part of the same team, and everyone has added some small contribution without consulting others, while yet other people have collated the work together without a clear understanding of what each of the parts do, or are supposed to do, because it’s not their area of expertise and they don’t have the time or will to figure it out. Just wrap it up and shove it out the door.

          Of course it makes for a program that looks and behaves like a Brazilian favela.

  5. Whats up guys im new to AutoCad, I do fire alarm drawings basically straight lines and text. Is free cad like auto cad? im paying 250 a month to use it as my boss made me buy it. Should I use freeCAD? I just draw straight lines and text.

  6. Hmmm sounds like you are knowledgeable enough to fix this, do you think you could have a release by September, yup, didn’t think so. There are people working on fixing issues in FreeCAD, I mean which software doesn’t have issues but please be kind. There has been a lot of work to get FreeCAD to the point it is now. It will only get better but I suspect instead of congratulating the crew that works on the software, documentation and videos, for their hard work, there will always be screaming, “fix this, the docs suck, why isn’t this feature included”.

    I appreciate that this software even exists, is open source and free, thank you FreeCAD team.

    1. The fact that people have been working on it for 21 years, and it still at this point, suggests that the problems are foundational. Either the organization of the project has been poor and the people have just ended up doing busywork all this time, or the underlying structure and plan of the software is faulty and they’re simply trying to polish a turd with little success despite all the hard effort. Or both.

      1. Aside:
        If you are ever asked to polish a turd what they are really saying is they want you to cover the turd in gold spray paint and glitter.

        Do it, feel absolutely no guilt. But also GTF out.

      2. Polish a turd… hehe. I have hopes for FC. Now there is a company investing full time devs into it, not only for coding but more important, organization.

        That said, you have programs such as Plasticity that is developed by a single guy in every, 2 years and it’s awesome. The power of focus.

  7. Seems to me that some of the commenters have not used much open source software before? Coherent UI/UX in large open source projects is the exception. Not the norm. Was FreeCAD painful to learn? Yes. Can I do everything I did in solidworks/onshape before switching? Yes, with very few minor quirks/exceptions. Critcism is one thing, some of comments border the edge of just being toxic.

    Several of FreeCAD’s feature issues are related to the only viable open source geometric cad kernel (OpenCASCADE) it was built around, and to an extent, those issue are out of scope of what FreeCAD can fix. I mean damn, sure the program isn’t perfect or the most optimal but if you take the time to learn it it’s pretty simple and gets the job done in a very respectable time.

    There are also some serious discussion finally happening with the project maintainers about addressing some of the most egregious UI/UX issues.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.