Kurzdokumentation meiner OpenSCAD-Module

kreuz_asym()

Definition

Dieses Module erstellt asymmetrische Kreuzformen ohne ab- oder eingerundete Kanten. Generell eher für andere Module gedacht.

Übersicht über die Maße

Skizze für die Übersicht der Maße
(zum Vergrößern anklicken)

Legende

  1. bhoch − die Breite des vertikalen Balkens
  2. bquer − die Breite des horizontalen Balkens
  3. l1 − die Kantenlänge des oberen Balkens
  4. l2 − die Kantenlänge des rechten Balkens
  5. l3 − die Kantenlänge des unteren Balkens
  6. l4 − die Kantenlänge des linken Balkens
  7. pm − der Mittelpunkt des Quadrats, welches sich durch die Überlappung der Balken ergibt.
    Wird Zentrierung gewünscht, so hat dieser Punkt den Vektor [0,0].

Die Form hat die Gesamthöhe von l1 + l3 + bhoch und die Gesamtbreite von l2 + l4 + bquer.

Parameter

b_quer die Breite des vertikalen Balkens
b_hoch die Breite des vertikalen Balkens
l_1 die Kantenlänge des oberen Balkens
l_2 die Kantenlänge des rechten Balkens
l_3 die Kantenlänge des unteren Balkens
l_4 die Kantenlänge des linken Balkens
center gibt an, ob die Form auf dem Koordinatensystem zentriert werden soll. Optionale Angabe, Standard ist false.

Datei und Abhängigkeiten

Datei

mod_2D.scad

Abhängigkeiten

keine

Beispiele

Beispiel der Kreuzform ohne Zentrierung

  1. kreuz_asym(10,20,15,25,35,30);

nicht zentriert
nicht zentriert

Beispiel der Kreuzform mit Zentrierung

  1. kreuz_asym(10,20,15,25,35,30, false);

zentriert
zentriert

Quellcode

  1. module kreuz_asym(b_quer, b_hoch, l_1, l_2, l_3, l_4, center=false) {
  2. trans_X = center ? 0 : 0.5*b_quer + l_4;
  3. trans_Y = center ? 0 : 0.5*b_hoch + l_3;
  4. translate([trans_X,trans_Y]) {
  5. points = concat([[-0.5*b_quer, l_1+(0.5*b_hoch)]],
  6. [[0.5*b_quer, l_1+(0.5*b_hoch)]],
  7. [[0.5*b_quer,0.5*b_hoch]],
  8. [[0.5*b_quer + l_2 , 0.5*b_hoch]],
  9. [[0.5*b_quer + l_2, -0.5*b_hoch]],
  10. [[0.5*b_quer, -0.5*b_hoch]],
  11. [[0.5*b_quer, -0.5*b_hoch-l_3]],
  12. [[-0.5*b_quer, -0.5*b_hoch-l_3]],
  13. [[-0.5*b_quer, -0.5*b_hoch]],
  14. [[-0.5*b_quer-l_4, -0.5*b_hoch]],
  15. [[-0.5*b_quer-l_4, 0.5*b_hoch]],
  16. [[-0.5*b_quer, 0.5*b_hoch]]
  17. );
  18. polygon(points);
  19. }
  20. }