Showing posts with label Tricks. Show all posts
Showing posts with label Tricks. Show all posts

Saturday, November 23, 2019

Zoning Clearance Thoughts

A long time fellow Revit traveler reached out to me via Revit Lifeline last night asking about zoning clearance ideas. Where he lives and works they want designers to demonstrate the building is not too tall. They also want them to prove it doesn't extend into a zone that leans back into the site. All in all the code reduces the size of the building that can be built on any given property that falls under its jurisdiction.

I have heard and read about this concern many times over the years. But in response last night, I mocked up a quick example to see if it met his needs (waiting to hear back). I thought, "Blog post? I just posted something the other day...don't get carried away. Yeah, but you've only posted like twice this year slacker! So a blog post it is then..."

Here's a few images to ponder first. Pretty fancy house design eh? Doors and windows are so last century. I CAN design YOUR next home, just call when you're ready...operators are standing by.





The upper surface is a thin floor which is manipulated through Dynamo and Shape Editing. Lauren Schmidt's LandArchBIM blog is a very nice source for land techniques and I stole her graph ideas in this post to make it. Her post explains the technique relies on a sub-region to match whatever hardscape shape (property boundary in this case) is necessary. I used the floor's offset parameter to move it up above the surface by the zoning height required.

The front and back property boundary clearance requirement is built with a railing and profile. The fact that railings can be hosted by toposurface now opens this door wide. The surface form might not lend itself to a nice clean railing though, mileage will vary. You can see the rear railing is a little deformed in a couple spots. I built parameters into the profile so I could (using types) vary the height of the angle portion, change the angle, change the height above property (spring point of the lean) and the thickness of the railing.

I created a specific material to assign to it all so it can be mostly transparent.

My example is admittedly simplistic. How many property boundaries are really a simple rectangle? Pretty rare, about as rare as a purple unicorn that uses Revit? A front or rear boundary that has arcs and many segments will probably pose some issues creating a hosted railing. I can imagine things going wrong but I'll wait until I'm dealing with something specific to worry about that.

The file I mocked this up is in Revit 2020.2 and the dynamo graph (link has both RVT and Graph) is so simple that this screen shot would help you build it nearly a fast as downloading and opening it up. That's what I did with Lauren's example. You do need the packages I've circled.


Oh, the mockup has a massing element too, you'll have to turn massing on though. At first I thought I'd sweep a profile along the property edge defined by the upper surface. After I did that I thought of the railing. The learning curve is much less steep for a railing than massing, bonus being much faster too.

Decided to add a couple more images. I realized that I could have turned off the sub-category Interior Edges for Floors to hide the tessellation in the other images. It also occurred to me that another railing and profile configuration could deal with the top. I just created another type from my existing profile family to make it a 90 degree railing. A separate wide profile without a vertical portion would provide just a top surface. The floor and railing approach don't result in the same surfaces but within reason? If reason can be applied to a zoning requirement?



Here's both visible...


Wednesday, October 17, 2018

Reveal Elements - Hidden Viewport

The other day I was looking at a sheet a user reported it was impossible to select a floor plan view on. It seemed as though Revit did not see the view port on the sheet. People frequently pin views to make it a bit harder for other people to move them on a sheet accidentally. That will still allow a view port to be seen by Revit, it will still highlight as the cursor travels over it.

Then I thought of right-click Hide In View > Element. I used Reveal Elements and I could select the viewport. Using that tool does not hide what is visible in the view, it just disables the ability to select the view port.

Good? Bad? It isn't expected, well I didn't expect it.

Thursday, September 27, 2018

Property Boundary and Coordinate Data - Dynamo

Alternate title: Mr. Revit OpEd finally does something (tho basic) with Dynamo!

I used this problem as an excuse to dig into Dynamo a bit. I created the attached graph to read a text file with coordinate values, one line per X,Y,Z values.


The text file format is very basic, it looks like this:


I created a 3D cylinder and model lines to form a target symbol family, 3D and fairly large so I could see it anywhere in the model. The graph places a target family at each coordinate location. Before running the graph, I assigned the Project Units for Length to Meter. Then I ran (manual) the Dynamo graph to place the target families. The last step was to start the Property Line tool and sketch the property boundary segments from target to target, which looks like this.


