Fixed preview rendering.

This commit is contained in:
Shy 2024-01-10 00:30:06 +01:00
parent 0f356c0481
commit f041f0f464

View file

@ -46,7 +46,7 @@ include <colors.scad>;
* Anschlag 7 mm von der Platine. * Anschlag 7 mm von der Platine.
*/ */
// Abgerundete Kanten (aufwendig). // Abgerundete Kanten.
rounded_edges = true; rounded_edges = true;
// Aussparungen für den linken Analog-Stick. // Aussparungen für den linken Analog-Stick.
@ -191,7 +191,8 @@ module screw_support(width, length) {
// Bohrung für die Schrauben. // Bohrung für die Schrauben.
module screw_drill() { 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 // Maske für Stellen, an denen der Rand nicht ganz auf der Platine aufliegen
@ -327,11 +328,11 @@ module casing_front() {
outer(); outer();
} }
// Vergrößere das zu substrahierende Objekt, um Darstellungsfehler
// in der Voransicht zu vermeiden.
if ($preview) { if ($preview) {
// Vergrößere das zu substrahierende Objekt, um Darstellungsfehler
// in der Voransicht zu vermeiden.
translate([0, 0, -0.1]) translate([0, 0, -0.1])
resize([0, 0, top + 0.2]) resize([0, 0, top + struts + 0.4])
top_cutouts(); top_cutouts();
} else { } else {
top_cutouts(); top_cutouts();
@ -448,6 +449,9 @@ module casing_front() {
// Plazierung der Bohrungen. // Plazierung der Bohrungen.
difference() { difference() {
casing_front(); casing_front();
// Bedingtes translate um Fehler bei der Vorschau auszubessern.
translate([0, 0, $preview ? -0.1 : 0])
union() { union() {
for (i = [0:3]) { for (i = [0:3]) {
translate([drill_pos[i][0], drill_pos[i][1], 0]) translate([drill_pos[i][0], drill_pos[i][1], 0])
@ -456,13 +460,13 @@ difference() {
// Die Löcher für die Analog-Sticks. // Die Löcher für die Analog-Sticks.
if (analog_stick_l) { if (analog_stick_l) {
linear_extrude(height = space) { linear_extrude(height = space * ($preview ? 1.2 : 1)) {
import("./svg/front analog stick l.svg"); import("./svg/front analog stick l.svg");
} }
} }
if (analog_stick_r) { if (analog_stick_r) {
linear_extrude(height = space) { linear_extrude(height = space * ($preview ? 1.2 : 1)) {
import("./svg/front analog stick r.svg"); import("./svg/front analog stick r.svg");
} }
} }