Solved

How to convert Collada / 3ds single sided faces to double-sided faces?


Badge

Hi,

Any idea how to convert Collada / 3ds single sided faces to double-sided faces?

Thanks,

Y.

icon

Best answer by daveatsafe 12 June 2018, 19:32

View original

4 replies

Userlevel 2
Badge +17

Hi @yaniv,

For 3DS, create a 3DS to 3DS workspace, then set the writer parameter Two Sided Meshes to 'Yes'. Run the workspace to convert the single sided file to a new double sided file.

Collada is a little trickier, since FME's Collada writer currently does not support double sided surfaces. I have created an enhancement request to add this support, and will notify you when this is complete.

However, Collada is an XML format and FME has a lot of useful XML tools. I am attaching a workspace that uses the XMLUpdater transformer to update the Collada file to double sided.

doublesidecollada.fmw

Badge

Thanks, Dave.

 

But unfortunately, writing the 3ds to 3ds as Two Sided did not solve my issue. the Inspector still shows single side model. some of the "walls" appear unoriented.

Attached is the original DAE that I was trying to fix by converting to 3DS, and the resulted 3DS before writing it back to write it again as double-sided.

 

I even tried to force the DAE to 2D (to get Areas) and Orient the Areas, with no luck. see Collada_Force2D_Orient_3ds.fmw.

I really appreciate your (urgent) help.

Thanks,

Yaniv

 

collada-force2d-orient-3ds.fmwfme-collada-3ds.zip
Userlevel 2
Badge +17

Hi @yaniv,

In Collada, double-sidedness seems to be a trait of the appearance, rather than of the geometry. Your Collada model has no appearances set on it, so you must add these first, then run the DoublesideCollada workspace to modify the appearances to double-sided.

If you don't want to add appearances, you can duplicate the geometries and reverse the second copy to create a back side. The downside to this is that you double the size of the model.

More generally, to force a surface to be double sided in FME, you can use the GeometryColorSetter to set a color on both sides of the surface. You can then use an AppearanceRemover to remove the color, while keeping the double-sidedness.

However, this will not work with Collada, since FME currently can only write the surface to Collada as single sided.

Badge
Hi @DaveAtSafe

 

 

Thanks for your help!

 

Y.

Reply