import sys, time, pickle sys.path += ['/root/.local/lib/python3.13/site-packages','/usr/local/lib/python3.13/dist-packages','/usr/lib/python3/dist-packages'] from build123d import import_step, Face import numpy as np shape = import_step("/mnt/user-data/uploads/97.과제/Code/3d-drawing/model/tunnel_solids.step") solids = shape.solids() pickle_out = {} import json meta=json.load(open('/mnt/user-data/uploads/97.과제/Code/3d-drawing/model/tunnel_solids_meta.json')) comps=[c for c in meta['components'] if c['group']!='시설한계(참조선)'] print("non-clearance comps", len(comps)) # match by volume greedily in meta order used=set(); mapping={} for c in comps: best=None;bd=1e9 for j,s in enumerate(solids): if j in used: continue d=abs(s.volume-c['volume_m3']) if d