-
-
Notifications
You must be signed in to change notification settings - Fork 24
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
Feature request: Snap-fit fasteners #2
Comments
Thank you for creating the first issue - Snap-fit fasteners sounds like a valuable addition to the warehouse. I'm currently working on an enhancement to fasteners which integrates screws into your Workplane design flow, for example: cap_screw = SocketHeadCapScrew(size="#8-32", length=(1 / 2) * IN)
result = (
cq.Workplane(cq.Plane.XY())
.box(80, 40, 10)
.faces(">Z")
.workplane()
.rect(70, 30, forConstruction=True)
.vertices()
.clearanceHole(
screw=cap_screw,
fit="Close",
counterSunk=True,
extraDepth=0.01 * IN,
keepFastener=True,
clean=False,
)
) I imagine the same concepts would work with snap-fit fasteners. What do you think? For now all can commit to is thinking about how this would work. I've got quite a few threaded fastener additions in the works and I'll be adding gears to the cq_warehouse before too long. If you get a chance to implement something please share. |
Thanks for the reply, @gumyr . Makes sense ... Yes, if I get a chance to implement something, I'll be sure to share. |
I am hoping to create an extremely simple snap-fit joint soon. When that's done, I will post an update and we can discuss whether it is universal-enough to be added to cq_warehouse, before I start porting the code. |
(Btw, it's awesome that you're going to be adding gears and more threaded fasteners!) |
Cool. I can see how being able to just indicate that a cantilever snap fit
fastener goes here would greatly simplify their use.
One of my primary goals with cq_warehouse is to make it relatively easy for
people to use (even those new to cadquery) so I'd like to see the user
interface for this. It seems like there would be quite a few parameters.
Are there any standards for snap-fit connectors? As I add more screws I've
come to the conclusion that the data management is just as difficult as the
solid modelling. I've found that being able to refer to a standard greatly
simplifies things.
…On Wed, Sep 15, 2021 at 4:14 PM Ali Safdar Kureishy < ***@***.***> wrote:
(Btw, it's awesome that you're going to be adding gears and more threaded
fasteners!)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AUNL25TMDZA2BWUCW7ZPPZLUCD5BNANCNFSM5DOI5HKA>
.
|
@gumyr I completely agree that the data management is hairy, and a formal standard would definitely need to be adhered to. For the same reason, the interface I have is not yet ready for prime-time either ;). However, if you're curious, here are the parameters that I'm presently using for the above (obviously, this will need to be adapted to a standard):
Then, using a separate plugin (somewhat like the clearanceHole() plugin you mentioned), I position it at all the points on the workplane stack:
Actualy, the CantileveredSnapfit class produces two intermediate cq.Solids: I had come across a scattering of articles about snapfits in the past, but no formal standard so far; though I hadn't invested much in that direction yet. At the moment I was just trying to produce a rough sketch for my immediate needs, and figured I'd get some feedback here about the concept, before I researched and polished it further. I will keep this thread updated as I go along ... but if you'd rather not have an open issue sitting around, I understand if you'd like to close it (and/or tag it accordingly). (Apologies for the multiple edits: The "Preview" tab wasn't working for some reason) |
There is no problem at all in keeping this issue open as long as you're
working on it. I appreciate the work you're doing to add to cq_warehouse.
In your case it sounds like you're locking another object into your part
but I would guess the most common use case will be locking two halves of a
part together. With that in mind, what would the other side look like?
Cheers,
Roger
…On Thu, Sep 16, 2021 at 7:50 PM Ali Safdar Kureishy < ***@***.***> wrote:
@gumyr <https://github.com/gumyr> I completely agree that the data
management is hairy, and a formal standard would definitely need to be
adhered to. For the same reason, the interface I have is not yet ready for
prime-time either ;). However, if you're curious, here are the parameters
that I'm presently using for the above:
def __init__(self,
fit: Tuple[float, float, float] # overhang width, depth and height
taper_angle_degrees: float, # the taper of the overhang
edge_curvature: float, # Within the bounds [-1.0 to 1.0] : +ve when wedge faces inward, -ve when wedge faces outward
cantilever_depth: float, # larger = stronger
clearance: float = 0.25 # How much space is needed around the cantilever, for free motion within the slot
):
Eventually I produce two cq.Solids:
- a punch tool to create space for the snapfit, and
- the cantilever to insert into that space
Then, using a separate plugin (somewhat like the clearanceHole() plugin
you mentioned), I position these separately at all the points on the
workplane stack.
I had come across a scattering of articles about snapfits in the past, but
no formal standard so far; though I hadn't invested much in that direction
yet. At the moment I was just trying to produce a rough sketch for my
immediate needs, and figured I'd get some feedback here about the concept,
before I researched and polished it further. I will keep this thread
updated as I go along ... but if you'd rather not have an open issue
sitting around, I understand if you'd like to close it (and/or tag it
accordingly).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AUNL25REWXUWLMBDQAVIMTDUCJ7GBANCNFSM5DOI5HKA>
.
|
My pleasure. And likewise, for all that you've produced here already. Yes, my present use case does not involve the other half of a part. I presume you're asking if I have a visual demonstration of that? At the moment, I do not, but will likely need something like that within a month or so, and will update this issue with an illustration at that time. |
Btw, @gumyr , when were you planning to have gears available? I'm in need of some gears and thought I'd check in case you had anything I could pull and try out? :) |
Unfortunately, I'm still working on fasteners (I now have many new head
types in the dev branch). I've got a bunch of work done on the gears
already and will ultimately be re-creating all of the gears from my
OpenSCAD version - see here: https://www.thingiverse.com/thing:4603821
What gears are you looking for? I can work on those first.
Cheers,
Roger
…On Thu, Sep 23, 2021 at 1:52 PM Ali Safdar Kureishy < ***@***.***> wrote:
Btw, @gumyr <https://github.com/gumyr> , when were you planning to have
gears available? I'm in need of some gears and thought I'd check in case
you had anything I could pull and try out? :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AUNL25T52QBEU23FUVO7O63UDNSNFANCNFSM5DOI5HKA>
.
|
Apologies for the late reply, @gumyr . |
My OpenSCAD gear warehouse should be able to create the gears you describe
including the set-screw hole and even a keyway if you'd like (the keyway
increases the maximum torque significantly) . If you're going to 3D print
the gears the STL files that OpenSCAD creates will be sufficient. As
OpenSCAD is a mesh modelling tool it can't generate STEP files hence the
desire to translate to cadquery.
Let me know if you have any questions or if something isn't working
correctly; it's been a while since I've used it.
Cheers,
Roger
…On Mon, Sep 27, 2021 at 4:03 PM Ali Safdar Kureishy < ***@***.***> wrote:
Apologies for the late reply, @gumyr <https://github.com/gumyr> .
Thanks for the thingiverse link! I'll check it out.
I am looking to try out various sizes of spur (and pinion) gears, that can
be set-screwed to their respective shafts (so they move together).
Basically I have a worm gear that drives a shaft, and now I need 2 spur
gears (potentially different sizes) to efficiently transfer motion from
that shaft to another parallel shaft carrying the actual load (rotational
direction isn't important). The important part is being able to *secure
the gear to the shaft* for power transfer. I'll see if I can get that
from your openscad tool, but if that's not available there, I'll be excited
to see the cq_warehouse version when you've got it ready. :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AUNL25XXJMXHDLZKSKKP2RDUEDEYXANCNFSM5DOI5HKA>
.
|
I left out another good solution - get your STEP model from McMaster-Carr
<https://www.mcmaster.com/gears/>. Once you select a gear (or any part
really), you can request the CAD model as a STEP file. The STEP file can be
imported into your cadquery design and away you go. You'll have to manage
the files and they don't come with an API to provide useful information
like pitch radius but for a single design this shouldn't be too difficult
to manage.
Cheers,
Roger
…On Mon, Sep 27, 2021 at 4:03 PM Ali Safdar Kureishy < ***@***.***> wrote:
Apologies for the late reply, @gumyr <https://github.com/gumyr> .
Thanks for the thingiverse link! I'll check it out.
I am looking to try out various sizes of spur (and pinion) gears, that can
be set-screwed to their respective shafts (so they move together).
Basically I have a worm gear that drives a shaft, and now I need 2 spur
gears (potentially different sizes) to efficiently transfer motion from
that shaft to another parallel shaft carrying the actual load (rotational
direction isn't important). The important part is being able to *secure
the gear to the shaft* for power transfer. I'll see if I can get that
from your openscad tool, but if that's not available there, I'll be excited
to see the cq_warehouse version when you've got it ready. :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AUNL25XXJMXHDLZKSKKP2RDUEDEYXANCNFSM5DOI5HKA>
.
|
Thanks a bunch, Roger (@gumyr )! |
[Looks like I'm inaugurating the issues section of this repository :-P ]
Would configurable snap-fit fasteners (cantilevered, torsional and annular) be possible additions to this repository? I've been contemplating ways to include snap-fits into a "smart splitting" mechanism, so that a part being split (for example, for 3D printability) could automatically be augmented with snap-fits for eventual re-assembly. I haven't been able to give it much thought yet, but figured I'd post this here since it seemed in line with the kind of utilities that this repository has already implemented.
I understand this is a non-trivial issue to solve, so this is merely a food for thought. Meanwhile, if I do get time to implement something along these lines, I'll submit a PR.
The text was updated successfully, but these errors were encountered: