This commit is contained in:
Ian Burgess 2025-07-20 14:03:27 -06:00
parent 94de90f247
commit ed5c149696
53 changed files with 2025550 additions and 0 deletions

233987
belttensionsers.gcode Normal file

File diff suppressed because it is too large Load Diff

BIN
circle.3mf Normal file

Binary file not shown.

BIN
circle.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 KiB

BIN
circle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

8
circle.py Normal file
View File

@ -0,0 +1,8 @@
from solid2 import cube, cylinder, surface, scad_render_to_file
o = surface("circle3.png").scale(0.066,0.066,1)
o -= cube(500,500,1000).translate([0,0,4])
o -= cube(500,500,1).translate([0,0,-1])
o += cylinder(r=16, h=1).translate([16.5,16.5,0])
scad_render_to_file(o, "circle.scad")

16
circle.scad Normal file
View File

@ -0,0 +1,16 @@
union() {
difference() {
scale(v = [0.066, 0.066, 1]) {
surface(file = "circle3.png");
}
translate(v = [0, 0, 4]) {
cube(size = [500, 500, 1000]);
}
translate(v = [0, 0, -1]) {
cube(size = [500, 500, 1]);
}
}
translate(v = [16.5, 16.5, 0]) {
cylinder(h = 1, r = 16);
}
}

BIN
circle.stl Normal file

Binary file not shown.

6
circle.stl.scad Normal file
View File

@ -0,0 +1,6 @@
difference() {
surface(file = "circle.png");
translate(v = [0, 0, 50]) {
cube(size = [500, 500, 1000]);
}
}

BIN
circle2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 KiB

BIN
circle3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

270829
circlepetgc1.gcode Normal file

File diff suppressed because it is too large Load Diff

51285
circlev1.gcode Normal file

File diff suppressed because it is too large Load Diff

221497
circlex4.gcode Normal file

File diff suppressed because it is too large Load Diff

19
keyring.scad Normal file
View File

@ -0,0 +1,19 @@
cylinder(2, d=32);
difference() {
translate([-12,-9,-2]) {
scale(0.17,0.17,1)
surface(file="logo2.png");
}
translate([-20,-20,-3])
cube([40,40,3]);
translate([-20,-20,4])
cube([40,40,15]);
}
translate([0,17,0]) {
difference() {
cylinder(2,d=7);
cylinder(2,d=5);
}
}

91
knurl.py Normal file
View File

@ -0,0 +1,91 @@
# from solid2 import cube, cylinder, set_global_fn
# set_global_fn(100)
# c = cylinder(r=13, h=40).rotate([0,90,0])
# k = cube(0.5,0.2,0.5)
# a = 0
# b = 0
# for i in range(5):
# for i in range(50):
# c -= k.translate([0+a,12.8,-0.25])
# a += 1
# k.rotate([90,0,0])
# c.save_as_stl('knurl.stl')
from solid2 import *
SEGMENTS = 64 # Increase for smoother cylinder and texture
set_global_fn(SEGMENTS)
def cylinder_knurl(
radius,
height,
bump_radius=0.5,
bump_height=0.3,
num_bumps=60 # Number of bumps around the circumference
):
"""
Creates a knurled texture that wraps around a cylinder.
"""
bumps = []
angle_step = 360 / num_bumps
for i in range(num_bumps):
angle = i * angle_step
# Calculate position on the cylinder's surface
# Start by placing a bump directly on the X axis at the radius
# Then rotate it around the Z axis
bump_position_x = radius + (bump_height / 2) # Place bump slightly outside the radius for positive texture
bump = translate([bump_position_x, 0, 0])(
rotate(a=angle, v=[0,0,1])( # Rotate around Z axis
cylinder(r=bump_radius, h=bump_height, center=True) # Center the bump itself
)
)
bumps.append(bump)
# Union all the individual bumps
return union()(bumps)
def create_knurled_handle():
handle_radius = 15
handle_height = 80
# Base cylinder for the handle
handle_body = cylinder(r=handle_radius, h=handle_height, center=True)
# Create the knurl texture
knurl_texture_obj = cylinder_knurl(
radius=handle_radius,
height=handle_height, # This doesn't directly use the height parameter for cylinder_knurl, but useful for context
bump_radius=0.4,
bump_height=0.5,
num_bumps=80 # More bumps for finer texture
)
# Position the texture along the Z-axis of the handle body
# The `cylinder_knurl` creates bumps at Z=0. We want them along the handle's height.
# We can also stack layers of knurling if desired.
knurl_layers = []
knurl_spacing = 1.0 # Vertical spacing between rows of knurls
# Make multiple rows of knurling
num_rows = int(handle_height / knurl_spacing)
for row in range(num_rows):
z_offset = (row * knurl_spacing) - (handle_height / 2) + (knurl_spacing / 2)
knurl_layers.append(translate([0,0,z_offset])(knurl_texture_obj))
# Union the main body with all the knurl layers
return union()(handle_body, union()(knurl_layers))
if __name__ == '__main__':
scad_code = scad_render(create_knurled_handle())
with open("knurled_handle.scad", "w") as f:
f.write(scad_code)
print("Generated knurled_handle.scad")

