乐筑天下

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

DBX 修改块名报错 (已解决)

[复制链接]

1

主题

6

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2017-12-28 09:15:00 | 显示全部楼层 |阅读模式
public void DrawingPretreatment()//String fileFullName, String curNumber)
        {
            String fileFullName = @"E:\001.dwg";
            String curNumber = "1";
            string progid = "ObjectDBX.AxDbDocument.16";
            AxDbDocument objDbx = (AxDbDocument)acadApp.GetInterfaceObject(progid);
            objDbx.Open(fileFullName, null);
            foreach (AcadEntity entity in objDbx.ModelSpace)
            {
                switch (entity.EntityName)
                {
                    case "AcDbBlockReference":
                        AcadBlockReference blkRef;
                        blkRef = (AcadBlockReference)entity;
                        try
                        {
                            blkRef.Name = blkRef.Name + curNumber;//这里出错
                        }
                        catch (Autodesk..Runtime.Exception ex)
                        {
                            throw new System.Exception(ex.Message);
                        }
                        break;
                    case "AcDbOrdinateDimension":
                        break;
                }
            }
            objDbx.SaveAs(fileFullName, null);
            objDbx = null;
        }
AutoCAD 2005  & vs2008
回复

使用道具 举报

1

主题

6

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2018-1-2 20:10:00 | 显示全部楼层
神啊,救救我吧!
回复

使用道具 举报

1

主题

6

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2018-1-9 09:55:00 | 显示全部楼层
tempDb.ReadDwgFile(curFileName, System.IO.FileShare.ReadWrite, true, null);
                                using (Transaction curTrans = tempDb.TransactionManager.StartTransaction())
                                {
                                    BlockTable curBt = (BlockTable)curTrans.GetObject(tempDb.BlockTableId, OpenMode.ForRead);
                                    int i = 1;
                                    foreach (ObjectId acObjId in curBt)
                                    {
                                        BlockTableRecord br = curTrans.GetObject(acObjId, OpenMode.ForWrite) as BlockTableRecord;
                                        if (br.Name.StartsWith("_OPEN") || br.Name.StartsWith("DimnDraft"))
                                        {
                                            br.Name = spStr[0].Remove(0, 3) + "-" + i.ToString();
                                            i++;
                                        }
                                    }
                                    // 以写模式打开块表记录ModelSpace(模型空间)
                                    BlockTableRecord acBlkTblRec;
                                    acBlkTblRec = curTrans.GetObject(curBt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
                                    foreach (ObjectId acObjId in acBlkTblRec)
                                    {
                                        Entity cc = curTrans.GetObject(acObjId, OpenMode.ForWrite) as Entity;
                                        if (cc.GetType().Name == "OrdinateDimension")
                                        {
                                            OrdinateDimension od = cc as OrdinateDimension;
                                            od.DimensionText = "";
                                            //od.UpgradeOpen();
                                        }
                                        if (cc.GetType().Name == "RotatedDimension")
                                        {
                                            RotatedDimension rd = cc as RotatedDimension;
                                            rd.DimensionText = "";
                                            //rd.UpgradeOpen();
                                        }
                                    }
                                    curTrans.Commit();
                                }
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 04:47 , Processed in 0.140459 second(s), 58 queries .

© 2020-2024 乐筑天下

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