0
点赞
收藏
分享

微信扫一扫

CAD插入图块前修改图块文字(com接口c#语言)

jjt二向箔 2022-07-27 阅读 81


c#中使用如下:

// 插入块的块名。​​
​​String sBlkName = ​​​​"MyBlkName"​​​​;​​

​​// 把要插入的块文件引入到控件数据库中。​​
​​String sBlkFile = axMxDrawX1.GetOcxAppPath() + ​​​​"\\Blk\\attribblock.dwg"​​​​;​​
​​axMxDrawX1.InsertBlock(sBlkFile, sBlkName);​​
​​// 得到当前应用对象​​
​​MxDrawApplication app = ​​​​new​​​ ​​MxDrawApplication();​​

​​// 取到控件数据库​​
​​MxDrawDatabase database = app.WorkingDatabase();​​

​​// 得到块表对象​​
​​MxDrawBlockTable blkTable = database.GetBlockTable();​​

​​// 当前块表中是否已经有名为sBlkName的块表记录​​
​​MxDrawBlockTableRecord blkRec = blkTable.GetAt(sBlkName, ​​​​true​​​​);​​
​​if​​​ ​​(blkRec == ​​​​null​​​​)​​
​​{​​
​​// 证明InsertBlock函数失败,没有成功把文件插入数据库中。​​
​​return​​​​;​​
​​}​​

​​// 创建一个用于遍历块表遍历器​​
​​MxDrawBlockTableRecordIterator iter = blkRec.NewIterator();​​
​​if​​​ ​​(iter == ​​​​null​​​​)​​
​​return​​​​;​​

​​for​​​ ​​(; !iter.Done(); iter.Step(​​​​true​​​​, ​​​​false​​​​))​​
​​{​​
​​// 得到遍历器当前的实体​​
​​MxDrawEntity ent = iter.GetEntity();​​
​​if​​​ ​​(ent == ​​​​null​​​​)​​
​​continue​​​​;​​
​​if​​​ ​​(ent.ObjectName == ​​​​"McDbText"​​​​)​​
​​{​​
​​// 当前实体是一个文字​​
​​MxDrawText text = (MxDrawText)ent;​​
​​// 修改文字内容为 "MyContent"​​
​​text.TextString = ​​​​"MyContent"​​​​;​​
​​}​​
​​}​​

​​// 创建块引用,把图块插入到当前空间,并显示。​​
​​axMxDrawX1.DrawBlockReference(0, 0, sBlkName, 1.0, 0.0);​​

举报

相关推荐

0 条评论