framework/pddl/main.py

27 lines
974 B
Python
Raw Normal View History

2023-03-05 16:58:37 +03:00
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')