Component Definition Names Collide When Importing Multiple .skp Cabinet Files

Hi everyone,

I’ve run into a very frustrating and confusing issue in SketchUp 2025 related to component definition names.

I have a large furniture library where each cabinet is stored in its own .skp file. All components within those files have clean, unique Definition Names (not just file names). For example:

  • BC_DoubleDoorSink_SidePanel_L
  • BC_StandardDoubleDoor_SidePanel_L
  • BC_StandardSingleDoor_SidePanel_L

Each one is different, both in name and in geometry.

However, when I import them sequentially into a single SketchUp model (e.g., drag and drop or via Component browser), SketchUp changes the names of some components and appends a #1, #2, or even worse — replaces the definition entirely with one from a previously imported component.

For example:

  1. I first import a sink cabinet → definitions look correct.
  2. I then import a different standard double-door cabinet → suddenly some of its components get overwritten or renamed (e.g., BC_StandardDoubleDoor_SidePanel_L becomes BC_DoubleDoorSink_SidePanel_L).
  3. I import a third cabinet → more renaming happens unexpectedly.

I double-checked in each .skp file — their definitions are correctly named and isolated. There is no naming conflict within individual files. This seems to happen only because SketchUp reuses existing component definitions, even when importing from different .skp files that contain different geometry and properly named definitions.


:puzzle_piece: Expected Behavior:

SketchUp should treat imported components from separate .skp files as separate, as long as their definitions are uniquely named.

:cross_mark: Actual Behavior:

SketchUp overrides or renames definitions, causing:

  • Mismatched geometry
  • Wrong component reuse
  • Corrupted model structure (especially bad for cabinetry and modular systems)

:red_question_mark: Question:

Is there a reliable way to prevent SketchUp from reusing existing component definitions during import?

Or is this a known issue that needs addressing in a future update?


I’m a furniture constructor with 20+ years of experience, and this is the first time SketchUp has caused this kind of naming collision on such a critical workflow.

Any help, insight, or suggestions would be much appreciated!

Thanks in advance.

01_Base_Cabinets.zip (11.7 MB)

Hello @Guram_Dzigo ,

Can you share some SKP example to try it on our side ?

1 Like

This is because the (sub)component is not unique, its picking up on a previous or updated definition, depending on which one was inserted first.

You can fix such components by using “deep make unique”, Eneroth Deep Make Unique | SketchUp Extension Warehouse

insert problem DC in a clean file, copy and then via right click context menu, make one “deep unique” then saveas it to overwrite existing saved DC

1 Like

this is normal.

suggest sort OCL with excel, or use instance names with native reports, could use both, with native as a summary?

Can use Name in OCL to transfer parent data, in DC, use =parent!name & item , but need to summarize in native with list using Name as the sort

As per

01_Base_Cabinets.zip (11.7 MB)

Hello everyone,

I’m back — I think I may have found the cause of my problem and a possible fix!

Here’s what happened:

  1. I made a cabinet model where each component had its own unique name.

  2. I saved this file, then made a copy of it as a new .skp file.

  3. In the copied file, I changed all the component names through Entity Info.

  4. Later, when I imported this “new” cabinet into another model, some of its component names were automatically replaced with the ones from the first/original cabinet — as if SketchUp didn’t care about my new names.

It turns out that renaming components in Entity Info doesn’t actually change their Definition Names, only their Instance Names.
So SketchUp still sees them as the same old components and merges them, replacing the names I had set.

What I tried:

  • At first, just renaming in Entity Info → didn’t work.

  • Now I exploded the components to raw geometry, then made them new components again with the new names → seems to fix the problem.

I’m not 100% sure yet, but it looks like the issue was that the copied file still had the original component definitions inside.
Maybe someone here has a better workflow for this kind of situation?

Thanks in advance!

01_Base_Cabinets.zip (11.7 MB)

Hello, thank for the files.

