Connecting construction points, automatically
-
Hi.
I've been concentrating on lurking for quite a while, sorry about that.
Today, a big problem in SU hit me and I just cannot resolve it by myself. Time to rely on a good old community.There must be a way to automatically connect a series of construction points by simple edges... I just gotta know.
Tried many plugins... I suspect "loft" type plugins (i.e. TIG's Extrude Edges) might be able to do it, but so far I cannot find a way.
Any ideas? -
Seems that will difficult if your points are not in a certain order of creation?
(time creation by example or order selection)Have you an image or an example of the exact problem?
It's like the traveling salesman problem there is a lot of possibilities
-
@unknownuser said:
Seems that will difficult if your points are not in a certain order of creation?
Sandbox tools only uses points - it gathers the vertices of the contours and connects a mesh between points which is closest to each other. Which is why you some times get faces that crosses contours.
AFAIK.Wasn't there a plugin that generated a mesh from point clouds?
-
Didier's Triangulate Points with make a mesh from the points, joining them with edges...
As Pilou said what rules do you use to decide which point joins to which point ? -
and pnts2mesh.rb of kirill
-
Dear Takesh,
Your Pushpullbar Visual Index Of Ruby Scripts is a must!Thanks for it
So you are advised about
@unknownuser said:a plugin that generated a mesh from point clouds
But Pilou and Tig are focusing on the big point. Without an order for drawing the lines, you are going to spend a lot of time to delete unwanted.
->May be a more detailed explanation of what you need to do would bring a specific solution ?
++simon.
-
Thanks for comments, guys.
To make myself a little more clear, I attach an explanatory image of what I want to do.
Yes there must be an order for connecting points - that would be an order of creation, I guess.No I don't want to create a mesh. All I need is just connecting points linearly.
-
I suppose there is no problem (for Tig ) if you have the list ordered of points
but without this list or without rules that is impossible -
Are they already on different z heights?
This can be a complicated script to write only because it is hard to define in what order the script should connect the dots. But if they all have a z height, and you want to connect only those of the same z height then that begins to help make it possible.
Chris
-
@chris fullmer said:
Are they already on different z heights?
ChrisYes, luckily.
They are indicating anchor points of curtain walls.
They run from top to bottom. Does that help? -
So... if we can trust the x/y/z data in the file we import then...
It's easy to spit into 'sets' of cpoints as they come in.
The very first z is a 'top' and every line of text after that with a lower z is in the same set.
We will eventually draw lines from one to the next
If a z is more that it's predecessor then a new set is started.
We repeat adding cpoints until the next set starts etc.
As we go we keep a list of the these cpoint sets.Now we draw the lines...
The 'vertical' ones are easy as we simply go through the sets of cpoints and for each list of cpoints weadd_line
from pt[0],pt[1] then pt[1],pt[2] etc.
To add 'cross' members between pairs of nodes in adjacent sets we iterate a set and the next one to it usingadd_line
set[0]pt[0],set[1]pt[0] then set[0]pt[1],set[1]pt[1] etc.
Now we have a 'grid' of lines between the corresponding sets of cpoints in the file.
If 'diagonals' are needed to triangulate the 'rectangles' then it's done as above butadd_line
steps up/down one item for the next set thus set[0]pt[0],set[1]pt[1]...
If faces are needed then again these could be added instead of unfaced edges by finding the appropriate three pints in the sets/points andadd_face(p0,p1,p2)
[ruby]
There's also the clever http://code.google.com/apis/sketchup/docs/ourdoc/entities.html#fill_from_mesh that might be useful in some circumstances...
Advertisement