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

**First time visiting? Here are some places to start:**

- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- 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.

## Answers

3,112PROthanks for the heads up

456✭✭✭1,945EDUShould this also go for the Hem feature (it does not have an @internal flag and it also uses opRoll).

9PROMy understanding is that all surfaces, even those that topologically knit together to form a solid, are 4 sided parametric entities with whatever underlying math (most likely non-uniform rational b-spline or bezier). Note that sometimes one or two edges can collapses to a point, or a vanishingly small edge (like the poles of a sphere).

Two more important aspects (of surfaces) are the U and V parameters. These are values on the surface ranging from 0 to 1, used in the mathematical definition of the surface and for defining paths on the surface: for example, a trimmed boundary edge. Note that they are not proportionally spaced along the surface. A curve of constant U or constant V is known as an isoparametric curve, or U (V) line. In CAD systems, surfaces are often displayed with their poles of constant U or constant V values connected together by lines; these are known as

control polygons. (straight from Wikipedia)This means that every point on every surface can be defined by a single (u,v) parameter, where 0<=u<=1 and 0<=v<=1.

My request is that any 2 dimensional curve drawn in the same plane (the x,y plane for instance) as a bounding rectangular (or square) can be mapped onto any surface, where one corner of the bounding rectangle or square maps to u=0, v=0, and its diagonal opposite corner maps to u=1, v=1.

What this mapping means in real life depends on how you set up the curve(s) on the flat plane, and how you set up the mapping surface. This is easy to imagine and set up for an extruded surface, gets a little more strange, but still useful, for a more complex surface. It doesn't have to be a 1:1 scale in either axis, but you can set it up to be that.

1,624This is the goal of the new opRoll interface. After cylinders we will be building over time to support other developable surfaces. We are also working on a built-in feature so that users do not need to implement a custom feature on top of opRoll.

@MBartlett21

Because of the planned change to opRoll, yes, a sheetMetalHem may go from failing to passing in an unexpected way. We've done some categorization of the opRoll change, though, and it is not likely to cause major problems.

573Curve modification you are describing is not quite the same as a result of opRoll. opRoll is designed to do length preserving roll onto developable surface from plane or from developable surface to plane (unroll). The functionality you are describing could be implemented as a custom feature script using evFaceTangentPlanes() to generate points on surface and opFitSpline to generate 3d Curve.

9PRO8✭✭1,624