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.

Options

evFaceTangentPlane() on a degenerate point?

Evan_ReeseEvan_Reese Member Posts: 2,066 PRO
I'm running into an issue creating a plane on a revolved face at the center of the revolve. I'd like to avoid just slightly scooting off the center to something like vector(0.00001, 0). I just need the origin and normal. I understand that it is indeterminate, since the same "location" on the face, could have more than one normal direction, for example at the tip of a cone. In my case, we can assume it's a tangent point, more like the pole of a sphere, which should still only have 1 normal. Does anybody have a way to get a tangent plane at that location, even if it's a bit of a workaround?
Evan Reese / Principal and Industrial Designer with Ovyl
Website: ovyl.io

Answers

  • Options
    Jacob_CorderJacob_Corder Member Posts: 126 PRO
    @Evan_Reese

    your going to have to show in a model what you are talking about. 

    Do you want the revolved faces axis? if so just call extractDirection which in this case will call evAxis

    if you need the tangent plane at a specific spot on the cone you would need to call evRaycast with the line origin on the axis of the revolved face then
     
    var rayResults = evRaycast(context, {
            "entities" : yourFace,
            "ray" : line(somePointOnYourAxis, someDirection),
            "closest" : false,
            "includeIntersectionsBehind":false
    });
    var tp =evFaceTangentPlane(context, {
            "face" : rayResults[0].entity,
            "parameter" : rayResults[0].parameter
    });
    if it is going to be a cone, you could also just calculate the point.

    if this is not what you are looking for, share the model and ill take a look.

  • Options
    _anton_anton Member, Onshape Employees Posts: 279
    Least-awkward solution that comes to mind is to either reference the revolve axis entity instead (if it exists) or store an attribute on the revolved geometry.
Sign In or Register to comment.