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
|
||||
from helper.fs import FS
|
||||
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.usecases.sdf_sub_assembly_usecase import SdfSubAssemblyUseCase
|
||||
|
||||
import os
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--generationFolder', help='FreeCad generation folder')
|
||||
|
|
|
@ -8,8 +8,7 @@ import json
|
|||
import re
|
||||
|
||||
|
||||
def toUrdf(el: GeometryModel):
|
||||
return el.toUrdf()
|
||||
|
||||
|
||||
|
||||
URDF_FILE_FORMAT = '.urdf'
|
||||
|
@ -17,26 +16,9 @@ URDF_GENERATOR_FILE = 'urdf-generation' + '.json'
|
|||
|
||||
class UrdfSubAssemblyUseCase(Assembly):
|
||||
def call(self, geometryModels: list[GeometryModel], assembly: list[str], outPath: str, generationFolder: str, world: bool):
|
||||
dirPath = outPath + Enum.folderPath
|
||||
dirPath = generationFolder + Enum.folderPath
|
||||
asm = {}
|
||||
generateSubAssemblyModels = self.generateSubAssembly(assembly)
|
||||
inc = 0
|
||||
for key, value in generateSubAssemblyModels.items():
|
||||
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),
|
||||
for el in geometryModels:
|
||||
asm[el.name] = el.toUrdf()
|
||||
FS.writeFile(data=json.dumps(asm,indent=4),
|
||||
fileName=URDF_GENERATOR_FILE, filePath=dirPath)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue