[REQ] GoogleEarth Meshes boolean subtract
-
2d boolean only works on "flat" geometry, I'm afraid.
Hint, the name: 2D boolean.
I suspect a terrainmesh is a "3d geometry". Even though it's just a surface you would have to base calculations of 3 dimensions cause of elevations and such.
Maybe you could build a box "underneath" the surface and do standard boolean on that?
-
Can't you simply group the two mesh groups together and explode them together inside the new group - then use one of the many erase-coplanar-edges tools available or manually erase unwanted edge divisions...
-
What if the plugin sort of turned the terrains into volumes by drawing vertical faces downards on the sides, and then a face on the bottom to close the whole thing off into a sketrchup solid. Then use the solid tools to boolean add them together.
That could work. It would be a plugin for pro users only though because of the solids tools usage. And I'm not sure how smart it would be about the GE image emerging. But it could work......maybe.
-
@dave r said:
Are you still using SU7/7.1?
no, I am using SU8
@unknownuser said:
There's better elevation info from Google Maps which is accessed through SU8. Maybe that would eliminate your problems.
quite the contrary. The problem is even bigger with SU8.
with SU7, you could get a piece from GoogleEarth, than use the arrow keys to go sideways, and you could get two pieces that would overlap in just one side.
with SU8, you dont use GoogleEarth. Everytime you go grab a new terrain mesh, the screen resets to the original land piece position, and you cant scroll with the arrow keys... you must scroll with the mouse, sometimes the next piece will be a little up, or a little down, as well as overlapping on the sides.
@unknownuser said:
[attachment=1:m8rijg4r]<!-- ia1 -->G Maps1.png<!-- ia1 -->[/attachment:m8rijg4r]
This is an import from Google Maps of two neighboring sections. I cut the geometry from the smaller section and pasted it into the larger one to check for overlapping faces. There are none.they are overlapping a bit on the last row of triangles. The textures will flicker since they are coplanar faces.
@unknownuser said:
Why don't you add your SU version and OS to your profile?
Windows 7, SU8.
@jolran said:
2d boolean only works on "flat" geometry, I'm afraid.
Hint, the name: 2D boolean.
yes, I know. I used the 2d Boolean plugin. But it doesnt subtract one from the other. It joins the two meshes. The coplanar faces remain. As I showed in screenshot above.
@unknownuser said:
I suspect a terrainmesh is a "3d geometry". Even though it's just a surface you would have to base calculations of 3 dimensions cause of elevations and such.
oh, I see where you are getting
@unknownuser said:
Maybe you could build a box "underneath" the surface and do standard boolean on that?
not practical when you have to deal with dozens or hundreds of different meshes.
-
@tig said:
Can't you simply group the two mesh groups together and explode them together inside the new group - then use one of the many erase-coplanar-edges tools available or manually erase unwanted edge divisions...
already tried it, both with 2D Boolean (which joins the two groups into one with everything exploded inside) and also by joining the two groups and exploding the stuff inside.
then using CleanUo³. For some reason, the coplanar faces of meshes do not disappear.
-
@chris fullmer said:
What if the plugin sort of turned the terrains into volumes by drawing vertical faces downards on the sides, and then a face on the bottom to close the whole thing off into a sketrchup solid. Then use the solid tools to boolean add them together.
That could work. It would be a plugin for pro users only though because of the solids tools usage. And I'm not sure how smart it would be about the GE image emerging. But it could work......maybe.
maybe it could work. It doesnt even need to be a real boolean. Wait a bit, I will try to draw what I imagined.
-
@aceshigh said:
they are overlapping a bit on the last row of triangles. The textures will flicker since they are coplanar faces.
There weren't any overlapping faces in the example I posted and no flickering as I orbited
-
two different meshes with overlapping parts. Notice the bounding boxes. Imagine the bounding boxes as the areas where one mesh should be cut from the other.
MAYBE the bounding boxes for the operation should be a bit higher and lower than the real ones, I dont know... if the lowest or highest areas of the mesh are in the border, the cut between two meshes would be more "garanteed" if the bounding box was a bit larger in the vertical?
subtract one mesh from the other. In the example, I simply deleted the triangles, but this doesnt work in real life, because the triangles in one mesh dont quite match the triangles from the other mesh, and a gap between the two meshes may appear (or they still may overlap).
the perfect solution is to ZORRO out one mesh from the other and then delete the overlapping triangles.
I imagine one bounding box exactly ZORROING through the other mesh, and then all the parts of the second mesh, which are inside the first mesh bounding box, being deleted.
-
@dave r said:
@aceshigh said:
they are overlapping a bit on the last row of triangles. The textures will flicker since they are coplanar faces.
There weren't any overlapping faces in the example I posted and no flickering as I orbited
to me, it seems clear the red marked area is overlapping each other... there is a mix of dark and light green triangles there, thats usually what happens when there is overlapping faces, and when you orbit, there is flickering between the triangles, since the program doesnt know if it displays the triangles of one or the other mesh.
if it didnt happen to you, you were lucky. I made several tries with both Sketchup 7 and 8 and it always happens.
either way, you have only two meshes, so only a small part of each mesh overlaps the other. Its easy to overlap so little when you have only two small meshes. When you try to mount a giant gigsaw puzzle by having to select dozens of different meshes, you will end up with huge parts overlapping each other, and you will see the flickering when getting near and moving the camera (or even when importing to other program and rendering)
-
As I recall, what Google had said about importing GE terrains in SU8 is that now it is much more accurate, because it now imports the actual Google Earth geometry. So therefore, terrains should match up perfectly.
So when you import adjacent terrains, even if they are net perfectly aligned, the vertices should align perfectly, because it is importing the Google Earth geometry.
The one MAJOR exception is that they limit the amount of vertices imported to 1,000. So if the snapshot includes more than 1,000 vertices, then SU will use its own algorithm to simplify the mesh. This simplification can reduce vertices, move their position on the x,y AND Z directions, and that will cause the overlapping vertices to not align.
I had written a tool at one point that would help test it the terrain had been downsampled by SketchUp, so I would know that I needed to zoom in closer to get a higher resolution terrain. Because again, theoretically, if SketchUp does not downsample the terrain, then the vertices really should align perfectly.
I'm not completely sure that all of the above is true. It is largely my recollection of what they had told us.
-
hi Chris. I just imported two small GoogleEarth meshes, using Sketchup 8.
600 triangles each (i suppose... each one had 300 faces).
still no luck. There was overlapping and nope, the triangles from each mesh did not mach perfectly the triangles from the other mesh.
-
@aceshigh said:
hi Chris. I just imported two small GoogleEarth meshes, using Sketchup 8.
600 triangles each (i suppose... each one had 300 faces).
still no luck. There was overlapping and nope, the triangles from each mesh did not mach perfectly the triangles from the other mesh.
Well, there goes that theory! Did you try the manual way I described? Maybe I'll try that right now.
-
bleah, the edges are not necessarily co-planar. So its not easy to drop vertical lines at the corners and turn the thing into a big cube.
Bummer,
Chris
-
@chris fullmer said:
bleah, the edges are not necessarily co-planar. So its not easy to drop vertical lines at the corners and turn the thing into a big cube.
Bummer,
Chris
I would give you some suggestions... if I even knew what you mean
doesnt Sketchup have absolute world coordinates? Wouldnt the vertical lines just drop till a specific absolute world coordinate, at all 4 corners of an imported mesh?
-
Here is how I did it. I created and grouped the four vertical faces surrounding the 1st terrain mesh using the bounding box corners. Then I did an intersect_with the faces and the 2nd terrain group and added the intersection entities to the entities of the 2nd terrain group. I then searched the entities of the 2nd terrain group for hidden edges that fell within the bounds of the 1st terrain group and deleted them.
-
you did that manually?
-
@aceshigh said:
you did that manually?
No, with a plugin that I threw together last night. Check your PM inbox.
-
wow, thanks a lot!
it works flawlessly!
does it makes any difference which mesh I select first and 2nd?
how the plugin decides from which mesh it will subtract and which one it will keep intact?
this is important because sometimes you may have two meshes at different resolutions... and you may want to keep the higher resolution mesh.
I just made a test where the smaller, hi-res mesh was almost entirely deleted (only left a thin strip, that was outside the bounding box of the bigger mesh), while the ideal solution would be to keep the higher res mesh and cut the hole in the bigger, lower res mesh.
again, thanks a lot!
-
@sdmitch said:
It all depends on the order that it finds them in the model so the selection order doesn't matter.
thanks. Can you make it matter? I was editing my above message while you were writing here, and I said the reason the order would be important.
btw, I also noticed there is usually a small gap created between the two meshes. Maybe the bounding box from Sketchup is not perfectly parallel to the mesh edges?
I am also attaching two meshes where some triangles disappear when running the plugin. Maybe if we could invert the order it result in no missing triangles, I am not sure.
-
It all depends on the order that it finds them in the model so the selection order doesn't matter.
Now that I know that order might be important, I will add an input so that the default order can be reversed.
Advertisement