From f041f0f464691b4ab0659985ea68664c499fe058 Mon Sep 17 00:00:00 2001 From: Shy Date: Wed, 10 Jan 2024 00:30:06 +0100 Subject: [PATCH] Fixed preview rendering. --- front.scad | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/front.scad b/front.scad index dac3aa8..d5d9710 100644 --- a/front.scad +++ b/front.scad @@ -46,7 +46,7 @@ include ; * Anschlag 7 mm von der Platine. */ -// Abgerundete Kanten (aufwendig). +// Abgerundete Kanten. rounded_edges = true; // Aussparungen für den linken Analog-Stick. @@ -191,7 +191,8 @@ module screw_support(width, length) { // Bohrung für die Schrauben. module screw_drill() { - cylinder(h=space + top, r=drill/2, $fn=24); + // Die "$preview"-Bedingung reduziert Feher bei der Vorschau. + cylinder(h=space + top + ($preview ? 0.2 : 0), r=drill/2, $fn=24); } // Maske für Stellen, an denen der Rand nicht ganz auf der Platine aufliegen @@ -327,11 +328,11 @@ module casing_front() { outer(); } + // Vergrößere das zu substrahierende Objekt, um Darstellungsfehler + // in der Voransicht zu vermeiden. if ($preview) { - // Vergrößere das zu substrahierende Objekt, um Darstellungsfehler - // in der Voransicht zu vermeiden. translate([0, 0, -0.1]) - resize([0, 0, top + 0.2]) + resize([0, 0, top + struts + 0.4]) top_cutouts(); } else { top_cutouts(); @@ -448,6 +449,9 @@ module casing_front() { // Plazierung der Bohrungen. difference() { casing_front(); + + // Bedingtes translate um Fehler bei der Vorschau auszubessern. + translate([0, 0, $preview ? -0.1 : 0]) union() { for (i = [0:3]) { translate([drill_pos[i][0], drill_pos[i][1], 0]) @@ -456,13 +460,13 @@ difference() { // Die Löcher für die Analog-Sticks. if (analog_stick_l) { - linear_extrude(height = space) { + linear_extrude(height = space * ($preview ? 1.2 : 1)) { import("./svg/front analog stick l.svg"); } } if (analog_stick_r) { - linear_extrude(height = space) { + linear_extrude(height = space * ($preview ? 1.2 : 1)) { import("./svg/front analog stick r.svg"); } }