^
brixelweb.de OpenSCAD-Menu
[ https://openscad.org/ ]


Innenradius


Ein Innenradius im Schnittmodell

Links sieht man in der roten Schnittfläche die scharfe Kante.

Rechts dagegen ist eine gelbe Fase angebracht.
Diese Fase ist variabel zum Eingeben gedacht. Das bedeutet es kann jede Größe erstellt werden.



Sie entsteht aus einem Quadrat, einem Kreis und dem "rotate_extrude" - Befehl.


Wie der Innenradius entsteht

Ein Quadrat wird gesetzt ...

// radius_io1.scad
// Innenradius, oben

$fn=50;

module rad_io1 (innendurchm, radius) {

    translate([innendurchm - radius,0,0])
    square(radius, center = false);

}      // Ende von module 
 
 // Eingabe: rad_io1(innendurchm, radius);
 rad_io1(20,5);


Dazu kommt der Kreis (heute ganz in blau) mit dem gewünschten Radius

// radius_io1.scad
// Innenradius, oben

$fn=50;

module rad_io1 (innendurchm, radius) {

    translate([innendurchm - radius,0,0])
    square(radius, center = false);
        
    translate([innendurchm- radius , radius, 0])
    circle(radius);

}      // Ende von module 
 
 // Eingabe: rad_io1(innendurchm, radius);
 rad_io1(20,5);


Natürlich muss der Kreis vom Quadrat abgezogen werden:

// radius_io1.scad
// Innenradius, oben

$fn=50;

module rad_io1 (innendurchm, radius) {
difference()  {
    translate([innendurchm - radius,0,0])
    square(radius, center = false);
        
    translate([innendurchm- radius , radius, 0])
    circle(radius);
  }  // Ende von difference
}      // Ende von module 
 
 // Eingabe: rad_io1(innendurchm, radius);
 rad_io1(20,5);


Jetzt wird das "Teil" rotiert...

Zur Hälfte schon fertig.

// radius_io1.scad
// Innenradius, oben

$fn=50;

module rad_io1 (innendurchm, radius) {
rotate_extrude(convexity = 10){
difference()  {
    translate([innendurchm - radius,0,0])
    square(radius, center = false);
        
    translate([innendurchm- radius , radius, 0])
    circle(radius);
    }  // Ende von difference
  }    // Ende von rotate_extrude
}      // Ende von module 
 
 // Eingabe: rad_io1(innendurchm, radius);
 rad_io1(20,5);


Der fertige Innenradius

So sieht nun der fertige Innenradius aus: im Beispiel hat er einen Aussendurchmesser von 20 und einem Radius von 5 durch die Eingabe erhalten.

// radius_io1.scad
// Innenradius, oben

$fn=50;

module rad_io1 (innendurchm, radius) {
rotate_extrude(convexity = 10){
difference()  {
    translate([innendurchm - radius,0,0])
    square(radius, center = false);
        
    translate([innendurchm- radius , radius, 0])
    circle(radius);
    }  // Ende von difference
  }    // Ende von rotate_extrude
}      // Ende von module 
 
 // Eingabe: rad_io1(innendurchm, radius);
 rad_io1(20,5);


Das Modul sollte immer am Anfang des Scriptes stehen. Es wird nur über "irado(Innendurchmesser, Radius)" aufgerufen. Über "translate" kann der Innenradius-Ring an die gewünschte Stelle verschoben werden.

Kopiere den Script und versuche es mit anderen Werten: z.B. rad_io1(12,2).






www.brixelweb.de