X3D-Edit 4.0 Authoring Tool
for Extensible 3D (X3D) Graphics
Mailing Lists |
Savage Developers Guide |
X3D Resources |
X3D Scene Authoring Hints | Xj3D | Contact
X3D-Edit is a free, open-source Extensible 3D (X3D) Graphics authoring tool for simple high-quality authoring, editing, import/export, validation and viewing of X3D scenes.
X3D-Edit 4.0 Authoring Tool
Extensible 3D (X3D) Graphics
supports the creation, checking, display and publication of X3D scenes.
It is written in open-source Java and XML using the
platform, making it suitable both as
a standalone application and as a plugin module for the NetBeans integrated development environment (IDE).
Motivation for X3D-Edit design has always been centered around
authors making great X3D content for Web users,
precise implementation of the X3D specifications, and
quality assurance (QA) for producing reliable results.
include direct editing of X3D scenes using the XML (.x3d) encoding,
embedded visualization of scenes using an
XML validation using X3D DTD grammars, X3D Schema grammars and
X3D Schematron rules,
drag-and-drop palette for X3D nodes,
popup panels for node editing, and
extensive help resources.
Menu selections provide import/export support for the VRML97 (.wrl), ClassicVRML (.x3dv) and X3D compressed binary (.x3db) encodings.
Further features include
encryption and digital-signature authentication using XML Security standards,
and additional X3D scene authoring support.
X3D-Edit 4.0 is stable and available for public use.
X3D-Edit 4.0 was created by Mike Bailey, Don Brutzman and Terry Norbraten.
Additional help and feedback was provided by
Jeff Weekley, plus the
MV3204 Introduction to X3D Graphics
MV4205 Advanced X3D Graphics classes at NPS.
We gratefully acknowledge further assistance by
Leonard Daly (Daly Realism),
Alan Hudson (Yumetech),
Rick Goldberg (Aniviza),
plus members of the
X3D Graphics Working Group.
X3D-Edit was built as an externally funded research project performed
Modeling, Virtual Environments and Simulation (MOVES) Institute
Naval Postgraduate School (NPS)
in Monterey California USA.
Research and development inquiries
We are happy to discuss the possibility of embedding other open-source Java libraries and providing further X3D functionality within X3D-Edit.
Among other things, X3D-Edit supports the book
X3D: Extensible 3D Graphics for Web Authors
by Don Brutzman and Leonard Daly,
Morgan Kaufmann Publishers, April 2007, 468 pages.
Related support includes
(available via X3D-Edit menu X3D -> Examples),
mailing lists, and
X3D Resources: Books
lists additional X3D and VRML books.
Helpful reference for NetBeans users:
100 NetBeans Tips and Tricks
by Ruth Kusterer,
Prentice Hall 2008, 170 pages.
Helpful reference for NetBeans developers:
NetBeans Platform for Beginners: Modular Application Development for the Java Desktop
by Jason Wexbridge and Walter Nyland,
Also available as co-bundle:
Exercises in Porting to the NetBeans Platform by the same authors.
Helpful reference for Collada authors:
COLLADA: Sailing the Gulf of 3D Digital Content Creation
by Remi Arnaud and Mark Barnes,
A.K. Peters 2006, 250 pages.
A helpful reference for KML authors is
The KML Handbook: Geographic Visualization for the Web
by Josie Wernecke,
Addison-Wesley 2008, 368 pages.
A key reference for NetBeans application development is
Rich Client Programming: Plugging into the NetBeans Platform
by Tim Boudreau, Jaroslav Tulach, and Geertjan Wielenga,
Prentice Hall April 2007, 640 pages.
Java JDK 18 or better, NetBeans 18 or better. Now using
Java OpenJDK 20
Apache NetBeans 18.
NetBeans Plugin Update Center
shows over 1,000 downloads since May 2023.
For confirmation of your trusted NetBeans plugin installation, here are screenshots:
Latest standalone executable versions are separately maintained on SourceForge:
X3D-Edit 4.0 installers with
over 400 downloads
Also periodically available:
Pre-Release Testing versions.
X3D-Edit has grown in parallel to development of the
X3D Specification, testing X3D functionality throughout years of development.
Built-in features include:
Open source, royalty free, cross-platform, manual updates
Text editing or tree navigation, with color-coded syntax checking of XML source and
- Drag-and-drop palette for adding new nodes, such as
for quickly choosing and adding geometry
Customized editors for each node, along with
X3D example archives
- X3D Validator checkmark button
for quality assurance (QA) provides multiple validation, data checking and format-conversion capabilities (also available via
X3D Validator online)
- Extensive help system includes multilingual
using embedded Xj3D viewer, external Web browser plugin, or
selectable X3D viewers
Launch an X3D scene into another
selectable X3D authoring tools
- Rich set of user-addable NetBeans
including version control using Subversion (svn), Concurrent Versioning System (cvs) or Mercurial
X3D-Edit Preferences panel exposes numerous settings for users.
New and additional features include the following.
the following screenshot images show how to download X3D Examples archives,
then autolaunch CORS http server on localhost, then render an X3D model using X_ITE.
This is a common workflow for X_ITE presentation.
Some steps require no change with repetition, so your ability to edit and review can go quickly.
Note that X3DOM export is also available using X3D-Edit, but those pages include all X3D source withing the page
and so X3DOM rendering does not require a CORS http server on localhost.
Download X3D Examples Archives.
Select an archive to download, for example X3D for Web Authors is great for learning X3D.
Download Complete X3D For Web Authors (X3D4WA) Archive.
The Download X3D Examples Archives lets you choose any of seven complete archives. Directory location can be chosen, otherwise defaults to user desktop.
X3D Examples Archives Enable Autolaunch.
X3D-Edit asks if you want a CORS http server started on localhost automatically as a user preference. Select Yes or else control via CORS panel tab.
Box Example Source X3D-Edit.
Select and open a model of interest in X3D-Edit. Numerous editing features are available.
Download CORS Localhost http Server Running.
The CORS localhost http server panel allows you to control starting, stopping and inspecting the localhost http server.
This is needed for X_ITE to work locally.
X_ITE Player Panel.
The corresponding tab for X_ITE Player shows the localhost addresses used for embedding a url reference in an HTML page.
X_ITE Export File Chooser.
X3D-Edit creates a web page (filename default ending in “X_ITE.html”) to save your exported result.
You can choose a different name and directory, if desired.
X3DFWA Chapter 02 Geometry Primitives BoxExample X_ITE.
Your localhost model should now render correctly using X_ITE.
More information on CORS is available at
X3D Scene Authoring Hints, Cross-Origin Resource Sharing (CORS) Restrictions.
Panel utilities: improved
X3D-Edit Author Workflow
HTML5 DOM export
X_ITE (formerly Cobweb),
Axis Lines RGB
as a scalable XYZ axis-display option on the
plus an improved
X3D-Edit Toolbar Buttons
support X3D author workflow. Includes quick-launch icons and hotkeys for
Edit Element (Ctrl+Shift+E),
Xj3D Validator (Ctrl+Shift+F2) and
Xj3D Viewer (Ctrl+Shift+X).
X3D to JSON stylesheet converter
stylesheet conversion options pane.
External editor launch menu
to enable further work on X3D scenes by other authoring tools.
Settings are adjusted on the X3D-Edit Preferences panel via the
X3D authoring tools
X3D Tidy conversions panel
can apply fixes for a variety of common authoring mistakes.
Supported also provided to remove Shape geometry while leaving HAnimHumanoid joint/segment/site/viewpoint intact,
and can also add visualization geometry to a skeleton.
ExternProtoDeclare field verification
checks that field signatures match the original ProtoDeclare definitions, providing author with the option to apply updates.
Conversion support for
plugin-free embedding of X3D source in HTML5 scenes using the
Microsoft Surface tablet
(also a photograph)
along with other multimedia tools and X3D viewers.
is an XSLT stylesheet that checks for simple errors in X3D scenes and fixes them.
Available under menu item
X3D > Conversions > X3D Tidy
X3D-Edit now includes support for
X3D version 4.0 validation.
unit command is supported by a new
unit editing panel
that provides easy reference to conversion factors for angle, length, mass and force.
are available for ROUTE, sensors, interpolators and
other nodes that produce or consume events.
Trace output results
are logged on the browser console to show the timing and values passed events.
When the Trace checkbox is selected by the author,
a Script node is inserted immediately after the node to accomplish this task.
This is a useful debugging technique.
PixelTexture image-conversion import
can embed an image directly inside an X3D scene by converting it into an
block within a
unit-conversion scaling menu
simplifies Transform scale settings to resize child content from a variety of length units into meters.
Easier entry of radian angles using degree values: any values with magnitude greater than 2π radians
prompt author to confirm whether
Tooltips showing both degrees and radians
are also given when the mouse is over an angle field.
Normalization of SFRotation axis vectors is also provided to ensure that the x-y-z axis vector has magnitude equal to 1.
Hint: angle values within the range [-6..+6] degrees can be entered as [354..366] degrees.
X3D quality assurance (QA)
XML well-formed checks, X3D DTD validation, X3D Schema validation, and X3D Schematron consistency rules
Inline and Prototype templates
as draggable palette icons, based on contributions found in various scene archives
X3D for Web Authors,
X3D Basic Examples
Import/export for ClassicVRML, VRML97, X3D Compressed Binary and Canonical X3D encodings into .x3d (XML) encoding
X3D Components support includes
Distributed Interactive Simulation (DIS),
Geospatial (X3D Earth),
MultiTexture nodes in the
Collada .dae model
validation, code completion, and
conversion to .x3d (XML) encoding
Distributed Interactive Simulation (DIS) utility panels for
as well as
recording and playing back
network traffic, built using the
Open-DIS software distribution
with additional "DIS information" available on the
Savage Developers Guide: DIS
editor checks for resource availability (green=found, black=retrieving, red=unavailable, orange=filename case mismatch)
Integrated display is provided by the enhanced
which also provides
Xj3D CAD filter
for geometry simplification and profile reduction
XML Signature (digital authentication)
with additional support using
for keystore management.
Support for the X3D
Rigid Body Physics
Followers (Chasers and Dampers), and
for Web development including
Apache Ant build scripts,
Cascading Style Sheets (CSS),
XML (documents, DTDs and schemas),
XML Stylesheet Language for Transformations (XSLT) stylesheets
Latest developmental version of Xj3D player
that includes recent tested source checkins
Blender model export to X3D
X3D-Edit 4.0 is open source, written in Java and XML, based on the
platform. It may be used for any legitimate purpose.
Other ancillary supporting packages are provided under the terms of their own respective open-source licenses.
X3D-Edit runs on desktop/laptop/tablet systems and is portable across major operating systems (Windows 7-10, MacOSX, Linux).
Author-assist visualization graphics are provided for certain X3D nodes
in order to help show their effects.
Visualize checkbox selection on a node-editing pane
embeds additional X3D content immediately after the node
Placing a pointing device (mouse, cursor, wand, etc.) over the visualization geometry
uses a TouchSensor to display a description of the node visualization
optionally shows node location in the local coordinate system
A single parent Switch node allows authors to easily display (
whichChoice=-1) the customized visualization graphics
Visualization graphics are available for the following X3D nodes:
Questions, suggestions and comments about these resources are welcome.
Please send them to
(brutzman at nps.edu)
Uniform Resource Locator (URL) for this page is
Page revised 29 September 2023.