Feature: Export assemblies with external components as f3z
Can't open assemblies that got external references on f3d format (I don't know if there is a way please tell me.).
It gives this error but if there was a choice to export assemblies as f3z format that would be very usefull.
Hmm interesting, from a quick look my notes are:
- there is no direct API for export as f3z
- f3z are just zip files
- using document.allDocumentReferences or document.documentReferences should be able to walk over all linked documents and export them into a folder and then zip
- or break the link like in this sample might/should export all the referenced components as if they were in the original document and exportable/importable as f3d
that does seem annoying you can't even import it and then get a chance to fix the references
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.
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.
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