Defining a plane for mirroring

unhandled

(Joe Babb) #1

I know how to mirror things in Rhino via the Transform->Mirror command. Now I’m trying to programatically define the mirror plane in Gh. I found the Mirror component. There is a parameter plane and other planes. I’ve tried two or three without success. I want a mirror plane at a specific angle. It would be very nice to be able to move and tilt the plane via a slider or two. Any suggestions for which way to do this?


(Michael Pryor) #2

Rotate a plane with one of the rotate components.


#3

rotate_plane


(Joe Babb) #4

Thanks guys. I’ll chew on that for a while and see where I get.


#5

Note that in the example I posted, the Rotate ‘P’ (Plane) input uses the default ‘World XY’ plane, so the ‘YZ’ plane used by Mirror is rotated around the ‘Z’ axis of ‘World XY’.


(Joe Babb) #6

Okay. I’m learning by doing here. Hope you folks are patient with me. I tried something simple here shown by yz-plane-exp.gh (5.0 KB)


I am surprised that when I change the MD slider, the plane moves in the X direction. I expected it to move in the Y and Z direction since it was a YZ plane component and the input is the origin of the plane. What I want for the particular thing I’m doing at the moment is to have a mirror plane basically be YZ but be able to position it in Z and X and be able to rotate it around the Y axis. Is there a good way to understand how to do that?


#7

The origin point of all planes is based on ‘World XY’ coordinates.

move_plane

move_plane2


(Joe Babb) #8

thanks. I see what you’ve done. I’m getting closer. I found a “rotate around an axis” component. Now I’m looking for the way to make the axis track the origin position. I want the axis to run in the Y direction. I could create a vector for an axis. Is there a better way?


#9

Oh my. Yes, there are many ways…

I’m not sure what that means? Any rotate component can be used to rotate a plane: Rotate Plane (around it’s own ‘Z’ axis), Rotate Axis, Rotate 3D or plain simple Rotate.

You can use Deconstruct Plane to obtain the X, Y and Z vectors for any plane; they change when the plane is rotated… You just need to be fearless and explore more combinations to see what happens.


(Joe Babb) #10

Hey, I think this works.
yz-plane-exp-rotate.gh (14.2 KB)


#11

I would get the same results this way:

yz-plane-exp-rotat_2018Apr9a
yz-plane-exp-rotat_2018Apr9a.gh (7.9 KB)


(Joe Babb) #12

Thank you so much. I’ll add that to my example files. I did get the thing to work and added it to my basic scrolls program. It’s so cool I have to share it. It’s not finished by any means. It’s a work in progress.
reflected-scrolls-0918apr.gh (18.7 KB)
there’s a lot of clean up to do, but pretty excited that it actually does what I wanted.


#13

Cool. Honestly though, creating the scroll curve is the main thing here, eh? Mirroring it is really no big deal.


(Joe Babb) #14

Yes, the scroll is the main thing, but I wanted to mirror the scroll and adjust the second one’s position for a particular design. It’s going to make my life a lot easier doing the design. Mirroring isn’t a big deal now that I understand it better.


(Joe Babb) #15

Here’s one result.


pretty neat.


(Michael Pryor) #16

I have a component I’ll be releasing in a day or two you will love. Will post here when I do.


(Joe Babb) #17

thanks, Michael. I look forward to trying it.
Joe