MD 文件的 BASIC 脚本

您可以通过访问应用程序编程接口 (API) 来扩展为机床设计文件提供的功能。通过此编程环境,您可以使用 BASIC 编程语言来自定义并增强机床设计功能。

已在各种情况下使用 API 添加的一些功能包括:

一般来说,对这些脚本中的一个编程相当简单。通常,您可以从其他机床上复制类似的代码块并对其稍加编辑,使其可在新机床上使用。实际上,建议您对所有标准功能使用“复制和编辑”。

与机床设计文件关联的 BASIC 脚本完全由 FeatureCAM 管理。也就是说,没有可以在文件浏览器中查看的独立文件。只能通过以下方式从 FeatureCAM 中访问:

  1. 将机床设计文件加载到 FeatureCAM 中。
  2. 按键盘上的 Alt+F11 键。将显示一个新的窗口,其中包含与当前 MD 文件关联的 BASIC 脚本。

重要说明

下面列举一个小例子来说明 MD 文件的 BASIC 脚本,用于打开主轴卡爪的代码如下所示。代码后面的注释描述了您必须考虑的一些关键方面。

Public Sub MachineSim_spindle( Doc As FeatureCAM.MFGDocument, _

ByVal data As Double, _

ByVal Action As FeatureCAM.tagFMMachineSimSpindleActionType, _

ByVal spindle As Long)

Dim Vw As MFGWindow

Dim Err As Long

Dim i As Integer

Dim dOpen As Double

Dim dCls As Double

Set Vw = Doc.ActiveWindow

Err = 0

i = 0

If( Doc.Metric ) Then

dOpen = 4

dCls = -1

Else

dOpen = .25

dCls = -.125

End If

Vw.SimIgnoreClashes(0)

If( Action = eSimAction_Open And spindle = 0 ) Then

Vw.SimIgnoreClashes(1)

While Err = 0 And i<3

Vw.SimCutMove( "main_jaw_1", dOpen, 0, 0 )

Vw.SimCutMove( "main_jaw_2", dOpen, 0, 0 )

Vw.SimCutMove( "main_jaw_3", dOpen, 0, 0 )

Vw.SimPerformCut Err

If( Err = 0 ) Then

Vw.SimUpdateGraphics

End If

i = i + 1

Wend

End If

End Sub

显示的 MachineSim_spindle 例程是为了获取对主轴操作的控制权而提供的钩。

尽管您采用米制单位或英制单位定义您的机床,但使用您的文件的人员可能会采用任一类型的单位来运行 FeatureCAM 文档。所以,MD 文件必须针对任一单位制计算或转换所有单位。

eSimAction_Open 枚举指示生成的操作为“Open”。其他类型包括 eSimAction_Close 和 eSimAction_Position。有关完整的列表,请参见 API 指南。

主轴标识为 0,副主轴标识为 1。所以,此块用于捕捉标志仅打开主轴的事件。

关闭过切检查,您必须在脚本中手动处理此操作。

移动通常循环完成,以将运动分成很小的增量。在本例中,通过三步打开卡爪。通常,对于不太可能发生碰撞的对象,可以使用大得多的增量。但是,闭合卡爪时,可以使用 50 步,恰好在卡爪接触到毛坯时停止。

这是使用线性运动移动实体的基本命令。(类似的命令 SimCutRotate 用于旋转运动)。在 MD 文件中声明的所有子实体相应地跟在后面。实体的名称是第一个参数,它必须与 MD 文件中的实体名称相符。运动相对于为实体定义的局部坐标系;如果未指定局部坐标系,则相对于工作台坐标系。

执行已指定的所有移动,同时执行过切检查。请注意,这些移动同时执行,而不是按顺序执行。

检查是否存在错误。有时,禁用对调试的错误检查会很有用,但当模型正常运行时,应恢复原状。

仅当没有错误时,才会更新图形显示。