|
|
X3D-Edit 4.0 Authoring Tool for Extensible 3D (X3D) Graphics |
|
|
Overview |
Acknowledgements |
Books |
Chat |
Downloads |
Features |
Github Source |
Licenses |
Mailing Lists |
NetBeans Plugin Portal |
Savage Developers Guide |
Source |
SourceForge Releases |
Support |
Tutorial |
Visualization |
X3D Resources |
X3D Scene Authoring Hints |
X3D Tooltips | 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.
The
X3D-Edit 4.0 Authoring Tool
for
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
NetBeans
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.
X3D-Edit
features
include direct editing of X3D scenes using the XML (.x3d) encoding,
embedded visualization of scenes using an
enhanced version
of the
original Xj3D
viewer,
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 Don Brutzman, Mike Bailey, and Terry Norbraten.
Additional help and feedback was provided by
Don McGregor and
Jeff Weekley, together with the
MV3204 Introduction to X3D Graphics
and the
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
Web3D Consortium
and the
X3D Graphics Working Group.
X3D-Edit was built as an externally funded research project performed
by the
Modeling, Virtual Environments and Simulation (MOVES) Institute
at the
Naval Postgraduate School (NPS)
in Monterey California USA.
Research and development inquiries
are welcome.
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
chapter slidesets,
example scenes
(available via X3D-Edit menu X3D -> Examples),
mailing lists, and
videos.
-
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.
(online review,
list)
-
Helpful reference for NetBeans developers:
NetBeans Platform for Beginners: Modular Application Development for the Java Desktop
by Jason Wexbridge and Walter Nyland,
Leanpub 2014.
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.
(website)
-
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.
Preferred installation of X3D-Edit within NetBeans is via the panel
NetBeans > Tools > Plugins > Available Plugins.
We are now using
Java OpenJDK 23
and
Apache NetBeans 23.
Minimum installation prerequisites:
Java JDK 18 or better, NetBeans 18 or better.
The trusted
NetBeans Plugin Update Center
(image)
includes a direct download link for the latest
X3D-Edit plugin module.
Plugin portal download statistics show nearly 22,000 downloads since May 2023.
To confirm necessary steps for your trusted NetBeans plugin installation, here are example screenshots:
Additional download assets are also available online.
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
JavaScript editing
- Drag-and-drop palette for adding new nodes, such as
Shape customizer
for quickly choosing and adding geometry
-
Customized editors for each node, along with
download wizard
for the
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
X3D Tooltips
and
X3D Standards
-
View changes
using embedded Xj3D viewer, external Web browser plugin, or
configurable set
of
selectable X3D viewers
-
Launch an X3D scene into another
configurable set
of
selectable X3D authoring tools
- Rich set of user-addable NetBeans
plugins
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.
-
Cross-Origin Resource Sharing (CORS) authoring support:
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.
-
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.
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.
-
More information on CORS is available at
X3D Scene Authoring Hints, Cross-Origin Resource Sharing (CORS) Restrictions.
-
Panel utilities: improved
X3D-Edit Author Workflow
includes
HTML5 DOM export
using either
X3DOM
or
X_ITE (formerly Cobweb),
Rotation Calculator
(example scene),
Axis Lines RGB
(screenshot)
as a scalable XYZ axis-display option on the
Shape interface,
plus an improved
geoSystem Panel.
-
Updated
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).
-
Support for
X3D to JSON stylesheet converter
includes
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
tab.
-
Now bundled:
svg-edit,
a complete open-source vector graphics editor in the browser (in JavaScript)
-
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
X3DOM
(pronounced "X-Freedom")
plugin-free embedding of X3D source in HTML5 scenes using the
X3dToX3domX_ITE.xslt
stylesheet.
-
Support for
Microsoft Surface tablet
(also a photograph)
along with other multimedia tools and X3D viewers.
-
X3D Tidy.
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.
The
unit
command is supported by a new
unit
editing panel
that provides easy reference to conversion factors for angle, length, mass and force.
-
Trace capabilities
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.
-
SFImage support:
X3D-Edit includes
PixelTexture image-conversion import
can embed an image directly inside an X3D scene by converting it into an
SFImage
block within a
PixelTexture
node.
-
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
degree-to-radian conversion
is desired.
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)
(snapshot):
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
including
X3D for Web Authors,
X3D Basic Examples
and
Savage Examples.
-
Import/export for ClassicVRML, VRML97, X3D Compressed Binary and Canonical X3D encodings into .x3d (XML) encoding
-
X3D Components support includes
CAD Geometry,
Distributed Interactive Simulation (DIS),
Geospatial (X3D Earth),
Humanoid Animation,
and
MultiTexture nodes in the
Texturing component
-
Collada .dae model
editing,
validation, code completion, and
conversion to .x3d (XML) encoding
-
Distributed Interactive Simulation (DIS) utility panels for
packet generation
as well as
recording and playing back
network traffic, built using the
Open-DIS software distribution
(available at
Sourceforge),
with additional "DIS information" available on the
Savage Developers Guide: DIS
-
Active
url list
editor checks for resource availability (green=found, black=retrieving, red=unavailable, orange=filename case mismatch)
-
Integrated display is provided by the enhanced
Xj3D player,
which also provides
Xj3D CAD filter
for geometry simplification and profile reduction
-
X3D Security
using
XML Signature (digital authentication)
and
XML Encryption
Recommendations,
with additional support using
Portecle
for keystore management.
-
Support for the X3D
Rigid Body Physics
Followers (Chasers and Dampers), and
and
Programmable Shaders
components
-
Source-editor support
for Web development including
Apache Ant build scripts,
Cascading Style Sheets (CSS),
HTML5,
JavaScript,
PHP programming,
XML (documents, DTDs and schemas),
and
XML Stylesheet Language for Transformations (XSLT) stylesheets
-
Latest developmental version of Xj3D player
that includes recent tested source checkins
-
Directions for
Blender model export to X3D
X3D-Edit 4.0 is open source, written in Java and XML, based on the
Apache NetBeans
platform. It may be used for any legitimate purpose.
The X3D-Edit application and module source code is distributed under a
non-viral BSD-style
open-source license
(text)
by the
Web3D Consortium.
Other ancillary supporting packages are provided under the terms of their own respective open-source licenses.
Feedback and discussion are welcome.
X3D community discussions are supported by the non-profit
Web3D Consortium
at
NetBeans X3D-Edit runs on desktop/laptop systems and is portable across major operating systems (Windows, 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
-
CoordinateAxes
optionally shows node location in the local coordinate system
-
A single parent Switch node allows authors to easily display (
whichChoice=0
) or
hide (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
Don Brutzman
(brutzman at nps.edu)
Uniform Resource Locator (URL) for this page is
https://savage.nps.edu/X3D-Edit/X3D-Edit.html
Page revised 30 September 2024
(official disclaimer)