added cryptex designs
This commit is contained in:
parent
11e3d2186a
commit
d336b04c67
137 changed files with 26 additions and 0 deletions
Binary file not shown.
|
|
@ -1,63 +0,0 @@
|
|||
$fn=180;
|
||||
|
||||
// ACE Screen Dimensions
|
||||
screen_width=120.25;
|
||||
screen_height=81;
|
||||
screen_depth=10;
|
||||
screen_radius=5; // Est. - need to actually measure
|
||||
left_long_edge=62;
|
||||
left_short_edge=40;
|
||||
|
||||
// Screen Cover Frame Dimensions
|
||||
frame_thickness=1;
|
||||
frame_width=screen_width+(frame_thickness*2);
|
||||
frame_height=screen_height+(frame_thickness*2);
|
||||
frame_depth=screen_depth+frame_thickness;
|
||||
|
||||
// Screen Cover Object Dimensions
|
||||
cover_width=frame_width-(frame_thickness*10);
|
||||
cover_height=frame_height-(frame_thickness*10);
|
||||
cover_depth=frame_thickness;
|
||||
|
||||
|
||||
// Screen Cover Frame Object
|
||||
module screen_cover_frame() {
|
||||
cube([frame_width, frame_height, frame_depth], center=true);
|
||||
}
|
||||
|
||||
// Screen Cover Frame Cutout Object
|
||||
module screen_cover_frame_cutout() {
|
||||
coords=[
|
||||
[0,0],
|
||||
[0,(frame_height-left_long_edge)],
|
||||
[frame_depth,(frame_height-left_short_edge)],
|
||||
[frame_depth,0]
|
||||
];
|
||||
translate([0, -(frame_height-left_short_edge)/2, (frame_depth/2)])
|
||||
rotate([0,90,0])
|
||||
linear_extrude(height = frame_thickness, center = true)
|
||||
polygon(points=coords);
|
||||
}
|
||||
|
||||
// Screen Cover Object
|
||||
module screen_cover() {
|
||||
cube([cover_width, cover_height, cover_depth], center=true);
|
||||
}
|
||||
|
||||
// ACE Screen Object
|
||||
module ace_screen() {
|
||||
cube([screen_width, screen_height, screen_depth], center=true);
|
||||
}
|
||||
|
||||
difference(){
|
||||
screen_cover_frame();
|
||||
|
||||
translate([0, 0, (frame_depth-frame_thickness)/2])
|
||||
screen_cover();
|
||||
|
||||
translate([-((frame_width-frame_thickness)/2), -(frame_height-(frame_height-left_short_edge))/2, 0])
|
||||
screen_cover_frame_cutout();
|
||||
|
||||
translate([0, 0, -(frame_thickness/2)])
|
||||
ace_screen();
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,9 +0,0 @@
|
|||
# Parametric Radius (and Thickness) Gauge
|
||||
This is a simple guage that has both concave and convex corner radius. Optionally, it can also be used as a thickness gauge, although the SCAD file defaults to a thickness of 1.5 (mm). The default file is designed for a range of 1-30mm with an overall width and height of each guage at 65x35mm. However, this can be adjusted very easily.
|
||||
|
||||
There are also a couple of handy scripts provided for generating rendered objects (3mf & STL files). These are Python scripts that use the OpenSCAD command line utility, so of course both are a prerequisite for using these scripts.
|
||||
|
||||
In addition there is a paramatric box to accompany your guages. The SCAD file has parameters to easily adjust for how many and what size, but the provided 3mf and STL files are a match for the 30 provided gauge files.
|
||||
|
||||
# License?
|
||||
There is no license. There are no restrictions. I don't care what you do with these files. I don't care if modify them and claim them as your own. I don't care if you make money with them. I don't care if you think they are stupid. Literally do whatever you want with them.
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
$fn = 128;
|
||||
|
||||
module tray(gauge_width, gauge_height, guage_thickness, gauge_range, t_radius, wall_thickness) {
|
||||
gauge_slots_length = ((gauge_range[1] - 1) * wall_thickness) + (gauge_range[1] * guage_thickness);
|
||||
gauge_slots_height = gauge_height * 0.25;
|
||||
|
||||
tray_length = gauge_slots_length + (wall_thickness * 2);
|
||||
tray_width = gauge_width + (wall_thickness * 2);
|
||||
tray_height = gauge_slots_height;
|
||||
|
||||
lip_length = tray_length + (wall_thickness * 2);
|
||||
lip_width = tray_width + (wall_thickness * 2);
|
||||
|
||||
union() {
|
||||
difference() {
|
||||
cube([gauge_width, gauge_slots_length, gauge_slots_height], center = true);
|
||||
|
||||
for(count = [gauge_range[0] : gauge_range[1]]) {
|
||||
start_y = -(gauge_slots_length / 2);
|
||||
wall_offset = (count - 1) * wall_thickness;
|
||||
gauge_offset = (count - 1) * guage_thickness;
|
||||
y_pos = start_y + gauge_offset + wall_offset;
|
||||
translate([-(gauge_width / 2), y_pos, -(gauge_height / 2)])
|
||||
cube([gauge_width, guage_thickness, gauge_height]);
|
||||
};
|
||||
};
|
||||
|
||||
difference() {
|
||||
cube([tray_width, tray_length, tray_height], center = true);
|
||||
|
||||
cube([gauge_width, gauge_slots_length, gauge_slots_height], center = true);
|
||||
};
|
||||
|
||||
translate([0, 0, -(wall_thickness / 2)])
|
||||
linear_extrude(tray_height - wall_thickness, center = true)
|
||||
difference() {
|
||||
offset(r = t_radius) {
|
||||
square([(lip_width - (t_radius * 2)), (lip_length - (t_radius * 2))], center = true);
|
||||
};
|
||||
|
||||
square([tray_width, tray_length], center = true);
|
||||
};
|
||||
|
||||
translate([0, 0, -((tray_height / 2) + (wall_thickness / 2))])
|
||||
difference() {
|
||||
minkowski() {
|
||||
cube([tray_width, tray_length, wall_thickness], center = true);
|
||||
cylinder(h = wall_thickness, r1 = 0, r2 = t_radius);
|
||||
};
|
||||
|
||||
translate([0, 0, wall_thickness])
|
||||
cube([lip_width, lip_length, wall_thickness], center = true);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
module lid(gauge_width, gauge_height, guage_thickness, gauge_range, t_radius, wall_thickness, p_tolerance) {
|
||||
outer_length = ((gauge_range[1] - 1) * wall_thickness) + (gauge_range[1] * guage_thickness) + (wall_thickness * 4);
|
||||
outer_width = gauge_width + (wall_thickness * 4);
|
||||
|
||||
inner_height = (gauge_height * 0.75) + wall_thickness;
|
||||
inner_width = outer_width - (wall_thickness * 2);
|
||||
inner_length = outer_length - (wall_thickness * 2);
|
||||
|
||||
union() {
|
||||
linear_extrude(inner_height, center = true)
|
||||
difference() {
|
||||
offset(r = t_radius) {
|
||||
square([(outer_width - (t_radius * 2)), (outer_length - (t_radius * 2))], center = true);
|
||||
};
|
||||
|
||||
square([inner_width + p_tolerance, inner_length + p_tolerance], center = true);
|
||||
};
|
||||
|
||||
translate([0, 0, -((inner_height / 2) + (wall_thickness / 2))])
|
||||
difference() {
|
||||
minkowski() {
|
||||
cube([inner_width, inner_length, wall_thickness], center = true);
|
||||
cylinder(h = wall_thickness, r1 = 0, r2 = t_radius);
|
||||
};
|
||||
|
||||
translate([0, 0, wall_thickness])
|
||||
cube([outer_width, outer_length, wall_thickness], center = true);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
tolerance = 0.5;
|
||||
radius = 2;
|
||||
w_thickness = 2;
|
||||
g_width = 65 + (tolerance);
|
||||
g_height = 35 + (tolerance);
|
||||
g_thickness = 1.5 + (tolerance);
|
||||
g_range = [1, 30];
|
||||
|
||||
translate([40, 0, 0])
|
||||
tray(g_width, g_height, g_thickness, g_range, radius, w_thickness);
|
||||
translate([-40, 0, 0])
|
||||
lid(g_width, g_height, g_thickness, g_range, radius, w_thickness, tolerance);
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,67 +0,0 @@
|
|||
$fn = 128;
|
||||
|
||||
module gauge(gauge_size, gauge_width, gauge_height, gauge_thickness, hole_size) {
|
||||
body_radius = 5;
|
||||
|
||||
difference() {
|
||||
union() {
|
||||
difference(){
|
||||
union() {
|
||||
minkowski() {
|
||||
cube([gauge_width - body_radius, gauge_height - body_radius, gauge_thickness / 2], center = true);
|
||||
cylinder(d = body_radius, h = gauge_thickness / 2, center = true);
|
||||
};
|
||||
|
||||
translate([-((gauge_width / 2) - (body_radius / 2)), (gauge_height / 2) - (body_radius / 2), 0])
|
||||
cube([body_radius, body_radius, gauge_thickness], center = true);
|
||||
|
||||
translate([(gauge_width / 2) - (body_radius / 2), (gauge_height / 2) - (body_radius / 2), 0])
|
||||
cube([body_radius, body_radius, gauge_thickness], center = true);
|
||||
};
|
||||
|
||||
translate([-(gauge_width / 2), gauge_height / 2, 0])
|
||||
cylinder(h = gauge_thickness, r1 = gauge_size, r2 = gauge_size, center = true);
|
||||
|
||||
translate([gauge_width / 2, gauge_height / 2, 0])
|
||||
cylinder(h = gauge_thickness, r1 = gauge_size, r2 = gauge_size, center = true);
|
||||
};
|
||||
|
||||
translate([(gauge_width / 2) - gauge_size, gauge_height / 2 - gauge_size, 0])
|
||||
difference() {
|
||||
cylinder(h = gauge_thickness, r1 = gauge_size, r2 = gauge_size, center = true);
|
||||
|
||||
translate([-gauge_size/2, -gauge_size/2, 0])
|
||||
cube([gauge_size, gauge_size, gauge_thickness], center = true);
|
||||
|
||||
translate([-gauge_size/2, gauge_size/2, 0])
|
||||
cube([gauge_size, gauge_size, gauge_thickness], center = true);
|
||||
|
||||
translate([gauge_size/2, -gauge_size/2, 0])
|
||||
cube([gauge_size, gauge_size, gauge_thickness], center = true);
|
||||
};
|
||||
};
|
||||
|
||||
if (hole_size > 0) {
|
||||
translate([(gauge_width / 2) - 3.5, -((gauge_height / 2) - 3.5), 0])
|
||||
cylinder(h = gauge_thickness, d = hole_size, center = true);
|
||||
};
|
||||
|
||||
translate([0, -(gauge_height / 3), 0])
|
||||
linear_extrude(gauge_thickness, center = true)
|
||||
text(str(gauge_size, "mm"), size = 6, valign = "center", halign = "center", font = "OpenSans:style=Extrabold");
|
||||
};
|
||||
};
|
||||
|
||||
thickness = false;
|
||||
hole = 5.5;
|
||||
size = 30;
|
||||
g_width = 65;
|
||||
g_height = 35;
|
||||
g_thickness = 1.5;
|
||||
|
||||
if(thickness) {
|
||||
gauge(size, g_width, g_height, size, hole);
|
||||
}
|
||||
else {
|
||||
gauge(size, g_width, g_height, g_thickness, hole);
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
import subprocess
|
||||
|
||||
for number in range(1,31):
|
||||
cmd = f'openscad -o 3mf_gauges/{number}mm_radius.3mf -D size={number} gauge.scad'
|
||||
subprocess.run(cmd, shell=True)
|
||||
|
||||
for number in range(1,31):
|
||||
cmd = f'openscad -o stl_gauges/{number}mm_radius.stl -D size={number} gauge.scad'
|
||||
subprocess.run(cmd, shell=True)
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
import subprocess
|
||||
|
||||
|
||||
for number in range(1,31):
|
||||
cmd = f'openscad -o 3mf_gauges_with_thickness/{number}mm_radius_and_thickness.3mf -D size={number} -D thickness=true gauge.scad'
|
||||
subprocess.run(cmd, shell=True)
|
||||
|
||||
for number in range(1,31):
|
||||
cmd = f'openscad -o stl_gauges_with_thickness/{number}mm_radius_and_thickness.stl -D size={number} -D thickness=true gauge.scad'
|
||||
subprocess.run(cmd, shell=True)
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue