Skip to content

Commit 45d3181

Browse files
authored
Add files via upload
1 parent 8a61c81 commit 45d3181

File tree

1 file changed

+132
-0
lines changed

1 file changed

+132
-0
lines changed

ns_def.py

+132
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,138 @@ def return_shape_tuple(current_shape_array ,start_row):
341341
tmp_grid_array = sorted(tmp_grid_array, reverse=False, key=lambda x: x[2]) # sort for top
342342
master_grid_array.append(tmp_grid_array)
343343

344+
'''Added automatic horizontal axis placement function at Ver 2.2.2 '''
345+
# Remove items containing '_AIR_' in the second element
346+
master_grid_array = [[item for item in sublist if '_AIR_' not in item[1]] for sublist in master_grid_array]
347+
348+
updated_master_grid_array = []
349+
device_name_array = []
350+
351+
for tmp_master_grid_array in master_grid_array:
352+
# print('###############')
353+
# print(tmp_master_grid_array)
354+
for tmp_tmp_master_grid_array in tmp_master_grid_array:
355+
# print(tmp_tmp_master_grid_array)
356+
device_name_array.append(tmp_tmp_master_grid_array[1])
357+
# print('###############')
358+
# print(device_name_array)
359+
360+
vertical_key_array = []
361+
used_device_array = []
362+
for tmp_device_name_array in device_name_array:
363+
flag_no_match = True
364+
target = tmp_device_name_array
365+
result = None
366+
367+
for sublist in master_grid_array:
368+
for item in sublist:
369+
if item[1] == target:
370+
result = item
371+
break
372+
if result:
373+
break
374+
375+
for sublist in master_grid_array:
376+
for item in sublist:
377+
if item[1] not in used_device_array:
378+
# print('###used_device_array### ', item[1],used_device_array)
379+
if result[2] < item[2] + item[4] and result[2] > item[2]:
380+
# print('@@left type@@ ', item)
381+
flag_no_match = False
382+
if result not in vertical_key_array and result[1] not in used_device_array:
383+
vertical_key_array.append(result)
384+
used_device_array.append(item[1])
385+
386+
if result[2] + result[4] > item[2] and result[2] + result[4] < item[2] + item[4]:
387+
# print('@@right type@@ ', item)
388+
flag_no_match = False
389+
if result not in vertical_key_array and result[1] not in used_device_array:
390+
vertical_key_array.append(result)
391+
used_device_array.append(item[1])
392+
393+
if result[2] < item[2] and result[2] + result[4] > item[2] + item[4]:
394+
# print('@@big type@@ ', item)
395+
flag_no_match = False
396+
if result not in vertical_key_array and result[1] not in used_device_array:
397+
vertical_key_array.append(result)
398+
used_device_array.append(item[1])
399+
400+
if result[2] > item[2] and result[2] + result[4] < item[2] + item[4]:
401+
# print('@@small type@@ ', item)
402+
flag_no_match = False
403+
if result not in vertical_key_array and result[1] not in used_device_array:
404+
vertical_key_array.append(result)
405+
used_device_array.append(item[1])
406+
407+
if result[2] == item[2] and result[2] + result[4] == item[2] + item[4] and result[1] != item[1]:
408+
#print('@@equal type@@ ', item)
409+
flag_no_match = False
410+
if result not in vertical_key_array and result[1] not in used_device_array:
411+
vertical_key_array.append(result)
412+
used_device_array.append(item[1])
413+
414+
if flag_no_match == True and result[1] not in used_device_array:
415+
vertical_key_array.append(result)
416+
417+
#print('####vertical_key_array####')
418+
#print(vertical_key_array, len(vertical_key_array))
419+
420+
# Remove duplicates by converting lists to tuples, adding to a set, and converting back to lists
421+
vertical_key_array = [list(t) for t in set(tuple(item) for item in vertical_key_array)]
422+
vertical_key_array_2 = []
423+
for tmp_vertical_key_array in vertical_key_array:
424+
vertical_key_array_2.append(
425+
[tmp_vertical_key_array[0], '_AIR_', tmp_vertical_key_array[2], tmp_vertical_key_array[3],
426+
tmp_vertical_key_array[4], tmp_vertical_key_array[5], tmp_vertical_key_array[6], tmp_vertical_key_array[7],
427+
tmp_vertical_key_array[2] + int(tmp_vertical_key_array[4] * 0.5)])
428+
429+
vertical_key_array_2 = sorted(vertical_key_array_2, key=lambda x: x[8])
430+
#print('####vertical_key_array_2 ####')
431+
#print(vertical_key_array_2)
432+
433+
for tmp_master_grid_array in master_grid_array:
434+
# print('####### tmp_master_grid_array ########')
435+
# print(tmp_master_grid_array)
436+
437+
import copy
438+
updated_vertical_key_array_2 = copy.deepcopy(vertical_key_array_2)
439+
440+
for i, tmp_vertical_key_array_2 in enumerate(vertical_key_array_2):
441+
for tmp_tmp_master_grid_array in tmp_master_grid_array:
442+
443+
if tmp_tmp_master_grid_array not in updated_vertical_key_array_2:
444+
if tmp_vertical_key_array_2[2] + tmp_vertical_key_array_2[4] >= tmp_tmp_master_grid_array[2] and \
445+
tmp_vertical_key_array_2[2] <= tmp_tmp_master_grid_array[2]:
446+
updated_vertical_key_array_2[i] = tmp_tmp_master_grid_array
447+
break
448+
elif tmp_vertical_key_array_2[2] >= tmp_tmp_master_grid_array[2] and tmp_vertical_key_array_2[2] + \
449+
tmp_vertical_key_array_2[4] <= tmp_tmp_master_grid_array[2] + tmp_tmp_master_grid_array[4]:
450+
updated_vertical_key_array_2[i] = tmp_tmp_master_grid_array
451+
break
452+
elif tmp_vertical_key_array_2[2] + tmp_vertical_key_array_2[4] >= tmp_tmp_master_grid_array[2] + \
453+
tmp_tmp_master_grid_array[4] and tmp_vertical_key_array_2[2] <= tmp_tmp_master_grid_array[
454+
2] + tmp_tmp_master_grid_array[4]:
455+
updated_vertical_key_array_2[i] = tmp_tmp_master_grid_array
456+
break
457+
elif tmp_vertical_key_array_2[2] <= tmp_tmp_master_grid_array[2] and tmp_vertical_key_array_2[2] + \
458+
tmp_vertical_key_array_2[4] >= tmp_tmp_master_grid_array[2] + tmp_tmp_master_grid_array[4]:
459+
updated_vertical_key_array_2[i] = tmp_tmp_master_grid_array
460+
break
461+
elif tmp_vertical_key_array_2[2] == tmp_tmp_master_grid_array[2] and tmp_vertical_key_array_2[4] == \
462+
tmp_tmp_master_grid_array[4]:
463+
updated_vertical_key_array_2[i] = tmp_tmp_master_grid_array
464+
break
465+
466+
# print(updated_vertical_key_array_2,len(updated_vertical_key_array_2))
467+
updated_master_grid_array.append(updated_vertical_key_array_2)
468+
469+
print(updated_master_grid_array)
470+
471+
master_grid_array = copy.deepcopy(updated_master_grid_array)
472+
print('--- master_grid_array ---')
473+
print(master_grid_array)
474+
'''Addition completed(ver 2.2.2)'''
475+
344476
# make the tuple format
345477
tuple_grid_array = {}
346478
tuple_grid_array[start_row, 1] = master_grid_array[0][0][0]

0 commit comments

Comments
 (0)