Перейти к публикации

Siemens NX 10.0.3 - Библиотека скоростей и подач.


Kingston-kms

Рекомендованные сообщения

Добрый день. Столкнулся с такой проблемой.

Имеется Siemens NX 10, библиотека подач и скоростей, в которой хранятся методы, материалы, инструмент, станки и собственной режимы.

Есть dll написанная на C++. Хотя дело не в ней, а вот в чем.

В приложении Обработка, есть методы фрезерования MILL_METHOD, в параметрах которого можно задать метод резания. Это метод резания выбирается из библиотеки.

Так вот, при ручном выборе метода - все работает как надо.

Но при работе модуля или записанного журнала - создание MILL_METHOD или задание метода обработки для MILL_METHOD - вылетает с ошибкой:

post-57203-0-67002400-1477660995.png

Код журнала для воспроизведения ошибки:

Option Strict Off
Imports System
Imports NXOpen

Module NXJournal
Sub Main (ByVal args() As String) 

Dim theSession As NXOpen.Session = NXOpen.Session.GetSession()
Dim workPart As NXOpen.Part = theSession.Parts.Work

Dim displayPart As NXOpen.Part = theSession.Parts.Display

Dim markId1 As NXOpen.Session.UndoMarkId
markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Изменить MILL_METHOD_1")

Dim markId2 As NXOpen.Session.UndoMarkId
markId2 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Начало")

Dim method1 As NXOpen.CAM.Method = CType(workPart.CAMSetup.CAMGroupCollection.FindObject("MILL_METHOD"), NXOpen.CAM.Method)

Dim millMethodBuilder1 As NXOpen.CAM.MillMethodBuilder
millMethodBuilder1 = workPart.CAMSetup.CAMGroupCollection.CreateMillMethodBuilder(method1)

theSession.SetUndoMarkName(markId2, "Диалоговое окно Метод фрезерования")

' ----------------------------------------------
'   Начало меню Результат поиска
' ----------------------------------------------
millMethodBuilder1.SetCutMethod("OPD0_00006")

Dim markId3 As NXOpen.Session.UndoMarkId
markId3 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Метод фрезерования")

theSession.DeleteUndoMark(markId3, Nothing)

Dim markId4 As NXOpen.Session.UndoMarkId
markId4 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Invisible, "Метод фрезерования")

Dim nXObject1 As NXOpen.NXObject
nXObject1 = millMethodBuilder1.Commit()

theSession.DeleteUndoMark(markId4, Nothing)

theSession.SetUndoMarkName(markId2, "Метод фрезерования")

millMethodBuilder1.Destroy()

theSession.DeleteUndoMark(markId2, Nothing)

' ----------------------------------------------
'   Меню: Инструменты->Журнал->Остановка записи
' ----------------------------------------------

End Sub
End Module

Казалось бы, все довольно просто. Метод резания в библиотеке есть.

НО! Если выбрать метод резания вручную, не только для MILL_METHOD, но и для другого метода, или не выбирая вовсе, а только просмотреть методы в библиотеке, то после этого методы скриптом и через dll создаются и изменяются, и задаются параметры.

Собственно ошибка находится по этим логам:

***TCL_ERROR***: Event Handler: C:\Program Files\Siemens\NX 10.0\mach\resource\library\feeds_speeds\ascii\cut_methods.tcl, Event: DBC_retrieve, Error: couldn't open "./dbc_information.out": permission denied
    while executing
"open "./dbc_information.out" a"
    (procedure "MOM__util_print" line 1)*** EXCEPTION: Error code  1770002 in line 519 of o:\ugnx1003\ip5\src\camsmom\no\ind\mom_tcl_definitions.c at Fri Oct 28 23:28:45 2016 RTZ 9 (зима)
+++ Обнаружена ошибка в do_event. Обработчик: C:\Program Files\Siemens\NX 10.0\mach\resource\library\feeds_speeds\ascii\cut_methods.tcl, Имя события: DBC_retrieve, См. журнал для более подробной информации

Как решить данную проблему? Каждый раз смотреть методы - не вариант

Ссылка на сообщение
Поделиться на других сайтах


Дополню код ошибки следующим логом. Более говорящим.

***TCL_ERROR***: Event Handler: C:\Program Files\Siemens\NX 10.0\mach\resource\library\feeds_speeds\ascii\cut_methods.tcl, Event: DBC_retrieve, Error: can't read "file_unit": no such variable
    while executing
"ASC_file_find_object_by_att $asc_file_name $file_unit  LIBRF $dbc_libref db_row"
    (procedure "DBC_retrieve" line 30)
    invoked from within

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...