As far as I can see sub components have the same definition names in several SKP file. So the #1 behavior is normal when importing both.

The only one solution to avoid this is to be sure that subcomponent definition names are different in each cabinet.

1 Like

Silly question, why not rename the definition name as well as the instance name in Entity Info?

1 Like

I’m running into a similar issue, but as far as I know, all the naming in my two components is unique.

I have two dynamic cabinets - a tall cabinet with a single door, and a tall cabinet with a double door.

All the component definition names are unique, and all the names inside the dynamic components themselves are also unique, yet when I bring both dynamic components into a new file, SketchUp overwrites all the nested component definition names of the second component to match the definitions of the first model I bring in, and it breaks the dynamic component. I’ve gone through in pretty heavy detail to make sure I don’t have doubled up component definitions, but it’s doing it anyway.

@boris.beaulant - Am I making some simple mistake and just not seeing it?

Cabinets Combined - Broken Single Cabient.skp (67.7 KB)

Cabinet - Tall - Slab Two Door.skp (58.9 KB)

Cabinet - Tall - Slab One Door.skp (59.4 KB)

Justin you are asking a reasonable question. There is a property of Sketchup entities that persists across modeling sessions. That property is called the persistent_id.

When the double door cabinet was created by copying the single door cabinet (or vice-versa) the persistent ids of the components in the copied cabinet continued to hold the same value. Then, when both cabinets are imported into a new model Sketchup assumes that you intended to overwrite the matching entities.

That’s my theory for the time being - until someone proves it to be wrong.

3 Likes

Is there a way of changing this persistent ID that you know of? This is obviously not very helpful when building libraries of objects

I wonder if anything useful was mentioned in this topic?:

Justin,
I’ll wait until one or more developers concur that the persistent ID is the source of the problem

But, the persistent ID’s were introduced quite a few versions later than DC’s, I seem to recall?

I always suspected the ‘internal path’ to be the culprit…

Definitions need to be made unique within the same file, separating them to other files and changing their names and bringing instances back together will only find their definition (the first placed instance’s definition takes priority). The best fix is to copy the instance in a clean file and make sure all parts including groups are unique, creating a new definition, (deep make unique does this in one click) then saveout the unique copy to the original file

the separate files are not same as the combined, they are not DCs so cannot make the combined correct without these DC files

1 Like

It doesn’t appear to be. I used a short script to view the persistent ID on the components and they are different. I suspect it probably is SOMETHING like this though

I’m going to have to do some more testing, but I BELIEVE this is the solution. At least in my first try it appears to be working properly. Kind of a PITA, but as long as it works, I’m good with it. Will test some more over the next couple days and try to post an update.

Thanks!

Cabinet - Tall - Slab Two Door.skp (71.5 KB)

Cabinet - Tall - Slab One Door.skp (60.4 KB)Hey Justin, I had the exact same issue and I think I’ve found a solution that might work for you, too.

The root of the problem is that SketchUp retains old Definition IDs even if you rename the components. When you import the second cabinet, SketchUp recognizes these old IDs and merges or overwrites them with the new components, which breaks the dynamic functionality.

I tried all the usual tricks—Make Unique, Deep Make Unique, and manual renaming. But none of them worked completely, especially when I was using OpenCutList.

The only method that works 100% for me is: ExplodeMake Component again.

This process completely destroys the old ID and creates a brand new one, which prevents SketchUp from incorrectly merging the components.

I used this method on your files, and it fixed the problem. As a bonus, I also noticed that both doors on one of the cabinets were named Right—I went ahead and fixed that, too.

I’ve recorded a video explaining these changes and will be uploading both your original and the fixed files so you can see the difference for yourself.

Hopefully, this helps you avoid this headache in the future!

1 Like

One maybe easiest method could be to initially draw all cabinets in the same SKP source file where the Make Unique or Deep Make Unique functions should work as expected. And after right click on each cabinet and use the save as function to export them in separate files.

2 Likes