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

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 пользователей

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




  • Сообщения

    • boomeeeer
      Не помню чтобы у меня такое спрашивали при регистрации.
    • Snake 60
      @eljer0n  Откройте макрос SaveDRW.swp редактором VBA Найдите вот эти строки: Поменяйте выделенную цифру на нужную вам 3 или 4 - это количество символов которое останется от имени конфигурации. PS При сохранении в PDF тоже ругается на неправильное название чертежа, т.к. тоже обрезает название конфигурации до двух знаков, там тоже надо править при желании...
    • eljer0n
      @malvi.dp в общем порядок следующий (на каждое исполнение свой чертеж и позиция в спецификации):   Для исполнения с 2мя знаками. 1. Есть деталь с именем формата ХХ-01.01-01 (последнее -01 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации (как у вас на картинке). Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с корректным именем. 5. В спецификации сборки все отображается корректно.     Для исполнения с 3мя знаками. 1. Есть деталь с именем формата ХХ-01.01-011 (последнее -011 это исполнение) 2. В Мпроп детали назначается исполнение из конфигурации. Отображается корректно 3. Создается чертеж по модели, исполнение в основной надписи чертежа детали отображается корректно. 4. Сохраняется через SaveDRW с некорректным именем, а именно - с обрезанным до двух знаков исполнением (-01). 5. В спецификации сборки шифр отображается (внезапно! может какой глюк был: у солида или у меня ) корректно, как и у вас на рисунке.     Выходит, загвоздка все-таки только в сохранялке чертежа.
    • gudstartup
      да информация о решенной проблеме очень важна так что будем ждать хороших новостей!
    • mrVladimir
      @gudstartup Спасибо Вам за помощь. Теперь дело в приобретении платы. Как что-то получится (сперва приобрести, потом поставить) обязательно отпишусь.
    • gudstartup
      а как вы taxid фирмы нашли?
    • gudstartup
      все что я написал в цитате выше по теме полная фигня в связи с вновь приобретённой информацией. можно менять любые компоненты в пределах серии чпу если только не меняете по или записываете oprminf но  всегда могут быть нюансы  @mrVladimir все должно получиться извините за то что выдал непроверенную информацию за мнение типа знающего эксперта оказывается я 
    • malvi.dp
      Какое у детали имя файла и как формируете Обозначение и Наименование? Вы каждое исполнение сохраняете в новый чертеж? Или это групповой чертеж? Если групповой-то имя конфигурации в нем быть не должно. Стоит ли галочка "Исполнение" "Из конфигурации"? На сколько мне не изменяет память макрос сохраняет файл чертежа с тем же именем что и файл модели в папке модели. В спецификации все правильно отображается, даже если знаков исполнений больше трех  
    • gudstartup
      и главная деталь чтобы на системе была remote option system а именно файл oprminf.000 c сертификатами и были ли проблемы с ними после замены компонентов.
    • boomeeeer
      с него родимого
×
×
  • Создать...