omdl  v0.9.8
OpenSCAD Mechanical Design Library

Screw mounts tabs, mount slots, mount posts, etc. More...

+ Collaboration diagram for Mounts:

Files

file  mounts.scad
 Screw mounts tabs, mount slots, mount posts, etc.
 

Functions

module mount_screw_tab (wth, screw, brace, size, vr, vrm)
 A mount tab with screw hole and support brace. More...
 
module mount_screw_slot (wth, screw, cover, size, align, mode, f)
 A screw mount slot with optional cover envelope. More...
 
module mount_screw_slot_md (wth, screw, cover, size, align, mode, f, slots=1)
 A multi-directional screw mount slot with optional cover envelope. More...
 
module mount_screw_post (post, screw, bore_sft, fins, cut)
 A screw mount post with screw bore and optional fins. More...
 

Detailed Description

Screw mounts tabs, mount slots, mount posts, etc.

Requires:
include <omdl-base.scad>;
include <models/3d/fastener/screws.scad>;
include <parts/3d/enclosure/mounts.scad>;

Function Documentation

◆ mount_screw_post()

module mount_screw_post ( post  ,
screw  ,
bore_sft  ,
fins  ,
cut   
)

A screw mount post with screw bore and optional fins.

Parameters
post<datastruct> post (see below).
screw<datastruct> screw bore (see below).
bore_sft<datastruct> self-forming threads screw bore (see below).
fins<datastruct> fins (see below).
cut<datastruct> cut (see below).

Construct a screw mount post with screw bore, fins, and diagonal cut at base. The post and fins have preset rounding configurations, but also support manual rounding specifications. The post screw bore is removed using either screw_bore(), or screw_bore_tsf(), or both. All relevant screw bore features are made available, including nut-slot cut-outs as shown in the examples below. The post can be configured with a diagonally cut base to facilitate 3D printing posts without base support, such as those attached elevated on walls.

Note
Both screw and bore_sft may be used together when it is desired to create a recessed screw head and a bore with self forming threads. The screw bore diameter will need to be sufficiently reduced so as to not remove the self-forming thread engagement cylinders.

Multi-value and structured parameters

post

Data structure fields: post

e data type default value parameter description
0 <decimal-list-2 | decimal> required pd: post diameter(s)
1 <decimal> required ph: post height
2 <integer-list-4 | integer | string> 0 rounding mode
3 <decimal-list-4 | decimal> min(pd)/8 rounding radius

The post base and top can have different diameters by assigning a list [pdb, pdt]. This is useful for 3D printing unsupported wall attached posts. When pd is assigned a decimal the base and top diameters will be equal. The rounding mode can be assigned one of the preset configuration strings: {"p1", ..., "p13"} or assigned a custom value. Both the rounding mode and rounding radius can be assigned a list, to control each edge individually, or a single value when all edges shall be the same.

Note
When assigning the rounding mode and rounding radius individually, the inner-upper and inner-lower edges of the rectangular revolution, that forms the post, should be assigned zero in most circumstances as follows, for example: [0, 1, 4, 0].

screw bore

Data structure fields: screw

e data type default value parameter description
0 <decimal> required d: bore diameter
1 <decimal> pd l: bore length
2 <datastruct> undef h: screw head
3 <datastruct> undef n: screw nut
4 <datastruct> undef s: nut slot cutout
5 <datastruct> undef f: bore scale factor

See screw_bore() for documentation of the data types for the screw parameters.

self-forming threads screw bore

Data structure fields: bore_sft

e data type default value parameter description
0 <decimal> required d: bore diameter
1 <decimal> pd l: bore length
2 <datastruct> undef t: thread engagement

See screw_bore_tsf() for documentation of the data types for the self-forming threads screw bore parameters.

fins

Data structure fields: fins

e data type default value parameter description
0 <integer> required fin count
1 <integer> 0 fin type: {0=triangular, 1=rectangular}
2 <decimal-list-3 | decimal> [ph*5/8, pd/4, pd/8] size scale factors: [h, l, w]
3 <integer-list-n | integer | string> 0 rounding mode
4 <decimal-list-n | decimal> (see below) rounding radius
5 <decimal> 360 distribution angle

