rewrote URDF generation
This commit is contained in:
parent
502e7a8d76
commit
c1e7882cbb
2 changed files with 5 additions and 25 deletions
|
@ -2,14 +2,12 @@ import argparse
|
||||||
import shutil
|
import shutil
|
||||||
from helper.fs import FS
|
from helper.fs import FS
|
||||||
from src.usecases.urdf_sub_assembly_usecase import UrdfSubAssemblyUseCase
|
from src.usecases.urdf_sub_assembly_usecase import UrdfSubAssemblyUseCase
|
||||||
# from src.usecases.sdf_generate_world_usecase import SdfGenerateWorldUseCase
|
|
||||||
from src.model.sdf_geometry import GeometryModel
|
from src.model.sdf_geometry import GeometryModel
|
||||||
from src.usecases.sdf_sub_assembly_usecase import SdfSubAssemblyUseCase
|
from src.usecases.sdf_sub_assembly_usecase import SdfSubAssemblyUseCase
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument('--generationFolder', help='FreeCad generation folder')
|
parser.add_argument('--generationFolder', help='FreeCad generation folder')
|
||||||
|
|
|
@ -8,8 +8,7 @@ import json
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
|
||||||
def toUrdf(el: GeometryModel):
|
|
||||||
return el.toUrdf()
|
|
||||||
|
|
||||||
|
|
||||||
URDF_FILE_FORMAT = '.urdf'
|
URDF_FILE_FORMAT = '.urdf'
|
||||||
|
@ -17,26 +16,9 @@ URDF_GENERATOR_FILE = 'urdf-generation' + '.json'
|
||||||
|
|
||||||
class UrdfSubAssemblyUseCase(Assembly):
|
class UrdfSubAssemblyUseCase(Assembly):
|
||||||
def call(self, geometryModels: list[GeometryModel], assembly: list[str], outPath: str, generationFolder: str, world: bool):
|
def call(self, geometryModels: list[GeometryModel], assembly: list[str], outPath: str, generationFolder: str, world: bool):
|
||||||
dirPath = outPath + Enum.folderPath
|
dirPath = generationFolder + Enum.folderPath
|
||||||
asm = {}
|
asm = {}
|
||||||
generateSubAssemblyModels = self.generateSubAssembly(assembly)
|
for el in geometryModels:
|
||||||
inc = 0
|
asm[el.name] = el.toUrdf()
|
||||||
for key, value in generateSubAssemblyModels.items():
|
FS.writeFile(data=json.dumps(asm,indent=4),
|
||||||
keyAsm = int(re.findall(r'\d', key)[0])
|
|
||||||
inc += 1
|
|
||||||
if value['assembly'].__len__() != 0:
|
|
||||||
model: Optional[GeometryModel] = listGetFirstValue(
|
|
||||||
geometryModels, None, lambda x: x.name == value['assembly'][0])
|
|
||||||
|
|
||||||
if model != None:
|
|
||||||
|
|
||||||
urdfs = list(map(toUrdf, filterModels(
|
|
||||||
geometryModels, value['assembly'])))
|
|
||||||
urdfs.append(listGetFirstValue(
|
|
||||||
geometryModels, None, lambda x: x.name == value['part']) .toUrdf())
|
|
||||||
asm[keyAsm] = urdfs
|
|
||||||
|
|
||||||
self.copy(generationFolder=generationFolder,
|
|
||||||
format='/sdf', outPath=outPath)
|
|
||||||
FS.writeFile(data=json.dumps(asm),
|
|
||||||
fileName=URDF_GENERATOR_FILE, filePath=dirPath)
|
fileName=URDF_GENERATOR_FILE, filePath=dirPath)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue