BILT Speaker

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

Saturday, 17 April 2021

Cut with Voids When Loaded - 'Cuts Geometry' Postscript

Following my earlier blog post on Cut with Void When Loaded in Revit, I have discovered another subtle exception to the rule:

It does not work properly with the new Revit 2021 feature "Void Cuts in Family Geometry" that allows you to turn the 'cutting capability' voids on/off in a family.  NB. This is sometimes referred to as turning off Void visibility, which is misleading.

Void in Family Editor

Here is a workflow that demonstrates the confusing behaviour:

  • In the family editor, create a new Generic Model family
  • Tick the 'Cuts with Void When loaded' family property
  • Create a solid with two more intersecting solids
  • Change the two outside solids to voids 
  • The voids will not cut the solid - this is a deliberate technique to carefully control what cuts what
  • Use the 'Cut' command to cut one of the voids from the solid (only one)
  • Select the visible void and link its 'Cut Geometry' property to a parameter - say "Cut Rect"
  • Select the invisible void (that is cutting the solid)
  • link its 'Cut Geometry' property to another parameter - say "Cut Cylinder"
  • In theory, this should allow you to turn off 'cutting capability' of each void independently, once in the project - and hence whether they cut or not.

Test this in the Family Editor

  • With both voids 'cuttable', the cylinder cuts but the rectangular void does not (as expected) - this is because the rectangular void was never told to cut the solid, so it has no effect in the family


  • Turn off the 'cutting capability' of the cylinder - it no longer cuts the solid;  it actually becomes visible, which may seem contradictory - but that is typical Revit behaviour (voids not cutting anything show orange;  voids already cutting a solid disappear)

Switch the cutting properties around so the cylinder can cut but the rectangular cannot - visually it looks the same as having both properties ticked.


 Voids in the Project

From my earlier blog post on Cut with Void When Loaded in Revit, we know that in order for it to work in a project, the cutting void must be set to not actually cut anything in the family - as the rectangular void is set up.
 
  • Load the family into a project

  • Place the family onto an element that it intersect with
  • Both 'Cut Geometry' checkboxes ticked

  • Untick both checkboxes, so the cylinder void is no longer cutting the family solid (rectangular void does not cut it regardless)
  • Both voids are ghosted when the family is selected, or in pre-selection

  • Use the project 'Cut geometry' command with the host element and family
  • Both voids will cut the host element (neither void is cutting the family solid)


  • Tick the 'Cut Rect' checkbox -
    • The cylinder is not cutting the family solid, so it cuts the host element in the project (this may not be what you want, but it cannot be avoided!)
    • the rectangular void is not cutting the family void, so it cuts the host


  • Tick both boxes - only the rectangular void cuts the host (as it is not cutting the family solid)
    • The cylinder now cuts the family solid but not the host (and is no longer visibly ghosted)

Conclusion

  • If the void cuts a solid in the family, it cannot cut an element in the project using the 'Cuts with Void When loaded' family property
  • If the void cuts a solid in the family,the new (in v2021) 'Cut Geometry' property has the potential to work in a project
  • If the void does not cut a solid in the family, it can cut an element in the project using the 'Cuts with Void When loaded' family property - but only when you use the 'Cut' command in the project
  • If the void does not cut a solid in the family,the new (in v2021) 'Cut Geometry' property has absolutely no effect in the project

This probably makes sense if you think really hard about decisions the programmers had to make about what is possible and how it might work.

However, it is mighty confusing for the end user.

To make matters worse, we now have two entirely different 'Cut Geometry' functions in Revit:

  • 'Cut Geometry' property in the family - a checkbox
  • 'Cut Geometry' command:
    • in the family- where you actively select which elements cut each other
    • in the project - where you actively select which family cuts which element but the results depend on all kinds of things in the family (as described above).

All clear now?  Or still confused?




Saturday, 20 February 2021

Cut with Voids when Loaded in Revit

When this new feature appeared in Revit about 10 years ago (v2012?), it was always a bit mysterious - it had many confusing restrictions about how and when you could use it

So, what is this family property that shows up in the Family Editor in Revit?

Autodesk Help in v2021:

"Cut with Voids When Loaded: When selected, voids created in the family will cut through solids. The following categories can be cut by voids: ceilings, floors, generic models, roofs, structural columns, structural foundations, structural framing, and walls."

