Bug Splat Problem in SketchUp 2019

Done and sent to you

Thank you

Crashed in Component / Attribute Container, doing geo-reference attributes.

so its trying to global position itself?
How do i turn it off?

If a component SKP is made by saving a whole model that has been geo-located, then it will try to snap to the origin when it is first inserted into the model, and not allow the user to place it first.
This can “cross-thread” things in the model’s database - especially if there are also other geo-located instances and/or the model itself is geo-located…

To address this issue - never save a model as a component SKP if it is geo-located.
Saving a component outside a geo-located model will avoid this problem.

If you have obtained a component SKP from someone else be wary.
Open its SKP and check its Model Info, and ensure it’s not been geo-located.
If it was, then change that and save.
Then when you use it in another model it’ll insert properly with no issues like this…


You seem to be very quick and efficient at finding in which area of code bugsplats are.

I sent a few ones recently (labelled with Fredo6), but did not get an answer (no surprise). Can I PM you the next one when I get it?

Yea, you can PM me. My day job isn’t forums, but if it’s a quicky like these tend to be, there’s enough (boring) meetings in a day that I can chase some down.

TIG,Thanks for the reply
i created the individual models in separate files and then put them together in one Sketchup file. From there i create the components and do a “save as” to put it in a file folder. I have done this with other models in past versions and have not had this problem.
How do check to see if the model is geo-located and turn this function off?

Open the component on its own and look at Model Info>Geo-location. If it is, clear the location. Then save the file replacing the old one.


Thanks DaveR
I’ll look in to this.

As a note, if you saved the component out of a larger model that was geo-located, you could have unwittingly geo-located that component. Also, check your default template to make sure it doesn’t have a location set.

Checked all the models and the default template and all are saying they are not geo-located .

It could be a component inside the larger component that is geo-located.

Here is an example. I created a component called Component#1 and geo-located the model which I then saved as ‘1 geolocated.skp’.

Then I imported the SketchUp file in a blank new file using File>Import. The new file shows that the model is not geo-located.

Notice that a file created and then imported this this way is also doubled wrapped which can create other problems.

Assuming the information provided by the Bug Splats is correct and the crashes are the result of geo-location, it’s worth investigating the child components on their own.

I’m not sure if it’s possible for a Ruby script to churn through all of the components nested in the parent to look for and clear geo-location. Maybe @eneroth3 or @TIG would know. It would be interesting if it’s possible to report which component is geo-located if there is one so you’d know before you use it in any future models.


I’ll check each one.
it will take some time as the components are made up of 20 plus models.

1 Like

Good luck.

This code snippet reports on the GeoReferencing attributes for all Components in the Model and the Model itself.
It will be reset ‘false’ if it’s currently set ‘true’…
To use it copy/paste it into the Ruby Console.

model = Sketchup.active_model
  puts "Definition: #{d.name}"
  ads = d.attribute_dictionaries
  if ads && ad=ads["GeoReference"]
    if ad["UsesGeoReferencing"]
      puts "GeoReference:UsesGeoReferencing - currently set 'true' - now reset to false."
      ads["GeoReference"]["UsesGeoReferencing"] = false
    elsif ads && ad=ads["GeoReference"] && ! ad["UsesGeoReferencing"]
      puts "GeoReference:UsesGeoReferencing - currently set 'false'."
  elsif ! ads || ! ads["GeoReference"]
    puts "GeoReference is NOT set up."
ads = model.attribute_dictionaries
if ads && ad=ads["GeoReference"]
  if ad["UsesGeoReferencing"]
    puts "Model: GeoReference:UsesGeoReferencing - currently set 'true' - now reset to false."
    ads["GeoReference"]["UsesGeoReferencing"] = false
  elsif ads && ad=ads["GeoReference"] && ! ad["UsesGeoReferencing"]
    puts "Model: GeoReference:UsesGeoReferencing - currently set 'false'."
elsif ! ads || ! ads["GeoReference"]
  puts "Model:\nGeoReference is NOT set up."
1 Like

Thanks TIG!
this is great

I am new ro Ruby scripting,
So this ran through the file and set all the models in the file to False?
Is there a way for it to know which of the file(s) are the problem so i can correct the original file?

I’ve adjusted the code above, after Dan pointed out a typo…

Here is TIG’s code module wrapped that will output the definition paths (for those that were georeferenced.)
It also adds a menu command to the “Extensions” menu.

TIG_ClearAllGeoReferences.rb (1.9 KB)

1 Like

Thank to all of you all for your help on this issue, I never would have found out what the problem was without your help.
TIG, your script worked like a charm!
Thank you DanRathbun for the RB file, I will us that next week when I an back in the office.:grinning:

1 Like

I get 10 bug splat a day. i have fredo installed but the crashes happen when I AN USING THE NATIVE TOOLS