Grasshopper

algorithmic modeling for Rhino

I have a set of points that are coplanar.

How to create a plane or surface or mesh from these?

I found some functions, but they allow only 3 or 4 points as input.

I need 10 points to input.

 

 

After i have created multiple surfaces, I would like to join them together to form a brep.

Is rhutil.rhinojoinbreps the way to go?

 

 

So, sum it up....

 

I have a few sets op coplanar points.

From each set of points a surface needs to be made.

All the surface are needed to create a brep.

 

How to do this?

 

Views: 923

Replies to This Discussion

Hi AU,

delaunay triangulation can create a set of connected triangles from any collection of co-planar points. If however your points are clearly ordered in groups of 4, where each point in the group is supposed to become a corner of a rectangular nurbs patch, then you'll have to find a way to supply these points in the correct order to the [4Point Surface] component.

Another approach might be to connect all the points with a polyline, then create a planar surface from this curve.

Joining Breps is indeed best done with RhUtil.RhinoJoinBreps.

--
David Rutten
david@mcneel.com
Poprad, Slovakia
Hi, tanks for your answer.

The points are more or less in a circle. So I don't think Del.Tri is in order.

I have been on it for a few hours now and I managed to create a ployline from the points, but I am still not where I want to be.
How do I create a surface from the polyline?
Do I need to convert the surfaces to breps or not.
And finaly, how to put these surfaces or breps together into a 3d-volume?

Every set op points is coplanar.
The points in every set are more or less in a circle and in the right order(0, 1, 2, 3,......)
Edit; See jpg for the polyline...


poly.JPG
I forgot to mention that I am trying to code this in a Dot Net VB Script function in Grasshopper. I am not using the functions in Grasshopper.
That's too bad, cause it would have been very easy in Grasshopper.

In order to create planar surfaces from closed curves you'll need to use RhUtil.RhinoMakePlanarBreps()

Making a polyline from a set of ordered points is very easy, it's a bit harder if the points weren't ordered. Just create a new OnPolyline and append all your points. Then close the polyline by appending the first point again at the end.

--
David Rutten
david@mcneel.com
Poprad, Slovakia
Is it true that RhUtil.RhinoMakePlanarBreps() only accepts curves and no polylines?

If so, I have to convert the polyline to a onpolycurve.
You have to convert it to OnPolylineCurve (just like you'd have to convert OnLines to OnLineCurve, OnArc to OnArcCurve etc.)

OnPolyCurve is a bit too complicated for what you need here.

--
David Rutten
david@mcneel.com
Poprad, Slovakia
Another question....

Now I have this....

x is a list of on3dpoints




Dim polyline As New OnPolyline
Dim i As int32
For i = 0 To 7
polyline.Append(x(i))
Next

polyline.Append(x(0))

Dim polylinecurve As New OnPolylineCurve(polyline)
Dim brep() As OnBrep
RhUtil.RhinoMakePlanarBreps(polylinecurve, brep)




the out of the vb.net function says......
....value of type ...... onpolylinecurve' cannot be converted to '1-dimensional array of ........ ioncurve'.......

How can I solve this????

Thanks for all the answers so far :)
For those who care, this is the way to do it.
Pretty simple, but I am a newby, so it took a while.

x is a list of on3dpoints

Dim polyline As New OnPolyline
Dim i As int32
For i = 0 To 7
polyline.Append(x(i))
Next
polyline.Append(x(0))

Dim polylinecurve As New OnPolylineCurve(polyline)

Dim ioncurve(0) As ioncurve
ioncurve(0) = polylinecurve

Dim brep() As OnBrep = Nothing

RhUtil.RhinoMakePlanarBreps(ioncurve, brep)


David, thanks!
I don't blame you for being confused. This is exactly the sort of thing we're trying to fix in our next SDK.

--
David Rutten
david@mcneel.com
Poprad, Slovakia

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