-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Separate claw and arm #18
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice. I'm worried about if these are too thin to print, but, they're thick in one axis, so it might work just fine. And it'd be easy to tweak too later
arm.scad
Outdated
@@ -12,26 +13,42 @@ grip_width = 2; | |||
extend_retract_gear_size = 1; | |||
|
|||
// Begin how to print this piece (orientation, etc) | |||
rotate([0, 90, 0]) arm(); | |||
rotate(270, y) arm(); | |||
claw(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would separate claw and arm into different files
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
arm.scad
Outdated
opposing_gears(arm_length, width, extend_retract_gear_size); | ||
else cylinder(d=width, arm_length); | ||
} | ||
ccube([grip_width*4.5, grip_width*8, grip_width*2 + cube_size/3], y + z); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these grip_width*4.5s, I'd make them named vars
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
arm.scad
Outdated
} | ||
up(-cube_size/3/2) | ||
for (i=[0:1]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
intsead of for() rotate(i*...) translate(i*...) shape()
, you can do mirrored([x]) shape()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
arm.scad
Outdated
for (i=[0:1]) | ||
rotate(i*180, x) | ||
translate([0, -grip_width*2, -i*cube_size/3]) | ||
cantilever_negative(grip_width*3, cube_size/3, grip_width/2, grip_width/2, 0.1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm pretty sure this cantilever is much too small to print.
Also, is it an issue that these cantilevers become inseperable, as opposed to, say, screws?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done! And if they're effective we can add a 'retraction' angle param that allows them to be extracted (just with more force with a stiffer angle).
solver_3.scad
Outdated
color("green", 0.8) onto_point(cube_size) rotate(180, y) { | ||
translate([cube_size/2+2/*TODO: this 2 represents arm.grip_width*/, 0, 0]) | ||
arm(include_gears=false); | ||
claw(include_gears=false); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can the arm and claw be different colors? :D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And include_gears on claw() can be removed, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done and done!
solver_3.scad
Outdated
@@ -18,7 +18,11 @@ use <belt.scad>; | |||
|
|||
above_cube_holder() { | |||
color("red", 0.8) rubiks_cube_on_point(); | |||
color("green", 0.8) onto_point(cube_size) arm(include_gears=false); | |||
color("green", 0.8) onto_point(cube_size) rotate(180, y) { | |||
translate([cube_size/2+2/*TODO: this 2 represents arm.grip_width*/, 0, 0]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for the todo, if it needs to be shared then either make arm.grip_width part of constants.scad
, or in arm.scad
add:
module offset_by_claw() {
translate([cube_size/2 + grip_width, 0, 0]) children();
}
and here you'll be able to just do
offset_by_claw() arm();
claw();
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done! Just went for the constants approach here.
snap_joint.scad
Outdated
[0, thickness], | ||
]); | ||
for (i=[0:1]) | ||
translate([0, (i*2 - 0.5)*thickness, 0]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two things: one, you can probably use mirrored([y]) here, though it'd still have to have a translate since the cantilever is aligned on y and these points aren't.
Two, you might want to make this a module, like "module curved_armpit" :) seems like it could be useful elsewhere!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done! Holding off on module extraction until we need to reuse it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks greattt
arm.scad
Outdated
} | ||
up(-cube_size/3/2) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is there a 'down'?
claw.scad
Outdated
], x + y + z); | ||
ccube(cube_size, x + y + z); | ||
} | ||
mirrored([y]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah a module here would be nice, to share this.
…egative cantilevers.
Resolves #4, still needs to be printed/validated.