理的名字并返回一个ObjectId。 public ObjectId CreateDivision(string division, string manager) 3) 修改上面函数的代码创建部门的名字和经理: · 替换: divDict = (DBDictionary)trans.GetObject(acmeDict.GetAt("Sales"), OpenMode.ForWrite); 为: divDict = (DBDictionary)trans.GetObject(acmeDict.GetAt(division), OpenMode.ForWrite); · 替换: acmeDict.SetAt("Sales", divDict); 为: acmeDict.SetAt(division, divDict); · 替换: mgrXRec.Data = new ResultBuffer(new TypedValue((int)DxfCode.Text, "Randolph P. Brokwell")); 为: mgrXRec.Data = new ResultBuffer(new TypedValue((int)DxfCode.Text, manager)); 不要忘了返回部门经理这个扩展记录的ObjectId,但要在提交事务处理后才返回。 trans.Commit(); //返回部门经理这个扩展记录的ObjectId return mgrXRec.ObjectId; 现在把在中CreateEmployeeDefinition调用的CreateDivision函数给注释掉。 4) 现在通过使用TEST命令来测试调用CreateDivision函数。使用ArxDbg工具来检查条目是否已被加入到“ACME_DIVISION”下的命名对象字典。 CreateDivision("Sales", "Randolph P. Brokwell") 使用CREATE命令来创建雇员: 我们将加入一个名为CREATE的新命令,此命令用来提示输入雇员的详细资料来创建雇员块索引。让我们来看一下这个命令是怎样使用的。 1) 让我们加入一个名为CREATE的新命令,并声明几个常用的变量和一个try-finally块。 [CommandMethod("CREATE")] public void CreateEmployee() { Database db = HostApplicationServices.WorkingDatabase; Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; Transaction trans =上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页 |