Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

Why can't OnShape generate "oversize" chamfers? (Question/Feature Request)

aidan_fraseraidan_fraser Member Posts: 5
Hi all, sorry if this is a repost/resurrection of an old topic but I couldn't find much discussion about this.

Often I find myself wanting to use a sweep shape or chamfer distance that onshape doesn't accept. It's "too big", it has self-intersections around tight radii and I get an error message about self-intersection.

Another post by an onshape employee on another thread suggested this was to avoid generating bad geometry. I understand that we want to avoid bad geometry, but this isn't a satisfying explanation for me.

I'm trying to understand the rationale for the restriction. There are reasonable cases when a sweep or chamfer intersects itself. Often, increasing the sweep radius, or reducing the size of the sweeping shape can be a good workaround, but often it's an unacceptable compromise.

One common case I find quite a bit is trying to model a routed cut along a curved edge that has some radii/details that are smaller than the routed shape. I think it's a reasonable thing to want to do, because it's easy to imagine and describe the part. And manufacturing it can be really simple with a standard router. 

I accept I may being totally naive here, but it feels like OnShape could accept "oversize" chamfers, at least in some simple cases (e.g. circular radii), since manually modelling these cases usually doesn't require a lot of thought, just lots of clicks and extra planes and sketches.

Thoughts?

Comments

  • Evan_ReeseEvan_Reese Member Posts: 1,484 PRO
    I think I get what you're asking. If I do, then I think it's not because it's not possible to do, but it's a lot more math and coding to get it to work and the use case is niche or at least not main stream. Of course I could be wrong because I don't do a lot of router work. Perhaps there will eventually be a sweep with a body as an input so you can simulate the exact path of a cutting tool like a bit. I know Solidworks has something like that.
    Evan Reese / Principal and Industrial Designer with Ovyl
    Website: ovyl.io
  • nicholas_radzykewycznicholas_radzykewycz Member Posts: 30 PRO
    The best way I have found so far to do this is to make use of the slot sketch tool. Create your cut path, then go into the sketch and use the slot command and go down the path. You will then be able to set the diameter of your end mill to whatever you want, when it intersects your slot it will temporarily show an error, but once you click submit on the sketch it will resolve itself and clean up all the unusable sketch regions. Select your entire newly created sketch of intersecting slots, and extrude downwards to your depth of cut.

    See Example contrasting the sweep approach with the slot approach:

    @NeilCooke Any chance we could get skSlot into featurescript? I really want to make a featurescript for this milling function but I don't see the already existing slot command in the sk commands and I'd rather not re-derive the Slot sketch function from first principles if you are willing to give up it's secrets.

  • NeilCookeNeilCooke Moderator, Onshape Employees Posts: 4,389
    @nicholas_radzykewycz unfortunately, the slot tool is not a FeatureScript function, but a server-side routine that adds all the offsets, arcs, and constraints.
    Director, Technical Services, EMEAI
  • aidan_fraseraidan_fraser Member Posts: 5
    A picture tells a thousand words? 

    Hopefully this explains what I mean. (Check out the source doc if you like)


Sign In or Register to comment.