int)DxfCode.Text, prManagerNameRes.StringResult)); } } 10) 测试CREATE命令 选择集: 现在让我们来创建一个命令,当用户在图形中选择一个雇员对象时,它会显示雇员的详细资料。 我们会使用上一章中创建的ListEmployee()函数在命令行中输出雇员的详细资料。 下面是你必须遵循的步骤: 调用“LISTEMPLOYEES”命令 调用Editor的GetSelection()函数来选择实体 PromptSelectionResult res = ed.GetSelection(Opts, filter); 上面的filter用来过滤选择集中的块索引。你可以创建如下的过滤列表: TypedValue[] filList = new TypedValue[1]; filList[0] = new TypedValue((int)DxfCode.Start, "INSERT"); SelectionFilter filter = new SelectionFilter(filList); 从选择集中获取ObjectId数组: //如果选择失败则什么也不做 if (res.Status != PromptStatus.OK) return; Autodesk.AutoCAD.EditorInput.SelectionSet SS = res.Value; ObjectId[] idArray; idArray = SS.GetObjectIds(); 5. 最后,把选择集中的每个ObjectId输入到ListEmployee()函数来获取一个雇员详细资料的字符串数组。把雇员的详细资料输出到命令行。例如: //获取saEmployeeList 数组中的所有雇员 foreach (ObjectId employeeId in idArray) { ListEmployee(employeeId, ref saEmployeeList); //把雇员的详细资料输出到命令行 foreach (string employeeDetail in saEmployeeList) { ed.WriteMessage(employeeDetail); } ed.WriteMessage("----------------------" + "\r\n"); 上一页 [1] [2] [3] [4] [5] [6] [7] [8] |