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.

evFaceTangentPlane() on a degenerate point?

Evan_ReeseEvan_Reese Member Posts: 1,973 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


  • Jacob_CorderJacob_Corder Member Posts: 114 PRO

    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,
    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.

  • _anton_anton Member, Onshape Employees Posts: 170
    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.