Help : Nurbs surface between to curve loops

I am trying to draw a surface between two curve loop, I not sure why a kink is formed at the ends, I though it’s because of the points used but, it is even worse is I drop every alternate points on the outer loop.
any ideas?

the black dotted line drawn in section is what I want, Sorry for the poor Sketch,hope it conveys the idea.

Surface.ByLoft should give better results.

I tried it already, I am not sure why the nurbs curve don’t close when created by points.

but I get this error…

Can you post the dataset?

@jacob.small Thanks a lot for considering to look into the issue here are the revit and dyn file:
DataSet_forum.dyn (136.5 KB)

revit file here : WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free

Let me know if you need more. the graph is still WIP and not managed properly ,please bear with it.

Thanks.

1 Like

Looking into this now.

Might want to plan a project upgrade if possible.

I can send you the rvt file in 2022, if that works.

2021 is fine - doing some work on it now.

The existing edges works for me too but, the problem kicks in when i try changing the slope after adjusting the edge curves ( at the right end of the graph).
Thanks.

Seems like you can just move the inner loop by the desired height and get good results.

Confusing bit is identifying where you want to measure the slope (in plan). Can you post a quick sketch?

Actually I’d guess it’s either at the low or high point of the lower curve… Which makes this fairly straight forward. I’ll do up a graph showing both.

The intention is to have 1 & 2 at the same elevation driven by a fixed height from designers and change 3 while maintaining the slope ratio (proportional to what it was earlier) so that shape of the roof is maintained visually while letting the water drain out to the outer edge unlike the one now( draining towards the interior edge)

So you’re moving the Z components of the outter loop down?

correct, besides setting the interior loop points at the same elevation and following a proportional slope.

Ok, so If I am hearing this correctly:

  1. The inner loop (1) has no changes to elevation or shape at any point.
  2. The outer loop will slide vertically to ensure a slope from the closest point on the inner loop to point 2 on the outer loop
  3. The base of the outer loop will deform as the ratio of the delta (elevation 1 and elevation 3) and delta(elevation 1 and elevation 2) stays the same.
1 Like

yea, that’s exactly what i am after, sorry if my description earlier was confusing.

1 Like

Since the internal loop is between the extents of the outter loop (not above it), the ratio isn’t a viable solution.

Instead I can think of two options:

  1. Translating the outside curve down tot he level of the inside curve + the desired slope distance.
  2. Transforming the outside curve by a non-uniform coordinate system with a Z axis scale as needed to get the maximum values down to the desired elevation.

Does this mean no two points on the loops can be coplanar ( 1 & 2 ) ? Is my understanding correct ?
Leaving aside the ratio of the slope, I tried to higher the interior loop by 5000 mm and if still fails to create a surface.

To just move the inner loop up you don’t need to do the point stuff - build the polycurves and translate one by 0 and the other by the distances and loft the two.

Ok - this will scale the outer loop by the desired Z factor to get stuff near the desired slope… You’ll have to do some review of the math to get a particular slope applied as I appear to have missed something in the math due to my rush to finish between calls or there is an inconsistency in the geometry… or both.
Adjust Roof Form.dyn (32.9 KB)

And as an added benefit… animation!
Adjusting roof slope by scaling exterior loop

3 Likes