Jump to content
  • 1
James Russell

Exporting Double Sided Normals - Taking sides...

Question

Hey superstars of the VW forums,

I'm currently working on several random ventures, one of which relies heavily on some exports I'm doing from VW into the .3ds and .fbx formats.

My query relates to how VW handles rendering and exporting the normals of a surface.

Most of my current exports come out looking like they are missing half their data. On further inspection it's just that the surfaces are inverted, often facing inwards of the object. Even some of the most basic cubes end up with half the sides facing out and half facing in.

Have any of you had success with;

A) Creating Double Normals, so that both sides of an object theoretical planar surfaces are rendered (yes double surface data I know).

B) Reversing Normals, to face them to the exterior of an object. (To push them outwards of a central point)

I have tried all the typical formats (.3ds .fbx .dwg .dae) and none of them have export settings relating to this data, nor is there any difference in the outcome.

Hope you're all well.

J

Share this post


Link to post

16 answers to this question

Recommended Posts

  • 0

Not an answer to your question, but I found several older threads discussing this topic (which should be considered a 'bug'):

Clean up Vw's Sloppy Solids Tools

2016 Stairs

DXF Export - All face Normal Flipped?

In order to have double normals, I think you'd have to create an exact copy of your geometry with the faces reversed; which sounds like a nightmare as it would only make things worse. The double faces cannot occupy the exact same space as you would get the constant flickering (Z-fighting) that you get with coincident geometry.

Reversing normals in Vectorworks would be the best option, but unfortunately this is not a function that we currently have. Plug-in objects, like the Stairs, don't allow any control over the surface normals, and the Stair is notoriously known for creating messy 3D geometry on export.

My two cents.

Edited by rDesign

Share this post


Link to post
  • 0

Tim,

Two cents is infinitely bigger than no cents. :)

I too had found some of these older topics, but none actually suggest a true plausible fix, particularly should this be everyday routine as it's becoming now throughout my testing and development projects.

There is functionality in blender to redirect normals from a central point but alas this only works on objects that are purely outward facing.

I really need each geometric object, as a baseline upon creation, to be generated with its normals facing outwards, from the centre of lowest common root object.

I've attached an image of the most common form of inverted normals occurring on exported mesh objects. Note this object is a test object, in a test scene exported directly from VW. The cabinets shown are taken from the VW standard library.

Any other feedback/suggestions most welcome!

Share this post


Link to post
  • 0

Sadly, that's about what I'd expect with exported geometry from Vectorworks. Aside from the cabinets, the door frame is reversed, as well as the window frame and the chair cushion. At least half of the faces in your test scene are reversed, which is not acceptable.

I think the problem lies entirely with how these plug-in objects were coded, way back in the last century.

The reason why there hasn't been a solution for this problem is that the only way it can be fixed is for Vectorworks to rewrite the code for these plug-in objects so that they creates proper 3D geometry in the first place.

Share this post


Link to post
  • 0

I started one of those earlier threads and have had trouble with normals in the past. Its gotten a lot better VW2015 and VW2016.

If you have specific examples I would make sure to get them into JimW's hands. I suspect that .3ds is considered a legacy format by VW and may not get updated. .fbx is relatively new and those instances should definitely be brought forward as bugs.

Kevin

Share this post


Link to post
  • 0

Kevin,

I totally agree that exportation has gotten better over these versions, but as Tim suggests it still has flaws evident everywhere.

Attached are two of the most basic examples I can make and a complex. You can from these see the very foundation of problems.

The first shows the base of an object missing. The creation of this object in VW consisted of creating a 100mm x 100mm Square, then extruding to 150mm, then choosing to export to .fbx.

The result seems to be that the base of the object has an inward/upward facing normal, most probably due to the extrusion leaving the planar object and then duplicating surfaces around/above it.

The second example is a little trickier (not). Draw a cuboid as above Front Elevation, mirror to the right, export to .fbx. The result is a flipped normal on the polar opposite side.

Onto the more complex (not really but compared to the above).

The basic bridge shown here in both Vectorworks and then again in Unity (note it is the same result in 3DsMax and Blender).

The OpenGL in VW appears fine. The exported .fbx is far from it. Several missing surfaces, most caused by mirroring. Some of them occur within solid subtractions, some within solid additions. I find that only 1 in 5 object that I create in Vectorworks with (appox) 3 translations (be it an addition, subtraction, then addition of solids for example) actually translate correctly.

J

Edited by James Russell

Share this post


Link to post
  • 0

These are pretty straight forward examples. I would consider this a bug. I would send the VW file and the exported file of each of these to NV or post them here and ask JimW to take a look.

Most of my normal issues showed up when I was exporting to STL. As you say, solid operations (additions / subtractions) are where they show up most. Mirroring can also cause issues.

If you post those examples here I'd be interested to see if the same geometry causes issues in C4D and when exported as STL. The issues may be specific to the FBX export module.

Kevin

Share this post


Link to post
  • 0
Hey superstars of the VW forums,

Most of my current exports come out looking like they are missing half their data.

There are multiple issues, depending on Export.

For Windows and Slabs, by DXF (or DWG without ACIS Soldis option)

there ARE Faces missing. For example Window Sashes front and backfaces

have borders from 2 point Polys only (=lines) so the actual Faces are

missing.

It looks like for C4D and FBX export NO Faces are missing.

