Skip to main content

Hi, this is a beginner question. I couldn't find relevant tutorials for converting 3d formats including some basic information and hierarchy. For example:

* Object names

* Instancing

* Materials

* Textures.

* Metadata

* Transforms or scene hierarchy

Ideally I would be converting 3d objects inside DWG files into GLTF that I could then import into a game engine. Possibly any example would get me past my mental block though, and could be generalised to other formats?

 

 

Hi @peterd,

We have webinar available that covers the basics of 3D in FME that might be useful. It includes sample workspaces and data as well:

https://www.safe.com/webinars/3d-fme/

I am also happy to help with any questions you may have afterwards.


Hi @daveatsafe

Some progress, but im losing transform info I assume was in the original. I would like a box to come through with simple axis aligned vertices and a transform that orients it. Any suggestions?

 

What I have so far:

I can break up a DWG into a directory of GLTF files, and fixed some too-large float issues using

reader(realdwg)-->Aggregator(by autocad_block_number)-->BoundsExtractor-->Offsetter( subtract lower bounds) -->writer(GLTF, feature type name = autocad_block_number)

These are nice and near the origin, but I think their transforms are now baked into the vertices.

 


Hi @daveatsafe

Some progress, but im losing transform info I assume was in the original. I would like a box to come through with simple axis aligned vertices and a transform that orients it. Any suggestions?

 

What I have so far:

I can break up a DWG into a directory of GLTF files, and fixed some too-large float issues using

reader(realdwg)-->Aggregator(by autocad_block_number)-->BoundsExtractor-->Offsetter( subtract lower bounds) -->writer(GLTF, feature type name = autocad_block_number)

These are nice and near the origin, but I think their transforms are now baked into the vertices.

 

Hi @peterd,

I think it would be the DWG reader baking the transforms, but I would need to look at the DWG file to be certain.

If the coordinate values are too high for the 32 bit coordinates used in most 3D formats, it's possible that the DWG data is in a projected coordinate system. If that is the case, FME may be able to detect the coordinate system, or you can set it on the reader parameters. With the coordinate system set, you can use the CommonLocalReprojector to reproject to a local coordinate system centred on the data, which will offset the coordinate values for you. FME will use this to set to world location when outputting to 3D formats that support it (ie. Sketchup, Cesium).


Reply