mirror of
https://github.com/mon/PocketVoltex.git
synced 2026-09-22 22:57:58 +03:00
Rev6 case updates
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
Make visible only the layers you care for
|
||||
Select all art:
|
||||
(Layer = 'TopOverlay') And Not IsComponentPrimitive
|
||||
Then move to "Artwork Export" layer
|
||||
|
||||
File -> Save as -> DXF/DWG
|
||||
File -> Export -> DXF/DWG
|
||||
Autocad 2007, DXF, Metric
|
||||
Check "Export pads" "On dedicated hole layers"
|
||||
Tracks "Export with rounded"
|
||||
@@ -12,13 +15,12 @@ Open dxf in inkscape
|
||||
>Factor 1.0
|
||||
x/y axis origin 0,0
|
||||
|
||||
Delete via layer
|
||||
|
||||
Select the pad which is the origin
|
||||
Go to transform->move and see where it is in mm by unchecking Relative Move.
|
||||
Select all objects and relative move -(pad position - pad size / 2) in mm
|
||||
Do this for all layers
|
||||
Select all and relative move -(pad stroke width / 2) IN PIXELS
|
||||
Offset is pad position + (pad size / 2) + (pad stroke width / 2) (in mm, often 0.1325mm)
|
||||
Reopen file and use new x/y axis origin
|
||||
|
||||
Delete via layer
|
||||
Delete pad layer
|
||||
|
||||
For board shape:
|
||||
@@ -31,15 +33,9 @@ For board shape:
|
||||
|
||||
Delete layer 0
|
||||
|
||||
For tracks:
|
||||
Select all
|
||||
Stroke style -> Width = the track width (use mm)
|
||||
Cap: round
|
||||
Path->Combine
|
||||
Path->Stroke to path
|
||||
|
||||
For artwork laser cutting output:
|
||||
Cross reference with altium to make layers for tracks
|
||||
Use filtering, it's fast
|
||||
1.5mm
|
||||
1.2mm
|
||||
1mm
|
||||
@@ -47,19 +43,25 @@ For artwork laser cutting output:
|
||||
0.5mm
|
||||
0.254mm
|
||||
Raster Fill
|
||||
Path->Combine each individual letter (todo: actually needed?)
|
||||
Also do long lines in 0.75mm layer
|
||||
|
||||
You may need to Path->Union everything for artwork layers to render nicely
|
||||
|
||||
For tracks:
|
||||
Select all
|
||||
Stroke style -> Width = the track width (use mm)
|
||||
Cap: round
|
||||
Path->Combine
|
||||
Path->Stroke to path
|
||||
|
||||
For raster:
|
||||
Path->Combine each shape
|
||||
Go to node tool (below mouse, left toolbar)
|
||||
Select each shape one-by-one, select all nodes
|
||||
Click "Join selected nodes" in toolbar
|
||||
|
||||
Move everything into 1 layer
|
||||
Path->Union everything for artwork to render properly
|
||||
|
||||
Extensions->Modify Path->Flatten Beziers (flatness 0.1)
|
||||
Save as -> Desktop cutting plotter dxf
|
||||
Use LWPOLYLINE
|
||||
Base unit mm
|
||||
Visible layers only
|
||||
|
||||
Altium seems to like exporting for these offsets,
|
||||
sometimes the decimals are different, check them.
|
||||
-100.579
|
||||
-112.896
|
||||
Then do the 0.5px too
|
||||
Visible layers only
|
||||
+26
-56
@@ -4,20 +4,20 @@ key_profile_index = 11;
|
||||
|
||||
$fn = 64;
|
||||
|
||||
// x, y, keycap width in units, isBlack
|
||||
switches = [[0,0, 1],
|
||||
[-42.862,-37.592, 1.25],
|
||||
[ 42.862,-37.592, 1.25],
|
||||
[-14.287,-37.592, 1.25],
|
||||
[ 14.287,-37.592, 1.25],
|
||||
[-28.5,-75.692, 1.75, 1],
|
||||
[ 28.5,-75.692, 1.75, 1]];
|
||||
black = [0.1,0.1,0.1];
|
||||
blue = [0,0.6,1];
|
||||
// x, y, keycap width in units, rotation, colour
|
||||
switches = [[0,0, 1, 0, blue],
|
||||
[-42.862,-37.592, 1.25, 0, "white"],
|
||||
[ 42.862,-37.592, 1.25, 0, "white"],
|
||||
[-14.287,-37.592, 1.25, 0, "white"],
|
||||
[ 14.287,-37.592, 1.25, 0, "white"],
|
||||
[-37.9,-70.8, 1.75, -22.5, black],
|
||||
[ 37.9,-70.8, 1.75, 22.5, black]];
|
||||
bolts = [[30.025, 6.65],
|
||||
[71, -16.925],
|
||||
[71, 16.5],
|
||||
[42.732, -82.791],
|
||||
// Middle hole, remove if not needed
|
||||
//[0, -37.592]
|
||||
[42.732, -82.791]
|
||||
];
|
||||
// Not the encoders themselves, but the circle that surrounds them
|
||||
encoders = [[-64,0.4],
|
||||
@@ -28,17 +28,16 @@ encoderRadius = 13;
|
||||
// x, y, hole size
|
||||
encoderHoles = [[-8, 0, 4],
|
||||
[ 8, 0, 4]];
|
||||
// the 3 A/B/Gnd connections + room for their decoupling caps
|
||||
// the 3 A/B/Gnd connections
|
||||
// x (mirrored), y, hole size
|
||||
encoderHull = [5, -11.2, 5];
|
||||
encoderHull = [5, -10.5, 3];
|
||||
|
||||
// x, y, rotation
|
||||
leds = [[-26.475, -13.625, 35],
|
||||
[-55.5, -37.25, 90],
|
||||
[-47, -57.25, 135],
|
||||
[-13.5, -65, 180]];
|
||||
ledDims = [6, 3];
|
||||
ledTopLength = 10;
|
||||
// x, y
|
||||
leds = [[-39.9, -1.4],
|
||||
[-53.6, -26.2],
|
||||
[-54.8, -57.9],
|
||||
[-17.3, -75.7]];
|
||||
ledDims = [6.5, 6.5];
|
||||
|
||||
macroHole = [0,-75.692];
|
||||
macroDiam = 3;
|
||||
@@ -56,7 +55,7 @@ wallOverlap = 1;
|
||||
boltDiam = 2;
|
||||
boltFudge = 0.1;
|
||||
boltSize = boltDiam + boltFudge;
|
||||
spacerSize = boltSize + 1;
|
||||
spacerSize = boltSize + 1 + fudge; // extra wiggle
|
||||
|
||||
boltExpand = boltDiam;
|
||||
|
||||
@@ -99,16 +98,10 @@ module switch(holetype){
|
||||
}
|
||||
}
|
||||
|
||||
module switches_fx() {
|
||||
for(i = [5:6]) {
|
||||
translate([switches[i][0], switches[i][1]])
|
||||
switch(holetype);
|
||||
}
|
||||
}
|
||||
|
||||
module switches() {
|
||||
for(sw = switches) {
|
||||
translate([sw[0], sw[1]])
|
||||
rotate([0,0,sw[3]])
|
||||
switch(holetype);
|
||||
}
|
||||
}
|
||||
@@ -116,14 +109,16 @@ module switches() {
|
||||
module switch_models() {
|
||||
for(sw = switches) {
|
||||
translate([sw[0], sw[1]])
|
||||
rotate([0,0,sw[3]])
|
||||
cherry_mx_model();
|
||||
}
|
||||
}
|
||||
|
||||
module switch_keycaps() {
|
||||
for(sw = switches) {
|
||||
color(sw[3] ? [0.1,0.1,0.1] : [1,1,1])
|
||||
color(sw[4])
|
||||
translate([sw[0], sw[1], 11.5])
|
||||
rotate([0,0,sw[3]])
|
||||
scale([sw[2],1,1])
|
||||
key();
|
||||
}
|
||||
@@ -225,30 +220,8 @@ module led_holes() {
|
||||
module led_holes_half() {
|
||||
for(led = leds) {
|
||||
translate([led[0], led[1]])
|
||||
rotate([0,0,led[2]]) {
|
||||
translate([-ledDims[0]/2, -ledDims[1]/2])
|
||||
square([ledDims[0], ledTopLength]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module led_leg_holes() {
|
||||
led_leg_holes_half();
|
||||
mirror([1,0,0])
|
||||
led_leg_holes_half();
|
||||
}
|
||||
|
||||
module led_leg_holes_half() {
|
||||
for(led = leds) {
|
||||
translate([led[0], led[1]])
|
||||
rotate([0,0,led[2]])
|
||||
hull() {
|
||||
offset = ledDims[1]/2 - ledDims[0]/2;
|
||||
translate([offset,0])
|
||||
circle(d=3, center = true);
|
||||
translate([-offset,0])
|
||||
circle(d=3, center = true);
|
||||
}
|
||||
translate([-ledDims[0]/2, -ledDims[1]/2])
|
||||
square(ledDims);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -363,8 +336,6 @@ module bottom_ring_outline() {
|
||||
module mcu_hole() {
|
||||
polygon([[-13.3, 3.9],
|
||||
[-13.3, -8],
|
||||
[-20.15, -17],
|
||||
[-28.65, -17],
|
||||
[-35.5, -8],
|
||||
[-35.5, 3.9]]);
|
||||
}
|
||||
@@ -374,7 +345,6 @@ module bottom_ring() {
|
||||
bottom_ring_outline();
|
||||
bolt_spacers();
|
||||
encoder_holes();
|
||||
led_leg_holes();
|
||||
mcu_hole();
|
||||
// Room for FX
|
||||
switches();
|
||||
|
||||
+14368
-14406
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user