Files
rackstack/helper/keystone.scad
2023-02-25 13:19:27 -08:00

45 lines
1.4 KiB
OpenSCAD

// rj45 slot-to-slot keystone jack model and negative
keystoneMainBodyWidth = 15.0;
keystoneMainBodyHeight = 16.90;
keystoneMainBodyDepth = 32.90;
heightWithHookBody = 20.2;
heightWithHookCatch = 21.30;
widthWithSideLugs = 15.96;
sideLugWidth = (widthWithSideLugs - keystoneMainBodyWidth) / 2.0;
heightWithBottomLug = 17.5;
frontToHookCatch = 8.35;
frontToBottomLugBack = 8.23;
frontToSideLugFront = 10.63;
module rj45Keystone() {
// main keystone body (no hooks or lugs)
cube(size=[keystoneMainBodyWidth, keystoneMainBodyDepth, keystoneMainBodyHeight]);
// slot for top hook
translate(v=[0,frontToHookCatch,0])
cube(size=[keystoneMainBodyWidth, keystoneMainBodyDepth -frontToHookCatch, heightWithHookBody]);
cube(size=[keystoneMainBodyWidth, frontToHookCatch, heightWithHookCatch]);
// slots for side lugs
translate(v=[-sideLugWidth, frontToSideLugFront,0])
cube(size=[widthWithSideLugs, keystoneMainBodyDepth-frontToSideLugFront, keystoneMainBodyHeight]);
// slots for bottom lugs
translate(v=[0,0,-(heightWithBottomLug-keystoneMainBodyHeight)])
cube(size=[keystoneMainBodyWidth, frontToBottomLugBack, keystoneMainBodyHeight]);
}
module rj45KeystoneJack_N() {
translate(v=[0,-4,0.5]) // why?
intersection() {
translate(v=[-2.5,4,-4])
cube(size=[20,6,28]);
rj45Keystone();
}
}