From d2dc63700fa427a75ccdbd81e88b8f770bd8691a Mon Sep 17 00:00:00 2001 From: jlpoole Date: Sat, 21 Mar 2026 14:51:34 -0700 Subject: [PATCH 1/4] Concept only --- ...o_rectangular_duct_transition_adapter.scad | 197 ++++++++++++++++++ 1 file changed, 197 insertions(+) create mode 100644 scad/YOOPAI_round_to_rectangular_duct_transition_adapter.scad diff --git a/scad/YOOPAI_round_to_rectangular_duct_transition_adapter.scad b/scad/YOOPAI_round_to_rectangular_duct_transition_adapter.scad new file mode 100644 index 0000000..26cc9e8 --- /dev/null +++ b/scad/YOOPAI_round_to_rectangular_duct_transition_adapter.scad @@ -0,0 +1,197 @@ +// +// duct_round_to_window_slot.scad +// 20260321 ChatGPT +// $Id$ +// $HeadURL$ +// +// Example command lines: +// +// openscad -o duct_round_to_window_slot_20260321_1830.stl duct_round_to_window_slot.scad +// +// openscad \ +// -D 'round_stub_od=72.0' \ +// -D 'round_fit_clearance=0.6' \ +// -D 'slot_h=25.4' \ +// -D 'slot_w=162.0' \ +// -D 'wall=2.4' \ +// -D 'round_stub_len=30' \ +// -D 'transition_len=140' \ +// -D 'slot_stub_len=30' \ +// -o duct_round_to_window_slot_20260321_1831.stl \ +// duct_round_to_window_slot.scad +// + +$fn = 128; + +// ------------------------------------------------------------ +// PARAMETERS +// ------------------------------------------------------------ + +// Measured OD of the existing plastic tent outlet that your flex duct +// currently wraps around. +round_stub_od = 72.0; + +// Extra diameter added so the flex duct can slip over this printed stub. +// Start with 0.4 to 0.8 mm and adjust after a test print. +round_fit_clearance = 0.6; + +// Wall thickness +wall = 2.4; + +// Length of straight circular collar for flex duct attachment +round_stub_len = 30; + +// Length of tapered transition body +transition_len = 140; + +// Length of straight rectangular outlet section for insertion under window +slot_stub_len = 30; + +// Window slot internal size +slot_h = 25.4; // 1.0 inch +slot_w = 162.0; // approximately area-preserving for 72 mm round + +// Corner radius for rounded rectangle, internal passage +slot_r = 6.0; + +// Optional lip / stop ring on circular end so the duct has something +// to register against before clamp/strap tightening. +add_round_stop_ring = true; +round_stop_ring_len = 5.0; +round_stop_ring_extra_od = 6.0; + + +// ------------------------------------------------------------ +// DERIVED VALUES +// ------------------------------------------------------------ + +// This is the OD of the printed round collar that the flexible duct +// will fit around. +round_outer_d = round_stub_od + round_fit_clearance; + +// Inner flow diameter at the round side +round_inner_d = round_outer_d - 2*wall; + +// Outer dimensions of the rectangular outlet +slot_outer_h = slot_h + 2*wall; +slot_outer_w = slot_w + 2*wall; +slot_outer_r = slot_r + wall; + +// Z locations +z0 = 0; +z1 = round_stub_len; +z2 = round_stub_len + transition_len; +z3 = round_stub_len + transition_len + slot_stub_len; + + +// ------------------------------------------------------------ +// HELPERS +// ------------------------------------------------------------ + +module rounded_rect_2d(w, h, r) { + rr = min(r, min(w,h)/2 - 0.01); + hull() { + translate([-(w/2 - rr), -(h/2 - rr)]) circle(r=rr); + translate([ +(w/2 - rr), -(h/2 - rr)]) circle(r=rr); + translate([-(w/2 - rr), +(h/2 - rr)]) circle(r=rr); + translate([ +(w/2 - rr), +(h/2 - rr)]) circle(r=rr); + } +} + +module round_profile_3d(d, z, h=1) { + translate([0,0,z]) + linear_extrude(height=h) + circle(d=d); +} + +module rect_profile_3d(w, h_rect, r, z, h=1) { + translate([0,0,z]) + linear_extrude(height=h) + rounded_rect_2d(w, h_rect, r); +} + + +// ------------------------------------------------------------ +// OUTER SHELL +// ------------------------------------------------------------ + +module outer_shell() { + union() { + // Straight round collar + hull() { + round_profile_3d(round_outer_d, z0, 1); + round_profile_3d(round_outer_d, z1, 1); + } + + // Transition + hull() { + round_profile_3d(round_outer_d, z1, 1); + rect_profile_3d(slot_outer_w, slot_outer_h, slot_outer_r, z2, 1); + } + + // Straight rectangular collar + hull() { + rect_profile_3d(slot_outer_w, slot_outer_h, slot_outer_r, z2, 1); + rect_profile_3d(slot_outer_w, slot_outer_h, slot_outer_r, z3, 1); + } + } +} + + +// ------------------------------------------------------------ +// INNER VOID +// ------------------------------------------------------------ + +module inner_void() { + union() { + // Straight round passage + hull() { + round_profile_3d(round_inner_d, z0 - 0.2, 1.4); + round_profile_3d(round_inner_d, z1 + 0.2, 1.4); + } + + // Transition passage + hull() { + round_profile_3d(round_inner_d, z1 - 0.2, 1.4); + rect_profile_3d(slot_w, slot_h, slot_r, z2 + 0.2, 1.4); + } + + // Straight rectangular passage + hull() { + rect_profile_3d(slot_w, slot_h, slot_r, z2 - 0.2, 1.4); + rect_profile_3d(slot_w, slot_h, slot_r, z3 + 0.2, 1.4); + } + } +} + + +// ------------------------------------------------------------ +// OPTIONAL ROUND STOP RING +// ------------------------------------------------------------ + +module round_stop_ring() { + if (add_round_stop_ring) { + translate([0,0,z0]) { + difference() { + cylinder(d = round_outer_d + round_stop_ring_extra_od, + h = round_stop_ring_len); + translate([0,0,-0.2]) + cylinder(d = round_outer_d, + h = round_stop_ring_len + 0.4); + } + } + } +} + + +// ------------------------------------------------------------ +// FINAL PART +// ------------------------------------------------------------ + +union() { + difference() { + outer_shell(); + inner_void(); + } + round_stop_ring(); +} From 39a70971bc0b011874bea39d7e8ad856bca5d2b1 Mon Sep 17 00:00:00 2001 From: jlpoole Date: Sun, 12 Apr 2026 15:51:15 -0700 Subject: [PATCH 2/4] final printed version & spreadsheet --- freecad/YOOPAI_medium_vent_flange.FCStd | Bin 0 -> 90785 bytes freecad/YOOPAI_medium_vent_flange.csv | 14 ++++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 freecad/YOOPAI_medium_vent_flange.FCStd create mode 100644 freecad/YOOPAI_medium_vent_flange.csv diff --git a/freecad/YOOPAI_medium_vent_flange.FCStd b/freecad/YOOPAI_medium_vent_flange.FCStd new file mode 100644 index 0000000000000000000000000000000000000000..475452fca1eacd3db63f4f8259ffbf63c345c365 GIT binary patch literal 90785 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 Gllwm#X<+vN literal 0 HcmV?d00001 diff --git a/freecad/YOOPAI_medium_vent_flange.csv b/freecad/YOOPAI_medium_vent_flange.csv new file mode 100644 index 0000000..b109cd5 --- /dev/null +++ b/freecad/YOOPAI_medium_vent_flange.csv @@ -0,0 +1,14 @@ +86 base_plate length of a side, it is a square +3 base_thickness low 2s, I raised to 3mm for strength +75 duct_flange_base_top_OD_diameter outside diameter of duct flange at base plate at top of base plate +70 duct_flange_base_bottom_ID_diameter inside diameter at the bottom of base plate, the taper goes to the bottom of the plate, there is no perpendicular segment within the base plate +70 duct_flex_diameter +43 duct_flange_total_height includes base and adds 1mm since I measued 42, but I'm increasing base by 1mm to 3mm +73 duct_flange_top_outside_diameter +69 duct_flange_top_inside_diameter +40 round_transition +6 screw_hole_diameter +4 screw_hole_from_edge from both adjacent edges +40 taper_height dervied, 'from top of plate +36 hole_center_offset base_plate/2 - screw_hole_from_edge - screw_hole_diameter/2 +5 base_corner_radius From 8fe4145060798ba4ca969ac5b90648a7b91c479b Mon Sep 17 00:00:00 2001 From: jlpoole Date: Sun, 12 Apr 2026 15:52:08 -0700 Subject: [PATCH 3/4] Helper scripts --- python/assign_alias.py | 21 +++++++++++++++++++++ python/show_constraints.py | 20 ++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 python/assign_alias.py create mode 100644 python/show_constraints.py diff --git a/python/assign_alias.py b/python/assign_alias.py new file mode 100644 index 0000000..cf1b2e0 --- /dev/null +++ b/python/assign_alias.py @@ -0,0 +1,21 @@ +import FreeCAD as App + +# Change 'Spreadsheet' to the actual name of your sheet if different +sheet = App.ActiveDocument.getObject('Spreadsheet') + +# Set the range of rows you want to process (e.g., row 1 to 20) +start_row = 1 +end_row = 20 + +for i in range(start_row, end_row + 1): + val_cell = f"A{i}" + name_cell = f"B{i}" + + alias_name = sheet.get(name_cell) + + if alias_name: + # FreeCAD aliases cannot have spaces or special characters + clean_alias = "".join(filter(str.isalnum, alias_name)) + sheet.setAlias(val_cell, clean_alias) + +App.ActiveDocument.recompute() diff --git a/python/show_constraints.py b/python/show_constraints.py new file mode 100644 index 0000000..00f30ba --- /dev/null +++ b/python/show_constraints.py @@ -0,0 +1,20 @@ +# +# 3/23/26 ChatGPT +# shows details of constraints +# + +sk = App.ActiveDocument.ActiveObject + +App.Console.PrintMessage("Constraint Listing:\n") +print(f'Constraint Listing: ') +for i, c in enumerate(sk.Constraints): + App.Console.PrintMessage(f"\nConstraint {i}: {c.Type}") + + if hasattr(c, "Value") and c.Value != 0: + App.Console.PrintMessage(f" = {c.Value}") + + App.Console.PrintMessage( + f"\n First : Geo {c.First}, Pos {c.FirstPos}" + f"\n Second: Geo {c.Second}, Pos {c.SecondPos}" + f"\n Third : Geo {c.Third}, Pos {c.ThirdPos}\n" + ) From 5836c7519550f29752e78f396123b099c74ff4f3 Mon Sep 17 00:00:00 2001 From: John Poole Date: Sun, 12 Apr 2026 16:40:32 -0700 Subject: [PATCH 4/4] Adding OrcaSlicer configuration files --- .../PolyLite PLA YOOPAI_Exhaust_Flange.info | 5 +++ .../PolyLite PLA YOOPAI_Exhaust_Flange.json | 34 +++++++++++++++++++ OrcaSlicer/process/YOOPAI-Exhaust_PLA.info | 5 +++ OrcaSlicer/process/YOOPAI-Exhaust_PLA.json | 29 ++++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 OrcaSlicer/filament/PolyLite PLA YOOPAI_Exhaust_Flange.info create mode 100644 OrcaSlicer/filament/PolyLite PLA YOOPAI_Exhaust_Flange.json create mode 100644 OrcaSlicer/process/YOOPAI-Exhaust_PLA.info create mode 100644 OrcaSlicer/process/YOOPAI-Exhaust_PLA.json diff --git a/OrcaSlicer/filament/PolyLite PLA YOOPAI_Exhaust_Flange.info b/OrcaSlicer/filament/PolyLite PLA YOOPAI_Exhaust_Flange.info new file mode 100644 index 0000000..f838654 --- /dev/null +++ b/OrcaSlicer/filament/PolyLite PLA YOOPAI_Exhaust_Flange.info @@ -0,0 +1,5 @@ +sync_info = create +user_id = +setting_id = +base_id = OGFSL19 +updated_time = 1774475531 diff --git a/OrcaSlicer/filament/PolyLite PLA YOOPAI_Exhaust_Flange.json b/OrcaSlicer/filament/PolyLite PLA YOOPAI_Exhaust_Flange.json new file mode 100644 index 0000000..4a4e637 --- /dev/null +++ b/OrcaSlicer/filament/PolyLite PLA YOOPAI_Exhaust_Flange.json @@ -0,0 +1,34 @@ +{ + "close_fan_the_first_x_layers": [ + "3" + ], + "compatible_printers": [ + "Sovol SV06 ACE 0.4 nozzle" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_max_speed": [ + "70" + ], + "fan_min_speed": [ + "50" + ], + "filament_settings_id": [ + "PolyLite PLA YOOPAI_Exhaust_Flange" + ], + "from": "User", + "hot_plate_temp_initial_layer": [ + "60" + ], + "inherits": "PolyLite PLA @System", + "is_custom_defined": "0", + "name": "PolyLite PLA YOOPAI_Exhaust_Flange", + "nozzle_temperature": [ + "215" + ], + "nozzle_temperature_initial_layer": [ + "215" + ], + "version": "2.3.0.3" +} diff --git a/OrcaSlicer/process/YOOPAI-Exhaust_PLA.info b/OrcaSlicer/process/YOOPAI-Exhaust_PLA.info new file mode 100644 index 0000000..2912f98 --- /dev/null +++ b/OrcaSlicer/process/YOOPAI-Exhaust_PLA.info @@ -0,0 +1,5 @@ +sync_info = update +user_id = +setting_id = +base_id = GP004 +updated_time = 1774475531 diff --git a/OrcaSlicer/process/YOOPAI-Exhaust_PLA.json b/OrcaSlicer/process/YOOPAI-Exhaust_PLA.json new file mode 100644 index 0000000..4eddea6 --- /dev/null +++ b/OrcaSlicer/process/YOOPAI-Exhaust_PLA.json @@ -0,0 +1,29 @@ +{ + "bottom_shell_layers": "8", + "brim_type": "outer_only", + "from": "User", + "infill_wall_overlap": "15%", + "inherits": "0.20mm Standard @Sovol SV06 ACE", + "initial_layer_line_width": "0.45", + "initial_layer_print_height": "0.2", + "inner_wall_line_width": "0.45", + "inner_wall_speed": "80", + "is_custom_defined": "0", + "line_width": "0.45", + "name": "YOOPAI-Exhaust_PLA", + "notes": "Per ChatGPT as 1st prototype test run with PLA:\n\nStructural Prototype Profile\n\nLayer height: 0.20\nWalls: 6\nTop/Bottom: 6\nInfill: 50% Gyroid\nNozzle temp: 210–215 PLA\nFan: 60%\nOuter wall width: 0.45", + "only_one_wall_top": "0", + "outer_wall_acceleration": "1500", + "outer_wall_line_width": "0.45", + "outer_wall_speed": "35", + "print_settings_id": "YOOPAI-Exhaust_PLA", + "seam_gap": "0", + "seam_position": "back", + "skirt_loops": "2", + "sparse_infill_density": "50%", + "sparse_infill_pattern": "gyroid", + "top_shell_layers": "6", + "top_solid_infill_flow_ratio": "1", + "version": "2.3.0.3", + "wall_loops": "6" +}