# The logic behind Rib command

what is the exact logic behind Rib command?

I understand how InCurvePlane option works; I’m asking about the other one: NormalToCurvePlane

I know how it works until when rhino choose the direction of extrusion (see red line in image below): how Rhino decides to choose the direction of final extrusion(red lines)?

in the case you need file rib logic.3dm (67.7 KB)

Hello, I am not really sure what you are asking but NormalToCurvePlane is meaningless if the curve is a line.

-Pascal

Hello Pascal

i know; my curve is knot line; it’s the curve similar to an isocurve in the image.

i wanna to know where the direction of extrusion comes from? (direction of extrusion; NOT derction of offset)

those red lines are representing the direction of extrusion(they are parallel)

Hello - the input must be a planar curve - the command line option, if set to NormalToCurvePlane will set the extrusion direction at right angles, ‘normal’ to the plane.
In this case the curve plane is like this:

And the extrusion is parallel to the plane normal, or Z axis:

-Pascal

this is the part that i emphasised i know before. this is the offset-kind of command; what’s then? (the extrusion to the bouundry surface)

Yeah… I do not know why a skewed direction is chosen - @rajaa - can you tell us? The rib chooses a direction that is in the curve plane but it is not clear what else is considered… to me anyway.

-Pascal

I’m reviewing the Rib command to see what it does for extrusion direction in this case.
What would be the expected behavior in your judgement?
Should there also be an extrusion direction so the user can have direct control?

Hi Rajaa - as a default, perhaps the curve bounding box center > closest point to the target object- I don’t know if that makes sense, I’ll mess around a bit and see.

-Pascal

My thought is the default extrude dir should be the cross product of the 2 vectors: curve-plane normal, and curve tangent at the curve center point (or selection point). Another possibility that gives control to the user, but less intuitive in to use selection points of the curve and bounding surface.

Hi Rajaa - I’ll defer to you - I only thought that perhaps the relationship of the curve to the target, maybe, should be part of the direction ‘guesstimate’.

-Pascal

something like world axis ( in this case z axis)

yes! or at least there should be a clue for us to understand what are we doing

no

no

indeed in this case it happens on t=0.710 which seems no special

do you mean the point where the user clicks to select the curve?

do you mean boundingbox of extracted control points of the curve? ( and the use the centeroid of box in connect it to the closest point of the target surface?)

Ok, I think it is worth it to add an option for extrusion direction. I’ll make the default as is right now, and give option to extrude normal to active CPlane, or the use picks with 2 points. @HosseinGSD does that sound reasonable?

I guess it does. Thank you very much