Zum Inhalt springen

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 / MethodeBeschreibung
x, yKoordinatenkomponenten
distance_to(other)Euklidische Distanz
midpoint(other)Mittelpunkt zwischen zwei Punkten
+, - operatorsVektorarithmetik

Vector

Eine 2D-Richtung/ein 2D-Versatz.

from linkcad.geom import Vector
v = Vector(100, 200)
scaled = v * 2.0
Eigenschaft / MethodeBeschreibung
x, yVektorkomponenten
length()Vektorbetrag
normalized()Einheitsvektor
dot(other)Skalarprodukt
cross(other)2D-Kreuzprodukt (Skalar)
*, / operatorsSkalarmultiplikation

Transformation

Eine affine 2D-Transformation (Verschiebung, Rotation, Skalierung, Spiegelung).

from linkcad.geom import Transformation
t = Transformation.translate(1000, 2000)
t = Transformation.rotate(45.0) # degrees
t = Transformation.scale(2.0)
t = Transformation.mirror_x()
combined = t1 * t2 # compose transformations
pt = t.apply(Point(0, 0))
Factory-MethodeBeschreibung
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
MethodeBeschreibung
apply(point)Punkt transformieren
apply_all(points)Liste von Punkten transformieren
inverse()Inverse Transformation
* operatorTransformationen 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 / MethodeBeschreibung
min_x, min_yLinke untere Ecke
max_x, max_yRechte obere Ecke
width, heightAbmessungen
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 / EigenschaftBeschreibung
Angle.from_degrees(deg)Aus Gradwert erstellen
Angle.from_radians(rad)Aus Bogenmaß erstellen
angle.degreesWert in Grad
angle.radiansWert 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 circle
res.maximum_error = 1 # max deviation in database units
EigenschaftBeschreibung
minimum_facetsMindestanzahl von Polygonsegmenten pro Vollkreis
maximum_errorMaximal zulässige Abweichung von der echten Kurve in Datenbankeinheiten