Export View Image - enhancement needed

Export View Image component is a great idea and it could be very useful for me if only I had a way to precisely specify a region of the image.

I would use those images as linked underlays in photoshop for tablet sketches etc. but those views must always be exported in the same size and contain exactly the same region.
Preferably I would specify region by selecting rectangle lines.

Great stuff, but hoping for a little bit more :wink:

The export view mechanism exports the visible content of a view. Add a crop region to the view to limit the bounds so new content do not change the export size

Finally, I looked into it again.
Thank you @eirannejad, your tip solved my problem. :slight_smile:

Two drawbacks are:

  1. I got to duplicate all my Views and set desirable Crop Views.
  2. When the view is cropped, GH geometry preview disappears - I can imagine it as a kind of limitation in some scanarios.

Hi @eirannejad
Just search and found this thread. I’m wondering if there’s a way to control the crop region via RiR at the moment? Like say I have 2000+ items and want to create views to focus on each of them and crop the others. Knowing that once the default crop region is turned on it gets all the viable contents, my thought is to “use Anemone to add view” > “delete the content one by one” > “turn on crop region” for the loop?

I create scope boxes for crop regions when dealing with multiple views. Then set those scope boxes to corresponding views using Element Parameter node.

At the moment scope box can only be done manually am I correct?

Creation of scope boxes, can be done manually. Since I create couple scope boxes once for all, doing it manually was not a hard task for me.

I believe I created a python component that sets view crop from rhino curves. I need to search my library to find it.

What do you want to achieve @ctu6?

I made the elements (finishing walls, ceiling, floors) belong to the room have the same tag, so

  1. Create 3d views with same # of rooms.
  2. Create a bounding box contain those elements with same tag.
  3. Use the bounding box as scope box and apply to view.
  4. Hide the rest elements.
  5. Image export of all views

Can you post a small example, a few rooms with the tag and final result you are looking for?

  1. OK
  2. Bounding box in Rhino?
  3. Revit API concerning Scope Boxes is very limited. You can not create or modify them.
  4. What Elements are these? in the room? please clarify.
  5. OK, to what end is this? wouldn’t these need to be on a sheet with a schedule? I would think a schedule would be more informative than seeing the outside of a room.

@Japhy @mucahitbgoker

(Image 3 is one room as weel)

For 2 - I thinking about using room geometry for bounding, since not all the rooms have all sides finishing.
For 4 - Floor, Ceiling, Wall. I use Room Number as mark so I can filter them. (Add Parameter Filter)
For 5 - Once the image export I’ll link to room schedule, so each room has a image like above. As a prove and explaination for those who very concern how the material count comes from.

And for the Add 3d View part, below is what I’ve tried.

Was thinking about Corp View to limit the bound without using scope box. The problem is that the default crop region seems gets everything visible in the project. Therefore I was thinking maybe I should create the view one by one,
meaning “add a element” > “add view” > “delete that element but keep the view” > “next one”

This should get you started. I believe you are referring to the 3D Views SectionBox vs the Crop View.

CropViews.gh (21.1 KB)

@Japhy Great help!

I think the rest of task is to sync Crop View and Section Box in 3D View.
Works great in plan view.

@Japhy Maybe I don’t even need Crop View in 3D View! :laughing:
Here’s the image export looks like.

Hi @Japhy

  1. DONE :white_check_mark:
  2. DONE :white_check_mark:
  3. Section box should be good for the purpose.
  4. So I’ve create Parameter Filter for each room.
    Now the question is how to access/apply those to each view? Should I use View Template?

For example, in 3D View B1001 I want to hide elements (Floors, Ceilings, Walls) that are not marked B1001. And so forth for the rest views.

I think the best way is to figure a single template that can do the trick. Otherwise same amount of view templates will need to be created and control the parameter in Visibility/Graphic (link, workset) through RiR.


  1. Should be no problem.

  2. **Say I’ve created the image and had them link back ot Revit. For now is there a way to control the Image parameter?

  1. This is to isolate the room in the view? or schedule? What about shared walls?

  2. The image property is looking for an Element.

This should get you started in adding the image property to the Room. I like the idea.

ImageWorking.gh (11.2 KB)


For 4.
So I made a quick example, hope it explains what I try to achieve better.
(Sorry I kept saying “Mark”, should be “Comments”)

In the example I hide the elements with parameter filters. Then I realize maybe “Hide in View” is better (if possible to control within RiR at the moment) then just 1 View Template to control the rest such as Model Display, V/G Overrides and so forth.

AI is the main file, and AR is a link.
AI.rvt (5.8 MB)
AR.rvt (5.1 MB)

I’ll take a look at your file.

Here is a basic example of adding and turning on/off visibility of a filter.

CropViews-AddFilter.gh (21.4 KB)

Here a quick workflow to Get Elements, Sort, Make Bounding Boxes, Create & Section Box Views and Add the Appropriate filter.

CTU6_Process_01.gh (22.3 KB)

Looking how you currently have this setup it will be tricky to create and add the image to the rooms (currently linked in) into the process 01. I see the schedule is in the other file as well.

Have you considered using Key Schedules? If you are in 2022 they can have shared parameters.