guodonglin 发表于 2011-5-11 19:35:00

如何新建布局?

如何新建布局?用VB.net,谢谢。

carrot1983 发表于 2011-5-12 09:13:00

回复

using System;
using System.Collections.Generic;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.Runtime;
namespace cs20110512a
{
      ///
      /// Description of MyClass.
      ///
      public class MyClass
      {
               
                public void CreateLayout()
                {
                        Document doc = Application.DocumentManager.MdiActiveDocument;
                        Database db = doc.Database;
                        
                        using (Transaction tr = db.TransactionManager.StartTransaction())
                        {
                              try
                              {
                                        LayoutManager lm = LayoutManager.Current;
                                        ObjectId layoutId = lm.CreateLayout("新的布局");
                                        lm.CurrentLayout = "新的布局";
                                        Layout layout = tr.GetObject(layoutId, OpenMode.ForRead) as Layout;
                              }
                              catch
                              {
                                        throw;
                              }
                              tr.Commit();
                        }
                }
      }
}

carrot1983 发表于 2011-5-12 09:13:00

但是不知道如何判断,当前已经是否存在某个布局?

carrot1983 发表于 2011-5-12 09:18:00

回复

'
' 由SharpDevelop创建。
' 用户: cjw
' 日期: 2011-5-12
' 时间: 9:14
'
' 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件
'
Imports System
Imports System.Collections.Generic
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.Runtime
Namespace vb20110512a
      '''
      ''' Description of NewClass.
      '''
      Public Class
               _
                Public Sub CreateLayout()
                        Dim doc As Document = Application.DocumentManager.MdiActiveDocument
                        Dim db As Database = doc.Database
                        Using tr As Transaction = db.TransactionManager.StartTransaction()
                              Try
                                        Dim lm As LayoutManager = LayoutManager.Current
                                        Dim layoutId As ObjectId = lm.CreateLayout("新的布局")
                                        lm.CurrentLayout = "新的布局"
                                        Dim layout As Layout = TryCast(tr.GetObject(layoutId, OpenMode.ForRead), Layout)
                              Catch
                                        Throw
                              End Try
                              tr.Commit()
                        End Using
                End Sub
      End Class
End Namespace

guodonglin 发表于 2011-5-12 20:54:00

谢谢。但是
Dim layout As Layout = TryCast(tr.GetObject(layoutId, OpenMode.ForRead), Layout)显示
类型“Autodesk.AutoCAD.DatabaseServices.DBObject”的值无法转换为lassLibrary1.Layout”。

bjlba0 发表于 2014-1-5 19:47:00

请问如何“来自样本”创建新布局
页: [1]
查看完整版本: 如何新建布局?