muehhlllerr
07/09/2025, 8:09 AMotaolafr
07/09/2025, 8:09 AMmuehhlllerr
07/09/2025, 8:12 AMmuehhlllerr
07/09/2025, 8:12 AMmuehhlllerr
07/09/2025, 8:12 AMblades = geompy.CreateGroup(mainGeometry, geompy.ShapeType["FACE"])
loopAndGroup(blades,mainGeometry,subGeometry)
muehhlllerr
07/09/2025, 8:13 AMotaolafr
07/09/2025, 8:13 AMmuehhlllerr
07/09/2025, 8:14 AMmuehhlllerr
07/09/2025, 8:14 AMotaolafr
07/09/2025, 8:14 AMotaolafr
07/09/2025, 8:15 AMmuehhlllerr
07/09/2025, 8:17 AMotaolafr
07/09/2025, 8:18 AMotaolafr
07/09/2025, 8:20 AMmuehhlllerr
07/09/2025, 8:28 AMotaolafr
07/09/2025, 8:29 AMmuehhlllerr
07/09/2025, 8:45 AMmuehhlllerr
07/09/2025, 8:45 AMmuehhlllerr
07/09/2025, 8:45 AMotaolafr
07/09/2025, 8:46 AMotaolafr
07/09/2025, 8:59 AMimport os
pathOfFiles='/home/franco/Downloads/testSalome'
tolerance=1e-07
if not os.path.exists(pathOfFiles):
print('error pathOfFiles('+pathOfFiles+') does not exist. Stopping script')
stop
regionNames = [name for name in os.listdir(pathOfFiles) if os.path.isdir(os.path.join(pathOfFiles, name))]
patchNames=[[] for _ in regionNames]
patchObjects=[[] for _ in regionNames]
for nRegion,regionName in enumerate(regionNames):
patchNames[nRegion] = [f for f in os.listdir(os.path.join(pathOfFiles, regionName)) if f.endswith('.brep') and os.path.isfile(os.path.join(os.path.join(pathOfFiles, regionName), f))]
patchObjects[nRegion]=[geompy.ImportBREP(os.path.join(pathOfFiles, regionName,patchName)) for patchName in patchNames[nRegion]]
regions=[geompy.MakeSolid([geompy.MakeShell(patchObjectsOfRegion)]) for patchObjectsOfRegion in patchObjects]
completeGeometry = geompy.MakeGlueFaces(geompy.MakeCompound(regions), tolerance)
groups=[[geompy.CreateGroup(completeGeometry, geompy.ShapeType['FACE']) for patch in listOfPatchs] for listOfPatchs in patchObjects]
groupsObjects=[[geompy.GetInPlace(completeGeometry, patch, True) for patch in listOfPatchs] for listOfPatchs in patchObjects]
[[geompy.UnionList(group , [groupsObjects[nRegion][nGroup]] ) for nGroup,group in enumerate(groups[nRegion])] for nRegion in range(len(regionNames))]
groupsVolume=[geompy.CreateGroup(completeGeometry, geompy.ShapeType['SOLID']) for region in regionNames]
groupsVolumeObjects=[geompy.GetInPlace(completeGeometry, region, True) for region in regions]
[geompy.UnionList(groupsVolume[nRegion] , [groupsVolumeObjects[nRegion]]) for nRegion in range(len(regionNames))]
otaolafr
07/09/2025, 8:59 AMgeompy.addToStudy(completeGeometry,'completeGeometry')
[[geompy.addToStudyInFather( completeGeometry, group, patchNames[nRegion][nGroup].replace('.brep','')) for nGroup,group in enumerate(groups[nRegion])] for nRegion in range(len(regionNames))]
[geompy.addToStudyInFather( completeGeometry, groupsVolume[nRegion], regionName) for nRegion,regionName in enumerate(regionNames)]
otaolafr
07/09/2025, 8:59 AMotaolafr
07/09/2025, 9:00 AM.
├── multiRegionBrep.py
├── region0
│ ├── Face_10.brep
│ ├── Face_1.brep
│ ├── Face_3.brep
│ ├── Face_5.brep
│ ├── Face_6.brep
│ └── Face_8.brep
└── region1
├── Face_11.brep
├── Face_2.brep
├── Face_4.brep
├── Face_6.brep
├── Face_7.brep
└── Face_9.brep
i did only the geometry py. need to go back to work, from what i did you should have enought to continue aloneotaolafr
07/09/2025, 9:01 AMotaolafr
07/09/2025, 9:03 AMotaolafr
07/09/2025, 9:04 AMotaolafr
07/09/2025, 9:04 AMmuehhlllerr
07/09/2025, 9:09 AMotaolafr
07/09/2025, 9:09 AM