[REQ] Component 'Name' Stripper
-
bmike, no plugin needed just a single statement entered in the Ruby Console will do the trick.
Sketchup.active_model.entities.each{|e| e.name='' if e.is_a?(Sketchup;;ComponentInstance)}Will remove any Name assigned to a component instance. The Definition Name can be changed but not erased.
-
@sdmitch said:
bmike, no plugin needed just a single statement entered in the Ruby Console will do the trick.
Sketchup.active_model.entities.each{|e| e.name='' if e.is_a?(Sketchup;;ComponentInstance)} >Will remove any Name assigned to a component instance. The Definition Name can be changed but not erased.
Thanks, will give it a go!
I don't want to mess with the definition name - but I get into trouble when someone sends me a drawing with 100 'Posts' in it, an 80 of them are different from each other. Exports out to materials lists wrong.Is there a way to 'plugin'ize this so that I can pull it down from a menu, as opposed to keeping a bit of text handy?
-
Copy this code and paste into a pure text editor program,ie Notepad, and save
it to the Sketchup Plugins folder. Execute it by choosing Name Stripper from
the plugins menu.# require 'Sketchup' # if not file_loaded?(File.basename(__FILE__)) UI.menu('Plugins').add_item('Name Stripper') { Component_Name_Stripper.doit } file_loaded(File.basename(__FILE__)) end # module Component_Name_Stripper def self.doit Sketchup.active_model.entities.each{|e| e.name='' if e.is_a?(Sketchup;;ComponentInstance)} end end -
Thank you!
I'll give it a go. Was just thinking about taking apart another .rb so I could tinker with it.
-
Did that, and this is what I get:
Error Loading File namestripper.rb undefined method ` ' for main;Object -
Looks like you have a ` rather than a ' somewhere in the code

You must use a plain-text editor - like Notepad.exe.
It can't be a wordprocessor because that will/could 'format' text breaking the tight syntax required by Ruby...
Simple select all of the code and copy its text from the code-pane and paste into the empty file... -
Hmm. Pasted it into TextEdit on the Mac. Will try something else.
-
Here's the code in a .rb - compare it with yours...
Test both in turn in the Plugins folder, with a restart...
-
Thanks Tig!
Here's what I get when I pated them both into TextEdit on the Mac:
TIG; require 'Sketchup' if not file_loaded?(File.basename(__FILE__)) UI.menu('Plugins').add_item('Name Stripper') { Component_Name_Stripper.doit } file_loaded(File.basename(__FILE__)) end module Component_Name_Stripper def self.doit Sketchup.active_model.entities.each{|e| e.name='' if e.is_a?(Sketchup;;ComponentInstance)} end end Original; # require 'Sketchup' # if not file_loaded?(File.basename(__FILE__)) UI.menu('Plugins').add_item('Name Stripper') { Component_Name_Stripper.doit } file_loaded(File.basename(__FILE__)) end # module Component_Name_Stripper def self.doit Sketchup.active_model.entities.each{|e| e.name='' if e.is_a?(Sketchup;;ComponentInstance)} end end -
Your copy is working fine directly placed in my Plugins folder... so, Thanks!
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register LoginAdvertisement