<?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: Do zoom extents in C# .NET (AutoCAD) in .NET Forum</title>
    <link>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/7735568#M27715</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The shorter and simpler way is to call the COM AcadApplication.ZoomExtents() method. This can be done without referencing COM libraries by using the dynamic type&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;dynamic acadApp = Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication;
acadApp.ZoomExtents();&lt;/PRE&gt;</description>
    <pubDate>Tue, 30 Jan 2018 10:14:36 GMT</pubDate>
    <dc:creator>_gile</dc:creator>
    <dc:date>2018-01-30T10:14:36Z</dc:date>
    <item>
      <title>Do zoom extents in C# .NET (AutoCAD)</title>
      <link>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/7735556#M27714</link>
      <description>&lt;P&gt;Hi!!&lt;/P&gt;&lt;P&gt;I am developing a plugin for AutoCAD and I want to Know how to do Zoom Extents in C# .NET&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 30 Jan 2018 10:06:21 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/7735556#M27714</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-01-30T10:06:21Z</dc:date>
    </item>
    <item>
      <title>Re: Do zoom extents in C# .NET (AutoCAD)</title>
      <link>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/7735568#M27715</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The shorter and simpler way is to call the COM AcadApplication.ZoomExtents() method. This can be done without referencing COM libraries by using the dynamic type&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;dynamic acadApp = Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication;
acadApp.ZoomExtents();&lt;/PRE&gt;</description>
      <pubDate>Tue, 30 Jan 2018 10:14:36 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/7735568#M27715</guid>
      <dc:creator>_gile</dc:creator>
      <dc:date>2018-01-30T10:14:36Z</dc:date>
    </item>
    <item>
      <title>Re: Do zoom extents in C# .NET (AutoCAD)</title>
      <link>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/7735579#M27716</link>
      <description>&lt;P&gt;You can also use the following extension method:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;    public static class EditorExtension
    {
        public static void Zoom(this Editor ed, Extents3d ext)
        {
            if (ed == null)
                throw new ArgumentNullException("ed");
            using (ViewTableRecord view = ed.GetCurrentView())
            {
                Matrix3d worldToEye = Matrix3d.WorldToPlane(view.ViewDirection) *
                    Matrix3d.Displacement(Point3d.Origin - view.Target) *
                    Matrix3d.Rotation(view.ViewTwist, view.ViewDirection, view.Target);
                ext.TransformBy(worldToEye);
                view.Width = ext.MaxPoint.X - ext.MinPoint.X;
                view.Height = ext.MaxPoint.Y - ext.MinPoint.Y;
                view.CenterPoint = new Point2d(
                    (ext.MaxPoint.X + ext.MinPoint.X) / 2.0,
                    (ext.MaxPoint.Y + ext.MinPoint.Y) / 2.0);
                ed.SetCurrentView(view);
            }
        }

        public static void ZoomExtents(this Editor ed)
        {
            Database db = ed.Document.Database;
            db.UpdateExt(false);
            Extents3d ext = (short)Application.GetSystemVariable("cvport") == 1 ?
                new Extents3d(db.Pextmin, db.Pextmax) :
                new Extents3d(db.Extmin, db.Extmax);
            ed.Zoom(ext);
        }
    }&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Using&lt;/P&gt;
&lt;PRE&gt;Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
ed.ZoomExtents();&lt;/PRE&gt;</description>
      <pubDate>Tue, 30 Jan 2018 10:23:24 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/7735579#M27716</guid>
      <dc:creator>_gile</dc:creator>
      <dc:date>2018-01-30T10:23:24Z</dc:date>
    </item>
    <item>
      <title>Re: Do zoom extents in C# .NET (AutoCAD)</title>
      <link>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/10112161#M27717</link>
      <description>&lt;P&gt;Hi Gile,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I was trying to use your code to zoom extents and I'm getting an&amp;nbsp;&lt;SPAN&gt;eNotApplicable&amp;nbsp;error in the line&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;using (ViewTableRecord view = ed.GetCurrentView())&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Basically the codes that call this methos is&amp;nbsp;&lt;/P&gt;&lt;P&gt;DocumentCollection docCollection = Application.DocumentManager;&lt;/P&gt;&lt;P&gt;doc = docCollection.Open(dwg.ToString(), false, null);&lt;BR /&gt;Application.DocumentManager.MdiActiveDocument = doc;&lt;/P&gt;&lt;P&gt;using (doc.LockDocument())&lt;BR /&gt;{&lt;BR /&gt;LayoutManager.Current.CurrentLayout = "Model";&lt;BR /&gt;&lt;BR /&gt;doc.Editor.ZoomExtents(); -----&amp;gt;Here I get the exception&lt;/P&gt;</description>
      <pubDate>Thu, 25 Feb 2021 19:56:11 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/10112161#M27717</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2021-02-25T19:56:11Z</dc:date>
    </item>
    <item>
      <title>Re: Do zoom extents in C# .NET (AutoCAD)</title>
      <link>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/10113290#M27718</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;There's nothing wrong with the code you show. The error is due to something else.&lt;/P&gt;</description>
      <pubDate>Fri, 26 Feb 2021 06:43:18 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/10113290#M27718</guid>
      <dc:creator>_gile</dc:creator>
      <dc:date>2021-02-26T06:43:18Z</dc:date>
    </item>
    <item>
      <title>Re: Do zoom extents in C# .NET (AutoCAD)</title>
      <link>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/10127743#M27719</link>
      <description>Thanks Gilles, looks like it was a session flag problem.</description>
      <pubDate>Wed, 03 Mar 2021 19:25:27 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/10127743#M27719</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2021-03-03T19:25:27Z</dc:date>
    </item>
    <item>
      <title>Re: Do zoom extents in C# .NET (AutoCAD)</title>
      <link>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/13244654#M27720</link>
      <description>&lt;P&gt;If I write it this way, he will shrink the window and move the coordinates to a very large position. Why is that?&lt;/P&gt;</description>
      <pubDate>Mon, 06 Jan 2025 07:46:28 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/13244654#M27720</guid>
      <dc:creator>1603567506</dc:creator>
      <dc:date>2025-01-06T07:46:28Z</dc:date>
    </item>
    <item>
      <title>Re: Do zoom extents in C# .NET (AutoCAD)</title>
      <link>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/13245531#M27721</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/109424"&gt;@_gile&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The shorter and simpler way is to call the COM AcadApplication.ZoomExtents() method. This can be done without referencing COM libraries by using the dynamic type&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;dynamic acadApp = Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication;
acadApp.ZoomExtents();&lt;/PRE&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;May I ask a question about this? You mention not needing to reference COM libraries. I recently went through a lot of learning around COM and the C++ api for AutoCAD in order to get &lt;A href="https://www.keanw.com/2009/03/exposing-autocads-properties-palette-functionality-to-net---part-1.html" target="_blank" rel="noopener"&gt;this&amp;nbsp;&lt;/A&gt;code from Kean to work for adding properties to the Properties window in ACAD. But in using dynamic like you show above, are you accessing the underlying objects, not just those that are exposed to .NET?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 06 Jan 2025 15:43:11 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/net-forum/do-zoom-extents-in-c-net-autocad/m-p/13245531#M27721</guid>
      <dc:creator>nshupeFMPE3</dc:creator>
      <dc:date>2025-01-06T15:43:11Z</dc:date>
    </item>
  </channel>
</rss>

