Я создал скрипт для размещения нескольких панелей на разных поверхностях в Revit в разных направлениях. Чтобы сделать это возможным, я сделал простой python l oop. Есть еще некоторые проблемы, которые нужно решить, но скрипт работает на небольших поверхностях.
Когда я увеличиваю поверхности, я получаю следующую ошибку:
StandardError: Невозможно преобразовать тело! : ILLEGAL_ENTITY_MODIFICATION - изменение сущности вне блока API_BEGIN / END У кого-нибудь есть идеи, как решить эту проблему?
Я скопировал следующий скрипт:
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
#The inputs to this node will be stored as a list in the IN variables.
#1 tot 100 tussenstap 10.
#geometry.translate(geometry,vector,afstand).
dataEnteringNode = IN
aantalsublsts = IN[0]
VectUassublsts = IN[1]
VectVassublsts = IN[2]
Geosublsts = IN[3]
vectorlengteVlst = IN[4]
afstandV = IN[5]
vectorlengteUlst = IN[6]
afstandU = IN[7]
n = 0
output = []
for x in range(aantalsublsts):
Geo = Geosublsts[n]
VectUas = VectUassublsts[n]
VectVas = VectVassublsts[n]
vectorlengteV = vectorlengteVlst[n]
vectorlengteU = vectorlengteUlst[n]
afstandenU = range(0,int(vectorlengteU),afstandU)
afstandenV = range(0,int(vectorlengteV),afstandV)
n = n + 1
for y in afstandenU:
for z in afstandenV:
Geo2 = Geometry.Translate(Geo,VectUas,y)
output.append(Geometry.Translate(Geo2,VectVas,z))
#Assign your output to the OUT variable.
OUT = output
Wouter Hilhorst