Each heading in this document represents a recognized configuration key in YAML files for the DMOTE application.
This specific document describes options for any individual flange. One set of such options will exist for each entry in flanges
, a section whose place in the larger hierarchy can be seen here.
Example uses for flanges are:
- Connecting a custom body to its parent body.
- Connecting a bottom plate to its parent body.
- Providing hardpoints for attaching other stuff, inside or outside a keyboard.
Flanges most often do this mainly by reserving negative space for threaded fasteners. The feature is named after pipe flanges joined by such fasteners.
- Parameter
include
- Parameter
reflect
- Parameter
body
- Parameter
bottom
- Section
bolts
- Parameter
include
- Parameter
bolt-properties
- Parameter
- Section
inserts
- Section
bosses
- Parameter
positions
Parameter include
If true
, include those parts of the flange that are in turn marked with include
in their own subsections.
Parameter reflect
If true
, mirror every part of the flange around x = 0. For example, you might use this to get identical fasteners on both sides of a central
housing.
Parameter body
A code identifying the body to which the flange belongs.
It is not necessary for an entire flange to belong to a single body. With the default value (auto
) for this parameter, the body membership of each part of the flange is determined separately, based on its individual anchoring.
Parameter bottom
If true
, treat this flange as connecting its parent body to that body’s bottom plate. This has the following side effects:
- The flange will be disabled if its parent body is configured to have no bottom plate, even if the flange itself has
include: true
. - Each part of the flange is turned to face straight up, because all the bolts in an ordinary bottom flange enter straight through the bottom plate from below.
- Anchoring becomes two-dimensional, so that, in the absence of any explicit offset you specify, each part of the flange sits at floor level beneath its
anchor
. - Bottom flanges, when rendered as part of bottom plates but not when rendered as part of the case, are affected by
fastener-plate-offset
, a DFM parameter described here. - For performance reasons, the application will select whether to include each flange based on the
bottom
attribute so that, for example, top flanges will not affect a bottom plate even if their position intersects the plate.
Section bolts
Flanges typically connect two parts of a keyboard by means of threaded fasteners.
Parameter include
If true
, reserve negative space for fasteners.
Parameter bolt-properties
This parameter describes the properties of a screw or bolt. It takes a mapping appropriate for the bolt
function in the scad-klupe.iso
library.
The following describes only a subset of what you can include here:
m-diameter
: The ISO metric diameter of a bolt, e.g.6
for M6.head-type
: A keyword describing the head of the bolt, such ashex
orcountersunk
.total-length
: The length of the threaded part of the bolt, in mm.
The DMOTE application provides some parameters that differ from the default values in scad-klupe
itself, in the following ways:
negative
: The DMOTE application automatically sets this totrue
for bolt models that represent negative space.compensator
: The application automatically injects a DFM function.include-threading
: This istrue
by default inscad-klupe
andfalse
by default in the DMOTE application. The main reason for this difference is the general pattern of defaulting to false in the application for predictability. Secondary reasons are rendering performance, the option of tapping threads after printing, and the uselessness of threads in combination with heat-set inserts.
Section inserts
If you are not printing or tapping threads, consider cylindrical heat-set inserts to receive bolts, as used in the original Dactyl-ManuForm.
Parameter include
If true
, reserve negative space for inserts.This is a subsection with two parameters: top
and bottom
.
Parameter height
The distance in mm between the flange’s position and the bottom of the insert.
Parameter length
The length in mm of each insert.
Section diameter
The diameter in mm of each insert.
Parameter top
Top diameter. Consider making this slightly smaller than the real diameter to ensure there`s enough material to secure the insert.
Parameter bottom
Bottom diameter. This is the diameter of the insert at the side closest to the flange’s stated position.
Section bosses
Both bolts and heat-set inserts for bolts require positive space to hold on to. Where there is enough material around them, extra space can be created using bosses
.
Parameter include
If true
, automatically add bosses in the form of loft sequences encompassing all of the defined segments of each boss.
If false
(default), you can still get bosses, but you will need to give each position of the flange an alias and then target it with tweaks
.
Parameter segments
A map of numeric segment IDs to segment properties. Numbering starts at zero and in YAML, segment IDs that are map keys must be enclosed in quotes.
The recognized properties of a segment are:
style
: The shape of the segment. One ofcylinder
(default),cube
orsphere
.size
: The measurements of the segment, in mm.intrinsic-offset
: An xyz-offset in mm from the previous segment or, in the case of segment zero, from the flange position itself.
Parameter positions
A list of all the places on the keyboard where the parts of the flange will appear.
A position is a map recognizing the following properties:
boss-alias
: A name for the position’s boss, for use intweaks
. In the case of reflected positions, this alias refers to the original, not the mirror image.reflect
: Iftrue
, mirror this part of the flange around x = 0.anchoring
: Room for standard anchoring parameters.
⸻
This document was generated from the application CLI.