XML for 3D geometry and objects

Joshua E. Smith jesmith at kaon.com
Fri Jan 21 15:17:50 GMT 2000

>> I'm investigating syntaxes and formats for CAD (Computer Aided Design)
>> data: IGES, STEP, etc. Apparently no XML thing exists in this field.

You might be interested in our HyperActive technology (I mentioned this
earlier on this list, in case you are experiencing deja vu all over again):


We do a lot more than 3D (it's really a programming language for creating
interactive multi-user applications that run in web browsers).  But we do
support both verbose, direct 3D scene description in the XML, as well as a
mixed XML/binary approach which crunches 3D data to the theoretical limits
of tightness.

For example, here's a snippet of a file which describes a square textured

<Material name='boards' ><Image url='floor.jpg' /></Material>
<Object3D name='floor' scale='150' x='100' z='-100' >
  <Mesh back='no' materials='boards' >
    <!-- y is the up/down dimension and defaults to 0... -->
    <V x='-1' z='1' u='0' v='7' />
    <V x='1' z='1' u='10' v='7' />
    <V x='1' z='-1' u='10' v='0' />
    <V x='-1' z='-1' u='0' v='0' />
    <F a='0' b='1' c='2' d='3' />

And here's a snippet of that same file which describes a room (the geometry
is stored in a separate file in a binary format):

<!-- lots of materials omitted... -->
<Material name='window2' power='0' alpha='1'>
	<Color red='255' green='255' blue='255' />
	<Color red='12' green='12' blue='12' />
	<Color red='0' green='0' blue='0' />
	<Image url='WindowL.jpg'/>
<Object3D name='walls' >
	<Mesh back='no' materials='south west east north window1 window2'
		<VSet count='6249' xmin='0' xmax='223.587' xbits='12' zmin='-209.409'
zmax='17.0259' zbits='12' ymin='-0.967042' ymax='123.077' ybits='11'
umin='0' umax='0.998331' ubits='10' vmin='0.00541264' vmax='0.993679'
		<FSet count='1502' base='0' bits='13' m='0'/>
		<FSet count='1809' base='0' bits='13' m='1'/>
		<FSet count='580' base='0' bits='13' m='2'/>
		<FSet count='326' base='0' bits='13' m='3'/>
		<FSet count='968' base='0' bits='13' m='4'/>
		<FSet count='944' base='0' bits='13' m='5'/>

I won't bore everyone on this list with an explanation of that -- it's in
the manual in the SDK.  But I figured you'd get the idea.

We're in the process of adding some vector primitives to address the needs
of CAD users, as well.

Our XML formats are much more accessable than the XMLification of VRML, or
of SVG.  (And more stable, since those are both still evolving.)  You'll
find that as a result our plugin can be tiny (<350K) and very efficient.
However, we cannot do everything VRML can, and we won't come close to what
SVG can do.

Also, if after looking at our stuff, you find that it's 95% of what you
need, let me know and I'll see if we can get that last 5% in there before
we start shipping this thing big time.

-Joshua Smith

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ or CD-ROM/ISBN 981-02-3594-1
Unsubscribe by posting to majordom at ic.ac.uk the message
unsubscribe xml-dev  (or)
unsubscribe xml-dev your-subscribed-email at your-subscribed-address

Please note: New list subscriptions now closed in preparation for transfer to OASIS.

More information about the Xml-dev mailing list