Skip to content

Commit 7964808

Browse files
committed
Refine platform geometry calculations in OpenSCAD files
Updated platform width and pivot X position calculations to align with inner plate faces and ensure correct gaps. Adjusted transverse angle iron length and side angle Z offset logic for more accurate mechanical fit. Improved parameter derivations and assertions for platform assembly.
1 parent 2b23824 commit 7964808

File tree

2 files changed

+22
-11
lines changed

2 files changed

+22
-11
lines changed

LifeTrac-v25/mechanical_design/openscad/lifetrac_v25.scad

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2517,7 +2517,11 @@ module folding_platform_assembly(fold_angle=90) {
25172517
// Transverse angles now run full width (approx)
25182518
// Side angles fit between them with gap
25192519
// Shorten transverse angles by gap on each side
2520-
transverse_len = 2 * angle_iron_x_from_center - 2 * PLATFORM_TRANSVERSE_GAP;
2520+
// Transverse Angle Length:
2521+
// "parametrically lengthen the transverse angle irons so that they are 1/4 of an inch from the L plates on either side."
2522+
// L Plate Inner Face is at `angle_iron_x_from_center`.
2523+
// 1/4 inch = 6.35mm.
2524+
transverse_len = 2 * (angle_iron_x_from_center - 6.35);
25212525

25222526
// Calculate positions of transverse angles (Inner faces)
25232527
// The outside edge of the transverse angle irons should be 1/2 inch (PLATFORM_EDGE_MARGIN)
@@ -2556,9 +2560,10 @@ module folding_platform_assembly(fold_angle=90) {
25562560
// Side angle Z offset (in local frame before fold rotation)
25572561
// Maps to World -Y.
25582562
// We want World Y = side_angle_start_y at Extrusion 0.
2559-
// World Y = -Local Z.
2560-
// side_angle_start_y = -side_angle_z_trans.
2561-
side_angle_z_trans = -side_angle_start_y;
2563+
// World Y = -(z_trans - PLATFORM_LOCK_OFFSET).
2564+
// side_angle_start_y = -z_trans + PLATFORM_LOCK_OFFSET.
2565+
// z_trans = PLATFORM_LOCK_OFFSET - side_angle_start_y.
2566+
side_angle_z_trans = PLATFORM_LOCK_OFFSET - side_angle_start_y;
25622567

25632568
// =================================================================
25642569
// ANGLE IRON ARMS (2x - Left and Right)

LifeTrac-v25/mechanical_design/openscad/lifetrac_v25_params.scad

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -173,11 +173,6 @@ DECK_HEIGHT = 250; // Height above ground
173173

174174
// --- Derived dimensions (calculated from frame geometry) ---
175175
PLATFORM_CLEARANCE = 50; // Clearance from inner walls (mm)
176-
PLATFORM_WIDTH = TRACK_WIDTH - SANDWICH_SPACING - PANEL_THICKNESS*2 - PLATFORM_CLEARANCE; // ~850mm
177-
178-
// Pivot X position - near deck edges, inside the inner panel faces
179-
PLATFORM_PIVOT_X_INSET = 35; // Distance from deck edge to pivot centerline (mm)
180-
PLATFORM_PIVOT_X = PLATFORM_WIDTH/2 - PLATFORM_PIVOT_X_INSET; // X position from center
181176

182177
// --- Configurable dimensions ---
183178
PLATFORM_DEPTH = 400; // Front-to-back depth of deck (mm)
@@ -187,6 +182,17 @@ PLATFORM_ARM_LENGTH = 425; // Length of angle iron arms (mm)
187182
PLATFORM_PIVOT_HEIGHT = 330; // Height of pivot / deck surface when deployed (mm)
188183
PLATFORM_THICKNESS = PLATE_1_4_INCH; // Deck plate thickness
189184

185+
// Pivot X position - Aligned with inner plate of machine walls
186+
// Inner Wall X = TRACK_WIDTH/2 - SANDWICH_SPACING/2 - PANEL_THICKNESS
187+
// Pivot Bracket Center = Inner Wall X - Bracket Thickness/2
188+
_inner_wall_x = TRACK_WIDTH/2 - SANDWICH_SPACING/2 - PANEL_THICKNESS;
189+
PLATFORM_PIVOT_X = _inner_wall_x - PLATE_1_4_INCH/2;
190+
191+
// PLATFORM_WIDTH calculated to fill distance between L plates (Pivot Brackets) with 1/8" gap
192+
// Pivot Bracket Inner Face = PLATFORM_PIVOT_X - PLATFORM_THICKNESS/2
193+
// Gap = 1/8 inch = 3.175mm
194+
PLATFORM_WIDTH = 2 * (PLATFORM_PIVOT_X - PLATFORM_THICKNESS/2 - 3.175);
195+
190196
// --- Pivot bracket dimensions ---
191197
PLATFORM_BRACKET_WIDTH = 100; // Width of pivot bracket plate (mm)
192198
PLATFORM_BRACKET_LENGTH = PLATFORM_DEPTH - PLATFORM_BRACKET_WIDTH/2; // Length of pivot bracket plate (mm)
@@ -242,8 +248,8 @@ assert(PLATFORM_ARM_LENGTH >= PLATFORM_DEPTH/2,
242248
"PLATFORM_ARM_LENGTH must be at least half of PLATFORM_DEPTH");
243249

244250
// Pivot X must be inside the inner frame walls
245-
_inner_wall_x = TRACK_WIDTH/2 - SANDWICH_SPACING/2;
246-
assert(PLATFORM_PIVOT_X < _inner_wall_x,
251+
_inner_wall_limit_x = TRACK_WIDTH/2 - SANDWICH_SPACING/2;
252+
assert(PLATFORM_PIVOT_X < _inner_wall_limit_x,
247253
"PLATFORM_PIVOT_X must be inside inner frame walls");
248254

249255
// Pivot must be above frame bottom

0 commit comments

Comments
 (0)