I am facing a strange issue when I am trying to generate a structural opening with “newopening” object in Revit API 2021.1 on [Dynamo Python] C channel framing. Generated opening punchouts are off-centre by 5/8" or so from where it should be. But the reference geometry in Dynamo shows up in the correct location. It looks something like this
Where as it should be like
This is the Dynamo script
InvartedTrackAnchoreboltPunchout.dyn (116.1 KB)
and here is the python script
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Structure import *
from Autodesk.Revit.Creation 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
import math
doc = DocumentManager.Instance.CurrentDBDocument
openings = []
beams = IN[0]
loops = IN[1]
for i in range(0,len(beams)):
el = doc.GetElement(ElementId(beams[i].Id))
ca = CurveArray()
for c in loops[i]:
curve1 = c.ToRevitType(True)
ca.Append(curve1)
TransactionManager.Instance.EnsureInTransaction(doc)
opening = doc.Create.NewOpening.Overloads[Element, CurveArray, eRefFace](el, ca, eRefFace.CenterY)
TransactionManager.Instance.TransactionTaskDone()
openings.append(opening)
OUT = openings
Any help or suggestion will be great!!!