<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">The PMI -- dimensions and tolerancing information -- displayed in the NIST example were created with the NIST STEP File Analyzer ( <a href="https://www.nist.gov/services-resources/software/step-file-analyzer-and-viewer" class="">https://www.nist.gov/services-resources/software/step-file-analyzer-and-viewer</a> ) using the graphical PMI as exported into a STEP file by the CAD system used to create the model. The PMI in the X3DOM is rendered as 2D line segments drawing out the text and symbols.<div class=""><br class=""></div><div class="">This inclusion of annotations , callouts, and PMI in CAD -- and for other domain areas -- is an active field of interest and development by the Web3D Consortium's Design Printing and Scanning Group ( <a href="http://www.web3d.org/working-groups/design-printing-and-scanning" class="">http://www.web3d.org/working-groups/design-printing-and-scanning</a> ). We have identified some promising techniques support in X3D/X3DOM</div><div class=""><br class=""></div><div class="">-- draw the annotation as line segments (the X3D LineSet node), as used in the NIST example</div><div class="">-- render using the Text node - drawing 2D text -- and other 2D graphics primitives.</div><div class="">-- Draw the PMI on a 2D bitmap format supported for textures (for example, png), then use that image as a texture (ImageTexture node) on an otherwise transparent shape, allowing the PMI graphics to float in 3D space</div><div class=""><br class=""></div><div class="">The members of the Design Printing and Scanning group operate a members mailing list, conduct weekly teleconferences, and participate in standards development groups to further this development. We would be interested in learning more about your work.</div><div class=""><br class=""></div><div class="">Vince Marchetti</div><div class="">Web3D Consortium</div><div class=""><a href="mailto:vmarchetti@kshell.com" class="">email: vmarchetti@kshell.com</a></div><div class=""><br class=""></div><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">---------- Forwarded message ---------</div><div class=""><div dir="ltr" class=""><div class=""><div class="gmail_quote"><div dir="ltr" class="">From: <strong class="gmail_sendername" dir="auto">theveloped</strong> <span dir="ltr" class=""><<a href="mailto:notifications@github.com" target="_blank" class="">notifications@github.com</a>></span><br class="">Date: Thu, Dec 20, 2018 at 5:40 AM<br class="">Subject: [x3dom/x3dom] Best approach to visualize of dimensions  (PMI data) (#913)<br class="">To: x3dom/x3dom <<a href="mailto:x3dom@noreply.github.com" target="_blank" class="">x3dom@noreply.github.com</a>><br class="">Cc: Subscribed <<a href="mailto:subscribed@noreply.github.com" target="_blank" class="">subscribed@noreply.github.com</a>><br class=""></div><br class=""><br class=""><p class="">Does anyone have any experience with the visualization of model dimensions and other model-related information in an x3dom instance? For our final solution, we would like to show all the PMI data of an object as per the examples of NIST: <a href="https://pages.nist.gov/CAD-PMI-Testing/graphical-pmi-viewer.html" rel="nofollow" target="_blank" class="">https://pages.nist.gov/CAD-PMI-Testing/graphical-pmi-viewer.html</a></p><p class="">To get started we would like to show the three dimensions of the bounding box in a using leaders aligned to the bounding box:<br class="">
<a rel="noopener noreferrer" href="https://camo.githubusercontent.com/1df1afb03290cc8087a2b1791c90c9b712692d90/68747470733a2f2f69302e77702e636f6d2f7777772e6e6569742e6564752f626c6f672f77702d636f6e74656e742f75706c6f6164732f323031352f30392f49736f2d372e6a7067" target="_blank" class=""><img src="https://camo.githubusercontent.com/1df1afb03290cc8087a2b1791c90c9b712692d90/68747470733a2f2f69302e77702e636f6d2f7777772e6e6569742e6564752f626c6f672f77702d636f6e74656e742f75706c6f6164732f323031352f30392f49736f2d372e6a7067" alt="example of isometric aligned dimensioning" style="max-width:100%" class=""></a><br class="">
Idealy of the the 12 edges of the bounding box we would constantly show the 3 perpendicular edges that are best visible.</p><p class="">Any idea's on the subject are most welcome. At the moment we are mainly looking at:</p>
<ul class="">
<li class=""><a href="https://pages.nist.gov/CAD-PMI-Testing/graphical-pmi-viewer.html" rel="nofollow" target="_blank" class="">NIST PMI examples</a>(no info on the generation of the x3d)</li>
<li class=""><a href="https://github.com/ghemingway/cad.js/tree/master" target="_blank" class="">cadjs</a> (uses threejs over x3dom)</li>
</ul><p class="">For reference the bounding box dimensions/position of an x3d element can be computed using the is currently computed using:</p>
<pre class=""><code class="">compute_boundingbox: function(part) {
        var node = part._x3domNode
        var volume = node.getVolume();

        var min = new x3dom.fields.SFVec3f();
        var max = new x3dom.fields.SFVec3f();

        volume.getBounds(min, max);

        var dimensions = max.subtract(min);
        var position = volume.center

        console.log("Dimensions: " + dimensions.x + " " + dimensions.y + " " + dimensions.z);
        console.log("Position: " + position.x + " " + position.y + " " + position.z);
    },
</code></pre><p style="font-size:small;color:#666" class="">—<br class="">You are receiving this because you are subscribed to this thread.<br class="">Reply to this email directly, <a href="https://github.com/x3dom/x3dom/issues/913" target="_blank" class="">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AF4p60WEngT8eCA5jnu-rPw8G03wMvS9ks5u62kUgaJpZM4Zb7cb" target="_blank" class="">mute the thread</a>.<img src="https://github.com/notifications/beacon/AF4p66w1E71DNTv-56IjyydfsK1Kbp_aks5u62kUgaJpZM4Zb7cb.gif" height="1" width="1" alt="" class=""></p>

</div><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div dir="ltr" class="m_374177103602903005gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div class="">Andreas Plesch<br class="">Waltham, MA 02453</div></div></div></div></div>
_______________________________________________<br class="">x3d-public mailing list<br class=""><a href="mailto:x3d-public@web3d.org" class="">x3d-public@web3d.org</a><br class="">http://web3d.org/mailman/listinfo/x3d-public_web3d.org<br class=""></div></blockquote></div><br class=""></div></body></html>