【发布时间】:2022-06-27 21:44:38
【问题描述】:
我正在使用 python 在 ETABS API 中开发代码。有一个用于绘制梁的命令。就像:
SapModel.FrameObj.AddByCoord(X1,Y1,Z1,X2,Y2,Z2,"name","section")
其中 X1,Y1,Z1 等是笛卡尔坐标系中的坐标。 我有两个列表列表,每个列表都是 X 和 Y 坐标。比如:
XCoordsList=[[0,5.5,11],[0,6,12.3],[0,7,12.5]]
YCoordsList=[[5,6.1,5.7],[10.5,12.1,12.7],[16,18,19]]
这些列表是对应的,也就是说某个点的X和Y是(XCoordList[0,0],YCoords[0,0]);(e.g.:(0,5),(5.5,6.1),( 11,5.7)) 我想迭代这两个列表并绘制我的梁。所以这就是我写的:
Z=3
for m,n in zip(XCoordsList,YCoordsList):
SapModel.FrameObj.AddByCoord(m[m],n[n],Z,m[m+1],n[n+1],Z,"name","section")
结果是: TypeError:列表索引必须是整数或切片,而不是列表。 我该怎么办?
【问题讨论】:
-
那是因为每个中的第一项是一个列表:
[0,5.5,11](对于 X)您不能使用值 m 来获取列表中的内容,因为 m 是一个列表 -
@thatrandomperson 是的,我明白了。但是我该怎么做呢?