How to suppress face creation when exploding


#1

Is there a simple way to suppress the automatic face-finding, face-creation feature of SketchUp? I am wanting to explode a bunch of groups without any new faces being created. Any ideas? Thanks!


#2

Hi Dale
I don’t think I’ve observed that. Do you have an example model and script?


#3

explode-test-2016.skp (247.8 KB)

With this file, first double click the road network group, then run this script:
Sketchup.active_model.active_entities.each { |e| e.explode if e.is_a?(Sketchup::Group)}

You should see a couple of new faces come in after exploding.


#4

I’m notice that you have grouped entities that have overlapping faces. As long as they are in separate groups, they will not cause overlapping edges to break into separate segments, (which will then cause separate faces).

I can duplicate without Ruby code by double clicking on the group, and then double clicking a nested grouped object. I observe:

Zoomed in a bit more it is

It can be seen that a face (and its associated edges) overlap another.

After I explode two of the overlapping grouped entities, I can select the overlapping face separate from the main face:

The dotted area is the separate face that can now be clicked.

If I re-load your Sketchup model and instead at the Ruby console type:

Sketchup.break_edges= false

And then I run your code, I can click the same face and I see unbroken faces:


#5

Hi Bruce - thanks but you need to run the script to see what the issue is. After exploding all, there are new faces being created between the roads where no faces previously existed. I don’t want these new faces.


#6

I can reproduce that. I agree it’s unexpected. Logged internally as SU-35034.


#7

Are you exploding the group in your code? if so you could first create an array of all the faces in your model, and then after exploding, delete any faces that are not in that array.


#8

Hi Matthew,

I’m not sure that will work, since the explode operation itself creates new faces that we DO want to keep.