明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1954|回复: 5

如何新建布局?

[复制链接]
发表于 2011-5-11 19:35:53 | 显示全部楼层 |阅读模式
如何新建布局?用VB.net,谢谢。
发表于 2011-5-12 09:13:12 | 显示全部楼层
回复 guodonglin 的帖子
  1. using System;
  2. using System.Collections.Generic;
  3. using Autodesk.AutoCAD.DatabaseServices;
  4. using Autodesk.AutoCAD.ApplicationServices;
  5. using Autodesk.AutoCAD.Runtime;

  6. namespace cs20110512a
  7. {
  8.         /// <summary>
  9.         /// Description of MyClass.
  10.         /// </summary>
  11.         public class MyClass
  12.         {
  13.                 [CommandMethod("test")]
  14.                 public void CreateLayout()
  15.                 {
  16.                         Document doc = Application.DocumentManager.MdiActiveDocument;
  17.                         Database db = doc.Database;
  18.                        
  19.                         using (Transaction tr = db.TransactionManager.StartTransaction())
  20.                         {
  21.                                 try
  22.                                 {
  23.                                         LayoutManager lm = LayoutManager.Current;
  24.                                         ObjectId layoutId = lm.CreateLayout("新的布局");
  25.                                         lm.CurrentLayout = "新的布局";
  26.                                         Layout layout = tr.GetObject(layoutId, OpenMode.ForRead) as Layout;
  27.                                 }
  28.                                 catch
  29.                                 {
  30.                                         throw;
  31.                                 }
  32.                                 tr.Commit();
  33.                         }
  34.                 }
  35.         }
  36. }
发表于 2011-5-12 09:13:49 | 显示全部楼层
但是不知道如何判断,当前已经是否存在某个布局?
发表于 2011-5-12 09:18:09 | 显示全部楼层
回复 carrot1983 的帖子
  1. '
  2. ' 由SharpDevelop创建。
  3. ' 用户: cjw
  4. ' 日期: 2011-5-12
  5. ' 时间: 9:14
  6. '
  7. ' 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件
  8. '
  9. Imports System
  10. Imports System.Collections.Generic
  11. Imports Autodesk.AutoCAD.DatabaseServices
  12. Imports Autodesk.AutoCAD.ApplicationServices
  13. Imports Autodesk.AutoCAD.Runtime

  14. Namespace vb20110512a
  15.         ''' <summary>
  16.         ''' Description of NewClass.
  17.         ''' </summary>
  18.         Public Class [NewClass]
  19.                 <CommandMethod("test")> _
  20.                 Public Sub CreateLayout()
  21.                         Dim doc As Document = Application.DocumentManager.MdiActiveDocument
  22.                         Dim db As Database = doc.Database

  23.                         Using tr As Transaction = db.TransactionManager.StartTransaction()
  24.                                 Try
  25.                                         Dim lm As LayoutManager = LayoutManager.Current
  26.                                         Dim layoutId As ObjectId = lm.CreateLayout("新的布局")
  27.                                         lm.CurrentLayout = "新的布局"
  28.                                         Dim layout As Layout = TryCast(tr.GetObject(layoutId, OpenMode.ForRead), Layout)
  29.                                 Catch
  30.                                         Throw
  31.                                 End Try
  32.                                 tr.Commit()
  33.                         End Using
  34.                 End Sub
  35.         End Class
  36. End Namespace

 楼主| 发表于 2011-5-12 20:54:51 | 显示全部楼层
谢谢。但是
Dim layout As Layout = TryCast(tr.GetObject(layoutId, OpenMode.ForRead), Layout)显示

类型“Autodesk.AutoCAD.DatabaseServices.DBObject”的值无法转换为lassLibrary1.Layout”。
发表于 2014-1-5 19:47:57 | 显示全部楼层
请问如何“来自样本”创建新布局
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-29 07:18 , Processed in 0.148133 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表