It was necessary to move the points closer to Revit's origin so they were not so far away, since Revit hates that. After doing that, I moved the Survey Point (not clipped) to one corner of the property (target family location) and then used Specify Coordinates at Point at that location using the coordinate values for that corner. This will allow me to export the result to DWG, if necessary. I also created a specific Spot Coordinate family type so I could identify some or every target location and make sure each reports the correct coordinates, double checking my work so to speak.

I probably spent a couple hours on this, mostly trying to get my head wrapped around which nodes in Dynamo to use. The next time I'll be twice as fast!

Thursday, September 20, 2018

Troubleshooting - Start an Email or Forum Post

I find it helpful to resolve an issue by starting to write an email or forum post (or a blog post) to ask for help or complain about it. Trying to write an explanation for what is happening so someone else might be able to help me focuses my thoughts. Very often I find it isn't necessary to finish writing.

The answer presents itself during the writing.

Next time you're puzzling over something, consider writing down what you think is wrong and the solution may arrive as you type.

Worth mentioning that a short break can also help a lot. Grab a beverage, talk to someone else, or stretch your legs; or all the above. The change gives you chance to work on the problem in the background of your attention.

Wednesday, September 19, 2018

Moving a Viewport Error - Disjoin

The Move tool offers us an option called Disjoin. When it is used Revit deletes the original and creates a new element at the new location. That isn't obvious to us but if you examine the GUID (ID's of Selection) you'll find it has a new GUID after the Move is complete.


The option is sticky, we have to remember to disable it when we use the Move tool again. When we are working on sheets and adjusting views we now have an opportunity to run into a confusing error message.


If you run into this or people you support do, just remember to Disable da Disjoin.

Per a comment: My previous post on re Disjoin.

Wednesday, April 06, 2016

A Case for Worksets - Opening Linked Files

It is common to choose to avoid enabling Worksets when we don't need to let more than one person access our project at the same time. If we rely on using linked files then we can benefit from not avoiding them. For example, if you've ever wanted to open a linked file at the same time as the file you are currently working in you've seen this warning message.


Revit doesn't like opening a linked file in the same session, without unloading the link in the current model first, but it won't mind doing so if you open a second session of Revit. Revit uses separate memory allocation for each session. That means it isn't possible to use Copy to Clipboard with Paste Aligned when we are using two sessions. If you let Revit unload the link instead you won't see any changes in the host project until you save, close and reload the linked file. A good many users regard that cycle of steps to be annoying.

