You are here:   Home »  Import CAD Formats »  NGRAIN's 3KO Solutions  

Okino logo
LightWave 3D File Exporter

Arrow Exporting LightWave LWO + LWS Files and History of the Newtek LightWave File Formats

This is a long standing industry standard solution for providing bidirectional conversion of 3D data for the LightWave animation system. Okino first released our LightWave import/exporters in 1994 and they have remained one of the most requested and well used aspects of Okino software. We know LightWave conversions inside out and we are very well known throughout the LightWave community. We can guarantee that these converters will work perfectly for bidirectional conversion between all major 3D DCC, animation and CAD file formats since we have a massive user base doing these types of conversions all the time. For CAD, Okino is particularly well known to LightWave users as the defacto method to move SolidWorks and ProE data transparently into LightWave, among many other CAD formats. For DCC/Animation, it would be safe to say that every major LightWave user over the years has used or owned a copy of PolyTrans to handle bidirectional scene, animation, skinning and bones conversions.

Please also refer to the corresponding LightWave import converter.

Kemppi Welding Machines, CAD to LightWave, by Spikey Animation and Kemppi Oy.
See explanation here.

The LightWave geometry export converter writes out LightWave compatible object (.lwo) and scene (.lws) files, complete with all geometry, skeletons for mesh skinning (mesh deformation via bones), hierarchy information, object and camera animation, and material attributes. The export dialog box also provides extensive controls for automatic bitmap file conversion. A file exported to LightWave should render almost exactly as whence the file originated (please be aware of the lack of uv texture coordinate import into LightWave versions 5.6 and older - see below).

NOTE: The usage of the term "LightWave 6.5 file format" applies to all current versions of LightWave. For LightWave, historically, there is only the need to differentiate the "LW 5.6" and "LW 6.5" file formats. The LightWave file format changed drastically in 2000 and has remained unchanged since. There is no need to say that Okino supports LW7, LW8, LW9, etc. since the LightWave file format is an IFF chunk-based format which does not change significantly (in terms of data translation), just as LW 5.6 format remainded standard and unchanged from 1994 to 2000. This is similar to Softimage (XSI) for which its "dotXSI" file format version has little bearing on the version of Softimage (XSI) itself.

As a background to the LightWave method of storing data, each mesh object is stored individually in a 'LightWave object' file which has a .lwo file extension; this file contains binary data holding the vertices, polygons and surface (material) information about a specific object. The contents of the 3d scene is specified in the 'Lighwave scene' file which has a .lws file extesion; this file contains ASCII readable text that lists all of the .lwo object files that should be used to populate the 3d scene as well as a list of the lights, cameras, backdrop type, fog parameters, view parameters and other ancilliary attributes associated with the scene. Thus, this export converter, by default, will output one .lws scene file and one or more .lwo object files.

The following information is output to the object and scene files:

  • N-sided polygon geometry. All polygons with holes are triangulated.
  • Vertex colors and vertex uv texture coordinates.
  • Explicit vertex Normals (LightWave v9.6+ and Luxology MODO Compliant)
  • All hierarchy information.
  • All pivot point information for each object.
  • Skeletons of bones as children nodes in the .lws file to mesh objects, with skinning weights assigned between each bone and associated mesh vertex, termed "Mesh Skinning".
  • Point, directional and spot light sources complete with proper location and Euler angle parameters for each light’s first keyframe location.
  • Numerically accurate output of LightWave's default camera location complete with proper location and Euler angle parameters for the camera’s first keyframe location.
  • Background colors types (solid or gradient), fog parameters and object attributes (shadowed, casts shadows, etc).
  • Object and camera animation data.

In addition, complete LightWave materials are output to the .lwo files including:

  • Surface color, all shading coefficients (diffuse, luminous, specular, reflective and index-of-refraction), transparency value, edge transparency threshold, surface glossiness and shading flags.
  • Spherical environment maps
  • All forms of LightWave supported texture maps and related parameters. These include the following texture modulation methods: color, diffuse coefficient, specular color, luminous color, bump mapping, opacity mapping and reflection mapping.

TowHaul 'Lowboy' Trailer, SolidWorks to LightWave, by Mark Clevidence & TowHaul Corp.
See explanation here.

More Main Geometry Dialog Box Options:

The following information explains the various options on the dialog box:

LightWave File Format Version (5.6 or 6.0+newer)

