各位老师
如何查看各种key in命令(如:测量)?
以下针对MicroStation来说明查看图标对应的Keyin命令的三种方法:
①用BMR(Bentley Macro Recorder)功能。在Utilities下能找到。启动录制宏功能,然后点击图标,停止录制。查看录制内容
有些图标关联的功能没有提供录制功能,所以第一种方法可能不起作用。可改用下面的方法。
②打开Named Expression对话框,在左侧栏中选中CommandString,点击一个图标后在该对话框中下部点一下Test按钮,其后能出现对应的键入命令
③打开Customize Ribbon界面,点击左下角的Custom Tools and Tasks,选Tools卡片,展开Application Tools下的MicroStation,能找到各个ToolBox,进一步展开能看到每个图标,点开图标后在下部有Key-in栏。
Answer Verified By: 超 上官
谢谢 张工 已经找到KeyIn命令 CadInputQueue.SendKeyin "MEASURE DISTANCE ICON "
张工还有问题想请教您,我们键入Keyin命令之后 程序运行软件自带的测量命令了,我们该如何控制其测量结束,并且返回得到其测量值??
因为之前没有完全调用过MS命令 所以有些疑问。。
Sub Bmr1() Dim startPoint As Point3d Dim point As Point3d, point2 As Point3d Dim lngTemp As Long Dim oMessage As CadInputMessage ' 传送一个键入命令串 CadInputQueue.SendKeyin "MEASURE DISTANCE ICON " ' 坐标以主单位计 startPoint.X = 2000# startPoint.Y = 2000# startPoint.Z = -2100# ' 给当前命令传送一个数据点 point.X = startPoint.X point.Y = startPoint.Y point.Z = startPoint.Z CadInputQueue.SendDataPoint point, 1 point.X = startPoint.X + 4.5474735E-13 point.Y = startPoint.Y - 4000# point.Z = startPoint.Z CadInputQueue.SendDataPoint point, 1 point.X = startPoint.X + 992.804793013153 point.Y = startPoint.Y - 3565.0821420918 point.Z = startPoint.Z CadInputQueue.SendDataPoint point, 1 ' 传送一个重置给当前命令 CadInputQueue.SendReset CommandState.StartDefaultCommand End Sub
那C#方法可以返回测量值吗?VBA 里面有个CommandState.MeaureResult1和MeasureResult2 不知道C#里面是怎么写?
BIM.Application app = Bentley.MstnPlatformNET.InteropServices.Utilities.ComApp;double d = app.CommandState.MeasureResult2;
您查查MS API文档 搜索mdlMeasure打头的 先找到C++的,然后搜索C#的。这个我具体也没用过,所以得靠您自己搜索下。
超 上官 said:double d = app.CommandState.MeasureResult2;
这个写法是正确的。不过,讨论的问题已经偏离了主题。如果还未解决的话,最好新开一个主题。
我们保证主题和讨论内容的一致性是为了方便今后用户搜索。谢谢配合!
好的 符工 已经确认答案