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.
*/
// 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();
}
if ($preview) {
// Vergrößere das zu substrahierende Objekt, um Darstellungsfehler
// in der Voransicht zu vermeiden.
if ($preview) {
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");
}
}