8402
knurl.stl Normal file

File diff suppressed because it is too large Load Diff

757
knurl.stl.scad Normal file
View File

@ -0,0 +1,757 @@
$fn = 100;
difference() {
rotate(a = [0, 90, 0]) {
cylinder(h = 40, r = 13);
}
translate(v = [0, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [1, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [2, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [3, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [4, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [5, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [6, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [7, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [8, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [9, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [10, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [11, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [12, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [13, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [14, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [15, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [16, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [17, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [18, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [19, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [20, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [21, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [22, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [23, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [24, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [25, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [26, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [27, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [28, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [29, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [30, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [31, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [32, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [33, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [34, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [35, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [36, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [37, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [38, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [39, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [40, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [41, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [42, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [43, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [44, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [45, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [46, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [47, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [48, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [49, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [50, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [51, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [52, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [53, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [54, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [55, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [56, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [57, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [58, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [59, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [60, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [61, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [62, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [63, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [64, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [65, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [66, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [67, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [68, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [69, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [70, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [71, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [72, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [73, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [74, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [75, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [76, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [77, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [78, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [79, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [80, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [81, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [82, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [83, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [84, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [85, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [86, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [87, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [88, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [89, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [90, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [91, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [92, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [93, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [94, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [95, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [96, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [97, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [98, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [99, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [100, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [101, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [102, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [103, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [104, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [105, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [106, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [107, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [108, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [109, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [110, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [111, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [112, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [113, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [114, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [115, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [116, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [117, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [118, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [119, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [120, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [121, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [122, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [123, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [124, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [125, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [126, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [127, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [128, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [129, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [130, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [131, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [132, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [133, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [134, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [135, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [136, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [137, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [138, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [139, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [140, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [141, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [142, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [143, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [144, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [145, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [146, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [147, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [148, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [149, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [150, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [151, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [152, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [153, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [154, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [155, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [156, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [157, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [158, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [159, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [160, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [161, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [162, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [163, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [164, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [165, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [166, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [167, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [168, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [169, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [170, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [171, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [172, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [173, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [174, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [175, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [176, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [177, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [178, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [179, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [180, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [181, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [182, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [183, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [184, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [185, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [186, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [187, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [188, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [189, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [190, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [191, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [192, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [193, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [194, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [195, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [196, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [197, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [198, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [199, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [200, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [201, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [202, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [203, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [204, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [205, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [206, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [207, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [208, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [209, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [210, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [211, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [212, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [213, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [214, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [215, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [216, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [217, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [218, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [219, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [220, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [221, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [222, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [223, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [224, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [225, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [226, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [227, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [228, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [229, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [230, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [231, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [232, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [233, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [234, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [235, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [236, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [237, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [238, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [239, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [240, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [241, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [242, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [243, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [244, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [245, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [246, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [247, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [248, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
translate(v = [249, 12.8, -0.25]) {
cube(size = [0.5, 0.2, 0.5]);
}
}

32327
knurled_handle.scad Normal file

File diff suppressed because it is too large Load Diff

BIN
logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

9
logo.py Normal file
View File

@ -0,0 +1,9 @@
from solid2 import cube, cylinder, surface
o = surface("logo.png").scale(0.15,0.15,0.5)
o -= cube(500,100,1000).translate([0,0,10])
o -= cube(500,100,10).translate([0,0,-8])
o += cube(64,5,2).translate([8,3.8,2])
o.save_as_stl('logo.stl')

256944
logo.stl Normal file

File diff suppressed because it is too large Load Diff

16
logo.stl.scad Normal file
View File

@ -0,0 +1,16 @@
union() {
difference() {
scale(v = [0.15, 0.15, 0.5]) {
surface(file = "logo.png");
}
translate(v = [0, 0, 10]) {
cube(size = [500, 100, 1000]);
}
translate(v = [0, 0, -8]) {
cube(size = [500, 100, 10]);
}
}
translate(v = [8, 3.8, 2]) {
cube(size = [64, 5, 2]);
}
}

BIN
logo.stl.stl Normal file

Binary file not shown.

BIN
logo3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

94796
logofinal.gcode Normal file

File diff suppressed because one or more lines are too long

94801
logofinal2.gcode Normal file

File diff suppressed because one or more lines are too long

94797
logofinal3.gcode Normal file

File diff suppressed because one or more lines are too long

BIN
logov2.3mf Normal file

Binary file not shown.

BIN
logov2.stl Normal file

Binary file not shown.

90589
logov5.gcode Normal file

File diff suppressed because one or more lines are too long

BIN
logov5.stl Normal file

Binary file not shown.

472302
logox5 seq.gcode Normal file

File diff suppressed because one or more lines are too long

20
mag.py Normal file
View File

@ -0,0 +1,20 @@
from solid2 import cube
import subprocess
floor = cube(33,11.4,1.25).translate([1.25,1.25,0]) #floor
o = floor
o += floor.translate([0,0,2.5])
o -= cube(33,9.9,1.25).translate([1.25,2,2.5]) #ceiling negative
wall = cube(33,1.25,3.75).translate([1.25,0,0]) #sidewalls
o += wall
o += wall.translate([0,12.65,0])
o += cube(1.25,13.9,3.75) #backwall
o -= cube(1.75,2.5,2.5,).translate([16.4,11.5,1.5]) #hole
o += cube(1,6.85,2.5).translate([1.25,3.5,1.25]) #backwall2
o = o.rotate([180,0,0])
o = o.scale([10,10,10])
o.save_as_stl('mag.stl')

13918
mag.stl Normal file

File diff suppressed because it is too large Load Diff

BIN
mag.stl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

106
mag.stl.scad Normal file
View File

@ -0,0 +1,106 @@
$fn = 100;
scale(v = [10, 10, 10]) {
difference() {
union() {
translate(v = [0, 13.9, 0]) {
rotate(a = [180, 0, 0]) {
union() {
difference() {
union() {
difference() {
union() {
translate(v = [1.25, 1.25, 0]) {
cube(size = [33, 11.4, 1.25]);
}
translate(v = [0, 0, 2.3]) {
translate(v = [1.25, 1.25, 0]) {
cube(size = [33, 11.4, 1.25]);
}
}
}
translate(v = [1.25, 2, 2.3]) {
cube(size = [33, 9.9, 1.25]);
}
}
translate(v = [1.25, 0, 0]) {
cube(size = [33, 1.25, 3.55]);
}
translate(v = [0, 12.65, 0]) {
translate(v = [1.25, 0, 0]) {
cube(size = [33, 1.25, 3.55]);
}
}
cube(size = [1.25, 13.9, 3.55]);
}
translate(v = [16.4, 11.5, 1.75]) {
cube(size = [1.75, 2.5, 2.5]);
}
}
translate(v = [1.25, 3.5, 1.25]) {
cube(size = [1, 6.85, 2.3]);
}
}
}
}
translate(v = [-2.78, 0, 0]) {
cube(size = [39.81, 13.9, 22]);
}
}
rotate(a = [0, -8, 0]) {
translate(v = [-2.78, 0, 0]) {
cube(size = [2.78, 20, 50]);
}
}
union() {
translate(v = [34.25, 0, 0]) {
rotate(a = [0, -8, 0]) {
cube(size = [10, 20, 50]);
}
}
translate(v = [34.25, 0, 0]) {
cube(size = [10, 20, 50]);
}
}
union() {
translate(v = [3.78, -5, 10]) {
rotate(a = [-90, 0, 0]) {
cylinder(d = 7, h = 50);
}
}
translate(v = [11.7025, 0, 0]) {
translate(v = [3.78, -5, 10]) {
rotate(a = [-90, 0, 0]) {
cylinder(d = 7, h = 50);
}
}
}
translate(v = [11.7025, 0, 0]) {
union() {
translate(v = [3.78, -5, 10]) {
rotate(a = [-90, 0, 0]) {
cylinder(d = 7, h = 50);
}
}
translate(v = [11.7025, 0, 0]) {
translate(v = [3.78, -5, 10]) {
rotate(a = [-90, 0, 0]) {
cylinder(d = 7, h = 50);
}
}
}
}
}
}
translate(v = [-2.78, 21.9, 10]) {
rotate(a = [0, 90, 0]) {
cylinder(h = 40, r = 13);
}
}
translate(v = [-2.78, -8, 10]) {
rotate(a = [0, 90, 0]) {
cylinder(h = 40, r = 13);
}
}
}
}

36
mag2.0.py Normal file
View File

@ -0,0 +1,36 @@
from solid2 import cube, cylinder, set_global_fn
import subprocess
set_global_fn(100)
#base
floor = cube(33,11.4,1.25).translate([1.25,1.25,0]) #floor
o = floor
o += floor.translate([0,0,2.3]) #ceiling
o -= cube(33,9.9,1.25).translate([1.25,2,2.3]) #ceiling negative
wall = cube(33,1.25,3.55).translate([1.25,0,0]) #sidewalls
o += wall
o += wall.translate([0,12.65,0])
o += cube(1.25,13.9,3.55) #backwall
o -= cube(1.75,2.5,2.5,).translate([16.4,11.5,1.75]) #hole
o += cube(1,6.85,2.3).translate([1.25,3.5,1.25]) #backwall2
#baseend
#top
o = o.rotate([180,0,0]).translate([0,13.9,0])#rotate base
o += cube(34.25,13.9,22)#top cube
c = cylinder(r=11, h=34.25).rotate([0,90,0])
c2 = c.translate([0,18.9,10])
c = c.translate([0,-5,10])
c3 = cylinder(d=7, h=50).rotate([-90,0,0]).translate([6.8125,-5,10])
c3 += c3.translate([10.3125,0,0])
c3 += c3.translate([10.3125,0,0])
o = o - c
o = o - c2
o = o - c3
#topend
o = o.scale([10,10,10])
o.save_as_stl('mag.stl')

49
mag2.1.py Normal file
View File

@ -0,0 +1,49 @@
from solid2 import cube, cylinder, set_global_fn
import subprocess
set_global_fn(100)
#base
floor = cube(33,11.4,1.25).translate([1.25,1.25,0]) #floor
o = floor
o += floor.translate([0,0,2.3]) #ceiling
o -= cube(33,9.9,1.25).translate([1.25,2,2.3]) #ceiling negative
wall = cube(33,1.25,3.55).translate([1.25,0,0]) #sidewalls
o += wall
o += wall.translate([0,12.65,0])
o += cube(1.25,13.9,3.55) #backwall
o -= cube(1.75,2.5,2.5,).translate([16.4,11.5,1.75]) #hole
o += cube(1,6.85,2.3).translate([1.25,3.5,1.25]) #backwall2
#baseend
#top
o = o.rotate([180,0,0]).translate([0,13.9,0])#rotate base
o += cube(39.81,13.9,22).translate([-2.78,0,0])#top cube
#cylinders
c = cylinder(r=13, h=40).rotate([0,90,0])
c1 = c.translate([-2.78,21.9,10])#right cylinder
c2 = c.translate([-2.78,-8,10]) #left cylinder
a = 0
b = 0
#holes
h = cylinder(d=7, h=50).rotate([-90,0,0]).translate([3.78,-5,10])
h += h.translate([11.7025,0,0])
h += h.translate([11.7025,0,0])
t = cube(2.78,20,50).translate([-2.78,0,0]).rotate([0,-8,0])
t2 = cube(10,20,50).rotate([0,-8,0]).translate([34.25,0,0])
t2 += cube(10,20,50).translate([34.25,0,0])
o -= t
o -= t2
o -= h #topend
o -= c1
o -= c2
o = o.scale([10,10,10])
o.save_as_stl('mag.stl')

BIN
mag2.1.stl Normal file

Binary file not shown.

BIN
mag2.7.stl Normal file

Binary file not shown.

BIN
magv1.stl Normal file

Binary file not shown.

BIN
magv2.0.stl Normal file

Binary file not shown.

BIN
magv2.stl Normal file

Binary file not shown.

BIN
magv3.stl Normal file

Binary file not shown.

BIN
magv4 Normal file

Binary file not shown.

BIN
magv4.stl Normal file

Binary file not shown.

BIN
magv5.stl Normal file

Binary file not shown.

BIN
magv6.stl Normal file

Binary file not shown.

82599
pulley.gcode Normal file

File diff suppressed because it is too large Load Diff

12
test.py Normal file
View File

@ -0,0 +1,12 @@
import requests
import json
url = "https://go.theflybook.com/Public/v1/Reservations?start=2024-04-29T07:00:00.000Z&end=2025-04-30T17:00:00.000Z"
payload = ""
headers = {
'X-FB-API-KEY': 'KBQmP5oqdqWkn2w6hQSMd4EGow1kc6peqTIYPMvbE=',
'Content-Type': 'application/json'
}
response = requests.request("GET", url, headers=headers, data=payload)

17
wedge.py Normal file
View File

@ -0,0 +1,17 @@
from solid2 import cube, cylinder, set_global_fn
set_global_fn(100)
o = cube(43.9,6.9,6.3).translate([5,0,0])
o += cylinder(d=16.5, h=8.3).translate([8.25,3.45,-2])
o -= cube(50,50,50).translate([-20,6.9,-2])
o -= cube(50,50,50).translate([-20,-50,-2])
o -= cube(50,50,10).rotate([0,-22.83,0]).translate([45.3,0,-9.2])
o += cube(30.3,6.9,2).translate([5,0,-2])
o += cylinder(r=2.25, h=2).translate([37.3,3.45,-2])
o += cube(2,4.5,2).translate([35.3,1.20,-2])
o -= cube(50,1.25,1).translate([0,0,-1])
o -= cube(50,1.25,1).translate([0,5.65,-1])
o += cylinder(d=4,h=10).translate([7.6,3.45,-3.7])
o = o.rotate([180,0,0])
o.save_as_stl('wedge.stl')

5266
wedge.stl Normal file

File diff suppressed because it is too large Load Diff

49
wedge.stl.scad Normal file
View File

@ -0,0 +1,49 @@
$fn = 100;
rotate(a = [180, 0, 0]) {
union() {
difference() {
union() {
difference() {
union() {
translate(v = [5, 0, 0]) {
cube(size = [43.9, 6.9, 6.3]);
}
translate(v = [8.25, 3.45, -2]) {
cylinder(d = 16.5, h = 8.3);
}
}
translate(v = [-20, 6.9, -2]) {
cube(size = [50, 50, 50]);
}
translate(v = [-20, -50, -2]) {
cube(size = [50, 50, 50]);
}
translate(v = [45.3, 0, -9.2]) {
rotate(a = [0, -22.83, 0]) {
cube(size = [50, 50, 10]);
}
}
}
translate(v = [5, 0, -2]) {
cube(size = [30.3, 6.9, 2]);
}
translate(v = [37.3, 3.45, -2]) {
cylinder(h = 2, r = 2.25);
}
translate(v = [35.3, 1.2, -2]) {
cube(size = [2, 4.5, 2]);
}
}
translate(v = [0, 0, -1]) {
cube(size = [50, 1.25, 1]);
}
translate(v = [0, 5.65, -1]) {
cube(size = [50, 1.25, 1]);
}
}
translate(v = [7.6, 3.45, -3.7]) {
cylinder(d = 4, h = 10);
}
}
}