The rounding mode can be assigned one of the preset configuration strings: {"p1", ..., "p6"} or assigned custom values. Both the rounding mode and rounding radius can be assigned a list, to control each edge individually, or a single value when all edges shall be the same.

Note
The edge list size is dependent on the fin type; n=3 for triangular, and n=4 for rectangular.

cut

Data structure fields: cut

e data type default value parameter description
0 <decimal> 0 cut x-angle
1 <decimal> 0 cut post base offset
2 <decimal> 0 cut z-rotation
3 <decimal> 4 cube removal scale

The cut parameter can be used to cut the base of the post at an angle. As previously discussed, this is useful for 3D-printing wall-attached posts that does not have lower support.

Screw mount post example script

include <omdl-base.scad>;
include <models/3d/fastener/screws.scad>;
include <parts/3d/enclosure/mounts.scad>;
$fn = 36;
u = undef;
translate([-20, 0, 0])
mount_screw_post(post=[[10, 5], 4], bore_sft=3, fins=[6, 1, 1]);
s = [3, 21, [5, 1, 1, 4], [5, 2, 0, 6, 0, 5], [0, -10]];
translate([0, 0, 0])
mount_screw_post(post=[10, 20, "p10"], screw=s, fins=[2, 1, 1, "p1"]);
translate([+20, 0, 0])
mount_screw_post(post=[10, 25, "p1"], screw=[3, 10, [5, 1, 1]], fins=[4, 0, u, "p1"]);
// end_include
module mount_screw_post(post, screw, bore_sft, fins, cut)
A screw mount post with screw bore and optional fins.
Definition: mounts.scad:1281

Screw mount post example diagram
fronttopdiag
expand frontexpand topexpand diag

Definition at line 1280 of file mounts.scad.

+ Here is the call graph for this function:

◆ mount_screw_slot()

module mount_screw_slot ( wth  ,
screw  ,
cover  ,
size  ,
align  ,
mode  ,
 
)

A screw mount slot with optional cover envelope.

Parameters
wth<decimal> wall thickness.
screw<datastruct> screw bore (see below).
cover<decimal-length-3 | decimal> cover envelope; a list [co, ct, cb], the cover over and around the top and base, or a single decimal to set (co=ct=cb).
size<decimal> slot length.
align<integer-list-3 | integer> mount alignment; a list [ax, ay, az] or a single integer to set ax.
mode<integer> mode {0=cover, 1=slot (negative), 2=cover with slot removed}.
f<decimal-list-2 | decimal> scale factor; a list [fd, fh], the bore diameter and bore height scale factors, or a single decimal to specify fd only. The default values for both fd and fh is 1.

Construct a screw mount slot with an opening that allows for the insertion and interlocking of a screw head. The mount is secured to the screw by sliding the screw head into the mount slot. The mount can be used with and without a cover. The parameter size is optional and when not specified, its value is 3 * d (the screw neck diameter).

Multi-value and structured parameters

screw bore

Data structure fields: screw

e data type default value parameter description
0 <decimal> required d : neck diameter
1 <datastruct> [d*2, d/2] h : screw head

See screw_bore() for documentation of the data types for the screw parameters d and h.

Screw mount slot example script

include <omdl-base.scad>;
include <models/3d/fastener/screws.scad>;
include <parts/3d/enclosure/mounts.scad>;
$fn = 36;
rotate([0, 90, 90])
{
w = 2;
s = [4, [8, 2, 1]];
c = [1, 3, 1];
translate([0, -15, 0])
mount_screw_slot(wth=w, screw=s, cover=c, mode=1);
mount_screw_slot(wth=w, screw=s, cover=c, mode=2);
translate([0, +15, 0])
difference() {
%mount_screw_slot(wth=w, screw=s, cover=c, mode=0);
mount_screw_slot(wth=w, screw=s, cover=c, mode=1);
}
}
// end_include
module mount_screw_slot(wth, screw, cover, size, align, mode, f)
A screw mount slot with optional cover envelope.
Definition: mounts.scad:630

Screw mount slot example diagram
fronttopdiag
expand frontexpand topexpand diag

Definition at line 629 of file mounts.scad.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mount_screw_slot_md()

module mount_screw_slot_md ( wth  ,
screw  ,
cover  ,
size  ,
align  ,
mode  ,
,
slots  = 1 
)

A multi-directional screw mount slot with optional cover envelope.

