X3D-Edit 3.1 for Extensible 3D (X3D) Graphics - README |
News. X3D-Edit 4.0 is now available. It is a complete rewrite, replacing the X3D-Edit 3.1 tool described on this page.
https://savage.nps.edu/X3D-Edit
This page is maintained for historical purposes.
Don Brutzman (brutzman at nps.navy.mil)
AutoInstaller | Purpose | Status | Internationalization (i18n) | Installation Setup | Download Updates | Features | Details | Usage | Compact Form | Developers | Bugfixes
X3D-Edit 3.1 is a graphics file editor for Extensible 3D (X3D) that enables simple error-free editing, authoring and validation of X3D or VRML scene-graph files. Context-sensitive tooltips provide concise summaries of each VRML node and attribute. These tooltips simplify authoring and improve understanding for novice and expert users alike.
X3D-Edit Auto Installer is available online for various operating systems (Windows, Mac, Linux, Solaris and other Unix).
X3D-Edit 3.1 uses the X3D 3.1 tagset defined by the X3D 3.1 Document Type Definition (DTD) in combination with Sun's Java, IBM's Xeena XML editor, and editor profile configuration files.
See X3D Help for further X3D resources.
X3D-Edit 3.1 implements the Extensible 3D (X3D) tagset for the next-generation Virtual Reality Modeling Language (VRML 200x). X3D-Edit also exercises various X3D graphics rendering and translation implementations.
Latest updates of software and examples: see build.date.X3D-Edit.txt.
Version 3.1 matches X3D 3.0 International Specification (Summer 2004) and adding components from X3D Amendment 1 (Winter 2005).
Completed v3.1 components:
Also ongoing: testing X3D Schema (x3d-3.1.xsd) against several thousand X3D examples using a project file for XML Spy.
Functional improvements:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
).
Further editing and VRML/HTML stylesheet outputs will now work.
Prototype
,
Script
,
field
,
fieldValue
,
ROUTE
scoping
and
IS
constructs. XvlShell
tag). ROUTE
and
IS
relationships. SET X3dLanguagePreference=Chinese
or
SET X3dLanguagePreference=French
or
SET X3dLanguagePreference=German
or
SET X3dLanguagePreference=Italian
or
SET X3dLanguagePreference=Spanish
.
The regular X3D-Edit icons then execute en Français or en Español etc. "How are tools put together" diagram: XML Tool Relationships for X3D.
Education: We're using X3D-Edit to teach a VRML/X3D course. Reducing content bugs and eliminating the syntax idiosyncracies of VRML really helps! Using the beta version January-March 2000, we got through the material in the VRML 2.0 Sourcebook one week faster than in previous versions of this course. We are making similarly excellent progress using the current version of X3D-Edit. X3D versions of sourcebook examples (270 total!) are available on the X3D Examples for Vrml 2.0 Sourcebook site.
Suggestions and improvements regarding X3D-Edit installation/usability are welcome. Discussion of this tool occurs on the www-vrml mail list.
Additional instructions for Mac are available in README.X3D-Edit.Mac.txt thanks to the ever mac-nificent Steve Guynup (guynups@gra.com)
You will need to be logged in with administrator permissions to perform some of these installations.
Recommended installation: AutoInstaller. X3D-Edit AutoInstaller for various operating systems (Windows, Mac, Linux, Unix/Solaris).
Once installed, and once you have a VRML plugin (step 1 which follows), you can update to new revisions by skipping ahead to step 7 and simply extracting the updates on top.
If you prefer to install X3D-Edit manually, follow steps 1-6 instead of using the autoinstaller.
To see if your VRML-browser installation worked, try viewing the HelloWorld.wrl example scene. |
command
window and typing
c:\> java -version
C:\IBM\Xeena
subdirectory.Java 2 (Runtime Environment or SDK)
.C:\jdk1.3.1
,
not C:\jdk1.3.1\bin
).
You might also find the JRE installed in a directory like
C:\Program Files\JavaSoft\JRE\1.3.1_09
C:\www.web3d.org\x3d\content\*
)
C:\> jar -xvf X3D-Edit.zip
C:\> jar -xvf X3D-Examples.zip
C:\www.web3d.org\x3d\content\*
)
C:\> jar -xvf ConformanceNistExamples.zip
X3D-Edit uses the compact XML tagset defined by the X3D Compact Document Type Definition (DTD)
<proxy>
eliminated while
attribute containerField
denotes default parent-child relationship names,
<proxy>
node illegal (employ USE="nameTargetDEF"
attribute instead).<USE>
element no longer allowed, due to lack of type checking on node and attribute values, as well as redundant functionality.
Utilize @USE attributes instead, for example <Shape USE="MyShapeNode"/>Launch icons for X3D-Edit are placed on the Windows 95, 98, NT and 2000 desktops.
A copy of the
X3D-Edit
launch icon is also available in the
C:\www.web3d.org\x3d\content
subdirectory.
Windows shell invocation:
D:> C: C:> cd \www.web3d.org\x3d\content C:\www.web3d.org\x3d\content> X3D-Edit.bat
Unix shell invocation:
% source x3d-edit.sh
Xeena details. Good things still worth checking out: local copy of the installation README helps troubleshoot installation problems. You can learn all about the user interface by reading the Help (user guide). Anything else might be found on the Frequently Asked Questions (FAQ) page.
This section no longer pertains to the current version of X3D. You can safely ignore it, documentation of the compact and compromise forms is retained for archival purposes only.
You can easily simplify legacy content to remove "wrapper tags"
(<children> <appearance> <geometry>
etc.) by using X3dUnwrap
.
This also lets you upgrade to X3D-Edit version 1.7 from earlier versions.
Select Tools then Process XSL from the top menu.
Use the X3dUnwrap.xsl
stylesheet as shown to unwrap your scene.
Backing up your original file (or saving to a different filename) is a good idea.
The Process XSL window can be stretched left-right for easier reading.
The stylesheet also updates the tagset document type definition (DTD) from
x3d-compromise.dtd
to
x3d-compact.dtd
.
Example screen snapshots show "before" (compromise wrapper tags, X3D-Edit version 1.6) and "after" (compact unwrapped, X3D-Edit version 1.7) scene graphs.
Some miniscule detail about this project follows. This is primarily for documentation purposes and is not needed for regular use.
Besides X3D-Edit.bat, example Xeena editor invocations under Windows follow. Edit to match your your locally installed subdirectories as needed.
C:\ibm\Xeena> xeena.bat -dtd c:\www.web3d.org\x3d\content\x3d-compromise.dtd -root X3D C:\ibm\Xeena> xeena.bat -dtd c:\www.web3d.org\x3d\content\x3d-compromise.dtd -root X3D -xml c:\www.web3d.org\x3d\content\examples\AllVrml97Nodes.xml
There are many example invocations and shortcuts in the Makefile.
Not recommended (which means "skip this section"). If you insist on changing the installation directory (!) then you will need to edit the second line (DOCTYPE) of x3d-compromise.dtd, and you will also need to edit the following files: x3d-compromise.profile.X3D-Edit-1.6, x3d-compromise.profile, X3D-Edit-1.6.bat, X3D-Edit.bat and Makefile (if used) to match your local directory structure. You will likely have to edit the examples as well, though if you are connected to the network, Xeena will try to find the website version of the DTD.
X3D to VRML 97 translation is via XSLT script X3dToVrml97.xslt and batch file X3dToVrml97.bat
There are several compliant Extensible Stylesheet Language (XSL) processors available because the W3C XSL Recommendation (http://www.w3.org/TR/xslt) is stable (November 1999).
One excellent XSL transformation engine is SAXON at http://saxon.sourceforge.net - this includes "Instant Saxon," a 250KB Windows command-line executable.
X3dToVrml97.bat shows how to invoke saxon and the following tools.
X3D to HTML translation is also provided (for pretty printing) via X3dToXhtml.xslt and X3dToXhtml.bat
Trapezium's vorlon tool for VRML syntax checking is available at http://www.trapezium.com
Bob Crispen's vpp tool at http://hiwaay.net/~crispen/vrml for VRML pretty printing. An edited copy of vpp is included in this distribution with bigger MAXBUFSIZE for our big test-file comments. Thanks Bob!
Many bugs are avoided altogether (especially Windows ME and 98) by using the X3D-Edit Auto Installer for various operating systems (Windows, Mac, Linux, Unix/Solaris).
0. X3D-Edit can't open example scenes due to being disconnected from the network.
The underlying Xeena tool can't be modified to substitute local DTDs for online DTDs, causing a validation error when opening most scenes when offline.
The best correction to this problem is simply to connect to the network.
Example console output shows normal X3D-Edit operation.
A normal program exit allows the executing batch file to convert the DOCTYPE back to final form.
C:\www.web3d.org\x3d\content>x3d-edit examples\HelloWorld.x3d
X3dDtdChecker
tool
to convert DTD references.
1. Xeena/X3D-Edit works under JDK 1.4, except for the "Allowed Nodes" pane. Workarounds: use the other panes, install the X3D-Edit Auto Installer version, or supplement JDK 1.4 with JDK 1.3.1_09 instead.
2. A common installation problem follows. This can occur under Windows 95, Windows 98 or Windows Millenium (ME). The fix is the same either way.
] If you're running Windows 95/98/ME, and encounter an "Out of environment space" ] error, then you'll need to increase the size of the environment table. ] You can do this at the command line (which is temporary) or by editing ] a configuration file to make a permanent change (which requires restarting ] your computer). ] ] To temporarily increase environment space for X3D-Edit.bat, ] first enter the following command at the DOS prompt: ] ]C:\www.web3d.org\x3d\content> command /e:8192
] ]C:\www.web3d.org\x3d\content> X3D-Edit
] ] To permanently increase environment space, ] add the following line to yourC:\CONFIG.SYS
file, ] save all files, and then restart (reboot) your system: ] ] shell=command.com /e:8192 /p ] ] Once you've increased the size of the environment table, ] try running Xeena again. If there is still a problem, ] please cut/paste the command-window text into an email and ] report the problem.
Alternative for Windows Millenium (ME) from Tom Greenwald, NPS.
] For both Xeena and X3D-Edit I had to right click on the icon, left click ] on properties, click the memory tab, set the initial environment to ] 4096, set extended (XMS) memory to 8192, and set MS-DOS protected mode ] (DPMI) memory to 8192.
You may need to reboot your computer for these changes to take effect. You will also have to repeat this step whenever you update X3D-Edit, so you may prefer the permanent change above.
3. If you use the older version 1.1 of Xeena (instead of 1.2EA), the following errors appear:
C:\www.web3d.org\x3d\content>c:\ibm\Xeena\xeena.bat -dtd "c:\www.web3d.org\x3d\content\x3d-compromise.dtd" -root X3D -xml "c:\www.web3d.org\x3d\content\examples\newScene.xml" Syntax error Syntax error running Xeena with Java 2 Exception in thread "main" java.lang.NoClassDefFoundError: com/ibm/hrl/xmleditor/Xeena
To fix this problem: uninstall Xeeena 1.1, install Xeena 1.2 EA, and again extract X3D-Edit.zip (to correct the Xeena CLASSPATH bug). Or simply uninstall X3D-Edit and use the autoinstaller instead.
4. After importing a VRML97 scene, the XSL buttons do not work.
The following obscure message may appear in the console:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
Fix: save the imported scene as a file.
This may require renaming your scene if it was originally a read-only file (such as newScene.x3d
).
The XSL buttons now work.
See above for more instructions on using the
VRML97 Import capability.
You will need 128MB of RAM or more. Yes, 128.
6. The window goes blank and locks up before displaying a scene.
This is likely a DOCTYPE/DTD problem: Xeena is attempting to retrieve the DOCTYPE/DTD via the network, without success. When using Java 1.3 or earlier, this problem can only be fixed by replacing the DOCTYPE/DTD or else by connecting to the network, thus gaining access to the final DTD url.
Fixes and workarounds:
7. You want to use an http proxy server.
The http proxy server feature is for loading a file via the Web. Not a very common setting, but nice to have nevertheless.
You will need to uncomment and update the line in X3D-Edit's modified
C:\IBM\Xeena\Xeena.bat
for
set PROXY_SETTINGS
. Warning: we've had trouble with this feature under Windows 98.
8. Some developers might not have Make installed...
Make is not necessary to run X3D-Edit, it is only used for X3D-Edit source development. The Makefile is being replaced by an Ant build file.
Make is available
via the Cygnus distribution of GNU Utilities for PCs at
http://sourceware.cygnus.com/cygwin.
The Cygwin distribution provides Unix command line and utilities on Windows 95/98/NT/2000.
Don't forget to upgrade your PATH with something like
C:\cygnus\cygwin-b20\H-i586-cygwin32\bin;
.
Once Make is installed, edit the Makefile filename/directory
definitions to match your local installation.
There are a bunch of alternate example invocations in the Makefile
if you know how to grok Make.
9. X3D-Edit can't seem to find the correct version of Java.
Set the JAVA_HOME environment variable to the installation directory for Java on your system and X3D-Edit will use Java accordingly.
10. No X3D scene appears in the browser.
Install a VRML or X3D plugin in your Web browser.
11. Internet Explorer (IE) blocks viewing the 3D scene.
The following screen snapshots illustrate this problem and 2 solutions.
When the plugin is blocked from showing content, the following warning bar appears near the top of the browser.
Right click and select "Allow blocked content...
" then select "Yes" to confirm.
Correct integration of the plugin then appears:
You can permanently reset this permission by selecting Internet Explorer -> Tools -> Internet Options... -> Advanced
and then under Security select "Allow active content to run in files on My Computer
" as follows:
Similar selections can be made for automatically running content from a CD, over the Internet, etc.
12. How do I quickly update X3D-Edit and examples?
Menu shortcuts are provided under windows to easily retrieve updates.
Always extract all .zip files to the C:\
root directory.
13. IBM Haifa was very attentive in responding to bug reports regarding Xeena, the interface tool. Unfortunately, despite the popularity of Xeena, their team is no longer working on this tool. We hope to fix known Xeena bugs someday. Nevertheless it still usually works fine for X3D-Edit.
Revised: 22 December 2007
Maintained by Don Brutzman (brutzman at nps.navy.mil)
This page is available online at http://www.web3d.org/x3d/content/README.X3D-Edit.html