乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: Kerry

-+{挑战}+-序列化扩展数据

[复制链接]

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2010-1-22 07:41:58 | 显示全部楼层

废话!我
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2010-1-22 07:53:27 | 显示全部楼层
不错!
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2010-1-22 07:56:31 | 显示全部楼层

哇,你在那里跑什么野兽??
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2010-1-22 08:13:15 | 显示全部楼层
嗨,
如果我没有误解挑战,这是我的C#2美分
  1. using System;
  2. using System.IO;
  3. using System.Text;
  4. using Autodesk.AutoCAD.ApplicationServices;
  5. using Autodesk.AutoCAD.DatabaseServices;
  6. using Autodesk.AutoCAD.EditorInput;
  7. using Autodesk.AutoCAD.Runtime;
  8. using acadApp = Autodesk.AutoCAD.ApplicationServices.Application;
  9. namespace SerializeChallenge
  10. {
  11.     public class Class1
  12.     {
  13.         [CommandMethod("Test")]
  14.         public void Test()
  15.         {
  16.             DateTime t0 = DateTime.Now;
  17.             Document doc = acadApp.DocumentManager.MdiActiveDocument;
  18.             Database db = doc.Database;
  19.             Editor ed = doc.Editor;
  20.             string filename = "C:\\SerializeChallenge.txt";
  21.             using (Transaction tr = db.TransactionManager.StartTransaction())
  22.             {
  23.                 BlockTable bt = (BlockTable)tr.GetObject(db.BlockTableId, OpenMode.ForRead);
  24.                 BlockTableRecord btr = (BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForRead);
  25.                 using (TextWriter writer = new StreamWriter(filename))
  26.                 {
  27.                     foreach (ObjectId id in btr)
  28.                     {
  29.                         Entity ent = (Entity)tr.GetObject(id, OpenMode.ForRead, false);
  30.                         ResultBuffer resbuf = ent.XData;
  31.                         if (resbuf == null)
  32.                             continue;
  33.                         TypedValue[] datas = resbuf.AsArray();
  34.                         StringBuilder sb = new StringBuilder(datas.Length);
  35.                         foreach (TypedValue tv in datas)
  36.                         {
  37.                             sb.Append(tv.Value);
  38.                             sb.Append(" ");
  39.                         }
  40.                         writer.WriteLine(sb.ToString());
  41.                     }
  42.                     writer.Close();
  43.                 }
  44.                 tr.Commit();
  45.             }
  46.             using (TextReader reader = new StreamReader(filename))
  47.             {
  48.                 string line = reader.ReadToEnd();
  49.             }
  50.             DateTime t1 = DateTime.Now;
  51.             TimeSpan ts = t1 - t0;
  52.             ed.WriteMessage("\nEllapsed milliseconds: " + ts.TotalMilliseconds.ToString());
  53.         }
  54.     }
  55. }

回复

使用道具 举报

1

主题

5

帖子

2

银币

初来乍到

Rank: 1

铜币
9
发表于 2010-1-22 08:15:46 | 显示全部楼层
以下是规格
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 01:18 , Processed in 0.215086 second(s), 61 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表