明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 518yf

[求助]C# 如何打开指定的dwg文件?

  [复制链接]
发表于 2009-11-16 14:01:00 | 显示全部楼层

最好,这么写 new TypedValue(0, "Text,MText")

NET可以直接使用ObjectDBX,教材嘛.不好说...

 楼主| 发表于 2009-11-21 21:36:00 | 显示全部楼层
我的代码实现功能是:不打开dwg文件,指定查找替换dwg文件中的文字……
foreach (string  str in strArry) //strArry存放dwg文件路径的数组
            {
                Database db = new Database(false, true);
                //把源DWG读入辅助数据库
           db.ReadDwgFile(str.Trim(), FileShare.ReadWrite, true, "");
                //用集合变量来存储块ID的列表
           ObjectIdCollection blockIds = new ObjectIdCollection();
                TransactionManager tm = db.TransactionManager;
                using (Transaction myT = tm.StartTransaction())
                {
                    //打开块表
             BlockTable bt = (BlockTable)tm.GetObject(db.BlockTableId,OpenMode.ForRead, false);
                    //在块表中检查每个块
             foreach (ObjectId btrId in bt)
                    {
                        Entity ent = tm.GetObject(btrId, OpenMode.ForWrite) as Entity;
                        //替换的内容自己写下吧
                if (ent is DBText)
                        {
                            再判断是否有指定文字替换
                            MessageBox.Show("找到指定的文字DBText类型:"+btrId.ToString());
                        }
                        else
                        {
                            MessageBox.Show("什么也没找到:" + btrId.ToString());
                        }
                    }
                }

以上代码肯定有错,就是不知道该怎么写,我是cad开发的初学者,主要代码,也是从网上找了好久,才写了一点点,望各位高手指点……
发表于 2009-11-22 17:20:00 | 显示全部楼层

BlockTable即块表,保存的是块定义的Id集合,你的代码遍历的是块定义,而不是图元实体

你应该先打开模型空间,再遍历模型空间获取图元实体

 楼主| 发表于 2009-11-22 20:24:00 | 显示全部楼层
一头雾水,东南西北都分不清……资源又少,又不具体……
发表于 2009-11-22 21:00:00 | 显示全部楼层
 楼主| 发表于 2009-11-23 08:24:00 | 显示全部楼层
谢谢版主了,早看过了,只是E文不好……
发表于 2010-10-19 08:51:00 | 显示全部楼层

请教大家,我这样打开dwg文件老是报错:Document doc =  acadApp.DocumentManager.Open(@"D:\新块.dwg");

说执行环境无效

还说次代码调用另一个函数,当该函数完成后,这是将要执行的下一条语句

发表于 2010-10-19 21:48:00 | 显示全部楼层

你的完整代码

发表于 2010-11-1 22:32:00 | 显示全部楼层
哪有好的教材或资料
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 01:59 , Processed in 0.136156 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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