Auto make multiple group or component
-
Hey Guys I tried the code and made the simple txt file into an .rb and created a plugin folder in which it read the rb fine when I went into the ruby console and typed the command. All the selected components were created but when I make components on my own, the axis is offset. I noticed this when I made a cultist and the thickness was all over the place. So basically, this particular ruby has some defaulted off-axis setting for components. When I create my own components from solids to rename manually (since I don't want to use "component #1, ...) as my cultist names, it still is offset and the component boundary is larger than the actual edges of the solid instead of reading the actual volume corners and faces properly.
When I went into the library support (using an iMac with Mavericks), and deleted the .rb file, the components read the axis' correctly when I closed sketch up and then reloaded the file.
Just wanted to share my experience with it so far. It creates components great! Just every other "new" manual component is off axis and seems to have to be set manually. Solids with angles, like 45s in the corners etc do not work well with resetting axis' manually when this script is in the plugins.
Sometime I would like to be able to use this plugin idea and auto create the component description as the text information that is attached to it! That would be amazing!
I will help you diagnose this if you like and be a test dummy if you want
I hope that is enough information to help and appreciate the help if you can
-
I've just tried this on SketchUp 2015 and I get the attached error. Does it work on 2015?
If it's not 2015 compatibility at issue then it could be encoding. I created the file in Notepad, which I've also attached. I chose UTF8 encoding however I couldn't see an option for "without-BOM [Notepad++.exe encoding>convert option]". I'm not familiar with coding so I don't really know what this is.
Tig, Ideally it would be good to have this as a standard plugin which could be autoinstalled.
-
Use Notepad++ to convert the file's encoding to
UTF-8_without_BOM
and save it.
It IS a standard encoding format in the list.
That is the encoding format required in > v2013, it also works in earlier versions.Attached is the converted .rb, BUT please check how to do it yourself...TIG-selected_connected_into_components.rb
To make it easily installable simply ZIP the RB fie, then rename the file-type suffix from .zip to .rbz...
Again I have attached one, BUT once again, please check how to do it yourself...TIG-selected_connected_into_components.rbz -
Thanks TIG that's great. The problem was that I was using Microsoft Notepad and not Notepad++ which I had to download.
Regarding the installable file, does it create a menu item anywhere? I can't see any. It would be good if you could select the geometry, then either right click or click a menu item under Extensions which would make the multiple components, rather than having to paste into the Ruby console each time. It's no big deal however as the fact that I can do it all is a massive time saver, so thanks again for creating it.
-
If you read the usage it runs from the Ruby Console with
TIG.selected_connected_into_components
It's easy enough to add a menu item...
Edit the file using Notepad++ and at near start findmodule TIG
Immediately after it, insert these new lines.unless file_loaded?(__FILE__) UI.menu("Plugins").add_item("TIG.selected_connected_into_components"){self.selected_connected_into_components()} file_loaded(__FILE__) end
Save it and restart SketchUp to reload...
-
Excellent, thanks again TIG.
-
thank you TIG.. but in my case i want to group every face in the model.
for example: i have 63 face in a sofa model. i want 63 seperate group/component in one click.
for your ruby script, it only make component touching all faces.
how can i achieve that?
-
Copy+Paste the one-liner below into a Notepad++ file.
The reason for that is so you can edit the start partn="???"
, this sets the name of each group Face#1, Face#2 etc... If you are processing several parts it might be useful to have differing names ? They list in the Outliner in alphanumerical order.Select what you want to separate into groups - only faces are processed so no need to be too careful, just ensure the faces you want to group are included.
Copy all of the text.
Open the Ruby Console.
Paste the text.
Press <enter>.Now all selected faces are made into separate groups.
It is one step undo-able...n="Face";m=Sketchup.active_model;s=m.selection;fs=s.grep(Sketchup;;Face);s.clear;a=m.active_entities;m.start_operation("~",true);fs.each_with_index{|f,i|g=a.add_group(f);g.name="#{n}##{i+1}"};m.commit_operation
-
it works perfectly!! thank you so much! you save my day
-
great thanks!!!
-
Great plugin!
Saved my time for hundreds of separated objects to group/component!
Thanks! -
Took me a few goes to get it running but got there! This is just what I needed. Huge thanks, Tig.
-
this is such a great time saver for tricky situations. thanks!
Has this ever been officially made into a plugin for the masses?
thanks,
bob -
Hello;
I've tried several times but it doesn't work. I don't understand where is my fault .
I cannot see any shortcutI use SU 17 thanks for helping
-
@ozansahin said:
I use SU 17 thanks for helping
fix it in your bio (currently showing SU8) then you wouldn't have to remember to type it
-
It works perfectly. your are god TIG
-
hello,
I am looking to generate Groups instead of Components as output, also sometimes the components generated by the script are pieces of the same whole element, for example a chair is autogenerated in components separately by each leg, arm, rest but all of them must be the same group. It is like a nested components
Advertisement