Interchange Framework Component Access

Hi, I am trying new Interchange Framework on Unreal Engine 5.2.1 to import .stp like CAD files.

Datasmith CAD based import system can attach imported static meshes and scene components to anchor object in Outliner but I can’t use Get All Children Components like functions on them because they are not directly related with anchor’s default scene component.

We need this kind off accesses to fix BRep and Pivot problems in runtime.
Is there any way or plan to access these assets ?

Even if I can add a tag to imported meshes and scene components, it can solve our problems.

//
BRep Problem:
If you import a CAD file to Unreal Engine, parts come as one scene component and one static mesh component. This is a wrong structure. Scene components should be used only for sub-assemblies. So, I have C++ function to fix this.
It checks all children components. If a scene component has only one static mesh, function will attach that mesh to its grand parent and rename it with old parent’s (scene component’s) name.

(if I import 3Ds Max / CAD Exchanger / CAD Assistant based glb file with glTFRuntime or Solidworks 2022 based udatasmith with Datasmith Runtime, this problem doesn’t occurs.)

Pivot Problem:
Most of time imported static meshes’ pivot locations are 0,0,0 but their geometrical center is different. So, I have another function to solve this.

I can solve both of them but as I say before, I need access these assets.
I don’t think this is only mine problem. Currently we can only visualize our assets.

//
Also packaged project gives Fatal Error with interchange functions. I added /Interchange to additional asset cook and disabled Datasmith Runtime.
I think future releases can solve this but accessing assets are really problematic.

Hello,
what about a get attached actors, with recursive on + get components by class.

We are going to rework the CAD interchange so you might get more option in a few engine version.
For other interchange import, gltf obj FBX, there is an option to bind an event that would return all created object post import. But that is not available in CAD interchange.

for the Fatal error on interchange functions we are doing some fixes.

But if we have other actor components (for example multiple assembiles), this won’t allow us to filter them.
So, importing them as children components or giving them tags based on assembly name can allow us to filter them, am I wrong ?

For example a factory casting unit can contains multiple machines such as robots, conveyor belts and presses.

// You got attached actors from anchor. if I use unique anchor for each assembly, it can work.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.