import os
from OCC.Core.STEPControl import STEPControl_Reader
from OCC.Core.VRMLCAFControl_Writer import VRMLCAFControl_Writer

input_folder = "/workspace"
output_folder = os.path.join(input_folder, "output")
os.makedirs(output_folder, exist_ok=True)

for file in os.listdir(input_folder):
    if file.lower().endswith(".stp"):
        step_path = os.path.join(input_folder, file)
        wrl_name = os.path.splitext(file)[0] + ".wrl"
        wrl_path = os.path.join(output_folder, wrl_name)

        print(f"Dönüştürülüyor: {file}")
        reader = STEPControl_Reader()
        reader.ReadFile(step_path)
        reader.TransferRoot()
        shape = reader.OneShape()

        writer = VRMLCAFControl_Writer()
        writer.Transfer(shape)
        writer.Write(wrl_path)

        os.remove(step_path)
        print(f"Tamamlandı: {wrl_path}")
