Import custom subassembly

Thanks alot @david_licona Got to know the mistake i was doing, so to summaries my understanding one need to use Importstock and importsubassembly node to assign it to the assembly both inbuilt and custom subassemblies respectively, irrespective of it is being imported in your toolpalettes.

Continuing the discussion from Please tell me how to use the Assembly.AddSubAssembly node:

Was able to get it working for civil 3D stock subassemblies but getting attached error for custom subassembly (log file is also attached). Autodesk_Civil3DToolkit.txt (13.6 KB)

Log Error:
Parameter name: fileName at Autodesk.Civil.Checker.CheckArgExistingFileName(String fileName, String[] fileExtensions)

  • at Autodesk.Civil.DatabaseServices.SubassemblyCollection.ImportSubassembly(String subassemblyName, String atcFilePath, String itemId, Point3d location)*
  • at Autodesk.Civil.DynamoNodes.CorridorExtensions.Subassembly.ImportSubassembly(String toolName, String name, Point location) in D:_Civil3D\Civil3DToolkit\Civil3DToolkit\src\Autodesk.Civil3DToolkit\Civil3DToolkit\Civil3D\Assembly.cs:line 1151*
    [2/27/2021 11:22:31 AM] ERROR: Could not find unassigned subassembly ‘JENG_GG184_General_Carriageway’
    [2/27/2021 11:24:40 AM] ERROR: Could not find unassigned subassembly ‘JENG_GG184_General_Carriageway’

Hi @shahid.shaikh_C3D, read from here Civil 3D Toolkit Feedback thread - #672 by Drbohlav
I hope it can help you.

Thanks @Drbohlav for reply, Generally i follow Toolkit feedback extensively, not sure how i missed on this.

Anyway its still not working for me, seems i need to post this on toolkit feedback for enumeration conversion issue.

Are the subassemblies in the default folder?

@Paolo_Emilio_Serra1 Sorry but by default folder do you mean bellow path ? If Yes

then No the subassemblies are not in default folder its been imported from some other folder.

Hi @shahid.shaikh_C3D, Are they imported to your tool palette?

@Drbohlav yes, they are imported to tool palette but from other drive/folder.

In my opinion, question from Paolo was about this path %APPDATA%\Roaming\Autodesk\C3D 2021\enu\Support\ToolPalette\Palettes

Ok, then in that case its there and from that only above atc files have been copied and shared.

Actually this is not the path!
It is defined under AECCContent_Dir, one can get it from the system registry


There is an Imported Tools folder that contains the subassemblies. That is where the Civil 3D Toolkit reads the definitions.


Seems the Dir file is missing at bellow path for me …

click under enu… (that’s the install language US english)

Nothing under enu too …

There you have your reason

Ok in that case i need to speak to our IT team and get this Dir File i guess …or know the reason why its missing.

Thanks alot Paolo for all your help.

@Paolo_Emilio_Serra1 …seems above directory file is there in system registry. But still not able to get imported subassemblies. Can you please have a look when you get time.


and also i can see the imported tools folder with custom subassemblies as requested above.

Reposting it again for Wider team,

Can anyone please test and confirm if importsubassembly node is working for them ? and if yes can someone guide me to the right path ? i am still wondering what i am missing in the process.

The tool name and the folder are different this will cause a headache.
In any case: the path is “C:\ProgramData\Autodesk\C3D 2020\enu\Imported Tools”
The Tool Name is “Kerb_Type B” (no underscore after Type)
But then the class name is Subassembly.Kerb_Type_B (with the underscore)

1 Like

Thanks @Paolo_Emilio_Serra1 for the reply,

finally it worked with an error but got to know the missing part too.

Hi @Paolo_Emilio_Serra1 ,

This solution doesn’t seem to work for me, I tried to match everything like is done above. The enu folder does exist in my situation so i didn’t change anything in that folder. Do i miss something or is there another error occurring in my situation?