Mostly stuff I’m familiar with, but I’m not very comfortable with Linear pattern, multi transform, and I’ve never used a datum plane. Very interesting to pick apart.
it’s tedious and for a part like this, pointless, but have you ever used the spreadsheet workbench to make parametric models? I’ve only played with it once or twice but pretty neat
it’s tedious and for a part like this, pointless, but have you ever used the spreadsheet workbench to make parametric models?
Oh yeah. I love doing that. Earlier when I was grumbling about annotations, at least in the spreadsheets you can write a couple sentences about what a variable does. If I’m “engineering” something from scratch, I’ll typically put important dimensions and clearances in a spreadsheet and reference them within sketches. You need to be extra diligent when designing your model that it will successfully recompute given a range of values though. In the case of reverse-engineering, like this model, you throw design intent out the window and just pray everything fits.
Datum planes (as well as datum axes and points) are VERY useful. They are defined independently of any geometry in the model, and form a solid foundation to build other features from (i.e. a plane to sketch on, or an axis to bore a hole through or revolve around). You can also reference them in sketches just like any other part geometry, but they will ALWAYS be there when you change a dimension and recompute, unlike an arbitrary edge or vertex of a body. They are the canonical method to avoid the “topological naming problem.” Even in commercial CAD systems like Creo Parametric or SolidWorks, which are somewhat smarter than FreeCAD about recomputing your model after changes, you WILL have problems if you’re building a house of cards out of ephemeral geometry references on top of ephemeral geometry references.
Probably the most useful case for a datum plane, aside from a surface to sketch on, is a reference to perform a mirror operation. If you need to mirror a feature across a plane which isn’t your base XY/YZ/XZ plane, you create a datum plane and mirror across that. Same goes for a datum axis. If you need to do a revolve operation or a radial pattern around an arbitrary axis other than X, Y, or Z, you create a datum axis and use that. These datums can also be referenced during a pad/pocket operation, where instead of specifying a dimension, you can tell the operation to pad/pocket until it hits a plane (which can be arbitrary and does not need to be parallel to the plane you are padding/pocketing from).
I’ve never used a multi-transform before, but all it does is combine several mirror/radial pattern/linear pattern operations into one operation. I do this to mirror features like the triangular ribs, then duplicate them at a linear offset. All a linear pattern does is duplicate geometry and translate it along an axis (i.e. turn one hole into a line of three holes). Apparently FreeCAD does not allow you to do a linear pattern of a mirror, or a mirror of a linear pattern, so these two operations need to be combined. I feel like I didn’t run into this problem when I was using the RealThunder fork.
Yeah datum planes sound like the answer to my prayers tbh. Not sure how I never saw any tutorials using them in the past but that seems like it would make even moderately complex parts 10x easier. Shit really does get fragile when its references on top of references.
Anything that has vertex ordering can end up burning you. I deal with polyline geometries at work a lot and doing merge and explode operations can result in visually normal geometry with absolutely cracked vertex ordering depending on the order of the input lines.
Love to fillet two edges together and have an artifact 500 vertexes away because that’s how the parts were stored internally.
I couldn’t get that branch to work years ago when I first tried it and didn’t care to build from scratch for how often I used it, but I do see they have appimages now. Maybe next time I’ll try it. Its kinda annoying to have to go to a fork to get modern features after this many years but
It’s well maintained and I’ve had no issues with it. There’s also the Ondsel branch thats based more on LinkStage and kind of an intermediate between LinkStage and FreeCAD main.
I’d definitely try Ondsel if you haven’t been able to get LinkStage working, it’s definitely worth it and it’s got a moderate solution to the topological naming problem as well as a much more intuitive part system. Like you can extrude and pocket faces directly.
I get that it’s a good fork, I just don’t get what the hangup is with upstream adopting these changes if they’re so superior. I’m sure there’s a big hubbub about it somewhere I could read or some technical reason that they won’t do it, but just as a lazy user it is a mild annoyance (less mild when it doesn’t work).
Upstream is adopting many of these changes. A 1.0 release candidate fully integrating the toponaming changes from RealThunder’s branch is supposed to be released within a week or two. There are many other convenience features in the RT branch (like better section views, live updates to chamfer/fillets, non-contiguous bodies, etc) but backwards compatibility with existing models is much more important in upstream than it is in experimental forks like RealThunder’s. Basically, it just takes time.
yeahhh I get that in the abstract it was just jarring to see a fork I was getting recommended 5 years ago still be unmerged lol. I should know better from how much I work with open source but apparently I don’t lol
I never went too deep on freecad, I just use it the like 5x a year I need to print a part
They don’t want to adopt them because it’s a breaking change as it is. The project files that were made before the patch are not fully compatible out of the box with the patch without a way to migrate them.
FreeCAD has a very X11 style development strategy of “don’t ever break backwards compatibility”. Ondsel is actually working directly with the FreeCAD team to bring these patches into main within the year so you can always wait. There’s going to be a feature freeze until the topo issue is solved (merging Realthunder’s fixes into main) then they’ll release v1.0 and re-open feature development.
Huh, I’d love to see it! I just assumed there was some other disagreement or something holding it up because its been kind of a long time (5+ years at least on realthunder). Shit happens at its own pace in open source and I respect that but that’s still a lot lol
Thank you!
Mostly stuff I’m familiar with, but I’m not very comfortable with Linear pattern, multi transform, and I’ve never used a datum plane. Very interesting to pick apart.
it’s tedious and for a part like this, pointless, but have you ever used the spreadsheet workbench to make parametric models? I’ve only played with it once or twice but pretty neat
Oh yeah. I love doing that. Earlier when I was grumbling about annotations, at least in the spreadsheets you can write a couple sentences about what a variable does. If I’m “engineering” something from scratch, I’ll typically put important dimensions and clearances in a spreadsheet and reference them within sketches. You need to be extra diligent when designing your model that it will successfully recompute given a range of values though. In the case of reverse-engineering, like this model, you throw design intent out the window and just pray everything fits.
Datum planes (as well as datum axes and points) are VERY useful. They are defined independently of any geometry in the model, and form a solid foundation to build other features from (i.e. a plane to sketch on, or an axis to bore a hole through or revolve around). You can also reference them in sketches just like any other part geometry, but they will ALWAYS be there when you change a dimension and recompute, unlike an arbitrary edge or vertex of a body. They are the canonical method to avoid the “topological naming problem.” Even in commercial CAD systems like Creo Parametric or SolidWorks, which are somewhat smarter than FreeCAD about recomputing your model after changes, you WILL have problems if you’re building a house of cards out of ephemeral geometry references on top of ephemeral geometry references.
Probably the most useful case for a datum plane, aside from a surface to sketch on, is a reference to perform a mirror operation. If you need to mirror a feature across a plane which isn’t your base XY/YZ/XZ plane, you create a datum plane and mirror across that. Same goes for a datum axis. If you need to do a revolve operation or a radial pattern around an arbitrary axis other than X, Y, or Z, you create a datum axis and use that. These datums can also be referenced during a pad/pocket operation, where instead of specifying a dimension, you can tell the operation to pad/pocket until it hits a plane (which can be arbitrary and does not need to be parallel to the plane you are padding/pocketing from).
I’ve never used a multi-transform before, but all it does is combine several mirror/radial pattern/linear pattern operations into one operation. I do this to mirror features like the triangular ribs, then duplicate them at a linear offset. All a linear pattern does is duplicate geometry and translate it along an axis (i.e. turn one hole into a line of three holes). Apparently FreeCAD does not allow you to do a linear pattern of a mirror, or a mirror of a linear pattern, so these two operations need to be combined. I feel like I didn’t run into this problem when I was using the RealThunder fork.
Yeah datum planes sound like the answer to my prayers tbh. Not sure how I never saw any tutorials using them in the past but that seems like it would make even moderately complex parts 10x easier. Shit really does get fragile when its references on top of references.
Thanks for the tips!
Let’s not get carried away now. The computer will always find a new way to misinterpret your intent. CAD systems are like a geometric monkey’s paw. :)
Anything that has vertex ordering can end up burning you. I deal with polyline geometries at work a lot and doing merge and explode operations can result in visually normal geometry with absolutely cracked vertex ordering depending on the order of the input lines.
Love to fillet two edges together and have an artifact 500 vertexes away because that’s how the parts were stored internally.
Check this tutorial out if you haven’t
It’s using Link Branch (now officially endorsed) and is a few years old, but it goes through basically every tool in part design
I couldn’t get that branch to work years ago when I first tried it and didn’t care to build from scratch for how often I used it, but I do see they have appimages now. Maybe next time I’ll try it. Its kinda annoying to have to go to a fork to get modern features after this many years but
It’s well maintained and I’ve had no issues with it. There’s also the Ondsel branch thats based more on LinkStage and kind of an intermediate between LinkStage and FreeCAD main.
I’d definitely try Ondsel if you haven’t been able to get LinkStage working, it’s definitely worth it and it’s got a moderate solution to the topological naming problem as well as a much more intuitive part system. Like you can extrude and pocket faces directly.
Here’s a blog post about it
I get that it’s a good fork, I just don’t get what the hangup is with upstream adopting these changes if they’re so superior. I’m sure there’s a big hubbub about it somewhere I could read or some technical reason that they won’t do it, but just as a lazy user it is a mild annoyance (less mild when it doesn’t work).
Upstream is adopting many of these changes. A 1.0 release candidate fully integrating the toponaming changes from RealThunder’s branch is supposed to be released within a week or two. There are many other convenience features in the RT branch (like better section views, live updates to chamfer/fillets, non-contiguous bodies, etc) but backwards compatibility with existing models is much more important in upstream than it is in experimental forks like RealThunder’s. Basically, it just takes time.
yeahhh I get that in the abstract it was just jarring to see a fork I was getting recommended 5 years ago still be unmerged lol. I should know better from how much I work with open source but apparently I don’t lol
I never went too deep on freecad, I just use it the like 5x a year I need to print a part
They don’t want to adopt them because it’s a breaking change as it is. The project files that were made before the patch are not fully compatible out of the box with the patch without a way to migrate them.
FreeCAD has a very X11 style development strategy of “don’t ever break backwards compatibility”. Ondsel is actually working directly with the FreeCAD team to bring these patches into main within the year so you can always wait. There’s going to be a feature freeze until the topo issue is solved (merging Realthunder’s fixes into main) then they’ll release v1.0 and re-open feature development.
Huh, I’d love to see it! I just assumed there was some other disagreement or something holding it up because its been kind of a long time (5+ years at least on realthunder). Shit happens at its own pace in open source and I respect that but that’s still a lot lol
I found a YouTube link in your comment. Here are links to the same video on alternative frontends that protect your privacy: