Frage zu einem OpenSCAD Model

OP #5657214
Lesenswert?

Hallo ich habe mich heute
beim Englischen OpenSCAD Forum angemeldet leider kann man da nicht 
einfach eine Frage stellen deswegen versuche ich es hier.
Wie bekomme ich in den blöden Deckel ein Loch hinein ich habe
nach difference()  probiert, das einzige was verschwindet ist der Rand 
des Deckels. Vielleicht kennt sich da jemand besser aus.

Ich selber beschäftige mich mit OpenSCAD erst seit 4 Tagen und es 
gefällt mir sehr gut.
1
$fn=50;
2

3
r = 40; 
4
thickness = 5; 
5
hole_size = 6; 
6
ScrewPos1 = -16;
7

8
length = 120;
9
width= 50;
10
height = 35;
11
cornerRadius = 10;
12

13
font = "Liberation Sans";
14

15
cube_size = width;
16
letter_size = 10;
17
letter_height = 5;
18

19
o = cube_size / 2 - letter_height / 2;
20

21

22
translate([0, 10, 0]){
23
         roundedBox(length, width, 1, cornerRadius);
24
           difference() {
25
              translate([1,1,0]) {
26
                roundedBox(length-2,width-2,4,cornerRadius);
27
              }
28
            translate([2,2,0]) {
29
           roundedBox(length-4,width-4,4,cornerRadius);
30
          
31
           }     
32
       
33
               ScrewHoles_3(-16,  +40 ,  -15.7);
34
                ScrewHoles_3(-16,  +80, -15.7);   
35
             }
36
          
37
       }
38

39

40
module letter(l) {
41
  // Use linear_extrude() to make the letters 3D objects as they
42
  // are only 2D shapes when only using text()
43
  linear_extrude(height = letter_height) {
44
    text(l, size = letter_size, font = font, halign = "center", valign = "center", $fn = 16);
45
  }
46
}
47
//translate([width*2, 10, 20]){
48

49

50

51
module ScrewHoles_3(x, y, z)
52
{
53
translate([x,y,z]){
54
union(){
55
 cylinder(h = 60, r = 1.5);
56
 translate([0,0,14])   
57
 cylinder(h = 2, r1 = 1.5, r2 =2.5);   
58
}
59
}
60
}   
61
   
62

63
module roundedBox(length, width, height, radius)
64
{
65
    dRadius = 2*radius;
66

67
    //base rounded shape
68
    minkowski() {
69
        cube(size=[width-dRadius,length-dRadius, height]);
70
        cylinder(r=radius);
71
    }
72
   
73
}
Persönliche Seite #5657265
Lesenswert?

Ich nehme an, daß Du Deine Schraublöcher vermisst.

Um zu sehen, wo sie sind, kannst Du ein '#' vor den Aufruf der Funktion 
"Screwholes" setzen:
1
    #ScrewHoles_3(-16,  +40 ,  -15.7);
2
    #ScrewHoles_3(-16,  +80, -15.7);

... und Du siehst, daß Deine Löcher etwas, äh, unerwartet aussehen und 
vor allem weit außerhalb Deiner Box sind.

Wenn Du übrigens beim Rendern so eine gelb/grün schraffiert-flackernde 
Fläche siehst, heißt das, daß Du hier zwei Objekte ohne Überlappung 
voneinander abgezogen hast; das solltest Du vermeiden, indem Du die 
subtrahierten objekte einen Hauch größer machst.
Gast #5657592
Lesenswert?

Nur mal so pauschal gesagt, alles was ein zusammenhängendes teil sein 
soll zuerst mit Union() zusammenfassen und dann mit Difference() die 
Löcher machen.

<code>
Difference(){
Union(){
Deckelteil1;
Deckelteil2;
Rand;
Verzierungpositiv;
}
Loch1;
Loch2;
Verzierungnegativ;
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren