|
// 创建多行文字
[CommandMethod("ASDK", "HelloText", Autodesk..Runtime.CommandFlags.Modal)]
public static void HelloText()
{
MText text = null;
BlockTable bt = null;
BlockTableRecord btr = null;
try
{
Database db = HostApplicationServices.WorkingDatabase;
ObjectId objId = db.BlockTableId;
// 打开块表,注意使用的函数为ObjectId.Open()
bt = (BlockTable)objId.Open(OpenMode.ForRead);
objId = bt.this(BlockTableRecord.ModelSpace);
btr = (BlockTableRecord)objId.Open(OpenMode.ForWrite);
// Create new mtext and set text
text = new MText();
text.SetContents("Hello World!!");
// Append entity to model space
btr.AppendEntity(text);
}
catch
{
// no error checking
}
finally
{
text.Close();
btr.Close();
bt.Close();
}
}
其中的“bt.this”在VB.NET中对应代码为“bt.Item”,但是在C#中this是保留的关键字,因此程序编译出错,但是应该如何调用呢? |
|