05. 将MicroStation宏升级为Python程序


Bentley Macro Recorder(宏录制器,简称BMR)是一款功能强大的工具,专为非程序员设计,可轻松录制和播放宏。它还提供基本的宏编辑功能,所有技能水平的用户都可以使用它。

录制宏

使用BMR录制宏非常简单。用户可以像过去一样录制BMR宏。录制后,宏将被保存为.BMR文件,并存储在MS_MACRONEWFILEDIRECTORY配置变量指定的位置。

与MicroStation VBA类似,用户可以先录制宏。录制后,您可以通过在“宏”对话框中选择宏并单击Promote macro to Python(将宏升级为Python)”来将其升级为Python。此操作将创建一个.PY文件,存储在与.BMR文件相同的位置。这个记录宏并将其升级到Python的过程提供了一种快速学习MicroStation Python语法的方法。

示例: 录制并转换一个宏为Python

在这个例子中,我们录制了一个宏。该宏先设置激活颜色、激活线宽,然后通过点放置一条线。录制后,我们将宏转换为Python脚本。
下面是这个完整的脚本:

from MSPyBentley import *
from MSPyBentleyGeom import *
from MSPyECObjects import *
from MSPyDgnPlatform import *
from MSPyMstnPlatform import *

startPoint = DPoint3d(0.0, 0.0, 0.0)
point = DPoint3d(0.0, 0.0, 0.0)

PyCadInputQueue.SendKeyin("ACTIVE COLOR 2")
PyCadInputQueue.SendKeyin("ACTIVE WEIGHT 2")
PyCadInputQueue.SendKeyin("PLACE SMARTLINE")

startPoint.x = 338.43796934778367813124
startPoint.y = -0.03587736574420705149
startPoint.z = 0.0

point.x = startPoint.x
point.y = startPoint.y
point.z = startPoint.z
PyCadInputQueue.SendDataPoint(point, 1)

point.x = startPoint.x + 147.79040078169970229283
point.y = startPoint.y + 147.86937275158311422274
point.z = startPoint.z
PyCadInputQueue.SendDataPoint(point, 1)

PyCadInputQueue.SendReset()
PyCommandState.StartDefaultCommand()