Grasshopper

algorithmic modeling for Rhino

Problems with making PlanarSrf from Polyline in a grid

Hi everyone,

I have som problems with making Planar Surfaces from Polylines. I created a grid on a lofted surface, separated the grid points in different lists, made polylines from these points, and now I want to make planar surfaces from the polylines, but it won't work.

I believe that there is something I've overlooked, but I can't figure out what. I would apreciate if someone could take a look at my definition and try to find the problem. Try the two sliders, some Planar surfaces in one row is actually created, but not in every cell. I can't figure out why though.

Views: 2796

Attachments:

Replies to This Discussion

hi,

It's not working because your polyline is not planar. What you can do is loft through lines.
Here is your deffinition with a little mod.
Attachments:
Oh, now I get it. Didn't think of them not being planar. Loft is however not what I had in mind since the surfaces need to be planar.

Is it possible to make a grid on a non-planar surface, but whith grid cells are planar?
I haven't seen your definition, but it sound pretty simple.

Take all your points that make polylines (if you dont have them, you can use the CV component in version 0.60059 to get them), decompose them into X-Y-Z coordinates, recreate them with only the X-Y (which makes them flat by the Z being 0 by default), then make your polylines, and then the PlanarSurfaces.
I think I understand what you mean, I tried it anyway, but that only leaves me with a bunch of points with Z-value 0, lying flat on the "ground". The point was to make a grid on a lofted surface in Rhino in a way that would create planar cells on the non-planar surface.

But maybe I didn't understand you sollution correctly?
Stencil,

If a nurbs surface is not planar, how do you intend to make planar patches on it?

Surely, it can be done, but it requires far more advanced algorithms which resolved a doubly curved surface into planar flat quads. This is the kind of technique often used in panellization of building skins, where a freeform surface is converted into smaller, flat, buildable pieces.

Mathematically speaking, you will always need 3 points to define a plane, which is always flat. In your case, you would have to project the 4th point onto this plane, and then create the surface to create a flat panel. But doing so would also cause this 4th point to leave the surface, therefore creating gaps with its neighbouring surface quads. Is this what you intend?
Thanks Suryansh, that's what I was after. I projected the 4:th point on the surface created by the first 3 points.

However, I've run into a new problem concerning data streams (I think). It's not possible to make a Polyline from the first 3 points and the 4:th projected one. After a bit of investigation I found that the problem may be that the f4:th point have a different path. Can this be a problem when trying to make a polyline? See this picture:


I've attached the new definition if you would have time to look at it.

By the way: you speak of panellization of building skins, and that was what I was trying to achieve at first. Is it possible to create a grid of planar surfaces on a non-planar surface, and do you know if it's been done in GH? The surface quads doesn't have to be square or have parallel edges, they just need to be planar, have 4 corners and not leave gaps with it's neighbouring surface quads.

I'm just starting to learn GH so please be patient with my questions. :-)
Attachments:
I'd suggest using a flatten, then graft at all the 4 point streams. Then weave them into one list, and hook it up into a Polyline. That should make the polylines for you. Alternatively, try using the 'Surface from corner points', in which case you'd get a surface in the end instead of a polyline, but you can circumvent the whole flatten-graft-weave process.

About panellization, especially the one dealing with creating flat quads on a doubly curved surface -- ITS ANYTHING BUT SIMPLE.. to start with, since the panels are flat, it will never be exactly as the original surface (since you'd convert curved profiles to straight fragments in polylines). So obviously, you will have to deal with a tolerance in mind as to what degree of deviation is acceptable. There are specialized service providers in the commercial world like Evolute who have developed fairly complex algorithms to do exactly those kind of things. For simpler surfaces, it is somewhat possible to write algorithms yourself that do this, but it does involve a great deal of math and scripting proficiency. It's not possible without recursion.. so its not something that GH can do without scripting.

For starters, you could look at Panelling Tools.
Thanks for giving advice! I will try this sollution later tonight. And thanks also for explaining the panellization, I will look into both Evolute and Panelling tools.
actually as an approx, it works fine...  thanks for sharing

Daniel also has some tricks up his Kangaroo sleeve...

 

http://www.grasshopper3d.com/photo/pqmesh-1?context=user

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service