Parameters
wth<decimal> wall thickness.
screw<datastruct> screw bore (see below).
cover<decimal-length-3 | decimal> cover envelope; a list [co, ct, cb], the cover over and around the top and base, or a single decimal to set (co=ct=cb).
size<decimal> slot length.
align<integer-list-3 | integer> mount alignment; a list [ax, ay, az] or a single integer to set ax.
mode<integer> mode {0=cover, 1=slot (negative), 2=cover with slot removed}.
f<decimal-list-2 | decimal> scale factor; a list [fd, fh], the bore diameter and bore height scale factors, or a single decimal to specify fd only. The default values for both fd and fh is 1.
slots<datastruct | integer> slot count and separation angle.

Construct a screw mount slot with an opening that allows for the insertion and interlocking of a screw head. The mount is secured to the screw by sliding the screw head into the mount slot. The mount can be used with and without a cover. The parameter size is optional and when not specified, its value is 3 * d (the screw neck diameter).

This is a version of mount_screw_slot() that supports multiple slots equally divided around a circle.

Multi-value and structured parameters

screw bore

Data structure fields: screw

e data type default value parameter description
0 <decimal> required d : neck diameter
1 <datastruct> [d*2, d/2] h : screw head

See screw_bore() for documentation of the data types for the screw parameters d and h.

Slot count and separation angle

Data structure fields: slots

e data type default value parameter description
0 <integer> required sc : slot count
1 <decimal> 360/sc sa : slot separation angle

Multi-directional screw mount slot example script

include <omdl-base.scad>;
include <models/3d/fastener/screws.scad>;
include <parts/3d/enclosure/mounts.scad>;
$fn = 36;
w = 2;
s = [4, [8, 2, 1]];
c = [1, 3, 1];
rotate([-90, 0, 0])
mount_screw_slot_md(wth=w, screw=s, cover=c, mode=2, slots=[3, 90]);
// end_include
module mount_screw_slot_md(wth, screw, cover, size, align, mode, f, slots=1)
A multi-directional screw mount slot with optional cover envelope.
Definition: mounts.scad:948

Multi-directional screw mount slot example diagram
fronttopdiag
expand frontexpand topexpand diag

Definition at line 947 of file mounts.scad.

+ Here is the call graph for this function:

◆ mount_screw_tab()

module mount_screw_tab ( wth  ,
screw  ,
brace  ,
size  ,
vr  ,
vrm   
)

A mount tab with screw hole and support brace.

Parameters
wth<decimal> wall thickness.
screw<datastruct | decimal> screw bore; structured data or a single decimal to set the bore diameter.
brace<decimal-list-2 | decimal> brace percentage; a list [by, bz] or a single decimal to set (by=bz).
size<decimal-list-2 | decimal> tab size; a list [sx, sy].
vr<decimal-list-4 | decimal> rounding radius; a list [v1r, v2r, v3r, v4r] or a single decimal for (v1r=v2r=v3r=v4r).
vrm<integer> rounding mode {0|1|2|3|4}.

Construct a mount tab with a screw hole. The parameters wth and screw are required (the others are optional). When brace is specified, braces are constructed to support and reinforce the connection to the adjacent structure. The brace-to-tab and brace-to-wall lengths can be specified independently. When the size if not supplied, a default size will be used based on the specified mount tab features.

Multi-value and structured parameters

screw bore

Data structure fields: screw

e data type default value parameter description
0 <decimal> required d: bore diameter
1 (see below) undef h: screw head
2 (see below) undef t: tolerance

See screw_bore() for documentation of the data types for the screw bore parameters h and t.

Screw mount tab example script

include <omdl-base.scad>;
include <models/3d/fastener/screws.scad>;
include <parts/3d/enclosure/mounts.scad>;
$fn = 36;
d = 4;
h = [7, 1, 1/2];
t = [0, 10];
mirror([0,1,0])
mount_screw_tab(wth=3, screw=[d, h, t], brace=[50, 25], vrm=4);
// end_include
module mount_screw_tab(wth, screw, brace, size, vr, vrm)
A mount tab with screw hole and support brace.
Definition: mounts.scad:362

Screw mount tab example diagram
toprightdiag
expand topexpand rightexpand diag

Definition at line 361 of file mounts.scad.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: