en 3 of them, and one poolyline between two of them.
It would also be very nice if i could control it so that only the successive ones can be connected
so if {0:0:0} has 8 points and {0:0:1} has 8, as do {0:0:5} and {0:0:6} i would like to have this as two polylines, not one continoous that would in this case jump three branches (or curves that are shorter).
Does this make any sense?…
Added by Dusan Bosnjak at 2:08pm on September 28, 2009
uld be much better than Rhino at huge mesh collections. I'd personally try free Autodesk Meshmixer and ZBrush first but most designers are more familiar with rendering programs like Maya or 3DS Max. I'm not familiar enough with architecture to suggest a list as only Revit and Sketchup come to mind.
Looking more closely, CAD Exporter is only for 2D curves and points, how silly, and it requires baked geometry in a Rhino layer:
I could write a Python script to export an STL but that would be a large ascii format file instead of binary. Better to use OBJ to retain quad faces, too.
Ah, well, OBJ files are also ascii format when exported from Rhino, so it would be quite easy to make a script to export those directly to disk from Grasshopper. Here is one box, 10X10X20 in size, with quad faces:
# Rhino
o object_1v 10 10 20v 10 10 0v 10 0 20v 10 0 0v 0 10 20v 0 10 0v 0 0 20v 0 0 0f 5 7 3 1f 5 6 8 7f 3 7 8 4f 2 4 8 6f 5 1 2 6f 3 4 2 1
If I have time I'll make a little script to write such OBJ files unless you can find a native Grasshopper plugin for direct OBJ export in full 3D for meshes.…
ns :-)
The code is really simple but I´ll post it in case it´s useful for somebody in the future:
On3dPoint[] array = new On3dPoint[8];
// in this case, I fill the array manually :-S
array[0] = new On3dPoint(0, 0, 0);
array[1] = new On3dPoint(1, 0, 0);
array[2] = new On3dPoint(1, 1, 0);
array[3] = new On3dPoint(0, 1, 0);
array[4] = new On3dPoint(0, 0, 1);
array[5] = new On3dPoint(1, 0, 1);
array[6] = new On3dPoint(1, 1, 1);
array[7] = new On3dPoint(0, 1, 1);
OnBrep box = new OnBrep();
box = OnUtil.ON_BrepBox(array);
A = box;
Thanks!…
cture, Rhino treats them as a single flat list. For example a surface can have 10 rows and 6 columns of control-points, resulting in a list of 60 points.
But 10 times 6 isn't the only way to get to 60. If you want to make a surface out of a list of 60 points, you'll also have to tell Rhino how those 60 points should be interpreted in terms of a grid. It could be 2*30, 3*20, 4*15, 5*12, 6*10, and all of the aforementioned products the other way around.
Sometimes there's only one way for a number of points to fit into a rectangular grid. For example if you provide 49 points, then 7*7 is the only way to make it work, but these cases are rare so we always demand you give us all the information required to actually make a rectangular grid of control-points from a linear collection.
As for "Why is it, sometimes we need to attach additional value into it?", this is usually because when you divide a domain or a curve into N segments, you end up with N+1 points. For example take the domain {0 to 5}, and divide it into 5 equal subdomains. You end up with {0 to 1}, {1 to 2}, {2 to 3}, {3 to 4} and {4 to 5}. However there are six numbers that mark the transitions between these domains 0, 1, 2, 3, 4 and 5. This is why you often have to add 1 to the UCount, because the number that controls the UCount often results in N+1 actual points.…
Added by David Rutten at 8:30am on December 25, 2014