在C#下插入块
public class Testinsert<BR> {<BR> <BR> static public void DoIt()<BR> {<BR> Document doc = Application.DocumentManager.MdiActiveDocument;<BR> Editor ed = doc.Editor;<BR> PromptResult res = ed.GetString("Give me a file to insert");<BR> if (res.Status != PromptStatus.OK)<BR> return;<BR> string fname = res.StringResult;<BR> if (!File.Exists(fname))<BR> fname = HostApplicationServices.Current.FindFile(fname, doc.Database, FindFileHint.Default);<BR> using (Database db = new Database(false, false))<BR> {<BR> //read drawing<BR> db.ReadDwgFile(fname, FileShare.Read, true, null);<BR> using (Transaction t = doc.TransactionManager.StartTransaction())<BR> {<BR> //insert it as a new block<BR> ObjectId idBTR = doc.Database.Insert("test", db, false);<BR> //create a ref to the block<BR> BlockTable bt = (BlockTable)t.GetObject(doc.Database.BlockTableId, OpenMode.ForRead);<BR> BlockTableRecord btr = (BlockTableRecord)t.GetObject(bt, OpenMode.ForWrite);<BR> using (BlockReference bref = new BlockReference(Point3d.Origin, idBTR))<BR> {<BR> btr.AppendEntity(bref);<BR> t.AddNewlyCreatedDBObject(bref, true);<BR> }<BR> t.Commit();<BR> }<BR> }<BR> }<BR> }<BR> 对于块对像,除了将块分解外。还有没有其它方法取得块中对像。 在VB.net下插入块怎么写 先生你好!现在要急着解决一个在程序中对dwg文件插入块的问题,就是往dwg文件中插入另外文件夹下的dwg块的问题,看了你的文章有看不懂的地方,就是那个database类和document类是怎么引用的啊?c#中引用的是哪些类库?是否需要第三方开发包?感谢您,请你帮忙回复下,不胜感激! http://bbs.mjtd.com/thread-78291-1-1.html 多谢楼主指点! 谢谢楼主但是有个问题 如果想给插入指定插入点可以嘛??? 请问C#的dll中能否省略添加命令这一步?就是autocad加载dll后直接执行代码,而不需要输入命令。望指点 学习了,进步了
页:
[1]