Multiple symmetry update  1-20  21-39

Next
 From:  TOM (SIRTOM)
7888.1 
Hi,

I need to create a couple of objects each made up from 6 or more identical symmetry objects
- think of a caleidoscope.

To see the changes made in one curve updating in real time in all objects I used several symmetry
commands instead of the array command as objects created by the symmetry commad will update automatically
if I make a change in the master object / curve.

But what if I want add a new curve to the master object ? I need to create 6 symmetry objects again and
again for the several dozens of curves needed to build up the final shape.

So here my question : Is there a way of automating this process by just one command / is there something
like a radial symmetry / caleidoscope script somewhere ?!
Image Attachments:
Size: 213.2 KB, Downloaded: 101 times, Dimensions: 1446x1144px
  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)
7888.2 In reply to 7888.1 
As Object system is not yet created you must make some tricky things!
Try Scale array, Array individual, Explode Move etc...
and the amazing Elephant by Max Smirnov!
This las t one must make what that you want! ;)
But you must make some thinking reflexions!
  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:  bemfarmer
7888.3 In reply to 7888.1 
This question is much like my thinking of the last few days.
I am attempting an unfolding of objects using the rotate axis command.
A mirror of a cube will mirror mimic the rotation of the parent cube.
I was wondering how mirror works to maintain the connection with the parent?
History must have a roll.
With the rotate axis command, I am also uncertain which direction, "Clockwise" or "Counterclockwise," the rotation will occur?

- Brian
  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:  TOM (SIRTOM)
7888.4 In reply to 7888.2 
Well it works with several instances of symmetry commands but this way MOI will only update existing curves - if
I add new ones I have to create a new array of symmetries. Will have a look at the elephant ;-) thank you 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:  bemfarmer
7888.5 In reply to 7888.1 
So for a hexagon set, modify the mirror command to repeat 5 times, after the center point is selected once.
Select the number of copies in a integer selection box to six. (6-1 = 5)
Mirror points will be at 30, 60, 90, 120, and 150 degrees.

- B
  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:  TOM (SIRTOM)
7888.6 In reply to 7888.5 
Hi Bem,

I managed to changed the array count from 8 to 3 without any knowledge but have to confess
that in this case I will need a little more advice. Here is the textfile - whre should I insert what.
Thanks a lot -T-

<html xmlns:moi>
<head>
<link rel="stylesheet" href="moi://ui/moi.css" type="text/css">
</head>

<body class="commandbody">

<moi:Text textid="Mirror select prompt">

<moi:Text textid="Mirror start point prompt">

<moi:Text textid="Mirror end point prompt">




<moi:CheckButton id="deleteinputs"><moi:Text textid="Delete input objects"></moi:CheckButton>


<moi:CommandDoneCancel>
</body>
</html>
  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
7888.7 In reply to 7888.1 
Hi Tom, I don't know of any existing script to do that, but it's certainly possible to create one.

Like Pilou mentions above, it's probably easiest for you to create one yourself using the Elephant node editing approach, it's easier to get going with that than writing regular scripts.

I've attached a version using regular scripting that does it, by using the Rotate command with "Make copies" set to true 6 times and setting history updates to be turned on for the generated objects. (note it requires MoI version 3)

EDIT: new version attached, fixed bug with one set of duplicated curves. Also see below in this thread for a version that combines a mirror first then followed by the rotated copies.

- Michael

EDITED: 22 Mar 2016 by MICHAEL GIBSON

Attachments:

  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
7888.8 In reply to 7888.3 
Hi Brian,

> A mirror of a cube will mirror mimic the rotation of the parent cube.
> I was wondering how mirror works to maintain the connection with the parent?

It uses the history update mechanism - Mirror is one of the commands that by default sets the generated objects to have history updates turned on.

You can turn it on for the output of rotate axis by selecting the objects and running Edit > History > "Enable updates", or programmatically by setting the obj.updateWithHistory = true on the output objects, see the above attached script for an example.


> With the rotate axis command, I am also uncertain which direction, "Clockwise" or "Counterclockwise,"
> the rotation will occur?

It's determined by the orientation of the axis line, following the "right hand rule":
https://en.wikipedia.org/wiki/Right-hand_rule

