CadQuery: Rastpin – Beispiel

English Deutsch

CadQuery 3D-Modell eines Rastpin-Verbinders mit Bodenplatte und Rastplatte

latching_pin_cadquery.py
import cadquery as cq
import math

# Parameter festlegen
n = 2 # Anzahl der Pins
P = 3.96 # mm Pin-Rastermaß
C1 = 6.8 # mm Höhe der Bodenplatte
H1 = 9.4 # mm Höhe der Rastplatte
O1 = 2 # mm Vertikaler Versatz Pin-Mitte zu Bodenplattenrand
D1 = 3.2 # mm Gesamttiefe der Bodenplatte
Pw = 1.14 # mm Breite & Höhe des quadratischen Pins
D2 = 1.3 # mm (Gemessen) Tiefe der Rastplatte (schmalster Abschnitt)
Wx1 = 1.0 # mm (Gemessen) Breite des obersten Teils der Rastplatte
Hx1 = 0.5 # mm (Gemessen) Höhe der Rastfläche, die von den Pinen abgewandt ist
alpha = 90 # ° Winkel der Rastfläche. Im Datenblatt als ~45° angegeben, aber echte Bauteile haben 90°
beta = 15 # ° (Geschätzt) Verjüngungswinkel der Rastplatte
WL1 = 1.27 # mm (Gemessen) Breite des Abschnitts der Bodenplatte ohne Rastplatte pro Seite)
Dlatch = 1.75 # mm (Gemessen) Gesamttiefe der Rastplatte
delta = 70 # ° (Geschätzt) Verjüngungswinkel der Pin-Ober- und -Unterseiten
FilletRadiusBaseplate = 0.4 # mm

# Abgeleitete Variablen berechnen
A1 = ( n - 1 ) * P # Gesamtbreite aller Pins (Abstand von Mitte des letzten Pins zu Mitte des ersten Pins)
B1 = A1 + ( 1.95 * 2 ) # Breite der Bodenplatte
LLatch = B1 - ( WL1 * 2 ) # Länge der Rastplatte
LPinTop = 7.7 + D1 # Länge des Pins, gemessen von der Bodenebene bis zur Pin-Oberseite (entfernt von der PCB)
LPinBottom = 14.6 - LPinTop # Länge des Pins in Bodenrichtung, gemessen von der Bodenebene
Pin1XOffset = ( ( n - 1 ) * P ) / 2 # X-Versatz des ersten Pins, gemessen von der X-Achse

# Asymmetrische Fase mit Dreiecksseiten bei konstantem Winkel berechnen
# Hinweis: Der nach oben zeigende Winkel des Fasen-Dreiecks ist [beta]
opposing_side = (Dlatch - Wx1) / 2 # So berechnen, dass der verbleibende Teil der Rastplatte Wx1 breit ist
adjacent_side = opposing_side * (1/math.tan(math.radians(beta)))

# Direkt außerhalb der Bodenplatte beginnen
xstart = C1/2
xend = xstart + Dlatch
h1MinusChamfer = H1 - adjacent_side
latchPlate = (cq.Workplane("YZ")
    .sketch()
    # Von unten bis zum Beginn der Fase
    .segment((xstart, 0), (xstart, h1MinusChamfer))
    # Faskante
    .segment((xstart + opposing_side, H1))
    # Oberseite der Rastplatte (gerade Linie) (bis zum Beginn der Fase der anderen Seite)
    .segment((xend - opposing_side, H1))
    # Faskante
    .segment((xend, h1MinusChamfer))
    # Nach unten zum Beginn der Rastfläche bewegen
    .segment((xend, h1MinusChamfer - Hx1))
    # Nach innen (-X) für die Rastfläche bewegen. HINWEIS: wir nehmen hier einen 90°-Winkel an
    # HINWEIS: D2 ist die Tiefe der Rastplatte unterhalb der Rastfläche
    .segment((xstart + D2, h1MinusChamfer - Hx1))
    # Von der Rastfläche innen nach unten
    .segment((xstart + D2, 0))
    .close()
    .assemble(tag="face")
    .finalize()
    .extrude(1.0)
)
latchPlate

Check out similar posts by category: CadQuery, Python