import argparse from helper.fs import FS from src.model.asm4_structure import Asm4Structure from src.usecases.asm4_to_assembly_use_case import Asm4ToAssemblyUseCase from src.usecases.assembly_to_pddl_use_case import AssemblyToPddlUseCase if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('--asm4Path', help='asm4 json FreeCad') parser.add_argument('--outPath', help='save pddl path') args = parser.parse_args() if args.asm4Path == None or args.outPath == None: parser.print_help() data = FS.readJSON(args.asm4Path) asm4 = Asm4Structure.parse(data) asm4usecase = Asm4ToAssemblyUseCase().call(asm4) assemblyToPddlUseCase = AssemblyToPddlUseCase.call(assembly=asm4usecase['asm'],rootLabel=asm4usecase['rootLabel']) FS.writeFile(assemblyToPddlUseCase['problem'] ,args.outPath, 'problem.pddl') FS.writeFile(assemblyToPddlUseCase['domain'] ,args.outPath, 'domain.pddl')