<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle22
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:940573623;
mso-list-type:hybrid;
mso-list-template-ids:-1814180 713850980 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-start-at:0;
mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Hi John. You are looking at build scripts for X3DPSAIL also known as x3d.py which is the python library implementing X3D SAI.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><ul style='margin-top:0in' type=disc><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Python X3D Package x3d.py<o:p></o:p></li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>https://www.web3d.org/x3d/stylesheets/python/python.html<o:p></o:p></li></ul><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We had some work on X3D Model Exchange development which used Blender to convert x3d to stl. Simple command-line invocation (CLI). Not sure if it currently works, blender might have changed since last summer.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Given Meshlab improvements and python additions, am expecting lots of activity will emerge with Blender Meshlab and Python in the coming year.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Meanwhile am focused on X3D-Edit. No direct support there for STL or PLY, though it would be nice. Since X3D has many ways to express a mesh, I’d expect a model would have to be fully tessellated (at some resolution) before being available for conversion to STL.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Meanwhile, going from STL to X3D appears a lot easier since the STL file is a single mesh. Suggest turning that into an IndexedFaceSet. I believe there are variations of STL and also various libraries. If you get something working in Java stably we can probably add it to X3D-Edit and X3DJSAIL, similarly for Python and X3DPSAIL><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Good luck!<o:p></o:p></p><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>all the best, Don<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>-- <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>Don Brutzman Naval Postgraduate School, Code USW/Br brutzman@nps.edu<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>X3D graphics, virtual worlds, Navy robotics https://</span> <span style='font-size:10.0pt;font-family:"Courier New"'>faculty.nps.edu/brutzman<o:p></o:p></span></p></div><p class=MsoNormal><o:p> </o:p></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From:</b> John Carlson <yottzumm@gmail.com> <br><b>Sent:</b> Tuesday, December 20, 2022 7:23 PM<br><b>To:</b> Brutzman, Donald (Don) (CIV) <brutzman@nps.edu>; Norbraten, Terry (CIV) <tdnorbra@nps.edu>; Joe D Williams <joedwil@earthlink.net>; X3D Graphics public mailing list <x3d-public@web3d.org><br><b>Subject:</b> Suspecting that something is being added to X3D-Edit as we speak.<o:p></o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><div><div><div><p class=MsoNormal>Didn't find any X3dToStl.xslt, but found, something else:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>john@DESKTOP-8OPL3IE MINGW64 /c/x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/java/src/python/blenderScripts">www.web3d.org/x3d/stylesheets/java/src/python/blenderScripts</a><o:p></o:p></p></div><div><p class=MsoNormal>$ ls -l<o:p></o:p></p></div><div><p class=MsoNormal>total 1140<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 4794 Oct 27 23:44 BlenderStlToX3d.py<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 7145 Oct 27 23:44 <b><u>BlenderX3dToMultipleExports.py</u></b><o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 12403 Oct 27 23:44 BlenderX3dToPng.py<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 20358 Oct 27 23:44 build.out.txt<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 10994 Oct 27 23:44 build.xml<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 129541 Oct 27 23:44 HanChenTest.viewpoint.blender.png<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 139229 Oct 27 23:44 HanChenTest.viewpoint1.blender.png<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 544494 Oct 27 23:44 HanChenTest.x3d<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 163884 Oct 27 23:44 LPD17.stl<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 113347 Oct 27 23:44 LPD17.x3d<o:p></o:p></p></div><div><p class=MsoNormal>drwxr-xr-x 1 john 197609 0 Oct 27 23:44 products/<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>john@DESKTOP-8OPL3IE MINGW64 /c/x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/java/src/python/blenderScripts">www.web3d.org/x3d/stylesheets/java/src/python/blenderScripts</a><o:p></o:p></p></div><div><p class=MsoNormal>$ !find<o:p></o:p></p></div><div><p class=MsoNormal>find . -name "*stl"<o:p></o:p></p></div><div><p class=MsoNormal>./LPD17.stl<o:p></o:p></p></div><div><p class=MsoNormal>./products/LPD17.blender.stl<o:p></o:p></p></div><div><div><p class=MsoNormal>john@DESKTOP-8OPL3IE MINGW64 /c/x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/java/src/python/blenderScripts/products">www.web3d.org/x3d/stylesheets/java/src/python/blenderScripts/products</a><o:p></o:p></p></div><div><p class=MsoNormal>$ ls -l<o:p></o:p></p></div><div><p class=MsoNormal>total 3193<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 609800 Oct 27 23:44 LPD17.blend<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 535603 Oct 27 23:44 LPD17.blender.ply<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 29203 Oct 27 23:44 LPD17.blender.png<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 160634 Oct 27 23:44 LPD17.blender.stl<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 122559 Oct 27 23:44 LPD17.blender.tidy.x3d<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 123106 Oct 27 23:44 LPD17.blender.x3d<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 45269 Oct 27 23:44 LPD17.blender_mono.png<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 123114 Oct 27 23:44 LPD17.blender_mono.x3d<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 122719 Oct 27 23:44 LPD17.blenderTidy.x3d<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 126614 Oct 27 23:44 LPD17.viewpoint.blender.png<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 126406 Oct 27 23:44 LPD17.viewpoint1.blender.png<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 126779 Oct 27 23:44 LPD17.viewpoint2.blender.png<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 126525 Oct 27 23:44 LPD17.viewpoint3.blender.png<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 126762 Oct 27 23:44 LPD17.viewpoint4.blender.png<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 128388 Oct 27 23:44 LPD17.viewpoint5.blender.png<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 609800 Oct 27 23:44 LPD17_mono.blend<o:p></o:p></p></div><div><p class=MsoNormal>-rw-r--r-- 1 john 197609 121 Oct 27 23:44 README.md<o:p></o:p></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>When can we see a test version in X3D-Edit? I'm guessing Blender does the tessellating? Should I look at the menus again? Will do!<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>John<o:p></o:p></p></div></div></div></div></div></div></body></html>