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

NXOpen 8.0 .NET C# Значение переменной ${mom_tool_extension_length}


KlimTV1987

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

Всем доброго времени дня!

 

Можно ли используя NXOpen и C# получить значение переменной ${mom_tool_extension_length}?

 

Пользователи формируют карту наладки с помощью workshop. Мне программно было необходимо получить все данные этой карты из модели NX. Удалось получить всё, кроме ${mom_tool_extension_length}. http://cccp3d.ru/topic/80262-nxopen-80-net-перебрать-оснастку-инструмент-и-патроны-из/?p=747582

 

К сожалению я не нашел этого параметра в свойствах оснастки. Есть у кого-нибудь идеи, как можно получить значение желаемой переменной?

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


а что это за параметр и где в NX он задается?


Насколько я понял поискав на житаке - это фактическая длина инструмента,
т.е. длина инструмента+длина держателя-смещение.
Вот и считайте

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

Насколько я понял поискав на житаке - это фактическая длина инструмента,

т.е. длина инструмента+длина держателя-смещение.

Вот и считайте

 

Спасибо за совет, так и сделал. Вот код:

        private static void ReadCAMTools(ref Part part)
        {
            // коллекция групп
            NXOpen.CAM.NCGroup[] nxGroup = part.CAMSetup.CAMGroupCollection.ToArray();
            foreach (NXOpen.CAM.NCGroup nxG in nxGroup)
            {
                // отбираем только те, которые являются инструментом
                if (nxG.GetType().ToString() == "NXOpen.CAM.Tool")
                {
                    // инструмент
                    NXOpen.CAM.Tool tool = (NXOpen.CAM.Tool)nxG;
                    // открываем инструмент через билдер
                    NXOpen.CAM.MillToolBuilder millToolBuilder1;
                    millToolBuilder1 = part.CAMSetup.CAMGroupCollection.CreateMillToolBuilder(tool);
                    // считываем параметры
                    Console.WriteLine("Имя = " + tool.Name);
                    Console.WriteLine("Описание = " + millToolBuilder1.TlDescription);
                    Console.WriteLine("Хвостовик = " + millToolBuilder1.TlHolderDescription);
                    Console.WriteLine("Номер инструмента = " + millToolBuilder1.TlNumberBuilder.Value.ToString());
                    Console.WriteLine("Номер по каталогу = " + millToolBuilder1.TlCtlgNum);
                    Console.WriteLine("D = " + millToolBuilder1.TlDiameterBuilder.Value.ToString());
                    Console.WriteLine("L = " + millToolBuilder1.TlHeightBuilder.Value.ToString()); 
                    Console.WriteLine("ap = " + millToolBuilder1.TlFluteLnBuilder.Value.ToString());
                    Console.WriteLine("z = " + millToolBuilder1.TlNumFlutesBuilder.Value.ToString());
                    // Инструмент\Размеры\(L) Длина
                    double mom_tool_length = millToolBuilder1.TlHeightBuilder.Value;
                    // Хвостовик\Размеры\(SL) Длина хвостовика
                    double mom_tool_tapered_shank_length = millToolBuilder1.TaperedShankLengthBuilder.Value;
                    // Хвостовик\Вставка инструмента\(OS) смещение  
                    // Вообще это характеристика держателя, почему вкладка зовется хвостовик непонятно
                    double mom_tool_holder_offset = millToolBuilder1.HolderSectionBuilder.TlHolderOffsetBuilder.Value;
                    // Длина вылета инструмента из держателя
                    double mom_tool_extension_lenght = mom_tool_length + mom_tool_tapered_shank_length - mom_tool_holder_offset;
                    Console.WriteLine("I = " + mom_tool_extension_lenght.ToString());
                    Console.WriteLine(Environment.NewLine + "-------------------------------------");
                }
            }
        }

А где можно формулы для переменных тикля посмотреть? В интернете или локально (а вдруг в самом NX есть).

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • jtok
      Он сильно зависит от марки PP, от расчетной температуры и от расчетного срока службы (количества циклов нагружения). Поищите стандарт DVS 2205, части 1 и 2. В нем есть номограммы долговременной прочности. Он на немецком, но ничего лучше нет. Номограммы эти приведены по ссылке, внизу страницы, раздел "Список приложений".  Например, диаграмма для PP type 1 по ссылке: В оригинале же выглядят они вот так (для PP type 1): Также был древний документ на русском по этой теме, прицеплен к сообщению. _raschet_emkosti DVS 2205-2.pdf
    • Andrey_kzn
      - тут возможно смысл сообщения в том, что оси не синхронизированы, только вот зачем синхронизировать  оси X и Y не понятно. В случае двух шпинделей например,  coupled будет означать синхронизацию.
    • niagara39
      Правильно ХУ на этом станке не перпендекулярны. Тормоз оси У включен постоянно, отключается только при перемещении самой оси У. Координаты не  меняются... Знать бы что за параметры, пока ничего подобного не нашли
    • nicomed
      Поднял старые записи. Из того что было максимально похоже на то, что можно было назвать "получалось" :   Самому не совсем понятно поведение СкетчМенеджера при отрисовке линии от координат 0,0,0 - частенько слетает в произвольное место на виде. 
    • maxx2000
      на втором  скрине PLC сообщает что-то типа "старт программы запрещён потому что оси ХУ не связаны". Возможно станок в режиме точения должен заблокировать перемещение У, включить тормоз или что-то ещё для произвольного смещения под нагрузкой. Возможно косяк в тексте программы.
    • maxx2000
      @sneg0vik как это? Если ХУ не перпендикулярны то это уже не У, а скажем ось В. Нет, конечно в теории можно построить станок с неперпендикулярными ХУ. Вопрос зачем? Gildemeister CTX 420 это же токарно-фрезерный с осью У
    • sneg0vik
      На станке ось "X" является наклонной по отношению к оси "Y" (т. е. они не перпендикулярны). Поэтому надо полагать (учитывая текст ошибки) у вас отключена связь оси "Y" с осью "X".   Проверьте меняются ли координаты оси "X", когда вы двигаете ось "Y". И наоборот. Если - нет, то ищите как включить (наверное через параметры) взаимосвязь оси "Y" с осью "X".
    • ДОБРЯК
      Если ваш Заказчик и такую работу примет, то необходимо в шпоночное отверстие добавить и массу воды. Примерно 1/4 от той массы которую вы будете добавлять.  Да и еще и не забыть добавить момент инерции от воды.
    • Soprin
      В функции MOVE по F7.3 должно же из R270 переносить в R278?
    • niagara39
      Причина все еще не найдена... Но заметил, что сразу после включения в меню диагностики появляется следующее предупреждающее сообщение: 10155 M: Y-axis: Y-axis and X-axis not coupled , но причина его появления и его смысл неизвестны
×
×
  • Создать...