C#语言有很多值得学习的地方,这里我们主要介绍C#调用ListEmployee命令,包括介绍调用Editor的GetSelection()函数来选择实体等方面。
C#调用ListEmployee命令
现在让我们来创建一个命令,当用户在图形中选择一个雇员对象时,它会显示雇员的详细资料。 我们会使用上一章中创建的ListEmployee()函数在命令行中输出雇员的详细资料。下面是你必须遵循的步骤:
◆C#调用ListEmployee命令
◆调用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();
***,把选择集中的每个ObjectId输入到ListEmployee()函数来获取一个雇员详细资料的字符串数组。把雇员的详细资料输出到命令行。例如:
- //获取saEmployeeList 数组中的所有雇员
- foreach (ObjectId employeeId in idArray)
- {
- ListEmployee(employeeId, ref saEmployeeList);
- //把雇员的详细资料输出到命令行
- foreach (string employeeDetail in saEmployeeList)
- {
- ed.WriteMessage(employeeDetail);
- }
【编辑推荐】