from ocp_vscode import *
from build123d import *
set_port(3939)

tt = thickness_toolboard = 0.8
wc = width_connector = 20.0
tb = thickness_bevel = 2.5
teub = thickness_edge_until_board = 0.5
ttc = thickness_total_connector = 4.0
cw = clamp_width = 9.8
dcr = depth_clamp_room = 1.6
lcr = length_clamp_room = cw+5

with BuildPart() as connector:
    with BuildSketch() as connector_sk:
        Circle(wc/2)
    extrude(amount = ttc-teub)
    chamfer(connector.edges().group_by(Axis.Z)[-1], length = tb, length2 = tb)
    extrude(connector.faces().sort_by(Axis.Z)[-1], amount = teub)
    with BuildSketch(connector.faces().sort_by(Axis.Z)[-1]):
        Rectangle(cw+0.1, cw+0.1)
    extrude(amount = -ttc, mode=Mode.SUBTRACT)
    with BuildSketch(connector.faces().sort_by(Axis.Z)[0]):
        Rectangle(lcr, cw+0.1)
    extrude(amount = -dcr, mode=Mode.SUBTRACT)


#export_stl(connector.part, "connectorWithHole.stl")
show_all()
