# Override Crop Region in All Views

**URL:** <https://forum.dynamobim.com/t/override-crop-region-in-all-views/89563>\
**Category:** Revit\
**Tags:** python, dynamo\
**Created:** [May 14, 2023, 12:17am UTC](https://forum.dynamobim.com/t/override-crop-region-in-all-views/89563 "2023-05-14T00:17:03Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jimmy\_84](https://avatars.discourse-cdn.com/v4/letter/j/a8b319/32.png) [@jimmy\_84](https://forum.dynamobim.com/u/jimmy_84)\
**Post date:** [May 14, 2023, 12:17am UTC](https://forum.dynamobim.com/t/override-crop-region-in-all-views/89563/1 "2023-05-14T00:17:03Z")

</div>

So I am trying to override crop region properties in all views with specific view template

```auto
import clr
clr.AddReference('RevitAPI')
clr.AddReference('RevitServices')
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
from Autodesk.Revit.DB import *

# Define variables
element = UnwrapElement(IN[0])
views = UnwrapElement(IN[1])
line_weight = IN[2]
line_pattern = UnwrapElement(IN[3])

# Get current doc
doc = DocumentManager.Instance.CurrentDBDocument

# Start Transaction
TransactionManager.Instance.EnsureInTransaction(doc)

# Loop through each view
for view in views:
    # Get the view ID
    view_id = view.Id
    # Override element in view
    override_settings = OverrideGraphicSettings()
    override_settings.SetProjectionLineWeight(line_weight)
    override_settings.SetProjectionLinePatternId(line_pattern.Id)
    doc.ActiveView.SetElementOverrides(element.Id, override_settings, view_id)

# End Transaction
TransactionManager.Instance.TransactionTaskDone()

# Output 
OUT = 0

```

The error I get “Warning: AttributeError : ‘list’ object has no attribute ‘Id’ [’ File “”, line 38, in \n’]”  
Any idea?

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/e/a/eae8378dd3a0b8d80f0e9df71d2f59c02e647337.jpeg)

---

<div class="post-metadata">

**Author:** ![manhgt214](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/manhgt214/32/153251_2.png) [@manhgt214](https://forum.dynamobim.com/u/manhgt214)\
**Post date:** [May 14, 2023, 4:37am UTC](https://forum.dynamobim.com/t/override-crop-region-in-all-views/89563/2 "2023-05-14T04:37:23Z")

</div>

“element” is list, so you must loop element in list like view in views

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/b/0/b058dfb6460afa52c68ac18eeb8293428e9245cb.png)

---

<div class="post-metadata">

**Author:** ![jimmy\_84](https://avatars.discourse-cdn.com/v4/letter/j/a8b319/32.png) [@jimmy\_84](https://forum.dynamobim.com/u/jimmy_84)\
**Post date:** [May 14, 2023, 11:56pm UTC](https://forum.dynamobim.com/t/override-crop-region-in-all-views/89563/3 "2023-05-14T23:56:07Z")

</div>

Ok I looped through elements list as well but I got “No method matches given arguments for SetElementOverrides” error

```auto
import clr
clr.AddReference('RevitAPI')
clr.AddReference('RevitServices')
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
from Autodesk.Revit.DB import *

# Define variables
elements = UnwrapElement(IN[0])
views = UnwrapElement(IN[1])
line_weight = IN[2]
line_pattern = UnwrapElement(IN[3])

# Get current doc
doc = DocumentManager.Instance.CurrentDBDocument

# Start Transaction
TransactionManager.Instance.EnsureInTransaction(doc)

# Loop through each element/ view
for element, view in zip(elements, views):
    # Get the view ID
    view_id = view.Id
    # Override element in view
    override_settings = OverrideGraphicSettings()
    override_settings.SetProjectionLineWeight(line_weight)
    override_settings.SetProjectionLinePatternId(line_pattern.Id)
    doc.ActiveView.SetElementOverrides(element.Id, override_settings, view_id)

# End Transaction
TransactionManager.Instance.TransactionTaskDone()

# Output 
OUT = 'ok'

```

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/1/6/16ecd107e138c4679e36f9357b832076ccabe97c.jpeg)

---

<div class="post-metadata">

**Author:** ![manhgt214](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/manhgt214/32/153251_2.png) [@manhgt214](https://forum.dynamobim.com/u/manhgt214)\
**Post date:** [May 15, 2023, 12:07am UTC](https://forum.dynamobim.com/t/override-crop-region-in-all-views/89563/4 "2023-05-15T00:07:22Z")

</div>

> [@jimmy\_84](#):
>
> SetElementOverrides

Hi You can see It menthod is 2 arguments (elementId, overrideSetting) but you push 3 arguments ( (+“view\_id”).

![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/2/9/298a2f876ca547350a58a99d61604e5498b83569.png)

---

<div class="post-metadata">

**Author:** ![jimmy\_84](https://avatars.discourse-cdn.com/v4/letter/j/a8b319/32.png) [@jimmy\_84](https://forum.dynamobim.com/u/jimmy_84)\
**Post date:** [May 15, 2023, 12:35am UTC](https://forum.dynamobim.com/t/override-crop-region-in-all-views/89563/5 "2023-05-15T00:35:33Z")

</div>

Thanks That worked

```auto
import clr
clr.AddReference('RevitAPI')
clr.AddReference('RevitServices')
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
from Autodesk.Revit.DB import *

# Define variables
elements = UnwrapElement(IN[0])
views = UnwrapElement(IN[1])
line_weight = IN[2]
line_pattern = UnwrapElement(IN[3])

# Get current doc
doc = DocumentManager.Instance.CurrentDBDocument

# Start Transaction
TransactionManager.Instance.EnsureInTransaction(doc)

# Loop through each element/ view
for element, view in zip(elements, views):
    # Get the view ID
    view_id = view.Id
    # Override element in view
    override_settings = OverrideGraphicSettings()
    override_settings.SetProjectionLineWeight(line_weight)
    override_settings.SetProjectionLinePatternId(line_pattern.Id)
    view.SetElementOverrides(element.Id, override_settings)
# End Transaction
TransactionManager.Instance.TransactionTaskDone()

# Output 
OUT = 'ok'

```

I also switched to View. instead of ActiveView  
Thanks @manhgt214
