import bpy, sys
a=sys.argv[sys.argv.index("--")+1:]
bpy.ops.wm.read_factory_settings(use_empty=True); bpy.ops.import_scene.gltf(filepath=a[0])
for o in list(bpy.context.scene.objects):
    if o.type=="MESH" and o.name.startswith("Ico"): bpy.data.objects.remove(o)
me=[o for o in bpy.context.scene.objects if o.type=="MESH"][0]; MW=me.matrix_world
vs=[MW@v.co for v in me.data.vertices]
for z in (1.9,1.8,1.7,1.6,1.5,1.4,1.3,1.18,1.05,0.9,0.75,0.6,0.45):
    row=[]
    for sg in (1,-1):
        sl=[p for p in vs if abs(p.z-z)<0.03 and sg*p.x>0.5]
        row.append("%s n=%4d ctr(%.2f %.2f) x %.2f..%.2f y %.2f..%.2f"%("L" if sg>0 else "R",len(sl),sum(p.x for p in sl)/max(1,len(sl)),sum(p.y for p in sl)/max(1,len(sl)),min([p.x for p in sl] or [0]),max([p.x for p in sl] or [0]),min([p.y for p in sl] or [0]),max([p.y for p in sl] or [0])))
    print("AXIS z=%.2f | %s | %s"%(z,row[0],row[1]))
for z in (1.0,1.2,1.4,1.6):
    sl=[p for p in vs if abs(p.z-z)<0.03 and abs(p.x)<0.35]
    print("TORSO z=%.2f n=%d ctr y=%.2f y %.2f..%.2f"%(z,len(sl),sum(p.y for p in sl)/max(1,len(sl)),min(p.y for p in sl),max(p.y for p in sl)))
