Jump to content

Python, как подключить модули NX ?


izhgtumekhanik

Recommended Posts

izhgtumekhanik

У кого есть опыт подключения NX10/11/12 к Python ? Нужно внешне управлять NX. Не как не хотят подключаться модули к Python, как их подключить?

Link to post
Share on other sites


UnPinned posts
izhgtumekhanik

ошибка:

>>> import NXOpen
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files\Siemens\NX 12.0\NXBIN\python\sitecustomize.py", line 60, in load_module
    module = loader.load_module(None)
  File "C:\Program Files\Siemens\NX 12.0\NXBIN\python\sitecustomize.py", line 13, in load_module
    return super(NXOpenLoader, self).load_module(fullname)
ImportError: DLL load failed while importing NXOpen: Не найден указанный модуль.

 

я так понимаю что то не то реализовано в sitecustomize.py

Link to post
Share on other sites
15 hours ago, izhgtumekhanik said:

У кого есть опыт подключения NX10/11/12 к Python ?

Ну, сначала, не NX "подключается" к Python, а наоборот, можно в NX писать свои программы, с использованием API NX на Python.

 

15 hours ago, izhgtumekhanik said:

Нужно внешне управлять NX.

Что значит внешне ?

Если вы хотите из др. программы автоматом запустить NX и что-то в нём автоматически делать, то:

1. насколько я знаю, на Python, это не делается (только на Cхх).

2. далеко не все функции API NX можно для этого использовать ... (функции, которые можно использовать помечены как "External".

15 hours ago, izhgtumekhanik said:

Не как не хотят подключаться модули к Python, как их подключить?

ну, и это, тоже непонятно ...

Link to post
Share on other sites
izhgtumekhanik
8 часов назад, IgP сказал:

можно в NX писать свои программы, с использованием API NX на Python.

Это не совсем удобно.. Хочется запустить программу пожмякать кнопки и на этом все.

 

8 часов назад, IgP сказал:

1. насколько я знаю, на Python, это не делается (только на Cхх).

 

Можно же, точно знаю что под .Net работает без проблем, а пока гуглил нашел способ для Java.

 

8 часов назад, IgP сказал:

ну, и это, тоже непонятно ...

 

Там идут динамические модули *.pyd - но там идет цепочка переменных сред из которых получат ссылки на библиотеки из за чего пока не получается запустить(в моем понимании). А так собрал примерчик и скомпилировал как pyd - и без проблем вызвал в нем функцию с другой версии Python(разность в версиях Python не большая).

Link to post
Share on other sites
izhgtumekhanik

В общем неверно реализован скрипт  sitecustomize.py но так и не пойму как исправить..

 

Пока исправил костылём и все заработало.

 

Link to post
Share on other sites
izhgtumekhanik

в этом скрипте есть массив automation_namespaces

 

в ходе работы там по мимо добавляемого 'NXOpen' появляется еще 'NXOpen_Preferences'

Link to post
Share on other sites
izhgtumekhanik
18.07.2023 в 07:01, IgP сказал:

(только на Cхх).

 

В VB:

 

Environment.SetEnvironmentVariable("PATH", "C:\Program Files\Siemens\NX 12.0\NXBIN\managed", EnvironmentVariableTarget.Process)
Environment.SetEnvironmentVariable("PATH", "C:\Program Files\Siemens\NX 12.0\NXBIN", EnvironmentVariableTarget.Process)

 

Все работает как часы..

 

Вот он продает видео о том как настроить за зеленые - тут даже купить возможности нет..

https://youtu.be/468SGBALQQM

 

Там же есть всплывающие подсказки при кодинге 

Link to post
Share on other sites
  • 3 weeks later...
izhgtumekhanik
18.07.2023 в 07:01, IgP сказал:

2. далеко не все функции API NX можно для этого использовать ... (функции, которые можно использовать помечены как "External".

 

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

Нашел еще видео на C# 

 

 

Link to post
Share on other sites
izhgtumekhanik
Session theSession = (Session)Activator.GetObject(typeof(Session), "http://localhost:4567/NXOpenSession");
UFSession theUFSession = (UFSession)Activator.GetObject(typeof(UFSession), "http://localhost:4567/UFSession");

 

Пребывал так но не как не пойму почему у всех localhost когда у меня активно на 0.0.0.0:34265 и еще 192.168.56.1:34241 но не как на 127.0.0.1 .. даже если и их подставить не как не хочет подключаться..

 

Судя по коду что нашел все работает как часы..

Link to post
Share on other sites
izhgtumekhanik

Разобрался в чем была проблема :) 

 

теперь при обращение объект виден НО он не хочет работать выдавая ошибку:

System.Net.WebException: "Сервер нарушил протокол. Section=ResponseStatusLine"
 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • Maxim.Oi TF
      Здравствуйте. Стойка Fanuc oi tf через какие системные переменные можно занести значение корректора радиуса инструмента?  Например для Т22.  Кто то писал что #13022=3. У меня этот параметр заносит значение в ячейку Т. Мне нужно в ячейку R. 
    • mortinio
      Прошу помощи. После некорректно завершенной ручной смены инструмента появилась ошибка. В таблице места в шпинделе показывает T0, а по факту на панели не отображается никакой номер. Не могу произвести инициализацию станка из-за DCM функции контроля за столкновениями. Отключение в меню DCM эффекта не дает. Может кто знает как отключить DCM через параметры, либо как-то прописать номер инструмента в шпиндель? Бьюсь второй день с этой проблемой. Стойка 530.    
    • mortinio
      Прошу помощи. После некорректно завершенной ручной смены инструмента появилась ошибка. В таблице места в шпинделе показывает T0, а по факту на панели не отображается никакой номер. Не могу произвести инициализацию станка из-за DCM функции контроля за столкновениями. Отключение в меню DCM эффекта не дает. Может кто знает как отключить DCM через параметры, либо как-то прописать номер инструмента в шпиндель? Бьюсь второй день с этой проблемой.  
    • Viktor2004
      сделал все как в вашей инструкции. Но не запустилось  
    • Александр1979
      Во первых у вас скорости наоборот получились: 4056 должна быть самая высокая скорость шпинделя 4057 - более низкая скорость шпинделя и т.д.     Во вторых для режима постоянной скорости резания в ладдере нужны еще сигналы GR2, GR1
    • Александр 36
      3741-6000(это нейтральная) 3742-675 3743-2908 3744-5000 4056-100 4057-890 4058-286 4059-120
    • Александр1979
      Что сейчас в параметрах 3741-3744 и в 4056-4059 ?
    • Александр 36
      Уже сделал все то же самое  изменил максимальные обороты шпинделя с 7850 на 6000 и проставил 3741-3744 теперь s100 m03  на повышенной обороты мотора 100,а обороты шпинделя 83 на средней обороты мотора 100,а обороты шпинделя 35 на пониженной обороты мотора 100,а обороты шпинделя 11 Причем gear select 1 у меня получается нейтральное  и когда я в нем в максимальных оборотах шпинделя поставил 0,то станок вообще перестал крутиться на всех  скоростях
    • gudstartup
      значит у меня не те параметры  а откуда они взялись я уже и не припомню лучше считайте ваши 3741-44 мой вариант как я понял для авто смены скоростей
    • Александр 36
      Везучий Вы получается в 3705#1 нужно поставить 1 и подправить ладдер?
×
×
  • Create New...