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

NXOpen Basic .NET


asd

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

Вот работаю я со сборкой, выделил нужный мне компонент как объект класса Component. Как узнать, в каком файле этот компонент находится?

Если бы это был объект класса Part, то это можно было бы сделать так:

Dim path As String = my_Part.FullPath

Но у компонентов свойства FullPath нет.

Вопрос вдогонку:

Как переключать режимы, то есть переключаться, скажем, между моделированием и обработкой?

Изменено пользователем asd
Ссылка на сообщение
Поделиться на других сайтах


На первый вопрос нашел ответ на иностранном форуме. Легким движением руки "Component" преобразуется в "Part"

my_part = CType(my_component.Prototype, Part)

, а дальше как я говорил.

По второму вопросу, там же, говорят что это невозможно, по крайней мере в NX3.

У меня, правда, NX4.

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

Напрямую сделать так наверно не получится, но можно попробовать немного схитрить.

Я использую NXOpen .NET API из 5ки.

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

Смысл такой - я создаю новую часть и устанавливаю для неё модуль из перечислителя public enum FileNewApplication (в примере модуль обработки). Также устанавливаю свойство не делать создаваемую часть отображаемой fileNew.MakeDisplayedPart = false; . По логике NX должен переключиться в установленное приложение, а созданную часть в фоне затем можно попробовать закрыть.

Надеюсь, этот подход сработает) (код на C#)

theSession = Session.GetSession();

FileNew fileNew = theSession.Parts.FileNew();

fileNew.Application = FileNewApplication.Cam;

fileNew.NewFileName = "bufferFile.prt";

fileNew.MakeDisplayedPart = false;

fileNew.Commit();

fileNew.Destroy();
Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

Пытаюсь получить программный доступ к геометрии, заданной в операции обработки.

Операция типа FIXED_CONTOUR, метод управления - Граница (drive method - Boundary).

В принципе как бы получается, например вот этот тестовый код, запущенный как journal, отрабатывается нормально.

------------------------------

Option Strict Off

Imports System

Imports System.IO

Imports System.Windows.Forms

Imports NXOpen

Imports NXOpen.CAM

Imports NXOpen.UF

Imports NXOpen.Utilities

Module test

Dim theSession As Session

Dim theUfSession As UFSession

Sub Main()

theSession = Session.GetSession()

theUfSession = UFSession.GetUFSession()

Dim WorkPart As Part = TheSession.Parts.Work

Dim setupTag As Tag

Dim camObjectTag As Tag

Dim selectedTags() As NXOpen.Tag

Dim selectedCount As Integer

Dim lw as ListingWindow = theSession.ListingWindow

lw.Open()

theUfSession.Cam.InitSession()

theUfSession.Setup.AskSetup(setupTag)

theUfSession.UiOnt.AskSelectedNodes(selectedCount, selectedTags)

Dim i As Integer

Dim x() as IntPtr

theUFSession.Cambnd.AskBoundaries(selectedTags(0), CamGeomType.CamTrim, i, x)

lw.WriteLine(i)

End Sub

End Module

-----------------------------

Проблема возникает, когда я заменяю CamGeomType.CamTrim на CamGeomType.CamDrive, то есть пытаюсь заполучить не Trim Boundaries, a Drive Boundaries. Программа просто вылетает с ошибкой "Object is not the desired type".

Вопрос: как получить доступ к "управляющим границам" (Drive Boundaries)?

Это всё в NX7.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Артур8991
    • SAPRonOff
      хз, напишете в тех поддержку, что ответят?
    • Alexandr97
    • ak762
      а мне нравятся производственные истории, как-будто обратно в цех вернулся.
    • Бестолковый
      Сидю, конструячу (SW 2022), никого не трогаю (винду не пересыпаю, дров не ставлю, в реестр не лезу).   Дохожу до листовых деталей, создаю некий Part1 с габаритами (условно) 240х58х8мм через использование Base Flange/Tab, далее делаю то что обычно в таких случаях: - Открываю CutList, ПКМ по Cut-List-Item1 -> Properties -> в открывшемся списке снимаю галочку с нужной мне СЕРОЙ /неактивной/ строки (длина или ширина), копирую содержимое строки, закрываю все окна, открываю File Properties и вставляю код в необходимую мне строку из которой она подтянется в чертёж. Да, наверняка через *опу, но я самоучка и это мой метод переноса габаритов листовых деталей с чертёж и BOM.   Но что-то пошло не так, а именно: Таблица CutList НЕ СЕРАЯ (активны все её строки), а при попытке скопировать оттуда данные и вставить в File Properties строка вида"SW-Bounding Box Length@@@Cut-List-Item1@Лист 240х58х8.SLDPRT" такой и остаётся. Хотя ранее там были цифры габаритов. Открываю старые sldpt'ы в которых 100% это работало и указывало габариты - там та же беда... Откат с резервной копии настроек результата не принёс (((   Что не так-то? Луна не в фазе? Меркурий метроградный? Пятница на носу? Я сам что-то не того тыцнул?   https://fastpic.org/view/123/2024/0606/09656cc22a1847c4b1fbbd66d1324e19.jpg
    • Maik812
      Опоздали лет на 30 ...  с такими конкурсами.. Нужно еще конкурс приложений или около САПР программ и плагинов разных...  у Том систем креотивность  ниже плинтуса
    • SAPRonOff
      бетта пока не начиналась:) но это будет если не самая нассыщенная по доработкам версия, то одна из..
    • SAPRonOff
    • Alena2024
      Компания ООО «ТопС Бизнес Интегратор» (TopS BI) (входит в состав НКК) https://topsbi.ru/  проводит конкурс "АЛЬПИНИСТЫ САПР". Победителям конкурса будет предложено трудоустройство в компании TopS BI, занимающейся цифровой трансформацией высокотехнологичных предприятий машиностроительного комплекса и ОПК.   Мы предлагаем проявить свои таланты в конкурсе и стать частью нашей команды, чтобы развивать и применять свои навыки в самых интересных и важных цифровых проектах нашей страны.   Конкурс проходит с 20.05.2024 по 30.09.2024 включительно и состоит из двух этапов:   1)    Самостоятельное написание плагина для CAD системы (T-flex) на языке C++ 2)    Очное интервью   По итогам первого этапа отбора все участники получат баллы за написание плагина для CAD системы. Далее участники, набравшие наибольшее количество баллов, будут отобраны для проведения очных интервью. Участники, которые успешно пройдут этап интервью, получат возможность трудоустройства в компанию TopS BI.   Ознакомиться с информацией и зарегистрироваться на конкурс студенты могут на сайте TopS BI - https://topsbi.ru/competition.   Подробное описание конкурсного задания и необходимые инструкции будут отправлены участникам после регистрации на сайте.                    Приглашаем креативных молодых специалистов к участию в нашем конкурсе!  
    • Vengeance
      Там не сложно, почитай Post Section.pdf @lexa345 огромная благодарность за помощь с интеграцией Cimco в мой постпроцессор) За комментарии к циклам еще раз спасибо       
×
×
  • Создать...