<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Geometry in wrong location when accessing in API in Navisworks API Forum</title>
    <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/8013173#M5679</link>
    <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/823624"&gt;@xiaodong_liang&lt;/a&gt;， @Anonymous，&lt;/P&gt;&lt;P&gt;What about if there are rotations not only translations on the original model geometry?&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is the&amp;nbsp;InwLTransform3f3.GetLinear() API not implemented?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
    <pubDate>Sat, 19 May 2018 11:53:47 GMT</pubDate>
    <dc:creator>mycad2016D8W4P</dc:creator>
    <dc:date>2018-05-19T11:53:47Z</dc:date>
    <item>
      <title>Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/5896205#M5674</link>
      <description>&lt;P&gt;I am using the API in an RVM file to access the geometry and coordinates and some of the elements are in the wrong location- offset from where they should be. I use the same bit of code for all th&lt;IMG title="1.jpg" alt="1.jpg" src="https://forums.autodesk.com/t5/image/serverpage/image-id/198981i3522BCAF806580EC/image-size/original?v=mpbl-1&amp;amp;px=-1" border="0" /&gt;e geometry using the method in the following post &lt;A title="Post for coordinate conversion" href="https://forums.autodesk.com/t5/navisworks-api/get-global-coordinates-of-the-points-of-the-triangle/m-p/5104392#M1454" target="_blank"&gt;https://forums.autodesk.com/t5/navisworks-api/get-global-coordinates-of-the-points-of-the-triangle/m-p/5104392#M1454&lt;/A&gt;&amp;nbsp;which works for most elements . The blue shows what it is supposed to look like,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and beloew is where the pipe comes out according to the api and converted coordinates.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;IMG title="2.jpg" alt="2.jpg" src="https://forums.autodesk.com/t5/image/serverpage/image-id/198984iCA5780E5A72A7545/image-size/original?v=mpbl-1&amp;amp;px=-1" border="0" /&gt;&lt;/P&gt;&lt;P&gt;I have uploaded&amp;nbsp; the sample rvm file as well &lt;A title="File" href="https://drive.google.com/file/d/0B06YsaeeROzjZkdEdGZmRkozS0E/view?usp=sharing" target="_blank"&gt;https://drive.google.com/file/d/0B06YsaeeROzjZkdEdGZmRkozS0E/view?usp=sharing&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Nov 2015 13:30:17 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/5896205#M5674</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2015-11-06T13:30:17Z</dc:date>
    </item>
    <item>
      <title>Re: Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/5902637#M5675</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I tried to dump the primitives of this model by API. It looks there are huge number of triangles with this pipe only (the data file is 2G bytes). I cannot even proceed to test these dataset in my own WebGL harness.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Could you share more information? It will be of more helpful if you could provide the code snippet how to use these triangles.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The following is the theory on the traingles that Navisworks API returned. Since you mentioned your code works well with other model, I think you would have followed this theory. Anyway, I am enclosing in case of need.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;/P&gt;
