Skip to content

Instantly share code, notes, and snippets.

@gtalarico
Last active February 2, 2024 21:24
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gtalarico/e6be055472dfcb6f597e3dcd20d11f37 to your computer and use it in GitHub Desktop.
Save gtalarico/e6be055472dfcb6f597e3dcd20d11f37 to your computer and use it in GitHub Desktop.
RevitAPI::Code Snippets::Create Drafting View
''' Creates a Drafting View'''
from Autodesk.Revit.DB import Transaction, Element
from Autodesk.Revit.DB import FilteredElementCollector
# Drafting Views
from Autodesk.Revit.DB import ViewFamilyType, ViewDrafting, Element
from Autodesk.Revit.DB import ViewFamily
uidoc = __revit__.ActiveUIDocument
doc = __revit__.ActiveUIDocument.Document
t = Transaction(doc, 'Create Drafting View')
t.Start()
"""Create a Drafting View"""
def get_drafting_type_id():
"""Selects First available ViewType that Matches Drafting Type."""
viewfamily_types = FilteredElementCollector(doc).OfClass(ViewFamilyType)
for i in viewfamily_types:
if i.ViewFamily == ViewFamily.Drafting:
return i.Id
drafting_type_id = get_drafting_type_id()
drafting_view = ViewDrafting.Create(doc, drafting_type_id)
# drafting_view.Name = 'New View' - Optional View Name - May fail if already exists.
t.Commit()
@apsis0215
Copy link

apsis0215 commented Aug 26, 2022

##https://gist.github.com/gtalarico/e6be055472dfcb6f597e3dcd20d11f37
import clr

clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Structure import *

clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *

clr.AddReference('System')
from System.Collections.Generic import List

clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.ImportExtensions(Revit.Elements)

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument

''' Creates a Drafting View'''
from Autodesk.Revit.DB import Transaction, Element
from Autodesk.Revit.DB import FilteredElementCollector

#  Drafting Views
from Autodesk.Revit.DB import ViewFamilyType, ViewDrafting, Element
from Autodesk.Revit.DB import ViewFamily

##uidoc = __revit__.ActiveUIDocument
##doc = __revit__.ActiveUIDocument.Document

t = Transaction(doc, 'Python.Create Drafting View')
t.Start()

##Create a Drafting View##
def get_drafting_type_id():
    """Selects First available ViewType that Matches Drafting Type."""
    viewfamily_types = FilteredElementCollector(doc).OfClass(ViewFamilyType)
    for i in viewfamily_types:
        if i.ViewFamily == ViewFamily.Drafting:     ##Backwards 'parent' ref I've been looking for!##<<<<<<<<<<<<<<<<<<<<<<<<<<HERE
            return i.Id

drafting_type_id = get_drafting_type_id()
drafting_view = ViewDrafting.Create(doc, drafting_type_id)
drafting_view.Name = 'New View x' ## Optional View Name - May fail if already exists.

t.Commit()

OUT=[drafting_view,drafting_type_id]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment