BASIC сценарии для MD файлов

Можно расширить функциональные возможности, предусмотренные для файлов проекта станка, с помощью программного интерфейса (API). Эта программная среда позволяет настраивать и улучшать возможности дизайна станка с помощью языка программирования BASIC.

Некоторая функциональность, добавленная с помощью API, в различных ситуациях включает:

Как правило, довольно просто программировать один из этих сценариев. Часто можно копировать одинаковые блоки кода с другого станка и немного их изменять, чтобы они работали на новом станке. На самом деле мы рекомендуем использовать копирование-редактирование для любых стандартных функций.

Сценарий BASIC, который связан с файлом дизайна станка, полностью управляется FeatureCAM. То есть, у вас нет отдельного файла, который можно просмотреть в обозревателе файлов. Он доступен только из FeatureCAM следующим способом:

  1. Загрузите файл дизайна станка в FeatureCAM.
  2. Нажмите на клавиши Alt+F11. Откроется новое окно, содержащее BASIC сценарий, ассоциированный с текущим MD файлом.

Важные замечания

В качестве небольшого примера BASIC сценария для MD файла ниже показан код для открытия кулачков основного шпинделя. Примечания, идущие после кода, описывают некоторые ключевые аспекты, которые нужно учесть.

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 показывает, что генерируется действие «Открыть». Другие типы включают eSimAction_Close и eSimAction_Position. Смотрите руководство по API, чтобы увидеть весь список.

Главный шпиндель идентифицируется как 0, противошпиндель — как 1. То есть этот блок отлавливает события, которые сигнализируют только об открытии основного шпинделя.

Выключает проверку зарезов, которой нужно управлять вручную в сценарии.

Перемещение обычно сделано циклом, чтобы разбить движения на маленькие шаги. В данном случае кулачки открываются за три шага. Обычно можно использовать более крупные шаги для вещей, которые вряд ли столкнутся. При закрытии кулачков, однако, можно использовать 50 шагов, чтобы остановиться именно тогда, когда кулачки коснутся заготовки.

Это основная команда для поступательного движения тела. (Аналогичная команда SimCutRotate используется для вращательного движения.) Все тела-потомки, объявленные в MD файле, следуют соответственно. Имя тела - это первый аргумент, который должен соответствовать имени тела в MD файле. Движение выполняется относительно ЛСК, определенной для тела, или относительно системы координат стола, если нет заданной ЛСК.

Выполняет все перемещения, которые были заданы, и в то же время выполняет проверку на зарезы. Обратите внимание, что перемещения выполняются одновременно, а не последовательно.

Проверяет, были ли ошибка. Иногда может быть полезным отключить проверку ошибок для отладки, но нужно вернуть это условие обратно при работе с моделью.

Обновить отображение графики, только если нет ошибки.