<?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: C# - How can I get a Point2d of LcOpRedlineText when mouse down in Navisworks API Forum</title>
    <link>https://forums.autodesk.com/t5/navisworks-api-forum/c-how-can-i-get-a-point2d-of-lcopredlinetext-when-mouse-down/m-p/6995103#M4792</link>
    <description>&lt;P&gt;Hi&amp;nbsp;@Anonymous&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Since the Redline API isn't officially&amp;nbsp;supported by Navisworks the best I can do is give you an approximate answer, so here it goes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your mouse click coordinates are in Screen space whereas it appears that each redline item is created and stored&amp;nbsp;in Camera space. &amp;nbsp;I say "appears" because there is no documentation of this but after some testing&amp;nbsp;I believe this is true.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There are some hidden static methods in the Navisworks API that can help with the conversion. Namely LcOpRedline.ScreenToWindowSpace() and LcOpRedline.WindowToCameraSpace(). &amp;nbsp;Below is some pseudo code that converts a point from Screen space to Camera space that should get you on the right track&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;using Autodesk.Navisworks.Api;
using Autodesk.Navisworks.Api.Interop;

public static Point2D ScreenToCameraSpace(Point2D pointScreenSpace)&lt;BR /&gt;{&lt;BR /&gt; // Note: the Viewer property is also a part of the "hidden" api so it is not officially supported&lt;BR /&gt; LcOaViewer viewer = Application.ActiveDocument.ActiveView.Viewer;&lt;BR /&gt;&lt;BR /&gt; var pointWindowSpace = LcOpRedline.ScreenToWindowSpace(viewer, pointScreenSpace);&lt;BR /&gt; var pointCameraSpace = LcOpRedline.WindowToCameraSpace(viewer, pointWindowSpace);&lt;BR /&gt;&lt;BR /&gt; return pointCameraSpace;&lt;BR /&gt;}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 04 Apr 2017 17:16:24 GMT</pubDate>
    <dc:creator>logikgate</dc:creator>
    <dc:date>2017-04-04T17:16:24Z</dc:date>
    <item>
      <title>C# - How can I get a Point2d of LcOpRedlineText when mouse down</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/c-how-can-i-get-a-point2d-of-lcopredlinetext-when-mouse-down/m-p/6922611#M4791</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="NAVISWORKS Q 005.png" style="width: 705px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/329592i8B21166922A0BAA7/image-size/large?v=v2&amp;amp;px=999" role="button" title="NAVISWORKS Q 005.png" alt="NAVISWORKS Q 005.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Figure 1&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As shown in &amp;lt;Figure 1&amp;gt;, When I input redlineText and export it as xml, the input point &lt;FONT color="#ff0000"&gt;x=0.4362201927 y=0.0945143751&lt;/FONT&gt;&amp;nbsp;as shown in &amp;lt;Figure 2&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="NAVISWORKS Q 004.png" style="width: 641px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/329591i69A9CC9AF898AEB4/image-size/large?v=v2&amp;amp;px=999" role="button" title="NAVISWORKS Q 004.png" alt="NAVISWORKS Q 004.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Figure 2&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, when I look at the actual mouse down event, the postion is &lt;FONT color="#ff0000"&gt;1039,498 &lt;FONT color="#000000"&gt;as shown in &amp;lt;Figure 2&amp;gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#ff0000"&gt;&lt;FONT color="#000000"&gt;&lt;SPAN&gt;I wonder how it turns out to be a decimal point like that.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;DIV class="trans-verified-button-small"&gt;&lt;SPAN&gt;I'd like to input the text directly at the point I'm taking, but is there any way to know where?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff"&gt;[My C# Function]&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;public void CreateRedline()&lt;BR /&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LcOpRedlineText redlineText = new LcOpRedlineText("Mouse Down", &lt;FONT color="#ff0000"&gt;new Point2D(x,y)[Wanted Postion]&lt;/FONT&gt;&amp;nbsp;);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SavedViewpoint svp = API.ActiveDocument.SavedViewpoints.CurrentSavedViewpoint as SavedViewpoint;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;svp.Redlines.Add(redlineText);&lt;BR /&gt;}&lt;/P&gt;</description>
      <pubDate>Mon, 06 Mar 2017 03:04:03 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/c-how-can-i-get-a-point2d-of-lcopredlinetext-when-mouse-down/m-p/6922611#M4791</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2017-03-06T03:04:03Z</dc:date>
    </item>
    <item>
      <title>Re: C# - How can I get a Point2d of LcOpRedlineText when mouse down</title>
      <link>https://forums.autodesk.com/t5/navisworks-api-forum/c-how-can-i-get-a-point2d-of-lcopredlinetext-when-mouse-down/m-p/6995103#M4792</link>
      <description>&lt;P&gt;Hi&amp;nbsp;@Anonymous&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Since the Redline API isn't officially&amp;nbsp;supported by Navisworks the best I can do is give you an approximate answer, so here it goes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your mouse click coordinates are in Screen space whereas it appears that each redline item is created and stored&amp;nbsp;in Camera space. &amp;nbsp;I say "appears" because there is no documentation of this but after some testing&amp;nbsp;I believe this is true.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There are some hidden static methods in the Navisworks API that can help with the conversion. Namely LcOpRedline.ScreenToWindowSpace() and LcOpRedline.WindowToCameraSpace(). &amp;nbsp;Below is some pseudo code that converts a point from Screen space to Camera space that should get you on the right track&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;using Autodesk.Navisworks.Api;
using Autodesk.Navisworks.Api.Interop;

public static Point2D ScreenToCameraSpace(Point2D pointScreenSpace)&lt;BR /&gt;{&lt;BR /&gt; // Note: the Viewer property is also a part of the "hidden" api so it is not officially supported&lt;BR /&gt; LcOaViewer viewer = Application.ActiveDocument.ActiveView.Viewer;&lt;BR /&gt;&lt;BR /&gt; var pointWindowSpace = LcOpRedline.ScreenToWindowSpace(viewer, pointScreenSpace);&lt;BR /&gt; var pointCameraSpace = LcOpRedline.WindowToCameraSpace(viewer, pointWindowSpace);&lt;BR /&gt;&lt;BR /&gt; return pointCameraSpace;&lt;BR /&gt;}&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Apr 2017 17:16:24 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/navisworks-api-forum/c-how-can-i-get-a-point2d-of-lcopredlinetext-when-mouse-down/m-p/6995103#M4792</guid>
      <dc:creator>logikgate</dc:creator>
      <dc:date>2017-04-04T17:16:24Z</dc:date>
    </item>
  </channel>
</rss>

