Examples of the 3 types of 3D path definitions are shown below:

<defs>
<path id="mt01"  d="M-2000,-494v494h4000v-494z"/>
<path id="mt02"  d="M2000,-57C966,-67 933,-67 900,-57..."/>
<path id="fg01"  d="..."/>
<path id="fg02"  d="......"/>
<path id="wdm01"  d="..."/>
<path id="wdm02"  d="......"/>

<path3d id="xyz" d="M0,-140,-130 Ll0,0,-40 Ll0,-40,0 Ll0,0,40Z"/>

<point id="FA" x="0"   y="0"    z="0"/>  
<point id="FD" x="-300"   y="0"    z="0"/> 
<point id="BA" x="0"   y="0"    z="-300"/> 
<point id="BD" x="-300"   y="0"    z="-300"/> 

<p_path3d id="w19Hut_floor"> <M p="FA"/><L p="BA"/><L p="BD"/><L p="FD"/><Z /></p_path3d>
<p_path3d id="w19H"> <M p="FA"/><C c1="BA"c2="BD" c3="FD"/></p_path3d>
</defs>

path

The path definitions will be transformed to the standard XML form. When referenced, a z-coordinate set to 0 will be added to each point.

The add_z transformation is an alternative way of adding the z-coordinate. It is mainly of use when the path definitions have been copied from some other source file.

The internal form of a cubic command is now:

<c t="C" o="c" cx="840" cy="300" cz="0" x1="1240" y1="350" z1="0" x2="1640" y2="370" z2="0" x3="1940" y3="580" z3="0"/>

path3d

This path element defines the z-values explicitly. The first L command in the path3d element with id set to xyz above would be:

<c t="L" o="L" cx="0" cy="-140" cz="-130"  x3="10" y3="0" z3="-40"/>

p_path3d

This defines the 3D path by reference to the point definitions. The first p_path3d example is equivalent to:

<path3d d="M0,0,0L0,0,-300L-300,0,-300L-300,0,0Z"/>

The point definitions must be absolute positions.