对于目前使用C#在Addin框架编程来说,对于某些方法可能封装的并不是十分完全,或者说目前的MicroStation软件中的原生功能可以完美的实现业务需求,但是需要对其进行参数化,自动化并进行重复工作,那么模拟输入调用命令的方法便必须掌握。它可以实现在编程情况下采用模拟输入key-in的方式实现命令的调用。
关于如何获得模拟输入的key-in方法:
1.点击MicroStation软件中Modeling中的Utilities中的Record录制宏
2.执行操作,完成后点击Stop,对宏进行命名
3.在下方下拉框中选取刚刚命名的宏,点击右边的铅笔按钮,此时会弹出界面显示宏所调用的命令
在这里我们需要注意:在模拟输入坐标时,Relative是坐标增量值,Fixed是坐标固定值,前者是指该点与上一个点之间坐标值的增量,后者指的是绝对坐标值,在模拟输入过程中需要确定输入的方式。
在本案例中,根据宏中录制的命令及模拟输入坐标值,重现了宏执行的过程。若需直接使用MicroStation软件中的既有工作流,可以采用该方法实现既定目标。
public static void CreateByKeyin(string unparsed)//Case:CreateByKeyin
{
Session.Instance.Keyin("PLACE SPHERE ICON;" +
"Point absolute 4.656,-0.087,0.000;" +
"Point absolute 5.523,0.864,0.341"
); //模拟输入Key-in
Session.Instance.Keyin("PLACE SLAB ICON");
Session.Instance.Keyin("Point absolute 5.351,2.928,0.000");
Session.Instance.Keyin("Point absolute 6.778,2.818,-0.936");
Session.Instance.Keyin("Point absolute 6.205,4.712,1.093");
Session.Instance.Keyin("Point absolute 0.895,9.718,-7.598");
}