3D preview of 40mm Fan Adapter with Funnel Duct
Loading the interactive model…
Interactive 3D model of 40mm Fan Adapter with Funnel Duct

Enclosures and housings

40mm Fan Adapter with Funnel Duct

2 views
Bounding box
40.0 × 40.0 × 15.0 mm
Engine
Precision B-rep
Parameters
6
Published
September 8, 2026

Download

Free to download and use. See the terms.

The prompt

import cadquery as cq # --- Parameter --- fan_size = 40.0 # Lüfterbreite/-höhe (mm) hole_spacing = 32.0 # Lochabstand Mitte-zu-Mitte (mm) hole_diameter = 3.2 # M3 Schraubenlöcher (mm) fan_opening = 38.0 # Durchmesser Lüfteröffnung (mm) height = 15.0 # Höhe der Halterung / des Trichters (mm) target_outlet = 20.0 # Durchmesser des Luftauslasses unten (mm) # 1. Hauptblock erstellen base = cq.Workplane("XY").box(fan_size, fan_size, height) # 2. Montagebohrungen für 40mm Lüfter setzen (32x32mm Raster) base_with_holes = ( base.faces(">Z") .workplane() .rect(hole_spacing, hole_spacing, forConstruction=True) .vertices() .hole(hole_diameter) ) # 3. Trichterförmigen Luftkanal durch das Bauteil schneiden # Start oben (38mm) bis unten (20mm) funnel_cut = ( cq.Workplane("XY") .workplane(offset=height / 2) .circle(fan_opening / 2) .workplane(offset=-height) .circle(target_outlet / 2) .loft(combine=False) ) # 4. Trichter vom Hauptkörper abziehen final_model = base_with_holes.cut(funnel_cut) # Export als STEP-Datei für das Slicer-Programm cq.exporters.export(final_model, "fan_adapter_40mm.step")

Parameters

NameValueRange
Fan Size40 mm20 – 120
Hole Spacing32 mm10 – 100
Hole Diameter3.2 mm2 – 10
Fan Opening Diameter38 mm10 – 100
Height15 mm5 – 50
Outlet Diameter20 mm5 – 50

Every value above is a live dimension. Open a model like this in the editor and each one becomes a slider you can drag before exporting.