Create Group.PlaceInstance Node, how?

Hello,

I stuck, i just want to rebuild this node:
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

#public static Group PlaceInstance(Autodesk.DesignScript.Geometry.Point location, Element groupType)
       #{
            #var internalType = groupType.InternalElement as Autodesk.Revit.DB.GroupType;
        #if (internalType == null)
            #throw new 
InvalidOperationException(String.Format(Properties.Resources.InvalidGroupType, 
nameof(groupType)));

newLocation = IN[0]
internalType= IN[1]
#how can i create the grouptype via string?

TransactionManager.Instance.EnsureInTransaction(doc)

newGroup = Document.Create.PlaceGroup(newLocation, internalType).ToDSType(true).Group

TransactionManager.Instance.TransactionTaskDone()

OUT = newGroup


I know there big pices are missing, first i just want to have this node in python

KR

Andreas

Hi,

I created another variation of that that works great for me.

# Copyright(c) 2019, Durmus Cesur
# DC_Package
import clr

clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument

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

import sys
pyt_path = r'C:\Program Files (x86)\IronPython 2.7\Lib'
sys.path.append(pyt_path)

grouptype = UnwrapElement(IN[0])
location = UnwrapElement(IN[1])
a = []

TransactionManager.Instance.EnsureInTransaction(doc)
for l in location:
	
	groups = doc.Create.PlaceGroup(l.ToXyz(),grouptype)
	a.append(groups.ToDSType(True))
TransactionManager.Instance.TransactionTaskDone()

OUT = a
1 Like


is the reason for that because i have just one group-type
?
How can i adapt the script?GetPoints and Ids.dyn (38.0 KB)

I think it’s all a list error. I tested it for you and it worked when I edited the list a little bit. Here’s an example.

1 Like