Files
modeling-app/public/kcl-samples/cpu-cooler/main.kcl
Nicholas Boone 4640f1a3ad Teaching t2c how to counterbore, countersink, and counterdrill (#6833)
* Teaching t2c how to counterbore, countersink, and counterdrill

* Delete public/kcl-samples/parametric-bearing-pillow-block directory

* Update mounting-wire.kcl

* new artifiacts

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* Update kcl-samples simulation test output

* Update kcl-samples simulation test output

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: Jess Frazelle <jessfraz@users.noreply.github.com>
Co-authored-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-13 14:11:50 -07:00

52 lines
1.3 KiB
Plaintext

// CPU Cooler
// A CPU cooler is a device designed to dissipate heat generated by the CPU of a computer. They consist of a brazed heat sink made from aluminum or copper alloys, and one or two axial fans to move airflow across the heat sink.
// Set units
@settings(defaultLengthUnit = mm)
// Import all parts and parameters into assembly file
import * from "parameters.kcl"
import "fan-housing.kcl" as fanHousing
import "motor.kcl" as motor
import "fan.kcl" as fan
import "heat-sink.kcl" as heatSink
import "mounting-wire.kcl" as mountingWire
import "removable-sticker.kcl" as removableSticker
// Produce the model for each imported part
heatSink
fn translatePart(part) {
part
|> translate(x = heatSinkDepth / 2, z = 40 + fanSize / 2)
|> patternLinear3d(
%,
instances = 2,
distance = heatSinkDepth + fanHeight,
axis = [-1, 0, 0],
)
return { }
}
translatePart(part = fanHousing)
translatePart(part = motor)
translatePart(part = fan)
mountingWire
|> patternCircular3d(
%,
instances = 2,
axis = [0, 1, 0],
center = [0, 0, 40 + fanSize / 2],
arcDegrees = 360,
rotateDuplicates = true,
)
|> patternCircular3d(
%,
instances = 2,
axis = [0, 0, 1],
center = [0, 0, 0],
arcDegrees = 360,
rotateDuplicates = true,
)
removableSticker