Interlocking modules
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Interlocking modules
Hello,
My name is Alexandre and I my hobbies are arduino, PCB, 3D printing, laser cut...
I use FreeCAD since several years to make enclosure for my electronic projects but I don't use 3D printing to do it because it takes time to print except for small parts.
I prefer to use laser cutting which is faster and allows to make larger boxes.
In order to make my work easier, I have developed a module for Freecad that allows to create connections between parts from Part/PartDesign workshops. Then, an export tool projects parts on a 2D plan in order to save outlines as Flattened SVG. SVG file is then reworked on Inkscape before being sent in cutting.
An example :
Module manages connection of type tab/slots, T-slot joints and crosspiece. It also allows to create rounded corner with living hinges.
Python source code and documentation is on GitHub : https://github.com/execuc/LCInterlocking
If this module corresponds to the freecad philosophy, I would like to propose it as an addon via the FreeCAD addon manager. So do not hesitate to say what you think about it.
Thank you
My name is Alexandre and I my hobbies are arduino, PCB, 3D printing, laser cut...
I use FreeCAD since several years to make enclosure for my electronic projects but I don't use 3D printing to do it because it takes time to print except for small parts.
I prefer to use laser cutting which is faster and allows to make larger boxes.
In order to make my work easier, I have developed a module for Freecad that allows to create connections between parts from Part/PartDesign workshops. Then, an export tool projects parts on a 2D plan in order to save outlines as Flattened SVG. SVG file is then reworked on Inkscape before being sent in cutting.
An example :
Module manages connection of type tab/slots, T-slot joints and crosspiece. It also allows to create rounded corner with living hinges.
Python source code and documentation is on GitHub : https://github.com/execuc/LCInterlocking
If this module corresponds to the freecad philosophy, I would like to propose it as an addon via the FreeCAD addon manager. So do not hesitate to say what you think about it.
Thank you
Last edited by execuc on Mon Apr 15, 2019 6:45 am, edited 1 time in total.
Re: Interlocking modules
Try using this url instead:
Code: Select all
[img]https://github.com/execuc/LCInterlocking/blob/master/docs/imgs/illustration.png?raw=true[/img]
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Re: Interlocking modules
Hello execuc,
Welcome to the forum - impressive first post!!!
I want to thank you for your very detailed documentation with links to separate command pages.
I will try to dedicate some time to test this, I'm particularly interested in your statement that it can work with PartDesign bodies.
Welcome to the forum - impressive first post!!!
I want to thank you for your very detailed documentation with links to separate command pages.
I will try to dedicate some time to test this, I'm particularly interested in your statement that it can work with PartDesign bodies.
Re: Interlocking modules
Nice! I fell in love with this tool from the videos I saw but unfortunately I never got this working ... I'll check it out for sure
Re: Interlocking modules
Thanks Kunda1, I have modified the image link, it works.
In January 2019, I changed HMI a little and the videos are out of date but the principle remains the same. I will do videos again when I could.
I did a short documentation because I agree that the interface is only intuitive for me
Do not hesitate to create issues when it does not work, because the module is not very robust when (ie: with non-rectangular parts...).
In January 2019, I changed HMI a little and the videos are out of date but the principle remains the same. I will do videos again when I could.
I did a short documentation because I agree that the interface is only intuitive for me
Do not hesitate to create issues when it does not work, because the module is not very robust when (ie: with non-rectangular parts...).
Re: Interlocking modules
Thanks for creating the Interlocking module and for sharing it.
P.S. Such features are more and more requested by people. For not having to create everything manually, but to have a feature that adds a tab, slot, hole ... to selection.
P.S. Such features are more and more requested by people. For not having to create everything manually, but to have a feature that adds a tab, slot, hole ... to selection.
Re: Interlocking modules
Thank you! I have just created a pull request to add it in addons manager.
Re: Interlocking modules
I am using a Freecad to make machines and tractor implements and I am using a CNC Plasma cutter , and I was looking forward for such a tool!
It speeds up the fabricating process A LOT!
I will test this soon. Thank you for your contribution!!
It speeds up the fabricating process A LOT!
I will test this soon. Thank you for your contribution!!
Re: Interlocking modules
Hi,
Thanks for the tool, I'm new to CNC milling, and such a design tool is just very useful.
however, As I said I use a Milling CNC, and I don't understand the laser diameter property.
github wiki says "Laser beam diameter: diameter of the material destroyed by the laser"
so if I understand that means when you are generating a laser Path you are using the edge of the part as path, and there is no compensation on the lazer size.
indeed I think I understood by writting this down
my misunderstanding came from the fact that I use Path work bench for my milling, so, it automatically compensate the size of my tool, so I don't need to take it in account in the design (except for the dog bones).
so thanks again for the work bench, I will dig into it more deeper for sure. (I have a lot of report error about QT stuff, but I need to check if it come frome misuse from my side)
Thanks for the tool, I'm new to CNC milling, and such a design tool is just very useful.
however, As I said I use a Milling CNC, and I don't understand the laser diameter property.
github wiki says "Laser beam diameter: diameter of the material destroyed by the laser"
so if I understand that means when you are generating a laser Path you are using the edge of the part as path, and there is no compensation on the lazer size.
indeed I think I understood by writting this down
my misunderstanding came from the fact that I use Path work bench for my milling, so, it automatically compensate the size of my tool, so I don't need to take it in account in the design (except for the dog bones).
so thanks again for the work bench, I will dig into it more deeper for sure. (I have a lot of report error about QT stuff, but I need to check if it come frome misuse from my side)
Re: Interlocking modules
Thank you for the interest of this module !
For CNC milling, you can define the laser beam equal to 0 because, as you say, the cam processor manages the diameter of the tool.
From what I saw for laser cutting, usually the laser always follows the path and that is why we must take into account the diameter to generate parts which can fit together.
Feel free to report module errors on github.
For CNC milling, you can define the laser beam equal to 0 because, as you say, the cam processor manages the diameter of the tool.
From what I saw for laser cutting, usually the laser always follows the path and that is why we must take into account the diameter to generate parts which can fit together.
Feel free to report module errors on github.