<div dir="auto">I did see mention of the use of 3 spine points instead of two in the issue you linked. This is what I will try to accomplish, and report back at some point in the future.</div><div dir="auto"><br></div><div dir="auto">Thanks,</div><div dir="auto"><br></div><div dir="auto">John<br><div class="gmail_quote gmail_quote_container" dir="auto"><div dir="ltr" class="gmail_attr">On Sun, Jul 6, 2025 at 4:37 PM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com">andreasplesch@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi John,<br><br>you are right. This is a known issue. Extrusions only work reliably along the y-axis in x3dom. There are several github issues but there were no contributions for a proper fix.<br><br>In the example, the extrusion is along the x-axis. So you could adjust the code to first extrude along the y-axis and then rotate the extrusion, around the z-axis by 90 degrees. Here is the example in x3dom with such a work around (apologies for the long url, I currently cannot log in):<br><br><a href="https://andreasplesch.github.io/Library/Viewer/index.html?url=data:text/plan;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIFgzRCBQVUJMSUMgIklTTy8vV2ViM0QvL0RURCBYM0QgNC4wLy9FTiIgImh0dHBzOi8vd3d3LndlYjNkLm9yZy9zcGVjaWZpY2F0aW9ucy94M2QtNC4wLmR0ZCI+CjxYM0QgcHJvZmlsZT0iSW1tZXJzaXZlIiB2ZXJzaW9uPSI0LjAiIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzZDpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJodHRwczovL3d3dy53ZWIzZC5vcmcvc3BlY2lmaWNhdGlvbnMveDNkLTQuMC54c2QiPgogICAgPGhlYWQ+CiAgICAgICAgPG1ldGEgY29udGVudD0icXEzLngzZCIgbmFtZT0idGl0bGUiLz4KICAgICAgICA8bWV0YSBjb250ZW50PSJKb2huIENhcmxzb24iIG5hbWU9ImNyZWF0b3IiLz4KICAgICAgICA8bWV0YSBjb250ZW50PSJKb2huIENhcmxzb24iIG5hbWU9InRyYW5zbGF0b3IiLz4KICAgICAgICA8bWV0YSBjb250ZW50PSIxMSBKYW4gMjAxNSIgbmFtZT0iY3JlYXRlZCIvPgoJPG1ldGEgY29udGVudD0iMDUgTWF5IDIwMTciIG5hbWU9Im1vZGlmaWVkIi8+CiAgICAgICAgPG1ldGEgY29udGVudD0iMTIgZXh0cnVzaW9ucyIgbmFtZT0iZGVzY3JpcHRpb24iLz4KICAgICAgICA8bWV0YSBjb250ZW50PSJodHRwczovL2NvZGVyZXh0cmVtZS5uZXQveDNkL3FxMy54M2QiIG5hbWU9ImlkZW50aWZpZXIiLz4KICAgICAgICA8bWV0YSBjb250ZW50PSJtYW51YWwiIG5hbWU9ImdlbmVyYXRvciIvPgogICAgPC9oZWFkPgogICAgPFNjZW5lPgogICAgICAgIDxQcm90b0RlY2xhcmUgbmFtZT0iUHJvY2VzcyI+CiAgICAgICAgICAgIDxQcm90b0JvZHk+CiAgICAgICAgICAgICAgICA8R3JvdXA+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBsZWZ0IC0tPgogICAgICAgICAgICAgICAgICAgIDxUcmFuc2Zvcm0gc2NhbGU9IjAuNSAwLjUgMC41Ij4KICAgICAgICAgICAgICAgICAgICAgIDxUcmFuc2Zvcm0gREVGPSJUcmFmb0xlZnREb3duIiByb3RhdGlvbj0nMCAwIDEgLTEuNTcnPgogICAgICAgICAgICAgICAgICAgICAgICA8U2hhcGUgREVGPSJTaGFwZUxlZnREb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBlYXJhbmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXRlcmlhbCBkaWZmdXNlQ29sb3I9IjAuNyAxIDAiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwZWFyYW5jZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxFeHRydXNpb24gc3BpbmU9IjAgLTIuNTAgMCAwIC0xLjUwIDAiIGNyZWFzZUFuZ2xlPSIwLjc4NSIgY3Jvc3NTZWN0aW9uPSIxLjAwIDAuMDAgMC45MiAtMC4zOCAwLjcxIC0wLjcxIDAuMzggLTAuOTIgMC4wMCAtMS4wMCAtMC4zOCAtMC45MiAtMC43MSAtMC43MSAtMC45MiAtMC4zOCAtMS4wMCAtMC4wMCAtMC45MiAwLjM4IC0wLjcxIDAuNzEgLTAuMzggMC45MiAwLjAwIDEuMDAgMC4zOCAwLjkyIDAuNzEgMC43MSAwLjkyIDAuMzggMS4wMCAwLjAwIiAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L1NoYXBlPgogICAgICAgICAgICAgICAgICAgICAgPC9UcmFuc2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgPC9UcmFuc2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgPCEtLSByaWdodCAtLT4KICAgICAgICAgICAgICAgICAgICA8VHJhbnNmb3JtIHNjYWxlPSIwLjUgMC41IDAuNSI+CiAgICAgICAgICAgICAgICAgICAgICA8VHJhbnNmb3JtIERFRj0iVHJhZm9VcFJpZ2h0IiByb3RhdGlvbj0nMCAwIDEgLTEuNTcnPgogICAgICAgICAgICAgICAgICAgICAgICA8U2hhcGUgREVGPSJTaGFwZVVwUmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGVhcmFuY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1hdGVyaWFsIGRpZmZ1c2VDb2xvcj0iMCAwLjcgMSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBlYXJhbmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPEV4dHJ1c2lvbiBzcGluZT0iMCAxLjUwIDAgMCAyLjUwIDAiIGNyZWFzZUFuZ2xlPSIwLjc4NSIgY3Jvc3NTZWN0aW9uPSIxLjAwIDAuMDAgMC45MiAtMC4zOCAwLjcxIC0wLjcxIDAuMzggLTAuOTIgMC4wMCAtMS4wMCAtMC4zOCAtMC45MiAtMC43MSAtMC43MSAtMC45MiAtMC4zOCAtMS4wMCAtMC4wMCAtMC45MiAwLjM4IC0wLjcxIDAuNzEgLTAuMzggMC45MiAwLjAwIDEuMDAgMC4zOCAwLjkyIDAuNzEgMC43MSAwLjkyIDAuMzggMS4wMCAwLjAwIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvU2hhcGU+CiAgICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4KICAgICAgICAgICAgICAgICAgICA8IS0tIHVwIC0tPgogICAgICAgICAgICAgICAgICAgIDxUcmFuc2Zvcm0gc2NhbGU9IjAuNSAwLjUgMC41Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPFNoYXBlIFVTRT0iVHJhZm9VcFJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPC9TaGFwZT4KICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4KICAgICAgICAgICAgICAgICAgICA8IS0tIGRvd24gLS0+CiAgICAgICAgICAgICAgICAgICAgPFRyYW5zZm9ybSBzY2FsZT0iMC41IDAuNSAwLjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8U2hhcGUgVVNFPSJUcmFmb0xlZnREb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9TaGFwZT4gICAKICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4KICAgICAgICAgICAgICAgIDwvR3JvdXA+CiAgICAgICAgICAgIDwvUHJvdG9Cb2R5PgogICAgICAgIDwvUHJvdG9EZWNsYXJlPgogICAgICAgIDxWaWV3cG9pbnQgZGVzY3JpcHRpb249IlByb2Nlc3MgcGlwZXMiIG9yaWVudGF0aW9uPSIxIDAgMCAtMC40IiBwb3NpdGlvbj0iMCA1IDEyIi8+CiAgICAgICAgPFRyYW5zZm9ybSB0cmFuc2xhdGlvbj0iMCAtMi41IDAiPgogICAgICAgICAgICA8UHJvdG9JbnN0YW5jZSBuYW1lPSJQcm9jZXNzIi8+CiAgICAgICAgPC9UcmFuc2Zvcm0+CiAgICAgICAgPFRyYW5zZm9ybSB0cmFuc2xhdGlvbj0iMCAwIDAiPgogICAgICAgICAgICA8UHJvdG9JbnN0YW5jZSBuYW1lPSJQcm9jZXNzIi8+CiAgICAgICAgPC9UcmFuc2Zvcm0+CiAgICAgICAgPFRyYW5zZm9ybSB0cmFuc2xhdGlvbj0iMCAyLjUgMCI+CiAgICAgICAgICAgIDxQcm90b0luc3RhbmNlIG5hbWU9IlByb2Nlc3MiLz4KICAgICAgICA8L1RyYW5zZm9ybT4KICAgIDwvU2NlbmU+CjwvWDNEPg==" target="_blank">https://andreasplesch.github.io/Library/Viewer/index.html?url=data:text/plan;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIFgzRCBQVUJMSUMgIklTTy8vV2ViM0QvL0RURCBYM0QgNC4wLy9FTiIgImh0dHBzOi8vd3d3LndlYjNkLm9yZy9zcGVjaWZpY2F0aW9ucy94M2QtNC4wLmR0ZCI+CjxYM0QgcHJvZmlsZT0iSW1tZXJzaXZlIiB2ZXJzaW9uPSI0LjAiIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzZDpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJodHRwczovL3d3dy53ZWIzZC5vcmcvc3BlY2lmaWNhdGlvbnMveDNkLTQuMC54c2QiPgogICAgPGhlYWQ+CiAgICAgICAgPG1ldGEgY29udGVudD0icXEzLngzZCIgbmFtZT0idGl0bGUiLz4KICAgICAgICA8bWV0YSBjb250ZW50PSJKb2huIENhcmxzb24iIG5hbWU9ImNyZWF0b3IiLz4KICAgICAgICA8bWV0YSBjb250ZW50PSJKb2huIENhcmxzb24iIG5hbWU9InRyYW5zbGF0b3IiLz4KICAgICAgICA8bWV0YSBjb250ZW50PSIxMSBKYW4gMjAxNSIgbmFtZT0iY3JlYXRlZCIvPgoJPG1ldGEgY29udGVudD0iMDUgTWF5IDIwMTciIG5hbWU9Im1vZGlmaWVkIi8+CiAgICAgICAgPG1ldGEgY29udGVudD0iMTIgZXh0cnVzaW9ucyIgbmFtZT0iZGVzY3JpcHRpb24iLz4KICAgICAgICA8bWV0YSBjb250ZW50PSJodHRwczovL2NvZGVyZXh0cmVtZS5uZXQveDNkL3FxMy54M2QiIG5hbWU9ImlkZW50aWZpZXIiLz4KICAgICAgICA8bWV0YSBjb250ZW50PSJtYW51YWwiIG5hbWU9ImdlbmVyYXRvciIvPgogICAgPC9oZWFkPgogICAgPFNjZW5lPgogICAgICAgIDxQcm90b0RlY2xhcmUgbmFtZT0iUHJvY2VzcyI+CiAgICAgICAgICAgIDxQcm90b0JvZHk+CiAgICAgICAgICAgICAgICA8R3JvdXA+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBsZWZ0IC0tPgogICAgICAgICAgICAgICAgICAgIDxUcmFuc2Zvcm0gc2NhbGU9IjAuNSAwLjUgMC41Ij4KICAgICAgICAgICAgICAgICAgICAgIDxUcmFuc2Zvcm0gREVGPSJUcmFmb0xlZnREb3duIiByb3RhdGlvbj0nMCAwIDEgLTEuNTcnPgogICAgICAgICAgICAgICAgICAgICAgICA8U2hhcGUgREVGPSJTaGFwZUxlZnREb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBcHBlYXJhbmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXRlcmlhbCBkaWZmdXNlQ29sb3I9IjAuNyAxIDAiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQXBwZWFyYW5jZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxFeHRydXNpb24gc3BpbmU9IjAgLTIuNTAgMCAwIC0xLjUwIDAiIGNyZWFzZUFuZ2xlPSIwLjc4NSIgY3Jvc3NTZWN0aW9uPSIxLjAwIDAuMDAgMC45MiAtMC4zOCAwLjcxIC0wLjcxIDAuMzggLTAuOTIgMC4wMCAtMS4wMCAtMC4zOCAtMC45MiAtMC43MSAtMC43MSAtMC45MiAtMC4zOCAtMS4wMCAtMC4wMCAtMC45MiAwLjM4IC0wLjcxIDAuNzEgLTAuMzggMC45MiAwLjAwIDEuMDAgMC4zOCAwLjkyIDAuNzEgMC43MSAwLjkyIDAuMzggMS4wMCAwLjAwIiAvPgogICAgICAgICAgICAgICAgICAgICAgICA8L1NoYXBlPgogICAgICAgICAgICAgICAgICAgICAgPC9UcmFuc2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgPC9UcmFuc2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgPCEtLSByaWdodCAtLT4KICAgICAgICAgICAgICAgICAgICA8VHJhbnNmb3JtIHNjYWxlPSIwLjUgMC41IDAuNSI+CiAgICAgICAgICAgICAgICAgICAgICA8VHJhbnNmb3JtIERFRj0iVHJhZm9VcFJpZ2h0IiByb3RhdGlvbj0nMCAwIDEgLTEuNTcnPgogICAgICAgICAgICAgICAgICAgICAgICA8U2hhcGUgREVGPSJTaGFwZVVwUmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPEFwcGVhcmFuY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1hdGVyaWFsIGRpZmZ1c2VDb2xvcj0iMCAwLjcgMSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9BcHBlYXJhbmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPEV4dHJ1c2lvbiBzcGluZT0iMCAxLjUwIDAgMCAyLjUwIDAiIGNyZWFzZUFuZ2xlPSIwLjc4NSIgY3Jvc3NTZWN0aW9uPSIxLjAwIDAuMDAgMC45MiAtMC4zOCAwLjcxIC0wLjcxIDAuMzggLTAuOTIgMC4wMCAtMS4wMCAtMC4zOCAtMC45MiAtMC43MSAtMC43MSAtMC45MiAtMC4zOCAtMS4wMCAtMC4wMCAtMC45MiAwLjM4IC0wLjcxIDAuNzEgLTAuMzggMC45MiAwLjAwIDEuMDAgMC4zOCAwLjkyIDAuNzEgMC43MSAwLjkyIDAuMzggMS4wMCAwLjAwIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvU2hhcGU+CiAgICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4KICAgICAgICAgICAgICAgICAgICA8IS0tIHVwIC0tPgogICAgICAgICAgICAgICAgICAgIDxUcmFuc2Zvcm0gc2NhbGU9IjAuNSAwLjUgMC41Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPFNoYXBlIFVTRT0iVHJhZm9VcFJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPC9TaGFwZT4KICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4KICAgICAgICAgICAgICAgICAgICA8IS0tIGRvd24gLS0+CiAgICAgICAgICAgICAgICAgICAgPFRyYW5zZm9ybSBzY2FsZT0iMC41IDAuNSAwLjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8U2hhcGUgVVNFPSJUcmFmb0xlZnREb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9TaGFwZT4gICAKICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4KICAgICAgICAgICAgICAgIDwvR3JvdXA+CiAgICAgICAgICAgIDwvUHJvdG9Cb2R5PgogICAgICAgIDwvUHJvdG9EZWNsYXJlPgogICAgICAgIDxWaWV3cG9pbnQgZGVzY3JpcHRpb249IlByb2Nlc3MgcGlwZXMiIG9yaWVudGF0aW9uPSIxIDAgMCAtMC40IiBwb3NpdGlvbj0iMCA1IDEyIi8+CiAgICAgICAgPFRyYW5zZm9ybSB0cmFuc2xhdGlvbj0iMCAtMi41IDAiPgogICAgICAgICAgICA8UHJvdG9JbnN0YW5jZSBuYW1lPSJQcm9jZXNzIi8+CiAgICAgICAgPC9UcmFuc2Zvcm0+CiAgICAgICAgPFRyYW5zZm9ybSB0cmFuc2xhdGlvbj0iMCAwIDAiPgogICAgICAgICAgICA8UHJvdG9JbnN0YW5jZSBuYW1lPSJQcm9jZXNzIi8+CiAgICAgICAgPC9UcmFuc2Zvcm0+CiAgICAgICAgPFRyYW5zZm9ybSB0cmFuc2xhdGlvbj0iMCAyLjUgMCI+CiAgICAgICAgICAgIDxQcm90b0luc3RhbmNlIG5hbWU9IlByb2Nlc3MiLz4KICAgICAgICA8L1RyYW5zZm9ybT4KICAgIDwvU2NlbmU+CjwvWDNEPg==</a></div><br><br><div class="gmail_quote"></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jul 6, 2025 at 12:51 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"></blockquote></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">It seems like X3DOM doesn’t do extrusion properly, at least according to successful renderings in other browsers. This is a long term issue, mentioned several times. This is one reason I don’t use X3DOM on a more regular basis. So I tried converting my extrusion to PLY, and things are even worse.</div><div dir="auto"><br></div><div dir="auto">I need:</div><div dir="auto"><br></div><div dir="auto">1) a way to render extrusions properly in X3DOM.</div><div dir="auto">2) a way to tessellate X3D XML/JSON Extrusions to PLY.</div><div dir="auto"><br></div><div dir="auto">I will put this on a feature request.</div><div dir="auto"><br></div><div dir="auto">John </div></blockquote></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
_______________________________________________<br>
X3dom-users mailing list<br>
<a href="mailto:X3dom-users@lists.sourceforge.net" target="_blank">X3dom-users@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/x3dom-users" rel="noreferrer" target="_blank">https://lists.sourceforge.net/lists/listinfo/x3dom-users</a></blockquote></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
</blockquote></div><div><br clear="all"></div><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Andreas Plesch<br>Waltham, MA 02453</div></div></div>
</blockquote></div></div>