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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.