linkcad.geom
Das Geometriemodul stellt 2D-Primitive für Koordinatenberechnung und Formenbearbeitung bereit.
Klassen
Point
Eine 2D-Koordinate.
from linkcad.geom import Point
p = Point(1000, 2000)print(p.x, p.y)| Eigenschaft / Methode | Beschreibung |
|---|---|
x, y | Koordinatenkomponenten |
distance_to(other) | Euklidische Distanz |
midpoint(other) | Mittelpunkt zwischen zwei Punkten |
+, - operators | Vektorarithmetik |
Vector
Eine 2D-Richtung/ein 2D-Versatz.
from linkcad.geom import Vector
v = Vector(100, 200)scaled = v * 2.0| Eigenschaft / Methode | Beschreibung |
|---|---|
x, y | Vektorkomponenten |
length() | Vektorbetrag |
normalized() | Einheitsvektor |
dot(other) | Skalarprodukt |
cross(other) | 2D-Kreuzprodukt (Skalar) |
*, / operators | Skalarmultiplikation |
Transformation
Eine affine 2D-Transformation (Verschiebung, Rotation, Skalierung, Spiegelung).
from linkcad.geom import Transformation
t = Transformation.translate(1000, 2000)t = Transformation.rotate(45.0) # degreest = Transformation.scale(2.0)t = Transformation.mirror_x()
combined = t1 * t2 # compose transformationspt = t.apply(Point(0, 0))| Factory-Methode | Beschreibung |
|---|---|
Transformation.identity() | Identitätstransformation |
Transformation.translate(dx, dy) | Verschiebung |
Transformation.rotate(degrees) | Rotation um den Ursprung |
Transformation.scale(factor) | Gleichmäßige Skalierung |
Transformation.scale_xy(sx, sy) | Nicht gleichmäßige Skalierung |
Transformation.mirror_x() | Spiegelung an der X-Achse |
Transformation.mirror_y() | Spiegelung an der Y-Achse |
| Methode | Beschreibung |
|---|---|
apply(point) | Punkt transformieren |
apply_all(points) | Liste von Punkten transformieren |
inverse() | Inverse Transformation |
* operator | Transformationen verknüpfen |
Bounds
Ein achsenparalleler Begrenzungsrahmen.
from linkcad.geom import Bounds
b = Bounds(min_x=0, min_y=0, max_x=1000, max_y=1000)| Eigenschaft / Methode | Beschreibung |
|---|---|
min_x, min_y | Linke untere Ecke |
max_x, max_y | Rechte obere Ecke |
width, height | Abmessungen |
center() | Mittelpunkt |
contains(point) | Punkt-in-Begrenzung-Test |
intersects(other) | Überlappungstest |
union(other) | Zwei Begrenzungsrahmen zusammenführen |
Angle
Ein Winkelwert. Wird verwendet, wenn Funktionen Winkelgrößen akzeptieren oder zurückgeben.
from linkcad.geom import Angle
a = Angle.from_degrees(45.0)a = Angle.from_radians(0.785398)| Factory / Eigenschaft | Beschreibung |
|---|---|
Angle.from_degrees(deg) | Aus Gradwert erstellen |
Angle.from_radians(rad) | Aus Bogenmaß erstellen |
angle.degrees | Wert in Grad |
angle.radians | Wert im Bogenmaß |
Resolution
Steuert, wie gekrümmte Formen (Kreise, Kreisbögen, Ellipsen) während Verarbeitungsoperationen wie Zusammenführen in Polygon-Stützpunkte tesseliert werden.
from linkcad.geom import Resolution
res = Resolution()res.minimum_facets = 32 # at least 32 segments per full circleres.maximum_error = 1 # max deviation in database units| Eigenschaft | Beschreibung |
|---|---|
minimum_facets | Mindestanzahl von Polygonsegmenten pro Vollkreis |
maximum_error | Maximal zulässige Abweichung von der echten Kurve in Datenbankeinheiten |