Body Panel "missing" Whenever I Try to Edit Group

I’ve got a weird error that I can’t track down. Every time I try to edit a specific group (2016 BMW 7 Series_0) within this model, the group itself disappears when I double click to edit and in some cases won’t return.

Here’s a before picture before I try to edit the group -

Yet once I click into the group, the whole section disappears. What’s really odd is that when I use this model as a Proxy in Enscape, this same group in the model also disappears, which makes me think there is some one-off setting in SU that’s preventing it from appearing correctly.

Here’s a link to the model in case it’s helpful.

I am guessing that geometry is in another group. When you enter the group for the rest of the car, that one is disappearing so to your Component Edit visibility settings.

There is a bizarre scaling situation in which the first nested group (series 0) seems to have been created at an immense size and then scaled down by a factor of 3.9e-7. SketchUp’s view goes nuts handling this strange scaling when the group is opened for edit and then can’t seem to recover. I haven’t yet found a way to restore this model to sanity, but I’ll keep trying.

Edit: it is not a tags issue, as everything in the model is untagged.

Right click, scale definition?

That item doesn’t show on the right-click menu, maybe because it’s a group? There is a “reset scale” item, but it causes the group to revert to enormous size and drives SketchUp crazy.

Group yep, explode and regroup? I’m on phone so only making suggestions because I can’t try myself.

Yes! That appears to have worked. I’ll poke it a few more ways to make sure all is well again, but so far looks good.

1 Like

There are lots of scaled groups in the set.
I recommend running this to reset them…

model=Sketchup.active_model
model.start_operation('group_descaler',true)
groups=model.definitions.find_all{|defn| defn.group? }
count=groups.length
time_in=Time.now
puts
groups.each_with_index{|group,i|
  puts "#{i+1}/#{count}"
  insts=group.instances.each{|inst|
    lay=inst.layer
    mat=inst.material
    name=inst.name
    ents=inst.parent.entities
    gp=ents.add_group()
    gp.name=name
    gp.layer=lay
    gp.material=mat
    ins=gp.entities.add_instance(group, inst.transformation)
    ins.explode
    inst.erase!
  }
}
puts "\nDone #{count} in #{Time.now - time_in}secs"
model.commit_operation

Should take under 5 mins to complete…

PS: the surfaces of the headlights are ‘reversed’, this could cause issues later if you want to render it - easy to reverse them…

1 Like

@TIG I’m assuming this is code I can copy/paste into the “Ruby Console”? I’m guessing because this would have been the first time I’ve done it. Appreciate you looking into this.

Hmm…when I tried that code (after fixing the missing # on the Should take… comment), SketchUp crashed! I sent in the Bug Splat.

I’ve fixed the typo…
Added the comment after typing and it should have been inside the code-block…

Edited the code.
Removed the make_unique part which isn’t needed…
It works fine for me [PC]…

The revised version ran in 76 secs on my Mac. No idea why the first attempt crashed…

That’s a lot quicker than on my PC, but then that is so old it probably had the wrong type of coal !

I can’t see any simpler/quicker way to undo all groups’ scaling…