I build a lot of funny things with plywood on my laser cutter. I used to spend a lot of time creating box joints (you know, the finger-slot-finger-slot thingies that are somewhat difficult to glue, but hold great thanks to the huge surface). Not any longer thanks to the QCAD script I wrote (isn't scriptable software great?).

This script adds a Box Joint icon in the Draw/Line menu and the tool box. The shortcut is L,J. The tool works with two clicks, one where you start the box joint, and the second one where it ends (just try it, you'll see). Box joints are the same forward and backward, and for the slots. So if you do select points with the same distance for both ends of a workpiece, the pieces will mesh just fine.

Just as a hint: when joining two sides at a 90 deg angle, just create the box joint from corner to corner. If you plan a top or bottom plate as well, the box joint should start and end at the corner plus the thickness of the top and bottom (I guess I have to make a video - it's hard to put into words).

The License is LGPL 3. Andrew, feel free to put the script on your page if you like it or make it part of QCAD. Although, an even better implementation probably would be an interactive block for the library?!

Enjoy,

- Matthias

[Edit from andrew: please note that this script might be outdated. The latest version is available in all newer QCAD installations under Misc > Draw]

Matthias, if I could - I would, I'm afraid I don't know any coding at all but I would be willing to learn how to do some basic scripting in QCAD, all I need is some tuition. I have tried to figure out how to do some from the examples given on the main website - but for me I need a beginners guide to scripting in QCAD.

I am more that willing to learn and I just hope that Andrew or anyone willing to, could write up a basic introduction for starting to script in QCAD. I know I don't speak only for myself when I say that I would love to try and contribute to QCAD in this way.

Hi GuysMatthias I tried your box joint script this morning and I'm quite impressed by the design assistance it brings...Clive, I support your comment on script learning, I tried to look into he documentation but gave up. A step by step progression is required when one is an absolute beginner!

It's always a tough call how much time to invest on documentation and how much on bug fixing and implementing new features. I generally enjoy writing technical documentation, but I also know how much work it is.

I am planning to provide more documentation and tutorials for script development one way or anther.

Programming basics will always be a prerequisite. I personally believe that programming is something one can only learn by experimenting, reading code, modifying code, writing code. There is no school or book that will teach you how to program. Trying to extend QCAD with your own tools or add-ons is actually a great way of learning how to program You can't really screw up anything, you don't need a compiler or IDE, QCAD and a plain text editor is everything that is needed. ECMAScript (JavaScript) is also one of the most popular languages used today which means there are plenty of resources available online for generic JavaScript problems. E.g. google for "javascript convert string to number" or "javascript append to array", etc.

If I would know nothing about QCAD script development, I would first have a look at the script source code of a simple, existing script (e.g. the tool that draws points in scripts/Draw/Point/Point1P/Point1P.js). Then I would try to change its behavior, for example draw two points beside each other instead of one. Then I would try to copy that new script into a new, independent script and rename it. Step by step taking one tiny step at a time, after each step checking if it is working as expected.

Thank you Andrew for your words of encouragement here, getting the balance on where to spend the time in any commercial business is essential and I fully understand.

I look forward to any documentation/tutorials that you may be able to offer, for me I would think that a 'work - along' type of workbook would be good with examples and exercises that people can use, this type of workbook is the best and I would think that something like this could easily be added to accompany the existing 'QCAD book' as another book that people can purchase.

Yes I agree that actually doing and experimenting is the best way to learn anything and I guess that part is up to me/others to get 'stuck in' and give things a go and of course we have the 'Developers' forum to ask questions in.