← Back to Models
Luxury Car Electronic Shifter Modeling

Luxury Car Electronic Shifter Modeling

by clever-builder-7051 ·

Interactive Preview & Customizer

3D preview with OpenSCAD rendering on parameter changes.

Loading previewLoading preview...
step 0.5
step 0.5
step 0.5
step 0.5
step 0.5
step 0.1
step 0.5
step 0.1
step 0.5
WASM compiler loads on first parameter change.
Download

Prompt Assets

Prompt image

Prompt reference image

Prompt

参考图片帮我设计一个汽车的挡把

OpenSCAD Code

// Automotive Electronic Gear Shift Knob
// Designed to match modern luxury electronic palm shifters (e.g. BYD / Audi style)

/* [Main Dimensions] */
knob_length = 82;        // Front-to-back length (mm)
knob_width = 52;         // Left-to-right grip width (mm)
knob_height = 80;        // Total vertical height (mm)
stem_diameter = 26;      // Base collar diameter (mm)
stem_height = 22;        // Base straight stem height (mm)

/* [Mounting Socket] */
mount_bore_d = 12.0;     // Shift rod diameter (mm)
mount_bore_depth = 34.0; // Socket depth (mm)
set_screw_d = 4.0;       // Grub screw hole diameter (mm)

/* [Options] */
include_set_screw = true;

/* [Smoothness] */
$fn = 48;

// True 4-corner rounded rectangle
module rounded_rect_2d(l, w, r) {
    dx = max(0.1, l/2 - r);
    dy = max(0.1, w/2 - r);
    hull() {
        translate([ dx,  dy]) circle(r = r, $fn = 36);
        translate([-dx,  dy]) circle(r = r, $fn = 36);
        translate([-dx, -dy]) circle(r = r, $fn = 36);
        translate([ dx, -dy]) circle(r = r, $fn = 36);
    }
}

module automotive_shift_knob() {
    difference() {
        // --- 1. SOLID COMBINED BODY ---
        union() {
            // A. Base stem collar
            cylinder(d = stem_diameter, h = stem_height);

            // B. Neck transition (smooth flare up to shifter head)
            hull() {
                translate([0, 0, stem_height - 1])
                    cylinder(d = stem_diameter, h = 1);
                translate([3, 0, stem_height + 14])
                    linear_extrude(height = 2)
                    rounded_rect_2d(46, 36, 14);
            }

            // C. Lower sculpted housing
            hull() {
                translate([3, 0, stem_height + 13])
                    linear_extrude(height = 2)
                    rounded_rect_2d(46, 36, 14);

                translate([2, 0, knob_height - 22])
                    linear_extrude(height = 2)
                    rounded_rect_2d(knob_length * 0.88, knob_width * 0.85, 16);

                translate([0, 0, knob_height - 14])
                    linear_extrude(height = 2)
                    rounded_rect_2d(knob_length * 0.96, knob_width * 0.94, 18);
            }

            // D. Chrome Bezel & Left Ergonomic Thumb Wing
            hull() {
                translate([0, 0, knob_height - 14])
                    linear_extrude(height = 2)
                    rounded_rect_2d(knob_length * 0.96, knob_width * 0.94, 18);

                translate([0, 0, knob_height - 9])
                    linear_extrude(height = 2)
                    rounded_rect_2d(knob_length, knob_width, 18);

                // Left thumb wing extension
                translate([0, -knob_width * 0.44, knob_height - 13])
                    scale([1.3, 0.7, 0.65])
                    sphere(r = 12);
            }

            // E. Top Glossy Pebble Insert
            hull() {
                translate([0.5, 0, knob_height - 8])
                    linear_extrude(height = 2)
                    rounded_rect_2d(knob_length * 0.84, knob_width * 0.80, 15);

                translate([1, 0, knob_height - 4])
                    linear_extrude(height = 1.5)
                    rounded_rect_2d(knob_length * 0.74, knob_width * 0.68, 13);

                translate([1.5, 0, knob_height - 1.5])
                    scale([knob_length * 0.30, knob_width * 0.24, 2.5])
                    sphere(r = 1);
            }

            // F. UNLOCK Button Pad (Smooth rounded thumb button)
            hull() {
                translate([8, -knob_width * 0.50, knob_height - 12.5])
                    sphere(r = 4.0);
                translate([-10, -knob_width * 0.50, knob_height - 13.5])
                    sphere(r = 4.0);
                translate([8, -knob_width * 0.44, knob_height - 8.5])
                    sphere(r = 3.5);
                translate([-10, -knob_width * 0.44, knob_height - 9.5])
                    sphere(r = 3.5);
            }

            // G. Embossed UNLOCK text integrated onto the button surface
            translate([-1, -knob_width * 0.53, knob_height - 13])
                rotate([90, 0, 0])
                linear_extrude(height = 1.2, center = true)
                text("UNLOCK", size = 3.2, font = "Liberation Sans:style=Bold", halign = "center", valign = "center");
        }

        // --- 2. SUBTRACTIONS & INTERFACES ---

        // Shift lever shaft hole
        translate([0, 0, -1])
            cylinder(d = mount_bore_d, h = mount_bore_depth + 1, $fn = 32);
        
        // Chamfered lead-in
        translate([0, 0, -0.1])
            cylinder(r1 = mount_bore_d/2 + 1.2, r2 = mount_bore_d/2, h = 1.5, $fn = 32);

        // Set screw tightening hole
        if (include_set_screw) {
            translate([0, 0, stem_height * 0.55])
                rotate([90, 0, 0])
                cylinder(d = set_screw_d, h = stem_diameter * 2, center = true, $fn = 24);
        }
    }
}

automotive_shift_knob();

Download Model

Choose the model version and file format.

Model version