These radio buttons select which major version of the LightWave file format is to be exported. 6.0 is for any version of LightWave 6.0 or newer, whereas 5.6 is for any version of LightWave 5.6 or older. With version 5.6 no (u,v) texture coordinates can be output, no vertex colors are available, most shading parameters use integers and not floating point numbers, and there is a 65535 limit on the number of vertices and polygons. For v6, or newer, these limitations do not exist.

Write Files to a New Directory

If this checkbox is check-marked (which is the default) then a new directory will be created into which will be stored all of the .lwo object files and the .lws scene file. The directory name will be derived from the selected export filename. If this option is not enabled then no directory will be created.

Use Absolute Paths for all Images and .lwo Files

If this checkbox is check-marked then all .lwo (object) filenames which are referenced in the LightWave scene file (.lws) will have an absolute filepath prefixed to them. This will allow LightWave to find the absolute location of the .lwo files. This option should only be enabled if the location of the .lwo object files is not to change. Also, all bitmap image filenames stored within the .lwo object files will have absolute filepaths prefixed to them as well (if the program can determine the image’s absolute location). If this option is disabled (which is the default) then no filepaths will prefix the filenames.

NOTE: LightWave locates .lwo files relative to the “Newtek root directory”. For example, if LightWave is currently using “c:\newtek” as the current root directory then it will search for .lwo files in the directory “c:\newtek\objects”, scene files in “c:\newtek\scenes” and bitmap images in “c:\newtek\images”. Thus, if you don’t enable this option then you can place the .lwo files in the “c:\newtek\objects” directory and LightWave will find the .lwo files by default. Likewise with the scene and bitmap image files.

Reverse Orientation of all Polygons

