<html 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=utf-8"><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;}
@font-face
        {font-family:"Segoe UI Emoji";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
        {font-family:inherit;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:inherit;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:inherit;}
span.od
        {mso-style-name:od;}
span.ev
        {mso-style-name:ev;}
.MsoChpDefault
        {mso-style-type:export-only;}
@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:1410422025;
        mso-list-type:hybrid;
        mso-list-template-ids:-117284096 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        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></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>May I suggest that the following fields/items are missing from X3DUOM due to my lack of information.</p><p class=MsoNormal>In particular, first, how is “IS” related to other nodes?  How are field nodes related to ComposedShaders or Script nodes?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sorry about source code/difficulty reading.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>In general, self.name is a node that fields are added to.   Field is the node they are added to, and __choice_table adds them to the python API using access_type index</p><p class=MsoNormal>        field = alone_field("comments", '#comment')</p><p class=MsoNormal>        name = self.processField(field)</p><p class=MsoNormal>        str += self.__choice_table['inputOnly'](field, name)</p><p class=MsoNormal>        if self.name == "ComposedShader":</p><p class=MsoNormal>            field = alone_field("sourceCode", '#cdata')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOnly'](field, name)</p><p class=MsoNormal>        if self.name == "Script":</p><p class=MsoNormal>            field = alone_field("sourceCode", '#cdata')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOnly'](field, name)</p><p class=MsoNormal>        if self.name == "ComposedShader":</p><p class=MsoNormal>            field = alone_field("field", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>        if self.name == "head":</p><p class=MsoNormal>            field = alone_field("meta", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>        elif self.name == "Scene":</p><p class=MsoNormal>            field = alone_field("LayerSet", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>        elif self.name == "TouchSensor":</p><p class=MsoNormal>            field = alone_field("IS", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>        elif self.name == "NavigationInfo":</p><p class=MsoNormal>            field = alone_field("IS", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>       elif self.name == "Viewpoint":</p><p class=MsoNormal>            field = alone_field("IS", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>        elif self.name == "OrientationInterpolator":</p><p class=MsoNormal>            field = alone_field("IS", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>        elif self.name == "PositionInterpolator":</p><p class=MsoNormal>            field = alone_field("IS", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>        elif self.name == "DirectionalLight":</p><p class=MsoNormal>            field = alone_field("IS", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>        elif self.name == "Group":</p><p class=MsoNormal>            field = alone_field("IS", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>        elif self.name == "Transform":</p><p class=MsoNormal>            field = alone_field("IS", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>        elif self.name == "Shape":</p><p class=MsoNormal>            field = alone_field("IS", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>        elif self.name == "Material":</p><p class=MsoNormal>            field = alone_field("IS", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>        elif self.name == "Script":</p><p class=MsoNormal>            field = alone_field("IS", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>            field = alone_field("field", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>        elif self.name == "ProtoInstance":</p><p class=MsoNormal>            field = alone_field("IS", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal>        elif self.name == "ShaderPart":</p><p class=MsoNormal>            field = alone_field("IS", 'MFNode')</p><p class=MsoNormal>            name = self.processField(field)</p><p class=MsoNormal>            str += self.__choice_table['inputOutput'](field, name)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Saturday, March 9, 2019 11:39 AM<br><b>To: </b><a href="mailto:joedwil@earthlink.net">Joseph D Williams</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a>; <a href="mailto:brutzman@nps.edu">Don Brutzman</a>; <a href="mailto:aono@tut.jp">aono@tut.jp</a><br><b>Subject: </b>RE:[x3d-public]PythonSAI,successfulrunofHelloWorld.kwargs.pysubmissions welcome!</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Joe, there we problems with the source files you provided.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Please fix up these files:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>X3DSkeletonRunning/leftfoot.x3d<o:p></o:p></p><p class=MsoNormal>X3DSkeletonRunning/lefthand.x3d<o:p></o:p></p><p class=MsoNormal>Web3dLogo-X3d-animated-logo2.x3d<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Friday, March 8, 2019 2:38 AM<br><b>To: </b><a href="mailto:joedwil@earthlink.net">Joseph D Williams</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a>; <a href="mailto:brutzman@nps.edu">Don Brutzman</a>; <a href="mailto:aono@tut.jp">aono@tut.jp</a><br><b>Subject: </b>RE: [x3d-public]PythonSAI,successfulrunofHelloWorld.kwargs.pysubmissions welcome!<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Joe,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I got rid of surrounding white space just inside ‘ in MFStrings.  I can’t seem to write the code to handle it <span style='font-family:"Segoe UI Emoji",sans-serif'>☹</span>.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Friday, March 8, 2019 1:46 AM<br><b>To: </b><a href="mailto:joedwil@earthlink.net">Joseph D Williams</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a>; <a href="mailto:brutzman@nps.edu">Don Brutzman</a>; <a href="mailto:aono@tut.jp">aono@tut.jp</a><br><b>Subject: </b>RE: [x3d-public] PythonSAI,successfulrunofHelloWorld.kwargs.pysubmissions welcome!<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>More work, about to release alpha soon.  Ran into this problem:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div><table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0><tr><td style='padding:0in 0in 0in 0in'><div style='border:solid windowtext 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt' id=vt100><pre style='line-height:110%;background:black'><span class=od><span style='color:#BFBFBF'>processScene.python:                                                            </span></span><span style='color:#BFBFBF'><o:p></o:p></span></pre><pre style='line-height:110%;background:black'><span class=ev><span style='color:#BFBFBF'>     [exec]   File "C:\x3d-code\www.web3d.org\x3d\stylesheets\java\src\python\py</span></span><span style='color:#BFBFBF'><o:p></o:p></span></pre><pre style='line-height:110%;background:black'><span class=od><span style='color:#BFBFBF'>thonapi\data\BoxManAnimationPanel.kwargs.py", line 29                           </span></span><span style='color:#BFBFBF'><o:p></o:p></span></pre><pre style='line-height:110%;background:black'><span class=ev><span style='color:#BFBFBF'>     [exec]     Scene29 = Scene(WorldInfo30 = WorldInfo(info=["(C) 2000 James Sm</span></span><span style='color:#BFBFBF'><o:p></o:p></span></pre><pre style='line-height:110%;background:black'><span class=od><span style='color:#BFBFBF'>ith - james@vapourtech.com","http://www.vapourtech.com/team/james/boxman.wrl","B</span></span><span style='color:#BFBFBF'><o:p></o:p></span></pre><pre style='line-height:110%;background:black'><span class=ev><span style='color:#BFBFBF'>laxxun compatibility by Tu Lam - TuL@seamless-solutions.com"], title="BoxMan - A</span></span><span style='color:#BFBFBF'><o:p></o:p></span></pre><pre style='line-height:110%;background:black'><span class=od><span style='color:#BFBFBF'> Seamless VRML Human"),                                                         </span></span><span style='color:#BFBFBF'><o:p></o:p></span></pre><pre style='line-height:110%;background:black'><span class=ev><span style='color:#BFBFBF'>     [exec]                    ^                                                </span></span><span style='color:#BFBFBF'><o:p></o:p></span></pre><pre style='line-height:110%;background:black'><span class=od><span style='color:#BFBFBF'>     [exec] SyntaxError: more than 255 arguments                                </span></span><span style='color:#BFBFBF'><o:p></o:p></span></pre><pre style='line-height:110%;background:black'><span class=ev><span style='color:#BFBFBF'>     [exec] Result: 1                                                           </span></span><span style='color:#BFBFBF'><o:p></o:p></span></pre><pre style='line-height:110%;background:black'><span class=od><span style='color:#BFBFBF'>     [echo] C:\x3d-code\www.web3d.org\x3d\stylesheets\java\src\python\pythonapi\</span></span><span style='color:#BFBFBF'><o:p></o:p></span></pre><pre style='line-height:110%;background:black'><span class=ev><span style='color:#BFBFBF'>data\BoxManAnimationPanel.kwargs.py                                             </span></span><span style='color:#BFBFBF'><o:p></o:p></span></pre></div></td></tr></table></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Apparently, we can only have 255 keyword parameters to a constructor.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Friday, March 8, 2019 12:59 AM<br><b>To: </b><a href="mailto:joedwil@earthlink.net">Joseph D Williams</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a>; <a href="mailto:brutzman@nps.edu">Don Brutzman</a>; <a href="mailto:aono@tut.jp">aono@tut.jp</a><br><b>Subject: </b>RE: [x3d-public] Python SAI,successfulrunofHelloWorld.kwargs.pysubmissions welcome!<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Updated again.  Need to create new code for comparing min/max to array (anyone have some?)  Need some code for <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Suggestions for further development encouraged.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Thursday, March 7, 2019 5:43 PM<br><b>To: </b><a href="mailto:joedwil@earthlink.net">Joseph D Williams</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a>; <a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Subject: </b>RE: [x3d-public] Python SAI,successful runofHelloWorld.kwargs.pysubmissions welcome!<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Should be updated. Still have to deal with kwargs.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Wednesday, March 6, 2019 11:55 PM<br><b>To: </b><a href="mailto:joedwil@earthlink.net">Joseph D Williams</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a>; <a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Subject: </b>RE: [x3d-public] Python SAI,successful run ofHelloWorld.kwargs.pysubmissions welcome!<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Python return to you (no testing done against API).<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/java/src/python/pythonapi/JoePython.zip">https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/java/src/python/pythonapi/JoePython.zip</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Good luck!<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:joedwil@earthlink.net">Joseph D Williams</a><br><b>Sent: </b>Wednesday, March 6, 2019 3:28 PM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a>; <a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Subject: </b>RE: [x3d-public] Python SAI,successful run of HelloWorld.kwargs.pysubmissions welcome!<o:p></o:p></p></div><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'>Submit x3d examples to convert to python.<o:p></o:p></li></ul><p class=MsoNormal><b><o:p> </o:p></b></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hi John, great work on the road to pyification of x3d. <o:p></o:p></p><p class=MsoNormal>Try some .x3d examples at this link. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><a href="http://hypermultimedia.com/x3d/URLTests/">http://hypermultimedia.com/x3d/URLTests/</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Also, some examples ar:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><a href="http://www.hypermultimedia.com/x3d/JoeX3D/JoeX3D.htm">http://www.hypermultimedia.com/x3d/JoeX3D/JoeX3D.htm</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>zip for these examples at: <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>http://www.hypermultimedia.com/x3d/JoeX3D/JoeX3D.zip<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks and Best, <o:p></o:p></p><p class=MsoNormal>Joe<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Wednesday, March 6, 2019 4:07 AM<br><b>To: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a>; <a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Subject: </b>[x3d-public] Python SAI,successful run of HelloWorld.kwargs.py submissions welcome!<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Updated SAI: (starting to work)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/java/src/python/pythonapi/X3Dpackage.py">https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/java/src/python/pythonapi/X3Dpackage.py</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Updated HelloWorld.kwargs.py: (runs)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/java/src/python/pythonapi/data/HelloWorld.kwargs.py">https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/java/src/python/pythonapi/data/HelloWorld.kwargs.py</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>More example x3d files that I can convert to python are welcome.   Submit x3d examples to convert to python.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>