Added the only picture with measurements that i could find in this thead to mm. (wth, SAE? are you guys fro real? :)
anyone can help me with the mount that only has the extra 4 spaces (2x2)? i think that is the best one.... can't find the exact measurements for that one.
The switch holes are measured typically center to center, 19.05mm or .75in between each center. Key units translate pretty nicely too:
1.00u = 0.7500in || 19.0500mm
1.25u = 0.9375in || 23.8125mm
1.50u = 1.1250in || 28.5750mm
1.75u = 1.3125in || 33.3375mm
2.00u = 1.5000in || 38.1000mm
etc.
If you just imagine the square 0.551in || 14mm cutout is your base, layout your keyboard plate with that, the additional cutouts are just extra room for the switch clips. They shouldn't affect the actual layout anywhere you don't plan to cut screw holes or etc.
Make heavy use of offset and reference lines, you'll be good to go.
Sounds awesome. I wouldn't use those switch hole shapes, though. Unless you have randomly 90-degree rotated switches, you don't need the cutouts on the top and bottom. And it makes the switches less stable in the plate.
You should get with ne0phyte. He added some type of automated script to his layout generator to create plate drawings. His tool is at ne0.cc/laygenV2
Actually, the switch hole I recommend is a 12.8x15.6mm rectangle centered in the 14mm square. That hole will work for both MX (with easy open tabs) and Alps.
Sounds neat. I have been working on a Poker-type 60% DWG file with interchangeable blocks so you could easily swap out an ANSI enter for an ISO, or swap out your shifts and backspace for the split variety, or even swap all the cutouts for the switch opening type, just by using the replace block command in AutoCAD.
Though now that you bring it up, would be neat to do it in a web UI instead.. Maybe this weekend I'll draw up some FRD's, my idea's pretty limited in usefulness to people who have access to a very expensive CAD application.
Swill, just so people could have their preferences, could you have have the program let us choose which cutouts we want?
This is also an amazing idea and as someone with zero experience with engineering and CAD, I can approve of this!
The switch holes are measured typically center to center, 19.05mm or .75in between each center. Key units translate pretty nicely too:
1.00u = 0.7500in || 19.0500mm
1.25u = 0.9375in || 23.8125mm
1.50u = 1.1250in || 28.5750mm
1.75u = 1.3125in || 33.3375mm
2.00u = 1.5000in || 38.1000mm
etc.
If you just imagine the square 0.551in || 14mm cutout is your base, layout your keyboard plate with that, the additional cutouts are just extra room for the switch clips. They shouldn't affect the actual layout anywhere you don't plan to cut screw holes or etc.
Make heavy use of offset and reference lines, you'll be good to go.
random question. is the space between rows the same 19.05mm as between u1 switches? thx...
Ah yeah, I was thinking with brain instead of lines. I use centers to start off in upper left, then the unit constant becomes width spacing with the keyswitch cutout centered within.OK cool i will figure out how to use these numbers in my case. Thanks for the quick reply. I am slowly getting more comfortable with all this now.
Ah yeah, I was thinking with brain instead of lines. I use centers to start off in upper left, then the unit constant becomes width spacing with the keyswitch cutout centered within.OK cool i will figure out how to use these numbers in my case. Thanks for the quick reply. I am slowly getting more comfortable with all this now.
Is it exactly multiples? I did not cross reference to verify. I did see 2u was, but I did not verify the fraction ones.Ah yeah, I was thinking with brain instead of lines. I use centers to start off in upper left, then the unit constant becomes width spacing with the keyswitch cutout centered within.OK cool i will figure out how to use these numbers in my case. Thanks for the quick reply. I am slowly getting more comfortable with all this now.
You're probably better off assigning a constant as 1u, then multiplying it by the keywidth (1.5, 1.75, etc) than to do some funky lookups with the numbers in any table. The only numbers you really need to know are 1 unit, and the values available in Cherry's spec sheet for in or mm
First off, Swill, this is a great idea and somethign I wanted to do myself before life caught on.
Secondly, please don't take this wrong, can you make a new thread for your project as I think ti would get more visibility as well as keep this thread clean and on topic.
Third here are my thoughts on points raised thus far:
1. Tolerance for acrylic laser cutting is about 0.2 on either side of the line, so suppose you were to cut a square with 14mm sides, now this would produce a square cutout of 14.2mm sides and a small square piece of 13.8mm. Yes it burns a lot of acrylic :)). Don't know about alu/stell, the other two most commonly used materials.
2. 19.05 = 1u and the space a one unit key takes, and similarly 2u, is the key a two unit key takes. So the distance from center to center would be 0.5*(current_key + adjacent_key)u. Your formula looks good.
3. ijprest (http://geekhack.org/index.php?action=profile;u=30503) created the layout editor. And I think it's a great idea to work using his current work. No need to re-invent the wheel. Perhaps you guys can work together and he can integrate your work or link to it directly from his editor.
4. I like the idea of the sandwich case (Well, I'm gonna be useless then :P), for the switch holes, I'd recommend the user input extra space they want around the four sides and number of screw holes on each side, they system will then automagically add a screw hole in each corner and then space out the other screw holes. For the middle layers, a cutout 1mm bigger on each side than the rectangle formed from the top left corner of the 19.05mm square of the top left-most key and bottom-right corner of the 19.05mm square of the right-bottom most key should suffice (Eg assumes 1u keys on the two mentioned position).
5. It's exact multiples, 1u, 1.25u, 1.5u, etc.
No issues, happy to help.
Oh, and can you ask a mod to move all the posts after post #170 to your thread, I think that would be best, as it would consolidate all the information on your project in one place. :D
oh sweet, so it'll be like Ne0phyte's laygenv2 (http://ne0.cc/laygenV2/) and it's DXF export function but easier to use! I can't wait.
You might want to check with ne0phyte for some tips / info. Maybe it can save you some time.
as to advice: is Cadquery easily scriptable? I seem to recall in my search for a cad package to use that many of them are easily scriptable. I think that interfacing to this could be the easiest part or the hardest.
If you need measurements of the mounting hole locations, I can provide them for a lightsaver V1 and a skeldon. Maybe having a listing of the common custom (and standard) keyboards and their screw locations would help. I've already measured a poker 2 and case with a calipers if that'll help.
This is a really cool project as I've said before swill, good luck. I'll be happy to help in anyway I can.
I have some measurements for QFR, Leeku 1800, Pure which I can send to you if needed.
For some of the opensource work like the GHPad, QazPad, JD40, etc, you can get mounting hole information from the PCB files itself.
Congratulations on your new house!
Awesome idea!
Only thought I have at the moment - is providing a way to specify widths between blocks of keys on the plate (horizontal / vertical). You can only get so accurate using the keyboard layout editor online.
oh sweet, so it'll be like Ne0phyte's laygenv2 (http://ne0.cc/laygenV2/) and it's DXF export function but easier to use! I can't wait.
You might want to check with ne0phyte for some tips / info. Maybe it can save you some time.
Yes, I think it is basically the same idea but easier to use. I have never used ne0phyte's tool because I do not know what I am supposed to enter to get a result and there are no instructions on the site. I will contact him though because I am sure he has some advice for me.
Yes, I plan to have a list (with pictures) of the different case layouts that you can select from and that will dictate where the mount holes will be located. I will definitely be crowdsourcing the measurements for all of the different case mount points. What do you think is the best way to start collecting this information?
Yes, I plan to have a list (with pictures) of the different case layouts that you can select from and that dictate where the mount holes will be located. I will definitely be crowdsourcing the measurements for all of the different case mount points. What do you think is the best way to start collecting this information?
Awesome idea!
Only thought I have at the moment - is providing a way to specify widths between blocks of keys on the plate (horizontal / vertical). You can only get so accurate using the keyboard layout editor online.
I am scripting this, so everything will be based off dimensions which I dictate.
For example:
The space taken up by a single key is 19.05mm
1u = 19.05
1.25u = 19.05*1.25
1.50u = 19.05*1.50
... and so on ...
I am using the key unit sizes to determine where the switch cutouts should be placed.
This is what you are referring to right? Correct me if I misunderstood your questions.
Awesome idea!
Only thought I have at the moment - is providing a way to specify widths between blocks of keys on the plate (horizontal / vertical). You can only get so accurate using the keyboard layout editor online.
I am scripting this, so everything will be based off dimensions which I dictate.
For example:
The space taken up by a single key is 19.05mm
1u = 19.05
1.25u = 19.05*1.25
1.50u = 19.05*1.50
... and so on ...
I am using the key unit sizes to determine where the switch cutouts should be placed.
This is what you are referring to right? Correct me if I misunderstood your questions.
Spacing between the keys that are next to each other will be set. I am referring to the width between blocks of keys - like between the main typing area compared to the arrows/6 pack, or between the main typing area and the function row.
So can we choose the x and y coordinates of the switch holes?
You can't make the spacing that would be between the function row and number row on Ne0phyte's program to my knowledge.
Edit: Swill pretty much answered this in a reply to another person
So can we choose the x and y coordinates of the switch holes?
You can't make the spacing that would be between the function row and number row on Ne0phyte's program to my knowledge.
Edit: Swill pretty much answered this in a reply to another person
Yep. It works pretty much like this.
1u space between Esc and F1 would look like this in the raw data: ["Esc",{x:1},"F1"...
The space between Fn row and number keys would look like this: [{y:0.5},"~\n`"...
For the y axis stuff, you specify it at the start of the line and it works for the whole row.
I have not considered supporting the ergodox layout. I am a bit concerned with the amount of work that would be. We will see how easy it will be for me to support once I get the basic parser/builder in place.
What about also having support for rotated keyswitches? Like I want to make plates for ergodox (thumb area) or some of jacobolus' ergo designs. Just a thought..
If you do ever feel like it, would adding an option to define the rotation of a switch by degrees suffice as a way to do this?Yes, do you plan to support ergodox and other ergo designs with rotated switches? I see excellent arguments on both sides.
oh sweet, so it'll be like Ne0phyte's laygenv2 (http://ne0.cc/laygenV2/) and it's DXF export function but easier to use! I can't wait.
You might want to check with ne0phyte for some tips / info. Maybe it can save you some time.
Yes, I think it is basically the same idea but easier to use. I have never used ne0phyte's tool because I do not know what I am supposed to enter to get a result and there are no instructions on the site. I will contact him though because I am sure he has some advice for me.
Yes, I plan to have a list (with pictures) of the different case layouts that you can select from and that will dictate where the mount holes will be located. I will definitely be crowdsourcing the measurements for all of the different case mount points. What do you think is the best way to start collecting this information?
All the details are on the DT topic:
http://deskthority.net/workshop-f7/tiny-javascript-keyboard-layout-editor-t5110.html
I think for his it's easier to do stepped keycaps (and caps that are vertical and a different size on both bits). I spent about 45 minutes trying to get the keyboard-layout-editor working for a specific keycap on my displaywriter. Code is a little clunky for that.Yes, I plan to have a list (with pictures) of the different case layouts that you can select from and that dictate where the mount holes will be located. I will definitely be crowdsourcing the measurements for all of the different case mount points. What do you think is the best way to start collecting this information?
Hmm, I think you could just make a post, and ask people to advertize it in their signature (as well as the online tool) and then for specific ones that are hard to get people to upload to you, search the forum for people that have them and then PM them or the KB Creator for more info.
Like I know who has the CAD drawings for the skeldon plate, so I can get the exact measurements from there.
I measured the poker2 myself with a vernier caliper, so some of my measurements might be up to 0.5mm off because it's sometimes hard to get things exact.
Sprit was kind enough to forward me the cad drawings for his 110% KB so I could purchase a sufficiently huge hunk of metal to bolt it to (I think this method is now call the swill case). You might ask him for what he's got (would be the same for the other winkeyless.kr boards.
---
I wonder if you could have a "key" for certain KBs, where you could make plates for a PCB, and the only options are what the PCB itself supports. Maybe some presets or something. This would make it easy for 1800 plates for lightsaver V2, or making custom phantom plates easily. Of course also have a "full custom" mode where you can design an arbitrary plate.
What about also having support for rotated keyswitches? Like I want to make plates for ergodox (thumb area) or some of jacobolus' ergo designs. Just a thought.
I hope I'm not throwing too much info and requests at you. I don't want you to get into feature creep or design hell. Please just pick what features make it into the initial release and then everything else can be added later.
What about also having support for rotated keyswitches? Like I want to make plates for ergodox (thumb area) or some of jacobolus' ergo designs. Just a thought..If you do ever feel like it, would adding an option to define the rotation of a switch by degrees suffice as a way to do this?Yes, do you plan to support ergodox and other ergo designs with rotated switches? I see excellent arguments on both sides.
I have not thought of stepped keys. I may have to look into that later. Thanks for getting that on my radar. The vertical keys should not be a problem. They are defined as the following in in Raw data: {h:2},"Enter"This, I see is a problem. What if I have a KB like this that has a vertical key that's 2 different widths?(https://farm4.staticflickr.com/3730/11317167275_b236c29741_o.jpg) They do exist also for cherry. I think the only issue here ('cause I don't care what the layout shows as long as it works) is making sure that the switch is in the right place underneath the ISO enter or whatever. IIRC for cherry they are in the middle between the rows.
I will try to put together as many layouts as I can find and then I will do a call out (when I am ready) for anyone who has dims to help me out getting me the details. I will start small and work my way from there...Probably one of my fav compact designs. plate mounted KB with a "swill case". I used to resent it because it was invented before you were a member here but you popularized it. We gotta call it something, and I like the name.
Sprit sent me his 60% and 75% drawings so I could build minimal cases for those builds. Love the fact that the 'swill case' is catching on a bit. :) I love that case concept and I use it on all my custom boards right now. I have been seeing a lot of people take the idea and remix it and make it theirs and really come up with some cool stuff. Thats awesome...
I have not thought of rotating on non-90-degree angles. I will have to put more thought into that one. It won't be in version 1, that I can tell you for sure. :)Excellent to hear! That is the design philosophy I like most. I also like the closed development open source (when its done) model of making things.
Basically, I am going to automatically add stabilizer holes on keys that are 2u or greater. I will just put 2u stab holes on everything up to 4u, at which point I will start using different stab sizes like the SP spacing (i think). And then each of the space bar sizes will have their own stab cutout sizes. This will be automatically generated based on the size of the key. For vertical keys, I will put stab cutouts if the key is larger than 2u.
I will be offering 4 different switch opening types, one of which allows for MX switches to be rotated 90º. One of the switch openings will also support Alps switches (but will have MX stab holes for now).
I am going to be drawing the stab cutouts tonight. I am going to try to make it so you can put the stabilizer in either way. We will see if that is possible once I sit down with the Cherry specification sheet and start playing with it.
Keep throwing ideas my way. It is MUCH easier to build in features (or at least setup my code so I can support the features later) if I get the wishlist stuff now. These are really good things for me to be paying attention to.
I have not thought of stepped keys. I may have to look into that later. Thanks for getting that on my radar. The vertical keys should not be a problem. They are defined as the following in in Raw data: {h:2},"Enter"This, I see is a problem. What if I have a KB like this that has a vertical key that's 2 different widths?Show Image(https://farm4.staticflickr.com/3730/11317167275_b236c29741_o.jpg)They do exist also for cherry. I think the only issue here ('cause I don't care what the layout shows as long as it works) is making sure that the switch is in the right place underneath the ISO enter or whatever. IIRC for cherry they are in the middle between the rows.I will try to put together as many layouts as I can find and then I will do a call out (when I am ready) for anyone who has dims to help me out getting me the details. I will start small and work my way from there...Probably one of my fav compact designs. plate mounted KB with a "swill case". I used to resent it because it was invented before you were a member here but you popularized it. We gotta call it something, and I like the name.
Sprit sent me his 60% and 75% drawings so I could build minimal cases for those builds. Love the fact that the 'swill case' is catching on a bit. :) I love that case concept and I use it on all my custom boards right now. I have been seeing a lot of people take the idea and remix it and make it theirs and really come up with some cool stuff. Thats awesome...I have not thought of rotating on non-90-degree angles. I will have to put more thought into that one. It won't be in version 1, that I can tell you for sure. :)Excellent to hear! That is the design philosophy I like most. I also like the closed development open source (when its done) model of making things.Basically, I am going to automatically add stabilizer holes on keys that are 2u or greater. I will just put 2u stab holes on everything up to 4u, at which point I will start using different stab sizes like the SP spacing (i think). And then each of the space bar sizes will have their own stab cutout sizes. This will be automatically generated based on the size of the key. For vertical keys, I will put stab cutouts if the key is larger than 2u.
I will be offering 4 different switch opening types, one of which allows for MX switches to be rotated 90º. One of the switch openings will also support Alps switches (but will have MX stab holes for now).
I am going to be drawing the stab cutouts tonight. I am going to try to make it so you can put the stabilizer in either way. We will see if that is possible once I sit down with the Cherry specification sheet and start playing with it.
Keep throwing ideas my way. It is MUCH easier to build in features (or at least setup my code so I can support the features later) if I get the wishlist stuff now. These are really good things for me to be paying attention to.
okay I'll give it some thought when I'm at work today and hopefully have ideas for you later.
Awesome idea!
Only thought I have at the moment - is providing a way to specify widths between blocks of keys on the plate (horizontal / vertical). You can only get so accurate using the keyboard layout editor online.
I am scripting this, so everything will be based off dimensions which I dictate.
For example:
The space taken up by a single key is 19.05mm
1u = 19.05
1.25u = 19.05*1.25
1.50u = 19.05*1.50
... and so on ...
I am using the key unit sizes to determine where the switch cutouts should be placed.
This is what you are referring to right? Correct me if I misunderstood your questions.
Spacing between the keys that are next to each other will be set. I am referring to the width between blocks of keys - like between the main typing area compared to the arrows/6 pack, or between the main typing area and the function row.
Ahh, gotcha. Yes, I am planning to do the same thing that the keyboard-layout-editor does. He has basically defined that space as a fraction of a u1 key. It seems to work pretty well, so I was planning to do the same thing. So yes, I would be supporting putting blank space between keys. This would be automatic if your layout in the keyboard-layout-editor has them.
Awesome idea!
Only thought I have at the moment - is providing a way to specify widths between blocks of keys on the plate (horizontal / vertical). You can only get so accurate using the keyboard layout editor online.
I am scripting this, so everything will be based off dimensions which I dictate.
For example:
The space taken up by a single key is 19.05mm
1u = 19.05
1.25u = 19.05*1.25
1.50u = 19.05*1.50
... and so on ...
I am using the key unit sizes to determine where the switch cutouts should be placed.
This is what you are referring to right? Correct me if I misunderstood your questions.
Spacing between the keys that are next to each other will be set. I am referring to the width between blocks of keys - like between the main typing area compared to the arrows/6 pack, or between the main typing area and the function row.
Ahh, gotcha. Yes, I am planning to do the same thing that the keyboard-layout-editor does. He has basically defined that space as a fraction of a u1 key. It seems to work pretty well, so I was planning to do the same thing. So yes, I would be supporting putting blank space between keys. This would be automatic if your layout in the keyboard-layout-editor has them.
This is what I mean is not accurate enough in the existing layout editor. Sure you can specify .5 or .25 of a key width for spacing. But if I need the spacing between the 6 pack and numpad to be exactly 0.3875" - can't do that.
Hi Swill,
So I have been thinking about this exact for some time and I had planned on using the SolidWorks API to create the DWG/DXF file that you would need for this and then I was going to use the Esprit API to automatically generate the G-code to machine the plate. The problem that I ran in to was stabilizers. They are different based on who manufactures the cap. For instance: SP has a 6.25 unit space bar but the stabilizer spacing is different from the 6.25u spacebar from... I can't remember who right now but the spacing was about .03" per side difference (about 1/16" total). It was enough that you needed to either buy your spacebar around your stab or make your plate around your spacebar. As far as I know the issue was limited to the space bar but I cannot remember the specifics.
Sure there are a few ways to skin a cat and this isn't some impossible hurdle but it is something people will need to be aware of when designing their plate. If you have any questions feel free to PM me or hit me up on IRC.
The universal stab cut out would offer the use of costar stabs as well.Oh OK. I didn't realize that the cherry spec only supported cherry style stabs. I guess now that I write it, it makes sense. Thx. I will draw the universal stab tonight. I have the details from the OP of the CAD resource page.
Two recommendations:Great thanks MOZ. I will draw the universal tonight and if you post another type for thicker plates, I will make it available too.
1. Use the universal style cutout for the stab areas, because as Melvang said, it would allow use of costar stabs as well.
2. I'll post a second type of stab cutout, which is used for acrylic plates, actually any plate thicker than 2mm, it allows the use of only PCB mounted stabs, but no modification has to be done to the stabs as the cutout allows for enough room for the complete stabs to come through and not interact with the plate.
I am confused... Why do the different sized keys have different universal stabilizer sizes? I thought that they all would take the same 2 unit stabilizer. Why would there be other sized cutouts?
Here is what I am talking about...Show Image(http://i.imgur.com/Hd5kmJA.png)
I am confused... Why do the different sized keys have different universal stabilizer sizes? I thought that they all would take the same 2 unit stabilizer. Why would there be other sized cutouts?
Here is what I am talking about...Show Image(http://i.imgur.com/Hd5kmJA.png)
I could be wrong but I think the cutouts ate the same, but the horizontal spacing around the stabilizer changes.
I am confused... Why do the different sized keys have different universal stabilizer sizes? I thought that they all would take the same 2 unit stabilizer. Why would there be other sized cutouts?
Here is what I am talking about...Show Image(http://i.imgur.com/Hd5kmJA.png)
I could be wrong but I think the cutouts ate the same, but the horizontal spacing around the stabilizer changes.
Yes, the tabs on the bottom are both 3.3mm and the space between them is 20.6mm on all of them. Why would you need extra space around them? Why wouldn't you be able to just the 2u one (backspace in that drawing) for all of those other keys?
Yeah 2u through 2.75u all have the same dimensions. So the extra space is just there for the caps.
Yeah 2u through 2.75u all have the same dimensions. So the extra space is just there for the caps.
Ok, thanks for confirming. I am just going to draw the 2u version then because that will just simplify things for my program. Thx...
Final question. What is the significance of the tabs on the right and left of that? Is that incase you decide to actually put two switches in that space instead of one with a stabilizer, those two switches can be opened? According to my measurements neither stabilizer will reach that far to either side.
Yeah 2u through 2.75u all have the same dimensions. So the extra space is just there for the caps.
Ok, thanks for confirming. I am just going to draw the 2u version then because that will just simplify things for my program. Thx...
Final question. What is the significance of the tabs on the right and left of that? Is that incase you decide to actually put two switches in that space instead of one with a stabilizer, those two switches can be opened? According to my measurements neither stabilizer will reach that far to either side.
That I can't really help you with, sorry.
Final question. What is the significance of the tabs on the right and left of that? Is that incase you decide to actually put two switches in that space instead of one with a stabilizer, those two switches can be opened? According to my measurements neither stabilizer will reach that far to either side.I think it's just so you can just copy/paste the cutouts across the row and it'll all line up easily: to make it easy for people to build plates and also see that they'll fit their layout and also line-up properly.
Final question. What is the significance of the tabs on the right and left of that? Is that incase you decide to actually put two switches in that space instead of one with a stabilizer, those two switches can be opened? According to my measurements neither stabilizer will reach that far to either side.I think it's just so you can just copy/paste the cutouts across the row and it'll all line up easily: to make it easy for people to build plates and also see that they'll fit their layout and also line-up properly.
TBH, I'd probably do it in a similar way: have a lookup-table for predefined cutouts for all the common switches, and then paste across rows to render the CAD output. but I'm not a programmer so IDK how efficient that'd be.
Actually I'd have just the switch and just also store the spacing, so it'd paste space, switch&stab cutout, space then move on to the next one in the layout. But again: I only programmed in QBasic when I was like 10.
The method I'm using for my SVG renderer is drawing a path with variable distances. Functionally, the 2u is the same as the 10u with a longer bar, so I initiate a path, move to position, and start tracing a line using relative coords, and then once I hit a variable, I use absolute coords based on Cherry specs.
I run renderSpacebar( -2.625, -2.1, 2.625, 2.1 ); and it'll draw a stabilizer with cutouts at those unit positions for the 6.25u A+B style.
Not as easy to render the options like stab openings, or screw holes, but I'll get to that whenever I get to it.
p = init_plate()
p = p.center((-plate_width/2)+(switch_size/2), (-plate_height/2)+(switch_size/2))
p = cut_switch(p, (plate_x_pad, plate_y_pad))
x_off += u1 - plate_x_pad
p = cut_switch(p, (u1, 0))
p = cut_switch(p, (u1, 0))
p = cut_switch(p, (u1, 0))
p = cut_switch(p, (u1, 0))
p = cut_switch(p, (u1, 0))
p = cut_switch(p, (u1, 0))
p = cut_switch(p, (u1, 0))
p = p.center(-x_off, u1)
x_off = 0
switch_type = 0
p = cut_switch(p, (1.5*u1, 0))
switch_type = 1
p = cut_switch(p, (2*u1, 0))
switch_type = 2
p = cut_switch(p, (2*u1, 0))
switch_type = 3
p = cut_switch(p, (2*u1, 0))
p = p.center(-x_off, u1)
x_off = 0
switch_type = 0
u2_stab_type = 0
p = cut_switch(p, (1.5*u1, 0), 2)
switch_type = 1
p = cut_switch(p, (2*u1, 0), 2)
switch_type = 2
p = cut_switch(p, (2*u1, 0), 2)
switch_type = 3
p = cut_switch(p, (2*u1, 0), 2)
p = p.center(-x_off, u1)
x_off = 0
switch_type = 0
u2_stab_type = 1
p = cut_switch(p, (1.5*u1, 0), 2)
switch_type = 1
p = cut_switch(p, (2*u1, 0), 2)
switch_type = 2
p = cut_switch(p, (2*u1, 0), 2)
switch_type = 3
p = cut_switch(p, (2*u1, 0), 2)
- Your stabilizer holes are for Cherry stabs only, but I'm sure you knew that. A couple rectangular notches on the top, and you can use those holes with Costar stabs, as well.
- If you use the Cherry spec sheet stabilizer hole, and cut out the little tabs where the stab insert holes connect to the switch hole at the top, it works fine with the ability to open the switches. But you won't have Alps compatibility with that type of hole.
- Your 2-unit "universal" cutout is ONLY useful for exactly one location on a keyboard -- the Backspace. The other locations, i.e. Left Shift, Right Shift, Enter, require different spacing due to how their switches are arranged.
- Also, I'm not sure Cherry plate mount stabs will clip on tho the "universal" hole cutouts. In the past, we have REQUIRED the use of PCB mount stabs if you use a plate with "universal" holes.
JD, pretty much cleared all the points I was going to outline, but just a couple of things I recall:
1. dorkvader was right in pointing out that the file you posted from the GH CAD resources thread, has same stab cutouts for 2u-2.75u keys, just the bounding boxes are of different sizes, which allows new users to just copy and paste these drawings and join corner to corner, without having to worry about spacing.
2. When you said "universal" cutout I thought you meant the one jdcarpe has mentioned above, as in Cherry spec stabs with extra notches on the top to allow for costar stabs.
3. The universal cutout as you have now, as pointed out by JD, is useful only for the Backspace and something I wouldn't really recommend as it does't hold the switch very well or the stabs and is useful most with PCB mount switches and stabs. Besides, it is more of an "advance" concept, since you are making the tool for people starting out, I'd recommend to skip this option for now. As a second phase feature for your tool, you could include an option to add other options to a base layout, like a split backspace, and the tool would then automatically combine the cutouts and generate a new cutout, this would allow the user to have multi-layout plates to their liking, without you having to worry about all the possible cutouts.
I went back over all the plates I have been drawing, and every one of them uses the 13.97mm dimension for the MX square. I don't know if that helps with the laser kerf, but I suspect it does.
Attached is a drawing of the stabilizer hole I use.
points = [
(7,-7), (7,-6.4), (7.8,-6.4),
(7.8,6.4), (7,6.4), (7,7),
(-7,7), (-7,6.4), (-7.8,6.4),
(-7.8,-6.4), (-7,-6.4), (-7,-7), (7,-7)
]
p = p.center(c[0],c[1]).polyline(points).cutThruAll()
I went back over all the plates I have been drawing, and every one of them uses the 13.97mm dimension for the MX square. I don't know if that helps with the laser kerf, but I suspect it does.
Attached is a drawing of the stabilizer hole I use.
Thanks for that. I will use that as a guide. I am going to see how close it is to mine (other than the tabs on the top). I think that the tabs on the bottom are slightly different as well because the tabs on the bottom are slightly different between cherry and costar. This is really helpful, thanks...
Out of interest. The switch hole in this stabilizer cutout is 14mm instead of 13.97mm. I wonder if the 13.97 has just been propagated with copy and paste from the initial drawings (converted from standard measurements .55" instead of .551").
What do you think? Do you think it was intentional to use that size because of laser cutting kerf or do you think it is just a remnant of previous loss of precision that no one cared to change?
I have to draw all these cutouts manually because I am creating this from code, so I can't just copy and paste from other people's work. That being said, it is much easier to work with 14 instead of 13.97 for me since I am manually writing out all the vertices.
For example, your prefered switch cutout (supports both mx and alps), is a relatively simple cutout. If I use the numbers 14mm, 12.8mm and 15.6mm, it results in the following array.Code: [Select]points = [
(7,-7), (7,-6.4), (7.8,-6.4),
(7.8,6.4), (7,6.4), (7,7),
(-7,7), (-7,6.4), (-7.8,6.4),
(-7.8,-6.4), (-7,-6.4), (-7,-7), (7,-7)
]
Which then gets cut with the following:Code: [Select]p = p.center(c[0],c[1]).polyline(points).cutThruAll()
It is a bit more of a pain and messy if I work with the 13.97mm number. I am trying to do this 'right' though, so I don't mind doing more work even if it is a pain if it is the best solution.
Once I get all of the components drawn, I am going to layout all of the components on one piece of material and see if I can find someone to cut it for me (and potentially test for me as well) so I can be sure that each of the components works as expected.
Great. Thanks for confirming that, I can rest easy now. :)I went back over all the plates I have been drawing, and every one of them uses the 13.97mm dimension for the MX square. I don't know if that helps with the laser kerf, but I suspect it does.
Attached is a drawing of the stabilizer hole I use.
Thanks for that. I will use that as a guide. I am going to see how close it is to mine (other than the tabs on the top). I think that the tabs on the bottom are slightly different as well because the tabs on the bottom are slightly different between cherry and costar. This is really helpful, thanks...
Out of interest. The switch hole in this stabilizer cutout is 14mm instead of 13.97mm. I wonder if the 13.97 has just been propagated with copy and paste from the initial drawings (converted from standard measurements .55" instead of .551").
What do you think? Do you think it was intentional to use that size because of laser cutting kerf or do you think it is just a remnant of previous loss of precision that no one cared to change?
I have to draw all these cutouts manually because I am creating this from code, so I can't just copy and paste from other people's work. That being said, it is much easier to work with 14 instead of 13.97 for me since I am manually writing out all the vertices.
For example, your prefered switch cutout (supports both mx and alps), is a relatively simple cutout. If I use the numbers 14mm, 12.8mm and 15.6mm, it results in the following array.Code: [Select]points = [
(7,-7), (7,-6.4), (7.8,-6.4),
(7.8,6.4), (7,6.4), (7,7),
(-7,7), (-7,6.4), (-7.8,6.4),
(-7.8,-6.4), (-7,-6.4), (-7,-7), (7,-7)
]
Which then gets cut with the following:Code: [Select]p = p.center(c[0],c[1]).polyline(points).cutThruAll()
It is a bit more of a pain and messy if I work with the 13.97mm number. I am trying to do this 'right' though, so I don't mind doing more work even if it is a pain if it is the best solution.
Once I get all of the components drawn, I am going to layout all of the components on one piece of material and see if I can find someone to cut it for me (and potentially test for me as well) so I can be sure that each of the components works as expected.
There is no need to work with 13.97mm. Stick with 14mm. When people get their plates made, if there is an issue they can specify they want the tolerance of the holes to be -.003 +0 or -.005 +0. I have made all of my plates and prototypes to cherry spec and they are fine.
you know this might be part of the reason I've always had huge issues with cherry PM stabilizers. They are all for custom plates and require a custom bent wire, where a slightly off length or bend radius can be the difference between it working and failing. An additional +-0.2mm tolerance level will further exacerbate the issue.Now that you mention it, I too have had issues with cherry PM stabs in custom plates. Something was rubbing somewhere that was causing the key to not reset correctly. I solved the problem by using a stab wire that had a slightly smaller than spec diameter and that fixed it for me. I could not figure out for the life of me what was rubbing. I will have to go back and see if it was the stab wire rubbing against the switch body. I have to admit I never even thought to check that when I was troubleshooting.
Plus when getting plates laser cut from stainless, there is enough texture from the cut itself that it REALLY grabs the hell out of the switch. I noticed this with the JD40. I can't speak for waterjet though. You don't see this on factory OEM plates due to the cost of doing that large of volume it is far cheaper to stamp/die cut all those holes and you end up with a smooth face on the edges of the switch hole so the size is a touch more critical.
I am not sure that 3 hundredths of a MM is going to make a noticeable difference. I am pretty sure the cutting tolerance is bigger than that. Cherry spec is +/- 5 hundredths of a MM.Plus when getting plates laser cut from stainless, there is enough texture from the cut itself that it REALLY grabs the hell out of the switch. I noticed this with the JD40. I can't speak for waterjet though. You don't see this on factory OEM plates due to the cost of doing that large of volume it is far cheaper to stamp/die cut all those holes and you end up with a smooth face on the edges of the switch hole so the size is a touch more critical.
JD himself said he specs his holes smaller so that is most likely what you are noticing with it "grabbing" more.
Are there any official costar specs available? Or is everyone using this information as standard: http://deskthority.net/keyboards-f2/costar-stabilizer-plate-measurements-t5872.html.
If that diagram is correct. Then you can use those specs to extend the design to any stab positions. Basically, the costar stab slot is going to be 14mm tall, 3.3mm wide and 0.75mm below the top of the switch. The horizontal position can be found by aligning the horizontal center of the costar slot with those specified here:
http://www.cherrycorp.com/english/switches/key/mx.htm
http://deskthority.net/wiki/Space_bar_dimensions
["Esc","!\n1","@\n2","#\n3","$\n4","%\n5","^\n6","&\n7","*\n8","(\n9",")\n0","_\n-","+\n=",{w:2},"Backspace"],
[{w:1.5},"Tab","Q","W","E","R","T","Y","U","I","O","P","{\n[","}\n]",{w:1.5},"|\n\\"],
[{w:1.75},"Control","A","S","D","F","G","H","J","K","L",":\n;","\"\n'",{w:2.25},"Enter"],
["Fn",{w:1.25},"Shift","Z","X","C","V","B","N","M","<\n,",">\n.","?\n/","↑",{w:1.75},"Shift"],
[{x:0.625},"~\n`","Win",{w:1.25},"Alt",{w:6.25},"",{w:1.25},"Alt","←","↓","→"]
Just wondering but what sort of user agreement would you have as far as making profit using your tool?
Not that I personally am worried about it but it is a thought that very well could come up in the future.
Also, do you have plans for the additional layers for a sandwich style case planned in the future?
Just wondering but what sort of user agreement would you have as far as making profit using your tool?
Not that I personally am worried about it but it is a thought that very well could come up in the future.
Also, do you have plans for the additional layers for a sandwich style case planned in the future?
That is a good question. To be quite honest, I was just planning to open source it and let people use it without restrictions. In this type of community there is often a fine line between profitable or not, so I don't want to have a user agreement in place that will tip that balance in the wrong direction. That is a really hard question and to be honest I have not really thought about it. What I would probably do is put a 'donate' button up on the site with the tool. I would ask that if people are using the tool for commercial reasons they consider donating.
Its funny because everyone who I have talked to about this project (outside of the keyboard community) have asked me right away, "how do you plan to monetize it". I probably should have expected this to be asked. :) The reality though is that I am doing this mainly as a community service. This community is full of builders and tinkerers who have good ideas. I like to do what I can to enable builders because we all benefit from their ideas and hard work. The main purpose of the tool is to lower the bar for builders to prototype and progress their ideas without having to learn/master CAD.
Do you (or anyone really) have any suggestions on this topic? Is there any sort of commonly accepted approach for this sort of thing that seems to work pretty well? Something like Creative Commons comes to mind, but I have only ever seen that associated to art and photography and such.
As for additional layers. Yes, I thought about that tonight. I will tackle that when I automate the placement of the sandwich screw holes. It will be super easy to do, so yes you can expect that. It is probably 5-10 lines of code to add that support (once the screw hole placement code is in place).
I hope you didn't think I was sounding to materialistic. But I am just seeing this as a potential issue for the future. Say Bigbluesaw.com sees this and wants to imbed the source into their website. BAM they would be makin a killing off of us. Or any shop with a laser or waterjet for that matter.
i think I would suggest looking up the technical differences between the different open source license options. The differences between what you can and can't do varies quite a bit.
I recommend CC-BY or CC-BY-NC[-ND] if you're really paranoid about people making money off you.
"how do you plan to monetize it". If you need more money there are better ways to get it and you can use this as an example of your skills. If people see that and give you a raise / new job then it'll be like money to you. CC-BY also ensures your name gets out there which is always a bonus.
"how do you plan to monetize it"? I hate that question, every time I build something, others around me ask this question, be it a module for an existing web solution like XenForo or a keyboard related hobby. Can't a person just do something out of interest without any monetary benefit in mind.
Sorry for the rant. The tool looks great. Perhaps an option to have round corners and specify radius.
I hope you didn't think I was sounding to materialistic. But I am just seeing this as a potential issue for the future. Say Bigbluesaw.com sees this and wants to imbed the source into their website. BAM they would be makin a killing off of us. Or any shop with a laser or waterjet for that matter.
i think I would suggest looking up the technical differences between the different open source license options. The differences between what you can and can't do varies quite a bit.
Not at all. I really appreciate you asking the question and raising it as a concern. You have a very good point that my good intentions could be abused if we don't put a little thought into protecting our intellectual property. I still want to open source the code and I want people in the community to be able to use it or contribute without feeling hampered by a license, but I also don't want our work to be abused by others...
"how do you plan to monetize it"? I hate that question, every time I build something, others around me ask this question, be it a module for an existing web solution like XenForo or a keyboard related hobby. Can't a person just do something out of interest without any monetary benefit in mind.
Sorry for the rant. The tool looks great. Perhaps an option to have round corners and specify radius.
points = [
(7,-7), (7,-6), (7.8,-6), (7.8,-2.9), (7,-2.9), (7,2.9), (7.8,2.9), (7.8,6), (7,6), (7,7), (-7,7),
(-7,6), (-7.8,6), (-7.8,2.9), (-7,2.9), (-7,-2.9), (-7.8,-2.9), (-7.8,-6), (-7,-6), (-7,-7), (7,-7)
]
p = p.polyline(points).cutThruAll()
# input is still manually copied from keyboard-layout-editor.com...
input_str = """["Esc","!\n1","@\n2","#\n3","$\n4","%\n5","^\n6","&\n7","*\n8","(\n9",")\n0","_\n-","+\n=",{w:2},"Backspace"],
[{w:1.5},"Tab","Q","W","E","R","T","Y","U","I","O","P","{\n[","}\n]",{w:1.5},"|\n\\"],
[{w:1.75},"Control","A","S","D","F","G","H","J","K","L",":\n;","\"\n'",{w:2.25},"Enter"],
["Fn",{w:1.25},"Shift","Z","X","C","V","B","N","M","<\n,",">\n.","?\n/","↑",{w:1.75},"Shift"],
[{x:0.625},"~\n`","Win",{w:1.25},"Alt",{w:6.25},"",{w:1.25},"Alt","←","↓","→"]"""
p = Plate() # init the plate we will be working on.
p.set_x_pad(5) # pad the left and right of the plate with an extra 5mm of space beyond the keycaps.
p.set_y_pad(5) # pad the top and bottom of the plate with an extra 5mm of space beyond the keycaps.
p.set_fillet(5) # round the corners of the plate with a 5mm radius.
p.draw(input_str) # draw the plate based on the input
Very nice work. Just please let us know when you have the mount holes thing figured out please. I want to build a set of plates for the wifes GH36 and this would be a great way to test the software.Sounds good. I will work on the two things you will need.
Would you be able to just generate a top casing based on negative space that the caps won't occupy?Sorry, I don't think I understood your question. Can you give me a bit more detail on what you are looking for?
Would you be able to just generate a top casing based on negative space that the caps won't occupy?Sorry, I don't think I understood your question. Can you give me a bit more detail on what you are looking for?
Would you be able to just generate a top casing based on negative space that the caps won't occupy?Sorry, I don't think I understood your question. Can you give me a bit more detail on what you are looking for?
By taking the space in between the switches, that is if there is any (like say on a TLK above where the arrow keys are), would you be able to use those dimensions to cut out a top casing?
This would basically be the top part of a case that shrouds the switches which you would see most commonly used elsewhere.
Do you know how you will code the mount holes for the sandwitch layer? I have an idea, but I'm on my phone, once I am on my system, I'll lay it out.Please offer suggestions. I am working some algorithms out in my head, but I have not put anything down on paper yet.
What is the ideal way to get plates cut? I think laser or plasma cutting is common (given what I have seen). What precision can they offer with aluminum or steel? I know there can be some issues with warping and such due to the heat in processing.
What about water jet? Is it precise enough?
What other options are there. CNC has I set of challenges I can not currently handle. I will let nudecnc sort out the details there.
Other ideas?
Would you be able to just generate a top casing based on negative space that the caps won't occupy?Sorry, I don't think I understood your question. Can you give me a bit more detail on what you are looking for?
By taking the space in between the switches, that is if there is any (like say on a TLK above where the arrow keys are), would you be able to use those dimensions to cut out a top casing?
This would basically be the top part of a case that shrouds the switches which you would see most commonly used elsewhere.
Oh. I now understand what you are asking. Yes, I should be able to do that without too much issue. Thanks for clarifying. :)
The only thing that I think I would not be able to offer (natively based on the data I have) is the ability to cut out a controller area if you needed a controller cutout in the plate and then put a layer (like you just described) over it. I don't have any details about controller sizing for a cutout in the layout. I basically support hand wired controllers or controllers that live on the bottom of the PCB. Make sense?
You have any idea what kind of tolerances they can hit?What is the ideal way to get plates cut? I think laser or plasma cutting is common (given what I have seen). What precision can they offer with aluminum or steel? I know there can be some issues with warping and such due to the heat in processing.
What about water jet? Is it precise enough?
What other options are there. CNC has I set of challenges I can not currently handle. I will let nudecnc sort out the details there.
Other ideas?
Laser and water jet are the most common with laser being more common here from what I have seen probably due to being more popular equipment.
#!/usr/bin/env python
"""
Usage:
holes.py --x=<x> --y=<y> --holes=<holes>
holes.py (-h | --help)
"""
from docopt import docopt
args = docopt(__doc__)
if __name__ == "__main__":
holes = int(args['--holes'])
if holes % 2 == 0 and holes >= 4: # holes needs to be even and the first 4 are put in the corners
x = float(args['--x']) # x length
y = float(args['--y']) # y length
_x = 0 # number of holes on each x side (not counting the corner holes)
_y = 0 # number of holes on each y side (not counting the corner holes)
free = (holes-4)/2 # number of free holes to be placed on either x or y sides
for f in range(free): # loop through the available holes and place them
if x/(_x+1) == y/(_y+1): # if equal, add the hole to the longer side
if x >= y: # if x and y are equal, add the extra hole to the x side
_x += 1
else:
_y += 1
elif x/(_x+1) > y/(_y+1):
_x += 1
else:
_y += 1
print("%s holes on 'x' over %smm" % (_x, x))
print("%s holes on 'y' over %smm" % (_y, y))
print("plus one hole in each corner\n")
else:
print("'--holes' needs to be an even number greater than or equal to 4")
$ ./holes.py --x=400 --y=100 --holes=2
'--holes' needs to be an even number greater than or equal to 4
$ ./holes.py --x=400 --y=100 --holes=4
0 holes on 'x' over 400.0mm
0 holes on 'y' over 100.0mm
plus one hole in each corner
$ ./holes.py --x=400 --y=100 --holes=12
4 holes on 'x' over 400.0mm
0 holes on 'y' over 100.0mm
plus one hole in each corner
$ ./holes.py --x=400 --y=100 --holes=14
4 holes on 'x' over 400.0mm
1 holes on 'y' over 100.0mm
plus one hole in each corner
$ ./holes.py --x=200 --y=100 --holes=12
3 holes on 'x' over 200.0mm
1 holes on 'y' over 100.0mm
plus one hole in each corner
$ ./holes.py --x=200 --y=100 --holes=14
4 holes on 'x' over 200.0mm
1 holes on 'y' over 100.0mm
plus one hole in each corner
$ ./holes.py --x=200 --y=100 --holes=16
4 holes on 'x' over 200.0mm
2 holes on 'y' over 100.0mm
plus one hole in each corner
$ ./holes.py --x=200 --y=100 --holes=36
11 holes on 'x' over 200.0mm
5 holes on 'y' over 100.0mm
plus one hole in each corner
Mkawa could give you a better answer on tolerances as he has had a lot more dealings with fab shops in that regard. The one shop I was talking to quoted me at .005" in 16ga stainless. For waterjet I am not sure what they can hit for tolerances. I do know that laser has a smaller kerf in general than wj. Laser is more expensive per hour on machine time but cuts much faster than wj.
# input is still manually copied from keyboard-layout-editor.com...
Mkawa could give you a better answer on tolerances as he has had a lot more dealings with fab shops in that regard. The one shop I was talking to quoted me at .005" in 16ga stainless. For waterjet I am not sure what they can hit for tolerances. I do know that laser has a smaller kerf in general than wj. Laser is more expensive per hour on machine time but cuts much faster than wj.
depends on the shop of course, but IIRC the only issue with WC is finding a place taht has one with tight enough tolerances. You need relatively good to get cherry switches to fit which is why most are lasered.Quote# input is still manually copied from keyboard-layout-editor.com...
TBH I am okay with that, It's not that hard to do and half the time I manually input into "raw data" anyway. much faster. I have no problem copypasta-ing a layout from there into your tool and pressing the :go: button.
But I'm more worried about the result. THe 5 seconds of extra time investiture it'll take for me to copypaste is nothing compared with the time it'd take to build a plate layout on my own.
input_str = """["Esc","!\n1","@\n2","#\n3","$\n4","%\n5","^\n6","&\n7","*\n8","(\n9",")\n0","_\n-","+\n=",{w:2},"Backspace"],
[{w:1.5},"Tab","Q","W","E","R","T","Y","U","I","O","P","{\n[","}\n]",{w:1.5},"|\n\\"],
[{w:1.75},"Control","A","S","D","F","G","H","J","K","L",":\n;","\"\n'",{w:2.25},"Enter"],
["Fn",{w:1.25},"Shift","Z","X","C","V","B","N","M","<\n,",">\n.","?\n/","↑",{w:1.75},"Shift"],
[{x:0.625},"~\n`","Win",{w:1.25},"Alt",{w:6.25},"",{w:1.25},"Alt","←","↓","→"]"""
p = Plate() # init the plate
p.set_x_pad(8) # 8mm of extra space on the top and bottom
p.set_y_pad(8) # 8mm of extra space on the left and right
p.set_fillet(4) # 4mm fillet on the corners of the plate
p.set_case_holes(30, 3) # draw 30 holes with a 3mm diameter
p.draw(input_str) # do magic!!! :)
Those are the big three and should suffice.
Those are the big three and should suffice.
Cool, thanks... On my laptop I have dedicated 2 cores and 4GB of ram to the system running this and it is taking about 2 minutes to build that relatively simple layout. I am spinning up a new machine in our cloud which has 4 cores and 16GB of ram to start running my code on that. Hopefully that will reduce the build time to something closer to a minute. I think people won't mind waiting for a minute or two to get everything drawn for them. :P Doesn't mean I don't want to try to speed it up though...
Cool, thanks... On my laptop I have dedicated 2 cores and 4GB of ram to the system running this and it is taking about 2 minutesIs it multithreaded? .. and is it actually using that much RAM?
Those are the big three and should suffice.
Cool, thanks... On my laptop I have dedicated 2 cores and 4GB of ram to the system running this and it is taking about 2 minutes to build that relatively simple layout. I am spinning up a new machine in our cloud which has 4 cores and 16GB of ram to start running my code on that. Hopefully that will reduce the build time to something closer to a minute. I think people won't mind waiting for a minute or two to get everything drawn for them. :P Doesn't mean I don't want to try to speed it up though...
Any chance there would be a possibility for a downloadable app? Granted it would probably need to support 3 major OS's. Just curious.
Cool, thanks... On my laptop I have dedicated 2 cores and 4GB of ram to the system running this and it is taking about 2 minutesIs it multithreaded? .. and is it actually using that much RAM?
Is it multithreaded? .. and is it actually using that much RAM?
No it is currently not multithreaded. Right now I am just making it work. I am giving it a lot of resources because I have not profiled it or anything yet so I am just throwing resources at it right now to see if it speeds things up.
Those are the big three and should suffice.
Cool, thanks... On my laptop I have dedicated 2 cores and 4GB of ram to the system running this and it is taking about 2 minutes to build that relatively simple layout. I am spinning up a new machine in our cloud which has 4 cores and 16GB of ram to start running my code on that. Hopefully that will reduce the build time to something closer to a minute. I think people won't mind waiting for a minute or two to get everything drawn for them. :P Doesn't mean I don't want to try to speed it up though...
Any chance there would be a possibility for a downloadable app? Granted it would probably need to support 3 major OS's. Just curious.
Not likely since FreeCAD is a dependency and it is a total PITA to setup and get working. I am actually installing this on a server right now so once it is setup and working correctly I can just snapshot the VM and not have to deal with the setup again if I have to move the box or give it more resources.
I am working on exposing the controls through a web UI right now which will allow you to download the resulting cad files that are created. Basically you will specify your layout (or a enter the permalink to the keyboard-layout-editor.com layout) and set a bunch of things like type of switch, mount holes, padding, etc, etc, and then you will hit a button something like 'draw cad' and it will process for a couple minutes and it will give you links to download the cad files as well as show you a preview of the cad. The preview is because I expect that you may realize once it is generated that you might want different size padding or that sort of thing and instead of making you enter everything again, you can just tweak the settings and regenerate and it will then show you the result as well as give you the download links for the updated run. Thats the idea anyway...
Those are the big three and should suffice.
Cool, thanks... On my laptop I have dedicated 2 cores and 4GB of ram to the system running this and it is taking about 2 minutes to build that relatively simple layout. I am spinning up a new machine in our cloud which has 4 cores and 16GB of ram to start running my code on that. Hopefully that will reduce the build time to something closer to a minute. I think people won't mind waiting for a minute or two to get everything drawn for them. :P Doesn't mean I don't want to try to speed it up though...
Any chance there would be a possibility for a downloadable app? Granted it would probably need to support 3 major OS's. Just curious.
Not likely since FreeCAD is a dependency and it is a total PITA to setup and get working. I am actually installing this on a server right now so once it is setup and working correctly I can just snapshot the VM and not have to deal with the setup again if I have to move the box or give it more resources.
I am working on exposing the controls through a web UI right now which will allow you to download the resulting cad files that are created. Basically you will specify your layout (or a enter the permalink to the keyboard-layout-editor.com layout) and set a bunch of things like type of switch, mount holes, padding, etc, etc, and then you will hit a button something like 'draw cad' and it will process for a couple minutes and it will give you links to download the cad files as well as show you a preview of the cad. The preview is because I expect that you may realize once it is generated that you might want different size padding or that sort of thing and instead of making you enter everything again, you can just tweak the settings and regenerate and it will then show you the result as well as give you the download links for the updated run. Thats the idea anyway...
Have you looked at generating .dxf or other types directly?
Those are the big three and should suffice.
Cool, thanks... On my laptop I have dedicated 2 cores and 4GB of ram to the system running this and it is taking about 2 minutes to build that relatively simple layout. I am spinning up a new machine in our cloud which has 4 cores and 16GB of ram to start running my code on that. Hopefully that will reduce the build time to something closer to a minute. I think people won't mind waiting for a minute or two to get everything drawn for them. :P Doesn't mean I don't want to try to speed it up though...
Any chance there would be a possibility for a downloadable app? Granted it would probably need to support 3 major OS's. Just curious.
Not likely since FreeCAD is a dependency and it is a total PITA to setup and get working. I am actually installing this on a server right now so once it is setup and working correctly I can just snapshot the VM and not have to deal with the setup again if I have to move the box or give it more resources.
I am working on exposing the controls through a web UI right now which will allow you to download the resulting cad files that are created. Basically you will specify your layout (or a enter the permalink to the keyboard-layout-editor.com layout) and set a bunch of things like type of switch, mount holes, padding, etc, etc, and then you will hit a button something like 'draw cad' and it will process for a couple minutes and it will give you links to download the cad files as well as show you a preview of the cad. The preview is because I expect that you may realize once it is generated that you might want different size padding or that sort of thing and instead of making you enter everything again, you can just tweak the settings and regenerate and it will then show you the result as well as give you the download links for the updated run. Thats the idea anyway...
Have you looked at generating .dxf or other types directly?
Yes, the tool currently exports into the following 3 formats; SVG, DFX and DWG. I posted some example exports about 7-10 posts ago. I also listed other export formats which are 'theoretically' possible. Let me know if there are others in that list that you think would be valuable to export.
How? I am using the fact that freecad is built on python and has an accessible API which I can code against. Everything about this tool is automated. Basically it can parse any layout (in theory, not finished) and build the corresponding cad file(s). How else would I do this? Do you know of other options for programmatically building cad that may be better?Those are the big three and should suffice.
Cool, thanks... On my laptop I have dedicated 2 cores and 4GB of ram to the system running this and it is taking about 2 minutes to build that relatively simple layout. I am spinning up a new machine in our cloud which has 4 cores and 16GB of ram to start running my code on that. Hopefully that will reduce the build time to something closer to a minute. I think people won't mind waiting for a minute or two to get everything drawn for them.Doesn't mean I don't want to try to speed it up though...
Any chance there would be a possibility for a downloadable app? Granted it would probably need to support 3 major OS's. Just curious.
Not likely since FreeCAD is a dependency and it is a total PITA to setup and get working. I am actually installing this on a server right now so once it is setup and working correctly I can just snapshot the VM and not have to deal with the setup again if I have to move the box or give it more resources.
I am working on exposing the controls through a web UI right now which will allow you to download the resulting cad files that are created. Basically you will specify your layout (or a enter the permalink to the keyboard-layout-editor.com layout) and set a bunch of things like type of switch, mount holes, padding, etc, etc, and then you will hit a button something like 'draw cad' and it will process for a couple minutes and it will give you links to download the cad files as well as show you a preview of the cad. The preview is because I expect that you may realize once it is generated that you might want different size padding or that sort of thing and instead of making you enter everything again, you can just tweak the settings and regenerate and it will then show you the result as well as give you the download links for the updated run. Thats the idea anyway...
Have you looked at generating .dxf or other types directly?
Yes, the tool currently exports into the following 3 formats; SVG, DFX and DWG. I posted some example exports about 7-10 posts ago. I also listed other export formats which are 'theoretically' possible. Let me know if there are others in that list that you think would be valuable to export.
Sorry, I meant generating dxf without going via FreeCAD.
I haven't looked, but I was assuming there might be sosom Python libraries for generating dxf.Sorry, I meant generating dxf without going via FreeCAD.How? I am using the fact that freecad is built on python and has an accessible API which I can code against. Everything about this tool is automated. Basically it can parse any layout (in theory, not finished) and build the corresponding cad file(s). How else would I do this? Do you know of other options for programmatically building cad that may be better?
Just a thought..
I think you can generate SVG files much like html files, by printing the drawing out to a file on the server and then allowing the user to download it.Yes. SVG is easier to generate. DXF and DWG are harder because you need special libs to export them.
DWG is such an ugly beast. Its alive. It mutates constantly. The Open Design Alliance (http://www.opendesign.com/) intended to create a library to give "open" access to read and create DWG files (now called Teigha)...but somewhere along the line "open" became "for members" and the cheapest membership is $250 to join and $100 a year. There are a few other libraries of decent quality, but non are free...that I know of.
Just for reference but for the padding, what does it measure from? Would it be possible to allow just to be able to enter edge to edge dimensions and just have the tool center the stuff inside those dimensions? The reason I ask is I want to make a plate and stuff for the wifes GH36 and it will be very easy for me to get the outside dimensions and not have to do maths to figure "padding".
Just for reference but for the padding, what does it measure from? Would it be possible to allow just to be able to enter edge to edge dimensions and just have the tool center the stuff inside those dimensions? The reason I ask is I want to make a plate and stuff for the wifes GH36 and it will be very easy for me to get the outside dimensions and not have to do maths to figure "padding".
# EXPORT FORMATS
# 'med': 'Fem'
# 'inp': 'Fem'
# 'scad': 'exportCSG'
# 'poly': 'convert2TetGen'
# 'brp': 'Part'
# 'dxf': 'importDXF'
# 'igs': 'Part'
# 'oca': 'importOCA'
# 'csg': 'exportCSG'
# 'off': 'Mesh'
# 'html': 'importWebGL'
# 'wrl.gz': 'FreeCADGui'
# 'dwg': 'importDWG'
# 'csv': 'Spreadsheet'
# 'wrz': 'FreeCADGui'
# 'vrml': 'FreeCADGui'
# 'dae': 'importDAE'
# 'ast': 'Mesh'
# 'ply': 'Mesh'
# 'dat': 'Fem'
# 'bms': 'Mesh'
# 'step': 'ImportGui'
# 'iges': 'Part'
# 'iv': 'FreeCADGui'
# 'obj': ['Mesh', 'importOBJ']
# 'unv': 'Fem'
# 'stl': 'Mesh'
# 'svg': ['importSVG', 'FreeCADGui']
# 'stp': 'ImportGui'
# 'ifc': 'importIFC'
# 'pdf': 'FreeCADGui'
# 'wrl': 'FreeCADGui'
# 'brep': 'Part'
The visualizations are wicked!I know. Which is why I have been battling with this for almost 2 weeks now. :(
Regarding the export, I would really recommend figuring out when you can on how to export to SVG and DWG/DXF as a bare minimum as those are the two most popular, even if it is one single drawing and not in different components.
Hmmm. I've only just begun Python, so I don't know how much I can help. Are there other python developers here who could perhaps have a look.Ya. I am going to focus on the front end and getting everything in place. I can export about 6 or so types successfully, so I can always just start with that.
Give it a break for a while, enjoy the holidays, if you must work on this project, then work on the frontend as you have.
Will there be Alps support? If there is, you'll be my hero.I'm not a programmer, and I don't speak for swill, but I bet that once it's done, ALPS support would be easy to add.
Hype train! This is super cool because my school has a CNC machine that I could use to cut one.Ooh, that sounds sweet. All mine has is a 3d printer :))
We have 2 so I might try to print a plateHype train! This is super cool because my school has a CNC machine that I could use to cut one.Ooh, that sounds sweet. All mine has is a 3d printer :))
Looks great. One suggestion, would be to add a note that the padding is extra space from the edge of the caps, not from the switch hole.
Is there going to be an option down the road to be able to input dimensions as decimal inches? While I do understand that the vast majority of the world deals with metric, there are still some of us that do not.
Will there be Alps support? If there is, you'll be my hero.Yes, I hope to support alps. I already have one alps switch cutout available (the MX and alps compatible cutout). I do not yet have anything in place for stabilizing alps keys. I only have the MX stabilizers developed so far.
I think it would be nice to add areas to "remove outside" for making KMAC and skeldon plates and suchlike.
Here's halverson's broken KMAC plate. Had he not got a new one, he may have found your tool useful to generate a file to bring to a local cutter.Show Image(http://i.imgur.com/0dKVa.jpg)
I prefer steel plates anyway, so I'd replace it on a KMAC if I still had one.
UI looks great though! I am really impressed by the regular updates.
Replying to keep track of the project and to thank swill .What do you mean by notched?
Maybe stupid question , but would the plate generated be notched ?
I though notched meant top was removable without desoldering .Replying to keep track of the project and to thank swill .What do you mean by notched?
Maybe stupid question , but would the plate generated be notched ?
It is worth pointing out that I have 4 different switch cutout options drawn and you will be able to select which switch cutout you want to use. 3 of the 4 have cutouts for the switch top to be removed without desoldering.
I though notched meant top was removable without desoldering .Replying to keep track of the project and to thank swill .What do you mean by notched?
Maybe stupid question , but would the plate generated be notched ?
It is worth pointing out that I have 4 different switch cutout options drawn and you will be able to select which switch cutout you want to use. 3 of the 4 have cutouts for the switch top to be removed without desoldering.
Thanks for the answer , now I have some project in mind !
Yes. I want to add a little question mark type icon next to each row of options to show an overlay giving more info (like this valuable piece of knowledge).I though notched meant top was removable without desoldering .Replying to keep track of the project and to thank swill .What do you mean by notched?
Maybe stupid question , but would the plate generated be notched ?
It is worth pointing out that I have 4 different switch cutout options drawn and you will be able to select which switch cutout you want to use. 3 of the 4 have cutouts for the switch top to be removed without desoldering.
Thanks for the answer , now I have some project in mind !
Just keep in mind that the hole types will get more expensive as you move from the left to the right as they are pictured in swills latest post. The reason is it just takes longer to cut. Especially with waterjet.
So is there a general ETA for this? Really excited to get to use itHoping to have a beta available in a week or two. I need to verify that all my cutouts work by getting a sample cut with all the openings before I really let people go nuts with it without a disclaimer. Make sense?
alright, cool :thumb:So is there a general ETA for this? Really excited to get to use itHoping to have a beta available in a week or two. I need to verify that all my cutouts work by getting a sample cut with all the openings before I really let people go nuts with it without a disclaimer. Make sense?
Quick question, I don't think I saw this answered hey but since this uses the text output from the keyboard layout editor, how do you input a 2x1 key such as the enter or + on a numpad? Thanks for all of your hard work on this, looks great!
Quick question, I don't think I saw this answered hey but since this uses the text output from the keyboard layout editor, how do you input a 2x1 key such as the enter or + on a numpad? Thanks for all of your hard work on this, looks great!
You can specify vertical dimension of each key in that tool.
Quick question, I don't think I saw this answered hey but since this uses the text output from the keyboard layout editor, how do you input a 2x1 key such as the enter or + on a numpad? Thanks for all of your hard work on this, looks great!
You can specify vertical dimension of each key in that tool.
Oh wow I didn't know, what's the syntax to do so?
Quick question, I don't think I saw this answered hey but since this uses the text output from the keyboard layout editor, how do you input a 2x1 key such as the enter or + on a numpad? Thanks for all of your hard work on this, looks great!
You can specify vertical dimension of each key in that tool.
Hoping to have a beta available in a week or two. I need to verify that all my cutouts work by getting a sample cut with all the openings before I really let people go nuts with it without a disclaimer. Make sense?
If you look at the code, the way he does the ISO enter key (and just about any 2 height key with different thicknesses on each row like the AT model F enter key) is really awkward.
1. Add the ability to have keys with heights > 1 unit. I may write a special case for the ISO enter, but we will see...
I work two jobs and I have a 18 month old, so my free time has been pretty limited. For about the last month, I have put pretty much every minute of my free time into this.We love you swill!
Hoping to have a beta available in a week or two. I need to verify that all my cutouts work by getting a sample cut with all the openings before I really let people go nuts with it without a disclaimer. Make sense?
Very quick!
I recommend getting some acrylic lasercut to test. It's very cheap and you can see if it works or not by popping in some switches. Once you're "more sure" you can get a metal plate made but by then you should be pretty sure the switches will fit and then you can use the more expensive metal test to make sure tolerances are where you want.
If you like to test out edges, I'd love to try it out to make a new skeldon plate. ;)
If you look at the code, the way he does the ISO enter key (and just about any 2 height key with different thicknesses on each row like the AT model F enter key) is really awkward.
1. Add the ability to have keys with heights > 1 unit. I may write a special case for the ISO enter, but we will see...
We love you swill!
Swill, check the CAD resources thread, the ISO enter is a 2u stab vertical center on 2u, and horizontal center on 1.25u.Perfect, I was hoping that was the case. I may not even need to do a special case for it. :). Thx. I will review the cad resource thread for mor details.
Yes, it is really awkward, but I have to work with it since that is what he defined. It ain't going to be pretty, but it should be functional. For keys that are > 1 unit high and are an odd shape, I may just handle them on a case by case basis and if I hit them, I will just put the switch cutout where it needs to be for that situation. It will be pretty impossible for me to know where to actually draw the cutout if I don't do it that way. Like for example, here is the ISO code: {x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"Enter"
From that, how would I know where to actually make my cuts? If I can determine, "hey this is an ISO enter" and I code for handling an ISO enter as its own entity, then I think I will have a better chance of creating consistent results for people.
["}\n]",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"Enter"],
[{x:0.25},"~\n#"]
["}\n]",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"Enter",""],
[{x:0.25},"~\n#",""]
As you see it covers the bottom of the enter, so you have to do the following to get it to work["}\n]",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"Enter",""],
[{x:0.25},"~\n#",{x:1.25},""]
Now this is as expected, but if you start playing with the parameters of that "enter" key, you start to see how it was constructed. Here's the example of my differently shaped "enter" key for the displaywriter["¼\n½","[\n]",{x:0.25,a:7,f:2,h:2,h2:1,x2:-0.25},"RET"],
[{x:0.25},"\"\n'","3\n2"]
In this case, I used the x, x2, h and h2 parameters to define it.["{\n[","}\n]"],
[{x:0.25},"\"\n'",{a:7,f:2,w:2,w2:1.25,h2:2,x2:0.75,y2:-1},"RET"]
Yes, it is really awkward, but I have to work with it since that is what he defined. It ain't going to be pretty, but it should be functional. For keys that are > 1 unit high and are an odd shape, I may just handle them on a case by case basis and if I hit them, I will just put the switch cutout where it needs to be for that situation. It will be pretty impossible for me to know where to actually draw the cutout if I don't do it that way. Like for example, here is the ISO code: {x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"Enter"
From that, how would I know where to actually make my cuts? If I can determine, "hey this is an ISO enter" and I code for handling an ISO enter as its own entity, then I think I will have a better chance of creating consistent results for people.
I spent some time figuring it out, I never got the hang of the little GUI for modifying the keycap, so I instead learned how to modify the raw code and it was easier and faster anyway. Here's the relevant code for the "enter" key and the keys surrounding itCode: [Select]["}\n]",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"Enter"],
[{x:0.25},"~\n#"]
And if we add a key to the right on each row:Code: [Select]["}\n]",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"Enter",""],
As you see it covers the bottom of the enter, so you have to do the following to get it to work
[{x:0.25},"~\n#",""]Code: [Select]["}\n]",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25},"Enter",""],
Now this is as expected, but if you start playing with the parameters of that "enter" key, you start to see how it was constructed. Here's the example of my differently shaped "enter" key for the displaywriter
[{x:0.25},"~\n#",{x:1.25},""]
https://geekhack.org/index.php?topic=59973.10Code: [Select]["¼\n½","[\n]",{x:0.25,a:7,f:2,h:2,h2:1,x2:-0.25},"RET"],
In this case, I used the x, x2, h and h2 parameters to define it.
[{x:0.25},"\"\n'","3\n2"]
I also had to do some modification to get a "reverse L style" enter.
http://www.keyboard-layout-editor.com/#/layouts/b6f9cb4d66a323330a8509bc0efe3330
(note that it is defined from the "bottom")Code: [Select]["{\n[","}\n]"],
[{x:0.25},"\"\n'",{a:7,f:2,w:2,w2:1.25,h2:2,x2:0.75,y2:-1},"RET"]
Note I had to use the parameters w,w2,h2,x2 and y2 (I think it's assumed that h1,x1 and y1 are all 1)
So it's like you're putting 2 keycaps together into one. I think I spent about a half an hour trynig to make it work. From what I remember, you have to define it from either the top or the bottom (depending on what style you have), and the "second" part of the keycap overlaps the first in such a way that they look like one. Keys that are 2 height that are the same on each level (like numpad enter) are much easier with just an "{h:2} parameter.
["","",{h:2},""],
["",""],
["",""],
["","",{h:2,y:-1},""]
["{\n[","}\n]"],
[{x:0.25},"\"\n'",{a:7,f:2,w:2,w2:1.25,h2:2,x2:0.75,y2:-1},"RET"]
["","",{h:2},""],
["",""],
["",""],
["","",{h:2,y:-1},""]
["","",{h:2},""],
["",""],
["","",{h:2},""],
["",""],
[{y:0.5}],
["","",{h:2},""],
["",""],
["",""],
["","",{h:2,y:-1},""],
[{y:2.5}],
["",""],
["","",{h:2,y:-1},""],
["",""],
["","",{h:2,y:-1},""]
If it's going to be that tricky, it might be better to add ISO support later.
I mean, there aren't even that many PCBs that support ISO (some of the newer asian ones like GON and red scarf do though) and it's not as popular for custom PCB design as ANSI.
I think the following shows how hard it was for me to grasp how it works (or doesn't)Code: [Select]["","",{h:2},""],
["",""],
["","",{h:2},""],
["",""],
[{y:0.5}],
["","",{h:2},""],
["",""],
["",""],
["","",{h:2,y:-1},""],
[{y:2.5}],
["",""],
["","",{h:2,y:-1},""],
["",""],
["","",{h:2,y:-1},""]
The first two work but the third does not. Though this may just be my own complaints as an end-user, I have no programming experience so maybe I'm missing something.
Still, it might be prudent to contact the athour to make sure that only "legal" code be supported by your tool as well.
Stupid question that may have already been answered, but have you thought about having "standard" plate options pre-made for people to select and download? Like ISO and ANSI Phantom, ISO and ANSI 60%, and so on.
Stupid question that may have already been answered, but have you thought about having "standard" plate options pre-made for people to select and download? Like ISO and ANSI Phantom, ISO and ANSI 60%, and so on.
Cheers!
Items I want to resolve before I put it live for people to play with:
I'm not sure if this has been asked so i will ask it and hope it hasn't
Will this support big-ass enter as well?
I'm not sure if this has been asked so i will ask it and hope it hasn'tWhat is the big-ass enter? Do you know the size and the location of the cutout and stabilizers? I don't think I have ever seen a keycap set with this option.
Will this support big-ass enter as well?
Haha. This isn't a clack sale. :). Unfortunately I have been too busy working on this to even pay attention to that f5 clack sale. Oh well. Dose priorities.Cheers!
Items I want to resolve before I put it live for people to play with:
http://builder.swillkb.com/
f5 f5 f5
I'm not sure if this has been asked so i will ask it and hope it hasn'tWhat is the big-ass enter? Do you know the size and the location of the cutout and stabilizers? I don't think I have ever seen a keycap set with this option.
Will this support big-ass enter as well?
"Big-Ass" Enter is a J-Shape Enter key. It's as if the |\ key and the Enter key of a standard ANSI keyboard were fused. 1.5u on top and 2.25u on bottom, 2u tall.
I don't have stem spacing. :(
As I mentioned a few posts earlier, that key has many different stem/stab configs, there really is no standard.
I knew it!Haha. This isn't a clack sale. :). Unfortunately I have been too busy working on this to even pay attention to that f5 clack sale. Oh well. Dose priorities.Cheers!
Items I want to resolve before I put it live for people to play with:
http://builder.swillkb.com/
f5 f5 f5
I won't put anything on that URL till I have it ready. I will let you know when its live. :). That was just an /etc/hosts entry to hide the real IP where it is running since I don't want people messing with my testing.
As I mentioned a few posts earlier, that key has many different stem/stab configs, there really is no standard.
Ya, this key is not a priority for me. The ISO is much more of a priority because people actually use it. Luckily the code to produce it is consistent with other 'height > 1' keys, so I will not have to do any funny shenanigans to support it. :)As I mentioned a few posts earlier, that key has many different stem/stab configs, there really is no standard.
I guess as far as MX goes, the SteelSeries 7G would be the standard to look at. It's probably the most common, outside of Asia, anyway.
Yeah, I think the code just recognizing that "hey, there's an ISO enter here" and rendering the proper stabilizer/switch holes for it is plenty for almost everyone and a fully featured first release.
Ya, this key is not a priority for me. The ISO is much more of a priority because people actually use it. Luckily the code to produce it is consistent with other 'height > 1' keys, so I will not have to do any funny shenanigans to support it. :)
Not a "core" feature, but there appears to be a bug in the code not allowing you to set the height of the first key to be anything less than 1x.
This is not a huge deal as most users will be using "standard" 1x or greater key spacing in all directions, but cherry keyboards with the switches jammed in together as tight as possible do exist and keycaps shorter than 1x in height exist as well.
I can't imagine anyone wanting this layout in cherry MX (much more likely for ALPS) but it is in theory possible and making sure the output works correctly possibly will be important to someone eventually.
Example (note F1 key: specified as 0.6x height like the rest but rendered at 1x height):
http://www.keyboard-layout-editor.com/#/layouts/5418d327ed8ee812432bc489c5099ed6
Oh I think you said your current test hardware is not very fast: do you have sufficient hardware to quickly render these or should we run up a donation drive? I think TP4 has some servers he's not using.Yeah, I think the code just recognizing that "hey, there's an ISO enter here" and rendering the proper stabilizer/switch holes for it is plenty for almost everyone and a fully featured first release.
Ya, this key is not a priority for me. The ISO is much more of a priority because people actually use it. Luckily the code to produce it is consistent with other 'height > 1' keys, so I will not have to do any funny shenanigans to support it. :)
I hope that my posting all the time in this topic is not distracting or annoying. It's hard to contain my excitement, but sometimes I wonder if I'm not being helpful, what with my lack of programming experience.
Still: I'm happy to help in any way I can, just let me know!
Oh I think you said your current test hardware is not very fast: do you have sufficient hardware to quickly render these or should we run up a donation drive? I think TP4 has some servers he's not using.
Just keep in mind that the hole types will get more expensive as you move from the left to the right as they are pictured in swills latest post. The reason is it just takes longer to cut. Especially with waterjet.
Just keep in mind that the hole types will get more expensive as you move from the left to the right as they are pictured in swills latest post. The reason is it just takes longer to cut. Especially with waterjet.
Any idea how much difference we're talking?
I think swill posted a good approximate a few pages back on how the costs generally scale based on complexity of the switch.I posted that in the CAD Resource Hub because the same question was asked there.
I think you have found a bug regarding the first key not rendering the correct height in the keyboard-layout-editor. When I have some time I will look into the code for that and open an issue for him and submit a pull request to fix it. Thats the beauty of open source code... :)
The switch cutout for a key that is only 60% height of a regular key has to be the same as regular (because that is determined by the switch), but how close can you put that key to the row below it? I think you only have about 3-4 mm between the switches, so you cant put them so the keycaps would touch or the cutout would not work for both switches. Do you know more details on that or will I just have to figure out what the minimum distance is and if they specify something that I don't think will actually work, I just put it at the minimum distance? I guess the minimum distance is relative to the type of material being used. Hmmm...
I think you have found a bug regarding the first key not rendering the correct height in the keyboard-layout-editor. When I have some time I will look into the code for that and open an issue for him and submit a pull request to fix it. Thats the beauty of open source code... :)
The switch cutout for a key that is only 60% height of a regular key has to be the same as regular (because that is determined by the switch), but how close can you put that key to the row below it? I think you only have about 3-4 mm between the switches, so you cant put them so the keycaps would touch or the cutout would not work for both switches. Do you know more details on that or will I just have to figure out what the minimum distance is and if they specify something that I don't think will actually work, I just put it at the minimum distance? I guess the minimum distance is relative to the type of material being used. Hmmm...
Credit where it's due, Jacobolus found that bug.
As far as the switch cutout for a 0.6 height key, all the ones I have seen (https://www.flickr.com/photos/dork_vader/sets/72157641884809274/) have a smaller keycap that is centered on the switch. It's an odd case, as you could do it differently. I suppose asking people to do things for really odd stuff like that can do their own cad file or input workable switches in the the tool yielding the cutouts they want.
Still, you can place the switches right up next to each other if you have smaller keycaps like that. But in such a case you can't have a plate in that area.
I will do some measuring to get the minimum distance but I believe it's 15mm
Cool thanks. I will think about how to best handle this. Luckily there is a live preview of your plate before you download, so if you see that cutouts are overlapping you can easily adjust your layout and try again, so its not the end of the world. I could try to put something in place to make sure that the combination of height and y and such do not put the cutouts too close. I will think about it. For now I think people will just have to check their work before they send it to be manufactured. :P
Cool thanks. I will think about how to best handle this. Luckily there is a live preview of your plate before you download, so if you see that cutouts are overlapping you can easily adjust your layout and try again, so its not the end of the world. I could try to put something in place to make sure that the combination of height and y and such do not put the cutouts too close. I will think about it. For now I think people will just have to check their work before they send it to be manufactured. :P
Yeah, or if they need something that the tool can't handle, there's at least one person active in the forum who considers himself pretty good at designing keyboard plates. I hear that guy is usually pretty responsive to custom requests, if you ask him nicely.
Just out of curiosity, are the downloaded files going to be 2d or 3d?
Just throwing an idea around , but could be interesting for it to generate a CAD based on 2+ keyboard layouts .
For my personnal use , I switch between 2.75u rShift and 1.75u rShift +1u key. Having my own "Universal" plate with cut-outs for both rShift configuration would be fantastic .
Just out of curiosity, are the downloaded files going to be 2d or 3d?
Just out of curiosity, are the downloaded files going to be 2d or 3d?
The video shows a 3D render of the finished plate.
I would guess that it is in fact 3D.
Just throwing an idea around , but could be interesting for it to generate a CAD based on 2+ keyboard layouts .
For my personnal use , I switch between 2.75u rShift and 1.75u rShift +1u key. Having my own "Universal" plate with cut-outs for both rShift configuration would be fantastic .
I don't think I am going to be committing to this at this point. Especially since I think those two cutouts will actually overlap (if I remember correctly) and one uses a stabilizer and the other doesnt. I see this being a mess. I have not tried it, but you might be able to just code both keys in the layout editor and superimpose them on top of each other with the correct negative x setting to have the tool cut both cutouts. I have never tried this and I will not vouch for it working, but it 'might' be possible to do it that way...
Cool thanks. I will think about how to best handle this. Luckily there is a live preview of your plate before you download, so if you see that cutouts are overlapping you can easily adjust your layout and try again, so its not the end of the world. I could try to put something in place to make sure that the combination of height and y and such do not put the cutouts too close. I will think about it. For now I think people will just have to check their work before they send it to be manufactured. :P
Yeah, or if they need something that the tool can't handle, there's at least one person active in the forum who considers himself pretty good at designing keyboard plates. I hear that guy is usually pretty responsive to custom requests, if you ask him nicely.
I feel the pain, ain't nobody going to PM me now for case building. :/
Cool thanks. I will think about how to best handle this. Luckily there is a live preview of your plate before you download, so if you see that cutouts are overlapping you can easily adjust your layout and try again, so its not the end of the world. I could try to put something in place to make sure that the combination of height and y and such do not put the cutouts too close. I will think about it. For now I think people will just have to check their work before they send it to be manufactured. :P
Yeah, or if they need something that the tool can't handle, there's at least one person active in the forum who considers himself pretty good at designing keyboard plates. I hear that guy is usually pretty responsive to custom requests, if you ask him nicely.
Just throwing an idea around , but could be interesting for it to generate a CAD based on 2+ keyboard layouts .
For my personnal use , I switch between 2.75u rShift and 1.75u rShift +1u key. Having my own "Universal" plate with cut-outs for both rShift configuration would be fantastic .
I don't think I am going to be committing to this at this point. Especially since I think those two cutouts will actually overlap (if I remember correctly) and one uses a stabilizer and the other doesnt. I see this being a mess. I have not tried it, but you might be able to just code both keys in the layout editor and superimpose them on top of each other with the correct negative x setting to have the tool cut both cutouts. I have never tried this and I will not vouch for it working, but it 'might' be possible to do it that way...
Another use case for a human to draw your plate. While this tool is actually nothing short of AMAZEBALLS, and automates things for the vast majority of what people want, there will always be a need for skilled people to be involved when more custom options are required.
I am sorry guys. It was not my intention to replace the need for your services with this. To be totally honest it didn't even really cross my mind that this tool would actually affect the type of services you guys offer. :( I feel really bad because both of you have been very supportive of my work on this, I didn't even consider the fact that I would be taking work away from you guys.
Ya, I did not intend to step on anyone's toes with this, so I am glad this isn't conflicting with one of your revenue streams.I am sorry guys. It was not my intention to replace the need for your services with this. To be totally honest it didn't even really cross my mind that this tool would actually affect the type of services you guys offer. :( I feel really bad because both of you have been very supportive of my work on this, I didn't even consider the fact that I would be taking work away from you guys.
No need to apologize at all. I am usually really busy, and anything that can help people with getting the plate designs they want on their schedule is a good thing. Please don't think I'm upset about losing any income or anything from this. I don't normally charge anything for my help with plates, anyway. Standard (and custom) designs that this tool will generate should be in the public domain, anyway. The only time I hesitate to release something for wide dissemination is when I have spent a lot of time drawing up a proprietary design, and I think the person requesting a copy of it only wants it to sell for profit or something.
I love what you are doing here. I am an intermediate-ish python programmer and would like to see the code if it is available but I didn't see a link to source? If you don't want to release it that's totally fine BTW.
Ok thanks to both of you for the answers .Just throwing an idea around , but could be interesting for it to generate a CAD based on 2+ keyboard layouts .
For my personnal use , I switch between 2.75u rShift and 1.75u rShift +1u key. Having my own "Universal" plate with cut-outs for both rShift configuration would be fantastic .
I don't think I am going to be committing to this at this point. Especially since I think those two cutouts will actually overlap (if I remember correctly) and one uses a stabilizer and the other doesnt. I see this being a mess. I have not tried it, but you might be able to just code both keys in the layout editor and superimpose them on top of each other with the correct negative x setting to have the tool cut both cutouts. I have never tried this and I will not vouch for it working, but it 'might' be possible to do it that way...
Another use case for a human to draw your plate. While this tool is actually nothing short of AMAZEBALLS, and automates things for the vast majority of what people want, there will always be a need for skilled people to be involved when more custom options are required.
Absolutely... I have no intention of supporting the 'universal' type layouts. If you can't draw it in the keyboard-layout-editor, I won't support it, end of story.
Yes, the downloads are 3D solid drawings...
What I thought of today is that I'm worried about tolerances. If they aren't accounted for, the plate might not work. Your tool doesn't seem to account for tolerances in the machining process. Have you talked to JD or another person who has made plates to see how they dealt with this? Is it a non-issue? I'm not sure but you should find out if you envision this tool being used by a lot of people. Tolerance build up can turn your drawing, which is "perfect", into a plate in real life that may not work. I assume that what you're using is ok....but I wouldn't want to assume if I were you. Just a thought.
Yes, the downloads are 3D solid drawings...
These aren't 3D drawings. It's a 3D solid. It looks like a parasolid and it's not parametric. In other words, I can't go in and tweak anything in the .stl file. I just get this 3D representation. Typically you can alter 3D models and change the dimensions. If you can't alter the dimensions, it's called a parasolid or just 3D solid. A drawing is a blueprint with dimensions and tolerances the shop can use to make your parts. Just thought I'd point that out.
Second, I can't open any of the files you sent me in the email other than the .stl file in Autodesk Inventor. Not sure if that's a limitation of Inventor but I thought I'd share.
I couldn't get Inventor to create a drawing with it. Some shops ask for a .dwg file because you can see the dimensions.
What I thought of today is that I'm worried about tolerances. If they aren't accounted for, the plate might not work. Your tool doesn't seem to account for tolerances in the machining process. Have you talked to JD or another person who has made plates to see how they dealt with this? Is it a non-issue? I'm not sure but you should find out if you envision this tool being used by a lot of people. Tolerance build up can turn your drawing, which is "perfect", into a plate in real life that may not work. I assume that what you're using is ok....but I wouldn't want to assume if I were you. Just a thought.
Ok good. I just wanted to be thorough and I was too lazy to read the whole thread again. Apologies for being lazy but I think understanding tolerances is important to translating a design from CAD to an actual part in real life.
Ok good. I just wanted to be thorough and I was too lazy to read the whole thread again. Apologies for being lazy but I think understanding tolerances is important to translating a design from CAD to an actual part in real life.
Are you talking about tolerances in the actual drawing or tolerances in the CAD engine itself?
Thank you for the clarification. The STL format is the most lossy of the formats I sent you. It is troubling that the STL was the only one you were able to open. Hmmm...
With the STP and BRP files, I know that the dimensions are included in the file because I can measure and add dimensions to the solid once it is imported into FreeCAD (the only cad program I have). Were you getting errors when you tried to open them or did your software just not support opening that format? Do you know which formats you can open so I can try to get you a file for you to check that is not as lossy as the STL format? Maybe IGS or OBJ?
As for tolerances, are you talking about tolerances in the actual drawing? My drawings are within the tolerances according to the cherry spec, but I have not specified anything specific in my application. In my application I work with tolerances down to 0.005mm, but I think the cherry spec only has tolerances of 0.05mm. We will revisit this once I get some test stuff cut...
Ok good. I just wanted to be thorough and I was too lazy to read the whole thread again. Apologies for being lazy but I think understanding tolerances is important to translating a design from CAD to an actual part in real life.
Are you talking about tolerances in the actual drawing or tolerances in the CAD engine itself?
Laser/WJ kerf and part fitment, I believe.
If you recall we discussed CADs and I could not find anything useful and cheap. At the end, I found Cubify Design for 150€ (it is a striped down version of Geomagic Design (which is about 2000€ IIRC)). I believe they were called Alibre before ... or something like that.My scripting engine is currently written using FreeCAD.
http://cubify.com/Products/Design
http://www.geomagic.com/en/products-landing-pages/geomagicdesign
I have a pretty good knowledge about FreeCAD and Cubify Design. Long story short: Cubify is more limited as for as what you can do (what modeling options are available), but it can replay history properly (at least I did not catch it failing yet). Probably the biggest problem with it is that it cannot export to STEP (only STL). FreeCAD has a lot of modeling tools and options which mostly work, it can be scripted in python (this is actually pretty useful), but its history replay and editing sucks.
Edit: Cubify Design could be much more useful if they would allow using constants / variables / expressions on more places.
Did i miss the link to the tool or is everyone just smarter than me and understands code and is just talking about that?No. I just released a video of the tool a page or so back. It has not been released yet, I am still sorting through some stuff.
Did i miss the link to the tool or is everyone just smarter than me and understands code and is just talking about that?No. I just released a video of the tool a page or so back. It has not been released yet, I am still sorting through some stuff.
on licensing:
isn't this enough? http://choosealicense.com/licenses/no-license/
you're protected by copyright. anyone who uses your code without permission is in violation and liable to be sued.
i think the only weird issue would be how to handle contributions; i suspect each contribution will have it's own copyright and each contributor has legal leverage to block usage of the software.
I don't know how copyright works, but couldn't you make a terms and agreement that you automatically agree to buy using it?on licensing:
isn't this enough? http://choosealicense.com/licenses/no-license/
you're protected by copyright. anyone who uses your code without permission is in violation and liable to be sued.
i think the only weird issue would be how to handle contributions; i suspect each contribution will have it's own copyright and each contributor has legal leverage to block usage of the software.
No, I don't think that is realistic for software licensing. I think I have to go with something more like creative commons where it is free for people for personal use, but not for commercial use. I have to review the links that were sent to me when we were discussing this a few pages back because others did suggest some potential licenses and I have not had a chance to research them.
As for contributions, they would be falling under the same licence. They would not have ownership of the code but would be able to use it for non-commercial uses. For commercial uses, they would have to contact me and we would have to work out a licensing deal of some kind. Once I release this and get this sorted out, I will be putting the code on github and people will be able to contribute by submitting pull requests...
Honestly I don't know, I need to do a bunch of reading before I will know anything on this subject. I have never had to worry about this before.I don't know how copyright works, but couldn't you make a terms and agreement that you automatically agree to buy using it?on licensing:
isn't this enough? http://choosealicense.com/licenses/no-license/
you're protected by copyright. anyone who uses your code without permission is in violation and liable to be sued.
i think the only weird issue would be how to handle contributions; i suspect each contribution will have it's own copyright and each contributor has legal leverage to block usage of the software.
No, I don't think that is realistic for software licensing. I think I have to go with something more like creative commons where it is free for people for personal use, but not for commercial use. I have to review the links that were sent to me when we were discussing this a few pages back because others did suggest some potential licenses and I have not had a chance to research them.
As for contributions, they would be falling under the same licence. They would not have ownership of the code but would be able to use it for non-commercial uses. For commercial uses, they would have to contact me and we would have to work out a licensing deal of some kind. Once I release this and get this sorted out, I will be putting the code on github and people will be able to contribute by submitting pull requests...
I just am excited to play around with it, but it would be scummy to use it for commercial useHonestly I don't know, I need to do a bunch of reading before I will know anything on this subject. I have never had to worry about this before.I don't know how copyright works, but couldn't you make a terms and agreement that you automatically agree to buy using it?on licensing:
isn't this enough? http://choosealicense.com/licenses/no-license/
you're protected by copyright. anyone who uses your code without permission is in violation and liable to be sued.
i think the only weird issue would be how to handle contributions; i suspect each contribution will have it's own copyright and each contributor has legal leverage to block usage of the software.
No, I don't think that is realistic for software licensing. I think I have to go with something more like creative commons where it is free for people for personal use, but not for commercial use. I have to review the links that were sent to me when we were discussing this a few pages back because others did suggest some potential licenses and I have not had a chance to research them.
As for contributions, they would be falling under the same licence. They would not have ownership of the code but would be able to use it for non-commercial uses. For commercial uses, they would have to contact me and we would have to work out a licensing deal of some kind. Once I release this and get this sorted out, I will be putting the code on github and people will be able to contribute by submitting pull requests...
I love what you are doing here. I am an intermediate-ish python programmer and would like to see the code if it is available but I didn't see a link to source? If you don't want to release it that's totally fine BTW.
My plan is to open source it once I get the initial launch finished. That being said, some very valid concerns have been raised about me open sourcing the code without putting thought into the license I plan to associate with the project. I need to be a bit careful how I open source it because I need to ensure that companies dont just gack the code and embed it in their websites for profit. I want it to be free to use for people who are using it for non-commercial reasons and I need to figure out some sort of licensing for people who want to use it for commercial reasons. This is obviously not my area of expertise as I completely neglected to think about this until it was brought up in this thread. I am a little too altruistic and maybe even naive when it comes to that sort of thing, so I do need to put some thought into it before I release the code... Make sense?
https://wiki.creativecommons.org/Before_Licensing#Make_sure_the_material_is_appropriate_for_CC_licensing.
(https://wiki.creativecommons.org/Before_Licensing#Make_sure_the_material_is_appropriate_for_CC_licensing.)
?
Alright, I have done a bunch of research on this on the train on my way home.
If I am going to "open source" the software, I can not treat any groups of people differently. This means that I can not treat commercial and noncommercial differently.
That being said, there are some interesting licenses out there that make it harder for commercial users to just gack the code for profit.
I will most likely be launching this with the AGPL (http://www.gnu.org/licenses/agpl-3.0.html) license. Basically this is an open source license that allows for the code to be modified and republished, but it requires that the source code of the republished work be downloadable.
This is good for us as a community because any work that is done on the tool is required to be made available. It also makes it less likely that a company will just come along and take the code for commercial use and embed it in their app because they would then have to make their app's source code available. This will likely be enough of a deterrent for most companies unless they are very serious.
Interestingly, this license does not restrict a company from contacting me, the author, and requesting to purchase rights to the application under a different license. That's what I read anyway. If that is the case, it still gives a serious company a way to embed the application without releasing their source assuming we can come to an agreement.
So far this seems to be the best option.
That license is almost prefect for the plate builders use.Alright, I have done a bunch of research on this on the train on my way home.
If I am going to "open source" the software, I can not treat any groups of people differently. This means that I can not treat commercial and noncommercial differently.
That being said, there are some interesting licenses out there that make it harder for commercial users to just gack the code for profit.
I will most likely be launching this with the AGPL (http://www.gnu.org/licenses/agpl-3.0.html) license. Basically this is an open source license that allows for the code to be modified and republished, but it requires that the source code of the republished work be downloadable.
This is good for us as a community because any work that is done on the tool is required to be made available. It also makes it less likely that a company will just come along and take the code for commercial use and embed it in their app because they would then have to make their app's source code available. This will likely be enough of a deterrent for most companies unless they are very serious.
Interestingly, this license does not restrict a company from contacting me, the author, and requesting to purchase rights to the application under a different license. That's what I read anyway. If that is the case, it still gives a serious company a way to embed the application without releasing their source assuming we can come to an agreement.
So far this seems to be the best option.
If my understanding of your understanding is correct, this sounds like a pretty good setup for it.
http://www.freecadweb.org/wiki/index.php?title=Licence#Impact_of_the_licences
swill, did you check to see that you're not violating the freecad licenses?
it specifically mentions that gpl is valid, as is reusung lgpl. i've only knowingly seen agpl once before and i'm not sure how it relates to those 2 mentioned ones.
Stupid question, but will this work with making acrylic plates and other plastics? I seem to like acrylic and plastic plates better, and this would be awesome if they work.
Ok, thanks!Stupid question, but will this work with making acrylic plates and other plastics? I seem to like acrylic and plastic plates better, and this would be awesome if they work.
Yes it will, but I have to do some tests with my cutouts because I know the kerf with metals and plastics are different so I need to make sure that my cutouts will work with everything. All my cutouts are drawn to cherry spec, but that does not mean that they will be perfect first shot...
Stupid question, but will this work with making acrylic plates and other plastics? I seem to like acrylic and plastic plates better, and this would be awesome if they work.
Yes it will, but I have to do some tests with my cutouts because I know the kerf with metals and plastics are different so I need to make sure that my cutouts will work with everything. All my cutouts are drawn to cherry spec, but that does not mean that they will be perfect first shot...
Stupid question, but will this work with making acrylic plates and other plastics? I seem to like acrylic and plastic plates better, and this would be awesome if they work.
Yes it will, but I have to do some tests with my cutouts because I know the kerf with metals and plastics are different so I need to make sure that my cutouts will work with everything. All my cutouts are drawn to cherry spec, but that does not mean that they will be perfect first shot...
I've mentioned common acrylic kerf for the thickness used somewhere in the start of the thread. My experience, has been that using the Cherry spec results in slightly loose cutouts, and slight compenstion in CAD is required.
Someone posted this on reddit today:
https://www.reddit.com/r/MechanicalKeyboards/comments/2seon0/i_wrote_a_script_that_makes_a_keyboard_plate_in/
Someone posted this on reddit today:
https://www.reddit.com/r/MechanicalKeyboards/comments/2seon0/i_wrote_a_script_that_makes_a_keyboard_plate_in/
This could be swill, I guess....
I hVent checked it out, but yours probably has better support and more options.Someone posted this on reddit today:
https://www.reddit.com/r/MechanicalKeyboards/comments/2seon0/i_wrote_a_script_that_makes_a_keyboard_plate_in/
This could be swill, I guess....
Interestingly, this is not actually me... haha...
Apparently someone else is working on this too...
Someone posted this on reddit today:
https://www.reddit.com/r/MechanicalKeyboards/comments/2seon0/i_wrote_a_script_that_makes_a_keyboard_plate_in/
Someone posted this on reddit today:
https://www.reddit.com/r/MechanicalKeyboards/comments/2seon0/i_wrote_a_script_that_makes_a_keyboard_plate_in/
Hi everyone, I'm the author of this reddit post.
I had been toying with the idea for a while, but unfortunately never saw this thread. I had a lot of spare time during my Christmas break, so I did some research and wrote some python code.
My script will probably be annoying to use for most people, but it works. Some things are wrong with it (such as the cherry stab holes) but I'll be making a few improvements to it shortly.
Please let me know if you have any questions.
Thanks.
Alright, so this update has been a long time in coming. I have been slowly chugging away at this, but the problem that I could not draw two CAD drawings at the same time really threw a wrench into my plans of having this available as a web application.
I am happy to announce that I have solved the problem and I now have a working application which can handle drawing more than one CAD at a time.
I will attach a flow diagram at the end, but here is the basic idea:
- On my server I have a Tornado application which acts as my webserver. It basically hosts the website.
- When new drawing requests come in, the Tornado server will automatically spin up a new LXC container (which is basically running the exact same Tornado application) as a worker for that request and the parent server directs the LXC worker to actually draw the CAD.
- When the CAD is finished being drawn, the LXC worker will upload all the files into an AWS S3 bucket and will return to the parent server the metadata and where to find the files in S3.
- When the client requests to download the CAD files, the request is sent directly to S3 and the files are retrieved from S3 without ever actually hitting my server.
- In addition, if subsequent requests are made for the exact same layout (including holes, padding, etc, etc...) the server will see that the CAD has already been drawn, and it will return the request directly referencing the existing S3 files for that drawing. For a cache hit, the two have to be identical, so even if legends on the layout changes (which does not affect the resulting CAD), it will miss the cache and redraw from scratch.
- Once an LXC worker has finished doing its work, it will automatically be destroyed.
That is basically it. Here is a graphic to illustrate what I specified above...
(Attachment Link)
Soon™. I still have a lot of little things to take care of, so hopefully I can get through them quickly. The next couple months are a bit crazy around here because my wife is finishing osteo school. I have the baby a lot so she can study, so my time is pretty limited right now. As long as I don't hit any more show stoppers like this I should be able to get this out the door in the next couple weeks.Alright, so this update has been a long time in coming. I have been slowly chugging away at this, but the problem that I could not draw two CAD drawings at the same time really threw a wrench into my plans of having this available as a web application.
I am happy to announce that I have solved the problem and I now have a working application which can handle drawing more than one CAD at a time.
I will attach a flow diagram at the end, but here is the basic idea:
- On my server I have a Tornado application which acts as my webserver. It basically hosts the website.
- When new drawing requests come in, the Tornado server will automatically spin up a new LXC container (which is basically running the exact same Tornado application) as a worker for that request and the parent server directs the LXC worker to actually draw the CAD.
- When the CAD is finished being drawn, the LXC worker will upload all the files into an AWS S3 bucket and will return to the parent server the metadata and where to find the files in S3.
- When the client requests to download the CAD files, the request is sent directly to S3 and the files are retrieved from S3 without ever actually hitting my server.
- In addition, if subsequent requests are made for the exact same layout (including holes, padding, etc, etc...) the server will see that the CAD has already been drawn, and it will return the request directly referencing the existing S3 files for that drawing. For a cache hit, the two have to be identical, so even if legends on the layout changes (which does not affect the resulting CAD), it will miss the cache and redraw from scratch.
- Once an LXC worker has finished doing its work, it will automatically be destroyed.
That is basically it. Here is a graphic to illustrate what I specified above...
(Attachment Link)
Nice job! Very efficient. ETA for a release?
SoonAlright, so this update has been a long time in coming. I have been slowly chugging away at this, but the problem that I could not draw two CAD drawings at the same time really threw a wrench into my plans of having this available as a web application.
I am happy to announce that I have solved the problem and I now have a working application which can handle drawing more than one CAD at a time.
I will attach a flow diagram at the end, but here is the basic idea:
- On my server I have a Tornado application which acts as my webserver. It basically hosts the website.
- When new drawing requests come in, the Tornado server will automatically spin up a new LXC container (which is basically running the exact same Tornado application) as a worker for that request and the parent server directs the LXC worker to actually draw the CAD.
- When the CAD is finished being drawn, the LXC worker will upload all the files into an AWS S3 bucket and will return to the parent server the metadata and where to find the files in S3.
- When the client requests to download the CAD files, the request is sent directly to S3 and the files are retrieved from S3 without ever actually hitting my server.
- In addition, if subsequent requests are made for the exact same layout (including holes, padding, etc, etc...) the server will see that the CAD has already been drawn, and it will return the request directly referencing the existing S3 files for that drawing. For a cache hit, the two have to be identical, so even if legends on the layout changes (which does not affect the resulting CAD), it will miss the cache and redraw from scratch.
- Once an LXC worker has finished doing its work, it will automatically be destroyed.
That is basically it. Here is a graphic to illustrate what I specified above...
(Attachment Link)
Nice job! Very efficient. ETA for a release?. I still have a lot of little things to take care of, so hopefully I can get through them quickly. The next couple months are a bit crazy around here because my wife is finishing osteo school. I have the baby a lot so she can study, so my time is pretty limited right now. As long as I don't hit any more show stoppers like this I should be able to get this out the door in the next couple weeks.
Sorry for the delays and all the #hype. I am excited about this too, but it has been slower progress than I was hoping.
I am happy to announce that I have solved the problem and I now have a working application which can handle drawing more than one CAD at a time.
SoonAlright, so this update has been a long time in coming. I have been slowly chugging away at this, but the problem that I could not draw two CAD drawings at the same time really threw a wrench into my plans of having this available as a web application.
I am happy to announce that I have solved the problem and I now have a working application which can handle drawing more than one CAD at a time.
I will attach a flow diagram at the end, but here is the basic idea:
- On my server I have a Tornado application which acts as my webserver. It basically hosts the website.
- When new drawing requests come in, the Tornado server will automatically spin up a new LXC container (which is basically running the exact same Tornado application) as a worker for that request and the parent server directs the LXC worker to actually draw the CAD.
- When the CAD is finished being drawn, the LXC worker will upload all the files into an AWS S3 bucket and will return to the parent server the metadata and where to find the files in S3.
- When the client requests to download the CAD files, the request is sent directly to S3 and the files are retrieved from S3 without ever actually hitting my server.
- In addition, if subsequent requests are made for the exact same layout (including holes, padding, etc, etc...) the server will see that the CAD has already been drawn, and it will return the request directly referencing the existing S3 files for that drawing. For a cache hit, the two have to be identical, so even if legends on the layout changes (which does not affect the resulting CAD), it will miss the cache and redraw from scratch.
- Once an LXC worker has finished doing its work, it will automatically be destroyed.
That is basically it. Here is a graphic to illustrate what I specified above...
(Attachment Link)
Nice job! Very efficient. ETA for a release?. I still have a lot of little things to take care of, so hopefully I can get through them quickly. The next couple months are a bit crazy around here because my wife is finishing osteo school. I have the baby a lot so she can study, so my time is pretty limited right now. As long as I don't hit any more show stoppers like this I should be able to get this out the door in the next couple weeks.
Sorry for the delays and all the #hype. I am excited about this too, but it has been slower progress than I was hoping.
Bro, pretty much every project any of us does around here (including me) hits unforeseen snags and delays. I think it's awesome that you saw a need, said "I can do that", and got 'er done.
Random question...
Should a switch opening be rotated if (height > width)? I am going to be doing this for vertical keys (with or without stabilizers). Also, does the direction the switch is rotated matter? I know for normal switch opens it doesn't, but for ones with stabilizers, that may be a different story. I am currently planning to rotate clockwise, but I could change that...
Different keyboards (PCBs) do it different ways. I don't know that there is a best practice on which way to orient the stabilizer holes. :(
Also, some PCBs have the vertical switch aligned to the orientation of the stabilizer, and some keep the switch aligned with all the other switches in direction.
Diagram:Different keyboards (PCBs) do it different ways. I don't know that there is a best practice on which way to orient the stabilizer holes. :(
Ok, I will add a way for the orientation to be overridden on a switch by switch bases so we can orient the stabilizers however we need to.Also, some PCBs have the vertical switch aligned to the orientation of the stabilizer, and some keep the switch aligned with all the other switches in direction.
I didn't actually understand this. can you give me a little better description of this so I can figure out how to deal with it.
Thx for your help. :)
Diagram:Different keyboards (PCBs) do it different ways. I don't know that there is a best practice on which way to orient the stabilizer holes. :(
Ok, I will add a way for the orientation to be overridden on a switch by switch bases so we can orient the stabilizers however we need to.Also, some PCBs have the vertical switch aligned to the orientation of the stabilizer, and some keep the switch aligned with all the other switches in direction.
I didn't actually understand this. can you give me a little better description of this so I can figure out how to deal with it.
Thx for your help. :)Show Image(http://i.imgur.com/oEBv907.png])
Diagram:Different keyboards (PCBs) do it different ways. I don't know that there is a best practice on which way to orient the stabilizer holes. :(
Ok, I will add a way for the orientation to be overridden on a switch by switch bases so we can orient the stabilizers however we need to.Also, some PCBs have the vertical switch aligned to the orientation of the stabilizer, and some keep the switch aligned with all the other switches in direction.
I didn't actually understand this. can you give me a little better description of this so I can figure out how to deal with it.
Thx for your help. :)Show Image(http://i.imgur.com/oEBv907.png])
Exactly. Thanks for illustrating my text. :)
With my tool, users can specify that a switch should be rotated by 90 degrees by putting !r! in the key's label in the layout editor.
I figured it would be an important option if they're using H cut outs with cherry stabilizers or if they are using Alps-like switches.
Btw, has anyone here tried my tool? I know you are all anxious to see swill's progress, but I'd like to know if mine is getting used atm.
Would there be enough people to discuss it with if I made a separate thread?
If only I knew what was going on here half the time :)) Still just as excited for the release of this though :thumb:Haha. You and I both. :). In all seriousness, things are coming along and I think it is going to be pretty sweet once its ready.
I found this which is kind of interesting for showing some basic kerf numbers for acrylic: http://www.redtorope.com/2011/07/laser-cutter-kerf-measurement/
For the switch openings I think it is pretty easy to do the kerf because I can just shrink the hole by <kerf>. This can be done by just subtracting the <kerf> from each cartesian coordinate (relative to center). It gets a little trickier with the stabilizer openings because the center of the stabilizer holes needs to stay at exactly <X> from switch center. I will need subtract kerf from some areas and add kerf to other areas to shrink the 'opening' while still keeping the centers of each of the major components in the right place. I will look into this tonight when my brain is not so foggy and I have a piece of paper in front of me so I can draw it...
I found this which is kind of interesting for showing some basic kerf numbers for acrylic: http://www.redtorope.com/2011/07/laser-cutter-kerf-measurement/
For the switch openings I think it is pretty easy to do the kerf because I can just shrink the hole by <kerf>. This can be done by just subtracting the <kerf> from each cartesian coordinate (relative to center). It gets a little trickier with the stabilizer openings because the center of the stabilizer holes needs to stay at exactly <X> from switch center. I will need subtract kerf from some areas and add kerf to other areas to shrink the 'opening' while still keeping the centers of each of the major components in the right place. I will look into this tonight when my brain is not so foggy and I have a piece of paper in front of me so I can draw it...
With regards to the kerf on the locations of the stab cutouts, just take half from every edge in relation to the center line. IE if the edges are 3mm from center line, 6mm apart, and the kerf is .05mm, then your distances would be 2.975mm from center or 5.95mm from each other but location of the hole is unchanged. This is one advantage of working from center lines as opposed to pitch.
Just wondering but what are the chances that the files this app pukes out will be editable with SolidWorks?
Just wondering but what are the chances that the files this app pukes out will be editable with SolidWorks?The export formats result in a 3D solid. You could theoretically modify it after, but it will not do you any favours. You will not be able to modify what I produce other than to add (more likely remove) material.
Looking very nice swill. I highly appreciate the ability to set the switch cut out using the text from the layout generator. Regarding kerf, what you have said, sounds right.Cool. Thanks for verifying. :). I will try to get this finished tonight.
Looking very nice swill. I highly appreciate the ability to set the switch cut out using the text from the layout generator. Regarding kerf, what you have said, sounds right.Cool. Thanks for verifying. :). I will try to get this finished tonight.
Just wondering but what are the chances that the files this app pukes out will be editable with SolidWorks?The export formats result in a 3D solid. You could theoretically modify it after, but it will not do you any favours. You will not be able to modify what I produce other than to add (more likely remove) material.
Ya, that should be possible.Just wondering but what are the chances that the files this app pukes out will be editable with SolidWorks?The export formats result in a 3D solid. You could theoretically modify it after, but it will not do you any favours. You will not be able to modify what I produce other than to add (more likely remove) material.
Yeah it would be to make holes bigger and then combine certain holes as well.
Someone posted this on reddit today:
https://www.reddit.com/r/MechanicalKeyboards/comments/2seon0/i_wrote_a_script_that_makes_a_keyboard_plate_in/
This could be swill, I guess....
Interestingly, this is not actually me... haha...
Apparently someone else is working on this too...
Alright. Kerf is implemented...
Here is stabilizer cutout with kerf = 0.0mm
(Attachment Link)
Here is the same cutout with kerf = 0.1mm
(Attachment Link)
And here is the current UI with all options expanded...
(Attachment Link)
Let me know if you see any problems with my calculations. I have implemented kerf for all my cutouts. Also, let me know if you think I should change the UI at all for this feature. I am considering adding a default kerf of something like 0.05, but I am not sure about that yet. Do we know what the kerf is for 1.6mm aluminum? Thx guys...
I was thinking of doing that, but then I would require the thickness field if they specify the material because the thickness affects the kerf value. I will talk to a couple shops and see what they quote me for kerf for the different materials and thicknesses.Alright. Kerf is implemented...
Here is stabilizer cutout with kerf = 0.0mm
(Attachment Link)
Here is the same cutout with kerf = 0.1mm
(Attachment Link)
And here is the current UI with all options expanded...
(Attachment Link)
Let me know if you see any problems with my calculations. I have implemented kerf for all my cutouts. Also, let me know if you think I should change the UI at all for this feature. I am considering adding a default kerf of something like 0.05, but I am not sure about that yet. Do we know what the kerf is for 1.6mm aluminum? Thx guys...
I think a good choice for UI would be just to have the drop down select what the plate material will be, which will dictate what the kerf will be for the calculations on the back end. What those numbers are for different materials I can't tell ya, but I wouldn't think that it would vary to much from fab shop to fab shop.
Yeah, looks good. In the help popup, maybe you can have a small table with the commonly used materials (Acrylic, steel, alu) and the common thickness (1.5mm, 3mm, 5mm) and the associated kerfs.Ya. That's a good simple idea.
LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866400.51
Worker has IP: 10.0.3.156
LXC setup took: 11.58 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866412.36
Worker has IP: 10.0.3.2
LXC setup took: 12.49 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866425.12
Worker has IP: 10.0.3.249
LXC setup took: 12.58 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866438.16
Worker has IP: 10.0.3.59
LXC setup took: 12.46 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866450.98
Worker has IP: 10.0.3.116
LXC setup took: 12.67 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 102.38 seconds
Request took: 102.83 seconds
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 141.85 seconds
Request took: 142.20 seconds
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 91.73 seconds
Request took: 92.07 seconds
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 117.67 seconds
Request took: 117.94 seconds
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 132.14 seconds
Request took: 132.39 seconds
Last night I spent a bunch of time trying to get the processes to be parallelized. I have been able to get the actual cad drawing to be done in sub processes and that is working great. However I still have not been able to figure out how to make the setup of the LXC containers no block my thread. All in all, I think this aspect of the code is good enough...
I did a test to build 5 plates at the same time with the following results. It definitely affects the build time of each plate, but it is still within reason. All the plates were built within about 2 minutes, so thats not too bad. Thats not too bad considering there was about 110 seconds of blocked time where only one plate is being worked on in that period.
Here are some details:Code: [Select]LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866400.51
Worker has IP: 10.0.3.156
LXC setup took: 11.58 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866412.36
Worker has IP: 10.0.3.2
LXC setup took: 12.49 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866425.12
Worker has IP: 10.0.3.249
LXC setup took: 12.58 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866438.16
Worker has IP: 10.0.3.59
LXC setup took: 12.46 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866450.98
Worker has IP: 10.0.3.116
LXC setup took: 12.67 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 102.38 seconds
Request took: 102.83 seconds
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 141.85 seconds
Request took: 142.20 seconds
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 91.73 seconds
Request took: 92.07 seconds
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 117.67 seconds
Request took: 117.94 seconds
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 132.14 seconds
Request took: 132.39 seconds
They are all building the same hash because I was building the same layout on all machines. I currently have caching turned off for testing purposes...
Last night I spent a bunch of time trying to get the processes to be parallelized. I have been able to get the actual cad drawing to be done in sub processes and that is working great. However I still have not been able to figure out how to make the setup of the LXC containers no block my thread. All in all, I think this aspect of the code is good enough...
I did a test to build 5 plates at the same time with the following results. It definitely affects the build time of each plate, but it is still within reason. All the plates were built within about 2 minutes, so thats not too bad. Thats not too bad considering there was about 110 seconds of blocked time where only one plate is being worked on in that period.
Here are some details:Code: [Select]LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866400.51
Worker has IP: 10.0.3.156
LXC setup took: 11.58 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866412.36
Worker has IP: 10.0.3.2
LXC setup took: 12.49 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866425.12
Worker has IP: 10.0.3.249
LXC setup took: 12.58 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866438.16
Worker has IP: 10.0.3.59
LXC setup took: 12.46 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC processing: 1434c58682d567f414ea0bda091e94668f30e7f8
Creating LXC worker: 1434c58682d567f414ea0bda091e94668f30e7f8_1421866450.98
Worker has IP: 10.0.3.116
LXC setup took: 12.67 seconds
Drawing: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 102.38 seconds
Request took: 102.83 seconds
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 141.85 seconds
Request took: 142.20 seconds
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 91.73 seconds
Request took: 92.07 seconds
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 117.67 seconds
Request took: 117.94 seconds
LXC finished: 1434c58682d567f414ea0bda091e94668f30e7f8
LXC process took: 132.14 seconds
Request took: 132.39 seconds
They are all building the same hash because I was building the same layout on all machines. I currently have caching turned off for testing purposes...
Surely 10 seconds on the main thread isn't too bad? Or does this stop any user from using the tool?
[{_t:0,_k:0.0},"_t:0\n_k:0",{_t:0,_k:0.05},"_t:0\n_k:.05",{_t:0,_k:0.1},"_t:0\n_k:.1",{_t:0,_k:0.15},"_t:0\n_k:.15",{_t:1,_k:0.0},"_t:1\n_k:0",{_t:1,_k:0.05},"_t:1\n_k:.05",{_t:1,_k:0.1},"_t:1\n_k:.1",{_t:1,_k:0.15},"_t:1\n_k:.15",{_t:1,_r:90,h:2,_k:0.05},"_t:1\n_k:.05",{_t:1,_r:90,_rs:180,h:2,_k:0.1},"_t:1\n_k:.1"],
[{_t:2,_k:0.0},"_t:2\n_k:0",{_t:2,_k:0.05},"_t:2\n_k:.05",{_t:2,_k:0.1},"_t:2\n_k:.1",{_t:2,_k:0.15},"_t:2\n_k:.15",{_t:3,_k:0.0},"_t:3\n_k:0",{_t:3,_k:0.05},"_t:3\n_k:.05",{_t:3,_k:0.1},"_t:3\n_k:.1",{_t:3,_k:0.15},"_t:3\n_k:.15"],
[{_t:0,w:2,_k:0.0},"_t:0\n_k:0",{_t:0,w:2,_k:0.05},"_t:0\n_k:.05",{_t:0,w:2,_k:0.1},"_t:0\n_k:.1",{_t:0,w:2,_k:0.15},"._t:0\n_k:.15",{_t:0,w:2,_k:0.2},"_t:0\n_k:.2"],
[{_t:0,w:1.25,_k:0.05},"_t:0\n_k:.05",{_t:0,w:1.75,_k:0.05},"_t:0\n_k:.05",{_t:1,w:2.25,_k:0.05},"_t:1\n_k:.05",{_t:2,w:2.75,_k:0.05},"_t:2\n_k:.05",{_t:2,_r:90,h:2,_k:0.05},"_t:2\n_k:.05",{_t:2,_r:90,_rs:180,h:2,_k:0.1},"_t:2\n_k:.1"],
[{_t:0,w:1.25,_k:0.1},"_t:0\n_k:.1",{_t:0,w:1.75,_k:0.1},"_t:0\n_k:.1",{_t:1,w:2.25,_k:0.1,_rs:180},"_t:1\n_k:.1",{_t:2,w:2.75,_k:0.1,_rs:180},"_t:2\n_k:.1"],
[{_t:0,w:1.5,_k:0.05},"_t:0\n_k:.05",{_t:1,w:7,_k:0.05},"_t:1\n_k:.05",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25,_t:0,_k:0.05},"_t:0\n_k:.05"],
[{_t:0,w:1.25,_k:0.025},"_t:0\n_k:.025",{_t:0,w:1.25,_k:0.075},"_t:0\n_k:.075",{_t:2,w:6.25,_k:0.05},"_t:2\n_k:.05"],
[{_t:0,w:1.5,_k:0.1},"_t:0\n_k:.1",{_t:1,w:7,_k:0.1},"_t:1\n_k:.1",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25,_t:0,_k:0.1},"_t:0\n_k:.1"],
[{_t:0,w:1.25,_k:0.125},"_t:0\n_k:.125",{_t:0,w:1.25,_k:0.175},"_t:0\n_k:.175",{_t:2,w:6.25,_k:0.1},"_t:2\n_k:.1"]
Starting to get a test plate together for testing all the different cutouts and configuration options. I am planning to get a plate cut in 1.5mm aluminum and one in 5mm acrylic. I think this should give us a pretty good idea where we are at.
Below is the layout I am looking to do (I will add a bunch of different holes as well in both 2 and 3 mm (ish) so I can get a feel for how kerf affects them as well.
(Attachment Link)
Here is how I am rendering it. I am rendering it with all combinations of options that I can think of. I am also verifying the width of all the keys is actually correct.
(Attachment Link)
I am not cutting every single spacebar size. They all use the same formula, so as long as the Deskthority wiki is correct on spacing details, they should all be good. I don't actually have the spacebars to actually test those other random sized spacebars, so that is just going to have to be the way it is.
Here is the code I am using to generate the plate (so far, this will get customized a bit because I still need to draw a bunch of rows of holes):Code: [Select][{_t:0,_k:0.0},"_t:0\n_k:0",{_t:0,_k:0.05},"_t:0\n_k:.05",{_t:0,_k:0.1},"_t:0\n_k:.1",{_t:0,_k:0.15},"_t:0\n_k:.15",{_t:1,_k:0.0},"_t:1\n_k:0",{_t:1,_k:0.05},"_t:1\n_k:.05",{_t:1,_k:0.1},"_t:1\n_k:.1",{_t:1,_k:0.15},"_t:1\n_k:.15",{_t:1,_r:90,h:2,_k:0.05},"_t:1\n_k:.05",{_t:1,_r:90,_rs:180,h:2,_k:0.1},"_t:1\n_k:.1"],
[{_t:2,_k:0.0},"_t:2\n_k:0",{_t:2,_k:0.05},"_t:2\n_k:.05",{_t:2,_k:0.1},"_t:2\n_k:.1",{_t:2,_k:0.15},"_t:2\n_k:.15",{_t:3,_k:0.0},"_t:3\n_k:0",{_t:3,_k:0.05},"_t:3\n_k:.05",{_t:3,_k:0.1},"_t:3\n_k:.1",{_t:3,_k:0.15},"_t:3\n_k:.15"],
[{_t:0,w:2,_k:0.0},"_t:0\n_k:0",{_t:0,w:2,_k:0.05},"_t:0\n_k:.05",{_t:0,w:2,_k:0.1},"_t:0\n_k:.1",{_t:0,w:2,_k:0.15},"._t:0\n_k:.15",{_t:0,w:2,_k:0.2},"_t:0\n_k:.2"],
[{_t:0,w:1.25,_k:0.05},"_t:0\n_k:.05",{_t:0,w:1.75,_k:0.05},"_t:0\n_k:.05",{_t:0,w:2.25,_k:0.05},"_t:0\n_k:.05",{_t:0,w:2.75,_k:0.05},"_t:0\n_k:.05",{_t:2,_r:90,h:2,_k:0.05},"_t:2\n_k:.05",{_t:2,_r:90,_rs:180,h:2,_k:0.1},"_t:2\n_k:.1"],
[{_t:0,w:1.25,_k:0.1},"_t:0\n_k:.1",{_t:0,w:1.75,_k:0.1},"_t:0\n_k:.1",{_t:0,w:2.25,_k:0.1,_rs:180},"_t:0\n_k:.1",{_t:0,w:2.75,_k:0.1,_rs:180},"_t:0\n_k:.1"],
[{_t:0,w:1.5,_k:0.05},"_t:0\n_k:.05",{_t:1,w:7,_k:0.05},"_t:1\n_k:.05",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25,_t:0,_k:0.05},"_t:0\n_k:.05"],
[{_t:0,w:1.25,_k:0.025},"_t:0\n_k:.025",{_t:0,w:1.25,_k:0.075},"_t:0\n_k:.075",{_t:2,w:6.25,_k:0.05},"_t:2\n_k:.05"],
[{_t:0,w:1.5,_k:0.1},"_t:0\n_k:.1",{_t:1,w:7,_k:0.1},"_t:1\n_k:.1",{x:0.25,w:1.25,h:2,w2:1.5,h2:1,x2:-0.25,_t:0,_k:0.1},"_t:0\n_k:.1"],
[{_t:0,w:1.25,_k:0.125},"_t:0\n_k:.125",{_t:0,w:1.25,_k:0.175},"_t:0\n_k:.175",{_t:2,w:6.25,_k:0.1},"_t:2\n_k:.1"]
Let me know if you guys have comments. If you notice something that I am missing, please let me know. Most of the layout keys I only did it two kerf values just to make sure I got at least one working version so I could test the actual layout of the keys. I am hoping I can get a good idea what kerf values will be ideal for the different materials with this.
What size space bars would you need?
I ordered the space bar pack on the toxic buy so I can loan you a few for testing.
self.stabs = {
"300":19.05-3.325, # 3 unit
"400":28.575-3.325, # 4 unit
"450":34.671-3.325, # 4.5 unit
"550":42.8625-3.325, # 5.5 unit
"625":50-3.325, # 6.25 unit
"650":52.38-3.325, # 6.5 unit
"700":57.15-3.325, # 7 unit
"800":66.675-3.325, # 8 unit
"900":66.675-3.325, # 9 unit
"1000":66.675-3.325 # 10 unit
}
BTW, all these numbers come from here: http://deskthority.net/wiki/Space_bar_dimensionsStarting to get a test plate together for testing all the different cutouts and configuration options. I am planning to get a plate cut in 1.5mm aluminum and one in 5mm acrylic. I think this should give us a pretty good idea where we are at.
snip
Let me know if you guys have comments. If you notice something that I am missing, please let me know. Most of the layout keys I only did it two kerf values just to make sure I got at least one working version so I could test the actual layout of the keys. I am hoping I can get a good idea what kerf values will be ideal for the different materials with this.
One of my local laser cutters. There are a few in Montreal. I have not used any of them yet, so I will try to compare them a bit and see which is best for small jobs.Starting to get a test plate together for testing all the different cutouts and configuration options. I am planning to get a plate cut in 1.5mm aluminum and one in 5mm acrylic. I think this should give us a pretty good idea where we are at.
snip
Let me know if you guys have comments. If you notice something that I am missing, please let me know. Most of the layout keys I only did it two kerf values just to make sure I got at least one working version so I could test the actual layout of the keys. I am hoping I can get a good idea what kerf values will be ideal for the different materials with this.
Nice! Where do you plan on getting it cut?
Do you know if the kerf values for carbon fiber would be different? I'm guessing somewhere between aluminum and acrylic but I have no idea.I'm not sure, but I will try to get more details before I get it cut. Hopefully they can give me a ballpark quote of the kerf for the different materials.
Do you know if the kerf values for carbon fiber would be different? I'm guessing somewhere between aluminum and acrylic but I have no idea.
Do you know if the kerf values for carbon fiber would be different? I'm guessing somewhere between aluminum and acrylic but I have no idea.
I may be wrong but I don't think carbon fibre cuts with laser due to catching on fire and other properties. It is also very hard on milling cutters, but cuts well but loose fibres from machining pose a health and environmental hazard to be dealt with. Water jet is pretty popular from my experience.
Should, but the kerf for waterjet is much larger than laser so that would need to be compensated for.Luckily we have fully configurable kerf settings now.
Should, but the kerf for waterjet is much larger than laser so that would need to be compensated for.Luckily we have fully configurable kerf settings now.
On that note, everything has been updated in my tool to reflect the kerf settings. Tonight I added the kerf setting calculation to the overall outside dimensions of the plate as well as the mount holes and their placement. The kerf settings are now addressed on all cutout edges supported by the tool.
I am traveling for work all week next week. I am going to see if I can get the sample plate cut completely remotely while I am out of town, but we will see. I just saw on the companies website I was planning to use that they don't laser metal (only CNC). I could get the acrylic done there though. I will check with other shops before I decide what I will do. I may put up what I have so people can play and I will just put a disclaimer that the cutouts are untested.
ITS ALIVE: builder.swillkb.com (http://builder.swillkb.com/)Nice job, it was no easy task doing that.
It will take 24-48 hours for the DNS to propagate to make this link work for everyone, but the DNS has been changed to point to the tool.
I have added a disclaimer at the top noting that the switch cutouts are still untested, so be aware of that... If you cut a plate before I remove that disclaimer, you are doing so at your own risk. Haha, if you do, please let us know how it went. :P
Let me know if you have any questions, problems, etc...
ITS ALIVE: builder.swillkb.com (http://builder.swillkb.com/)Nice swill , will play with it soon(tm).
It will take 24-48 hours for the DNS to propagate to make this link work for everyone, but the DNS has been changed to point to the tool.
I have added a disclaimer at the top noting that the switch cutouts are still untested, so be aware of that... If you cut a plate before I remove that disclaimer, you are doing so at your own risk. Haha, if you do, please let us know how it went. :P
Let me know if you have any questions, problems, etc...
ITS ALIVE: builder.swillkb.com (http://builder.swillkb.com/)
It will take 24-48 hours for the DNS to propagate to make this link work for everyone, but the DNS has been changed to point to the tool.
I have added a disclaimer at the top noting that the switch cutouts are still untested, so be aware of that... If you cut a plate before I remove that disclaimer, you are doing so at your own risk. Haha, if you do, please let us know how it went. :P
Let me know if you have any questions, problems, etc...
I think this will be my first piece
http://tinyurl.com/oga9rzu
ITS ALIVE: builder.swillkb.com (http://builder.swillkb.com/)
It will take 24-48 hours for the DNS to propagate to make this link work for everyone, but the DNS has been changed to point to the tool.
I have added a disclaimer at the top noting that the switch cutouts are still untested, so be aware of that... If you cut a plate before I remove that disclaimer, you are doing so at your own risk. Haha, if you do, please let us know how it went. :P
Let me know if you have any questions, problems, etc...
Sweet..... i'm already fiddling with it =)
Thanks so much for doing this.I think this will be my first piece
http://tinyurl.com/oga9rzu
The link doesn't work for me.
http://www.keyboard-layout-editor.com/##@@=Esc&_x:1%3B&=F1&=F2&=F3&=F4&_x:2.25%3B&=Num%20Lock&=Delete&=%2F%2F&=*&=-&_x:1.75%3B&=F5&=F6&=F7&=F8&_x:0.5%3B&=F9&=F10&=F11&=F12%3B&@_y:0.5%3B&=~%0A%60&=!%0A1&=%2F@%0A2&=%23%0A3&=$%0A4&=%25%0A5&=%5E%0A6&_x:1.25%3B&=Home&=7%0AHome&=8%0A%E2%86%91&=9%0APgUp&=PgUp&_x:2.25%3B&=%2F&%0A7&=*%0A8&=(%0A9&=)%0A0&=%2F_%0A-&=+%0A%2F=&_w:2%3B&=Backspace%3B&@_w:1.5%3B&=Tab&=Q&=W&=E&=R&=T&_x:1.75%3B&=End&=4%0A%E2%86%90&=5&=6%0A%E2%86%92&=PgDn&_x:1.75%3B&=Y&=U&=I&=O&=P&=%7B%0A%5B&=%7D%0A%5D&_w:1.5%3B&=%7C%0A%5C%3B&@_w:1.75%3B&=Caps%20Lock&=A&=S&=D&=F&=G&_x:1.5&h:2%3B&=+&=1%0AEnd&=2%0A%E2%86%93&=3%0APgDn&_h:2%3B&=Enter&_x:2%3B&=H&=J&=K&=L&=%2F:%0A%2F%3B&=%22%0A'&_w:2.25%3B&=Enter%3B&@_w:2.25%3B&=Shift&=Z&=X&=C&=V&_x:3%3B&=0%0AIns&=%E2%86%91&=.%0ADel&_x:2.5%3B&=B&=N&=M&=%3C%0A,&=%3E%0A.&=%3F%0A%2F%2F&_w:2.75%3B&=Shift%3B&@_w:1.5%3B&=Ctrl&_w:1.5%3B&=Alt&_w:6.25%3B&=&=%E2%86%90&=%E2%86%93&=%E2%86%92&_w:6.25%3B&=&_w:1.5%3B&=Alt&=Win&=Menu&_w:1.5%3B&=Ctrl
The only issue I can see so far is...I had not thought of this use case. Is there a specific case you are referring to that has that setup?
when building a 104-key plate, it doesn't truncate the plate at the top (above the numpad, to the right of the Pause key)
This is a specific use case, where the plate isn't wanted to be exactly rectangular.
I think this will be my first pieceCrazy. Haha. :)
http://tinyurl.com/oga9rzu
The only issue I can see so far is...I had not thought of this use case. Is there a specific case you are referring to that has that setup?
when building a 104-key plate, it doesn't truncate the plate at the top (above the numpad, to the right of the Pause key)
This is a specific use case, where the plate isn't wanted to be exactly rectangular.
I think this will be my first piece
http://tinyurl.com/oga9rzu
The link doesn't work for me.
Ahhh. Gotcha. I have not taken apart a full sized, so I did not realize that. Yes, when I do the mount hole support for existing full sized cases, I will add this cutout to that case type. I will slowly add case types with specific mount hole locations and static sized plates and you will basically be able to work in those constraints.The only issue I can see so far is...I had not thought of this use case. Is there a specific case you are referring to that has that setup?
when building a 104-key plate, it doesn't truncate the plate at the top (above the numpad, to the right of the Pause key)
This is a specific use case, where the plate isn't wanted to be exactly rectangular.
Most 104-key keyboards, Filco, Rosewill, etc, have this area of the plate cut out. It's where the controller electronics are normally located, instead of, as in a TKL, the area above the cursor arrows.
Works on my phone for some reason....Oh. Haha. I am currently on my phone. I have not checked on my putter.
The ergodox plate looks sexy! lolShow Image(http://puu.sh/f2woD/140f23d9b0.png)
The ergodox plate looks sexy! lolShow Image(http://puu.sh/f2woD/140f23d9b0.png)
Apart from the crazy non-rectangular stuff, it seems the tool is very robust. This should help people get started with their plate designs.
Thanks for all your hard work, swill!
Dumb question : how do I convert one of those 3 files to dwg ?
Or you can open in FreeCAD, and export to .dwg or .dxf
Dumb question : how do I convert one of those 3 files to dwg ?
So I've been lurking and signed up because of this thread. Awesome resources man, really appreciate the website. With that said I want to be the test dummy for this CAD file. Any suggestions on an online company that can cut aluminum?
So I've been lurking and signed up because of this thread. Awesome resources man, really appreciate the website. With that said I want to be the test dummy for this CAD file. Any suggestions on an online company that can cut aluminum?
I think BigBlueSaw will? You could always check around your area for shops or makerspaces as well.
Well i sent it out to bigbluesaw. Just waiting for a response back with price.
Are there cutouts for only costar stabs?
I want to save on cuts, and have less gaps for food and bugs to crawl in...and instant noodle soup...
So I've been lurking and signed up because of this thread. Awesome resources man, really appreciate the website. With that said I want to be the test dummy for this CAD file. Any suggestions on an online company that can cut aluminum?
So I've been lurking and signed up because of this thread. Awesome resources man, really appreciate the website. With that said I want to be the test dummy for this CAD file. Any suggestions on an online company that can cut aluminum?
Glad my work has brought someone out of lurker status. :) Welcome...
This is a great community, but hold on tight to your wallet. Wallethack is real...
(Attachment Link)
Or the simplified version...
(Attachment Link)
So I've been lurking and signed up because of this thread. Awesome resources man, really appreciate the website. With that said I want to be the test dummy for this CAD file. Any suggestions on an online company that can cut aluminum?
Glad my work has brought someone out of lurker status. :) Welcome...
This is a great community, but hold on tight to your wallet. Wallethack is real...
(Attachment Link)
Or the simplified version...
(Attachment Link)
Why are you selecting the last item from wants? I think surely you should buy the item you've wanted the longest, i.e. the item at index[0]. Also, surely if the pay period is 10 days but it is 1 day before your pay period, you wouldn't be able to buy more keyboards and stuff for a whole 9 days after your pay packet. The travesty! Why am I code reviewing a piece of joke code... je suis bored.
I actually 3D printed the layout here,
http://www.keyboard-layout-editor.com/#/layouts/41278b39d92833e044007ab46bb8a9f8 (http://www.keyboard-layout-editor.com/#/layouts/41278b39d92833e044007ab46bb8a9f8)
but it staggered the top function row to the left, instead of the columnar arrangement I had designed in the layout designer. The right side is also cut off prematurely.
What can I do to remedy this? Thanks for the excellent tool, by the way. With a little tweaking, this will be the greatest prototyping tool ever!
I actually 3D printed the layout here,
http://www.keyboard-layout-editor.com/#/layouts/41278b39d92833e044007ab46bb8a9f8 (http://www.keyboard-layout-editor.com/#/layouts/41278b39d92833e044007ab46bb8a9f8)
but it staggered the top function row to the left, instead of the columnar arrangement I had designed in the layout designer. The right side is also cut off prematurely.
What can I do to remedy this? Thanks for the excellent tool, by the way. With a little tweaking, this will be the greatest prototyping tool ever!
So I've been lurking and signed up because of this thread. Awesome resources man, really appreciate the website. With that said I want to be the test dummy for this CAD file. Any suggestions on an online company that can cut aluminum?
Glad my work has brought someone out of lurker status. :) Welcome...
This is a great community, but hold on tight to your wallet. Wallethack is real...
(Attachment Link)
Or the simplified version...
(Attachment Link)
Why are you selecting the last item from wants? I think surely you should buy the item you've wanted the longest, i.e. the item at index[0]. Also, surely if the pay period is 10 days but it is 1 day before your pay period, you wouldn't be able to buy more keyboards and stuff for a whole 9 days after your pay packet. The travesty! Why am I code reviewing a piece of joke code... je suis bored.
haha, there are a few things 'wrong' with that code from a correctness perspective. I actually wrote it very quickly to illustrate a point. :)
technically i should be looping through all of the 'wants' from the first item in the list and checking if i can afford anything. however, the problem with this is if i want to buy something that costs more than what i get paid for in a single pay period i will never afford it because i will be reducing my funds on little things every month and not actually accumulating enough funds for my big ticket item. hmm, working in a budget into my wallethack algorithm seems a bit disingenuous to the actual problem. the reason wallethack exists is because we buy things without always budgeting for them... oh the paradox of geekhack... :P
So I've been lurking and signed up because of this thread. Awesome resources man, really appreciate the website. With that said I want to be the test dummy for this CAD file. Any suggestions on an online company that can cut aluminum?
Glad my work has brought someone out of lurker status. :) Welcome...
This is a great community, but hold on tight to your wallet. Wallethack is real...
(Attachment Link)
Or the simplified version...
(Attachment Link)
Why are you selecting the last item from wants? I think surely you should buy the item you've wanted the longest, i.e. the item at index[0]. Also, surely if the pay period is 10 days but it is 1 day before your pay period, you wouldn't be able to buy more keyboards and stuff for a whole 9 days after your pay packet. The travesty! Why am I code reviewing a piece of joke code... je suis bored.
haha, there are a few things 'wrong' with that code from a correctness perspective. I actually wrote it very quickly to illustrate a point. :)
technically i should be looping through all of the 'wants' from the first item in the list and checking if i can afford anything. however, the problem with this is if i want to buy something that costs more than what i get paid for in a single pay period i will never afford it because i will be reducing my funds on little things every month and not actually accumulating enough funds for my big ticket item. hmm, working in a budget into my wallethack algorithm seems a bit disingenuous to the actual problem. the reason wallethack exists is because we buy things without always budgeting for them... oh the paradox of geekhack... :P
Yeah, I wasn't criticising you for writing bad code when it was just for a joke. I thought it was pretty funny, but I was just bored enough to nit-pick it :)
Though I can tell you're a hardcore pythoner, those pythonic 'and' statements :D
It's crazy how hard of a time I'm having getting any of these companies to contact me back with pricing. Some folks just don't want to make money i suppose.
It's crazy how hard of a time I'm having getting any of these companies to contact me back with pricing. Some folks just don't want to make money i suppose.
It's crazy how hard of a time I'm having getting any of these companies to contact me back with pricing. Some folks just don't want to make money i suppose.
I take back what I said. Bigbluesaw got back in touch with me and even made the CAD file with a blank bottom plate with just the 3mm holes for a sandwich style case. for 1 set of both parts its $92 If I get 5 sets of both plates though its only 44.92 So its either order one for the price I could get 2 for if I order 5 to test out the tool, or I get 5 sets and pray that its all right and then have materials to build 5 keyboards if I want. Also let me add that this is using 6061 aluminum .063" thick. I'm waiting back to find out how much kerf will be expected so I can adjust accordingly.
Man they are quick getting back. He said they automatically adjust for kerf when cutting parts.
Yes I sent him a link to your tool, told him folks will probably be using it on a regular basis and also linked him to the artisans part of the forum as well as this thread.
And yeah I left kerf at 0. He did mention that because of kerf any sharp corners will be slightly rounded, shouldn't cause an issue with these plates though, no?
Heres the top plate and bottom plate.
(http://i190.photobucket.com/albums/z173/phlshtank/domp_zpsbgayr3lc.png) (http://s190.photobucket.com/user/phlshtank/media/domp_zpsbgayr3lc.png.html)
Man they are quick getting back. He said they automatically adjust for kerf when cutting parts.
Man they are quick getting back. He said they automatically adjust for kerf when cutting parts.
I'd be careful about that. I just had big blue saw cut a case for my keyboard out of acrylic (3mm top, .75" mid, 3mm bottom) and it came out pretty far off which I assume is because of kerf issues. It's like they cut the inside cutout on the outside of my line so the opening for the keyboard top plate was much larger than I expected. I also tried to use .75" acrylic for the center layer and it varied in thickness across a 6" span from 3/4" to 3/4+3/32 which is insane. It turned into a big waste of money.
I expect thin metal will be better but I wouldn't discount kerf issues and peoples understanding of what the plans are trying to convey...
I actually 3D printed the layout here,
http://www.keyboard-layout-editor.com/#/layouts/41278b39d92833e044007ab46bb8a9f8 (http://www.keyboard-layout-editor.com/#/layouts/41278b39d92833e044007ab46bb8a9f8)
but it staggered the top function row to the left, instead of the columnar arrangement I had designed in the layout designer. The right side is also cut off prematurely.
What can I do to remedy this? Thanks for the excellent tool, by the way. With a little tweaking, this will be the greatest prototyping tool ever!
I modified the 'x' and 'y' offsets on the first column and row to put them up to the edge. I then tested it and it worked better. You can adding that padding using the actual padding feature in my tool if you want it.
Here is my version of your layout: http://www.keyboard-layout-editor.com/#/layouts/b90aac02cbfd2217364f2ad8b55a600d
Here is the result:
(Attachment Link)
I will look into why the 'x' at the start of the line is not working correctly.
Thanks for pointing this out to me...
If you are testing cutouts from the tool I would suggest either stainless or aluminum if the purpose is to test the accuracy of the tool. Laser cutting acrylic is not near as precise as aluminum or stainless.Ya my goal is to test with both acrylic and aluminum, but I need to find a local shop who does aluminum who will return my emails. :)
Alright so I'm going to pull the trigger with big blue saw and have faith in this mans ability to do this right. It'd be best for him if it works out because he'd be able to drum up some more business.Maybe mention to him that my tool will automatically account for kerf if we know how big it is. He may not be used to that.
Are there cutouts for only costar stabs?
I want to save on cuts, and have less gaps for food and bugs to crawl in...and instant noodle soup...
No, right now I only support a combined stabilizer cutout. I could potentially offer just a costar stab cutout, but it won't happen before the end of the week...
So I've been going back and forth with Simon over at bigbluesaw to make sure we can make this happen. I sent him the data sheet on cherry switches (with tolerances allowed) and I'm also going to send a few spare plate mount switches his way so they can do a test fit before they cut out an entire plate and adjust accordingly. He's definitely going way out of his way to help me out.Ya. I have also been in touch with him as well. I think he sees value in catering to our needs here at GH, which is pretty awesome. If we can get the details sorted out so we can confidently use their services and know what settings and such to build our cads with, they will be a great resource for us.
So I've been going back and forth with Simon over at bigbluesaw to make sure we can make this happen. I sent him the data sheet on cherry switches (with tolerances allowed) and I'm also going to send a few spare plate mount switches his way so they can do a test fit before they cut out an entire plate and adjust accordingly. He's definitely going way out of his way to help me out.
I'd be careful about that. I just had big blue saw cut a case for my keyboard out of acrylic (3mm top, .75" mid, 3mm bottom) and it came out pretty far off which I assume is because of kerf issues. It's like they cut the inside cutout on the outside of my line so the opening for the keyboard top plate was much larger than I expected. I also tried to use .75" acrylic for the center layer and it varied in thickness across a 6" span from 3/4" to 3/4+3/32 which is insane. It turned into a big waste of money.
I'd be careful about that. I just had big blue saw cut a case for my keyboard out of acrylic (3mm top, .75" mid, 3mm bottom) and it came out pretty far off which I assume is because of kerf issues. It's like they cut the inside cutout on the outside of my line so the opening for the keyboard top plate was much larger than I expected. I also tried to use .75" acrylic for the center layer and it varied in thickness across a 6" span from 3/4" to 3/4+3/32 which is insane. It turned into a big waste of money.
Did you ever contact us about this?
That's great! Sounds like they could be a valuable resource in the future :)
Maybe mention to him that my tool will automatically account for kerf if we know how big it is. He may not be used to that.
Maybe mention to him that my tool will automatically account for kerf if we know how big it is. He may not be used to that.
One tricky part is that the kerf on the waterjet varies as the nozzle wears away. That's why it's best to let us compensate for kerf and do test fittings.
In the future, (provided PCB and other hardware work out, is there a chance of being able to adapt this tool to make F type plates?
Now if I could only find a way to get keycaps like this made...You could try WASD keyboards, they have a template that your can download and design your keycaps in Adobe Illustrator I think...
http://www.keyboard-layout-editor.com/#/layouts/2babf7aa43f2738e65fd00fdbc84e609
Add that to the list of 'moments when you wish you were in the US' on GH.
Perhaps you want to register as a vendorHow do I do that?
According to this thread : https://geekhack.org/index.php?topic=67376.0Perhaps you want to register as a vendorHow do I do that?
Now if I could only find a way to get keycaps like this made...You could try WASD keyboards, they have a template that your can download and design your keycaps in Adobe Illustrator I think...
http://www.keyboard-layout-editor.com/#/layouts/2babf7aa43f2738e65fd00fdbc84e609
Add that to the list of 'moments when you wish you were in the US' on GH.
Just e-mail me at the address on the website if you need international shipping.
Hey BigBlueSaw, what are your shipping costs to the UK? I can't find them online.Email him as per his instructions and he will get you those detail. :)
Show Image(http://i.imgur.com/5thgI6k.png)
What's this problem I've been having? Here's (http://www.keyboard-layout-editor.com/#/layouts/d2ac55b0ee0df352b8b09e236c2bb6bc) the layout
Show Image(http://i.imgur.com/5thgI6k.png)
What's this problem I've been having? Here's (http://www.keyboard-layout-editor.com/#/layouts/d2ac55b0ee0df352b8b09e236c2bb6bc) the layout
Show Image(http://i.imgur.com/5thgI6k.png)
What's this problem I've been having? Here's (http://www.keyboard-layout-editor.com/#/layouts/d2ac55b0ee0df352b8b09e236c2bb6bc) the layout
Geez dude, read the instructions... :P Haha, I am totally joking and just messing with you. Yes, like phishy said, you need to paste in the Raw Data for your layout. You can then modify the raw data if you need to. Click the "?" next to that field to get more details of what types of things you can change by modifying the raw data in my tool... Let me know if you have questions. I am not actually an ass and will do my best to answer any questions. :)
Show Image(http://i.imgur.com/5thgI6k.png)
What's this problem I've been having? Here's (http://www.keyboard-layout-editor.com/#/layouts/d2ac55b0ee0df352b8b09e236c2bb6bc) the layout
You have to paste the RAW DATA from the layout editor. For yours it would be this.
["~\n`","!\n1","@\n2","#\n3","$\n4","%\n5","^\n6","&\n7","*\n8","(\n9",")\n0","_\n-","+\n=",{w:2},"Backspace"],
[{w:1.5},"Tab","Q","W","E","R","T","Y","U","I","O","P","{\n[","}\n]",{w:1.5},"|\n\\"],
[{w:1.75},"Caps Lock","A","S","D","F","G","H","J","K","L",":\n;","\"\n'",{w:2.25},"Enter"],
[{w:2.25},"Shift","Z","X","C","V","B","N","M","<\n,",">\n.","?\n/",{w:2.75},"Shift"],
[{w:1.25},"Ctrl",{w:1.25},"Win",{w:1.25},"Alt",{w:6.25},"",{w:1.25},"Alt",{w:1.25},"Win",{w:1.25},"Menu",{w:1.25},"Ctrl"]
I believe swill and bigbluesaw have been having conversations behind the scenes. Curious to see what comes out of this collaboration. ^_^
So I got this email back from big blue saw regarding a quote using this:
"Hi Harwood,
The keyboard plate building tool should have vector export soon; let's wait for that. It makes it much easier to give a quote/make the part."
I quickly searched through the thread and couldn't find anything about this, is that in progress now?
I believe swill and bigbluesaw have been having conversations behind the scenes. Curious to see what comes out of this collaboration. ^_^
Now this is now hype I can get on board with.
I believe swill and bigbluesaw have been having conversations behind the scenes. Curious to see what comes out of this collaboration. ^_^
Now this is now hype I can get on board with.
:) Yes, bigbluesaw and I have been exchanging emails to try to simplify the process for everyone from design to finished product. We have been focusing mainly on finding ways for us to have predictable and repeatable results that are within our tolerances. The main complication with this is the nozzle wear in the waterjet process. The same design could produce different results because the kerf size will be different depending on the nozzle wear.
At this point we have not come up with a definitive solution, but he is able to make parts to fit if he has the mating piece. I may just have to stock him with both MX and Alps switches and some stabilizers that he can use for reference.
The laser cutting process is more predictable, but that process is only available for acrylic in this case.
We are working to try to make sure that people using the tool and their services will get the expected results without having to break their brains over it. :)
I believe swill and bigbluesaw have been having conversations behind the scenes. Curious to see what comes out of this collaboration. ^_^
Now this is now hype I can get on board with.
:) Yes, bigbluesaw and I have been exchanging emails to try to simplify the process for everyone from design to finished product. We have been focusing mainly on finding ways for us to have predictable and repeatable results that are within our tolerances. The main complication with this is the nozzle wear in the waterjet process. The same design could produce different results because the kerf size will be different depending on the nozzle wear.
At this point we have not come up with a definitive solution, but he is able to make parts to fit if he has the mating piece. I may just have to stock him with both MX and Alps switches and some stabilizers that he can use for reference.
The laser cutting process is more predictable, but that process is only available for acrylic in this case.
We are working to try to make sure that people using the tool and their services will get the expected results without having to break their brains over it. :)
I'm heading to the post office today to send out 5-10 MX switches to him. Hopefully this well help in the whole process. I didn't even think about stabilizers though. Have yet to order any for my own build so maybe I'll grab a few extra and get those over aswell.
I believe swill and bigbluesaw have been having conversations behind the scenes. Curious to see what comes out of this collaboration. ^_^
Now this is now hype I can get on board with.
:) Yes, bigbluesaw and I have been exchanging emails to try to simplify the process for everyone from design to finished product. We have been focusing mainly on finding ways for us to have predictable and repeatable results that are within our tolerances. The main complication with this is the nozzle wear in the waterjet process. The same design could produce different results because the kerf size will be different depending on the nozzle wear.
At this point we have not come up with a definitive solution, but he is able to make parts to fit if he has the mating piece. I may just have to stock him with both MX and Alps switches and some stabilizers that he can use for reference.
The laser cutting process is more predictable, but that process is only available for acrylic in this case.
We are working to try to make sure that people using the tool and their services will get the expected results without having to break their brains over it. :)
I'm heading to the post office today to send out 5-10 MX switches to him. Hopefully this well help in the whole process. I didn't even think about stabilizers though. Have yet to order any for my own build so maybe I'll grab a few extra and get those over aswell.
really looking forward to seeing how this turns out. What hole style are you using.
Just wanted to let everyone know that the CAD files produced from the tool make perfectly viable plates on my friend's Solidoodle V3 3D Printer.
Here are some shots of the prototype:
http://imgur.com/24kdziP (http://imgur.com/24kdziP)
http://imgur.com/Hw6nAQe (http://imgur.com/Hw6nAQe)
We added posts for stability on the underside.
Your tool is amazing!
Just wanted to let everyone know that the CAD files produced from the tool make perfectly viable plates on my friend's Solidoodle V3 3D Printer.
Here are some shots of the prototype:
http://imgur.com/24kdziP (http://imgur.com/24kdziP)
http://imgur.com/Hw6nAQe (http://imgur.com/Hw6nAQe)
We added posts for stability on the underside.
Your tool is amazing!
Ok, thats ****ing awesome. Well done dude. Thanks for sharing back your experience. This is really cool to see. :) Love that people are already trying 3d printing of this stuff. :) Did you use the STP file?
Are you having him ship back the switches after? I am going to desolder some alps switches from one of my boards and send them to him as well as some different stabilizers for him to keep so he can verify mating on all subsequent orders from us. If he is sending back your switches, I will also send him some MX switches.I believe swill and bigbluesaw have been having conversations behind the scenes. Curious to see what comes out of this collaboration. ^_^
Now this is now hype I can get on board with.
:) Yes, bigbluesaw and I have been exchanging emails to try to simplify the process for everyone from design to finished product. We have been focusing mainly on finding ways for us to have predictable and repeatable results that are within our tolerances. The main complication with this is the nozzle wear in the waterjet process. The same design could produce different results because the kerf size will be different depending on the nozzle wear.
At this point we have not come up with a definitive solution, but he is able to make parts to fit if he has the mating piece. I may just have to stock him with both MX and Alps switches and some stabilizers that he can use for reference.
The laser cutting process is more predictable, but that process is only available for acrylic in this case.
We are working to try to make sure that people using the tool and their services will get the expected results without having to break their brains over it. :)
I'm heading to the post office today to send out 5-10 MX switches to him. Hopefully this well help in the whole process. I didn't even think about stabilizers though. Have yet to order any for my own build so maybe I'll grab a few extra and get those over aswell.
Just wanted to let everyone know that the CAD files produced from the tool make perfectly viable plates on my friend's Solidoodle V3 3D Printer.Just out of curiosity. What would you estimate the cost of that prototype was? I don't know why, but I am obsessed with bringing down the cost of prototyping. That was one of the main motivations of my 'minimal case'. It probably stems from my big imagination and small amount of disposable income I can justify for this hobby.
Here are some shots of the prototype:
http://imgur.com/24kdziP (http://imgur.com/24kdziP)
http://imgur.com/Hw6nAQe (http://imgur.com/Hw6nAQe)
We added posts for stability on the underside.
Your tool is amazing!
Are you having him ship back the switches after? I am going to desolder some alps switches from one of my boards and send them to him as well as some different stabilizers for him to keep so he can verify mating on all subsequent orders from us. If he is sending back your switches, I will also send him some MX switches.I believe swill and bigbluesaw have been having conversations behind the scenes. Curious to see what comes out of this collaboration. ^_^
Now this is now hype I can get on board with.
:) Yes, bigbluesaw and I have been exchanging emails to try to simplify the process for everyone from design to finished product. We have been focusing mainly on finding ways for us to have predictable and repeatable results that are within our tolerances. The main complication with this is the nozzle wear in the waterjet process. The same design could produce different results because the kerf size will be different depending on the nozzle wear.
At this point we have not come up with a definitive solution, but he is able to make parts to fit if he has the mating piece. I may just have to stock him with both MX and Alps switches and some stabilizers that he can use for reference.
The laser cutting process is more predictable, but that process is only available for acrylic in this case.
We are working to try to make sure that people using the tool and their services will get the expected results without having to break their brains over it. :)
I'm heading to the post office today to send out 5-10 MX switches to him. Hopefully this well help in the whole process. I didn't even think about stabilizers though. Have yet to order any for my own build so maybe I'll grab a few extra and get those over aswell.
I should be able to get them out in the next couple days. I have to find some time to desolder some switches from my alps board to give him since I don't have any loose alps switches.Are you having him ship back the switches after? I am going to desolder some alps switches from one of my boards and send them to him as well as some different stabilizers for him to keep so he can verify mating on all subsequent orders from us. If he is sending back your switches, I will also send him some MX switches.I believe swill and bigbluesaw have been having conversations behind the scenes. Curious to see what comes out of this collaboration. ^_^
Now this is now hype I can get on board with.
:) Yes, bigbluesaw and I have been exchanging emails to try to simplify the process for everyone from design to finished product. We have been focusing mainly on finding ways for us to have predictable and repeatable results that are within our tolerances. The main complication with this is the nozzle wear in the waterjet process. The same design could produce different results because the kerf size will be different depending on the nozzle wear.
At this point we have not come up with a definitive solution, but he is able to make parts to fit if he has the mating piece. I may just have to stock him with both MX and Alps switches and some stabilizers that he can use for reference.
The laser cutting process is more predictable, but that process is only available for acrylic in this case.
We are working to try to make sure that people using the tool and their services will get the expected results without having to break their brains over it. :)
I'm heading to the post office today to send out 5-10 MX switches to him. Hopefully this well help in the whole process. I didn't even think about stabilizers though. Have yet to order any for my own build so maybe I'll grab a few extra and get those over aswell.
No I'm going to let him keep them. I'm sending 10 switches, which is like 4 bucks worth. This way he has plenty around to spot check the cuts for everyone going forward. Do you know when you plan on sending some stabilizers? If not before I place an order for my plate, maybe I'll just buy a few extra and send them out to him.
Hey swill I tried using your tool, it created an accurate plate design but when I imported it into autodesk inventor it said the length was 173in long. Any fixes?
Hey swill I tried using your tool, it created an accurate plate design but when I imported it into autodesk inventor it said the length was 173in long. Any fixes?
When importing, choose the dimension metric as mm.
Hey swill I tried using your tool, it created an accurate plate design but when I imported it into autodesk inventor it said the length was 173in long. Any fixes?
When importing, choose the dimension metric as mm.
duh *facepalm*, thanks :thumb:
Small status update...
As you guys know, I have been back and forth with BigBlueSaw quite a bit recently. They have been great to work with. They have been very responsive and are genuinely interested in working with us and solving our specific problems. I have pointed them to some MX and Alps switches as well as Costar stabilizers which they have purchased so they have units to do spot checking and validation of cutouts. I will be sending them both Plate and PCB mounted Cherry stabilizers so they have a complete set of components as reference when working on our projects.
I love that they are proactive and are purchasing the mating components that we rely on so they can guarantee a quality service for us. That is above and beyond in my opinion and it really shows that they are serious about working together.
We have also been discussing pricing quite a bit and we are trying to find ways to reduce costs wherever we can. I have shared my back-of-the-napkin calculations for the cost of the different switch cutouts [1], and he agrees that it seems pretty acurate as a relative cost of the different cutouts. It is good to get some validation on those assumptions. He suggested that we could potentially save some cost by linking the switches together (not stopping cutting and moving from one switch cutout to the next while continuing to cut). This will reduce the machining time because, as he says, "having the cutting head shut off, traverse to the next hole, switch back on to pierce the hole, then move to the cutting edge all takes time". I commented that we may be able to do that between switches on the same row, but I was concerned that we may lose some structure and rigidity if we did that. I think it also depends a bit on the material. He agreed that it is probably not realistic for a whole row. We will have to run some tests to see how many switches in a row we can link and not compromise structure. We still do not know what the cost savings will be, but we do expect to be able save on costs by doing this.
I think thats pretty much it. It has been great working with them, very proactive and engaged. Good news for everyone... :)
On my side. I am still working on getting the DXF format supported. I have run into a couple bugs in the core software. I am continuing to patch and develop workarounds for the problems, so hopefully I will have some good news on that soon... (back at it...)
[1]
(Attachment Link)
I am confident that if he has the switches and stabs that everything will work out well.Small status update...
As you guys know, I have been back and forth with BigBlueSaw quite a bit recently. They have been great to work with. They have been very responsive and are genuinely interested in working with us and solving our specific problems. I have pointed them to some MX and Alps switches as well as Costar stabilizers which they have purchased so they have units to do spot checking and validation of cutouts. I will be sending them both Plate and PCB mounted Cherry stabilizers so they have a complete set of components as reference when working on our projects.
I love that they are proactive and are purchasing the mating components that we rely on so they can guarantee a quality service for us. That is above and beyond in my opinion and it really shows that they are serious about working together.
We have also been discussing pricing quite a bit and we are trying to find ways to reduce costs wherever we can. I have shared my back-of-the-napkin calculations for the cost of the different switch cutouts [1], and he agrees that it seems pretty acurate as a relative cost of the different cutouts. It is good to get some validation on those assumptions. He suggested that we could potentially save some cost by linking the switches together (not stopping cutting and moving from one switch cutout to the next while continuing to cut). This will reduce the machining time because, as he says, "having the cutting head shut off, traverse to the next hole, switch back on to pierce the hole, then move to the cutting edge all takes time". I commented that we may be able to do that between switches on the same row, but I was concerned that we may lose some structure and rigidity if we did that. I think it also depends a bit on the material. He agreed that it is probably not realistic for a whole row. We will have to run some tests to see how many switches in a row we can link and not compromise structure. We still do not know what the cost savings will be, but we do expect to be able save on costs by doing this.
I think thats pretty much it. It has been great working with them, very proactive and engaged. Good news for everyone... :)
On my side. I am still working on getting the DXF format supported. I have run into a couple bugs in the core software. I am continuing to patch and develop workarounds for the problems, so hopefully I will have some good news on that soon... (back at it...)
[1]
(Attachment Link)
Awesome update man. Good to hear this is all going so well. I guess I need to get in touch with him and figure out what the plan will actually be with these plates I want cut. Was going to place the order Friday to see how it goes.
I am confident that if he has the switches and stabs that everything will work out well.Small status update...
As you guys know, I have been back and forth with BigBlueSaw quite a bit recently. They have been great to work with. They have been very responsive and are genuinely interested in working with us and solving our specific problems. I have pointed them to some MX and Alps switches as well as Costar stabilizers which they have purchased so they have units to do spot checking and validation of cutouts. I will be sending them both Plate and PCB mounted Cherry stabilizers so they have a complete set of components as reference when working on our projects.
I love that they are proactive and are purchasing the mating components that we rely on so they can guarantee a quality service for us. That is above and beyond in my opinion and it really shows that they are serious about working together.
We have also been discussing pricing quite a bit and we are trying to find ways to reduce costs wherever we can. I have shared my back-of-the-napkin calculations for the cost of the different switch cutouts [1], and he agrees that it seems pretty acurate as a relative cost of the different cutouts. It is good to get some validation on those assumptions. He suggested that we could potentially save some cost by linking the switches together (not stopping cutting and moving from one switch cutout to the next while continuing to cut). This will reduce the machining time because, as he says, "having the cutting head shut off, traverse to the next hole, switch back on to pierce the hole, then move to the cutting edge all takes time". I commented that we may be able to do that between switches on the same row, but I was concerned that we may lose some structure and rigidity if we did that. I think it also depends a bit on the material. He agreed that it is probably not realistic for a whole row. We will have to run some tests to see how many switches in a row we can link and not compromise structure. We still do not know what the cost savings will be, but we do expect to be able save on costs by doing this.
I think thats pretty much it. It has been great working with them, very proactive and engaged. Good news for everyone... :)
On my side. I am still working on getting the DXF format supported. I have run into a couple bugs in the core software. I am continuing to patch and develop workarounds for the problems, so hopefully I will have some good news on that soon... (back at it...)
[1]
(Attachment Link)
Awesome update man. Good to hear this is all going so well. I guess I need to get in touch with him and figure out what the plan will actually be with these plates I want cut. Was going to place the order Friday to see how it goes.
I think the more complicated stuff like determining what machining processes we can tweak to bring down costs will happen a bit more slowly since we will have to do some testing.
Good tip. Thx. :)I am confident that if he has the switches and stabs that everything will work out well.Small status update...
As you guys know, I have been back and forth with BigBlueSaw quite a bit recently. They have been great to work with. They have been very responsive and are genuinely interested in working with us and solving our specific problems. I have pointed them to some MX and Alps switches as well as Costar stabilizers which they have purchased so they have units to do spot checking and validation of cutouts. I will be sending them both Plate and PCB mounted Cherry stabilizers so they have a complete set of components as reference when working on our projects.
I love that they are proactive and are purchasing the mating components that we rely on so they can guarantee a quality service for us. That is above and beyond in my opinion and it really shows that they are serious about working together.
We have also been discussing pricing quite a bit and we are trying to find ways to reduce costs wherever we can. I have shared my back-of-the-napkin calculations for the cost of the different switch cutouts [1], and he agrees that it seems pretty acurate as a relative cost of the different cutouts. It is good to get some validation on those assumptions. He suggested that we could potentially save some cost by linking the switches together (not stopping cutting and moving from one switch cutout to the next while continuing to cut). This will reduce the machining time because, as he says, "having the cutting head shut off, traverse to the next hole, switch back on to pierce the hole, then move to the cutting edge all takes time". I commented that we may be able to do that between switches on the same row, but I was concerned that we may lose some structure and rigidity if we did that. I think it also depends a bit on the material. He agreed that it is probably not realistic for a whole row. We will have to run some tests to see how many switches in a row we can link and not compromise structure. We still do not know what the cost savings will be, but we do expect to be able save on costs by doing this.
I think thats pretty much it. It has been great working with them, very proactive and engaged. Good news for everyone... :)
On my side. I am still working on getting the DXF format supported. I have run into a couple bugs in the core software. I am continuing to patch and develop workarounds for the problems, so hopefully I will have some good news on that soon... (back at it...)
[1]
(Attachment Link)
Awesome update man. Good to hear this is all going so well. I guess I need to get in touch with him and figure out what the plan will actually be with these plates I want cut. Was going to place the order Friday to see how it goes.
I think the more complicated stuff like determining what machining processes we can tweak to bring down costs will happen a bit more slowly since we will have to do some testing.
Scraps from the back of the shear make great test plates.
Good tip. Thx. :)I am confident that if he has the switches and stabs that everything will work out well.Small status update...
As you guys know, I have been back and forth with BigBlueSaw quite a bit recently. They have been great to work with. They have been very responsive and are genuinely interested in working with us and solving our specific problems. I have pointed them to some MX and Alps switches as well as Costar stabilizers which they have purchased so they have units to do spot checking and validation of cutouts. I will be sending them both Plate and PCB mounted Cherry stabilizers so they have a complete set of components as reference when working on our projects.
I love that they are proactive and are purchasing the mating components that we rely on so they can guarantee a quality service for us. That is above and beyond in my opinion and it really shows that they are serious about working together.
We have also been discussing pricing quite a bit and we are trying to find ways to reduce costs wherever we can. I have shared my back-of-the-napkin calculations for the cost of the different switch cutouts [1], and he agrees that it seems pretty acurate as a relative cost of the different cutouts. It is good to get some validation on those assumptions. He suggested that we could potentially save some cost by linking the switches together (not stopping cutting and moving from one switch cutout to the next while continuing to cut). This will reduce the machining time because, as he says, "having the cutting head shut off, traverse to the next hole, switch back on to pierce the hole, then move to the cutting edge all takes time". I commented that we may be able to do that between switches on the same row, but I was concerned that we may lose some structure and rigidity if we did that. I think it also depends a bit on the material. He agreed that it is probably not realistic for a whole row. We will have to run some tests to see how many switches in a row we can link and not compromise structure. We still do not know what the cost savings will be, but we do expect to be able save on costs by doing this.
I think thats pretty much it. It has been great working with them, very proactive and engaged. Good news for everyone... :)
On my side. I am still working on getting the DXF format supported. I have run into a couple bugs in the core software. I am continuing to patch and develop workarounds for the problems, so hopefully I will have some good news on that soon... (back at it...)
[1]
(Attachment Link)
Awesome update man. Good to hear this is all going so well. I guess I need to get in touch with him and figure out what the plan will actually be with these plates I want cut. Was going to place the order Friday to see how it goes.
I think the more complicated stuff like determining what machining processes we can tweak to bring down costs will happen a bit more slowly since we will have to do some testing.
Scraps from the back of the shear make great test plates.
Ya. That makes total sense.Good tip. Thx. :)I am confident that if he has the switches and stabs that everything will work out well.Small status update...
As you guys know, I have been back and forth with BigBlueSaw quite a bit recently. They have been great to work with. They have been very responsive and are genuinely interested in working with us and solving our specific problems. I have pointed them to some MX and Alps switches as well as Costar stabilizers which they have purchased so they have units to do spot checking and validation of cutouts. I will be sending them both Plate and PCB mounted Cherry stabilizers so they have a complete set of components as reference when working on our projects.
I love that they are proactive and are purchasing the mating components that we rely on so they can guarantee a quality service for us. That is above and beyond in my opinion and it really shows that they are serious about working together.
We have also been discussing pricing quite a bit and we are trying to find ways to reduce costs wherever we can. I have shared my back-of-the-napkin calculations for the cost of the different switch cutouts [1], and he agrees that it seems pretty acurate as a relative cost of the different cutouts. It is good to get some validation on those assumptions. He suggested that we could potentially save some cost by linking the switches together (not stopping cutting and moving from one switch cutout to the next while continuing to cut). This will reduce the machining time because, as he says, "having the cutting head shut off, traverse to the next hole, switch back on to pierce the hole, then move to the cutting edge all takes time". I commented that we may be able to do that between switches on the same row, but I was concerned that we may lose some structure and rigidity if we did that. I think it also depends a bit on the material. He agreed that it is probably not realistic for a whole row. We will have to run some tests to see how many switches in a row we can link and not compromise structure. We still do not know what the cost savings will be, but we do expect to be able save on costs by doing this.
I think thats pretty much it. It has been great working with them, very proactive and engaged. Good news for everyone... :)
On my side. I am still working on getting the DXF format supported. I have run into a couple bugs in the core software. I am continuing to patch and develop workarounds for the problems, so hopefully I will have some good news on that soon... (back at it...)
[1]
(Attachment Link)
Awesome update man. Good to hear this is all going so well. I guess I need to get in touch with him and figure out what the plan will actually be with these plates I want cut. Was going to place the order Friday to see how it goes.
I think the more complicated stuff like determining what machining processes we can tweak to bring down costs will happen a bit more slowly since we will have to do some testing.
Scraps from the back of the shear make great test plates.
Not a problem, that is how I got my stainless for less than a dollar a pound when anywhere I was looking at was going to charge me over 3 per pound.
[{y:1},"","","",""],
["","","",""],
["","","",{h:2},""],
["","",""],
["","","",{h:2},""],
[{w:2},"",""]
Hey I encountered this errorI will check on that for you. It looks right.Show Image(http://i.imgur.com/67dQIjR.png)
for this build :Show Image(http://i.imgur.com/GSdCkzg.png)
raw data belowQuote from: raw data[{y:1},"","","",""],
["","","",""],
["","","",{h:2},""],
["","",""],
["","","",{h:2},""],
[{w:2},"",""]
Did I made a mistake? Trying to get a plate for a 6x5 numpad.
Just a test for the moment, I'll finish the work in CAD.Hey I encountered this errorI will check on that for you. It looks right.Show Image(http://i.imgur.com/67dQIjR.png)
for this build :Show Image(http://i.imgur.com/GSdCkzg.png)
raw data belowQuote from: raw data[{y:1},"","","",""],
["","","",""],
["","","",{h:2},""],
["","",""],
["","","",{h:2},""],
[{w:2},"",""]
Did I made a mistake? Trying to get a plate for a 6x5 numpad.
Side note. Why such big holes? 5mm seems quite large to me.
Ya. I was pretty sure it was not that. I was just curious cause it caught my eye.Just a test for the moment, I'll finish the work in CAD.Hey I encountered this errorI will check on that for you. It looks right.Show Image(http://i.imgur.com/67dQIjR.png)
for this build :Show Image(http://i.imgur.com/GSdCkzg.png)
raw data belowQuote from: raw data[{y:1},"","","",""],
["","","",""],
["","","",{h:2},""],
["","",""],
["","","",{h:2},""],
[{w:2},"",""]
Did I made a mistake? Trying to get a plate for a 6x5 numpad.
Side note. Why such big holes? 5mm seems quite large to me.
ps: tried 1mm hole doesn't work either.
Ya. I was pretty sure it was not that. I was just curious cause it caught my eye.Just a test for the moment, I'll finish the work in CAD.Hey I encountered this errorI will check on that for you. It looks right.Show Image(http://i.imgur.com/67dQIjR.png)
for this build :Show Image(http://i.imgur.com/GSdCkzg.png)
raw data belowQuote from: raw data[{y:1},"","","",""],
["","","",""],
["","","",{h:2},""],
["","",""],
["","","",{h:2},""],
[{w:2},"",""]
Did I made a mistake? Trying to get a plate for a 6x5 numpad.
Side note. Why such big holes? 5mm seems quite large to me.
ps: tried 1mm hole doesn't work either.
I will check this when I am on the train this morning.
{backcolor:"#ff0000"},
["","","","","","","","","","","",""],
[{w:1.25},"","","","","","","","","","",{w:1.75},""],
[{w:1.75},"","","","","","","","","","",{w:1.25},""],
[{w:1.5},"","",{w:1.5},"",{w:4},"",{w:1.5},"","",{w:1.5},""]
If the user specifies a background color in the editor and uses the raw data that contains that, your tool interprets that as a key and adds it.
It would be wise to only parse the arrays from the raw data, basically ignoring objects (unless of course they are values of an array).
Here's an example:Code: [Select]{backcolor:"#ff0000"},
["","","","","","","","","","","",""],
[{w:1.25},"","","","","","","","","","",{w:1.75},""],
[{w:1.75},"","","","","","","","","","",{w:1.25},""],
[{w:1.5},"","",{w:1.5},"",{w:4},"",{w:1.5},"","",{w:1.5},""]
Becomes this:Show Image(http://i.imgur.com/nrvCZw4.png)
Thanks for letting me know.
If the user specifies a background color in the editor and uses the raw data that contains that, your tool interprets that as a key and adds it.
It would be wise to only parse the arrays from the raw data, basically ignoring objects (unless of course they are values of an array).
Here's an example:Code: [Select]{backcolor:"#ff0000"},
["","","","","","","","","","","",""],
[{w:1.25},"","","","","","","","","","",{w:1.75},""],
[{w:1.75},"","","","","","","","","","",{w:1.25},""],
[{w:1.5},"","",{w:1.5},"",{w:4},"",{w:1.5},"","",{w:1.5},""]
Becomes this:Show Image(http://i.imgur.com/nrvCZw4.png)
What a cute little plate! :)
Worked thanks for the quick updateYa. I was pretty sure it was not that. I was just curious cause it caught my eye.Just a test for the moment, I'll finish the work in CAD.Hey I encountered this errorI will check on that for you. It looks right.Show Image(http://i.imgur.com/67dQIjR.png)
for this build :Show Image(http://i.imgur.com/GSdCkzg.png)
raw data belowQuote from: raw data[{y:1},"","","",""],
["","","",""],
["","","",{h:2},""],
["","",""],
["","","",{h:2},""],
[{w:2},"",""]
Did I made a mistake? Trying to get a plate for a 6x5 numpad.
Side note. Why such big holes? 5mm seems quite large to me.
ps: tried 1mm hole doesn't work either.
I will check this when I am on the train this morning.
Ok, try it again. It is working now. Some LXC workers had gotten stuck in a running state, so I ran out of resources and could not spawn new workers...
What a cute little plate! :)
After all the JD40 hype you created I'm probably going to make a 40% as my next project, here's the layout I've been messing with: http://www.keyboard-layout-editor.com/#/layouts/509067fc6168ffee7a5dc185b2c9b732
Ok, try it again. It is working now. Some LXC workers had gotten stuck in a running state, so I ran out of resources and could not spawn new workers...Worked thanks for the quick update
Cool. :) Won't your upper and lower be bound to the same key? Wouldn't lower be accessed with just the lower key press and the upper would be accessed with 'lower + shift'? Not sure it is even possible to split those key presses because I think they are registered as the same key. Unless you program upper to be a macro which is actually 'lower + shift'.
What a cute little plate! :)
After all the JD40 hype you created I'm probably going to make a 40% as my next project, here's the layout I've been messing with: http://www.keyboard-layout-editor.com/#/layouts/509067fc6168ffee7a5dc185b2c9b732
Cool. :) Won't your upper and lower be bound to the same key? Wouldn't lower be accessed with just the lower key press and the upper would be accessed with 'lower + shift'? Not sure it is even possible to split those key presses because I think they are registered as the same key. Unless you program upper to be a macro which is actually 'lower + shift'.
JD will probably have a better idea on this, but that was my understanding. Which complicated the 40% layout I wanted to do a bit...
It's great to have a 'community service' in bbs. Just a shame that it is US based. Still, I look forward to see what people do now that it is easier to prototype and build new designs. This will really make it easier for someone with no CAD experience to try out their ideas. I think this will lead to a 'renaissance' of keyboard design now that it is so much easier to try out something radical and new.
It's great to have a 'community service' in bbs. Just a shame that it is US based. Still, I look forward to see what people do now that it is easier to prototype and build new designs. This will really make it easier for someone with no CAD experience to try out their ideas. I think this will lead to a 'renaissance' of keyboard design now that it is so much easier to try out something radical and new.
Technically it is Canadian based. :P You can use the tool from anywhere and take the plates to any local shop to get the work done. Hopefully the lessons we learn working closely with companies like BigBlueSaw (US based) will help people who are getting work done at their local shops by giving them a head start in knowing what to ask for and what to look out for.
I hope this leads to a 'renaissance' of sorts when it comes to custom builds and unique ideas for new build projects. With the number of Enabler PCBs out there in the wild, I expect to see some very cool builds this year. If my work can help lower the bar for people to get involved and feel comfortable to start prototyping and building their ideas, that is fantastic. :)
It's great to have a 'community service' in bbs. Just a shame that it is US based. Still, I look forward to see what people do now that it is easier to prototype and build new designs. This will really make it easier for someone with no CAD experience to try out their ideas. I think this will lead to a 'renaissance' of keyboard design now that it is so much easier to try out something radical and new.
Technically it is Canadian based. :P You can use the tool from anywhere and take the plates to any local shop to get the work done. Hopefully the lessons we learn working closely with companies like BigBlueSaw (US based) will help people who are getting work done at their local shops by giving them a head start in knowing what to ask for and what to look out for.
I hope this leads to a 'renaissance' of sorts when it comes to custom builds and unique ideas for new build projects. With the number of Enabler PCBs out there in the wild, I expect to see some very cool builds this year. If my work can help lower the bar for people to get involved and feel comfortable to start prototyping and building their ideas, that is fantastic. :)
Sure, any shop will get it cut, but because BBS has the experience in this area surely that will help out their clients greatly.
Also, I was referring to BBS when I said US based. But the US and Canada are basically the same thing anyway, right...
runs and hides :D
Just wanted to let everyone know that the CAD files produced from the tool make perfectly viable plates on my friend's Solidoodle V3 3D Printer.
Here are some shots of the prototype:
http://imgur.com/24kdziP (http://imgur.com/24kdziP)
http://imgur.com/Hw6nAQe (http://imgur.com/Hw6nAQe)
We added posts for stability on the underside.
Your tool is amazing!
Ok, thats ****ing awesome. Well done dude. Thanks for sharing back your experience. This is really cool to see. :) Love that people are already trying 3d printing of this stuff. :) Did you use the STP file?
It's great to have a 'community service' in bbs. Just a shame that it is US based. Still, I look forward to see what people do now that it is easier to prototype and build new designs. This will really make it easier for someone with no CAD experience to try out their ideas. I think this will lead to a 'renaissance' of keyboard design now that it is so much easier to try out something radical and new.
Technically it is Canadian based. :P You can use the tool from anywhere and take the plates to any local shop to get the work done. Hopefully the lessons we learn working closely with companies like BigBlueSaw (US based) will help people who are getting work done at their local shops by giving them a head start in knowing what to ask for and what to look out for.
I hope this leads to a 'renaissance' of sorts when it comes to custom builds and unique ideas for new build projects. With the number of Enabler PCBs out there in the wild, I expect to see some very cool builds this year. If my work can help lower the bar for people to get involved and feel comfortable to start prototyping and building their ideas, that is fantastic. :)
Sure, any shop will get it cut, but because BBS has the experience in this area surely that will help out their clients greatly.
Also, I was referring to BBS when I said US based. But the US and Canada are basically the same thing anyway, right...
runs and hides :D
Sorry I did not make the connection between 'BBS' and 'BigBlueSaw'. I have seen bbs as a shorthand for bulletin boards (aka - forums), so I did not understand your statement as you meant it. :)
I do think that it is helpful for everyone to see the types of problems we are trying to solve with BBS. It will help guide other collaboration (potentially in your country). :)
Just wanted to let everyone know that the CAD files produced from the tool make perfectly viable plates on my friend's Solidoodle V3 3D Printer.
Here are some shots of the prototype:
http://imgur.com/24kdziP (http://imgur.com/24kdziP)
http://imgur.com/Hw6nAQe (http://imgur.com/Hw6nAQe)
We added posts for stability on the underside.
Your tool is amazing!
Ok, thats ****ing awesome. Well done dude. Thanks for sharing back your experience. This is really cool to see. :) Love that people are already trying 3d printing of this stuff. :) Did you use the STP file?
I used the STL file, which my 3D Printing buddy then chopped into pieces on another program. When I asked him what he used, he sent the following reply:
"Spaceclaim for opening and modifying the STEP and converting to STL (this is probably what he wants to know), Repetier Host for running the printer, Slic3r for slicing. If he wants to play with a program similar to Spaceclaim for free he should look into DesignSpark Mechanical - it does not have the full functionality but will import step files and has the basic features and workflow (note that I haven't actually used it myself, I just know it's using the Spaceclaim kernel)."
"Sandwich - This is a standard layered case. The plate goes on the top and then there are essentially ring layers and then a bottom plate. There are two types of ring layers; 'open' which has a cutout for the USB connector, and 'closed' which has no cutouts. You can choose how many of each layer is suitable for your case.Yes. When I wrote the help section I was expecting to have that functionality developed before I launched the tool. It is on my short list of features roll out, but my time has been limited recently due to RL stuff. I have also prioritized trying to get DXF format support working in order to simplify the collaboration with shops like BigBlueSaw. I have been struggling with this as it is currently broken in the core engine I am using, so I have been trying to troubleshoot and submit patches to the core to get DXF export functionality working for us.
This case type will actually produce the CAD files for all the layers of the sandwich case. You will be able to choose how many of each layer you want cut and build the case completely from the output of this tool."
This sounds like the tool produces all the layers, but I'm not seeing that. I just get the top plate. Am I doing something wrong, or is this future functionality?
It is an awesome, awesome tool btw.
Is the code on github? I wouldn't mind taking a look.
A small update tonight...
I have spent entirely too much time trying to get DXF support working. I had previously spent about a week or two on the problem and then gave up. This time I am working off the nightly builds of FreeCAD and I went into it knowing I was going to have to get my hands dirty. I have spent most of my free time this past week finding and fixing bugs and submitting patches upstream. Tonight I think I have finally cracked this nut and I have successfully exported a DXF file. W00t!!! Rounded corners are even working. Booya...
I am going to see if I can get SVG export working as well. I was not able to get it working in the past, but I have a better idea of how this stuff works now and I am pretty confident I should be able to get that working as well. I think I have already isolated the main issue, so hopefully it will be a quick fix.
Anyway, all good news. If I can finally get these exports working I will be able to rest easy and move on to the fun features. :)
This is amazing news! Now for dwg, unless you never want to look at file export code again in your life :)
So I'm torn between the top and bottom plate being all aluminum, all polycarbonate or PC for bottom plate and aluminum for the top. The switches I sent were delivered today, going to place my order monday or tuesday.
So I'm torn between the top and bottom plate being all aluminum, all polycarbonate or PC for bottom plate and aluminum for the top. The switches I sent were delivered today, going to place my order monday or tuesday.
I sent BigBlueSaw a bunch of stabilizers a couple days ago, so hopefully he will get them soon.
As for what you build your plate out of. Thats up to you. Do you have a PCB or are you hand wiring or using the Enabler PCBs for the matrix? If you don't have a PCB, then I would not recommend polycarb as I don't think 1.5mm polycarb would hold up. If you don't have a PCB, you MUST use a 1.5mm plate because the switches MUST clip into the plate to stay secure. If anything I just said doesn't make sense just ask for clarification. :)
Is this tool (or will it be) open source?Soon™. I am currently using a private bitbucket repo for development. I will be open sourcing it once I get a few more of the features in place. I will be putting it on GitHub when I do that. Right now I am just trying to advance things as quickly as I can before I open things up. Also, I want to clean up the way I did some things so they are more obvious to the masses.
Even if it wouldn't, depending on your preference, I'd suggest using some kind of bugtracker (GitHub issues for example), not just for us, but it's a tremendous tool for yourself.
Amazing work yet once again swill. Any idea when support for rotated keys will be coming? Not that I am worried about it, just curious.By rotation, you mean rotated groups like the ergodox thumb sections? I already support rotating switches and stabilizers around their center. Check the help in the plate layout section for details.
The svg one will probably be helpful with troubleshooting, so thumbs up for that feature!Is the live preview not good enough for you? What's the advantage of svg for troubleshooting?
The svg one will probably be helpful with troubleshooting, so thumbs up for that feature!Is the live preview not good enough for you? What's the advantage of svg for troubleshooting?
Now you just need to add Cherry-only stabilizer support. :DYa. I can do that if people want. Its not a big change.
I guess I should have mentioned that earlier, huh? The main reason for eliminating the costar cutout on the top is for when you want to use Cherry plate mount stabs. They don't clip into the plate as well if they have those cutouts. Most people want both combined, so they can choose what type of stabilizers to use after the fact.
Ahh. Ya I understand what you meant now.The svg one will probably be helpful with troubleshooting, so thumbs up for that feature!Is the live preview not good enough for you? What's the advantage of svg for troubleshooting?
Lets say a person has a question about his rendered plate, he/she could then just supply the link to the svg, which in most (if not all) modern browsers are rendered, without the need to share a picture or actual cad files.
Like so: http://swillkb.s3.amazonaws.com/ad6b6ad9c9fd4f92af48ce29fb72b72b177b7d36/ad6b6ad9c9fd4f92af48ce29fb72b72b177b7d36.svg
Come to think of it, I have a feature suggestion, although it's probably not necessary at all;
When the server is done rendering and the client receives the data, what about changing the path to the actual finished page and linking back to it would display the finished page?
This would allow for sharing a link to a finished plate in the format "builder.swillkb.com/<sha>", and possibly allowing for small modifications for re-rendering, even by other people.
So the link to the plate that I linked the svg for above would look like this: http://builder.swillkb.com/ad6b6ad9c9fd4f92af48ce29fb72b72b177b7d36.
And it would link to this page: http://i.imgur.com/T0c9Pjp.png, with all the parameters in the configure section there as well.
This depends however on how you cache and what data you actually keep on your end, like the parameters.
Major Update Released!!!This is great. I was asking around for measurements and planning to take a stab at it myself.
- Costar Only Stabilizer Support - This has been requested a few times. This option will help reduce machining costs for people who really only care about Costar stabilizers.
Now you just need to add Cherry-only stabilizer support. :D
I guess I should have mentioned that earlier, huh? The main reason for eliminating the costar cutout on the top is for when you want to use Cherry plate mount stabs. They don't clip into the plate as well if they have those cutouts. Most people want both combined, so they can choose what type of stabilizers to use after the fact.
Swill, amazing tool, and even greater with the .dxf support. I just want to let you know one little problem I run into.
When I input this data:
(Attachment Link)
It spits out this:
(Attachment Link)
It acts right if I put the top left key back in line with the middle two top keys.
Thanks,
Will
I don't think its programmed for non-standard layouts. Talk nicely to jdcarpe and he might do it for you though.
Swill, amazing tool, and even greater with the .dxf support. I just want to let you know one little problem I run into.I know about this one. I am working on it. Technically I don't yet support non standard layouts, but I am working on adding this support since other people have brought this up too.
When I input this data:
(Attachment Link)
It spits out this:
(Attachment Link)
It acts right if I put the top left key back in line with the middle two top keys.
Thanks,
Will
When downloading DFX from the tool, and then directly importing it into BBS to get a quote, it's picking up the plate size in inches instead of MM. So BBS's site thinks the plate is 326 inches by 107 inches.I guess BBS defaults to inches as their UOM. I don't think I can do anything about that from my size.
When downloading DFX from the tool, and then directly importing it into BBS to get a quote, it's picking up the plate size in inches instead of MM. So BBS's site thinks the plate is 326 inches by 107 inches.I guess BBS defaults to inches as their UOM. I don't think I can do anything about that from my size.
Ya. That is something melvang asked for as well. I would have to change the ui and how the data is collected as well. I am considering it, just have not gotten my head around it just yet. I will look into it.When downloading DFX from the tool, and then directly importing it into BBS to get a quote, it's picking up the plate size in inches instead of MM. So BBS's site thinks the plate is 326 inches by 107 inches.I guess BBS defaults to inches as their UOM. I don't think I can do anything about that from my size.
You could have an option for making the drawing in inches or mm? Still have the software run all the calculations in metric, but at the end scale everything if inch is selected?
Swill, amazing tool, and even greater with the .dxf support. I just want to let you know one little problem I run into.
When I input this data:
(Attachment Link)
It spits out this:
(Attachment Link)
It acts right if I put the top left key back in line with the middle two top keys.
Thanks,
Will
When downloading DFX from the tool, and then directly importing it into BBS to get a quote, it's picking up the plate size in inches instead of MM. So BBS's site thinks the plate is 326 inches by 107 inches.I guess BBS defaults to inches as their UOM. I don't think I can do anything about that from my size.
Have you thought about kerf for wood/MDF?
I think that's cheaper (I may be wrong) to prototype with. So would be a nice option if you want to try layouts without breaking the bank.
When downloading DFX from the tool, and then directly importing it into BBS to get a quote, it's picking up the plate size in inches instead of MM. So BBS's site thinks the plate is 326 inches by 107 inches.I guess BBS defaults to inches as their UOM. I don't think I can do anything about that from my size.
R12 DXF files have no units associated with them, so the online quoting system just assumes that they're inches.
Later DXF versions (R2000 and above I think) have a way to set a default unit for the file, so these will come out correctly.
A workaround is to open the file in Librecad and scale everything by a factor of 0.03937, then save the file. Or save as a R2000 DXF with mm units.
DXF AutoCAD-Release format codes:
AC1021 2008, 2007
AC1018 2006, 2005, 2004
AC1015 2002, 2000i, 2000
AC1014 R14, 14.01
AC1012 R13
AC1009 R12, 11
AC1006 R10
AC1004 R9
AC1002 R2.6
AC1.50 R2.05
self.acadver=' 9\n$ACADVER\n 1\nAC1009\n'
$ACADVER
1
AC1027
9
$INSUNITS
70
4
9
I took the DXF from the plate builder and opened it in DraftSight and it was listed as Unitless. I saved it in mm as "R2013 ASCII Drawing (*.dxf)" and it opened fine in BBS.Code: [Select]$ACADVER
1
AC1027
9Code: [Select]$INSUNITS
70
4
9
Great work on this, swill!
Just letting you know that the type 2 cutouts worked perfectly on my 3D printer for MX browns, but they pressed a little too hard on the sides for blues. I had to shave down the little protrusions, as blues are more sensitive to side pressure. Everything turned out beautiful. I'll post a pic when I have access to Imgur.
Just letting you know that the type 2 cutouts worked perfectly on my 3D printer for MX browns, but they pressed a little too hard on the sides for blues. I had to shave down the little protrusions, as blues are more sensitive to side pressure. Everything turned out beautiful. I'll post a pic when I have access to Imgur.
That's strange. I doubt it's related to the actual switch colours, just the different batches of switch housings.
Just letting you know that the type 2 cutouts worked perfectly on my 3D printer for MX browns, but they pressed a little too hard on the sides for blues. I had to shave down the little protrusions, as blues are more sensitive to side pressure. Everything turned out beautiful. I'll post a pic when I have access to Imgur.
Just letting you know that the type 2 cutouts worked perfectly on my 3D printer for MX browns, but they pressed a little too hard on the sides for blues. I had to shave down the little protrusions, as blues are more sensitive to side pressure. Everything turned out beautiful. I'll post a pic when I have access to Imgur.
Just letting you know that the type 2 cutouts worked perfectly on my 3D printer for MX browns, but they pressed a little too hard on the sides for blues. I had to shave down the little protrusions, as blues are more sensitive to side pressure. Everything turned out beautiful. I'll post a pic when I have access to Imgur.
Do the switches open correctly while clipped into the plate with that cutout? Any problems there? Curious because if the switch clipping into the plate is really tight, it may also be a problem for the side wings.
Just letting you know that the type 2 cutouts worked perfectly on my 3D printer for MX browns, but they pressed a little too hard on the sides for blues. I had to shave down the little protrusions, as blues are more sensitive to side pressure. Everything turned out beautiful. I'll post a pic when I have access to Imgur.
Do the switches open correctly while clipped into the plate with that cutout? Any problems there? Curious because if the switch clipping into the plate is really tight, it may also be a problem for the side wings.
Once I de-burred the edges of the areas that press on the center of the clips, the blues opened fine. This is really an issue with some 3D printers, as they often deposit just a LITTLE too much material as they make a tight corner.
Just letting you know that the type 2 cutouts worked perfectly on my 3D printer for MX browns, but they pressed a little too hard on the sides for blues. I had to shave down the little protrusions, as blues are more sensitive to side pressure. Everything turned out beautiful. I'll post a pic when I have access to Imgur.
Do the switches open correctly while clipped into the plate with that cutout? Any problems there? Curious because if the switch clipping into the plate is really tight, it may also be a problem for the side wings.
Once I de-burred the edges of the areas that press on the center of the clips, the blues opened fine. This is really an issue with some 3D printers, as they often deposit just a LITTLE too much material as they make a tight corner.
Fair enough. You could potentially specify a negative kerf value and you may be able to counteract that. Maybe something to try. I "think" that should work, but I have not tested that concept at all.
Does anyone know where I can get quotes for something in MM? bbs doesn't support MM
Ok, thanks! And yeah, that's what I mean. Should I just open it up on autocad or something and re-export it like you said?Does anyone know where I can get quotes for something in MM? bbs doesn't support MM
By MM, you mean millimeters? BBS does support mm, but you have to re-export the dxf file with a R2000 or later version of the DXF format in order to include units of measure. There have been some posts recently about this.
Ok, thanks! And yeah, that's what I mean. Should I just open it up on autocad or something and re-export it like you said?Does anyone know where I can get quotes for something in MM? bbs doesn't support MM
By MM, you mean millimeters? BBS does support mm, but you have to re-export the dxf file with a R2000 or later version of the DXF format in order to include units of measure. There have been some posts recently about this.
I have the student edition, so it should work. Thanks!Ok, thanks! And yeah, that's what I mean. Should I just open it up on autocad or something and re-export it like you said?Does anyone know where I can get quotes for something in MM? bbs doesn't support MM
By MM, you mean millimeters? BBS does support mm, but you have to re-export the dxf file with a R2000 or later version of the DXF format in order to include units of measure. There have been some posts recently about this.
abjr did it with draftsite. BBS suggested Librecad. AutoCAD should work fine if you have it.
Let us know how it goes. :)I have the student edition, so it should work. Thanks!Ok, thanks! And yeah, that's what I mean. Should I just open it up on autocad or something and re-export it like you said?Does anyone know where I can get quotes for something in MM? bbs doesn't support MM
By MM, you mean millimeters? BBS does support mm, but you have to re-export the dxf file with a R2000 or later version of the DXF format in order to include units of measure. There have been some posts recently about this.
abjr did it with draftsite. BBS suggested Librecad. AutoCAD should work fine if you have it.
It did not fix it, still says length is 107.950 inches.Let us know how it goes. :)I have the student edition, so it should work. Thanks!Ok, thanks! And yeah, that's what I mean. Should I just open it up on autocad or something and re-export it like you said?Does anyone know where I can get quotes for something in MM? bbs doesn't support MM
By MM, you mean millimeters? BBS does support mm, but you have to re-export the dxf file with a R2000 or later version of the DXF format in order to include units of measure. There have been some posts recently about this.
abjr did it with draftsite. BBS suggested Librecad. AutoCAD should work fine if you have it.
Received a 6u spacebar from a CMStorm QuickFire Ultimate today, they are using completely different stabilizer mounts on it.Looking at the image, your measurement is incorrect. What you should document is the center to center distance between the center outside stabilizer. You documented the distance from edge to edge of the posts. It should be from center of MX cutout to center of MX cutout. Make sense?
Center-to-center is 98mm with the switch mount perfectly in the middle (~43.5mm between the stab mounts and the switch mount, http://i.imgur.com/McryYdA.jpg).
The "normal" (Cherry G80-1800) is either 95.25mm or 96.5mm (I don't know that for sure yet, got conflicting sources), while Signature Plastics might have different mounts.
Anyways, thought this would come in handy.
Edit: Wikified http://deskthority.net/wiki/Space_bar_dimensions#6_units_.28114mm_wide.2C_3_keymounts.2C_43.5mm_apart.29
Received a 6u spacebar from a CMStorm QuickFire Ultimate today, they are using completely different stabilizer mounts on it.Looking at the image, your measurement is incorrect. What you should document is the center to center distance between the center outside stabilizer. You documented the distance from edge to edge of the posts. It should be from center of MX cutout to center of MX cutout. Make sense?
Center-to-center is 98mm with the switch mount perfectly in the middle (~43.5mm between the stab mounts and the switch mount, http://i.imgur.com/McryYdA.jpg).
The "normal" (Cherry G80-1800) is either 95.25mm or 96.5mm (I don't know that for sure yet, got conflicting sources), while Signature Plastics might have different mounts.
Anyways, thought this would come in handy.
Edit: Wikified http://deskthority.net/wiki/Space_bar_dimensions#6_units_.28114mm_wide.2C_3_keymounts.2C_43.5mm_apart.29
I hope more of those on the wiki are not wrong because that is the source I used for my stabilizer sizing. :\
Cool. :). Thx.Received a 6u spacebar from a CMStorm QuickFire Ultimate today, they are using completely different stabilizer mounts on it.Looking at the image, your measurement is incorrect. What you should document is the center to center distance between the center outside stabilizer. You documented the distance from edge to edge of the posts. It should be from center of MX cutout to center of MX cutout. Make sense?
Center-to-center is 98mm with the switch mount perfectly in the middle (~43.5mm between the stab mounts and the switch mount, http://i.imgur.com/McryYdA.jpg).
The "normal" (Cherry G80-1800) is either 95.25mm or 96.5mm (I don't know that for sure yet, got conflicting sources), while Signature Plastics might have different mounts.
Anyways, thought this would come in handy.
Edit: Wikified http://deskthority.net/wiki/Space_bar_dimensions#6_units_.28114mm_wide.2C_3_keymounts.2C_43.5mm_apart.29
I hope more of those on the wiki are not wrong because that is the source I used for my stabilizer sizing. :\
Updated the wiki to include that too, as well as the total center-to-center between the stabilizer mounts (98mm).
Also a thing to note, Cherry stabilizers don't work work at all with the keycap I got, the stems are smaller (0.1-0.2mm) than the spec, they fit fine in the center mount tho (the switch).
The keycap came with Costar-like mounts on it, and the reason I say Costar-like is because they are not cross (+) shaped, rather a straight bar (|).
Also a thing to note, Cherry stabilizers don't work work at all with the keycap I got, the stems are smaller (0.1-0.2mm) than the spec, they fit fine in the center mount tho (the switch).
The keycap came with Costar-like mounts on it, and the reason I say Costar-like is because they are not cross (+) shaped, rather a straight bar (|).
Can you give me a little more detail on what is going on here? Are you saying that the stabilizer cutouts are wrong for regular keycaps or just a specific set of caps you have? Do you have pictures maybe? It is really important that I know about any issues so I can fix them going forward. I need this to work for the majority of people without them having to think. :)
Also a thing to note, Cherry stabilizers don't work work at all with the keycap I got, the stems are smaller (0.1-0.2mm) than the spec, they fit fine in the center mount tho (the switch).
The keycap came with Costar-like mounts on it, and the reason I say Costar-like is because they are not cross (+) shaped, rather a straight bar (|).
Can you give me a little more detail on what is going on here? Are you saying that the stabilizer cutouts are wrong for regular keycaps or just a specific set of caps you have? Do you have pictures maybe? It is really important that I know about any issues so I can fix them going forward. I need this to work for the majority of people without them having to think. :)
It's nothing for you to worry about, has nothing to do with the plate anyways, it's the stabilizer holes on the keycap, they're too small to fit Cherry stabs.
Just me ranting :p
Alright so the plate is cut and he sent me a video earlier. The cutouts fit perfect top and bottom, but are loose side to side. I dont think this could be a kerf issue due to the fact that it's a pretty large gap so I'm curious if it has to do with the actual size of the cutout just being off? Aside from that the plate looks good, he shipped it out to me today. Even though there is room on either side of the switch, it fits snug and it takes quite a but of force for him to push it from side to side. Ignore the fact that the stab bar is upside down, I doubt he's had a mech spacebar off before so A+ for effort.
Alright so the plate is cut and he sent me a video earlier. The cutouts fit perfect top and bottom, but are loose side to side. I dont think this could be a kerf issue due to the fact that it's a pretty large gap so I'm curious if it has to do with the actual size of the cutout just being off? Aside from that the plate looks good, he shipped it out to me today. Even though there is room on either side of the switch, it fits snug and it takes quite a but of force for him to push it from side to side. Ignore the fact that the stab bar is upside down, I doubt he's had a mech spacebar off before so A+ for effort.
The long part of the stabilizer wire goes in the nooks, the small parts is for the keycap. Thanks for the laugh tho ;D
http://deskthority.net/wiki/File:Filco_Majestouch_1_--_Costar_stabiliser.jpg
As for the wiggle room, is it the same on all the other holes too?
Looks like you used the default holes when you created your plate? If so, those gaps on the sides are for switch opening. :)
Looks like you used the default holes when you created your plate? If so, those gaps on the sides are for switch opening. :)
Yes, exactly.Looks like you used the default holes when you created your plate? If so, those gaps on the sides are for switch opening. :)
And alps compatible iirc.
If you want to secure them better, use hot glue on the corners from the back side. I will be doing the same to my plate's spacebar (because the cutout is much larger to fit any kind of keycap, http://i.imgur.com/MEGGLNs.png).
Unless of course you've got a PCB, then it's irrelevant.
The corner nubs are a little off due to the waterjet cutting program. Thus, the horizontal play in the switches.
We'll work on getting that perfect, but after discussing with swill and phishy on the phone today, it's good enough for regular use. You have to use a bit of force to get them to slide horizontally, so I don' t think this is a big problem.
Alps switches don't work right yet, though, for some reason. That's something else we'll have to work on.
Alright so the plate is cut and he sent me a video earlier. The cutouts fit perfect top and bottom, but are loose side to side. I dont think this could be a kerf issue due to the fact that it's a pretty large gap so I'm curious if it has to do with the actual size of the cutout just being off? Aside from that the plate looks good, he shipped it out to me today. Even though there is room on either side of the switch, it fits snug and it takes quite a but of force for him to push it from side to side. Ignore the fact that the stab bar is upside down, I doubt he's had a mech spacebar off before so A+ for effort.I spent an hour or so on the phone with BBS today discussing and measuring this. The dimensions of the cutout is correct. The actual cutout is slightly smaller than the drawing. I think it is 13.88mm instead of 14mm and the width of the alps cutout sides was slightly smaller as well. I think the main reason for the movement is the nubs in the corners are not quite as square as we are shooting for and the MX switches are also not square (there is less material in those corners of the switch). BBS is going to work on getting those corners more square in the water jet processing.
The corner nubs are a little off due to the waterjet cutting program. Thus, the horizontal play in the switches.
We'll work on getting that perfect, but after discussing with swill and phishy on the phone today, it's good enough for regular use. You have to use a bit of force to get them to slide horizontally, so I don' t think this is a big problem.
Alps switches don't work right yet, though, for some reason. That's something else we'll have to work on.
And decide which stabilizers you will use, Costar or Cherry, and pick one or the other for your drawing.
The switch depresses but does not rebound. I think it is because it is too tight. We need to do some testing.The corner nubs are a little off due to the waterjet cutting program. Thus, the horizontal play in the switches.
We'll work on getting that perfect, but after discussing with swill and phishy on the phone today, it's good enough for regular use. You have to use a bit of force to get them to slide horizontally, so I don' t think this is a big problem.
Alps switches don't work right yet, though, for some reason. That's something else we'll have to work on.
Can you make a video.showing how the alps don't work.
Would it be possible to adjust for this by manually adding a small factor to the kerf to "loosen" things up?The switch depresses but does not rebound. I think it is because it is too tight. We need to do some testing.The corner nubs are a little off due to the waterjet cutting program. Thus, the horizontal play in the switches.
We'll work on getting that perfect, but after discussing with swill and phishy on the phone today, it's good enough for regular use. You have to use a bit of force to get them to slide horizontally, so I don' t think this is a big problem.
Alps switches don't work right yet, though, for some reason. That's something else we'll have to work on.
Can you make a video.showing how the alps don't work.
Well the cutout ended up being about .15mm smaller than my drawing. I am not sure what the alps tolerances are, but cherry spec lists .05mm as the tolerance (but they still work). If we get the cutout a little closer to the drawing we will know more.Would it be possible to adjust for this by manually adding a small factor to the kerf to "loosen" things up?The switch depresses but does not rebound. I think it is because it is too tight. We need to do some testing.The corner nubs are a little off due to the waterjet cutting program. Thus, the horizontal play in the switches.
We'll work on getting that perfect, but after discussing with swill and phishy on the phone today, it's good enough for regular use. You have to use a bit of force to get them to slide horizontally, so I don' t think this is a big problem.
Alps switches don't work right yet, though, for some reason. That's something else we'll have to work on.
Can you make a video.showing how the alps don't work.
On the bright side of things, you can always take a little material away, can't put it back though. If I have any problems with my cutouts i'll take a file or something to them. In the future I'll probably just be using the regular cutout. I don't really have a reason to open switches once I get them mounted anyways, and that will avoid the corners being too small and the switch moving.
I am getting an Internal Server Error whenever I try to generate a 15x15 platePost the layout you are using and a screenshot of your settings and I will get it sorted. Thanks for the heads up.
Ok, and 12x12 with .5 spacing between each key seems to give me the same error as well.I am getting an Internal Server Error whenever I try to generate a 15x15 platePost the layout you are using and a screenshot of your settings and I will get it sorted. Thanks for the heads up.
I will check once I finish getting the baby settled in for the night.Ok, and 12x12 with .5 spacing between each key seems to give me the same error as well.I am getting an Internal Server Error whenever I try to generate a 15x15 platePost the layout you are using and a screenshot of your settings and I will get it sorted. Thanks for the heads up.
15 x 15
http://www.keyboard-layout-editor.com/#/layouts/fb056a32269ea05755bda1eeaef97d94Show Image(http://i.gyazo.com/cf19f54b9e721dec7c096e90657f67c2.png)
12 x 12 w/ .5 spacing
http://www.keyboard-layout-editor.com/#/layouts/d4ec6bbf397bcf0923d35f00541b657bShow Image(http://i.gyazo.com/5db050f85286e36cedf779ede77b7e89.png)
Ok, and 12x12 with .5 spacing between each key seems to give me the same error as well.I am getting an Internal Server Error whenever I try to generate a 15x15 platePost the layout you are using and a screenshot of your settings and I will get it sorted. Thanks for the heads up.
15 x 15
http://www.keyboard-layout-editor.com/#/layouts/fb056a32269ea05755bda1eeaef97d94Show Image(http://i.gyazo.com/cf19f54b9e721dec7c096e90657f67c2.png)
12 x 12 w/ .5 spacing
http://www.keyboard-layout-editor.com/#/layouts/d4ec6bbf397bcf0923d35f00541b657bShow Image(http://i.gyazo.com/5db050f85286e36cedf779ede77b7e89.png)
I honestly think I clicked that last cutout by accident, and thanks for the help and support!Ok, and 12x12 with .5 spacing between each key seems to give me the same error as well.I am getting an Internal Server Error whenever I try to generate a 15x15 platePost the layout you are using and a screenshot of your settings and I will get it sorted. Thanks for the heads up.
15 x 15
http://www.keyboard-layout-editor.com/#/layouts/fb056a32269ea05755bda1eeaef97d94Show Image(http://i.gyazo.com/cf19f54b9e721dec7c096e90657f67c2.png)
12 x 12 w/ .5 spacing
http://www.keyboard-layout-editor.com/#/layouts/d4ec6bbf397bcf0923d35f00541b657bShow Image(http://i.gyazo.com/5db050f85286e36cedf779ede77b7e89.png)
Alright, sorry for the delay. Ok, so the reason it was failing was a combination of a bunch of different things.
1) I had the timeout for drawing a plate at 30 minutes. The plate was not finishing drawing in that timeframe, so it was failing. I have upped that time out to 2 hours, so hopefully that helps.
2) You were using the most complex switch cutout, which is not actually recommended anyway because the switch does not clip in as solid as it should. The draw times increase based on the complexity of the switch cutout (like the manufacturing cost). I have actually removed that option completely from the UI because no one should be using that. If you really need to rotate a switch, then rotate the cutout instead. If you REALLY must have that cutout, I have actually left it in the code, but you have to specify the {_t:3} on any key you want to use it on in your layout.
3) This is not something you had any control over, but the SVG export takes a VERY long time. It is like 10x as long as any of the other exports because of the way it does the export. Because of this, I have removed it from the default export formats and I have added an 'Export SVG' toggle as an option. So if you actually want to export an SVG, you just have to turn on the 'Export SVG' option and that export format will be included. Otherwise it will not be exported by default.
This should take care of the lion share of the issues with the cad taking WAY too long to draw. Let me know if you have any other issues. :)
I honestly think I clicked that last cutout by accident, and thanks for the help and support!
Oh wow, I didn't even think about that since all I have to do is unclip, thanks for the adviceI honestly think I clicked that last cutout by accident, and thanks for the help and support!
If you are hand wiring, I strongly recommend the simple square. It is the most stable cutout and you don't have to worry about desoldering to open the switch because you can unclip without desoldering. I will probably mention this a lot in this thread, but it is worth repeating. It is also the easiest to manufacture and will bring down the cost of the plates when you get them cut.
Ya. I had not thought of that either, but JD educated me on the topic. :)Oh wow, I didn't even think about that since all I have to do is unclip, thanks for the adviceI honestly think I clicked that last cutout by accident, and thanks for the help and support!
If you are hand wiring, I strongly recommend the simple square. It is the most stable cutout and you don't have to worry about desoldering to open the switch because you can unclip without desoldering. I will probably mention this a lot in this thread, but it is worth repeating. It is also the easiest to manufacture and will bring down the cost of the plates when you get them cut.
Ya. I had not thought of that either, but JD educated me on the topic. :)Oh wow, I didn't even think about that since all I have to do is unclip, thanks for the adviceI honestly think I clicked that last cutout by accident, and thanks for the help and support!
If you are hand wiring, I strongly recommend the simple square. It is the most stable cutout and you don't have to worry about desoldering to open the switch because you can unclip without desoldering. I will probably mention this a lot in this thread, but it is worth repeating. It is also the easiest to manufacture and will bring down the cost of the plates when you get them cut.
Yeah, probably the hardest part :PYa. I had not thought of that either, but JD educated me on the topic. :)Oh wow, I didn't even think about that since all I have to do is unclip, thanks for the adviceI honestly think I clicked that last cutout by accident, and thanks for the help and support!
If you are hand wiring, I strongly recommend the simple square. It is the most stable cutout and you don't have to worry about desoldering to open the switch because you can unclip without desoldering. I will probably mention this a lot in this thread, but it is worth repeating. It is also the easiest to manufacture and will bring down the cost of the plates when you get them cut.
Just make sure to leave enough length on the leads for the bottom of the tabs to clear the plate.
Yeah, probably the hardest part :PYa. I had not thought of that either, but JD educated me on the topic. :)Oh wow, I didn't even think about that since all I have to do is unclip, thanks for the adviceI honestly think I clicked that last cutout by accident, and thanks for the help and support!
If you are hand wiring, I strongly recommend the simple square. It is the most stable cutout and you don't have to worry about desoldering to open the switch because you can unclip without desoldering. I will probably mention this a lot in this thread, but it is worth repeating. It is also the easiest to manufacture and will bring down the cost of the plates when you get them cut.
Just make sure to leave enough length on the leads for the bottom of the tabs to clear the plate.
I hope you dont mind me asking, and this isn't coming off condescending, but what are you supposed to do with them after you solder them into the enabler pcb?Yeah, probably the hardest part :PYa. I had not thought of that either, but JD educated me on the topic. :)Oh wow, I didn't even think about that since all I have to do is unclip, thanks for the adviceI honestly think I clicked that last cutout by accident, and thanks for the help and support!
If you are hand wiring, I strongly recommend the simple square. It is the most stable cutout and you don't have to worry about desoldering to open the switch because you can unclip without desoldering. I will probably mention this a lot in this thread, but it is worth repeating. It is also the easiest to manufacture and will bring down the cost of the plates when you get them cut.
Just make sure to leave enough length on the leads for the bottom of the tabs to clear the plate.
This was actually the primary reason I wanted the Enablers the size they are. Well, that and you can do half the soldering before installing in the plate.
I hope you dont mind me asking, and this isn't coming off condescending, but what are you supposed to do with them after you solder them into the enabler pcb?Yeah, probably the hardest part :PYa. I had not thought of that either, but JD educated me on the topic. :)Oh wow, I didn't even think about that since all I have to do is unclip, thanks for the adviceI honestly think I clicked that last cutout by accident, and thanks for the help and support!
If you are hand wiring, I strongly recommend the simple square. It is the most stable cutout and you don't have to worry about desoldering to open the switch because you can unclip without desoldering. I will probably mention this a lot in this thread, but it is worth repeating. It is also the easiest to manufacture and will bring down the cost of the plates when you get them cut.
Just make sure to leave enough length on the leads for the bottom of the tabs to clear the plate.
This was actually the primary reason I wanted the Enablers the size they are. Well, that and you can do half the soldering before installing in the plate.
I have also encountered a spacing issue: on the top left corner, my spacing is 10mm, and when measured in LibreCAD, it give me a measurement (from the top right corner of the switch cutout) 22.000 x 22.000, but the top rightcorner is 22.000 vert, and 12.5 hori. Bottom rightcorner is 12.5 vert by 12.5 hori, and the bottom left corner is 12.5 vert, and 22.000 hori.
Top Right:Show Image(http://i.gyazo.com/862aadaa9e2deaaf430a0983d5839f28.png)
Top Left:Show Image(http://i.gyazo.com/3195ffa7740ff493d127b2f50aad075a.png)
Bottom Right:Show Image(http://i.gyazo.com/5cda14d41a7ca34b25c0df3e5e5ce727.png)
Bottom Left:Show Image(http://i.gyazo.com/e6531f0819a7e8cf47cedf9fd4b4a290.png)
Ah, that actually makes a lot more sense, I have 3 of them that I was screwing around with, that is very useful now that I know how they actually work.I hope you dont mind me asking, and this isn't coming off condescending, but what are you supposed to do with them after you solder them into the enabler pcb?Yeah, probably the hardest part :PYa. I had not thought of that either, but JD educated me on the topic. :)MoreOh wow, I didn't even think about that since all I have to do is unclip, thanks for the adviceI honestly think I clicked that last cutout by accident, and thanks for the help and support!
If you are hand wiring, I strongly recommend the simple square. It is the most stable cutout and you don't have to worry about desoldering to open the switch because you can unclip without desoldering. I will probably mention this a lot in this thread, but it is worth repeating. It is also the easiest to manufacture and will bring down the cost of the plates when you get them cut.
Just make sure to leave enough length on the leads for the bottom of the tabs to clear the plate.
This was actually the primary reason I wanted the Enablers the size they are. Well, that and you can do half the soldering before installing in the plate.
Mount in the plate and finish soldering the matrix.
This is one build that has been done with them. https://geekhack.org/index.php?topic=67848.0
Some people don't see the point of them but I don't see any other decent way for LED's on a hand wired matrix. Plus being able to do full custom layout for any plate and being able to swap without desoldering on a stock plate is nice.I have also encountered a spacing issue: on the top left corner, my spacing is 10mm, and when measured in LibreCAD, it give me a measurement (from the top right corner of the switch cutout) 22.000 x 22.000, but the top rightcorner is 22.000 vert, and 12.5 hori. Bottom rightcorner is 12.5 vert by 12.5 hori, and the bottom left corner is 12.5 vert, and 22.000 hori.
Top Right:Show Image(http://i.gyazo.com/862aadaa9e2deaaf430a0983d5839f28.png)
Top Left:Show Image(http://i.gyazo.com/3195ffa7740ff493d127b2f50aad075a.png)
Bottom Right:Show Image(http://i.gyazo.com/5cda14d41a7ca34b25c0df3e5e5ce727.png)
Bottom Left:Show Image(http://i.gyazo.com/e6531f0819a7e8cf47cedf9fd4b4a290.png)
Padding is from the edge of the cap not the edge of the hole. I believe Swill sized that off DCS caps from SP which are .715" square.
[/more]
Ah, that actually makes a lot more sense, I have 3 of them that I was screwing around with, that is very useful now that I know how they actually work.I hope you dont mind me asking, and this isn't coming off condescending, but what are you supposed to do with them after you solder them into the enabler pcb?Yeah, probably the hardest part :PYa. I had not thought of that either, but JD educated me on the topic. :)MoreOh wow, I didn't even think about that since all I have to do is unclip, thanks for the adviceI honestly think I clicked that last cutout by accident, and thanks for the help and support!
If you are hand wiring, I strongly recommend the simple square. It is the most stable cutout and you don't have to worry about desoldering to open the switch because you can unclip without desoldering. I will probably mention this a lot in this thread, but it is worth repeating. It is also the easiest to manufacture and will bring down the cost of the plates when you get them cut.
Just make sure to leave enough length on the leads for the bottom of the tabs to clear the plate.
This was actually the primary reason I wanted the Enablers the size they are. Well, that and you can do half the soldering before installing in the plate.
Mount in the plate and finish soldering the matrix.
This is one build that has been done with them. https://geekhack.org/index.php?topic=67848.0
Some people don't see the point of them but I don't see any other decent way for LED's on a hand wired matrix. Plus being able to do full custom layout for any plate and being able to swap without desoldering on a stock plate is nice.I have also encountered a spacing issue: on the top left corner, my spacing is 10mm, and when measured in LibreCAD, it give me a measurement (from the top right corner of the switch cutout) 22.000 x 22.000, but the top rightcorner is 22.000 vert, and 12.5 hori. Bottom rightcorner is 12.5 vert by 12.5 hori, and the bottom left corner is 12.5 vert, and 22.000 hori.
Top Right:Show Image(http://i.gyazo.com/862aadaa9e2deaaf430a0983d5839f28.png)
Top Left:Show Image(http://i.gyazo.com/3195ffa7740ff493d127b2f50aad075a.png)
Bottom Right:Show Image(http://i.gyazo.com/5cda14d41a7ca34b25c0df3e5e5ce727.png)
Bottom Left:Show Image(http://i.gyazo.com/e6531f0819a7e8cf47cedf9fd4b4a290.png)
Padding is from the edge of the cap not the edge of the hole. I believe Swill sized that off DCS caps from SP which are .715" square.
[/more]
Functionality Update...
So this may not seem like a huge update because it is only one feature, but I had to refactor a lot of code to add this functionality, so it feels like a big feature to me. :)
I have added support for drawing all of the different layers of the sandwich case. The top layer did not change. I have added two middle layers, one is just a spacer and does not have any cutouts and the other has a 1cm cutout in the center for the USB connection. I have also added the bottom layer.
Ah, that actually makes a lot more sense, I have 3 of them that I was screwing around with, that is very useful now that I know how they actually work.I hope you dont mind me asking, and this isn't coming off condescending, but what are you supposed to do with them after you solder them into the enabler pcb?Yeah, probably the hardest part :PYa. I had not thought of that either, but JD educated me on the topic. :)MoreOh wow, I didn't even think about that since all I have to do is unclip, thanks for the adviceI honestly think I clicked that last cutout by accident, and thanks for the help and support!
If you are hand wiring, I strongly recommend the simple square. It is the most stable cutout and you don't have to worry about desoldering to open the switch because you can unclip without desoldering. I will probably mention this a lot in this thread, but it is worth repeating. It is also the easiest to manufacture and will bring down the cost of the plates when you get them cut.
Just make sure to leave enough length on the leads for the bottom of the tabs to clear the plate.
This was actually the primary reason I wanted the Enablers the size they are. Well, that and you can do half the soldering before installing in the plate.
Mount in the plate and finish soldering the matrix.
This is one build that has been done with them. https://geekhack.org/index.php?topic=67848.0
Some people don't see the point of them but I don't see any other decent way for LED's on a hand wired matrix. Plus being able to do full custom layout for any plate and being able to swap without desoldering on a stock plate is nice.I have also encountered a spacing issue: on the top left corner, my spacing is 10mm, and when measured in LibreCAD, it give me a measurement (from the top right corner of the switch cutout) 22.000 x 22.000, but the top rightcorner is 22.000 vert, and 12.5 hori. Bottom rightcorner is 12.5 vert by 12.5 hori, and the bottom left corner is 12.5 vert, and 22.000 hori.
Top Right:Show Image(http://i.gyazo.com/862aadaa9e2deaaf430a0983d5839f28.png)
Top Left:Show Image(http://i.gyazo.com/3195ffa7740ff493d127b2f50aad075a.png)
Bottom Right:Show Image(http://i.gyazo.com/5cda14d41a7ca34b25c0df3e5e5ce727.png)
Bottom Left:Show Image(http://i.gyazo.com/e6531f0819a7e8cf47cedf9fd4b4a290.png)
Padding is from the edge of the cap not the edge of the hole. I believe Swill sized that off DCS caps from SP which are .715" square.
[/more]
I really need to put this link in my signature. https://geekhack.org/index.php?topic=57511.msg1481480#msg1481480
techkeys.us is selling them, unless they are out of stock.
Oh wow those look convenient. Wish I had about 70 of em right now haha.
Yeah they are sold out of em.
I have also encountered a spacing issue: on the top left corner, my spacing is 10mm, and when measured in LibreCAD, it give me a measurement (from the top right corner of the switch cutout) 22.000 x 22.000, but the top rightcorner is 22.000 vert, and 12.5 hori. Bottom rightcorner is 12.5 vert by 12.5 hori, and the bottom left corner is 12.5 vert, and 22.000 hori.
Top Right:Show Image(http://i.gyazo.com/862aadaa9e2deaaf430a0983d5839f28.png)
Top Left:Show Image(http://i.gyazo.com/3195ffa7740ff493d127b2f50aad075a.png)
Bottom Right:Show Image(http://i.gyazo.com/5cda14d41a7ca34b25c0df3e5e5ce727.png)
Bottom Left:Show Image(http://i.gyazo.com/e6531f0819a7e8cf47cedf9fd4b4a290.png)
Yeah, no more questions now, I figured out my issue, I added {x:0.05} to the raw data where it shouldnt have beenI have also encountered a spacing issue: on the top left corner, my spacing is 10mm, and when measured in LibreCAD, it give me a measurement (from the top right corner of the switch cutout) 22.000 x 22.000, but the top rightcorner is 22.000 vert, and 12.5 hori. Bottom rightcorner is 12.5 vert by 12.5 hori, and the bottom left corner is 12.5 vert, and 22.000 hori.
Top Right:Show Image(http://i.gyazo.com/862aadaa9e2deaaf430a0983d5839f28.png)
Top Left:Show Image(http://i.gyazo.com/3195ffa7740ff493d127b2f50aad075a.png)
Bottom Right:Show Image(http://i.gyazo.com/5cda14d41a7ca34b25c0df3e5e5ce727.png)
Bottom Left:Show Image(http://i.gyazo.com/e6531f0819a7e8cf47cedf9fd4b4a290.png)
Here are how the measurements work.
If you had a single switch cutout without any padding you would have the following:
(Attachment Link)
Basically, the switches are 19.05mm apart (center to center) from each other. If you only have one switch, the plate will actually be 19.05mm (if you don't have any padding). So it is not exactly the same size as a keycap, it is slightly bigger than keycap. It is the space in which the key lives taking into account the spacing from other keys.
If you had two keys without padding, it would look like the following:
(Attachment Link)
Now lets add 2mm of padding just to show the change in numbers:
(Attachment Link)
Now lets add {x:0.5} to the first key to see how it shifts it. In this example I removed the padding to simplify the numbers:
(Attachment Link)
Notice that the following is true: 19.05/2 + 2.525 = 12.05
Does this all make sense now? Any follow up questions?
Good good. :)Yeah, no more questions now, I figured out my issue, I added {x:0.05} to the raw data where it shouldnt have beenI have also encountered a spacing issue: on the top left corner, my spacing is 10mm, and when measured in LibreCAD, it give me a measurement (from the top right corner of the switch cutout) 22.000 x 22.000, but the top rightcorner is 22.000 vert, and 12.5 hori. Bottom rightcorner is 12.5 vert by 12.5 hori, and the bottom left corner is 12.5 vert, and 22.000 hori.
Top Right:Show Image(http://i.gyazo.com/862aadaa9e2deaaf430a0983d5839f28.png)
Top Left:Show Image(http://i.gyazo.com/3195ffa7740ff493d127b2f50aad075a.png)
Bottom Right:Show Image(http://i.gyazo.com/5cda14d41a7ca34b25c0df3e5e5ce727.png)
Bottom Left:Show Image(http://i.gyazo.com/e6531f0819a7e8cf47cedf9fd4b4a290.png)
Here are how the measurements work.
If you had a single switch cutout without any padding you would have the following:
(Attachment Link)
Basically, the switches are 19.05mm apart (center to center) from each other. If you only have one switch, the plate will actually be 19.05mm (if you don't have any padding). So it is not exactly the same size as a keycap, it is slightly bigger than keycap. It is the space in which the key lives taking into account the spacing from other keys.
If you had two keys without padding, it would look like the following:
(Attachment Link)
Now lets add 2mm of padding just to show the change in numbers:
(Attachment Link)
Now lets add {x:0.5} to the first key to see how it shifts it. In this example I removed the padding to simplify the numbers:
(Attachment Link)
Notice that the following is true: 19.05/2 + 2.525 = 12.05
Does this all make sense now? Any follow up questions?
I haven't seen any orders the past couple days for this. What's everyone waiting for?
BTW, we're having a contest to give away $450 in services: http://a.pgtb.me/mhW3Q6
May I ask what the final kerf value was for bigbluesaw?
I may use this tool to order a plate if the SD-60 doesn't show progress soon.
Awesome thank you!May I ask what the final kerf value was for bigbluesaw?
I may use this tool to order a plate if the SD-60 doesn't show progress soon.
They adjust kerf themselves due to its being dependent on nozzle wear. But they have switches and stabs to confirm fitment so you can rest easy knowing that everything will fit properly.
May I ask what the final kerf value was for bigbluesaw?For their waterjet (aluminum and steels) they will adjust for kerf, so just leave kerf at zero. If you are having them laser cut for you, you may want to check since I think they will want kerf set.
I may use this tool to order a plate if the SD-60 doesn't show progress soon.
I'm going to look into waterjet and will use your tool to test it out
I haven't seen any orders the past couple days for this. What's everyone waiting for?
BTW, we're having a contest to give away $450 in services: http://a.pgtb.me/mhW3Q6
I just uploaded a .dxf to BigBlueSaw and it appears that I need an 8 foot by 8 foot plate. 0_oShow Image(http://i.imgur.com/bS84sZ9.png)
I have the .dxf and .svg if you want to look at them @swill.
There is a chance I totally messed this up, it was my first time.
I just uploaded a .dxf to BigBlueSaw and it appears that I need an 8 foot by 8 foot plate. 0_oShow Image(http://i.imgur.com/bS84sZ9.png)
I have the .dxf and .svg if you want to look at them @swill.
There is a chance I totally messed this up, it was my first time.
I just uploaded a .dxf to BigBlueSaw and it appears that I need an 8 foot by 8 foot plate. 0_oShow Image(http://i.imgur.com/bS84sZ9.png)
I have the .dxf and .svg if you want to look at them @swill.
There is a chance I totally messed this up, it was my first time.
Yes, JD is correct. Currently there is no unit information in the DXF export, so I export in mm and BBS picks it up and defaults to inches. You can open the file in LibreCAD and export as DXF again and it will export the file in a more recent version of DXF and it will include the correct mm units.
I'm planning on building my first custom keyboard and your plate building tool is going to save us all many hours, thanks!
I have some questions which may sound stupid but I really have no idea. It's concerning the screws. I will have 6 mount holes and I need some help figuring out the correct size. If I plan to use M2 screws (2mm diameter, right) do the holes need to be 2mm as well or do they have to be a bit bigger? Is there any reccomended size or anythig bigger than M2 M2,5 is too big?
Thanks!
What are some appropriate values to use for the Mount Hole diameter and Plate Corner radius? I used 2.7mm and 2mm respectively and the edge of the holes are about 1.15mm from the edge of the plate. I'm not sure if that would lead to the head of the screw overhanging the plate.
I just got my plate from UPS. Looks awesome and the switches fit great and snug. I'm actually not seeing any side to side play like in the video, im assuming he had to use ALOT of force to get it to slide. Either way A+ and now can confirm that the tool works and that bigbluesaw is the go-to for getting this done online.
I just got my plate from UPS. Looks awesome and the switches fit great and snug. I'm actually not seeing any side to side play like in the video, im assuming he had to use ALOT of force to get it to slide. Either way A+ and now can confirm that the tool works and that bigbluesaw is the go-to for getting this done online.Out of curiosity, did you use the standard cut out that's a simple square or a different choice?
I just got my plate from UPS. Looks awesome and the switches fit great and snug. I'm actually not seeing any side to side play like in the video, im assuming he had to use ALOT of force to get it to slide. Either way A+ and now can confirm that the tool works and that bigbluesaw is the go-to for getting this done online.Out of curiosity, did you use the standard cut out that's a simple square or a different choice?
Thanks,
neverused
Yes. I can confirm this.I just got my plate from UPS. Looks awesome and the switches fit great and snug. I'm actually not seeing any side to side play like in the video, im assuming he had to use ALOT of force to get it to slide. Either way A+ and now can confirm that the tool works and that bigbluesaw is the go-to for getting this done online.Out of curiosity, did you use the standard cut out that's a simple square or a different choice?
Thanks,
neverused
From looking at the video, it would seem they were the "combined Alps/MX" holes, or the second from the left.
I just got my plate from UPS. Looks awesome and the switches fit great and snug. I'm actually not seeing any side to side play like in the video, im assuming he had to use ALOT of force to get it to slide. Either way A+ and now can confirm that the tool works and that bigbluesaw is the go-to for getting this done online.Great to hear it. Please keep us up to date on your build.
And in the future I'll probably just use the 1st style cutouts. I've actually 2 more projects in the works once I free up some money so I'll be in touch soon.
Thanks for the answers. I think I will go with 3.2mmAnd in the future I'll probably just use the 1st style cutouts. I've actually 2 more projects in the works once I free up some money so I'll be in touch soon.
May I ask why?
Is your plate aluminium or stainless steel? I still have to decide for both the switches' plate and the bottom plate :)
Would it be too heavy having both of steel?
Would it look weird having one of each (top aluminium, bottom steel)?
Thanks again!
So I made a 60% layout, put it into the builder, download the DXF, but when I tried to input it to big blue saw's website, it tried to tell me that the design was 97" long and couldn't process itOpen it up in LibreCAD and save it as a DXF 2010 model, then reupload it, BBS defaults to in, and the way the file is saved doesn't suppor UOM.
Don't know why I installed all the switches...gotta take em back out to anodize or paint the plate anyways. Now I gotta order diodes, keycaps, controller, stabs and wires and soldering stuff.What material and kerf did you use?
(http://i190.photobucket.com/albums/z173/phlshtank/0224151934_zpshvjnqjdw.jpg) (http://s190.photobucket.com/user/phlshtank/media/0224151934_zpshvjnqjdw.jpg.html)
Don't know why I installed all the switches...gotta take em back out to anodize or paint the plate anyways. Now I gotta order diodes, keycaps, controller, stabs and wires and soldering stuff.What material and kerf did you use?
(http://i190.photobucket.com/albums/z173/phlshtank/0224151934_zpshvjnqjdw.jpg) (http://s190.photobucket.com/user/phlshtank/media/0224151934_zpshvjnqjdw.jpg.html)
Ok, thanks! And what program did you use to resize and what did you do in the program, I wan't to get it right on my first try, and sorry for the questions.Don't know why I installed all the switches...gotta take em back out to anodize or paint the plate anyways. Now I gotta order diodes, keycaps, controller, stabs and wires and soldering stuff.What material and kerf did you use?
(http://i190.photobucket.com/albums/z173/phlshtank/0224151934_zpshvjnqjdw.jpg) (http://s190.photobucket.com/user/phlshtank/media/0224151934_zpshvjnqjdw.jpg.html)
6061 Aluminum and I didn't use kerf. If you're using Big Blue Saw (I recommend them) they will adjust for kerf on their end.
Ok, thanks! And what program did you use to resize and what did you do in the program, I wan't to get it right on my first try, and sorry for the questions.Don't know why I installed all the switches...gotta take em back out to anodize or paint the plate anyways. Now I gotta order diodes, keycaps, controller, stabs and wires and soldering stuff.What material and kerf did you use?
(http://i190.photobucket.com/albums/z173/phlshtank/0224151934_zpshvjnqjdw.jpg) (http://s190.photobucket.com/user/phlshtank/media/0224151934_zpshvjnqjdw.jpg.html)
6061 Aluminum and I didn't use kerf. If you're using Big Blue Saw (I recommend them) they will adjust for kerf on their end.
Thanks!Ok, thanks! And what program did you use to resize and what did you do in the program, I wan't to get it right on my first try, and sorry for the questions.Don't know why I installed all the switches...gotta take em back out to anodize or paint the plate anyways. Now I gotta order diodes, keycaps, controller, stabs and wires and soldering stuff.What material and kerf did you use?
(http://i190.photobucket.com/albums/z173/phlshtank/0224151934_zpshvjnqjdw.jpg) (http://s190.photobucket.com/user/phlshtank/media/0224151934_zpshvjnqjdw.jpg.html)
6061 Aluminum and I didn't use kerf. If you're using Big Blue Saw (I recommend them) they will adjust for kerf on their end.
BBS actually did it for me orginally because there was no DFX on the tool yet, but you can open with librecad and resave it. I actually just installed librecad so I can price my next project, if you have any problems getting it right you can send me the DFX file and I'll fix it for you so it's good to send into BBS.
Actually I just downloaded the latest version of librecad and loaded my dxf file up. Trying to now re-save it but the latest version of DXF it supports is 2007. Re-saving as this and uploading to BBS still doesnt work. I've set the default values of the program to inches. Anything else I need to do.I thought someone had reported that it had worked. I will do more testing tonight and will try to make this clearer in the tool since it is coming up often.
Actually I just downloaded the latest version of librecad and loaded my dxf file up. Trying to now re-save it but the latest version of DXF it supports is 2007. Re-saving as this and uploading to BBS still doesnt work. I've set the default values of the program to inches. Anything else I need to do.I thought someone had reported that it had worked. I will do more testing tonight and will try to make this clearer in the tool since it is coming up often.
Thanks for all the help in answering questions. :). Putting a baby to bed, so I have not been available to answer questions yet tonight.
Don't know why I installed all the switches...gotta take em back out to anodize or paint the plate anyways. Now I gotta order diodes, keycaps, controller, stabs and wires and soldering stuff.Very nice. Will this be getting its own thread? Also do you mind if I ask how much that was to have made?
(http://i190.photobucket.com/albums/z173/phlshtank/0224151934_zpshvjnqjdw.jpg) (http://s190.photobucket.com/user/phlshtank/media/0224151934_zpshvjnqjdw.jpg.html)
Don't know why I installed all the switches...gotta take em back out to anodize or paint the plate anyways. Now I gotta order diodes, keycaps, controller, stabs and wires and soldering stuff.BTW. What size holes did you use? Have you tested bolts/screws yet for fit?
(http://i190.photobucket.com/albums/z173/phlshtank/0224151934_zpshvjnqjdw.jpg) (http://s190.photobucket.com/user/phlshtank/media/0224151934_zpshvjnqjdw.jpg.html)
Don't know why I installed all the switches...gotta take em back out to anodize or paint the plate anyways. Now I gotta order diodes, keycaps, controller, stabs and wires and soldering stuff.Very nice. Will this be getting its own thread? Also do you mind if I ask how much that was to have made?
(http://i190.photobucket.com/albums/z173/phlshtank/0224151934_zpshvjnqjdw.jpg) (http://s190.photobucket.com/user/phlshtank/media/0224151934_zpshvjnqjdw.jpg.html)
Don't know why I installed all the switches...gotta take em back out to anodize or paint the plate anyways. Now I gotta order diodes, keycaps, controller, stabs and wires and soldering stuff.BTW. What size holes did you use? Have you tested bolts/screws yet for fit?
(http://i190.photobucket.com/albums/z173/phlshtank/0224151934_zpshvjnqjdw.jpg) (http://s190.photobucket.com/user/phlshtank/media/0224151934_zpshvjnqjdw.jpg.html)
If they are really too small, consider tapping them. That's what I will be doing, so mine will be intentionally small. What padding did you use?Don't know why I installed all the switches...gotta take em back out to anodize or paint the plate anyways. Now I gotta order diodes, keycaps, controller, stabs and wires and soldering stuff.BTW. What size holes did you use? Have you tested bolts/screws yet for fit?
(http://i190.photobucket.com/albums/z173/phlshtank/0224151934_zpshvjnqjdw.jpg) (http://s190.photobucket.com/user/phlshtank/media/0224151934_zpshvjnqjdw.jpg.html)
I used 3mm holes. Havent had a chance to test out the fit but I'm sure they will probably be slightly too tight. I have access to a drill press though if need be.
If they are really too small, consider tapping them. That's what I will be doing, so mine will be intentionally small. What padding did you use?Don't know why I installed all the switches...gotta take em back out to anodize or paint the plate anyways. Now I gotta order diodes, keycaps, controller, stabs and wires and soldering stuff.BTW. What size holes did you use? Have you tested bolts/screws yet for fit?
(http://i190.photobucket.com/albums/z173/phlshtank/0224151934_zpshvjnqjdw.jpg) (http://s190.photobucket.com/user/phlshtank/media/0224151934_zpshvjnqjdw.jpg.html)
I used 3mm holes. Havent had a chance to test out the fit but I'm sure they will probably be slightly too tight. I have access to a drill press though if need be.
What are some appropriate values to use for the Mount Hole diameter and Plate Corner radius? I used 2.7mm and 2mm respectively and the edge of the holes are about 1.15mm from the edge of the plate. I'm not sure if that would lead to the head of the screw overhanging the plate.
These are good questions and I don't really have a good answer for you. I would suggest that if you are going to use M2 screws that you make the holes at least 2.25mm in diameter. Some of the cuts that I have seen from BBS so far are erroring on slightly too small (like .15mm smaller than drawn). This should ensure that the screws will fit through without issues even if the hole is slightly smaller than spec.
As for the overhang. I will have to get a caliper on the heads of some M2 (and M3) screws when I get home to give you a better idea of what you should be looking at for this.
Actually I just downloaded the latest version of librecad and loaded my dxf file up. Trying to now re-save it but the latest version of DXF it supports is 2007. Re-saving as this and uploading to BBS still doesnt work. I've set the default values of the program to inches. Anything else I need to do.I thought someone had reported that it had worked. I will do more testing tonight and will try to make this clearer in the tool since it is coming up often.
What are some appropriate values to use for the Mount Hole diameter and Plate Corner radius? I used 2.7mm and 2mm respectively and the edge of the holes are about 1.15mm from the edge of the plate. I'm not sure if that would lead to the head of the screw overhanging the plate.
These are good questions and I don't really have a good answer for you. I would suggest that if you are going to use M2 screws that you make the holes at least 2.25mm in diameter. Some of the cuts that I have seen from BBS so far are erroring on slightly too small (like .15mm smaller than drawn). This should ensure that the screws will fit through without issues even if the hole is slightly smaller than spec.
As for the overhang. I will have to get a caliper on the heads of some M2 (and M3) screws when I get home to give you a better idea of what you should be looking at for this.
Thanks, that would be really helpful.Actually I just downloaded the latest version of librecad and loaded my dxf file up. Trying to now re-save it but the latest version of DXF it supports is 2007. Re-saving as this and uploading to BBS still doesnt work. I've set the default values of the program to inches. Anything else I need to do.I thought someone had reported that it had worked. I will do more testing tonight and will try to make this clearer in the tool since it is coming up often.
That might have been me. I just tried again with Draftsight (https://geekhack.org/index.php?topic=65189.msg1643432#msg1643432) and LibreCAD. It worked fine with both. LibreCAD worked fine as DXF 2007.
So you saved the DXF, opened it in librecad, resaved as DXF 2007 and that's it? Or does something need to be changed in librecad first?
$ACADVER
1
AC1021
9
$INSUNITS
70
4
9
What are some appropriate values to use for the Mount Hole diameter and Plate Corner radius? I used 2.7mm and 2mm respectively and the edge of the holes are about 1.15mm from the edge of the plate. I'm not sure if that would lead to the head of the screw overhanging the plate.
These are good questions and I don't really have a good answer for you. I would suggest that if you are going to use M2 screws that you make the holes at least 2.25mm in diameter. Some of the cuts that I have seen from BBS so far are erroring on slightly too small (like .15mm smaller than drawn). This should ensure that the screws will fit through without issues even if the hole is slightly smaller than spec.
As for the overhang. I will have to get a caliper on the heads of some M2 (and M3) screws when I get home to give you a better idea of what you should be looking at for this.
Thanks, that would be really helpful.Actually I just downloaded the latest version of librecad and loaded my dxf file up. Trying to now re-save it but the latest version of DXF it supports is 2007. Re-saving as this and uploading to BBS still doesnt work. I've set the default values of the program to inches. Anything else I need to do.I thought someone had reported that it had worked. I will do more testing tonight and will try to make this clearer in the tool since it is coming up often.
That might have been me. I just tried again with Draftsight (https://geekhack.org/index.php?topic=65189.msg1643432#msg1643432) and LibreCAD. It worked fine with both. LibreCAD worked fine as DXF 2007.