[Plugin] Point Merger tools v1.2 UPDATED@ 23/06/09
-
Initially set
@@max_weld_distance=1.to_l if not @@max_weld_distance
inside the class BUT not inside a sub-definition...
-
is that more clear?
-
Is there a practical application for that type of functionality? Seems faster to juist draw it.
Chris
-
@mitcorb said:
BTM:
I have not tried the ruby yet, but I have some questions.
Is there an upper and lower limit to the selection radius?
From the description, this could be used as a seam stitcher, maybe? In other words, you construct a line or curve, or loop along which you can snap nearby vertices to it?Today, I've made another script to do thisโฆ well, I think it does this.
TechSmith | Screencast.com, online video sharing, Page not found
Free online storage and sharing with Screencast.com. 2 GB of storage and 2 GB of bandwidth per month for free. We won't compress, alter or take ownership of your content.
(www.screencast.com)
You select a number of edges, and click the tool. It asks you for a radius, like in the other one. You select it, and any points within that distance from a selected line, are moved to the closest point on any of the lines selected. In the next release, most likely tonight, both of the scripts will be included in a submenu.
-
@unknownuser said:
Is there a practical application for that type of functionality?
Very practical for flatten or deform (for any reason) an existing volume (or part of volume) on any orientation!
Normal way when that is collapsed on a plan 3D
Funny when that is collapsed on a line -
OK, I have 2 issues, one with each script, that are holding me back from posting the next version.
-
With the current 'Merge Points' script, the transformation isn't always 'perfect'. since SketchUp only allows vertices to be transformed by vectors, and not able to be given a specific point to move to, the points don't always end up exactly in the same place. Sometimes they are off by an amount SketchUp barely even recognizes. This causes them to not be attached, and thus are annoying. This doesn't always happen, but it does happen on occasion. Does Anyone know of a way to get the transformation to be perfect every time?
-
The next script moves points to the closest position on the lines of the selected edges. The annoying part is that lines are infinite. I could probably figure out how to get it working properly, with the edges and not lines by using if functions, but it wouldn't be ready by tonight.
-
-
#1 - yeah, the easiest way to do it is using the transform by vector method. But there is also
Entities.transform_entities
method which lets you apply a single transformation object to multiple objects simultaneously....but in your case you would only tansform a single entity at a time. Then, since you are using a transformation object, you can transform something to a given 3d point. So your code that looks like this:dist = pos.distance @mouse_point if dist <= @max_weld_distance vec = p.position.vector_to @mouse_point @entities.transform_entities(vec,p) end end
could look like this:
dist = pos.distance @mouse_point if dist <= @max_weld_distance t = Geom;;Transformation.new(@mouse_point) @entities.transform_entities(t,p) end end
I have not tested that for syntax and I don't know if it will fix your #1 problem, but I think it might.
Chris
-
...I figured out how to solve problem 2!!!
As for problem 1, Chris, the transform_entities works pretty much the same way whether you give it a transformation or a vector; the script you have down there moves the points by the vector @mouse_point, so they end up in a completely different spot. That's why I used vector_to. The only problem, is that SketchUp sees things like 3.999m as 4 meters ( Well, according to the VCB, it doesn't show up as ~4.00m, but as if it were just 4.00m), and I think it's inaccuracies like this that can mess it up sometimes.
-
I might not have the accuracy issue fixed, but I've updated the first post, now Merge Points to Lines is available, and Merge Points has been slightly updated.
-
i still have no clue as to what this script is supposed to do. thus the following.
i know this is probably asking too much of guys who make their creative work available for free to all of us. however, i think it is in their own interest that their creations be understood and put to use to the full.
thus i respectfully suggest that all scripts should be accompanied with some kind of demonstration about what they are supposed to do: a guide, a tutorial or a short video (perhaps the easiest to do).
-
OK, a video has been added for Merge Points.
-
BTM:
Wow! Congratulations. Excellent video.
A humble thank you.
mitcorbedit: this appears to be able to close those tiny triangles-- is that correct?
-
Seems another very cool plug!
-
@mitcorb said:
this appears to be able to close those tiny triangles-- is that correct?
Yes, it can, but it depends on where you click, and the range of the tool.
-
UPDATED:
The Merge Points to Lines tool now has a feature to allow you to pick between moving the points to the closest positions on selected lines, or moving the points to the closest endpoints of selected lines. -
@unknownuser said:
OK, a video has been added for Merge Points.
thanks a lot! this is what i had in mind.
-
What a time saver this could turn out to be.
This functionality should be a standard/built in tool of SketchUp pro.
Thank you.
-
Imagine you take a couple of neighbouring snapshots from GE and simply "stitch" them together with this tool in no time!
Thanks BTM!
-
No possible to make this with automatic process? (Merge points)
Exploring all points! -
@unknownuser said:
No possible to make this with automatic process? (Merge points)
Exploring all points!Actually, I was thinking about something like this initially, before making the scripts. It would go through the entire selection, find which points were close to each-other, then move them together.
I didn't try it though, because I would imagine that it would be extremely slow, having to find the distance between every single point that's part of the selection.
To put the amount of times it would have to find the distance between 2 points into perspective, (I think) the equation for possible lines between a number of points(a) is:
(a-1)รท2=b
ab = c = amount of equations necessary.โฆso if you have 60 vertices in the selection, it would need to find the distance between points 1770 times.
60 - 1 = 59
59 รท 2 = 29.5
29.5 x 60= 1770โฆSo yes, it's possible, but maybe slow, unless used with a fairly low amount of vertices in the selection.
Nonetheless, I'll try it sometime soon, but first I'm going to start getting some visualizations working with the current scripts. Maybe I'll make it highlight affected points in yellow, and the point they'll move to in blue or something.
Advertisement