Datasmith: Import CAD as Blueprint (with all actors in the scene as components)

Is it possible to import a CAD file with Datasmith and create a blueprint from it with all actors as blueprint components ?

The struct returned by Import Scene seems to suggests it is possible. I even get a valid UBlueprint from it, but I have no idea what to do to create and save an asset from it.

sadly this output pin is related to an old feature that is not supported anymore.

There is currently no option to convert your imported product tree in a blueprint as you would do through the “Import into level” option.
This is something that has been logged as a requested feature.

In the mean time you can select the top of the hierarchy in your world outliner, select all descendants (Ctrl+shift+d), and then “Convert Selected components to a Blueprint Class”

Thank you for the tip, didn’t know this option was there! This will do for now :slight_smile:

I had to look this up because it was so long ago since I used it, but this worked fine.

I know that automatic converting to a Blueprint Actor wasn’t a feature in regular Datasmith, but now when you are actively developing Dataprep, I hope that you would consider this as a worthy feature once more (especially with robust re-import support).

Hi Flavien, since you seem to have a deeper understanding about the datasmith-blueprint workflow: I am importing my files via direct link from rhino and then convert them to blueprint for animation/spawning. but when I now update the Files in Rhino, the Meshes in the Blueprint are not updated. Is there a way to push that?

When you create a blueprint it will take a snapshot of your scene at that moment. Once you have created your blueprint it does not track where it came from.
So if it updates it depends how the modification you do in Rhino is conveyed to UE.

  • If you do a translation, rotation or scale, those are change in the transform of the datasmith scene. Your blueprint are not aware of them.
  • If you do some operation on mesh like: moving face, edges etc. The updated geometry will be transfered to UE as a modification of an existing static mesh and thus you will see the change in your blueprint as it is using the same geometry assets.
  • If you do some other operation like a boolean difference, it seems datasmith will transfer the modified mesh as a new asset, thus your datasmith scene will refer the new static mesh and look good while your blueprint is still using the old static mesh that was not modified.

Thank you Flavien, that´s very helpfull to understand. Because some things clearly changed when I updated them but I never realy understood which parts.

So my workflow now was to create a blueprint out of a datasmith hierarchy to make it spawnable for animations but that would break the update process. Is there any other way to set this up? I don´t need Blueprint functionality, just the simplification of one actor and not the whole Hierarchy

Also it might interest you that if I do UV map changes in Rhino, they are not updated unless I destroy the original object and replace it with a copy (I ususally mirror/Copy the object, delete the old one and Mirror/Copy the new one in place). Quite weird but I havent found any other workaround