That's it - all the help you will get from Autodesk on this one!  It hardly explains much about how to use it.  If you dig deep you might find more information - but there is no link to it.  

It is inaccurate in that it says "voids . . . will cut through solids".  It should say "may cut. . . "
It is also not up to date with its category list.

In Revit the tool-tip is pretty much the same, although it does at least have a diagram that shows why you might want to use it:

This is a classic example of inconsistency in help and tooltips.  I remember during beta testing that we asked for the ability to cut holes in worktops using this new feature - worktops are usually in the "Casework" category, which was not included in the list of cuttable categories.  Luckily it was added as a further enhancement a year or two later - but Casework does not appear in any lists from Autodesk, even though it was used in this illustration.

[Edit] If you dig deeper in the Autodesk Help files under 'Cut Geometry' , it does have an updated list of categories that can be cut by this method:

 "You can cut objects in a project when a family with unattached voids is loaded.

Objects that can be cut include: Walls, Floors, Roofs, Ceilings, and Structural Framing, Structural Columns, Structural Foundations, Casework, Furniture, Specialty Equipment, and Generic Models."

I recently had a requirement to use this "new" feature in a Revit family - but I could not get it to work.  So I decided to revisit exactly how to make it work:

How does it work?

  • A void form has to be created in a Revit family

  • Tick the "Cut with Voids When Loaded" checkbox in the family parameters
  • The category of the family is not relevant to this feature

  • Load the family into a project
  • Place the family in the project in a location where the void intersects with an element in the model


 

  • The element will not be automatically cut
  • Use the "Cut Geometry" command

  • Select the element to be cut, then the family with the void in it
 
  • The element may or may not be cut, depending on the following rules:

Rules and Exceptions

  • The element to be cut must be of one of the following categories:
    • Casework (not listed in the help file or tooltip),
    • Ceilings, 
    • Floors, 
    • Furniture (not listed in the help file or tooltip),
    • Generic models, 
    • Roofs,
    • Specialty Equipment (not listed in the help file or tooltip),
    • Structural columns, 
    • Structural foundations, 
    • Structural framing,
    • Walls
  • The void in the family must not be cutting anything in the family - this is the rule that caught me out recently.  To get around it I had to create two voids:
    • The first one to cut elements in the family
    • The second one to cut elements in the project 
      • [Edit]There are two ways to prevent the void from cutting elements in the family:
      • 1. You have to create the void in a location where it does not intersect any geometry,
        • then move it to the correct location - it will not cut any intersecting geometry;
      • 2.  Or create a solid where you want it, and change it to a void - it won't cut unless you tell it to [Thanks to Simon Weel for reminding me of this method]
 

  • [Edit] I have had problems with saving families that only contain a void element that is not cutting anything - but I think that only happens for in-place families.
  • Cutting only happens in a project
  • This capability does not work in the family editor - when one (cutting) family is nested into another family.  This is a very frustrating restriction - it means that you have to build additional voids into the parent family, which is a pain if you have complex angled geometry.

Once you understand those rules and limitations, you can use this capability to get families to selectively cut elements in a project.  It does have some advantages over 'Face-Based' families that also allow you to cut into a host element:

  • You can decide whether you want individual elements to be cut or not
  • It does not need to be hosted  - it can be placed directly in the model with its own parametric controls (height etc)
  • It can be moved away from or to an element to be cut (it remembers the cutting status if moved away and back)
  • This can be added to existing families (converting to face-based requires recreating families)
  • The void can be anywhere in the family - it does not have to be related to a host face in the family (as face-based families do)


I hope this saves time for anyone who cannot get this feature to work properly.  

In this example I have carefully made the void slightly bigger than the basin for clarity in the illustrations - and to make sure that water runs down the side of the basin into the casework and rots the timber.  I suggest that you make it a closer fit or use lots of silicon to seal it.


Friday, 22 January 2021

Revit Stair Wall Joins in Section

Following on from an earlier post about joining stairs and floors, I just wanted to clarify what happens when you try to join Stairs and Walls in section . . . .

We saw previously that Revit does have some limited capability to join stairs and floors at the base of a stair - but it has many limitations.

Joining a Wall and a Floor

