|  |     | 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, 
            
            available 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 24.0.1
            and
            Apache NetBeans 26.
            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 
            over 24,000 downloads
            since May 2023.
        
        
            To confirm necessary steps for your trusted NetBeans plugin installation, here are example screenshots:
        
        
             
             
             
             
             
             
        
        
        
            New installation issue.
            If you are using OpenJDK 24 or later, 
            the large extensibility of the X3D XML DOCTYPE is now affected by 
            restrictions on use of JAXP.
            The following setting must be applied to the netbeans.conf configuration file.
            Please see
            Savage Developers Guide: NetBeans 
            for more details.
        
        
            - 
                -J-Djdk.xml.entityExpansionLimit=5000
            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 unitcommand is supported by a newunitediting 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 24 May 2025
        
        
        (official disclaimer)