The amount of thinking that has gone into making these models and formulas is amazing. Thank you for sharing your knowledge! If only could freeCAD get rid of the topological naming problem... I am sure all the big, professional CAD tools would fear for their existance ...
You don't know how glad I am to see you upload another video, your FreeCAD videos are what stopped me from getting frustrated using it and start actually making solid designs.
Some good ideas, thanks for sharing. I wonder if there's a better way to communicate to the user whether their input was valid and accepted, or whether it was invalid and some sort of default was substituted instead? It could be surprising to ask for an M4.5 hole, get something that looks visually believable, and then find out later that it has been silently substituted for M4.
You're absolutely right! With macros, there are a multitude of good ways to do this, but I'm still looking for a good method to do this just using the built in tools. When looking at the planetary gear set, you might be able to see in the tree next to the assembly, the comment field will say "VALID" or "INVALID" based on an expression in the spreadsheet that is supposed to work out whether the gear set would function. It really doesn't stand out enough to warn users though, I could have made it default to a wildly different hole size to show something was wrong, but I think the ability to trigger a prompt/toast message/message box is what is needed. I need to ask more questions on the forum to find out whether there are some crazy tricks to get that to happen.
@@BrodieFairhall If you can control the visibility of objects with expressions then perhaps you could include some large padded "INVALID" text at the global origin so it would obscure the model and couldn't be missed. You might have multiples that could identify which parameter caused the problem.
I agree this is not a tutorial but it gave me a better understanding of how and why certain parts of Freecad operate. I believe spreadsheets are useful in honing the design and selecting dependencies. Thank you.
I Like rule #2 'Stay Absolute' but I have one exception lol. When I sketch I have areas of the sketch that - in my mind - are actually sub-sketches. IE the details/hole/etc in the corners of each box. all those dtails will ALWAYS be in that corner and will move around with the corner when resized... Therefor I reference the details to the actual corner - BUT not directly. one point of the detail section of the will reference the corner to lock the sub-sketch in place to the corner- the rest of the details will reference that point. At not point (EVER) will any line/point/feature etc reference anything out side its own details. it is that which will break the sketch. Or a rat hole as I call it (because if u make one it will end up as a rats nest, lol)
Seeing those complex expressions makes me think of how elegantly those things could be solved with a simple scripting language like in OpenSCAD. Even just multiline expressions would be neat for better readability.
OpenSCAD is perfect for this kind of thing! Thankfully FreeCAD has support for OpenSCAD built in, as well as being able to directly manipulate anything with Python and nicer front end tools like Configuration Tables. Doing this the same way I did in the video wouldn't be great in production, but it was the most direct way I could think to demonstrate it quickly.
the "undo problem" when sketches cascade and break seems to be something that would be solvable if it didn't happen on the main sketch instance, but instead when regenerating all the models, done on shadow copies until it knows they all complete? then apply them in one step. would enable some options around sketch failures that would be really nice too, like *more cases* where you prefer it abort the whole operation than solve it in the state it is in
You're probably entirely right, I have no idea how undo is handled, it might revert the sketch normally, but in this case I'm pretty sure the sketch remains broken because it is only undoing the changes in the spreadsheet, then updating everything. I guess it didn't count the sketch as having changed
Snapshot undo - where the entire state of everything is recorded at each step would work, ,unfortunately thats a memory hog. However it does allow immediate undos without need for recalculations. Instead they just 'undo' the last command and allow a recompute. Unfortunately if the action borked other states in the model it cant repair it.
Thanks Martin! I'll get all the exact colours I use when I get to my PC next. It's built on the standard light blue palette, I set the sketch lines were set to black and all the other colours for lines and the background were taken from this palette flatuicolors.com/palette/defo
@@BrodieFairhall Thanks for the fast response. I have been working with FreeCad for several months now and i couldn't find a color pallet that look good till i watched your video. Thanks Brodie and keep up the videos. 👍👍
It's actively being merged right now. It's a massive change to a lot of code, especially since the versions diverged so much. An open core company called Ondsel has some paid, full time Devs working on getting the topo naming fix merged and ready for action. You can check it out here github.com/FreeCAD/FreeCAD/tree/development/toponaming
I would like to see a way using the sketcher to create a variable number of holes equally spaced (in a circle or an array) where the number of holes is defined in a spreadsheet.
That is unfortunately not something that the sketcher is intended to do. There are some hacky ways to do it that I might look at putting in a video. Generally though, the "correct" way to do something like that is by creating one hole and using a part design/draft array tool to replicate the holes in the places you want.
@@BrodieFairhall The array tools in the sketcher could be modified to accept equations, but for now, they only seem to allow constants. It makes some fully parametric designs impossible, or at least really convoluted and hacky to implement. This kind of thing is much easier to do in OpenSCAD.
@@douglaspeale9727 yeah, probably the easiest way to make sketches do things like that is to use a python macro or the openscad workbench. It would be great to see sketch arrays turned create a new type of array object rather than just replicating the sketch elements, so they could be used in a proper non destructive workflow. I think the sketcher would require a lot of changes to do this though, eg, you create a rectangle and it's not shown as a rectangle in the sketch elements, it becomes 4 lines. The element list would likely have to have a tree allowing those 4 lines to be grouped as a rectangle and this would allow for the creation of other groups, like arrays, which could have their own parameters. I'll bring it up with sliptonic when we have our next monthly meeting and see how much work it would be and whether it could be added to a feature road map. The easiest hacky way I can think of to make a variable number of sketch elements to cut the number of holes specified in a spreadsheet is to create a whole lot of them and add an expression on the construction geometry parameter that will set it to 1 or 0 depending on the number in the spreadsheet (the same way I show and hide the planet gears in the assembly in this video).
Should be mentioned that in SOme cases you DO NOT want to have your fillets, chamfers, sometimes even holes in your sketch. They are referred to as dressing or dress-up operations because they are a completely separate operation if the object needs to be machined to make. You need to keep in mind how the objects are made or how the sketches will be used to build something. And there are exceptions. as in Mold making and plastics. I guess my point is you dont want to get in the bad habit if you plan on doing serious model/sketch making. And that bad habit depends on 'what' you are making, lol. In my opinion - 95% of the time - adding fillets in a sketch is asking for it.
The big one that stands out / common mistake people seem to make is, modelling threads in holes. The main issue I've encountered is that most machine shops tend to only support source files from one or two 3D CAD suites, if you don't use the same tools as them, you end up having to just send them a step file and if you need holes tapped, special requests etc. you also need a marked up drawing. Unfortunately, I haven't encountered a company that will take FreeCAD files for machining, so in the end there ends up being no difference between creating a dress-up feature using a dress-up tool or creating the geometry in any other way, because they'll just end up asking for a step file. This has thankfully worked out for me so far, even with designs that are destined for injection molding, so either CAM tools are just getting better or I have really, really annoyed many operators who have had to deal with my designs. I do hope that either an open file standard that includes all operations rather than just geometry gets universally adopted or FreeCAD files start being accepted by manufacturers (I won't hold my breath for that), and then we will have to use the right tools for the job.
@@BrodieFairhall Yeah I didn't even consider Commercial the compatibility issues. Well the could do it the same way Solid Works did it, go proprietary, charge 10's of thousands of dollars a year for a license and then a couple decades later offer a cloud version at $50 a year. that way its use will explode and you will find solid works cad files all over the place. lol
@@BrodieFairhall That one I can't argue with. otherwise no one would know how to use it since only multi-million dollar companies could afford the license fees.On the Plus side - universities are public and they share their science and designs. if u know how to find them/ I have Full Cad models right down to the nuts and bolts for all sorts of things, Space telescopes, gravity detectors all sorts of projects and NASA stuff. My best find was the entire Atlas Collider Machine at Cern. Over 2 million parts in cad form! Almost as wonderful was that the entire assembly may have taken long time to load to my laptop but once it did I could rotate and zoom on the model with no issues. Good software that.
@@Gabs_Labs I use the official FreeCAD releases for anything serious, but I do play with the realthunder version occasionally just to keep up with the changes.
unfortunately this video proves that FC is still way from being reliable app. something here something there... it's more like tinkering with the app rather than working with the model 🤔
Not going to argue with the rough edges and missing quality of life features limiting the use cases and uptake of FreeCAD But the raw power FreeCAD has also puts it ahead of so many other professional tools. Keep your eye on FreeCAD over the next 2 years, Ondsel has full time paid developers working on a lot of the QoL improvements (like topo naming) and the FreeCAD association has made it much easier for companies to come on board as sponsors
I believe it is February 2024 and the plan is for it to be both online (like last time) and in person. I've got what I think is a very interesting presentation planned. I'll post updates when I have details.
Freecad является полностью инвалидным когда дело доходит до фасок. В коммерческих программах моделирования, на сколько я могу судить, формы для расчетов и привязок остаются исходными, а фаски это как дополнительное свойство, которое отображается и экспортируется в готовых моделях, но не является частью внутренней модели. Но во freecad, похоже является! И разрушает модели, на которые были потрачены часы!
It sounds like you're talking about 2 different issues here. 1. The limitations with full width chamfers and fillets in the Open Cascade Modelling Kernel (OCCT, which FreeCAD uses) 2. The other issue, which sounds like the main one you're having, is the Topological Naming Peoblem (ruclips.net/video/6p2vqEEmWq4/видео.htmlsi=e86N33xLW8MYe7pv) Both of these limitations have solid work arounds, but require you to become pretty familiar with FreeCAD to use it effectively. You may want to try using Realthunder's Linkstage Fork of FreeCAD, which can be found here (github.com/realthunder/FreeCAD/releases/)
I can't wait to see what the next 2 years brings to FreeCAD
The amount of thinking that has gone into making these models and formulas is amazing. Thank you for sharing your knowledge! If only could freeCAD get rid of the topological naming problem... I am sure all the big, professional CAD tools would fear for their existance ...
Thank you for sharing your knowledge! It was an incredibly instructive video.
You don't know how glad I am to see you upload another video, your FreeCAD videos are what stopped me from getting frustrated using it and start actually making solid designs.
Incredibly informative video! Do more uploads pls! 👍
Thanks for this video, it helps a lot
Some good ideas, thanks for sharing. I wonder if there's a better way to communicate to the user whether their input was valid and accepted, or whether it was invalid and some sort of default was substituted instead? It could be surprising to ask for an M4.5 hole, get something that looks visually believable, and then find out later that it has been silently substituted for M4.
You're absolutely right!
With macros, there are a multitude of good ways to do this, but I'm still looking for a good method to do this just using the built in tools.
When looking at the planetary gear set, you might be able to see in the tree next to the assembly, the comment field will say "VALID" or "INVALID" based on an expression in the spreadsheet that is supposed to work out whether the gear set would function.
It really doesn't stand out enough to warn users though, I could have made it default to a wildly different hole size to show something was wrong, but I think the ability to trigger a prompt/toast message/message box is what is needed.
I need to ask more questions on the forum to find out whether there are some crazy tricks to get that to happen.
@@BrodieFairhall If you can control the visibility of objects with expressions then perhaps you could include some large padded "INVALID" text at the global origin so it would obscure the model and couldn't be missed. You might have multiples that could identify which parameter caused the problem.
@@ElectricGears that's a pretty good idea. You definitely couldn't miss it.
Thank you for this great presentation, Brodie!
I agree this is not a tutorial but it gave me a better understanding of how and why certain parts of Freecad operate. I believe spreadsheets are useful in honing the design and selecting dependencies. Thank you.
I Like rule #2 'Stay Absolute' but I have one exception lol. When I sketch I have areas of the sketch that - in my mind - are actually sub-sketches. IE the details/hole/etc in the corners of each box. all those dtails will ALWAYS be in that corner and will move around with the corner when resized... Therefor I reference the details to the actual corner - BUT not directly. one point of the detail section of the will reference the corner to lock the sub-sketch in place to the corner- the rest of the details will reference that point. At not point (EVER) will any line/point/feature etc reference anything out side its own details. it is that which will break the sketch. Or a rat hole as I call it (because if u make one it will end up as a rats nest, lol)
Seeing those complex expressions makes me think of how elegantly those things could be solved with a simple scripting language like in OpenSCAD. Even just multiline expressions would be neat for better readability.
Good idea. Those nested ternary expressions can form really nice tables when put on multiple lines.
OpenSCAD is perfect for this kind of thing! Thankfully FreeCAD has support for OpenSCAD built in, as well as being able to directly manipulate anything with Python and nicer front end tools like Configuration Tables.
Doing this the same way I did in the video wouldn't be great in production, but it was the most direct way I could think to demonstrate it quickly.
W0w, what a ton of work!
I thought I was a master sketch breaker but i'm just a hack. :)
the "undo problem" when sketches cascade and break seems to be something that would be solvable if it didn't happen on the main sketch instance, but instead when regenerating all the models, done on shadow copies until it knows they all complete? then apply them in one step. would enable some options around sketch failures that would be really nice too, like *more cases* where you prefer it abort the whole operation than solve it in the state it is in
You're probably entirely right, I have no idea how undo is handled, it might revert the sketch normally, but in this case I'm pretty sure the sketch remains broken because it is only undoing the changes in the spreadsheet, then updating everything. I guess it didn't count the sketch as having changed
Snapshot undo - where the entire state of everything is recorded at each step would work, ,unfortunately thats a memory hog. However it does allow immediate undos without need for recalculations. Instead they just 'undo' the last command and allow a recompute. Unfortunately if the action borked other states in the model it cant repair it.
Well executed. Some nice ideas in there. I still hope we will be needing less and less of those tricks over time.
Nice. Thanks!
thank you
I like your color palette choice. I was wondering if you would mind sharing a bit about how you have yours setup?
Thanks Martin!
I'll get all the exact colours I use when I get to my PC next.
It's built on the standard light blue palette, I set the sketch lines were set to black and all the other colours for lines and the background were taken from this palette flatuicolors.com/palette/defo
@@BrodieFairhall Thanks for the fast response. I have been working with FreeCad for several months now and i couldn't find a color pallet that look good till i watched your video. Thanks Brodie and keep up the videos. 👍👍
Why , oh why isn't FreeCAD usin the RealThunder's topological fix? Is it a matter of pride?
It's actively being merged right now. It's a massive change to a lot of code, especially since the versions diverged so much.
An open core company called Ondsel has some paid, full time Devs working on getting the topo naming fix merged and ready for action.
You can check it out here github.com/FreeCAD/FreeCAD/tree/development/toponaming
@@BrodieFairhall This might be the best news I've read this year
@@henrymach the next 12-24 months for FreeCAD are going to be very significant, there is a lot happening.
I would like to see a way using the sketcher to create a variable number of holes equally spaced (in a circle or an array) where the number of holes is defined in a spreadsheet.
That is unfortunately not something that the sketcher is intended to do. There are some hacky ways to do it that I might look at putting in a video. Generally though, the "correct" way to do something like that is by creating one hole and using a part design/draft array tool to replicate the holes in the places you want.
@@BrodieFairhall The array tools in the sketcher could be modified to accept equations, but for now, they only seem to allow constants. It makes some fully parametric designs impossible, or at least really convoluted and hacky to implement. This kind of thing is much easier to do in OpenSCAD.
@@douglaspeale9727 yeah, probably the easiest way to make sketches do things like that is to use a python macro or the openscad workbench.
It would be great to see sketch arrays turned create a new type of array object rather than just replicating the sketch elements, so they could be used in a proper non destructive workflow. I think the sketcher would require a lot of changes to do this though, eg, you create a rectangle and it's not shown as a rectangle in the sketch elements, it becomes 4 lines. The element list would likely have to have a tree allowing those 4 lines to be grouped as a rectangle and this would allow for the creation of other groups, like arrays, which could have their own parameters. I'll bring it up with sliptonic when we have our next monthly meeting and see how much work it would be and whether it could be added to a feature road map.
The easiest hacky way I can think of to make a variable number of sketch elements to cut the number of holes specified in a spreadsheet is to create a whole lot of them and add an expression on the construction geometry parameter that will set it to 1 or 0 depending on the number in the spreadsheet (the same way I show and hide the planet gears in the assembly in this video).
Should be mentioned that in SOme cases you DO NOT want to have your fillets, chamfers, sometimes even holes in your sketch. They are referred to as dressing or dress-up operations because they are a completely separate operation if the object needs to be machined to make. You need to keep in mind how the objects are made or how the sketches will be used to build something. And there are exceptions. as in Mold making and plastics. I guess my point is you dont want to get in the bad habit if you plan on doing serious model/sketch making. And that bad habit depends on 'what' you are making, lol. In my opinion - 95% of the time - adding fillets in a sketch is asking for it.
The big one that stands out / common mistake people seem to make is, modelling threads in holes.
The main issue I've encountered is that most machine shops tend to only support source files from one or two 3D CAD suites, if you don't use the same tools as them, you end up having to just send them a step file and if you need holes tapped, special requests etc. you also need a marked up drawing.
Unfortunately, I haven't encountered a company that will take FreeCAD files for machining, so in the end there ends up being no difference between creating a dress-up feature using a dress-up tool or creating the geometry in any other way, because they'll just end up asking for a step file. This has thankfully worked out for me so far, even with designs that are destined for injection molding, so either CAM tools are just getting better or I have really, really annoyed many operators who have had to deal with my designs.
I do hope that either an open file standard that includes all operations rather than just geometry gets universally adopted or FreeCAD files start being accepted by manufacturers (I won't hold my breath for that), and then we will have to use the right tools for the job.
@@BrodieFairhall Yeah I didn't even consider Commercial the compatibility issues. Well the could do it the same way Solid Works did it, go proprietary, charge 10's of thousands of dollars a year for a license and then a couple decades later offer a cloud version at $50 a year. that way its use will explode and you will find solid works cad files all over the place. lol
@@armastat Can't forget to lobby to universities to make it part of their curriculum and give it to students for free!
@@BrodieFairhall That one I can't argue with. otherwise no one would know how to use it since only multi-million dollar companies could afford the license fees.On the Plus side - universities are public and they share their science and designs. if u know how to find them/ I have Full Cad models right down to the nuts and bolts for all sorts of things, Space telescopes, gravity detectors all sorts of projects and NASA stuff. My best find was the entire Atlas Collider Machine at Cern. Over 2 million parts in cad form! Almost as wonderful was that the entire assembly may have taken long time to load to my laptop but once it did I could rotate and zoom on the model with no issues. Good software that.
Hey, do you plan doing more videos on your channel? Like tutorials?
I have a whole bunch of videos planned, finding time to actually make them is the challenge. Not likely to get many done in the next 6 months.
@@BrodieFairhall ok, Im looking forward. Do you use the standard Free Cad or the RealThunder version?
@@Gabs_Labs I use the official FreeCAD releases for anything serious, but I do play with the realthunder version occasionally just to keep up with the changes.
unfortunately this video proves that FC is still way from being reliable app. something here something there... it's more like tinkering with the app rather than working with the model 🤔
Not going to argue with the rough edges and missing quality of life features limiting the use cases and uptake of FreeCAD
But the raw power FreeCAD has also puts it ahead of so many other professional tools.
Keep your eye on FreeCAD over the next 2 years, Ondsel has full time paid developers working on a lot of the QoL improvements (like topo naming) and the FreeCAD association has made it much easier for companies to come on board as sponsors
When's the next conference and can it be attended via Zoom?
I believe it is February 2024 and the plan is for it to be both online (like last time) and in person. I've got what I think is a very interesting presentation planned.
I'll post updates when I have details.
Freecad является полностью инвалидным когда дело доходит до фасок. В коммерческих программах моделирования, на сколько я могу судить, формы для расчетов и привязок остаются исходными, а фаски это как дополнительное свойство, которое отображается и экспортируется в готовых моделях, но не является частью внутренней модели. Но во freecad, похоже является! И разрушает модели, на которые были потрачены часы!
It sounds like you're talking about 2 different issues here.
1. The limitations with full width chamfers and fillets in the Open Cascade Modelling Kernel (OCCT, which FreeCAD uses)
2. The other issue, which sounds like the main one you're having, is the Topological Naming Peoblem (ruclips.net/video/6p2vqEEmWq4/видео.htmlsi=e86N33xLW8MYe7pv)
Both of these limitations have solid work arounds, but require you to become pretty familiar with FreeCAD to use it effectively.
You may want to try using Realthunder's Linkstage Fork of FreeCAD, which can be found here (github.com/realthunder/FreeCAD/releases/)