Hello community,
I wanted to create my interior drawing workflow by selecting rooms→creating elevation views→place them on sheets.
I’ve looked into the rir documentation but couldn’t figured out how to create elevation views in revit. Any ideas?
R
Japhy
(Japhy)
December 18, 2022, 4:09pm
2
Hi Ren, There aren’t add Elevation or Add Elevation Marker components in RiR. I’ve added your feature request. CreateElevationMarker Method
There is an Add Viewport Component that you can start with.
Japhy
(Japhy)
December 18, 2022, 6:01pm
3
For a fully performing workflow there are a lot of variables to consider.
Re_RiR_Add_Elev_Views.gh (12.1 KB)
Japhy
(Japhy)
December 18, 2022, 6:29pm
4
Here i used OpenNests InscribeCircle ro find open space to place the marker.
1 Like
Japhy
(Japhy)
December 18, 2022, 7:06pm
5
Here i created Sheets and placed the views.
Re_RiR_Add_Elev_ViewsV2.gh (23.7 KB)
1 Like
thank you so much. I’ll try it on my side and let you know how it goes!
next comes the need to use the elevation marker with at least one elevation so you can orient to a non-orthogonal room orientation. totally possible in python, have done it in dynamo, let me dig it up.
granted it would need to be revised for Rhino.Inside.Revit use: it should get your closer than not.
cribbed from this forum post: Rotate Elevation Marker - DesignScript - Dynamo
import clr
import math
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.ImportExtensions(Revit.Elements)
clr.AddReference('RevitServices')
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
elev = []
angle_ = []
axis = []
for i,j,m in zip(IN[0],IN[1],IN[2]):
elev.append(UnwrapElement(i))
angle_.append(math.radians(j))
axis.append(m.ToRevitType())
TransactionManager.Instance.EnsureInTransaction(doc)
c = 0
for e in elev:
Autodesk.Revit.DB.ElementTransformUtils.RotateElement(doc, e.Id, axis[c], angle_[c])
c+=1
TransactionManager.Instance.TransactionTaskDone()
OUT = elev, angle_