Grasshopper

algorithmic modeling for Rhino

Hi guys!

So I have an intersecting mobius strip and I am trying to unroll this into a straight rectangular surface that has the same u and v domain, which I will use to punch holes through and remap it on the mobius strip. 

What step should I take to make the surface into a regular grid so that it can unroll into a rectangle than a curved surface.

I was trying to deconstruct the domain of the surface and create a new surface with a controlled domain, but I have no idea what to do next.

Views: 5481

Attachments:

Replies to This Discussion

Here is an approach that appears to work...  'Offset' surface in both directions (+/- 'D'), use edges to create edge surfaces, then brep join them with offset surfaces.

Fails miserably using a holed surface though.

You are forgetting it is a moebius ring!

The surface should and must be one!

Try this: move the original line that is repeatedly rotated slightly Z+ (half of wanted thickness), AND double the number of half twist counts and total revolutions.

Here's new version + thickess.

If thickness more than 0 half-twist count and revoultion couts are doubled.

Removed start-end sub sampling, better work with a uniform surface, it was messing up the topology.

In this new gif i'm only increasing the thickness:

As we can see, circles are "flowing" because the parameter on the surface respect world-space distances lengths. (i thought this behavior would happen only with reparametrized geometries surf/crv , instead we already found it here)

(With non-interpolated surface this doesn't happen, try it! We could work with a greater amount of sections but completely avoiding the problem.)

This is a problem, because we want circles to keep their place to fit each-other.

We could need to remap parameters in a way it keep original positions.

Like linear subdividing the long central isocurve (by parameters), and study its deviation.

Maybe I'm not clear. XP

What i'm saying?

Attachments:

Most definitely not forgetting!  :)

I got it with holes by re-arranging things a little bit, doing the two offsets before the 'SrfMorph' and 'SrfSplit' - modified your code, attached:

P.S.  I don't understand what you are suggesting?  Or why the shape in your latest post gets so distorted?  Thickness in my approach simply represents a material property - steel vs. paper.

Attachments:

You're giving life to it!

Few concise components, great!

Should we found a purpose of this rings now? asd

I'll 3dprint one...

As this rendering shows more clearly, the "top" and "bottom" edges of the holes still need to be closed with surfaces - not too difficult but I'm out of time for the moment.  I REALLY love this thing!

Very nice Joseph & Riccardo

The moebius is probably the simplest example of surfaces that twist back upon themselves. There are also many math related Iso-surfaces that share that same situation, meaning that any offset or loft will always cause a step there the opposite side rejoins. It also means 3d printing of Iso-surfaces surfaces can cause problems.

I'm wondering if the solution offered here can be typified (ie made into its own unique component) that would work on any Iso-surfaces that need lofting where curves join back upon themselves?

The "hole walls" (blue) were super easy - we have a solid! (closed brep)

Attachments:

Love it brah!

I decided to explore a more encapsulated approach to thickening a surface with holes, as suggested by Kim... but before I get to that, I couldn't help noticing how easy it is to produce the chain Kim alluded to:

By the way, Riccardo, as you surely know, for this app, it really only makes sense to use odd integer values on the slider for "half-twists total counts"...  When I used "2" with the chain, it froze GH/Rhino twice - perhaps because I didn't disable the offset surface code, I'm not sure - not enough time to explore that further.

So here is what I came up with for offsetting a holed surface - much less code!

Instead of offsetting the surface and using the two offsets as input for 'SrfMorph' to map the holes curves:

  1. I accept the trimmed surface with holes (only one 'SrfSplit' operation instead of two).
  2. 'Untrim' the holed surface before doing the offsets.
  3. 'Copy Trim (Trim)' from the original holed surface to the two offset surfaces.
  4. Get all the 'Edges' from both surfaces, 'Flip' and 'Loft' them to get all the edge surfaces (hole walls and outer edges).
  5. 'Brep Join' the offset holed surfaces and edge surfaces together.

The result is interesting... a "Open Brep" and two "Untrimmed Surface", which are the hidden, internal ends of the shape.  Not quite what I wanted.  Then I discovered that using 'DeBrep' to get the 'Faces (F)' and 'Brep Join' once more, I get a "Closed Brep" (a solid)!!??  Not sure why but glad it works.  I ignore the two end surfaces using 'List Item'.

I suspect that the holes may be slightly different than the way I did it yesterday, but they look good to me.  I have no idea how effective this will be with arbitrary, complex surfaces but I encapsulated this code into a 'Thicken' cluster, also enclosed in the attached code:

Attachments:

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service