&lt;P&gt;The primitives (triangles) Navisworks dumps are triangle strip. So they are connected triangles. The indices of faces are exactly the sequences of these vertices one by one. i.e.assume you got the triangles list from Navisworks API:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;vertices=[ &lt;BR /&gt; [*,*,*],&lt;BR /&gt; [*,*,*],&lt;BR /&gt; [*,*,*],&lt;BR /&gt; [*,*,*],&lt;BR /&gt; [*,*,*],&lt;BR /&gt; [*,*,*],&lt;BR /&gt; [*,*,*],&lt;BR /&gt; ......&lt;BR /&gt; ]&lt;/P&gt;
&lt;P&gt;you just need to build the face with the indices (e.g. in Three.js)&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;****************&lt;BR /&gt;var index = 0;&lt;BR /&gt;for( var i = 0; i &amp;lt; vertices.length - 3; i++ ){&lt;BR /&gt; geometry.faces.push( new THREE.Face3( index, index+1, index+2 ));&lt;BR /&gt; index = index +1;&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;***********************&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 11 Nov 2015 10:54:22 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/5902637#M5675</guid>
      <dc:creator>xiaodong_liang</dc:creator>
      <dc:date>2015-11-11T10:54:22Z</dc:date>
    </item>
    <item>
      <title>Re: Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/5904530#M5676</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using the info in the previous post I convert the coordinates using bounding box to shift them the the world. Is it possible for bounding boxes to be incorrect ? is there a way through api to have it recomputed?&amp;nbsp; if just looks like the pipe is shifted.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I realize there are a lot&amp;nbsp;triangles (trust me these large files are not quick to process).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is my code to do the point conversion of triangles.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;public&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Consolas" size="2"&gt;void&lt;/FONT&gt; &lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;Triangle&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;( ComApi.&lt;/FONT&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;InwSimpleVertex&lt;/FONT&gt; &lt;FONT color="#790000" face="Consolas" size="2"&gt;v1&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;, ComApi.&lt;/FONT&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;InwSimpleVertex&lt;/FONT&gt; &lt;FONT color="#790000" face="Consolas" size="2"&gt;v2&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;, ComApi.&lt;/FONT&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;InwSimpleVertex&lt;/FONT&gt; &lt;FONT color="#790000" face="Consolas" size="2"&gt;v3&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; )&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;try&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;Array&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;arrayV1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt; = (&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;Array&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;object&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#790000" face="Consolas" size="2"&gt;&lt;FONT color="#790000" face="Consolas" size="2"&gt;&lt;FONT color="#790000" face="Consolas" size="2"&gt;v1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;coord&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;Array&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;arrayV2&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt; = (&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;Array&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;object&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#790000" face="Consolas" size="2"&gt;&lt;FONT color="#790000" face="Consolas" size="2"&gt;&lt;FONT color="#790000" face="Consolas" size="2"&gt;v2&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;coord&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;Array&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;arrayV3&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt; = (&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;Array&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;object&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#790000" face="Consolas" size="2"&gt;&lt;FONT color="#790000" face="Consolas" size="2"&gt;&lt;FONT color="#790000" face="Consolas" size="2"&gt;v3&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;coord&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;Point3D&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;pnt1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt; = &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;Point3D&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;((&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;float&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;arrayV1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;GetValue&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;( 1 ) + &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;_currentItem&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Geometry&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;BoundingBox&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Center&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;X&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;, (&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;float&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;arrayV1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;GetValue&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;( 2 ) + &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;_currentItem&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Geometry&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;BoundingBox&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Center&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Y&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;float&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;arrayV1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;GetValue&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;( 3 ) + &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;_currentItem&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Geometry&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;BoundingBox&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Center&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Z&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;Point3D&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;pnt2&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt; = &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;Point3D&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;((&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;float&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;arrayV2&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;GetValue&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;( 1 ) + &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;_currentItem&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Geometry&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;BoundingBox&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Center&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;X&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;, (&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;float&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;arrayV2&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;GetValue&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;( 2 ) + &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;_currentItem&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Geometry&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;BoundingBox&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Center&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Y&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;float&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;arrayV2&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;GetValue&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;( 3 ) + &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;_currentItem&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Geometry&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;BoundingBox&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Center&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Z&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;&lt;FONT color="#2b91af" face="Consolas" size="2"&gt;Point3D&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;pnt3&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt; = &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;new&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;Point3D&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;((&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;float&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;arrayV3&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;GetValue&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;( 1 ) + &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;_currentItem&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Geometry&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;BoundingBox&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Center&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;X&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;, (&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;float&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;arrayV3&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;GetValue&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;( 2 ) + &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;_currentItem&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Geometry&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;BoundingBox&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Center&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Y&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;(&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;float&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;&lt;FONT color="#494949" face="Consolas" size="2"&gt;arrayV3&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;&lt;FONT color="#08c8c8" face="Consolas" size="2"&gt;GetValue&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;( 3 ) + &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;_currentItem&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Geometry&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;BoundingBox&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Center&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;&lt;FONT color="#800080" face="Consolas" size="2"&gt;Z&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;&lt;FONT face="Consolas" size="2"&gt;thanks for your reply&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 12 Nov 2015 11:48:02 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/5904530#M5676</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2015-11-12T11:48:02Z</dc:date>
    </item>
    <item>
      <title>Re: Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/5924053#M5677</link>
      <description>&lt;P&gt;Sorry I was very busy on DevDays + DevWeek China.&lt;BR /&gt;&lt;BR /&gt;firstly, I had not clue to reproduce your problem at my side, so I was suggesting to take&amp;nbsp;a look how you used those triangles data. It is not the code of Navisworks API. What I wanted to know is your graphics workflow. e.g. at my side, I simply used the data in an HTML webpage based on Three.js.&lt;BR /&gt;&lt;BR /&gt;I think we can put the global/local transformation aside firstly. instead, &amp;nbsp;if we re-build the graphics with the triangles data only, the relevant coordinates would at least present the correct relationship of the sections. I do not think it is related to bundingbox.&lt;BR /&gt;&lt;BR /&gt;In addition, is it possible for you to simplify the source model&amp;nbsp;a little? it is strange it has so many triangles. I will need to reproduce it at my side, but it always crashed to dump the huge triangles.&lt;BR /&gt;&lt;BR /&gt;in the same time, I will also consult with our engineer team.&lt;/P&gt;</description>
      <pubDate>Wed, 25 Nov 2015 08:00:49 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/5924053#M5677</guid>
      <dc:creator>xiaodong_liang</dc:creator>
      <dc:date>2015-11-25T08:00:49Z</dc:date>
    </item>
    <item>
      <title>Re: Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/5961446#M5678</link>
      <description>&lt;P&gt;This is an update about this case:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I had private discussion with &lt;A href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/3407747" target="_blank"&gt;jay.vose&lt;/A&gt;. After some tests, the question is just about LCS to WCS which has been indicated in the blog:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;A href="http://adndevblog.typepad.com/aec/2012/05/get-primitive-from-solid-of-navisworks.html" target="_blank"&gt;http://adndevblog.typepad.com/aec/2012/05/get-primitive-from-solid-of-navisworks.html&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Jay happened to use other way to transform the coordinates. The below is what I tested with, though not written elegantly . Jay replied it can solve his problem. I am enclosing for reference.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE&gt; 


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

 
using Autodesk.Navisworks.Api;
using Autodesk.Navisworks.Api.Plugins;

using ComApi = Autodesk.Navisworks.Api.Interop.ComApi;
using ComApiBridge = Autodesk.Navisworks.Api.ComApi.ComApiBridge;
 

namespace Lab_COM_Interop
{ 
    #region "Plug-in Dump Geometry Primitives"
    [PluginAttribute("NWAPI_Dump_Primitives", //Plugin name
                      "ADSK", //Developer ID or GUID
                      ToolTip = "Dump Geometry Primitives of Model Item",
        //The tooltip for the item in the ribbon
                      DisplayName = "Dump Geometry Primitives")]
    //Display name for the Plugin in the Ribbon
    public class NWAPI_Dump_Primitives : AddInPlugin
    {
        public override int Execute(params string[] parameters)
        {
            // get the current selection
            ModelItemCollection oModelColl = Autodesk.Navisworks.Api.Application.ActiveDocument.CurrentSelection.SelectedItems;

            //convert to COM selection
            ComApi.InwOpState oState = ComApiBridge.State;
            ComApi.InwOpSelection oSel = ComApiBridge.ToInwOpSelection(oModelColl);

            // create the callback object
            CallbackGeomListener callbkListener = new CallbackGeomListener();
            foreach (ComApi.InwOaPath3 path in oSel.Paths())
            {
                foreach (ComApi.InwOaFragment3 frag in path.Fragments())
                {

                    ComApi.InwLTransform3f3 localToWorld = (ComApi.InwLTransform3f3)(object)frag.GetLocalToWorldMatrix();
                    //Array array_v1 = (Array)(object)localToWorld.Matrix;

                    callbkListener.LCS2WCS = localToWorld;

                    // generate the primitives
                    frag.GenerateSimplePrimitives(ComApi.nwEVertexProperty.eNORMAL, callbkListener);


                }
            }
             
            return 0;
        }

    }

    #region InwSimplePrimitivesCB Class
    class CallbackGeomListener : ComApi.InwSimplePrimitivesCB
    {
        static FileStream aFile = new FileStream("c:\\temp\\NavisworksObjGeomtries.txt", FileMode.OpenOrCreate);
        static StreamWriter sw = new StreamWriter(aFile);
        public ComApi.InwLTransform3f3 LCS2WCS;
        public void Line(ComApi.InwSimpleVertex v1, ComApi.InwSimpleVertex v2)
        {
            // do your work
        }

        public void Point(ComApi.InwSimpleVertex v1)
        {
            // do your work
        }

        public void SnapPoint(ComApi.InwSimpleVertex v1)
        {
            // do your work
        }

        public void Triangle(ComApi.InwSimpleVertex v1,
                ComApi.InwSimpleVertex v2,
                ComApi.InwSimpleVertex v3)
        {
            // do your work


            Array array_v1 = (Array)(object)v1.coord;
            Array array_v2 = (Array)(object)v2.coord;
            Array array_v3 = (Array)(object)v3.coord;

            double xTrans = LCS2WCS.GetTranslation().data1;
            double yTrans = LCS2WCS.GetTranslation().data2;
            double zTrans = LCS2WCS.GetTranslation().data3;

            double v1_x = Convert.ToDouble(array_v1.GetValue(1));

            StringBuilder oStr = new StringBuilder();
            oStr.Append("[" + (Convert.ToDouble(array_v1.GetValue(1)) + xTrans).ToString() + "," +
                              (Convert.ToDouble(array_v1.GetValue(2)) + yTrans).ToString() + "," +
                              (Convert.ToDouble(array_v1.GetValue(3)) + zTrans).ToString() + "]");
            oStr.Append("[" + (Convert.ToDouble(array_v2.GetValue(1)) + xTrans).ToString() + "," +
                              (Convert.ToDouble(array_v2.GetValue(2)) + yTrans).ToString() + "," +
                              (Convert.ToDouble(array_v2.GetValue(3)) + zTrans).ToString() + "]");
            oStr.Append("[" + (Convert.ToDouble(array_v3.GetValue(1)) + xTrans).ToString() + "," +
                             (Convert.ToDouble(array_v3.GetValue(2)) + yTrans).ToString() + "," +
                              (Convert.ToDouble(array_v3.GetValue(3)) + zTrans).ToString() + "]\n");

            sw.WriteLine(oStr);

        }
        ~CallbackGeomListener()
        {
            sw.Close();
        }

    }
    #endregion


    #endregion


  

}
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Dec 2015 02:33:41 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/5961446#M5678</guid>
      <dc:creator>xiaodong_liang</dc:creator>
      <dc:date>2015-12-22T02:33:41Z</dc:date>
    </item>
    <item>
      <title>Re: Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/8013173#M5679</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/823624"&gt;@xiaodong_liang&lt;/a&gt;， @Anonymous，&lt;/P&gt;&lt;P&gt;What about if there are rotations not only translations on the original model geometry?&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is the&amp;nbsp;InwLTransform3f3.GetLinear() API not implemented?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Sat, 19 May 2018 11:53:47 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/8013173#M5679</guid>
      <dc:creator>mycad2016D8W4P</dc:creator>
      <dc:date>2018-05-19T11:53:47Z</dc:date>
    </item>
    <item>
      <title>Re: Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/8013710#M5680</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/823624"&gt;@xiaodong_liang&lt;/a&gt;,&amp;nbsp;@Anonymous,&lt;/P&gt;&lt;P&gt;Another question，Are the primitives generated in high quality or low quality? Is it able to control the quality (triangle count) generated through Navsworks API?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Sun, 20 May 2018 03:39:53 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/8013710#M5680</guid>
      <dc:creator>mycad2016D8W4P</dc:creator>
      <dc:date>2018-05-20T03:39:53Z</dc:date>
    </item>
    <item>
      <title>Re: Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/8106840#M5681</link>
      <description>&lt;P&gt;I've exactly same question.. how about ModelItems having rotation applied as well?&lt;/P&gt;</description>
      <pubDate>Tue, 03 Jul 2018 13:07:57 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/8106840#M5681</guid>
      <dc:creator>kinjal</dc:creator>
      <dc:date>2018-07-03T13:07:57Z</dc:date>
    </item>
    <item>
      <title>Re: Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/8906688#M5682</link>
      <description>&lt;P&gt;The solution provided helped me with translation, but I (like a couple others who have replied) was also having issues with some geometry being scaled and rotated incorrectly.&amp;nbsp; Ultimately, I found that using &lt;STRONG&gt;Matrix&lt;/STRONG&gt; instead of &lt;STRONG&gt;GetTranslation&lt;/STRONG&gt; resulted in the complete translation of the geometry.&amp;nbsp; I modified the code as shown below to achieve this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;foreach (InwOaFragment3 fragment in path.Fragments())
{

    var localToWorld = (InwLTransform3f3)(object)fragment.GetLocalToWorldMatrix();
&lt;BR /&gt;    var localToWorldMatrix = (Array)(object)localToWorld.Matrix;

    callbkListener.matrix = new System.Windows.Media.Media3D.Matrix3D();

    matrix.M11 = (double)localToWorldMatrix.GetValue(1);
    matrix.M12 = (double)localToWorldMatrix.GetValue(2);
    matrix.M13 = (double)localToWorldMatrix.GetValue(3);
    matrix.M14 = (double)localToWorldMatrix.GetValue(4);

    matrix.M21 = (double)localToWorldMatrix.GetValue(5);
    matrix.M22 = (double)localToWorldMatrix.GetValue(6);
    matrix.M23 = (double)localToWorldMatrix.GetValue(7);
    matrix.M24 = (double)localToWorldMatrix.GetValue(8);

    matrix.M31 = (double)localToWorldMatrix.GetValue(9);
    matrix.M32 = (double)localToWorldMatrix.GetValue(10);
    matrix.M33 = (double)localToWorldMatrix.GetValue(11);
    matrix.M34 = (double)localToWorldMatrix.GetValue(12);

    matrix.OffsetX = (double)localToWorldMatrix.GetValue(13);
    matrix.OffsetY = (double)localToWorldMatrix.GetValue(14);
    matrix.OffsetZ = (double)localToWorldMatrix.GetValue(15);
    matrix.M44 = (double)localToWorldMatrix.GetValue(16);
                  
    fragment.GenerateSimplePrimitives(nwEVertexProperty.eNORMAL, callbkListener);

}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;public void Triangle(InwSimpleVertex v1, InwSimpleVertex v2, InwSimpleVertex v3)
{
    var points = new System.Windows.Media.Media3D.Point3D[3];

    Array array_v1 = (Array)(object)v1.coord;
    Array array_v2 = (Array)(object)v2.coord;
    Array array_v3 = (Array)(object)v3.coord;

    points[0].X = Convert.ToDouble(array_v1.GetValue(1));
    points[0].Y = Convert.ToDouble(array_v1.GetValue(2));
    points[0].Z = Convert.ToDouble(array_v1.GetValue(3));

    points[1].X = Convert.ToDouble(array_v2.GetValue(1));
    points[1].Y = Convert.ToDouble(array_v2.GetValue(2));
    points[1].Z = Convert.ToDouble(array_v2.GetValue(3));

    points[2].X = Convert.ToDouble(array_v3.GetValue(1));
    points[2].Y = Convert.ToDouble(array_v3.GetValue(2));
    points[2].Z = Convert.ToDouble(array_v3.GetValue(3));

    matrix.Transform(points);

     //points array is now transformed by offset, scale and rotation

}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Jul 2019 16:50:57 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/8906688#M5682</guid>
      <dc:creator>mechanicalsdsCPTEF</dc:creator>
      <dc:date>2019-07-12T16:50:57Z</dc:date>
    </item>
    <item>
      <title>Re: Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/8912249#M5683</link>
      <description>&lt;P&gt;Just to add to the above:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;InwLTransform3f3 is column major order whereas System.Windows.Media.Media3D.Matrix3D is row major order.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Something that would be more efficient would look like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;public T[] ToArray&amp;lt;T&amp;gt;(Array arr)
{
    T[] result = new T[arr.Length];
    Array.Copy(arr, result, result.Length);
    return result;
}

foreach (InwOaFragment3 fragment in path.Fragments())
{

    var localToWorld = (InwLTransform3f3)(object)fragment.GetLocalToWorldMatrix();

    var localToWorldMatrix = (Array)(object)localToWorld.Matrix;
    Elements = ToArray&amp;lt;double&amp;gt;(localToWorldMatrix);
    ...
}

public float[] OfPoint(float x, float y, float z)
{
    float w = Elements[3] * x + Elements[7] * y + Elements[11] * z + Elements[15];
    return new float[] {
        (Elements[0] * x + Elements[4] * y + Elements[8] * z + Elements[12]) / w,
        (Elements[1] * x + Elements[5] * y + Elements[9] * z + Elements[13]) / w,
        (Elements[2] * x + Elements[6] * y + Elements[10] * z + Elements[14]) / w
        };
}&lt;/PRE&gt;&lt;P&gt;The values that come out of the InwSimpleVertex array are floating points. This performs the complete calculation as well as provides the most efficient method of converting an array to a normal 0-indexed array of a particular type.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;*Edit: I just wanted to add that having profiled this operation many many times, &amp;lt;array&amp;gt;.GetValue(index) is an incredibly expensive operation in relation to Array.copy. Also, Array.copy doesn't care what values these arrays are indexed which will lead to less confusion and less error.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Jul 2019 16:05:30 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/8912249#M5683</guid>
      <dc:creator>awmcc90VZTT2</dc:creator>
      <dc:date>2019-07-16T16:05:30Z</dc:date>
    </item>
    <item>
      <title>Re: Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/9468407#M5684</link>
      <description>&lt;P&gt;What are people doing too fix the vertex normals in this situation?&lt;/P&gt;</description>
      <pubDate>Fri, 24 Apr 2020 17:44:20 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/9468407#M5684</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-04-24T17:44:20Z</dc:date>
    </item>
    <item>
      <title>Re: Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/9474004#M5685</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4130060"&gt;@awmcc90VZTT2&lt;/a&gt; for this double whammy&lt;EM&gt;&amp;nbsp;&lt;/EM&gt;sample !&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Not only you provide the way to apply the transformation matrix to get correct world coordinates, but also you a trick re: partially solving the frustrating low-performance of&amp;nbsp;&lt;SPAN&gt;&amp;lt;array&amp;gt;.GetValue(index) !!!&lt;BR /&gt;&lt;BR /&gt;Eager to integrate this idea in my code and be the one profiling (again ;-&amp;gt;), another tedious process but critical to achieve reasonable performance for Plug-ins working on real world models...&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Apr 2020 16:31:52 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/9474004#M5685</guid>
      <dc:creator>alexisDVJML</dc:creator>
      <dc:date>2020-04-27T16:31:52Z</dc:date>
    </item>
    <item>
      <title>Re: Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/10179316#M5686</link>
      <description>&lt;P&gt;Can someone explain or post a code using&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4130060"&gt;@awmcc90VZTT2&lt;/a&gt;&amp;nbsp;solution?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to implement here but I don't understand where to use the methods, or the Element class.&lt;/P&gt;</description>
      <pubDate>Tue, 23 Mar 2021 13:23:56 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/10179316#M5686</guid>
      <dc:creator>winderson2GYXS</dc:creator>
      <dc:date>2021-03-23T13:23:56Z</dc:date>
    </item>
    <item>
      <title>回复： Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/11238428#M5687</link>
      <description>&lt;P&gt;Excuse me,How to get the matrix of LCS(local coordinate space) to parent coordinate space.&lt;BR /&gt;What's the use of ModelItem.Transform? Can I use it to convert vertices into WCS(world coordinate space)?&lt;/P&gt;</description>
      <pubDate>Thu, 16 Jun 2022 02:47:51 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/11238428#M5687</guid>
      <dc:creator>572237540</dc:creator>
      <dc:date>2022-06-16T02:47:51Z</dc:date>
    </item>
    <item>
      <title>Re: Geometry in wrong location when accessing in API</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/11869122#M5688</link>
      <description>&lt;P&gt;Hi &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4130060"&gt;@awmcc90VZTT2&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;Could you please share more of your solution code so that we can better understand it.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Where is "OfPoint" called?&amp;nbsp;&lt;BR /&gt;Where is "Elements" declared?&lt;/P&gt;</description>
      <pubDate>Mon, 03 Apr 2023 19:01:37 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/geometry-in-wrong-location-when-accessing-in-api/m-p/11869122#M5688</guid>
      <dc:creator>dancleary21</dc:creator>
      <dc:date>2023-04-03T19:01:37Z</dc:date>
    </item>
  </channel>
</rss>