But ! any Extrude has a flipped Top Face !

(or Bottom Face if extruded negative)

As Extrudes seem to be also used in Architectural Tools like Windows, Stairs and Slabs,

these will have also flipped Faces. For example window glass* is made by an Extrude.

If you care about correct face orientation, don't use Extrudes or BIM Tools.

Convert everything to "Add/Substract Solids" or Generic Solids,

these work fine by C4D/FBX Export.

(But don't use these in DXF as Vertices will not get welded :) )

This does not effect VW Rendering as well as RW Rendering Modes.

Because C4D Engine as C4D itself doesn't care much about Face Orientation for

Rendering and uses 2-sided Materials by default.

(I have seen problems rendering in C4D though, if these flipped Faces are near to

other Faces though - like for multi component Slabs)

But even in C4D, these flipped Faces cause problems when you try to bevel edges.

And every serious 3 App gets problems with GI calculation or *IOR Refraction.

(Modo, VRAY, ....)

Flipped Faces are just wrong.

I rant about these since I started with VW 2014.

As tedious it is that C4D/FBX exports each Solid of a Class separately, by this way,

Modo does a perfect job finding and re-aligning all those flipped Faces.

You can select the whole imported Geometry at one time and run the align

command in one go :)

Edited by zoomer

Share this post


Link to post
  • 0

1) Please do get specific examples with repeatable failures to me, those are the most useful to engineering to tweak and tune things. Some are special case scenarios but others end up being major fixes that affect a lot of workflows.

2) This kind of thing has been a focus of mine in the past but now even more so. I've been taking a lot of time to learn other modeling programs, specifically Blender most recently, and it becomes immediately clear how important things like this are when working in a complex 3D, rendering or post-processing workflow.

It is also becoming clear that this isn't something that can be solved overnight, but more and more support is building to not only clean up our act in 3D geometry for the tools and commands we currently have, but also dramatically expanding our more modern capabilities like Subdivisions.

Subdivs in Vectorworks have the potential to become extremely powerful and the framework is already there since we use the opensubdiv content from Pixar, we just have to devote the time and hours into harnessing it. I have become best buds with the engineer in charge of it and bend his ear at every opportunity.

Share this post


Link to post
  • 0
1) Please do get specific examples with repeatable failures to me, those are the most useful to engineering to tweak and tune things. Some are special case scenarios but others end up being major fixes that affect a lot of workflows.

Well, I can setup a file when I find the time.

But for the Extrude Problem,

Draw any Extrude,

Export it to C4D or by FBX to any 3D App of choice.

(Or Slab, multi Component or not, or a Stair, or a Window)

In C4D switch on Face Normals for Views if deactivated.

Select an Object,

activate Face (Sub Object) Mode,

Select Tool, uncheck visible only,

set Select all Faces,

Look if all Face Normals (the white sticks in the middle of each face)

all point outwards. If one points inwards that's bad.

(For example the Glass Pane Volume in Windows)

For the missing Faces,

Create a Window with jamb and sashes.

Export DXF

Load into C4D,

or even back into VW,

and try to find the Sash front and Back Faces

Share this post


Link to post
  • 0

For Windows and Slabs, by DXF (or DWG without ACIS Soldis option)

there ARE Faces missing. For example Window Sashes front and backfaces

have borders from 2 point Polys only (=lines) so the actual Faces are

missing.

Sorry !

No, no missing Faces.

Someone fixed that (VW 2016 ?)

All Faces there by DXF, just Vertices not welded, so no chance to re-align them.

Share this post


Link to post
  • 0

Here is a VW demo file with the Geometry

+

Exports as C4D, FBX and DXF

C4D does "Orient Normals" (*) by default for DXF.

You have to deactivate that option if you want to see what VW exports.

*It orients normals to have the same direction per mesh only,

which is not necessarily the "correct" orientation.

(see the 2 Extrudes in EXTRUDE_CAP_FACE_PROBLEM.dxf)

Share this post


Link to post
  • 0

A few Screen Shots.

How C4D using 2-sided Materials by default make things look like being OK.

(And how transparent Objects look when touching other Geometry in Rendering)

Plus some Screenshots of what things will look in other 3D Software expecting

correct Face Normal Orientation like Modo (Or Max or Blender (?))

One shot from their chocolate side where it looks (nearly) ok,

and shots from the "wrong" side.

The (Generic) Solids export fine though.

Share this post


Link to post
  • 0

Plus the 5-Element-Upload-Limit exceeding 6th shot of the Window (wrong side)

Share this post


Link to post
  • 0

As far as I know, not.

Depending on export formats there may be different geometry issues.

For DXF, PIOs like Windows may have even missing faces because

it only exports 2 point Polygons = lines. Also Solids Vertices aren't welded

to form a continuous Mesh.

Extrudes with more than two 2D Elements, extruded at a time and not ungrouped

are broken for DWG.

And Extrudes have generally 1 Face flipped in one direction for 3D Mesh exports,

while single Extrudes work well in DWG.

 

Beside the flipped Faces, FBX is one of the most lossless Export options to a

typical 3D Polygon App.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

 

7150 Riverwood Drive, Columbia, Maryland 21046, USA   |   Contact Us:   410-290-5114

 

© 2018 Vectorworks, Inc. All Rights Reserved. Vectorworks, Inc. is part of the Nemetschek Group.

×