moxon-frame-generator
simple generator for 3D-printed frames for a moxon rectangle antenna
Joints made easy, with JointSCAD
git clone https://github.com/HopefulLlama/JointSCAD.gitHopefulLlama/JointSCADJoints made easy, with JointSCAD
Often times 3D prints must be printed in parts. This might be due to unavoidable overhangs, or size limitations of the printer itself. Sometimes it is easier to paint individual parts which can be put together, and other times it is required in as part of an object in motion.
JointSCAD aims to be a single stop OpenSCAD library for simple, parametric joint creation.
The dist directory contains all .scad files used by JointSCAD.
The simplest way to get JointSCAD working, is to have all JointSCAD files in the same directory and include it into your SCAD project:
include <path/to/JointSCAD.scad;
See the Contributing document for more information on contributing.
See the License document for more information on licensing.
bridleJointA(dimensions);Creates the centre part, which rests in between the gap created by the two 'fingers' of its counterpart.
| Parameter | Data Type | Description |
|---|---|---|
dimensions |
Number[3] | An array/vector of three numbers, which describes the [x, y, z] dimensions of the joint respectively. This should be the same when used with its counterpart to ensure correct sizing. |
bridleJointB(dimensions);Creates the two 'fingers', which is intended to receive its counterpart.
| Parameter | Data Type | Description |
|---|---|---|
dimensions |
Number[3] | An array/vector of three numbers, which describes the [x, y, z] dimensions of the joint respectively. This should be the same when used with its counterpart to ensure correct sizing. |
dovetailJointA(dimensions, numberOfDovetails);Creates the "dovetails", which rests in between the gaps created by its counterpart.
| Parameter | Data Type | Description |
|---|---|---|
dimensions |
Number[3] | An array/vector of three numbers, which describes the [x, y, z] dimensions of the joint respectively. This should be the same when used with its counterpart to ensure correct sizing. |
numberOfDovetails |
Number | A number which specifies the number of dovetails to use in the joint. This should be the same when used with its counterpart to ensure correct sizing. |
dovetailJointB(dimensions, numberOfDovetails);Creates a block with gaps designed to allow the specified number of dovetails to rest in.
| Parameter | Data Type | Description |
|---|---|---|
dimensions |
Number[3] | An array/vector of three numbers, which describes the [x, y, z] dimensions of the joint respectively. This should be the same when used with its counterpart to ensure correct sizing. |
numberOfDovetails |
Number | A number which specifies the number of dovetails to use in the joint. This should be the same when used with its counterpart to ensure correct sizing. |
dowel(sides, radius, length);Creates a dowel using a prism, instead of a cylinder. This is because:
| Parameter | Data Type | Description |
|---|---|---|
sides |
Number | Specifies the number of sides the polygon should have. This polygon is extruded to create the prism. |
radius |
Number | The distance from the centre point to place each corner of the polygon. |
length |
Number | The length of the extruded prism |
Note: Dowel does not have a counterpart. If the counterpart hole is required, use difference().
fingerJointA(dimensions, fingerCount);Creates one set of "fingers", which are designed to rest in between another set of "fingers".
| Parameter | Data Type | Description |
|---|---|---|
dimensions |
Number[3] | An array/vector of three numbers, which describes the [x, y, z] dimensions of the joint respectively. This should be the same when used with its counterpart to ensure correct sizing. |
fingerCount |
Number | A number which specifies the number of fingers to use in the joint. This should be the same when used with its counterpart to ensure correct sizing. |
fingerJointB(dimensions, fingerCount);Creates the other set of "fingers", which are designed to rest in between the initial set of "fingers".
| Parameter | Data Type | Description |
|---|---|---|
dimensions |
Number[3] | An array/vector of three numbers, which describes the [x, y, z] dimensions of the joint respectively. This should be the same when used with its counterpart to ensure correct sizing. |
fingerCount |
Number | A number which specifies the number of fingers to use in the joint. This should be the same when used with its counterpart to ensure correct sizing. |
mortise(dimensions, proportionsOfTenon);Creates a mortise, allowing space for a counterpart tenon to be inserted.
| Parameter | Data Type | Description |
|---|---|---|
dimensions |
Number[3] | An array/vector of three numbers, which describes the [x, y, z] dimensions of the joint respectively. This should be the same when used with its counterpart to ensure correct sizing. |
proportionsOfTenon |
Number[3] | An array/vector of three numbers, which describes proportions of the [x, y, z] dimensions of the tenon slot respectively. This should be the same when used with its counterpart to ensure correct sizing. |
tenon(dimensions, proportionsOfTenon);Creates a tenon, designed to be inserted into a matching mortise.
| Parameter | Data Type | Description |
|---|---|---|
dimensions |
Number[3] | An array/vector of three numbers, which describes the [x, y, z] dimensions of the joint respectively. This should be the same when used with its counterpart to ensure correct sizing. |
proportionsOfTenon |
Number[3] | An array/vector of three numbers, which describes proportions of the [x, y, z] dimensions of the tenon respectively. This should be the same when used with its counterpart to ensure correct sizing. |
pinnedMortise(dimensions, proportionsOfTenon, numberOfDowels, dowelSides, dowelRadius);Creates a mortise, allowing space for a counterpart tenon to be inserted. In addition, this adds a respective amount of slots for pins to be inserted.
| Parameter | Data Type | Description |
|---|---|---|
dimensions |
Number[3] | An array/vector of three numbers, which describes the [x, y, z] dimensions of the joint respectively. This should be the same when used with its counterpart to ensure correct sizing. |
proportionsOfTenon |
Number[3] | An array/vector of three numbers, which describes proportions of the [x, y, z] dimensions of the tenon slot respectively. This should be the same when used with its counterpart to ensure correct sizing. |
numberOfDowels |
Number | The number of pins/dowels to be used in joint creation. These pins are evenly spread, vertically, along the centre of the joint. |
dowelSides |
Number | The number of sides the polygon to be extruded should have, which is used to create the slot for each pin/dowel. |
dowelRadius |
Number | The distance of each corner in the polygon, from its centre. |
pinnedTenon(dimensions, proportionsOfTenon, numberOfDowels, dowelSides, dowelRadius);Creates a tenon, designed to be inserted into a matching mortise. In addition, this adds a respective amount of slots for pins to be inserted.
| Parameter | Data Type | Description |
|---|---|---|
dimensions |
Number[3] | An array/vector of three numbers, which describes the [x, y, z] dimensions of the joint respectively. This should be the same when used with its counterpart to ensure correct sizing. |
proportionsOfTenon |
Number[3] | An array/vector of three numbers, which describes proportions of the [x, y, z] dimensions of the tenon respectively. This should be the same when used with its counterpart to ensure correct sizing. |
numberOfDowels |
Number | The number of pins/dowels to be used in joint creation. These pins are evenly spread, vertically, along the centre of the joint. |
dowelSides |
Number | The number of sides the polygon to be extruded should have, which is used to create the slot for each pin/dowel. |
dowelRadius |
Number | The distance of each corner in the polygon, from its centre. |
shoulderedMortise(dimensions, proportionsOfTenon, proportionOfShoulder);Creates a mortise, allowing space for a counterpart tenon to be inserted. In addition, adds two supporting shoulders for the tenon.
| Parameter | Data Type | Description |
|---|---|---|
dimensions |
Number[3] | An array/vector of three numbers, which describes the [x, y, z] dimensions of the joint respectively. This should be the same when used with its counterpart to ensure correct sizing. |
proportionsOfTenon |
Number[3] | An array/vector of three numbers, which describes proportions of the [x, y, z] dimensions of the tenon slot respectively. This should be the same when used with its counterpart to ensure correct sizing. |
proportionOfShoulder |
Number | The width of the shoulder, in relation to the tenon, rather than the entire joint. |
shoulderedTenon(dimensions, proportionsOfTenon, proportionOfShoulder);Creates a tenon, designed to be inserted into a matching mortise. In addition, adds two supporting shoulders for the tenon.
| Parameter | Data Type | Description |
|---|---|---|
dimensions |
Number[3] | An array/vector of three numbers, which describes the [x, y, z] dimensions of the joint respectively. This should be the same when used with its counterpart to ensure correct sizing. |
proportionsOfTenon |
Number[3] | An array/vector of three numbers, which describes proportions of the [x, y, z] dimensions of the tenon respectively. This should be the same when used with its counterpart to ensure correct sizing. |
proportionOfShoulder |
Number | The width of the shoulder, in relation to the tenon, rather than the entire joint. |
scarfJointA(dimensions);Creates one half of a scarf joint. This half is the upper/left half of a scarf joint.
| Parameter | Data Type | Description |
|---|---|---|
dimensions |
Number[3] | An array/vector of three numbers, which describes the [x, y, z] dimensions of the joint respectively. This should be the same when used with its counterpart to ensure correct sizing. |
scarfJointB(dimensions);Creates the other half of a scarf joint. This half is the lower/right half of a scarf joint.
| Parameter | Data Type | Description |
|---|---|---|
dimensions |
Number[3] | An array/vector of three numbers, which describes the [x, y, z] dimensions of the joint respectively. This should be the same when used with its counterpart to ensure correct sizing. |
more like this
simple generator for 3D-printed frames for a moxon rectangle antenna
GPX 轨迹转 3D 可打印地形模型 | Hiking trail to 3D printable terrain | Electron + Vue。 一款面向户外爱好者与 3D 打印玩家的 Web 工具。将 GPX 徒步/骑行轨迹一键转…
Install and monitor KlipperScreen on Android via DroidKlipp APK, USB ADB forwarding, and WiFi fallback
search projects, people, and tags