fischertechnik-box-foundation

OpenSCAD sorting box construction foundation for Fischertechnik parts

View the Project on GitHub proggi64/fischertechnik-box-foundation

Place

Platziert die Children-Elemente auf die angegebene Position. Place wird am häufigsten zm Platzieren von Elementen innerhaalb des Sortierkastens eingesetzt.

Place kann Elemente auf Flächen ausrichten (lnks-, rechtsbündig, oben oder unten) oder Elemente beim Platzieren drehen. Die Ausrichtungsfläche ist standardmäßig auf die Größe eines Sortierkastens 190x130 gesetzt, kann aber durch einen abweichenden boxSpace-Parameter auf beliebige Flächen geändert werden.

Sinnvoll ist die Angabe eines einzelnen Elements oder einer zuvor mit einem Module definierten Gruppe. Wenn mehrere Elemente angegeben sind, werden diese an derselben Stelle verschmolzen platziert.

Use

use <../Base/Placement.scad>
include <../Base/PlacementOptions.scad>

Syntax

Place(
  x=0, y=0, 
  elementSpace=[0,0], 
  alignX=AlignLeft, 
  alignY=AlignBottom, 
  rotation=NoRotation, 
  boxSpace=getBox190Space())
  {children}
Parameter Typ Beschreibung
x Decimal Ohne Ausrichtung: Absolute X-Position auf der angegebenen Fläche boxSpace
Mit horizontaler Ausrichtung: Relativer Offset von der Mitte, negative Werte verschieben nach links.
y Decimal Ohne Ausrichtung: Absolute Y-Position auf der angegebenen Fläche boxSpace
Mit vertikaler Ausrichtung: Relativer Offset von der Mitte, negative Werte verschieben nach unten.
elementSpace [x,y] Fläche des zu platzierenden Elements. Hier wird normalerweise getElementNameSpace() verwendet. Ohne Angabe wird er Ursprungspunkt des Elements platziert.
alignX Integer (Enum) Horizontale Ausrichtung der Children-Elemente zueinander. Grundlage ist die in elementSpace angegebenen Fläche, sowie die in rotation angegebene Drehung. AlignLeft richtet am linken Rand von boxSpace aus (wie NoAlign), AlignRight am rechten Rand, AlignCenter zentriert das Element.
alignY Integer (Enum) Vertikale Ausrichtung der Children-Elemente zueinander. Grundlage ist die in elementSpace angegebenen Fläche, sowie die in rotation angegebene Drehung. AlignBottom richtet am unteren Rand von boxSpace aus (wie NoAlign), AlignTop am oberen Rand, AlignCenter zentriert das Element.
rotation Integer (Enum) Gibt an, wie das Element rotiert werden soll. Mögliche Werte sind die in PlacementOptions.scad definierten Konstanten Rotate0, Rotate90, Rotate180 und Rotate270. Die Liste kann ganz weggelassen werden, dann gelten für alle Elemente NoRotation. Ist die Liste unvollständig, wird für die restlichen Elemente NoRotation angenommen.
boxSpace [x,y] Fläche, auf der die Elemente platziert werden. Standard ist die Fläche des Sortierkastens 190x130.

Beispiele

Ohne Parameter

use <../../Base/Deployment.scad>
use <../../ModelBase/Simple.scad>

include <../../Base/PlacementOptions.scad>

PlacementBase();

Place()
    Cube();

Wenn alle Standardparameter übernommen werden, wird das Child-Element an Position 0,0 (linke untere Ecke des Sortierkastens) platziert.

Place_1

Feste x/y-Position

use <../../Base/Deployment.scad>
use <../../ModelBase/Simple.scad>

include <../../Base/PlacementOptions.scad>

PlacementBase();

Place(15, 5)
    Cube();

PlacementTestPlace02

Zentriert und um 180° gedreht

use <../../Base/Deployment.scad>
use <../../ModelBase/Simple.scad>

include <../../Base/PlacementOptions.scad>

PlacementBase();

    Place(
        elementSpace=getCubeSpace(), 
        rotation=Rotate180, 
        alignX=AlignCenter, 
        alignY=AlignCenter, 
        boxSpace=getPlacementBaseSpace())
        Cube();

Place_3