如何编写代码实现从外部输入块,并插入到当前文件中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何编写代码实现从外部输入块,并插入到当前文件中相关的知识,希望对你有一定的参考价值。
参考技术A /// <summary>/// 使用一个新建的database从另外一个不打开的文件引入块记录
/// ImportBlock_DB里的ReadDwgFile方法在编译调试环境下会出错,错误为:尝试读取或写入受保护的内存
/// 但在正常AutoCAD启动装载程序情况下可用
/// Version : 2008.11.11 Sieben
/// </summary>
/// <param name="fileName">另外一个文件的文件名</param>
/// <param name="blockName">引入的一个块记录名,若为空字符串"",将引入文件里面的全部图块</param>
/// <returns>成功返回true,否则返回false</returns>
static public StringCollection ImportBlock_DB(string fileName, string blockName)
if (!File.Exists(fileName)) return null;
Database sourceDb = new Database(false, true);
try
//下面的ReadDwgFile方法在编译调试环境下会出错,错误为:尝试读取或写入受保护的内存
//但在正常AutoCAD启动装载程序情况下可用.
sourceDb.ReadDwgFile(fileName, System.IO.FileShare.Read, false, "");
Database destDb = aApp.DocumentManager.MdiActiveDocument.Database;
ObjectIdCollection blockIds = new ObjectIdCollection();
StringCollection reValue = new StringCollection();
using (Transaction ctrans = sourceDb.TransactionManager.StartTransaction())
BlockTable cbt = (BlockTable)ctrans.GetObject(sourceDb.BlockTableId, OpenMode.ForRead, false);
if (blockName == "")
foreach (ObjectId btrId in cbt)
BlockTableRecord cbtr = (BlockTableRecord)ctrans.GetObject(btrId, OpenMode.ForRead, false);
if (!cbtr.IsAnonymous && !cbtr.IsLayout)
blockIds.Add(btrId);
reValue.Add(cbtr.Name);
cbtr.Dispose();
else if (cbt.Has(blockName))
blockIds.Add(cbt[blockName]);
cbt.Dispose();
if (blockIds.Count == 0)
return null;
else
IdMapping mapping = new IdMapping();
sourceDb.WblockCloneObjects(blockIds, destDb.BlockTableId, new IdMapping(), DuplicateRecordCloning.Replace, false);
return reValue;
catch (System.Exception ex)
se.WriteMessage(ex);
return null;
finally sourceDb.Dispose();
本回答被提问者和网友采纳
打开vim后怎样编写c/c++/java文件即编译运行 编写完后如何保存 保存路径在哪 路径是不是可更改
1、用vim编写文件代码,一般需要按i、a、o、O、A、I这六个字母键进入插入模式,输入完成后,按ESC键退出插入模式。
2、可以直接在vim中执行,vim通过"!"来执行外部命令。下图是在vim中通过”!“号执行gcc编译hello.c的文件,生成可执行文件hello后,同时执行当前文件目录下的hello。g++、java操作类似。
3、保存文件可以通过vim的w命令来进行。如果用vim编辑的文件已经建立,则直接输入w命令按回车键即可保存到已建立文件,如果没有建立的文件,可以在w命令后面接要保存的文件名。
按回车执行,就会提示已写入hello.c文件名中。
也可以保存到其它目录中,在w命令后面接具体路径及文件名即可。如下图所示就是将代码保存为用户家目录下的hello.c。(在linux中~表示当前登录用户的家目录)。
参考技术A 1.vim XXXX.c2 .按o编辑
3.编辑完毕
4.按esc,切换状态
5.按:
6.输入wq(保存退出)
7.gcc -o XXXX XXXX.c
8.运行输入 ./XXXX(注意是点(.)杠(/)XXXX)本回答被提问者采纳 参考技术B vim即是vi,见vi教程
参考资料:http://baike.baidu.com/view/27682.htm
以上是关于如何编写代码实现从外部输入块,并插入到当前文件中的主要内容,如果未能解决你的问题,请参考以下文章
在MyEclipse中如何用查看引用的jar包中的class文件的java源代码
打开vim后怎样编写c/c++/java文件即编译运行 编写完后如何保存 保存路径在哪 路径是不是可更改