Python 属性错误:';点';对象没有属性';ToXyz';
目前,我正在编写一个脚本,该脚本通过选择模型线来创建立面视图 为了创建此脚本,我在本网站上查看: 不幸的是,最后的Python脚本无法工作。我不知道我需要修改什么才能使该零件在定义的点上创建立面视图 显示错误:Python 属性错误:';点';对象没有属性';ToXyz';,python,python-requests,ironpython,Python,Python Requests,Ironpython,目前,我正在编写一个脚本,该脚本通过选择模型线来创建立面视图 为了创建此脚本,我在本网站上查看: 不幸的是,最后的Python脚本无法工作。我不知道我需要修改什么才能使该零件在定义的点上创建立面视图 显示错误: IronPythonEvaluator.EvaluateIronPythonScript operation failed. Traceback (most recent call last): File "<string>", line 31, i
IronPythonEvaluator.EvaluateIronPythonScript operation failed.
Traceback (most recent call last):
File "<string>", line 31, in <module>
AttributeError: 'Point' object has no attribute 'ToXyz'
Line 31: modelMP = modelPoints[ind].ToXyz()
import clr
clr.AddReference('RevitAPI')
clr.AddReference("RevitServices")
clr.AddReference("RevitNodes")
import RevitServices
import Revit
import Autodesk
from Autodesk.Revit.DB import *
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
toggle = IN[0]
points = UnwrapElement (IN[1])
modelPoints = UnwrapElement(IN[2])
cropCurves = UnwrapElement(IN[3])
viewType = UnwrapElement(IN[4])
lst = []
if toggle == True:
TransactionManager.Instance.EnsureInTransaction(doc)
for ind, point in enumerate(points):
modelMP = modelPoints[ind].ToXyz()
modelMPX = modelMP.X
modelMPY = ModelMP.Y
cropLines = cropCurves[ind]
l1 = cropLines[0].ToRevitType()
l2 = cropLines[1].ToRevitType()
l3 = cropLines[2].ToRevitType()
l4 = cropLines[3].ToRevitType()
elevationPT = point.ToXyz()
elptRotate = XYZ(elevationPT.X, elevationPT.Y, elevationPT.Z+100)
ln = Line.CreateBound(elevationPT, elptRotate)
elevationPTY = elevationPT.Y
elevationPTX = elevationPT.X
combY = elevationPTY-modelMPY
combX = elevationPTX-modelMPX
ang = atan2(combY, combX)
eleMarker = ElevationMarker.CreateElevationMarker(doc, viewType.Id, elevationPT, 100)
ele = eleMarker.CreateElevation(doc, doc.ActiveView.Id , 0)
ElementTransformUtils.RotateElement(doc, eleMarker.Id, ln, ang)
crManager = ele.GetCropRegionShapeManager()
newCurveLoop = []
newCurveLoop.Add(l1)
newCurveLoop.Add(l2)
newCurveLoop.Add(l3)
newCurveLoop.Add(l4)
cLoop = CurveLoop.Create(newCurveLoop)
try:
crManager.SetCropRegionShape(cLoop)
lst.append("Elevation Created")
except:
pass
lst.append("Missed Elevation")
TransactionManager.Instance.TransactionTaskDone()
OUT = lst
else:
OUT = lst