AutodeskAILab / JoinABLe

JoinABLe: Learning Bottom-up Assembly of Parametric CAD Joints
68 stars 14 forks source link

Problems about Multi-part assembly in paper #7

Open QuanYuhan opened 1 year ago

QuanYuhan commented 1 year ago

Hello,

First of all thanks for sharing such great work.

I try to reproduce the part about multi-part assembly in the paper (Sec 6 and Appendix A.3.1). I first tried to use the Assembly Dataset - Joint Data and the joint2cad script to build the joint parts , and tried to further perform the joint axis prediction task.

In order to perform the joint axis prediction task, I refer to the code of regraph script , trying to extract features from the joint parts, but I found that, in Fusion 360, after I import the joint part, since it is no longer a single part, I cannot use the regraph script to extracts features, including the types of surfaces and curves. Specifically, after importing an assembly's step file, the object appears to have no solid bodies. My fusion 360 script code is as follows

app = adsk.core.Application.get()
adsk.doEvents()

for doc in app.documents:
    doc.close(False)
design = adsk.fusion.Design.cast(app.activeProduct)

reconstruction = design.rootComponent.occurrences.addNewComponent(adsk.core.Matrix3D.create())
reconstruction.activate()
adsk.doEvents()

import_options = app.importManager.createSTEPImportOptions(file_path)
import_options.isViewFit = False
imported_designs = app.importManager.importToTarget2(import_options, design.rootComponent)
target = imported_designs[0]

In this code, there is no object in target.bRepBodies, which prevents me from getting the required features for the JoinABLe model. I upload the step file in this Google Drive link, and here is the debug information

1682655295228

Since I am not familiar with Fusion 360 api, I just simply modified the existing script file. Is there something wrong with my script, or does assembly feature extraction require some other method. Or can you give some more details about multi-part assembly.

Thanks in advance

preethamam commented 6 months ago

@QuanYuhan, were you successful in the multi-part assembly procedure? I'm wondering how to proceed with three or more parts.