Fusion360Exporter icon indicating copy to clipboard operation
Fusion360Exporter copied to clipboard

Feature: Export assemblies with external components as f3z

Open BoraMD opened this issue 11 months ago • 4 comments

Can't open assemblies that got external references on f3d format (I don't know if there is a way please tell me.).

Image

It gives this error but if there was a choice to export assemblies as f3z format that would be very usefull.

BoraMD avatar Jan 24 '25 11:01 BoraMD

Hmm interesting, from a quick look my notes are:

that does seem annoying you can't even import it and then get a chance to fix the references

aconz2 avatar Jan 24 '25 20:01 aconz2

Does f3z include any reference data to it or just renamed zip file? If thats the case I can just package all referenced f3d files into one zip. https://forums.autodesk.com/t5/fusion-design-validate-document/f3d-grabcad-file-won-t-open-need-debug-mode/td-p/10547210 in this forums post there is file called XRef. I don't know fusion file structure but maybe that will be helpful.

BoraMD avatar Jan 25 '25 14:01 BoraMD

Hmm my read of that is that the XRef is a folder (or is it named _XRef_ can't tell) that has all the referenced f3d files inside, I guess with the top level component in the root so maybe something like

assembly.f3d
XRef/part1.f3d
XRef/part2.f3d

and then that gets zipped.

Maybe try creating a simple assembly and exporting as f3z and then unzipping and see what you get. I haven't been using fusion at all recently so would appreciate anything you find out; but my curiosity might get the best of me and I'll take a look when I get a second.

aconz2 avatar Jan 25 '25 16:01 aconz2

Okay I got curious, here is what I found

Unzipping a simple test assembly f3z with 1 linked component gives the following files (no folder structure)

a27aac9d-74c0-455e-b097-98eba85a4292.f3d
ac0b0f2a-0753-4507-9b92-32e1ad7888ac.f3d
DesignDescription.json
Manifest.json
where DesignDescription.json looks like
{
    "name": "Autodesk Design Description",
    "version": "0.1",
    "designDescription": {
        "id": "0",
        "name": "XRef File Design",
        "currentVersion": "1",
        "designGraphs": [
            {
                "creationDate": "2025-01-30T22:25:43+0000",
                "creatingService": "wipdm",
                "rootIds": [
                    1176467
                ],
                "designObjectRefs": [],
                "designObjects": [
                    {
                        "id": 1176467,
                        "version": 1,
                        "about": "urn:adsk.wipprod:fs.file:vf.kNjb-UAkTYWz2ChBNzccvA?version=1",
                        "lineage": "urn:adsk.wipprod:dm.lineage:kNjb-UAkTYWz2ChBNzccvA",
                        "from": "urn:adsk.objects:os.object:wip.dm.prod/18cd2fdb-80c5-4d55-b9d4-758125477984.f3d",
                        "relativePath": "a27aac9d-74c0-455e-b097-98eba85a4292.f3d",
                        "downloadAs": "a27aac9d-74c0-455e-b097-98eba85a4292.f3d",
                        "friendlyName": "assembly-test-up",
                        "displayName": "assembly-test-up",
                        "zipped": false,
                        "rootFile": "",
                        "contentType": "f3d",
                        "shareInfo": null,
                        "references": [
                            {
                                "type": "XREF",
                                "ids": [
                                    1176468
                                ],
                                "relationships": [
                                    {
                                        "id": 1176468,
                                        "metadata": {
                                            "neutronRole": "70802029-2a80-48de-93da-a2f3351f9c40"
                                        }
                                    }
                                ]
                            }
                        ],
                        "metadata": {
                            "rootFileName": "assembly-test.f3d",
                            "thumbnailStatus": "REGISTERED",
                            "EIPContext": "{}",
                            "translateChannel": "convert-fusion-r05",
                            "description": "Updated From Offline Mode",
                            "isAutoSave": "false",
                            "viewableChannel": "viewing-f3d-lmv",
                            "LibraryMemberItemInfo": "",
                            "DesignModelRevisionID": "f14ff86e-3a2a-4262-8d04-2097e3bc666e"
                        },
                        "createdAt": "2025-01-30T22:24:53+0000"
                    },
                    {
                        "id": 1176468,
                        "version": 3,
                        "about": "urn:adsk.wipprod:fs.file:vf.YF8BIjbBTsy-242mPyi19Q?version=3",
                        "lineage": "urn:adsk.wipprod:dm.lineage:YF8BIjbBTsy-242mPyi19Q",
                        "from": "urn:adsk.objects:os.object:wip.dm.prod/3cb4c8f8-ae60-4b81-85ed-1ce4990bce37.f3d",
                        "relativePath": "ac0b0f2a-0753-4507-9b92-32e1ad7888ac.f3d",
                        "downloadAs": "ac0b0f2a-0753-4507-9b92-32e1ad7888ac.f3d",
                        "friendlyName": "time-testing-up",
                        "displayName": "time-testing-up",
                        "zipped": false,
                        "rootFile": "",
                        "contentType": "f3d",
                        "shareInfo": null,
                        "references": [],
                        "metadata": {
                            "rootFileName": "time-testing\".f3d",
                            "thumbnailStatus": "REGISTERED",
                            "EIPContext": "{}",
                            "translateChannel": "convert-fusion-r05",
                            "description": "User Saved",
                            "isAutoSave": "false",
                            "viewableChannel": "viewing-f3d-lmv",
                            "LibraryMemberItemInfo": "",
                            "DesignModelRevisionID": "afc59031-1fd0-43bb-9641-2c3cab8b1346"
                        },
                        "createdAt": "2024-12-03T16:10:05+0000"
                    }
                ]
            }
        ]
    }
}

and Manifest.json looks like

{"root":"a27aac9d-74c0-455e-b097-98eba85a4292.f3d"}

from the linked forum post, I played with the "view text commands", then Options.DebugEnvironment /show, then you can open an f3z locally. Doing that does unpack the f3z into a folder with an _XREF_ folder so that's interesting.

I played around with knocking out some of the parts of the description json and could get it to import with a different name for example (by then rezipping the files and renaming to .f3z). Interestingly, even when I created an f3z that only had the root component and removed the linked component from the description json, it seemed to still work and not have a broken link. I'm not really sure where the about, lineage, or from urn/id's come from and how important they are

aconz2 avatar Jan 30 '25 23:01 aconz2