Helical 是一个 SwiftSCAD 库,旨在简化螺纹组件和相关零件的创建。它支持广泛使用的公制螺纹、螺栓和螺母,并能够自定义这些组件以满足特定需求。
通过在您的 Package.swift
文件中将其添加为依赖项,使用 Swift Package Manager 将 Helical 集成到您的项目中
let package = Package( name: "thingamajig", dependencies: [ .package(url: "https://github.com/tomasf/SwiftSCAD.git", .upToNextMinor(from: "0.8.1")), .package(url: "https://github.com/tomasf/Helical.git", from: "0.1.2") ], targets: [ .executableTarget(name: "thingamajig", dependencies: ["SwiftSCAD", "Helical"]) ] )
然后,在需要的地方导入 Helical
import Helical
Helical 简化了创建螺纹形状的过程,使将螺纹孔融入您的模型变得更加容易。它还提供了一系列标准螺栓、螺母和相应的孔。创建一个典型的 M8x30 六角头螺栓非常简单
Bolt.hexHead(.m8, length: 30, shankLength: 8)
这将生成一个标准的 DIN 931 螺栓,正如预期的那样。
除了标准产品之外,Helical 还允许进行修改以满足独特的需求
Bolt.hexHead(.isoMetric(.m8, pitch: 0.75), headWidth: 15, headHeight: 6.5, length: 30)
或者完全自定义零件以满足您的特定需求
let thread = ScrewThread(
handedness: .left,
starts: 2,
pitch: 1.5,
majorDiameter: 6.2,
minorDiameter: 5.3,
form: .trapezoidal(angle: 90°, crestWidth: 0.25)
)
let customBolt = Bolt(
thread: thread,
length: 15,
shankLength: 3,
shankDiameter: 5,
headShape: .countersunk(angle: 80°, topDiameter: 10, boltDiameter: 5),
socket: .slotted(length: 10, width: 1, depth: 1.4)
)
创建与螺栓匹配的沉头间隙孔非常简单
Box([20, 20, 10])
.aligned(at: .centerXY)
.subtracting {
customBolt.clearanceHole(recessedHead: true)
}
创建特定螺纹的螺纹孔也很简单
Box([20, 20, 10])
.aligned(at: .centerXY)
.subtracting {
ThreadedHole(thread: thread, depth: 10, unthreadedDepth: 2)
}
我们欢迎贡献。请随时提出 issue 以提供反馈或建议,并提交 pull request 以改进代码库。