All good Revit users would know that if a floor and a wall are of the same material, and they have coincident or overlapping edges, they can be "joined" in the model.  This is not just a graphic tool that is done per view - it affects the model in potentially all views, including material quantity schedules.  If an overlapping wall and floor are joined, the volume of material that was previously counted twice is corrected after the join so it is counted once.

Join Geometry


Select floor and wall to join
Providing that the elements are of the same material, the line between the floor and wall disappears.  In this example, the 'Level' line is revealed, as it happens to align with the top of the floor.

Joining a Wall and a Stair Landing

 

Try the same thing with a wall and a stair landing . . .


What happens?  Absolutely nothing.  After selecting the wall, Revit will not even highlight the stair landing (or vice versa if you select the landing first).

Well, that is just plain ridiculous!  You might argue that the wall and landing would be cast separately on site, so there should always be a joint line between them - but the graphic convention is to not show a line, or at least show a thinner line between them in section.

 

What to Do?

There is no good workaround to this problem - each method is clunky and not robust.

Linework Tool


Linework Tool

If you try the linework took, you immediately discover that it will not do the job for you, as it affects the whole wall.


That isn't very helpful, as you only want a small segment of the wall edge line to be invisible (or thin line).

Another strange Revit quirk with the linework tool is that when you select a line in elevation (or projection in plan) it gives you blue dots at each end , which can be dragged so that only part of the line has its style overridden.  That is a very useful capability - but infuriatingly, it does not work on cut lines.


Yet another quirk is that the underside of a run is treated as one line when cut (section), but in elevation, each step is a separate line segment.  Why, or why?

Filled Region

Filled Region
A common method of hiding a multitude-of-sins in Revit is to use Filled Regions.  These have pros and cons:

  • They are quick and easy to understand for most users
  • Their edge lines can be of different styles, including "invisible" as part of the sketch - so they hide model lines underneath 



  • They will merge with underlying element hatching , providing the material hatch style matches the filled region hatching


  • They are view-based, so any patching up on one view will not show on other views
  • Line edges/junctions can be messy when viewd close-up

  • If the model is changed, the filled region will not change with it (unless you constrain the sketch lines, which is not generally advisable - as your model very quickly becomes over-constrained and unworkable)

Cut Profile

Cut Profile (View Menu)
You could try the 'Cut Profile' command - this allows you to modify how an element looks in a particular view.  Once initiated, it takes you into sketch mode - so you can draw a shape to add to an element (or cut from it).

The end result is not very promising in this situation

  • The added shape does not obscure the wall line in the way that a filled region does
  • The sketch lines cannot have a line style (unlike Filled Regions)


The worst thing about this idea is that the Linework tool does not work at all on cut-profile shapes - thus making this tool almost useless!

Conclusion

Sadly there is no clever workaround.  The conclusion is that it is not worth fighting Revit on this one - just accept the joint line between wall and landing.  In many cases it is not an issue, but when the stair and wall are both cast in place concrete, it is very annoying.

Wednesday, 15 July 2020

Slanted Wall Joins in Revit 2021

Following on from my Analysis of Slanted Walls in Revit 2021, and Analysis of Slanted Walls and Rooms in Revit 2021 let us see how it handles slanted wall joins in plan.



Mysterious Behaviour

I have not yet figured out the rule for this, but it seems that slanted walls sometimes join properly in plan and sometimes not . . .

The failure of wall layers to join seems to occur at varying wall angles and different view range cut heights.



At gently slanting angles the problem does not manifest itself:
  • At 25 degrees (or less) with a standard wall cut height of 1200mm (or 4 ft for the imperialists), the wall joins ok

  • Bump the slant angle up to 30 degrees and it fails
    • In this example the base offset of the wall is raised 900mm above the Level that it is hosted on - that causes all kinds of issues, but it is not the problem here

  • Change the 'View Cut Plane Height' to 1000mm, and it works again - but of course the cut location of the wall changes

  • Change the angle to 45 degrees and it breaks again
  • It seems that the base height of the wall has no influence on this (providing it is below the cut height).

There must be some mysterious formula that combines the cut plane height with the wall slant angle that makes it work or fail!

Of course it should not fail at all - why doesn't it just work as expected?

Talking of "Course", this problem doesn't show up in Coarse views - only Fine and Medium detail levels.