[Plugin] Component Array (Updated 27-Mar-2014)
-
The
model.definitions
returns ALL definitions - which includes components, groups and images [the last two are just special kinds of component if you think about it].
To make a list of just components loaded into the model use this...
defs=model.definitions comp_names=[] defs.each{|d|comp_names << d.name if not d.group? and not d.image?}
You then have a list of all "component" definitions in the model 'by name'...
Usejoined_names=comp_names.join("|")
for the dialog dropdown...
Later after the user has selected a component by name and pressed OK, to get a reference to that definition from the selected 'comp_name' use...
def_to_use=defs[comp_name]
much as you have done before... -
Thanks Sam! You came through as always. It would be great to see this developed even further. Perhaps adding functionality for choosing up to three different components and randomly distributing them in the array. Perhaps also an option to randomize scale. Being that this started as a vegetation plugin, those things would make it great for mass plantings. It's a nice simplified version of component spray.
-
TIG, thanks for the tip. I had worked it out a different way but I think I like your method better.
-
@earthmover said:
Thanks Sam! You came through as always. It would be great to see this developed even further. Perhaps adding functionality for choosing up to three different components and randomly distributing them in the array. Perhaps also an option to randomize scale. Being that this started as a vegetation plugin, those things would make it great for mass plantings. It's a nice simplified version of component spray.
I already did that, at least partially, it's called RandomComponentReplacement.
-
Great thanks Sam, I'll check it out. Maybe you can make a unified component tools plugin with one toolbar. I'm just being selfish and trying to make my life easier with no regard for your time. I just finished a project with 60 different kinds of plants spec'd in and it was a nightmare. No worries though, I have a few more keyboard shortcuts left.
-
Thanks again Sam.
I'm not sure if anyone else would like this to evolve anymore than it has, but I'll ask anyway!
Is it possible to have:
The result be grouped or made a component with the [quantity] x [component name] as the new group/component name.
The option of having the face and lines surrounding the selection to be removed after component array is run. Although delete key usually does a good job of this if i remember to do so after running plugin...
I could easily get carried away a few requests! Feel free to say bugger off!
I have played around with the script for use with paved areas (takes me forever... hence the requests)Thanks
-
Thanks for sharing... I guess experimentation may reveal how to best cope with tidiness (arraying strictly within, and even better, trimming to fit within bounds).
On second thought, I guess a situation where that that kind of tidiness is desired is not what this is for.
Joel is working on a remotely similar hatch plugin which is targeted to accomplish these things, but the poor guy has some kind of other life going on.
http://forums.sketchucation.com/viewtopic.php?f=323&t=38637 -
Sam,
I need to make a chain and sproket for a piece of machinery similar to a bicycle chain and sproket assembly. Which one of your plugins is most suitable for this? I have a chain link made into a component. Thank You
-
Paul, try either Component Stringer or Shape Bender, both by Chris Fulmer.
-
Thanks Earthmover. I do have Shape Bender, which is a wonderful plugin. It's just that I'm a little thick and have to re-learn how to make it work each time. Was hoping Sam had something because his plugins are always very easy to use. I am testing his Comp String plugin right now.
-
Comp String is the only thing like that that I have but don't think it will work very well since the components will need to overlap precisely.
-
Thanks Sam. Working nights now but will give Comp String another shot on my next day off.
-
Made SU2014 compatible.
-
I have added it to the PluginStore.
http://sketchucation.com/pluginstore?pln=Component_Array -
Thank you.
I was looking for a plugin that would help me "spray" a grass instance regularly on a selected surface to "fill" it up. Now I just have to randomize the rotation of the components with "scale and rotate multiple" and that would make a perfect grass -
Hello from Theo
This plugin is just about what i am looking for
we are laying steel decking for a flooring company on autocad
sketchup seems to be able to do a better job than most of the 3d cad programs about
revit the office is not interested in vector works is to bulky in its menu structure
to make you productive, and sketchup has some great add ons for detailing etcHow do i get around that fact of having to lay steel decking onto shapes that are not always rectangular on sketchup, ie taking a profile or a component made from this profile and making it fill a sketchup face of any shape.
lets know if your tool can do this or can be modified or if you know of a tool that can do this, these steel profiles are 600 wide of any length that suits its purpose,
concrete floors are poured over this once laid.many thanks regards Theo e-mail theoolifiers@gmail.com
-
@tolifiers said:
Hello from Theo
This plugin is just about what i am looking for
we are laying steel decking for a flooring company on autocad
sketchup seems to be able to do a better job than most of the 3d cad programs about
revit the office is not interested in vector works is to bulky in its menu structure
to make you productive, and sketchup has some great add ons for detailing etcHow do i get around that fact of having to lay steel decking onto shapes that are not always rectangular on sketchup, ie taking a profile or a component made from this profile and making it fill a sketchup face of any shape.
lets know if your tool can do this or can be modified or if you know of a tool that can do this, these steel profiles are 600 wide of any length that suits its purpose,
concrete floors are poured over this once laid.many thanks regards Theo e-mail theoolifiers@gmail.com
No, Component Array was not designed to do anything like that. My FloorGenerator, which accepts a width and maximum length would be the closest match. If possible, post a sample model that demonstrates what you are trying to do. I have other unpublished plugins that might be adaptable to your needs.
-
Hello from Theo
Many thanks for your reply.
Please find attached a detail and sample of steel decking
i am trying to fill an area with the steel decking shape not sure
how to go about it.I am trying to figure out the best program to make doing these drawings
easier for install and detailing, autocad has been good till now
but as always every thing is wanted faster, and i am not sure that 3d
is the answer , but so far sketchup is looking the better option
to lay decking quickly in 3d, time will tell, vectorworks is a pain to use
revit is ok, but laying decking and trying to trim it is or will be
too time consuming.
sketchup may be the best option if the shape can fill an area quickly ?there are examples of 3 different shapes as we might find on a building
area where we have to lay different styles of metal decking.its not easy to do in revit or any cad 3d program with out a lot of hassle
trimming off excess deck manually.Easy in autocad, just use trim.
3D is another story and i think sketchup will be the easiest program to do this
These steel decking sheet come in any length some span over
2 beams others 3 beams max length for handling is about 10mi am just trying to find an easy way to fill an area with the sheets
and have it automatically trim off to a defined shape.the sheets lap at 600mm length ways.
see 3d detail of some sample sheet styles and bolts to hold slab in place.
Thanks Regards Theo
-
Hello from Theo
screen image attached from autocad so you can see what this office
is doing with steel decking
we are flat out.
Regards Theo
-
Theo
Doh!!!!! I forgot to mention I'm stuck on SU2014 so I am unable to open the model posted.
The screen shot at least gives me some idea of the problem.
Advertisement