If you make a fist with your right hand with the thumb pointing up along the direction of the axis line (the bottom of your fist at the start point, the top of your thumb towards the end point of the axis), then the rotation direction will follow the direction your fingers curl 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:  Michael Gibson
7888.9 In reply to 7888.6 
Hi Tom,

> Here is the textfile - whre should I insert what.

It looks like you're trying to edit the .htm file there - that contains the definition of all the UI controls like the prompts and push buttons and things like that.

You're probably more interested in editing the .js file which contains the script logic for the command.

Anyway, I've attached above a new command script which I think does what you need, copy it into your commands folder and try running it.

- 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:  bemfarmer
7888.10 In reply to 7888.8 
Thank you Michael,
Just like Electromagnetism.

- Brian
  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:  TOM (SIRTOM)
7888.11 In reply to 7888.9 
" I've attached a version using regular scripting that does it, by using the Rotate command with "Make copies" set to true 6 times and setting history updates to be turned on for the generated objects. "

Wow what support thank you so much for taking the time ! Well it does work with V2 too as I see.

""It looks like you're trying to edit the .htm file there - that contains the definition of all the UI controls like the prompts and push buttons and things like that:""

I took a look at the html file as I managed to achieve changes by editing the html before in the circular array html :

Thanks again to you guys the support in this forum is the best I can think of -T-
<moi:Text textid="ArrayCircular item count label"> <input id="NumItems" default="3" class="unsignedintegerinput inputwidth">

EDITED: 22 Mar 2016 by SIRTOM

  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
7888.12 In reply to 7888.10 
@Brian - no problem!

@Tom - I think I missed a part of what you were looking for, try the attached version which first does a mirror around the world Y axis, then generates the rotated copies (the previous version also accidentally made one extra copy too).

So it will make a history setup that will work like this:



- 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
7888.13 In reply to 7888.11 
Hi Tom,

> I took a look at the html file as I managed to achieve changes by
> editing the html before in the circular array html :

Oh yeah, for changing the default value of the ArrayCircular UI control that is where you want to go. Sorry I thought you were trying to do something else.

But I think the second script above should finally do the kind of symmetry that you were looking for.

(and I accidentally edited your message above when I was trying to post this one)...

- 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:  TOM (SIRTOM)
7888.14 In reply to 7888.12 
I noticed that there was a copy of curves and just deleted them. Perfect - it does even create symmetry automatically now?!
Have to try tHE update immediately. Thanks for the update !
  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)
7888.15 
If you take view Points and move points history is broken with this Script : that's normal ?

EDITED: 23 Mar 2016 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
7888.16 In reply to 7888.15 
Hi Pilou,

> If you take view Points and move points history is broken
> with this Script : that's normal ?

Well it depends on which particular curves you were editing. You should be editing the original curves and then all the generated ones will update. History will only be broken if you edit one of the generated curves instead of the original one, is that what you were trying?

Here is an example of editing the control points of the original curve:



- 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)
7888.17 
Sorry I don't know what i made: all works fine now!
Maybe I have pressed the History button in false position after the MirrorRotateHistoryArray...

  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)
7888.18 
What about the number of copy rotation itself ?
If I modify it (with a text editor) that change the Angle, but not the apparently original 12 result !
Say I want 5 result for example???
  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
7888.19 In reply to 7888.18 
Hi Pilou,

re:
> What about the number of copy rotation itself ?

There's one line of code that controls that, on line 26:

code:
	var numcopies = 6;


If you want to have 5 copies around the circle edit that line to say this instead:

code:
	var numcopies = 5;



re:
> If I modify it (with a text editor) that change the Angle

Don't modify the angle, modify the line above the angle that sets the number of copies. The angle is automatically computed based on the number of copies.


> Say I want 5 result for example???

You mean 5 copies rotated around and not any mirroring? That's what the first script in this thread did, it didn't do the mirroring step, it did rotation only, so try that. It's in this same thread here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=7888.7

If that's not what you're trying to do could you try to describe it a bit more?

- 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)
7888.20 In reply to 7888.19 
Perfect! (if we accept to have the Editor Text open in the same time! ;)

All that will be not necessary when Object Components System will be made! :)
I have my 5 objects!

EDITED: 24 Mar 2016 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

 

 
Show messages:  1-20  21-39