When we enable Worksets we have a Central File but work in a Local File. If all the project files we use have enabled Worksets then when we open any of the Linked Files we are creating a new Local File. Here's the tricky part...technically that's not the SAME file we Linked. The Linked File is (should be) based on the Central File (it's name and location)...the Central File is linked, not our Local File.

Yes this means you can now open a linked file in the same session of Revit. You can make changes in either file and use Synchronize and Modify Settings to store the changes in the Central File(s).

Now before you get too excited, you still have to use Reload on the Linked File that's been changed. That's not really any different than having another user making changes to the Linked File and having to use Reload to see their changes. It does make it easier to go back and forth between models quickly; eliminates the open/close part. Eventually you have to use Reload to see any changes regardless.

If you are a sole user and still intimidated by Worksets; just remember you only have to have one Workset for it to be enabled, for Revit to work. Revit creates two default Worksets for us to use (Shared Levels and Grids and Workset 1) but we don't have to be too concerned with assigning elements to any but Workset 1. That's assuming we don't really need Worksets for its fundamental purpose; allowing concurrent access to the same data by more than one person.

Something to consider if open/closing and unloading/reloading links is annoying.

Oh, I should mention that this starts to disintegrate if you are opening more than two files that are inter-related, linked into each other. For example, imagine a Host Model, Linked Model 01 and Linked Model 02. The Host Model has linked both of the linked models. If Linked Model 01 is also linked into Linked Model 02 and we then open both of them as well as the Host Model we will encounter this kind of message when we make changes to Linked Model 01 and then attempt to reload it in the Host Model.


The file in question is also present in the other open Linked Model and that is what Revit is objecting to. We'll also find that the file is unloaded automatically. We'll have to close the other file that it is visible in before we can successfully reload it. As such my habit is to limit my use of this technique to two open files at a time.

Friday, April 10, 2015

Spaces instead of Areas

Area plans have their quirks. They can only exist in their own special area plan views. They've got rules and quite often people want to break those rules. If we need to do that then we end up sketching boundaries a lot. Areas don't know anything about Rooms either. That means we're probably going to have to enter some data twice if we must use Areas pretending to be Rooms, all to document fussy Room area requirements

If that's the situation we find ourselves in...do we have access to MEP's Spaces? If so we could consider...this...

The plan in this image is an architectural model (yeah really simple mock-up). Is it obvious what I've done? I've got Room tags reporting area only as well as Space tags reporting a little different area value along with Room name and number. It also has a Color Scheme applied to Room departments.


It's also a separate model I called Area Calcs. I linked the Architecture model into Area Calcs. The Room tags I mentioned a moment ago are actually Room tags, tagging each room's area in the link. For Spaces however I opted to just sketch Space Separators over the linked model since I need to identify different parts of the room's boundaries to calculate area anyway. A Space isn't different from a Room when we rely on walls for their boundary, in how they calculate area at least. Sketching our lines gives us complete control over the results without dealing with Area Rules.


A Space Separator is a linestyle (like Area Boundary and Room Separator) and I changed the appearance to a much thicker burgundy line so it stands out against the linked file's plan. I ended up applying transparency to Walls too. Once I defined the boundaries I needed I used the Space tool and opted for Place Spaces Automatically. This creates a Space wherever one is possible within the boundaries I've created. This is done floor by floor, assuming there is more than one floor.


Just in case you weren't aware of this already, a linked file has a Room Bounding option.


If this option is selected then Place Spaces Automatically creates Spaces wherever Revit finds Rooms and valid boundaries even where there aren't any rooms (note my interior design comment later). Since I need to define room area differently that's not going to help me now. It's intended to speed up the process for engineers while they are preparing their project to start work.

Now that I've got Spaces I can take advantage of a separate tool called Space Naming Utility (SNU). It is crazy that this tool is still a separate installation but it is. At least it isn't locked away in subscription only access anymore. I keep hoping it will show up inside Revit in the next release.

Sorry I digress, it (SNU) will read (from the linked file) each room's name and number and pass it to the equivalent Space's name and number.


One risk here is Revit might not figure out which Room is supposed to be related to a Space. However, if we examine the properties of a Space we'll see right away whether Revit can see a room relationship or not. Plus any Spaces that don't update will be a clue or at least identify a Room that hasn't been filled out with information properly yet. I'm hoping to apply the 80/20 rule here and win.


If I want to use Fill Patterns too, like below, I can create a separate view that only shows a customized Color Scheme that applies Fill Patterns instead of a solid color fill. Then I just stack (overlay) this view on top of the other floor plan on a sheet. I just need to make sure the view is using Wireframe so it doesn't mask the floor plan.


I can even add a separate Color Scheme legend to the other view that's stacked over the floor plan.


Choosing this route might come down to how I answer these questions:
  • Do I have Spaces? (Are they part of the Revit version I use?)
  • Which is worse, sketching Space Separators or Area Boundaries?
  • Which is more fun, using Space Naming Utility or manually updating Area data to match relevant Room data?
  • If I know a Dynamo/API programmer then maybe I can improve the Room to Area process instead?
This popped into my head last evening while I was mulling over a client's email. I've suggested using Spaces in the past to help deal with linked interior design models so this time around it didn't seem quite as crazy to me as it did the first time.

Want to poke around the files (Revit 2015) I used for this post?

Area Plans
Area Calcs

Your mileage may vary...

Tuesday, March 19, 2013

Reusing the Same Grid Names

A reader saw a post by Brok on the HOK BIM Solutions blog and he wrote to me about this tip. His name is Mr. Smith, yeah uh that's his name, Mr. Smith... Well anyway the tip is this. We can use the right click option to insert unicode control character when editing the grid name parameter.



If we choose one it won't print but it will make Revit think that this grid #1 is different from this other grid #1. Pretty sneaky.

Mr. Smith's name has been changed to Mr. Jones to protect Mr. Smith.

P.S. My 2014 prediction is still that Revit will still be called Revit.