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.




  • Сообщения

    • Anat2015
      Тут когда то выкладывалась инфа по старым Фанукам, поищите. Хотя, думаю, программирование не должно меняться, почитайте на другую подобную систему. Думаю, вам скорее всего нужен чей-то совет, кто занимался подобным.
    • Viktor2004
    • boomeeeer
      Что-то вроде этого наверное https://www.taobao.com/list/item/wap/44165253685.htm
    • boomeeeer
      Нет в вашем ладдере активации сигнала G46.6 (KEY4). Пока там не будет единицы, то не даст ничего менять.  Кстати есть такой вот параметр 3290 и его бит 7 #7    KEY  For memory protection keys:  0:  The KEY1, KEY2, KEY3, and KEY4 signals are used.  1:  Only the KEY1 signal is used.    Что если вам там 1 поставить. В таком случае даже при наличии 1 в KEY1 всё должно быть доступно  
    • gudstartup
      Вы документацию когда начнете читать.? Хотите логику работы ЧПУ менять так хоть книжечку откройте!
    • edifer5
      Чтобы было более понятно,что хочу получить. Сейчас выводится код:   А хотелось бы:  
    • palmerson
      ключ в активном положении, тоже не даёт редактировать. вот это я выкладывал, толь key4 тут не прописан или это бит 6 после key3? key1-3 стоят 1, а вот с key4 не понятно  
    • Viktor2004
      Я у компа только вечером буду Вы фото выкладывали с таблицей. STATUS. Там даде подписаны комментарии сигналов были KEY1 KEY2 KEY3 KEY4. Кажется по памяти это G46.3 G46.4 G46.5 G46.6 Вот так же как нулевой бит включали, включите и KEY4 Или возмлжно у вас параметр установлен так, что все четыре кея включаются кеем один. Тогда в ладдере надо активировать кей 1. Он кажется ключиком на панеле оператора включается
    • palmerson
      Понятно, спасибо! А по поводу редактирования таблицы ничего не подскажите, при попытке изменения выдаёт сообщение EITHER PWE OR KEY4 MUST BE ON в pwe ставил 1 всё равно не даёт редактировать, поэтому начал искать в параметры как активировать KEY4    А всё, сразу сообщение не увидел, извините. Да, будет здорово если поможете с этим вопросом, хороший вы человек!
    • Viktor2004
      либо Юный барабанщик
×
×
  • Create New...