cadquery-freecad-module/ThirdParty/cqparts_fasteners/bolts.py

46 lines
942 B
Python

from cqparts.params import *
from .male import MaleFastenerPart
from .params import *
class Bolt(MaleFastenerPart):
length = PositiveFloat(20, doc="length from xy plane to tip")
head = HeadType(
default=('hex', {
'width': 8,
'height': 3.0,
}),
doc="head type and parameters",
)
drive = DriveType(doc="screw drive type and parameters")
thread = ThreadType(
default=('iso68', { # M5
'diameter': 5.0,
'pitch': 0.5,
}),
doc="thread type and parameters",
)
class SquareBolt(Bolt):
head = HeadType(
default=('square', {
'width': 8,
'height': 3.0,
}),
doc="head type and parameters",
)
class HexBolt(Bolt):
head = HeadType(
default=('hex', {
'width': 8,
'height': 3.0,
}),
doc="head type and parameters",
)