[Discussion Thread] Laser Cut Interlocking Module (LCinterlocking) addon

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Tom1000
Posts: 3
Joined: Wed Aug 14, 2019 11:34 am

Interlocking modules (LCinterlocking) help wanted

Postby Tom1000 » Wed Aug 14, 2019 11:56 am

Hi,
I tried to use the Interlocking module and had, unfortunately, enourmous problems. It seems that parts created with PartDesign and not with the Interlocking module cause some troubles. I found, however, a work-around which works perfectly ;)
1. Select only the body to which other bodies shall be connected. This first body hence receives "holes" whereas the latter ones will receive the "noses"
2. Then click on "interlocking" button. The "Parts and Tabs" window opens and click on "Add same parts"
3. Return to the model and now (this is important!!) select the pad or pocket from to bodies to be added to the "Parts and Tabs" window
4. Return to the "Parts and Tabs window" and click "Add parts". Repeat until complete.
5. Then render the body selected in item 1) above invisible
6. Select the surfact to receive the "noses" and click "Add faces". Continue this step until complete. Each time you should see a little triangle on the left side appearing.
7. Click on said little triangle and edit the number of "noses" needed.
8. Once finished, hit okay.
Calculation may take a second or two, depending on the complexitiy.
In this way, the module worked fine for me. I hope this is of help to you
Cheers. :)
chrisb
Posts: 35373
Joined: Tue Mar 17, 2015 9:14 am

Re: Interlocking modules (LCinterlocking) help wanted

Postby chrisb » Wed Aug 14, 2019 2:09 pm

Tom1000 wrote: Wed Aug 14, 2019 11:56 am 3. Return to the model and now (this is important!!) select the pad or pocket from to bodies to be added to the "Parts and Tabs" window
This begs for "Link goes out of allowed scope". Can you verify if the Dependency graph contains red arrows?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Tom1000
Posts: 3
Joined: Wed Aug 14, 2019 11:34 am

Re: Interlocking modules (LCinterlocking) help wanted

Postby Tom1000 » Sun Aug 18, 2019 10:20 am

Yes, the dependency graph contains red arrows.

Perhaps another bit of interesting information. When drafting the different bodies, I had used at one point the "Manipulator" work bench to move bodies around. When using the "LCInterlocking" work bench on these bodies, then the bodies shifted in space during the addition of the "holes" and "noses". So, in the end, the final result was useless. I then had to draw all bodies again. What I did was I drew a first sketch, added a pad, made a new drawing and pad on one of the surfaces of the first pad. Then I copied the first body, renamed it and deleted the first sketch and pad and also deleted all external references of the second sketch (in the sketcher workbench) to have properly positioned second and independent body. I am quite certain that this is not the way to create independent bodies "touching" each other and suitable for the "LCInterlocking" work bench, but it worked in the end :)
chrisb
Posts: 35373
Joined: Tue Mar 17, 2015 9:14 am

Re: Interlocking modules (LCinterlocking) help wanted

Postby chrisb » Sun Aug 18, 2019 10:23 am

If you want a completely independent copy, use Part->CreateSimpleCopy.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
Kunda1
Posts: 10537
Joined: Thu Jan 05, 2017 9:03 pm

[Discussion Thread] Laser Cut Interlocking Module (LCinterlocking) addon

Postby Kunda1 » Tue Nov 26, 2019 12:04 pm

This is a discussion thread dedicated to LCInterlocking. All discussions pertaining to this Addon can be discussed here.

Image

Announcement thread: https://forum.freecadweb.org/viewtopic.php?f=9&t=35635
Github repo: https://github.com/execuc/LCInterlocking
This addon is available via the FreeCAD Addon Manager
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
christi
Posts: 104
Joined: Wed Oct 24, 2018 7:03 am
Location: Karlsruhe, Germany
Contact:

Re: Interlocking modules (LCinterlocking) help wanted

Postby christi » Sun Dec 06, 2020 9:06 am

I have added another tool to the LCInterlcoking workbench: Lasercutter Techdraw Export
URL: https://github.com/chbergmann/LCInterlocking
Documentation: https://github.com/chbergmann/LCInterlo ... /Readme.md
User avatar
Kunda1
Posts: 10537
Joined: Thu Jan 05, 2017 9:03 pm

Re: [Discussion Thread] Laser Cut Interlocking Module (LCinterlocking) addon

Postby Kunda1 » Tue Dec 08, 2020 4:04 am

