REVIT API StandardError: Невозможно преобразовать тело! : ILLEGAL_ENTITY_MODIFICATION - изменение сущности вне блока API_BEGIN / END - PullRequest
1 голос
/ 09 марта 2020

Я создал скрипт для размещения нескольких панелей на разных поверхностях в 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

1 Ответ

0 голосов
/ 10 марта 2020

Звучит так, как будто ваш код может не работать в допустимом контексте Revit API.

Как у вас работает этот код?

...