Hi Mark - that is tough - the movement is constrained by the extension of the surface edge itself. I believe it should be quite possible to specify a distance though, I just have not typed on that yet - still getting the underpinnings sorted out.
I have a plan (famous last words) for letting individual points and rows of points to move - constrained to the current isocurve directions (like the edges extend now) or semi-freely but constrained to the surface or its extension.
Yes, I can see that. My point here is not that the edge would match the point to move to necessarily, but at least get it close while maintaining the same surface structure. A distance would do the trick as well. You could measure the distance between points and enter that as distance to move.
After this operation it is unlikely the modified surface matches the target edge, but this can be solved with matchsrf after the move.
@pascal ExtendEdge appears to be very useful but the name needs to be changed because it is misleading. “Extend” implies that the input is added to but not otherwise changed, which is what the Extend and ExtendSrf commands do. However ExtendEdge changes the input portion of the surface. This will cause problems for users who assume ExtendEdge behaves like ExtendSrf and as the name “extend” implies. A change in name will remedy this.
Once the user tries “Extend edge” couple of times, it’s no problem to remember how the tool behaves. Anyway.
What about “Pull edge”? I think that it’s a correct way to describe the tool, since there are plans for added ability to extend individual rows of control points. Pulling is usually associated with objects whose shape is modified by some extend.
(Attachments revised) @pascal I understand that was the whole idea. Unfortunately with the current implementation while it may be true for single span (in direction of “extended” edge) it is not not true for mulit-span (in direction of “extended” edge) surfaces. When used on a multi-span edge the original portion of the edge and surface changes shape. I have an idea of how to fix the problem but first an example of the current situation: ExtendEdge MultiSpan 02.3dm (139.0 KB)
In this example a single span degree 3 surface was created and an extrusion with an exactly coincident edge was also created. When ExtendEdge is used on the coincident edge the intial portion of the edge and surface remain exactly the same shape. This is the same as occurs when using ExtendSrf.
Next several knots were inserted into the intial single span surface to create a multi-span surface with exactly the same shape. The edges remain exactly coincident. When ExtendEdge is used on the same edge as with the single span surface the shape of the intial portion of the edge and surface changes significantly. The two surfaces no longer have coincident edges.
Potential fix for multispan surfaces:
Split off the last span of the surface next to the corner to be extended.
Extend the edge of the split off multi-span surface.
Merge the extended surface with the remaining part of the original surface.
Remove the superfluous knots.
My guess is ExtendSrf does something similar when extending multispan surfaces.
Hi David - can you send me the green surface before extending? Fooling around here, I do not see any behavior in my tests that is quite that ugly. Your green surface is non-uniform, which plays into it as well, not doubt.
@pascal Attached file has non-uniform and uniform multi-span surfaces. Non-extend versions are in the “Mult-span Srf” layer which is dark green. The problem occurs with uniform as well as non-uniform multi-span surfaces but in this example is not as severe with the uniform srface. ExtendEdge MultiSpan 10.3dm (165.8 KB)
The not as big change can be more problematic than the obvious, ugly change. The latter is more likely to be noticed while almost but not quite the same may be overlooked only to cause problems later.
Hi David - thanks - I would stick to uniform or even single spans with this until I get to work on it some more. I see where/why it is falling apart and I don’t know how to solve it yet - but I will work on that. Basically, I have not done anything to accommodate more complex surfaces yet, the basics still need work…
@pascal After examining my examples in more detail I see that even when used on a single span surface ExtendEdge distorts the interior away from the original surface. I am not convinced it is possible in general to extend the edge of single span surface, and have the result match the original surface away from the extension. That may be how parametric surfaces work.
If you cannot make the the math das desired and the output will not always match the input then you could change the name to something without “Extend”; perhaps StretchEdge. It would still be a very useful tool.
I was expecting this behavior. If you skew the surface by moving an edge, you redistribute all the control points and consequently the edge position will change. I would use this for concept modeling where you are working with surfaces with low control point count and your just doing some form finding. The edge can be matched after the control point modeling.
The main use for me would be to keep control point structure nice and simple while moving stuff around. It’s a great first start and I look forward to use it.
Obviously a multispan implementation is tricky, but having waves after extrapolation often also indicates unsmoothness in the initial surface, which might be tiny but still being in there. I also used this functionality in Icem Surf as a quick test for surface quality. The longer you can extrapolate a surface without cps jumping around, the more clean it is…
I find this functionality very useful throughout the whole product creation process. Especially on model refinement (where single/low span is mandatory in my oppinion) . With this functionality also corner filleting becomes much more simple.
It should be improved further, to allow surface splitting.
I noticed two areas where the tool could be further improved (if possible).
Straight extruded profiles with degree 1 in one direction and degree 2 profile direction (basically an extruded arc curve) can’t be skewed. It works only if the surface degree is changed from 1 to 3 with the “Rebuild surface UV” tool. “Extend surface” works with any degree, though. Not sure if the same rule is technically possible with the “Extend edge” aka “Pull edge” aka “Skew surface” command.
If you try to extend a rectangular surface whose corners are all at 90 degrees, you will notice that the control point rows will not distribute at the same gradual rate. There is a tiny amount of “accelerated” skew which increases towards the extended edge.
What do you mean by “G1, G2, G3 degree surface” (or profile)?
Curve and surface degree are natural numbers.
G1, G2,…Gn refers to continuity between surfaces or curves.
@Rhino_Bulgaria - this should work on a degree 1 surface; it does not yet work on extrusion objects. That is easy enough to accommodate though. On the other hand, I would not expect accurate or consistent results yet on rational surfaces. (extruded arc curve) It might work, but I would not necessarily expect it…
I also tried the command on a simple plane with 4 control points and degree 1 in both directions. It will not extend with the “Extend edge” command. However, if I rebuild it to degree 3 in both directions, it can be extended.
The interesting thing happens when I apply the command on the extended edge again. This time, it will extend the surface in an accelerated fashion. Example: