Things that we find in the program that can save some head scratching, Please allow me to start with these three for sheet material:
1. Start your drawing away from the axis central dot and, for even more flexibility at a future stage of development, away from the axis lines as well. Use the distance constraint set to 0mm to bring it to the axis once the panel is drawn. This allows placing a fillet on the corner that will be on the axis centre as well as future movement of the panel
2. Make the first base panel larger than needed. You can always bring the excess in without FreeCAD getting its panties in a twist. But adding on later to increase the area will create new lines in the model, and this will set a limit for fillets in that area, plus too many other reasons to recount here
3. Let's say the material is 16mm or 32mm, and you are trying to set a 16 or 32mm radius on the edge. FreeCAD will throw a hussy fit. You can do 15.99 to get close, or 31.99mm. 15.9 or 31.75 is better as you can find that router bit at a good price of Ali or eBay
4. Drawing in sheet material is best left to a tested design. For prototyping, it is more efficient to create a base body and carve cavities into that. These will represent air volumes, ports and such. The drawing is done in a reverse outline, where you draw the profile of the cavities on a side panel. Then carve that out, and you will be left with a sold set of walls sans the sides. These are added on after finishing the interior work. It is very possible to do the whole inverse outline as one sketch only, which again is perfect for prototyping as all the objects are continued within one sketch and changes on the fly do not cause FreeCAD any upset. Once the model is complete. Panels sizes can be just pulled off with some simple calcs and redrawn into a new file as a mature panel design. This is quicker than having to delete a lot of objects to go back to make a simple change. Prototyping a 3D model in this manner leaves the most options open for changes further on
1. Start your drawing away from the axis central dot and, for even more flexibility at a future stage of development, away from the axis lines as well. Use the distance constraint set to 0mm to bring it to the axis once the panel is drawn. This allows placing a fillet on the corner that will be on the axis centre as well as future movement of the panel
2. Make the first base panel larger than needed. You can always bring the excess in without FreeCAD getting its panties in a twist. But adding on later to increase the area will create new lines in the model, and this will set a limit for fillets in that area, plus too many other reasons to recount here
3. Let's say the material is 16mm or 32mm, and you are trying to set a 16 or 32mm radius on the edge. FreeCAD will throw a hussy fit. You can do 15.99 to get close, or 31.99mm. 15.9 or 31.75 is better as you can find that router bit at a good price of Ali or eBay
4. Drawing in sheet material is best left to a tested design. For prototyping, it is more efficient to create a base body and carve cavities into that. These will represent air volumes, ports and such. The drawing is done in a reverse outline, where you draw the profile of the cavities on a side panel. Then carve that out, and you will be left with a sold set of walls sans the sides. These are added on after finishing the interior work. It is very possible to do the whole inverse outline as one sketch only, which again is perfect for prototyping as all the objects are continued within one sketch and changes on the fly do not cause FreeCAD any upset. Once the model is complete. Panels sizes can be just pulled off with some simple calcs and redrawn into a new file as a mature panel design. This is quicker than having to delete a lot of objects to go back to make a simple change. Prototyping a 3D model in this manner leaves the most options open for changes further on
Last edited:
An example of how to build up as sheet material, panel by panel. Except for the two highlighted elements. The back curve of the port flare has to intersect with the lower brace. This type of thing is best done by first extruding the sketch of the port slice up through the brace to cut it clean and carve off the lil bit of brace sticking out. And carve the slice back down to the first slice height. This process cleans up this area, creates a perfect mating with the brace and sets the first layer in the port buildup
Also, the lower brace fillet. This is a round over of the edge of the brace that passes over the port entry
Also, the lower brace fillet. This is a round over of the edge of the brace that passes over the port entry
Found another lil thing that I am still scratching my head about. We see some online plans done in the panel system for horns and such, were some panels are angled. Let's say just angle, 80 degrees is used on all the angled panels and the edge cuts would reflect that. Even something as simple as a box with an angled front and back. You can draw a base panel and start adding sketches on top for each panel end that sits on that bass. Every thing looks awesome until you zoom to the zooming limits. They don't line up. I have tried every experiment with pyramids and such and every panel can be an exact copy with everything symmetrical and the numbers in fractions of mm that you entered on one side and the expected result on the other all measure up, yet the panels don't line up
There is no fix it seems. Decimal point can be changed in preferences but FreeCAD just keeps rounding to there. So it seems impossible to align perfectly like this. It also makes it appear that carving in instead of building on is more exact. The difficulty with carving in, is panel sizes need to be calculated from the faces
If your design contains circles, curves and angles... and relies on things lining up such as printed and machined parts, don't go down the panel based warren
If your design contains circles, curves and angles... and relies on things lining up such as printed and machined parts, don't go down the panel based warren
One more work around comes to mind. I will give that a quick go before washing my hands of this method
Doesn't work. I thought to lock the angles in place by using line geometry, but even that creates a to infinite decimal places on the other side. Will never line up
This limitation with infinite numbers will have effects in other areas of FreeCAD too. Best case is trying to base everything around whole numbers. An added bonus with whole numbers is easier cutting
I'll try to change my project to use whole numbers and see if I can get two parallel angle boards to line up with the base and other panels
I'll try to change my project to use whole numbers and see if I can get two parallel angle boards to line up with the base and other panels
Will it help if you parameterise it? (is it even possible?). My thinking is that you will then know the dimension by name, which should be the same magnitude for all its instances.
Shaun it won't help. FreeCAD always calculates the last parameter itself. It will go into the green all constrained while there still is one item for which the user doesn't enter data, if you force the input to appear, it goes all unhappy orange. This last one seems to always end up in an infinite number. Whether it is an angle or a line
This below is the base plate or left panel. However, you go entering the sizes, FreeCAD will insist on determining one and that's the one that gets chopped. In the sketch below, all the lengths were entered and one angle which shifts the sketch into final position without needing to enter that last angle and that is not going to be possible to match. If both angles are entered earlier than the last line will be off
Every time I manipulate the model, FreeCAD must place a CPU demand to calculate all those infinite numbers and round it off to display when asked. This might explain the frequent crashes once a model gets a bit complicated. This rules the program out for sophisticated, board based models. The only way seems to be to start with the block and carve everything out before finally applying the left and right sides
That is the way I usually model, as I am used to lofting panel sizes from facets. One more tip that I have worked out with that is to carve to the full width of the cab and apply the sides to extrude in reverse. This creates a line all around that can be used to create a further step for removable type side panels
This below is the base plate or left panel. However, you go entering the sizes, FreeCAD will insist on determining one and that's the one that gets chopped. In the sketch below, all the lengths were entered and one angle which shifts the sketch into final position without needing to enter that last angle and that is not going to be possible to match. If both angles are entered earlier than the last line will be off
Every time I manipulate the model, FreeCAD must place a CPU demand to calculate all those infinite numbers and round it off to display when asked. This might explain the frequent crashes once a model gets a bit complicated. This rules the program out for sophisticated, board based models. The only way seems to be to start with the block and carve everything out before finally applying the left and right sides
That is the way I usually model, as I am used to lofting panel sizes from facets. One more tip that I have worked out with that is to carve to the full width of the cab and apply the sides to extrude in reverse. This creates a line all around that can be used to create a further step for removable type side panels
I tried your example and it seemed to work as expected. I specified a poly line, one 80 degree angle, that the "700mm" and "461mm" lines were parallel and the 400mm, 80mm, 400mm, 700mm distances. It was fully constrained before needing the 461mm distance or 80.006 angle. Or have I missed the point?
It was fully constrained before needing the 461mm distance or 80.006 angle. Or have I missed the point?
Andy, thanks for chiming in, it appears that my mind isn't addled by spending a day trying to make an infinite number line up to another line! The point happens next when you look up the length of the last line. Just do a length constraint on that to get the number and go cancel to go back to green. This number should display 461mmFreeCAD will insist on determining one and that's the one that gets chopped. In the sketch below, all the lengths were entered and one angle which shifts the sketch into final position without needing to enter that last angle and that is not going to be possible to match. If both angles are entered earlier than the last line will be off
Now apply an angle constraint to the last one, it will come up as an infinite number. Cancel to go back to green. Now delete the lengths and start applying constraints again. Start with applying the two 80 degree angles and then start setting the lengths. It should all go green before you put in 461. Now bring up the length of the last one and see if it is a whole number
Next step. Create a back panel along the kink. One along the angled 461. Make it say 32mm thick. This will be one sketch. Now add another sketch and panel along the kink along the 80mm line nicely butting the ends. Zoom in to the limits and see if the edges line up. This will show up as one of those mysterious artefacts on a 3D print facet too
80*cos(80) = 460.701638 according to my calculator. If we want 80 degrees and 80mm we cannot have 461mm. If we want 80 degrees and 461mm then 80mm will have to be a bit bigger. Etc... Am I correctly understanding what you are seeking to specify?
In a way. Let's look at the implication. If we get the other numbers whole, then we can't get the 80mm or the 260. It's all affected. This means that additional layers and things can get suspended over hairline air gaps that we may not notice. Could be one explanation of prints that seem to go haywire at a certain height or weird failures in case of throat adaptors and like for horns where angles and curves are usedAm I correctly understanding what you are seeking to specify?
@rrobot
Hey man, this might be a culprit
Nail in the coffin
Let's simplify that sketch and only have one angled board and set the vertical and horizontal lines to whole numbers and change FreeCAD to display to 6 decimal places
Check out the label to 4 places on the sketch and input field in the dialogue box to 6 places. FreeCAD default is to two places. This issue won't be noticed until at the limits of zoom, but still creates a step that I can create a structure on, regardless how tiny. Everyone should check their models at max zoom to see if any edges are sticking out. Add the complication of the slicer trying to split this up into something it can work with. May well explain printing birds nests
To how many decimal places are folks going to work to, to get a part that fits perfectly? Too many and it kills such models dead
Back to carving out a block instead of simulating a box. CAD like this is not compatible unless tolerances are built in and documented. This is only a problem when angles, curves and such are used. A model with only verticals and horizontals will be ok as a box sim
Let's simplify that sketch and only have one angled board and set the vertical and horizontal lines to whole numbers and change FreeCAD to display to 6 decimal places
Check out the label to 4 places on the sketch and input field in the dialogue box to 6 places. FreeCAD default is to two places. This issue won't be noticed until at the limits of zoom, but still creates a step that I can create a structure on, regardless how tiny. Everyone should check their models at max zoom to see if any edges are sticking out. Add the complication of the slicer trying to split this up into something it can work with. May well explain printing birds nests
To how many decimal places are folks going to work to, to get a part that fits perfectly? Too many and it kills such models dead
Back to carving out a block instead of simulating a box. CAD like this is not compatible unless tolerances are built in and documented. This is only a problem when angles, curves and such are used. A model with only verticals and horizontals will be ok as a box sim
When the constraints are satisfied there are no gaps in the model. The numbers held are likely in double precision which is about 15 significant figures. Some precision can be lost though depending on what is calculated. For example, a small difference between a pair of large numbers will progressively lose significant figures the closer the numbers are to each other.
FreeCAD (or more strictly OpenCascade which is the CAD kernel/maths engine that FreeCAD uses) will be able to print out the geometric information in whatever precision you require but I am not a FreeCAD user (it took me a few minutes to work out how the sketcher worked but constraint based modeller tend to be pretty similar) and would have to search to find out how. Anyone?
Speakers are of the order of a 1 metre and a tolerance of 0.1 mm is beyond what I can achieve. This is about 4-5 significant figures. Dimensions of the form 1234.56mm look fine to me so long as the internal values are a higher precision (e.g. 15 SF) so that the precision lost calculating doesn't show up.
PS I think I might have understood your problem. Did you enter the first line by clicking on the first point then the end point. Then for the next line did you highlight the end point of the first line and click expecting this end point to be the start point of the next line? I did this initially only to find it had entered another point nearby. I then went back zoomed in and constrained each pair of close points to be coincident. But I missed one and couldn't be arsed to find it so I deleted the lot and entered a polyline instead which worked as expected including closing the shape. Gotchas like this are all part of the fun of learning software packages.
FreeCAD (or more strictly OpenCascade which is the CAD kernel/maths engine that FreeCAD uses) will be able to print out the geometric information in whatever precision you require but I am not a FreeCAD user (it took me a few minutes to work out how the sketcher worked but constraint based modeller tend to be pretty similar) and would have to search to find out how. Anyone?
Speakers are of the order of a 1 metre and a tolerance of 0.1 mm is beyond what I can achieve. This is about 4-5 significant figures. Dimensions of the form 1234.56mm look fine to me so long as the internal values are a higher precision (e.g. 15 SF) so that the precision lost calculating doesn't show up.
PS I think I might have understood your problem. Did you enter the first line by clicking on the first point then the end point. Then for the next line did you highlight the end point of the first line and click expecting this end point to be the start point of the next line? I did this initially only to find it had entered another point nearby. I then went back zoomed in and constrained each pair of close points to be coincident. But I missed one and couldn't be arsed to find it so I deleted the lot and entered a polyline instead which worked as expected including closing the shape. Gotchas like this are all part of the fun of learning software packages.
No, I try to click on the lines. It may not be a problem with a basic box sim but it starts getting tricky once fillets and things start getting applied. Especially when trying to select a perimeter made up of edges, while extruding a lid or cover. Those lil fractions of a mm edges also need to be selected
For a basic box sim it should be fine but if you had a 32mm board end sticking out .0001mm from the cab, and had to use that as the flat surface to create the next sketch and if that sketch has to span the flat next to the edge then it will be doing an air crossing if this was for a printed part instead of speaker than a birds nest
For a basic box sim it should be fine but if you had a 32mm board end sticking out .0001mm from the cab, and had to use that as the flat surface to create the next sketch and if that sketch has to span the flat next to the edge then it will be doing an air crossing if this was for a printed part instead of speaker than a birds nest
Member
Joined 2003
All sketches shown above are over-constrained so that is first thing to avoid. Good practice would be to give your key constraints names and reference them directly using an expression if you want to keep multiple constraints with the same value without error. Use spreadsheet or variable set to define the design parameters so you can easily modify things without having to dive into multiple sketches and features.
Also, move on to 0.22dev, there are major improvements to sketcher in the latest development that will make FreeCAD feel a lot less clunky.
Also, move on to 0.22dev, there are major improvements to sketcher in the latest development that will make FreeCAD feel a lot less clunky.
- Home
- Design & Build
- Software Tools
- FreeCAD tips and hacks for cab design