我有一些在 Abaqus 中使用的作業 python 代碼,但我無法從中回圈。有人可以幫我解決這個相當簡單的問題嗎?我想為不同的 SetsScrew 列印 x、y、z 坐標(稱為 partxcord 等)。它只列印最后一個 SetsScrews。我錯過了什么?先感謝您。
SetsScrews = ["Screw['T6_R']", "Screw['T7_R']", "Screw['T8_R']"]
for i in range(len(SetsScrews)):
# Select nodeset
PartLevel = mdb.models[modelname].rootAssembly.sets[SetsScrews[i]]
print('ParTLEVEL=', PartLevel)
# Calculate the amount of nodes in nodeset
numNodes = len(PartLevel.nodes)
# Create lists to write data to
partlabel=[]
partxcord=[]
partycord=[]
partzcord=[]
for curNode in PartLevel.nodes:
partlabel.append(curNode.label)
partxcord.append(curNode.coordinates[0])
partycord.append(curNode.coordinates[1])
partzcord.append(curNode.coordinates[2])
print('numNodes=', numNodes)
uj5u.com熱心網友回復:
partlabel=[]
partxcord=[]
partycord=[]
partzcord=[]
這些應該在回圈外初始化,也許制作一個帶有螺絲名的字典,然后在那里添加這些串列
或者你的縮進也可能是一個問題
uj5u.com熱心網友回復:
如果你只想列印坐標,那么你只需要在內回圈結束后列印。此外,您可以存盤所有零件的坐標。請參考以下代碼:
SetsScrews = ["Screw['T6_R']", "Screw['T7_R']", "Screw['T8_R']"]
# create the list to save all coordinates
aLabels,axcoords,aycoords,azcoords = [],[],[],[]
for i in range(len(SetsScrews)):
# Select nodeset
PartLevel = mdb.models[modelname].rootAssembly.sets[SetsScrews[i]]
print('ParTLEVEL=', PartLevel)
# Calculate the amount of nodes in nodeset
numNodes = len(PartLevel.nodes)
# Create lists to write data to
partlabel,partxcord,partycord,partzcord=[],[],[],[]
print('Screw= ', SetsScrews[i])
for curNode in PartLevel.nodes:
partlabel.append(curNode.label)
partxcord.append(curNode.coordinates[0])
partycord.append(curNode.coordinates[1])
partzcord.append(curNode.coordinates[2])
# you can print it here...
print(curNode.label,curNode.coordinates[0],curNode.coordinates[1],curNode.coordinates[2])
# or you can print all data here and save it
print('partlabel= ', partlabel)
print('partxcord= ', partxcord)
print('partycord= ', partycord)
print('partzcord= ', partzcord)
aLabels.append(partlabel)
axcoords.append(partxcord)
aycoords.append(partycord)
azcoords.append(partzcord)
現在在兩個for回圈的末尾,您擁有aLabels, axcoords, aycoords, azcoords這些串列中的所有坐標。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/394358.html
上一篇:列印完所有可能性后,如何結束whileTrue:回圈?
下一篇:我想找到兩個數字之間的范圍之和?
