BILT Speaker

BILT Speaker
RevitCat - Revit Consultant
Showing posts with label data. Show all posts
Showing posts with label data. Show all posts

Wednesday, 24 November 2021

Revit Mirror Command is So Not BIM

 What is one of the first things that you teach people who are moving from Autocad to Revit?

"When making changes in Revit, DO NOT delete and replace elements - you should always modify the original elements even if it takes longer" 

Why is that?  Because you never know what data or hosted elements are attached to existing elements - so if you "Delete and Replace" you might lose the data or hosted elements.

  • What does the middle initial of BIM stand for?  "Information".
  • Without "Information" you are just working with a 3D Building Model

Revit Mirror Command

Revit is a BIM program, Right?

So you would imagine that it's fundamental command structure would work towards maintaining the BIM concept?

Unfortunately the "Mirror" Command in Revit doesn't follow the BIM rules.

It does not just mirror the selected element(s) - it copies and deletes original, even when Copy is unticked.

  • Select an element
  • Check it's Element ID

  • Mirror the element (with "Copy" unticked)
  • Check the Element ID of the mirrored element
  • Aargh, it is different

So what?  Well, it is just not BIM !


What does this Mean for your model?

Cut elements are no longer cut when mirrored

Joined elements are no longer joined when mirrored

etc

To test this:

  • Create a new family that has "Cut with Voids When Loaded" enabled:

  • Place a solid and void in the family (not intersecting each other)

  • Load the family into a project
  • Place a component where it intersects with another element (in this example, a wall of the same material)
  • Join the component and the other element (wall)
  • Cut the component and the other element (wall)
  • Mirror the component (No copy)
  • Component is no longer joined or cut

Compare to other Revit Commands

  • Undo the mirror command
  • Test the Move and Rotate commands (no copy)
  • Join and Cut are maintained


These commands are BIM compliant - original elements are manipulated

Hosted Elements are Deleted by Mirror Command

  • Add a dimension (or tag) to the component
  • Mirror (no copy) the component
  • If you are lucky you might get a warning about the impending loss of the hosted dimension


What to Do?  Is there a Workaround?

The first thing to do is to contact Autodesk and request that they fix this un-BIM-like behaviour

Despite this problem having existed for over 20 years, it will surely be fixed promptly for you if you ask nicely.

In the meantime . . . . .

There is another way to mirror components in Revit:

 

Control the Mirror Command

Families can have their own built-in mirror/flip controls.

In the family editor, place a "Control"




  • Reload the family
  • Select the component
  • Check its Element ID


  • Click on the Mirror control
  • The component will flip around its origin point
  • Check the Element ID
  • Woohoo - it is the same! 
  • And the Join and Cut are maintained

 

Flipping Hosts

Test the flipping control with a hosted element (dimension)

  •  It is not guaranteed to maintain the dimension, but you have a much better chance

Conclusion

Is this going to help you?

Maybe:

  • Obviously it only allows you to flip components one by one.
  • As the flip controls will mirror about the component origin, it may not end up exactly where you need it - but you can then move it

  • It will try to maintain any cutting and joining that you have done
  • It may warn you that joined elements no longer intersect - and you should have the option to unjoin or maintain the join (if the elements will later intersect again)
  • I have not tested the implications for Dynamo - I have no idea if it is possible to access the flip controls within Dynamo.

Revit Ideas Wishlist

There are already a couple of ideas relating to this on the Autodesk Revit Ideas Wishlist

Mirror Not Copy (for mechanical elements but applies to all)

MirrorElement Not Copy API


Thursday, 2 November 2017

Weird Stuff with Revit Shared Parameters

When you create a suite of similar parametric families (say windows), you will define a series of parameters that control the families in the project - it may be dimensions, visibility switches etc.  If those are instance parameter, there is a really important choice you have to make:

  • Should they be "Shared Parameters" or just regular "Family Parameters"?

Conventional wisdom says that you only need to make them shared if you want to tag or schedule them in the project.  However, there are some other critical differences in behaviour that may affect your decision:

Did you know that when you make them 'Family Parameters', then start using the families in the project and swap them over for similar families with identical parameters - Revit loses the  data held in the instance parameters - even if the instance parameters are identically named in the families?  Aargh!!  That is not good news.  This even happens if the families were cloned from one source that already had the parameters set up.

However, if you used 'Shared Parameters' that instance property data is maintained when you swap family/types (provided that the same shared parameters are defined in each of the families).

Here is another reason for using shared parameters even when you don't need to tag or schedule them.