Skip to content
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

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
Open

Separate claw and arm #18

wants to merge 14 commits into from

Conversation

IamfromSpace
Copy link
Collaborator

Resolves #4, still needs to be printed/validated.

Copy link
Owner

@MichaelRFairhurst MichaelRFairhurst left a 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();

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

Copy link
Collaborator Author

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);

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

Copy link
Collaborator Author

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])

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()

Copy link
Collaborator Author

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);

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?

Copy link
Collaborator Author

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);

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

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?

Copy link
Collaborator Author

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])

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();

Copy link
Collaborator Author

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])

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!

Copy link
Collaborator Author

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.

Copy link
Owner

@MichaelRFairhurst MichaelRFairhurst left a 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)

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])

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants