5D+ Library - Manage SketchUp assets

Using it to the max! :slight_smile:

1 Like

Is there any suggestions you want me to add or fix for the next verison? :sweat_smile:

It runs rather smoothly for me, I am happy. There are two things that come to mind, though.

  1. Search across folders. I remember you saying that this would slow everything down, but maybe I have a compromise for you. I have some folders that are in the left menu that have subfolders in them. (see screenshot). Maybe it would be possible to search across the subfolders.

  1. Maybe you could include an option to show materials as flat thumbs instead of these useless cubes. For a while I was like ā€œwhat is everybody talking about, it’s not that badā€. I was wrong. It’s bad. It would be easier to have no icon and just look for the description than the cubes. I cannot make out materials any more to a point that I just want to get rid of everything PBR-ish just to get the flat preview back. So an option for that would be cool. Which brings me to point three:

  1. Option to get bulk rid of PBR Properties. Some of the Sketchup-Teams choices are - well - weird. Why would HATCH-PATTERNS have metallic properties? It doesn’t make sense at all. The whole ā€œSketchup-can-render-thingā€ is a nice solution for a problem I do not have and PBRs bloat file size which always is a big concern for me. Hence an option to just get rid of all PBR properties for selected materials would be cool.

As you can see - except for 1) these are ā€œwould be niceā€ type features. The extension works like a charm as it is! I think that adoption of 5D+ Library would increase a lot if you include 2) though, as the current iteration of the material browser is very flawed at best.

1 Like

Oh - and this one: An option ā€œoverwrite allā€. Otherwise you need to click this as over and over again.

1 Like

That’s new for me. I noted not only this but other suggestions and see what I can do for the next version. :sweat_smile:

1 Like

Since you are awake anyway - another question :yum: - I have a large materials Library (not materials as in ā€œcolorsā€ but as in ā€œbasic construction partsā€. It’s basically a neatly named and defined ā€œsampleā€ of everything I need to built something with. I have now also begun tagging the material samples to make more sense to 5D+Plus.

If I open this library and take copy something from it to another file the tagging information are being transferred to the new file.

If I use the 5D+ Library save out all the parts as individual Sketchup-Files the tagging information is lost.

Is there anything you can do about this? I don’t want to tag the lines and surfaces and I don’t want to create a sub-group inside the component because it would create other type of problems.

It’s not a big issue, but something I ran into.

5D+ Library is using the save out feature to save the object to a file. The save out is a native feature. It will not save the tag as well as the material assign for that object. Because once you try to open that files are saved you only see the child groups, not the parent. The parent itself is automatically created when you insert the file into another file.

I understand - and found a solution. I can use your Name to Tag feature! It’s a bit of work to set up that list but it should work like a charm…

1 Like

Let’s try 5D+ Snippet for this :smiley:
Tell Chat GPT: ā€œI want to tag the selected Group/componentā€ by a tag has name from definition name of group/component".

My example wasn’t quite correct - the conversion is a bit different as your tag names for materials include the m_ at the beginning.

For example:

Component ā€œSW_DBLG_WPC_GR #1ā€ will be tagged ā€œm_Decksbelag WPC Grauā€ (the component name has something to do with our physical warehouse).

I will create that list - that’s what 5D+ AutoTag is for anyway. :slight_smile: And this way my team has the same list and it works for everybody.

Ok - I thought I had this figured out but I am running into a problem.

I set up a bunch of rules for different component names and then used ā€œAuto assign tag by nameā€.

I think the problem is, that the Tags themselves don’t exist yet so the rules can’t be applied. Am I correct im my assumption? Would it be possible to just create a missing tag if a component name triggers a rule but the tag doesn’t exist yet?

It’s designed to auto create a new tag if it doesn’t exist. Please check again.

I figured it out. I ā€œnamedā€ all my components using the Definition name (the first field in the dialog that pops open when you press ā€œGā€ on a group to create a component). The AutoTag Feature doesn’t check that field but looks at ā€œInstance-Nameā€ instead. Since all my components have an empty ā€œinstance nameā€ field ā€œAuto assign tag by nameā€ didn’t do anything for me. :slight_smile:

Now I have to think about what to with this. Put the same information in yet another field? :slight_smile:

  • Definition-Name: SW_PRFL_ALUM_KSTN_090_090_4 #1 (because a component needs a unique name…)
  • Instance-Name: SW_PRFL_ALUM_KSTN_090_090_4 (can be all the same)
  • Tag name: m_Alu KSTN 090x090x4

Slight setback…

1 Like

Yeah - it might actually make sense. This way the definition name would be like ā€œPart #1,2,3ā€ for a given Assembly and the Instance-Name would describe the material - which would auto-assign to the tag. Is this the way you set it up as well?

  • Definition-Name: Assembly_03 Part#1 (because a component needs a unique name…)
  • Instance-Name: SW_PRFL_ALUM_KSTN_090_090_4 (can be all the same for the same type of component)
  • Tag name: m_Alu KSTN 090x090x4
1 Like

Yeah, it based on Instance name.
You can use this snippet to automatically set name for Instance name from Definition name. :grin:

model = Sketchup.active_model
selection = model.selection

# Filter only component instances
components = selection.grep(Sketchup::ComponentInstance)

if components.empty?
  UI.messagebox("Please select at least one component.")
  return
end

prompts = ["Overwrite existing names?"]
defaults = ["Yes"]
list = ["Yes|No"]
title = "Rename Instances"
choice = UI.inputbox(prompts, defaults, list, title)
return unless choice

overwrite = (choice[0] == "Yes")

model.start_operation("Rename Instances", true)

updated = 0

components.each do |inst|
  def_name = inst.definition.name
  next if !overwrite && !inst.name.to_s.strip.empty?

  inst.name = def_name
  updated += 1
end

model.commit_operation

UI.messagebox("Renamed #{updated} instance#{updated == 1 ? '' : 's'}.")

You can setup in AutoTag Mapping: ā€œm_Alu KSTN 090x090x4ā€ <= ā€œALUM_KSTN_090_090_4ā€

Worked! :slight_smile:

1 Like

That’s what I was trying - and it’s working now as well… :star_struck:

1 Like

Hi @Cyentruk - I had two ideas for 5D+ Library that would enhance our workflow and might be useful to others as well.

  1. Give us a setting to toggle ā€œstampā€ and ā€œno-stampā€ behavior. For us 5D+ Librarys insertion action is really sluggish. I mean like ā€œwait 10 seconds to see thingsā€ type sluggish. That’s not a big issue but what makes it worse is that the inserting item action keeps on going, even though I am already done. This is like Sketchups ā€œcopy-stampā€ behavior which they tried to make a standard a few versions back and had to reverse on that because it was disliked so much. I understand the point of it but it should be a preference. I want to insert something and be done with it. A simple toggle in the settings would make everybody happy.

  1. I love the ā€œReplace Selectedā€ action. Could you add another action ā€œReplace Selected (All Instances)ā€? It would make it super convenient if you have a model and need to replace all red chairs against blue chairs or something like that. I am sure there are methods for first selecting all blue chairs - but why not make it easy. :slight_smile:

Fingers crossed that you like these suggestions… :see_no_evil_monkey:

1 Like

@Cyentruk … Thx for pointing me to your plugin page… great stuff! I’m exploring the Library tool and notice that currently (7/6/25) the link to 3dsupro is broken. Can’t even navigate to it directly in a browser… looks like you hard coded this url into the extension… you may already be aware of this… but might want to take a look. :wink:

1 Like