Hi
when i create script and i need to make opening in wall i make all script correct without showing any warning except when i need to make the opening it show this warning and doesn’t make the opening
so any solution for this problem
It sure which package that is from, but it appears to be in conflict with your Revit version as it is pulling the old API. Make sure you’re on the right version for your Revit release.
i used Univeso_BIM package for Revit 2024 and i think maybe not supported.
is there any another package that have this node and supported in Revit 2024?
hi, here is a clue
to dig
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
doc = DocumentManager.Instance.CurrentDBDocument
#######OK NOW YOU CAN CODE########
elt=UnwrapElement(IN[0])
lst=IN[1]
TransactionManager.Instance.EnsureInTransaction(doc)
a=doc.Create.NewOpening(elt,lst[0].ToRevitType(),lst[1].ToRevitType())
TransactionManager.Instance.TransactionTaskDone()
OUT = a
cordially
christian.stan
Thank you for help , it is a great clue
but i need to create the opening without select face node.
In brief , i want to create opening around the MEP ducts by values i put it as i shown before.
Hi @osjohna You could use voids as well…I like to do it that way instead as its faster and more flexible…just my opinion
![]()
hi, focus on the final aspect, the front part is to generate points (which you already have)
as in the previous example
the direction of the wall is important to create a coordinate system in the plane of the wall to be able to generate the points distant from your opening
elt=UnwrapElement(IN[0])
lst1=IN[1]
lst2=IN[2]
TransactionManager.Instance.EnsureInTransaction(doc)
a=[doc.Create.NewOpening(elt,i.ToRevitType(),j.ToRevitType()) for i,j in zip(lst1,lst2)]
TransactionManager.Instance.TransactionTaskDone()
OUT = a
Sincerely
christian.stan
Thank you all for your help



