Rotate Array Elements

Next
 From:  Sharif (SR13765)
5176.1 
Hi;

Is there any script similar to ScaleArray, but rotates the elements in the array. for example when I array an object along the curve, I like to be able to rotate the elements. Perhaps can the existing array commands to be modified to have this functionality.

Thanks
-sharif
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5176.2 In reply to 5176.1 
Hi Sharif, there is no existing plug-in that I know of that does that currently - it would probably be possible to modify the ScaleArray plug-in to do rotation instead, it could be a good starting point if you wanted to look into creating a method to do that.

> Perhaps can the existing array commands to be modified to
> have this functionality.

It's a big goal to keep MoI streamlined and simple to use, and adding in too many bells and whistles directly into the main tools tends to be going against that goal since adding tons of built in stuff brings complexity and bloat.

So I'm not entirely sure that would be a good fit to incorporate directly into all the regular Array tools, that's the kind of thing that probably works better (in the sense of maintaining MoI's overall ease of use and simplicity) to have as an optional plugin like ScaleArray.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
5176.3 
Make the rotations wanted of your objects (Array circular)

Use the Array / Curve for put some points on your curve wanted

Now use MoveSlicetoPoint can help for avoid the move of the mouse to select Source to Target
http://moi3d.com/forum/index.php?webtag=MOI
You have just to make on each object: click on it / press Right click, click on it / press Right click, etc... ;)

EDITED: 6 Jun 2012 by PILOU

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5176.4 In reply to 5176.1 
Hi Sharif, also could you maybe describe a bit more about what kind of rotation you want, is it just a 2D rotation around the world z axis? Or are you talking about multiple rotations each around a different axis or possibly a rotation around an arbitrary axis like a line drawn in?

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
5176.5 
Seems there are some glitches with my method above :)
In theory must be work but...attribution of objects on point is some erratic :)

EDITED: 7 Jun 2012 by PILOU

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Sharif (SR13765)
5176.6 In reply to 5176.4 
Hi Michael;

Thanks for response! I understand your concern and I agree with you . This idea came when I saw a rhinoscript called Arraycurveplus (http://jarek-rhinoscripts.blogspot.com/2008/12/arraycrvplus-v20.html) check out the fourth video on the page (ArrayCrvPLUS - Loft Pattern example). This script has expanded the functionality of the Rhino array. I thought may be something similar can be done in with MOI script.

Thanks
-sharif
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5176.7 In reply to 5176.6 
Hi Sharif - I see - so if you want to do something specifically like the Loft pattern example there, that involves a rotation around the curve's own tangent which would not be very feasible for a post-processing script like ScaleArray to handle, at least not currently without having more access to curve evaluation from scripts. That's because the axis of rotation is not fixed, it's changing to a different axis at different locations along the curve.

But you could try a totally different method of doing a Twist on a straight object and then using Flow to map that straight object onto a curve - that might be able to give you that same kind of effect.

That would go like this - starting with these curves:



Here's a Loft to make the base object:



Then using Twist to twirl it around a single straight axis:



Then using Flow with that central axis line as the base curve, and the other curve as the target curve will produce this:



Flow can be very useful for making various kinds of patterns that go along a curve, since it allows you to construct the pattern in a totally straight version initially which tends to be much easier to arrange. Then you map that straight pattern onto the curve using Flow.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5176.8 In reply to 5176.6 
Hi Sharif,

> This script has expanded the functionality of the Rhino array. I thought may be
> something similar can be done in with MOI script.

It could be possible, but that's a really complex plug-in and so it's likely that it took the author some considerable amount of time to develop it. So that would also correspond with a long time to develop an equivalent in MoI as well, a lot more than just an hour or two, more like weeks or months probably.

Right now check out using Flow as described above, it can help a lot to get some similar kinds of stuff just with MoI's existing tools.

Or if you really do need some of the particular features which are handled by that complex plug-in it might be a good idea to use Rhino and actually use that plug-in directly to get what you need done - you can then import your object that was created in Rhino back into MoI.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5176.9 In reply to 5176.6 
Also one other note - there is a "Rigid" option in Flow too which only moves and rotates an object instead of it actually getting squished. That can be useful if you have set up a pattern of a bunch of separate object pieces and you want them to just be arranged onto the curve keeping their existing shape instead of actually warped.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
5176.10 
It's not possible to have a Copy + Rotation ?

You choose your object to copy and then at each click this one is copyed with an incremented rotation :)
(this exist in Sketchup as plugin: very practicle ;)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5176.11 In reply to 5176.10 
Hi Pilou,

> It's not possible to have a Copy + Rotation ?

It could be possible, but "rotation" is a pretty generic term - rotation actually happens around some particular axis.

From what Sharif described it sounds like he was looking for rotation around a curve tangent, but I'm not 100% certain.


> You choose your object to copy and then at each click this one is
> copyed with an incremented rotation :)

Rotation around what though?

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Sharif (SR13765)
5176.12 In reply to 5176.7 
Hi Michael;

Thanks for explanation, indeed both of those tools are powerful and great! I have used them both and you can see some examples @ (www.atelier424.com).

-sharif
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
5176.13 In reply to 5176.11 
Rotation around the Z axe is sufficient

One click = select object(s)
Input Degre of rotation
One click on the object(s) for position of this vertical axe of rotation and base point for the insertion point
then the copy + rotation can begin :)
At a click in the empty 3D space the object is drawn under the cursor


Little video by Sdmitch http://sdmitch.blogspot.fr/

EDITED: 7 Jun 2012 by PILOU

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
5176.14 In reply to 5176.13 
Hi Pilou,

> Rotation around the Z axe is sufficient

The Array Circular command can actually be used currently to copy an object by one step in z and also do a rotation around z, set the "vertical step" option as shown here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=4464.12

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Frenchy Pilou (PILOU)
5176.15 In reply to 5176.14 
Yes but can't click anywhere you want at each click ;)
Despite of the fact that you put them on any curves or surface with crazy rotations
It's an easy way for make a sort of controled randomise placement objects without effort!
All is made only with this function!
;)

EDITED: 22 Jul 2019 by PILOU

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All