[plugin]Random replacement of components
-
In response to http://forums.sketchucation.com/viewtopic.php?f=323&t=37434 and others, I have written a plugin to accomplish this given two sets of components, a source set and a target set. These sets are identified by giving all the members of the set the same component name. Components also have a definition name which is what is entered when the component is created. The component name is displayed and can be assigned in the Entity Info panel. The appearence of a component is determined by the definition assigned to it by the definition name. If a sub-set of target components are pre-selected, then only those will be randomly changed.
-
is it possible to use this script to create custom set of trees ?
-
Like a building construction game yes
just careful that all connections between parts is good managed
But seems it's a painful work to divide a tree in small parts
then create some variations for all these tree's partsBut if you want remplace just all one tree by another tree no problem
you will have different forest at each launch -
Man, that's great! Thanks to sdmitch!
Thanks to Pilou for this tut- even if i didn't really get it..yet.
I'll give it a try asap.
How are the components replaced? By replacing it a the origin of axis within each component?
Is it possible to add random scale and orientation as well (like for scattering trees)?
Looks nice already!
-
@unknownuser said:
How are the components replaced? By replacing it a the origin of axis within each component?
I believe Yes
@unknownuser said:
Is it possible to add random scale and orientation as well (like for scattering trees)?
I believe you can use some existing plugs for this at the end of the process
Like Random select by TIG
and then make some Scale or Rotation / Move- in the same time Scale and Rotate mutiple who has randomly feature inside by Chris Fullmer
Or with only the plug make a familly of trees with different Sizes and Rotations
-
Thank you Sam ...good plugin. Maybe this cod of tig for renaming the components could be integrated in your plugin,
so not to waste time on renaming. -
First, there is no reason the change the component.definition.name only the component.name which is the only thing that the plugin checks for. If you select those components that you want to use as the Source set then, from the ruby console, "Sketchup.active_model.selection.each{|c| c.name='Source'}" will properly identify them as the Source set. Substitute 'Target' for 'Source' to identify the selected Target set.
-
I will change again my tut
PS You can make the same for Target's Components
"Sketchup.active_model.selection.each{|c| c.name='Target'}" -
Pilou, Thanks again for providing the tutorial. It looks perfect!!!
-
In fact that is some redundant with the use of the Dialog box Info for rename a group of components!
-
Little teaser
The 24 position Plug always by Sdmitch will be released in a few time!
A very pleasant plug! -
@sdmitch said:
In response to http://forums.sketchucation.com/viewtopic.php?f=323&t=37434 and others, I have written a plugin to accomplish this given two sets of components, a source set and a target set. These sets are identified by giving all the members of the set the same component name. Components also have a definition name which is what is entered when the component is created. The component name is displayed and can be assigned in the Entity Info panel. The appearence of a component is determined by the definition assigned to it by the definition name. If a sub-set of target components are pre-selected, then only those will be randomly changed.
it would be great if the plugin's author could explain how to use it or, better still, post a tutorial showing it.
sorry, pilou, but yours is not that clear to me.
-
@Edson ("Definition Name" and "Name" are two distinc thing in a component)
select some components with different "Definition Name" in any position
Give the "Name" Source to these selection with the Info Dialog boxDraw another one component: Draw copy past it anywhere you want in any position
Select all these copies
Give the "Name" Target to the all selection copies with the Info Dialog boxlaunch the plugin Random Replacement
I can't be more clear(the 24 positions is another plugin not yet released
-
@unknownuser said:
@Edson ("Definition Name" and "Name" are two distinc thing in a component)
select some components with different "Definition Name" in any position
Give the "Name" Source to these selection with the Info Dialog boxDraw another one component: Draw copy past it anywhere you want in any position
Select all these copies
Give the "Name" Target to the all selection copies with the Info Dialog boxlaunch the plugin Random Replacement
I can't be more clear(the 24 positions is another plugin not yet released
thanks, pilou. you are right: in writing, the explanation is very clear.
I have been asking for a similar plugin for a long time but no one seemed willing to create one. for me it will be very useful to randomize vegetation and windows (closed, open, half this, half that, etc).
a comment though: one does not necessarily have to name the source components source and the target ones target for the plugin to work. first I named them as you suggested and then I named them 1 and 2. the plugin worked in both situations. so, as long as there is a named source group and a named target group it works fine.
-
No, Source and Target are not nescessary names
It's just these given by default in the dialog box
you can put any names you want (of course these that you have yet renamed your components in the Info Box
But carreful it's sensitive cases !!! -
-
there are many uses for this plugin.
for example... think of 3D tiles on a roof. Each tile is a component. But the roof gets so artificial, with all the tiles exactly the same color, no stains, etc. With this plugin, you would be able to, for example, create some 10 different roof tiles, each of them a slight different color variation, some stains, etc. And randomly replace the original components along the entire roof.
another possibility: a building with a glass façade. Real such buildings will have curtains/blinds behind the windows. Make the the building with window components. The random replace them with OTHER window components, each window component with blinds in different positions (no blinds, blinds half way pulled, pulled down completely)
there are so many uses!!!
-
Thhank you Sdmitch
-
Sdmitch has made a new variant with no Random integrated!
(see second post for more precsion of use
-
A little tut
No limite of number of any components source or target!
You can name all your source components by hand but it's painfull when you have numerous!
So a little trick
Just select Components source and copy this in the ruby console
Sketchup.active_model.selection.each{|c| c.name='Source'}
Your source components are now named "Source"
You can make the same for Target Component
Just select Components source and copy this in the ruby console
Sketchup.active_model.selection.each{|c| c.name='Target'}Edit : In fact for the rename Source and Target you can make the just with the Entity Info Box!
You can now use the random plug (click for zoom)
Of course it's infinite possibilities
You can fill the space with no periodic infinite volumes
you can play with this speedy oneEdit 31 May 2012
A new variant without random is integrated!
Advertisement