Showing posts with label Rotate. Show all posts
Showing posts with label Rotate. Show all posts

Saturday, November 30, 2019

Work Plane Based Families and Rotate w Copy

I participated in a thread at Autodesk's Revit forum and it took me far too long to catch on to the issue described at the outset. I should have retraced the thread sooner, but I did get there eventually.

I'm referring to the Rotate tool and its Copy option, this...


The issue boils down to this: the Rotate with Copy option works/affects a Work Plane-Based (and face-based) family differently than when a family is merely hosted by a Level (all non "based" families). Let's start here, imagine I want two screens on my desk like this.


These are stock families: TV - Flat Screen.rfa and Desk.rfa The desk has a top surface that isn't visible in plan view so it can't act as a face to host the TV. I changed that. The TV isn't a work plane-based family. In a plan view, when I place it on the desk it ends up eaten by the desk because it looks like this in a 3D view.


Sure, I can use its Elevation from Level parameter to put it on the desk (an illusion of a relationship). When I move the desk I need to remember to select the TV too (or make a group...or...I digress). I get the clever idea, "Make this family Work Plane-Based, that's easy!"


Using Rotate with Copy should give me the result I want in the first image and it does until I check the box for Work Plane-Based. The angle I decide I want between the screens is 22.5 degrees. I added a couple reference planes for the images to help see what happens, the desired result.


That's what I want except that they should be hosted by the desk, not relying on using the Elevation from Level parameter. When I use Rotate with the Copy option after editing the TV family to make it Work Plane-Based (also Always Vertical is checked) I get this result.


Notice the TV angle itself is correct but it's location is wrong...and a warning message appeared to help me notice... It's been moved/copied by double the input value of 22.5 degrees using the origin of rotation correctly and managed to maintain the angle I wanted. This next image summarizes what happened.


That's weird enough on its own but I can go weird by one more, un-check the TV's Always Vertical parameter. After running through the exercise again I get this outcome.


This time it applied the rotation input angle of 22.5 degrees x 2 = 45 degrees to both rotating the family and its position. This time it did it fully wrong while the previous time it only did it half wrong.

Introduce a Floor, instead of a desk family, into the mix and place the TV family before it is Work Plane-Base with Always Vertical and this happens. No rotation, just copy and in the same place no less.


When the TV family is Work Plane-Based and Always Vertical is used then it works wrong in the same way as relying on the desk's face as the host did.

I imagine Revit is attempting to relate the rotation and copy actions to the family's host, since that is the work plane the family is hosted by. Clearly it is unable to do so properly. I think it is reasonable to expect to get the same result whether level based or work plane-based. This post and the images are from using Revit 2020.2 but I did the same things in Revit 2016 with the same results. This has been around for quite awhile now.

If it is any consolation, the Mirror and Polar Array tools don't suffer from this malady but each have their own prep work required to make them a ready replacement.

Wednesday, April 22, 2015

Wish - Copy, Rotate and Mirror Sub Elements

I really wish I could copy Split Line or Point while using Modify Sub Elements. It's really quite silly that I have to sketch or pick to place these things over and over (and this is a 2016 image...so no joy there either).



Tuesday, November 12, 2013

Rotate Tool

When we start the rotate tool the first task is to decide if the origin of the rotation is correct. Revit usually places the origin at the center of the extents of the selected elements. Put another way it's rarely where we really want it, but then how could it really know what I want. We've got three techniques to choose from to put the origin where we want it:
  • Place button (Options Bar)
  • Space Bar (equal to clicking Place button)
  • Click + Drag the origin icon.


Using the Place button or Space bar we just have to click where the origin ought to be. Using Click + Drag we need to click on the origin icon (left mouse button), click + drag it to the correct location.

Once we're satisfied with the origin we can enter a specific angle value on the Options Bar and press the Enter key. The rotation uses a counter-clockwise rotation from 0 through 360 degrees. Entering 45 degrees will cause this wall to end up like this. To get the reverse we just provide a negative value instead.


If we prefer a more visual approach we can rotate by defining an angle with two clicks. The first pick/click defines the start ray of an angle and the second the end ray. If we know the angle value we can just type the value after the first click (start ray), the listening dimension that appears when we move our cursor away from the start ray will accept the value. If we are attempting to rotate elements based on other elements then we just need to click on them with the start and end ray pick/clicks.


An often overlooked option is Copy, located on the Options Bar. This turns Rotate into Rotate AND Copy. Just remember to check the box for Copy before you make your last Pick/Click to define the angle of rotation. Edit: Andreas reminded me in a comment that we can activate the Copy option by pressing the CTRL key. Lot's of subtle options for just one little command eh?


Tuesday, November 11, 2008

Dept. of Subtle - Room Tag - Rotation

Matt Pettengell with Athfield Architects Limited in New Zealand wrote to me suggesting this subtle feature. From Revit Help!


Note the last item..."or rotate to a specified angle"? Yes, this means you can use the rotate tool on room tags! It would be very nice if we had this option on other tags too!

Thanks for the suggestion Matt!