If this option is enabled (checkmarked) then the orientation of all polygons will be reversed (this will effectively swap the orientation of the polygons' geometric normals).

Write Polygons to a Single .lwo Object File

If this checkbox is check-marked then all of the objects in the current scene will be output as a single mesh to a single .lwo object file. If this option is disabled then all objects in the scene will be output to separate .lwo object files (which is the default).

Triangulate Concave Polygons

If this checkbox is check-marked then all concave polygons will be triangulated before being output to the .lwo object files. This option is disabled by default which will allow concave polygons to be output to the .lwo object files.

Triangulate All Polygons

If this checkbox is check-marked then all polygons will be triangulated before being output to the .lwo object files. This option is disabled by default. Please note that this option overrides the previous 'Triangulate Concave Polygons' option if it is enabled.

Confirm Potential File Overwrites

If this checkbox is check-marked then the program will not prompt for confirmation of potential file overwrites (this is the default). If this option is disabled then the program will first prompt for confirmation of any file overwrites.

Truncate Filenames to 8 Characters (MSDOS 8.3)

If this checkbox is check-marked then all long filenames will be truncated to 8 characters for the root filename and 3 characters for the file extension; this should only be enabled when running the export converter on the old Windows 3.1 which does not accomodate long filenames. The export converter uses an intelligent routine to create unique 8.3 filenames as well as removing all invalid characters from the filename. If this option is disabled then long filenames will be used.

Maximum Vertices Per Polygon

This type-in box determines the maximum number of vertices allowed per polygon. LightWave 3.0 and greater allows a maximum of 65535 vertices per polygon whereas earlier versions of LightWave only allowed 200 or less vertices.

Line Terminator Type

This common option selects which line terminator is to be used for the ASCII output file:
  • Files destined for DOS/PC machines should use CR/LF,
  • Files for UNIX machines should use LF, and
  • Files for Macintosh machines should use CR.

The default is specific to which machine this converter is presently running on: CRLF for DOS/PC, LF for UNIX and CR for Macintosh. This option normally does not have to be specified unless you will be using the exported ASCII file on a different type of computer.

More Automatic Bitmap Conversion Dialog Box Options:

This dialog box allows referenced bitmaps (of the internal 3D scene database) to be automatically converted to other 2d bitmap formats during the export process. The three options available are:

  • Do not modify the bitmap filename reference and do not perform any bitmap conversion.

  • Modify the extension of the bitmap filename to a bitmap format (chosen from a drop-down list) but do not perform any bitmap conversion. This option is useful if you have (1) either performed the bitmap conversions in a previous export process or (2) you wish to use an external program (such as PhotoShop) to perform the bitmap conversions.

  • Perform bitmap conversion and change the file extension of the bitmap. For example, if your original 3D scene data referenced JPEG bitmaps, but you want the exported LightWave file to reference BMP bitmaps, then this option can be used to automatically convert the JPEG files to BMP and change all bitmap references to the new BMP files.

No Bitmap Conversion or Bitmap Filename Changes (Radio Button)

If this radio button is chosen then any bitmap reference exported into the LightWave file will not be changed, its filename extension won't be changed, the path to the bitmap will not be changed and no bitmap conversion will be done.

Convert all Bitmap File References To... (Radio Button)

Rather than convert referenced bitmap images to another file format this radio button (when selected) simply changes all the file extensions on bitmap files to a specific type. For example, if set to "TIFF" then all bitmap filenames exported to the LightWave .lwo file will be changed so that their file extensions end in ".tif". This is a useful option is you already have all of the referenced texture maps converted to the desired file format (either from a previous invocation of this export converter or by using a batch bitmap conversion program).

Auto-Convert Bitmap Files to Another Format (Radio Button)

If this radio button is selected then all 2d bitmap textures which are currently defined and referenced by the internal NuGraf/PolyTrans database scene will be automatically tagged then converted to a new user-specified 2d bitmap file format during export. The desired format is chosen using the Bitmap File Format combo box. If the texture(s) cannot be found in the location specified by the pathname prepended to the input texture filename then the export converter will search for the texture(s) in all directories specified in the 'Default Search Path' and the 'Texture Bitmaps Search Path' file search paths (these can be modified by choosing the 'Preferences/Configure File Search Paths' menu item.

Bitmap File Format (Combo Box)

This combo box lists the destination bitmap file format.

Bitmap Depth (Bits/Pixel): 2, 4, 8, 24

These radio buttons determine the number of bits/pixel to write out to the new 2d bitmap file. The default is 24 bits. A color quantization algorithm will be used for the 2, 4 and 8 bits/pixel output formats.

Dimensions: X = #, Y = #

These two drop-down list boxes determine the X and Y resolution for the converted bitmap file(s):

No Change = Do not change the X or Y size
Closest = Use the next highest power-of-2 size
2, 4, 8, ... 256, 512 = Choose a specific size for the X or Y dimension

Confirm Potential Bitmap File Overwrites

If this checkbox is enabled (checkmarked) then the bitmap converter will confirm any potential overwrites of existing bitmap files on disk which have the same filename and extension as the one being written. If this option is disabled then no confirmation will be made.

Save Converted Bitmaps To...

These radio buttons determine where the new bitmap file will be written to. Note that enabling the 'Replace all Bitmap File Paths With This Path:' option or the 'Strip File Paths From All Bitmap References' option below will change the path prefix for the converted bitmap even though it was saved to disk in the location specified by one of these 2 radio buttons.

Directory Where Geometry Is Being Exported

The new bitmaps will be written to the directory where the LightWave file is being exported to.

Specific + Browse

The new bitmaps will be written to the directory specified by the text box. This directory can be changed by press the 'Browse' button.

More "Bitmap Paths" Dialog Box Options:

This dialog box contains options that control how the LightWave 'Surfaces' (or 'materials') are output to .lwo object files. In general you will never have to modify these values; they are provided for expert use.

"Double Sided"

If this checkbox is check-marked (which is the default) then the "Double Sided" flag will be enabled for each LightWave surface output to the .lwo object files. If this flag is set then polygons facing away from the camera (back-facing polygons) will not be culled from the scene. If this flag is disabled then LightWave will remove all backfacing polygons in the scene which have been assigned surfaces with this flag turned off.

Shading Coefficient Overrides

LightWave has several shading coefficients that control the intensity of the luminous, diffuse, specular and reflection shading components. In LightWave itself, these are called 'Luminosity', 'Diffuse Level', 'Specular Level' and 'Reflectivity'. Normally, this converter will output acceptable values for these shading coefficients based on the materials assigned to the current objects in the scene.

However, if you wish to override the shading values exported from this software with your own shading values, then these sliders will allow you choose these values. For example, to specify your own diffuse shading coefficient for each and every 'surface' exported to the LightWave .lwo files, enable the check-box on the 'Diffuse:' line and move the slider to the value you want - this slider values corresponds exactly to the 'Diffuse Level' on the 'Surfaces Panel' dialog box within LightWave.

Shading Coefficient Multipliers

These values are multipliers for the luminous, diffuse, specular and reflection shading coefficients exported to the LightWave .lwo file. In LightWave itself, these values are called 'Luminosity', 'Diffuse Level', 'Specular Level' and 'Reflectivity' on the 'Surfaces Panel' dialog box. For example, if you are finding that the surfaces (materials) output to the LightWave files are not shiny enough then you could change the 'Reflection' multiplier to 1.5 which will cause all reflection shading values to be increased by 1.5 times in magnitude. Likewise, a value of 0.5 would

Other Shading Multipliers

Likewise, these values are multipliers for the LightWave 'Diffuse Surface Color' and the 'Glossiness' values of each LightWave surface (material). For example, if the 'Diffuse Color' multiplier is set to 1.5 then all diffuse colors will become 1.5 times brighter.

More "Enables" Dialog Box Options:

The following options control what is sent to the .lwo and .lws files:

LightWave "Scene" File

If this checkbox is enabled (checkmarked, which is the default) then a LightWave .lws scene file will be written which describes the contents of a 3d scene, including which .lwo object files to load (including their hierarchy), the lights, the cameras, the background type and other scene attributes.

Mesh Data

If this checkbox is enabled (checkmarked, which is the default) then the raw mesh data will be output to the .lwo object files.

Texture (u,v) Coordinates

If this checkbox is enabled (checkmarked, which is the default) then (u,v) texture coordinates will be output to the .lwo object file. This option is only available when the LightWave file format version is set to 6.0.

Vertex Colors

If this checkbox is enabled then vertex colors will be output to the .lwo object file. This option will be disabled when the LightWave v5.6 file format version is selected (v5.6 did not have any capability of exporting vertex colors).

Vertex Normals Processing Mode

This combo box determines if explicit "vertex normals" should be placed into the .lwo files. In general you should keep the combo box set to the default option. Only if you are exporting to older versions of Luxology's Modo CAD program should you consider changing this combo box to the third option.

History and background:

Prior to 2007 the LightWave .lwo file format never supported "vertex normals". This mesh attribute is quite important, as it defines the overall smoothness of mesh models and is most critical to the export of CAD models via the .lwo file format into the LightWave v9.6 or newer software. In 2007, Luxology (the developers of the Modo CAD program, and the original LightWave software developers) devised a new chunk called "vert_normals" that allowed such vertex normals to be stored within the .lwo file. A few years later Newtek released LightWave v9.6 which also supported this new explicit "vert_normals" chunk. Unfortunately, older/original versions of Modo did not negate the "Z" component of the vertex normals as is required by the LightWave v9.6 file format standard and hence you'll need to choose the third combo box option for those older files.

No not export explicit vertex normals

If this combo box option is chosen then the explicit vertex normals will not be placed into the .lwo files. Smoothing will be determined by the old fashioned "smoothing angle" on each material.

Export explicit vertex normals (LW 9.6+ and newer Modo files, flip 'z')

If this combo box option is chosen then the vertex normals will be output for each mesh object via the "vert_normals" chunk within each .lwo file. This 'vert_normals' chunk can be read by (1) LightWave 9.6 or newer, and (2) newer versions of Luxology's Modo program.

Export explicit vertex normals (Older/original Modo files, no 'z' flip)

This is the same as above, but the "Z" component of the vertex normals will not be negated. This should be chosen when .lwo files are being exported to older/original versions of Modo whereby the vertex normals were written in "Right handed coordinates" instead of the proper "Left handed coordinates" as is used by the Newtek LightWave software. Basically, you should choose this option if you feel that the exported vertex normals look incorrect in the destination program (they are inverted).

This option will be disabled when the LightWave v5.6 file format version is selected.

Embed Uview uv-data, Output Uview .uv File

Versions of LightWave prior to v6.0 had one major problem: they did not have any method to accept explicit (u,v) texture coodinates. A company called "Cinegraphics" (at, 619-677-3908, has developed a plug-in for LightWave which will allow these (u,v) texture coordinates to be imported (see their WEB site for more information). If either of these two toggles are enabled (check-marked) then explicit (u,v) texture coordinates will be output in the format expected by the Uview stand-alone program and of the Uview plug-in module for LightWave. The first option will embed the (u,v) texture coordinates directly within the .lwo LightWave model file while the latter option will output a .uv ASCII text file along with each similarly named LightWave .lwo file. The Uview plug-in and stand-alone program require that a .uv file be output; the embedded data of the first option was created mainly for game developers. Please note that Cinegraphics says that LightWave may crash when importing .lwo files with the embedded (u,v) texture coordinates; they say that this only occurs for objects with large numbers of polygons (LightWave may be using some buffer which is overflowing and thus causing the crash); to overcome this problem disable the "Embed Uview uv-data" option.

Enable Mesh Skinning (Deformation via Bones)

Enabling this option will turn on one of the most complex aspects of the PolyTrans export process, that of being able to export skinning weights associated with mesh data. It is supported for LightWave 6.0 file format or newer.

"Mesh skinning" is the process of deforming a single skin mesh with a skeleton of bones/joints or any hierarchical set of transform nodes. The contribution of each bone of the skeleton to the deformation of a vertex in the mesh is controlled by vertex weights. Typical sources for skinned meshes, which are supported by the PolyTrans importers, are Maya, Softimage XSI, 3dsmax and DirectX.

See also the "Skeleton Bone Optimization Methods" options further down which affect how the export skeleton bones are pruned in the exported .lws scene file.

Optimize Skeleton Bone Hierarchy

Note that LightWave defines skeletons a bit different than the rest of the 3D world. In LightWave the skeleton is defined by a hierarchy of bone nodes in the .lws scene file, but rather than being connected to the main scene 3D hierarchy graph the LightWave skeleton is parented as a child hierarchy to the mesh object to which it deforms.

If this option is enabled then only the bones which actually affect (deform) the parent mesh will be output as child bones nodes of the mesh (this is an optimization). If this option is disabled then all bones of a related skeleton hierarchy will be output to the .lws file as a child of the mesh to which some (but maybe not all) of the bones affect.


If this checkbox is enabled (checkmarked, which is the default) then materials will be output to the .lwo object file.

Texture Bitmap References

If this checkbox is enabled (checkmarked, which is the default) then references to bitmap textures will be output along with the material definitions in the .lwo file.


If this checkbox is enabled (checkmarked, which is the default) then the current perspective camera will be output to the .lws scene file.


If this checkbox is enabled (checkmarked, which is the default) then lights will be output to the .lws file.

More "Enables" Dialog Box Options # 2:

Hierarchy Information

If this checkbox is enabled (checkmarked, which is the default) then hierarchy information will be output to the .lws scene file.

Output Animation Data

If this checkbox is enabled (checkmarked) then complex object and camera animation data will be output to the LightWave scene .lws file if animation data currently exists within the database. You should find that converting 3D Studio animation data to LightWave works very well.

Remove Redundant Runs of Keys (6.0 or newer)

This is yet another keyframe optimization stage. If the LW 6.0 or newer object or camera animation export routine detects that all keys of a channel are identical then it will only output the first key. It is possible to import LW files and export then again with no changes to the keys if you disable redundant keyframe removal on both the import and export converters, as well as keyframe reduction via the Animation Export Options panel (see below).

Modify Common Animation Export Options

This button displays the keyframe resampling options dialog box. These parameters are used to re-sample keyframe data from other formats (such as 3D Studio angle/axis or quaternion rotation methods) to LightWave's Euler rotation methods.

Skeleton Bone Optimization Methods

PolyTrans supports the conversion of mesh deformation via skeletons (and bones), called "Mesh Skinning" (see the enable option descriptions above). It is common in most 3D programs (Maya, XSI, 3dsmax, DirectX) to define the skeleton as a joint or bone hierarchy of nodes in the main scene graph's hierarchy.

However, LightWave is slightly different. The skeleton of bones which deform a mesh is a child of the mesh itself, and not part of the main scene graph hierarchy. Thus, this introduces the potential for an optimization when exporting a skinned mesh from other programs to LightWave: after the skeleton is parented to its corresponding mesh, should the skeleton also be output as hierarchical NULL nodes to the main scene graph (to mirror or mimic the way the skeleton is defined in the source 3D program like Maya, CINEMA 4D, Softimage, 3dsmax, U3D, COLLADA, FBX or DirectX)?

If the radio button is set to "Remove Useless Bone Joints From the .lws Scene File" then any bone/joint in the source 3D scene which is used as a child bone/joint of a mesh is NOT also output in the main scene hierarchy unless it is somehow needed to create a nodal hierarchy for other non-related objects in the scene (in other words, one of more objects in the scene might use part of a skeleton to define a hierarchical relationship).

Else, if the radio button is set to "Output All Bone Joints as Just NULL Nodes (regardless if they are also parented to meshes)" then the complete set of skeletons in the source 3D file is output to the .lws scene file as a mirror copy using hierarchical NULL nodes, even if they are also being used as skeletons under specific (deformed) mesh nodes. This creates some redundancy and possibly useless information in the .lws file, but that decision can be left up to you to make.