1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| n1=mdb.models['Verzahnung'].rootAssembly.sets['SET-SURFACE']
xyz_koor = []
for i in range(0,len(n1.nodes)):
xyz_koor.append([n1.nodes[i].coordinates[0],n1.nodes[i].coordinates[1],n1.nodes[i].coordinates[2],0])
xyz_koor=sorted({tuple(x): x for x in xyz_koor}.values(),key=lambda a_entry: a_entry[1],reverse=True)
diff=0
for i in range(1,len(xyz_koor)-1):
if abs(xyz_koor[i][1]-xyz_koor[i-1][1])>diff:
diff=abs(xyz_koor[i][1]-xyz_koor[i-1][1])
breite=abs(xyz_koor[0][1]-xyz_koor[-1][1])
x_punkte=[]
y_punkte=[]
z_punkte=[]
hohe=0
for i in range(0,len(xyz_koor)):
if abs(xyz_koor[i][1]-xyz_koor[0][1])<0.2*diff:
hohe+=1
lange=len(xyz_koor)/hohe
n=0
for i in range(0,lange):
for j in range(lange*hohe,lange*hohe+hohe):
xyz_koor[n][3] = i+1
n+=1
for i in range(0,len(xyz_koor)):
for k in range(0,hohe):
if abs(xyz_koor[i][1]-xyz_koor[-1][1]-k*(1.0/(hohe-1))*breite)<=0.48*diff:
x_punkte.append(xyz_koor[i][0])
y_punkte.append(xyz_koor[i][1])
z_punkte.append(xyz_koor[i][2])
for i in range(1,int((len(x_punkte)-1))): #Sortierung nach X-koor
for j in range(i,-1,-1):
if abs(y_punkte[j]-y_punkte[j-1])<diff and x_punkte[j]>x_punkte[j-1]:
x_punkte[j],x_punkte[j-1]=x_punkte[j-1],x_punkte[j]
y_punkte[j],y_punkte[j-1]=y_punkte[j-1],y_punkte[j]
z_punkte[j],z_punkte[j-1]=z_punkte[j-1],z_punkte[j]
for i in range(0,len(y_punkte)): #Korrektur schlechter Punkte
if y_punkte[i]<min(y_punkte)+0.45*breite and y_punkte[i]>min(y_punkte)+0.01*breite and y_punkte[i]<y_punkte[i+1] and x_punkte[i]>x_punkte[i+1]:
y_punkte[i]=y_punkte[i]+0.8*diff
if y_punkte[i]>min(y_punkte)+0.55*breite and y_punkte[i]<min(y_punkte)+0.99*breite and y_punkte[i]>y_punkte[i+1] and x_punkte[i]>x_punkte[i+1]:
y_punkte[i]=y_punkte[i]-0.8*diff
n2 = a.instances['ZR1_instance'].nodes
koor_load = x_punkte[i],y_punkte[i],z_punkte[i]
nodes1 = n2.getClosest(coordinates=(koor_load ,))
x_punkte[i]=n2[nodes1[0].label-1].coordinates[0]
y_punkte[i]=n2[nodes1[0].label-1].coordinates[1]
z_punkte[i]=n2[nodes1[0].label-1].coordinates[2] |
Partager