Fill includes pull (option)?

trim_includs_pull.3dm (3.9 MB)

using Rhino Mac Version 6 (6.29.20239.15172, 2020-08-26)

i am a bit surprised: it seams, that using a curve for trimming a surface the curve can be quite far away from the surface.

(1) was this behaviour the same in Rhino 5 ? will it be the same in Rhino 7 ?
i always thought, i have to _pull the curves first.

(2) is there any quality-advantage not pulling the curves, but let trim do this job ?

(3) can we have a tolerance option - or a pull yes / no (? (wip 7) i would love to have the possibility to have a “geometrical precise trim” that only trims, if the curve is on the surface (within document tolerance)

kind regards - tom

Hi Tom - Off hand I am not too excited about adding an option for this - but maybe I need more info - under what circumstances would you want Pull= No?


thanks @pascal
i agree it is a question of what part of the technology is hidden / exposed to the user.
my arguments:
(1) from a academic perspective - to show that this is somehow a hidden step.
(2) for special cases, where the user wants to “target” the corner or edge of a surface and gets an unexpected result - and has to / should use a workflow with _createUVcrvs & _applyCrvs
for example this example - where a curve should be tangent or even G2 to the edge - but is “somewhere in the air”

instead of getting a nice continuity, because of the hidden pull feature, now i get a corner - and maybe in a next step, let s say a _blendSrf or _sweep1 along the corner i get unexpected results.

But i am also fine, if this option is missing - just preparing a lecture about curves on surfaces and will include a _pull _crvDeviation test for error checking.
but i would prefer the “strict trim / no pull” option - at least in the “-_trim version”

trim_includes_pull.3dm (4.0 MB)

Hi Tom - I do not see how the red curve can be used in any way to get smooth continuity at the edge - pull or not - are you thinking that Trim should just fail if Pull=No in this case?(i.e. the problem is it may appear to be a smooth edge at first glance and the user may not know, in a less obvious case) If not, what would happen? (Not trying to make trouble… I am just not clear yet on what is to be gained from Pull=No)


yes i would love to see a fail for pull = No
imagine the same example not with 2 mm distance resulting in a 5 degree Corner,
but with some 0.01mm distance (and 0.001 document tolerance) and a 1.2 degree Corner…

the gain / profit:
if you set up everything in a proper way, you can be sure things come out nice. I am very sure the hidden pulling will produce later errors when joining, filleting or other following steps.
see this very reduced example:
(i can trim the top surface with the red edge, but not join everthing together)
(and i made the gab visible just to be easy to see… it can be 0.01mm)

trim_includes_pull_error_follow_up.3dm (3.5 MB)

best -tom

Hi Tom - yes, I see, failing is the only thing I could think of that makes sense - A more useful and clearer option might be OnSurface=Yes/No, defaulting to No, to handle both the project case and the pull case… there are different rules for different views and Pull could end up being confusing. I do not expect a lot of enthusiasm from the devs for this but one never knows, I can add the wish.
RH-61007 Trim - only use curves on the surface

I guess the only fool-proof way would be to get in the habit of only using deliberately pulled or projected curves to trim with in cases that you care about - then you know what you’re getting into every time.


ok, now i understand your point of view / attitude of your question - and yes your way is a nice way to question - when do i need this option for production - but the answer “to see the algorithm fail” is a bit disappointing.
what about to have this as a kind of visual feedback - option ? more in the approach like the _dir command shows the Normal / U / V direction ? - so the option would be a "pullCurvesToSurface = automatic / show / keepUsed / No
-> automatic = as is
-> show = show/highlight curves that got pulled, or intersection curves (the developers will hate you even more)
-> keepUsed -> similar to the _curveBoolean option or the _radius _curveDeviation command
-> No -> the option we discussed above, strict geometrical trim
thanks for adding the wish