This is cool. I wish the official add-on author would merge it into the master branch.
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
Tom1000
Posts: 3
Joined: Wed Aug 14, 2019 11:34 am

Re: [Discussion Thread] Laser Cut Interlocking Module (LCinterlocking) addon

Postby Tom1000 » Sun May 02, 2021 2:33 pm

Ever since my first use of the Interlocking Module, I had enormous problems with it. The Interlocking tool seemed to make bodies to move away from their intended places.

Finally, I found the solution to this problem and I thought I might share it with you. The solution relates to an issue repeatedly raised by other users, namely why different bodies of a more complex structure do not share the same origin in space. Anyway, I noted that exactly this was the problem.

The first image (top) shows four walls of a box that should be conntected. The box looks fine, so, no problem expected. Applying the interlocking tool, the middle wall, however, shifted its place!! (bottom).

Photo1and2LR.jpg
Photo1and2LR.jpg (55.18 KiB) Viewed 424 times

It took me DAYS to work out the problem. It has all to do with the origin of the different bodies of the design. As can be seen in this image, the origins of the middle wall (in blue) and that of the front wall (in orange/green) DO NOT MATCH.

Photo3.jpg
Photo3.jpg (104.72 KiB) Viewed 424 times

I cannot explain why this occurs but I have seen that for many of my designs. Anyway, this must be fixed. It appears that the Interlocking tool only works properly if the origins of the bodies to be joined share the same origins. Comparing the origin coordinates for the front wall (top) with those of the middle wall that moved (bottom) shows a difference in the y-axis. This causes the problem.

Photo4and5TopBottom.jpg
Photo4and5TopBottom.jpg (107.84 KiB) Viewed 424 times


Solution: set the y-coordinate of the body "middle wall" to 0 (as for ALL parts to be joined!!) and compensate for the shift in the placement by changing the y-coordinate in the placement of the first sketch.

Photo6.png
Photo6.png (57.06 KiB) Viewed 424 times


And now, things work fine

Photo7.jpg
Photo7.jpg (71.41 KiB) Viewed 424 times
User avatar
onekk
Posts: 965
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: [Discussion Thread] Laser Cut Interlocking Module (LCinterlocking) addon

Postby onekk » Sun May 02, 2021 3:13 pm

One common way to do things, it is usinig some conventions.

One most common one is lower left corner of a part is laying on (0,0,0) and maybe that is half ot his thickness in Z so it is more easy to do rotation and placement.

I have managed to do some complex rotations, to obtain this:
polyg2.png
polyg2.png (31.35 KiB) Viewed 409 times
This was done assuming some conventions like the one above and then knowing the relative position of each part.

To make this box you have only 4 parts, bottom, external side, internal, side, and divider. each position is calculated using number of sides and dimensions (width, height and thickness), stored in some variables, sides are calculated as wires and then extruded in +Z using thickness as parameter.

But this assume that you could derive a proper place for each piece.

Another way could be an helper list (stored somewhere) that use some point as reference, as "Piece A conn A" is in this position (Vector(X,Y,Z) ) and "Piece B Conn A go to Piece A Conn A" obviously you have to state somewhere the reference point and the rotation to apply to "Piece B " to have his "conn A" in a predictable place, maybe the (0,0,0), as then positioning is more easy to do.

Sadly some of this things could not be stored in the FCSTD file, (or to say in a better way, realthunder has done some similar work to extend the FCSTD format to store other things, but a convention will prevent to autoexecute code in a FCSTD file, so some conventions and a workbench has to be used).

Hope this add something to the discussion and it is not OT or explained in a involute way to not be clear.

Regards

Carlo D.
Il mio Blog: https://onekk-maker.blogspot.com/

Introduzione a FreeCAD in Italiano: https://github.com/onekk/freecad-doc
User avatar
christi
Posts: 104
Joined: Wed Oct 24, 2018 7:03 am
Location: Karlsruhe, Germany
Contact:

Re: Interlocking modules (LCinterlocking) help wanted

Postby christi » Sun Jun 06, 2021 8:07 pm

christi wrote: Sun Dec 06, 2020 9:06 am I have added another tool to the LCInterlcoking workbench: Lasercutter Techdraw Export
URL: https://github.com/chbergmann/LCInterlocking
Documentation: https://github.com/chbergmann/LCInterlo ... /Readme.md
The author did not respond to my pull request for a long time. This is why I moved my tool to the Curved Shapes Workbench