<div><div dir="auto">Thanks, Andreas, i didn’t know that about X3DOM, clever workaround.</div><div dir="auto"><br></div><div dir="auto">Here’s my actual example, which includes y-axis extrusions (sending so I can get a github link).</div><div dir="auto"><br></div><div dir="auto"><div dir="auto"><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/data/AllenDutton.json">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/data/pp3.json</a></div><br></div><div dir="auto">I guess I should have realized that y-axis extrusions worked!</div><div dir="auto"><br></div><div dir="auto">Probably I’ll make cylinders eventually. I found extrusions easier.</div><div dir="auto"><br></div><div dir="auto">Joy!</div><div dir="auto"><br></div><div dir="auto">John </div><div dir="auto"><br></div><div dir="auto"><span style="font-family:-apple-system,sans-serif">On Sun, Jul 6, 2025 at 4:58 PM Andreas Plesch <</span><a href="mailto:andreasplesch@gmail.com" target="_blank" style="font-family:-apple-system,sans-serif">andreasplesch@gmail.com</a><span style="font-family:-apple-system,sans-serif">> wrote:</span><br></div></div><div><div dir="auto"><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr"><div dir="ltr"><div>Update: Shape -> Transform</div><div><br></div><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+CiAgICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4KICAgICAgICAgICAgICAgICAgICA8IS0tIHVwIC0tPgogICAgICAgICAgICAgICAgICAgIDxUcmFuc2Zvcm0gc2NhbGU9IjAuNSAwLjUgMC41Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPFRyYW5zZm9ybSBVU0U9IlRyYWZvVXBSaWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAJPC9UcmFuc2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgPC9UcmFuc2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBkb3duIC0tPgogICAgICAgICAgICAgICAgICAgIDxUcmFuc2Zvcm0gc2NhbGU9IjAuNSAwLjUgMC41Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPFRyYW5zZm9ybSBVU0U9IlRyYWZvTGVmdERvd24iPgogICAgICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4gICAKICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4KICAgICAgICAgICAgICAgIDwvR3JvdXA+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+CiAgICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4KICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4KICAgICAgICAgICAgICAgICAgICA8IS0tIHVwIC0tPgogICAgICAgICAgICAgICAgICAgIDxUcmFuc2Zvcm0gc2NhbGU9IjAuNSAwLjUgMC41Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPFRyYW5zZm9ybSBVU0U9IlRyYWZvVXBSaWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAJPC9UcmFuc2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgPC9UcmFuc2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBkb3duIC0tPgogICAgICAgICAgICAgICAgICAgIDxUcmFuc2Zvcm0gc2NhbGU9IjAuNSAwLjUgMC41Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPFRyYW5zZm9ybSBVU0U9IlRyYWZvTGVmdERvd24iPgogICAgICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4gICAKICAgICAgICAgICAgICAgICAgICA8L1RyYW5zZm9ybT4KICAgICAgICAgICAgICAgIDwvR3JvdXA+CiAgICAgICAgICAgIDwvUHJvdG9Cb2R5PgogICAgICAgIDwvUHJvdG9EZWNsYXJlPgogICAgICAgIDxWaWV3cG9pbnQgZGVzY3JpcHRpb249IlByb2Nlc3MgcGlwZXMiIG9yaWVudGF0aW9uPSIxIDAgMCAtMC40IiBwb3NpdGlvbj0iMCA1IDEyIi8+CiAgICAgICAgPFRyYW5zZm9ybSB0cmFuc2xhdGlvbj0iMCAtMi41IDAiPgogICAgICAgICAgICA8UHJvdG9JbnN0YW5jZSBuYW1lPSJQcm9jZXNzIi8+CiAgICAgICAgPC9UcmFuc2Zvcm0+CiAgICAgICAgPFRyYW5zZm9ybSB0cmFuc2xhdGlvbj0iMCAwIDAiPgogICAgICAgICAgICA8UHJvdG9JbnN0YW5jZSBuYW1lPSJQcm9jZXNzIi8+CiAgICAgICAgPC9UcmFuc2Zvcm0+CiAgICAgICAgPFRyYW5zZm9ybSB0cmFuc2xhdGlvbj0iMCAyLjUgMCI+CiAgICAgICAgICAgIDxQcm90b0luc3RhbmNlIG5hbWU9IlByb2Nlc3MiLz4KICAgICAgICA8L1RyYW5zZm9ybT4KICAgIDwvU2NlbmU+CjwvWDNEPg==</a></div></div><div dir="ltr"><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jul 6, 2025 at 5:37 PM Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" target="_blank">andreasplesch@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><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 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><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><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>
_______________________________________________<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><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><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></div>
</blockquote></div></div>
</div>