rsheldiii / openSCAD-projects

Repository to archive my openSCAD endeavors (and YASP endeavors, if I get that done)
GNU Lesser General Public License v3.0
54 stars 19 forks source link

Allow more subtle side sculpting of SA/DSA to make the tops less square. #23

Closed Lenbok closed 6 years ago

Lenbok commented 6 years ago

Thanks for this fantastic project you've put together, it's so comprehensive!

I am printing some SA profile keycaps so I can (inexpensively) get an idea as to whether I would like the profile enough to buy some of the more expensive sets. I've never seen any in person. Anyway, after some minor tweaks to get things going nicely on my printer (slop = 0.4, enable brim, use bar supports) they're coming out very nicely in PLA, and it's making me want to try ABS with some vapour polishing.

In some pictures I've seen (more so SP SA than MAXKEYS), it looks like the key tops are slightly more curved/rounded than the current sculpting you had here. E.g: http://www.griffy.no/Pics/keyboard/Dasher/1.jpg

I had a go at adding a little more to it. Try this out and let me know if this is something that real keycaps have, or if it's just my imagination (or perhaps due to perspective in photos). Example comparison at: https://i.imgur.com/vE2RR5u.png

To enable this, you need to set

$enable_more_side_sculpting = true

(as well as ensuring that the existing enable_side_sculpting is set).

There is also an additional method for doing the extra sculpting that can be enabled via:

$enable_more_side_sculpting = "slow"

(This slow method was actually my first attempt which looks nice at 1u but doesn't scale nicely to wider/taller keys.)

rsheldiii commented 6 years ago

Hey there,

you could be on to something, the SA profile is not currently exact right now, partially due to a rounded shape mode becoming pretty difficult to render.

Not sure what I'm doing wrong but trying to render a slice directly doesn't look right to me:

image

can you advise? I'm currently on version 2017.02.08, are you perhaps on stable or the snapshot?

Lenbok commented 6 years ago

I am using openscad nightly (and I may also have enabled experimental features). The slow one is using let that may not work in the version you are using. Give $enable_more_side_sculpting = true; a shot first before trying the slow method.

rsheldiii commented 6 years ago

hey there, wanted to let you know I'm getting back around to this. Sorry for taking so long! I'm not sure what was up with my setup before but I finally switched back to linux and everything works now, I can render out slices just fine.

All I can say is you've got a damn good eye, the effect is very subtle but after staring at it for a while, I'm starting to see what you're saying, and I think you're right, the top of the keycaps definitely have relaxed corners and bowed edges. Also I can't believe I haven't seen that arr.x and arr.y syntax sugar yet, that's amazing. I'd love to incorporate these changes, thanks for taking the time to make this PR!

I agree that the slow version looks better but yeah, it definitely breaks on larger keycaps. I've been trying to make sure that all dishes and shapes work for arbitrarily sized keycaps, so if it's ok with you I'm going to remove the slow version for now.

Sort of unrelated, but spurred by these changes, I'm starting to think of side sculpting as less of a generic and more specific to each key shape. DCS keycaps are never going to need side sculpting, or if they do it's probably going to look a lot different. To that effect I think the work you've done here should be a first class shape, with side sculpting on by default, and selected for DSA and SA keycaps, and then everything else can use the old rounded square shape, obviating the need for the $enable_side_sculpting and $enable_more_side_sculpting variables altogether.

Basically what I'm getting at is thank you! and if you don't mind I'm going to snag the branch and make some changes this PR has surfaced and merge it on in :)

Lenbok commented 6 years ago

Absolutely, do what you think is best here!

I've been printing out (and sanding! Takes ages, feels great) a set of SA keycaps for another Redox I'm making (some in progress shots at https://imgur.com/a/eEi0gJ1), and the combination of variables I've settled on is:

$enable_more_side_sculpting = true;
$side_sculpting_factor = 5;
$corner_sculpting_factor = 1.5;
$more_side_sculpting_factor = 0.3;

In particular, the $side_sculpting_factor was increased quite a lot over the default to give the keys more curvature toward the top, after looking at the side views of SA in https://i.imgur.com/kFxqOm8.jpg

I also made the $dish_depth higher, at 1.3 instead of the profile default of 0.85 - partly because the sanding tends to reduce the dishing, but in my case I could probably have gone even deeper.

rsheldiii commented 6 years ago

Incorporated in https://github.com/rsheldiii/openSCAD-projects/pull/29!