Hui Ulli,
das geht ja prima weiter...
Auch Deine Tante Edit hat eine feine Erweiterung gebracht (Bogensegment mit Arm).
In der Zwischenzeit habe ich die Arme seitlich mittels Zylindern gestaltet, der Kreisbogen zum Anschluß an die Grundplatte fehlt noch. Auch das mit dem Minimalmaß zum Überlappen habe ich begriffen und für die Federarme eine entsprechende Quaderscheibe im Kubus vorgesehen, damit das "verschmilzt". Zunächst dachte ich, das Geflacker gäbe sich mit dem Rendern und läge an der systematischen Darstellung derartiger Konstrukte von OpenSCAD. Dank Deiner Erklärung weiß ich nun, daß OpenSCAD bei sauberer Modellierung auch ohne zu Rendern die Bohrungen richtig zeigt.
Mit der Bohrung mußte ich aber experimentieren, ums Verrecken hat das immer oben oder unten geflackert. Zudrucken und nachher mit einer Feile dran herumdoktern will man ja auch nicht, wenn es anders gehen könnte.
Das Bauteil sieht nun so aus:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/*
Kupplungshalter Maerklin TRAXX ER 20 optimiert
aehnlich Maerklin E345760
SER
v0.2
Stand: 11.07.2021
*/
/* Abmessungen */
/* Grundplatte in Einbauposition oben; ueberkopf */
GrundplatteDicke = 1.00; // Grundplatte Dicke
GrundplattePlus = 0.35; // Auffuettern TRAXX ER 20
SchachtBreiteInnen = 3.20; // NEM 362
SchachtHoeheInnen = 1.75; // NEM 362
SchachtLaengeInnen = 7.10; // NEM 362 ggf. 7,00 mm
SchachtLaengeUnten = 6.10; // Entriegelung
SchachtWandSeite = 1.00;
SchachtWandDecke = 1.00;
BohrungWeite = 3.85; // Drehzapfen Durchmesser
BohrungMitte = 10.80; // ab Vorderkante Schacht
OeseWand = 1.00; // Wanddicke Oese
OeseBreite = BohrungWeite + OeseWand + OeseWand;
OeseHoehe = GrundplatteDicke + GrundplattePlus;
FederBreite = 1.00; // Wanddicke, ggf. 0,75 mm
FederHoehe = GrundplatteDicke + GrundplattePlus;
FederWeite = 15.00; // Aussen an FederAbstandVorne
FederWeite2 = 10.00; // Aussen an FederAbstand2
FederAbstandVorne = 8.50; // Abstand Federenden ab Stirnseite Schacht
FederAbstand2 = BohrungMitte + BohrungWeite/2 + OeseWand; // X; Abstand ab Stirnseite Schacht
FederAnbauBreite = 2.00;
FederAnbauLaenge = 2.00;
Minimal = 0.001; // Hilfsbreite
Oberflaechenkosmetik = 320; // Entwurf 32, Final 320
/* Oberflaechenkosmetik */
$fn = Oberflaechenkosmetik;
/* Grundplatte */
GrundplatteLaenge = BohrungMitte + BohrungWeite/2;
GrundplatteBreite = SchachtWandSeite + SchachtBreiteInnen + SchachtWandSeite;
/* Grundplatte mit Bohrung */
difference ()
{
union() {
cube([BohrungMitte, GrundplatteBreite, GrundplatteDicke], $fn = Oberflaechenkosmetik, center = false);
translate([BohrungMitte, GrundplatteBreite/2, -Minimal ])
cylinder(h = (GrundplatteDicke + GrundplattePlus + Minimal), d = (BohrungWeite+OeseWand+OeseWand), $fn = Oberflaechenkosmetik);
translate([BohrungMitte, GrundplatteBreite/2, 0]);
}
translate([BohrungMitte, GrundplatteBreite/2, -2*Minimal ])
cylinder(h = (GrundplatteDicke + GrundplattePlus + 20*Minimal), d = (BohrungWeite), $fn = Oberflaechenkosmetik);
}
/* Schacht nach NEM 362 */
/* Wand vorne */
translate([0, 0, GrundplatteDicke])
cube([SchachtLaengeInnen, SchachtWandSeite, SchachtHoeheInnen + SchachtWandDecke], $fn = Oberflaechenkosmetik, center = false);
/* Wand hinten */
translate([0, (SchachtWandSeite + SchachtBreiteInnen), GrundplatteDicke])
cube([SchachtLaengeInnen, SchachtWandSeite, SchachtHoeheInnen + SchachtWandDecke], $fn = Oberflaechenkosmetik, center = false);
/* Decke */
translate([(SchachtLaengeInnen - SchachtLaengeUnten), 0, (GrundplatteDicke + SchachtHoeheInnen)])
cube([SchachtLaengeUnten, GrundplatteBreite, SchachtWandDecke], $fn = Oberflaechenkosmetik, center = false);
/* Feder */
/* Position Feder */
/* Links */
translate([ FederAbstandVorne, GrundplatteBreite/2 - FederWeite/2, 0])
cylinder(h = FederHoehe, d = 1.5*FederBreite, center = false);
hull()
{
translate([ FederAbstandVorne, GrundplatteBreite/2 - FederWeite/2, 0])
cylinder(h = FederHoehe, d = FederBreite, center = false);
translate([ FederAbstand2, GrundplatteBreite/2 - FederWeite2/2, 0])
cylinder(h = FederHoehe, d = FederBreite, center = false);
}
translate([ BohrungMitte + BohrungWeite/2 + OeseWand + FederAnbauLaenge - FederBreite, GrundplatteBreite/2 - FederAnbauBreite/2 + Minimal, 0 ])
cube([FederBreite, Minimal, FederHoehe], center = false);
/* Rechts */
translate([ FederAbstandVorne, GrundplatteBreite/2 + FederWeite/2, 0])
cylinder(h = FederHoehe, d = 1.5*FederBreite, center = false);
hull()
{
translate([ FederAbstandVorne, GrundplatteBreite/2 + FederWeite/2, 0])
cylinder(h = FederHoehe, d = FederBreite, center = false);
translate([ FederAbstand2, GrundplatteBreite/2 + FederWeite2/2, 0])
cylinder(h = FederHoehe, d = FederBreite, center = false);
}
translate([ BohrungMitte + BohrungWeite/2 + OeseWand + FederAnbauLaenge - FederBreite, GrundplatteBreite/2 + FederAnbauBreite/2 - Minimal, 0 ])
cube([FederBreite, Minimal, FederHoehe], center = false);
/* Feder Anbau */
translate([BohrungMitte + BohrungWeite/2, GrundplatteBreite/2 - FederAnbauBreite/2, 0])
cube([FederAnbauLaenge + OeseWand, FederAnbauBreite, GrundplatteDicke + GrundplattePlus], $fn = Oberflaechenkosmetik, center = false);
Jetzt muß ich mir das mit den Bogendingens mal antun...
Gruß
Sven