| bsp; Dim id As ObjectId ‘ 首先,定义一个For循环要使用的ObjectId变量。
For Each id In btr
Dim ent As Entity = trans.GetObject(id, OpenMode.ForRead, False) '打开当前的对象!
C#:
foreach (ObjectId id in btr)
{
Entity ent = (Entity)trans.GetObject(id, OpenMode.ForRead, false); //打开当前的对象!
一旦我们获得模型空间对象,你们就可以定义一个ObjectId变量,然后把它用于For Each循环(C#是foreach)。
现在,我们需要使用一些方法来筛选雇员。我们知道模型空间中的对象都是实体,但不全是雇员。我们需要使用一些方法来加以区分。在这里,我们可以使用VB.NET的TypeOf关键字并用CType进行类型转换(C#是GetType函数和typeof):
VB.NET:
If TypeOf ent Is BlockReference Then
Dim br As BlockReference = CType(ent, BlockReference)
…
C#:
If(ent.GetType() == typeof(BlockReference))
BlockReference br = (BlockReference)ent;
上面讲的概念对于AutoCAD编程是很重要的,因为容器对象经常包含不同类型的对象。你会在AutoCAD程序的开发中经常碰到这种类型转化。
请定义一个名为EmployeeCount()的函数,函数的结构如上所示,它用来统计模型空间中的块索引的数目。这个函数不会输出任何东西,但你可以使用逐步调试程序来查看整数变量的增加(每发现一个块索引对象)。
8) 接下来,为了把结果输 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >> |