<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;}
/* 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;}
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;}
.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:556278647;
        mso-list-type:hybrid;
        mso-list-template-ids:-2011817732 -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:Calibri;}
@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>Dear Dr. Aono.  Thank you for all your assistant in the past.   We are trying to convert X3D python X3DJSAIL code to a single expression for the scenegraph, but we get this error.  I am basically stumped by this:</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'>set PYTHONPATH=C:\x3d-code\www.web3d.org\x3d\stylesheets\java\src\python\pyjinus<o:p></o:p></li></ul><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'>cd %PYTHONPATH%<o:p></o:p></li></ul><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 ../../../../../content/examples/Basic/RigidBodyPhysics/UniversalJointfuture.py<o:p></o:p></li></ul><p class=MsoNormal>Traceback (most recent call last):<o:p></o:p></p><p class=MsoNormal>  File "../../../../../content/examples/Basic/RigidBodyPhysics/UniversalJointfuture.py", line 73, in <module><o:p></o:p></p><p class=MsoNormal>    .setDEF("BOX-GEOM-1") \<o:p></o:p></p><p class=MsoNormal>AttributeError: 'org.web3d.x3d.sai.RigidBodyPhysics.X3DNBodyCollida' object has no attribute 'setShape'<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This works:<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 ../../../../../content/examples/Basic/RigidBodyPhysics/UniversalJoint.py</li></ul><p class=MsoNormal>Warning: /x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/UniversalJoint.new.x3d does not meet suggested X3D naming conventions, output serialization continuing...</p><p class=MsoNormal>Warning: toFileX3D() is overwriting prior file /x3d-code/www.web3d.org/x3d/content/examples/Basic/RigidBodyPhysics/UniversalJoint.new.x3d</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The python files are attached and may be dropped in the checked out sourceforge folder.   The ant build.xml in pyjnius folder will create python files from X3D XML and overwrite the python files in www.web3d.org/x3d/content/examples/…</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thank you for all the help you can give.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I am using python 3.6.7 and npm 6.4.1.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Jeff, if you want to catch up, you can check out my python and JavaScript code in pyjnius from <a href="https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/">https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/</a>, then set PYTHONPATH as above, … You’ll probably need to build X3DJSAIL (can you provide instructions for building Don?) or modify the classpath in the python file to refer to the full jar path</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I am trying to make it so you don’t have to run ant/build.xml by providing python files.  There are many more similar errors in the ant build.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I am a python beginner for the most part.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Don, please copy from this anything you see that will help people bootstrap into python.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>My apologies that this is not organized as well as it could be.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p></div></body></html>