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

Получить свойство средствами NX


ochelot

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

Добрый день!

 

Подскажите, как получить значение времени (симуляции обработки), не знаю, свойство это или атрибут и где он хранится? 

 

p.s. А какая версия VC необходима для сборки с/с++ плагина под NX9?

 

post-48598-0-79658700-1435751427.png

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


По-моему: mom_machine_time. В "Генераторе постпроцессоров" зайдите в "утилиты-просмотр мом-переменных" и наберите там в поиске time. Есть ещё несколько переменных для определения времени обработки.

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

А как можно получить значение этой переменной?

 

Средствами Java пробую:

 

Session theSession = (Session)SessionFactory.get("Session");
Part workPart = theSession.parts().work();
// Выдает Exception что атрибут не найден
workPart.getIntegerAttribute("mom_machine_time");
Ссылка на сообщение
Поделиться на других сайтах

А как можно получить значение этой переменной?

 

Средствами Java пробую:

 

 

Session theSession = (Session)SessionFactory.get("Session");
Part workPart = theSession.parts().work();
// Выдает Exception что атрибут не найден
workPart.getIntegerAttribute("mom_machine_time");

Я конечно не знаком с явой, но этот параметр не интежер, а real

 

может вам этот код поможет?

/*HEAD UF_MOM_ADD_UFUN_TCLEXTS CCC UFUN*/
/*=============================================================================
                   Copyright (c)  1993 Electronic Data Systems
                        Unpublished - All Rights Reserved
=============================================================================*/
/*****************************************************************************
 * File Name: uf_mom_add_ufun_tclexts.c
 *
 * File Description: 
 * This file contains the implementation for adding TCL extension to execute 
 * the User Function routines.
 *
 * Revision History
 *   Revision      Date       Who         Reason
 *      00       07may99      satya       Original Release
 *
 *$HISTORY$
 ******************************************************************************/


/********************************* Includes ***********************************/

#include <stdlib.h>
#include <uf.h>
#include <uf_obj.h>
#include <uf_attr.h>
#include <uf_mom.h>
#include "uf_mom_add_ufun_tclexts.h"
#include "mom_post_dh.h"


/* ARGSUSED */
extern void  ufusr 
(
  char *param, 
  int *len, 
  int     param_len
)
{
  UF_MOM_id_t   mom = ( UF_MOM_id_t ) param ;
  void *interp = NULL ;
  int error ;


  /* Initialize user function */

  UF_initialize() ;

  /* Get the TCL interpreter id from the ufusr param */

  (void)UF_MOM_ask_interp_from_param ( param, &interp ) ; 

  /* Get the MOM id from the ufusr param */

  /* UF_MOM_ask_mom (param, &mom) ; */

  /*-------------------------------------------------------------------- 
   * Now extend the TCL interpreter with the following functions 
   * The following TCL exetensions will be added 
   *  - MOM_load_kinematics
   *  - MOM_convert_point
   *  - MOM_get_tool_attribute <name of the attribute>
  ---------------------------------------------------------------------*/

  /* Adding MOM_load_kinematics TCL extension */

  error = UF_MOM_extend_xlator
          (
             mom,
             "MOM_load_kinematics",
             mom_load_kinematics
          ) ;

  /* Adding MOM_convert_point TCL extension */

  error = UF_MOM_extend_xlator
          (
             mom,
             "MOM_convert_point",
             mom_convert_point
          ) ;

  /* Adding MOM_load_kinematics TCL extension */

  error = UF_MOM_extend_xlator (
                                 mom ,
                                 "MOM_get_tool_attribute",
                                 mom_get_tool_attribute
                               ) ;

  /* Adding MOM_rotate_mach_csys TCL extension */

  error = UF_MOM_extend_xlator (
                                  mom,
                                  "MOM_rotate_mach_csys",
                                  mom_rotate_mach_csys
                               ) ;

  /* Adding MOM_map_to_rotated_csys TCL extension */

  error = UF_MOM_extend_xlator (
                                  mom,
                                  "MOM_map_to_rotated_csys",
                                  mom_map_to_rotated_csys
                               ) ;


  if ( error )
  {
     printf ( " ERROR Extending the translator \n " ) ;
  }

  mom_obj = mom ;
  *len = 0 ;

  /* Terminating User Function */

  UF_terminate() ;
}


/*-----------------------------------------------------------------------
 * Function Name: mom_get_tool_attribute
 *
 -----------------------------------------------------------------------*/

static int mom_get_tool_attribute
(
  void *client_data,    /* This is the mom object */
  void *interp,         /* Pointer to the TCL interpreter */
  int  argc,            /* Count of the numnber of arguments */
  char **argv           /* Array of arguments where the
                           argv[0] - The TCL extension */
)
{
  int             error ;
  const char      *mom_value ;
  char            error_message[512] ;
  char            tool_name[MAX_LINE_SIZE+1] ;
  char            curr_tool_name[UF_OBJ_NAME_LEN+1] ;
  char            attribute_title[UF_ATTR_MAX_TITLE_LEN+1] ;
  char            attribute_value[UF_ATTR_MAX_STRING_LEN+1];
  char            tcl_variable[MAX_LINE_SIZE+1] ;
  char            default_attribute_value[MAX_LINE_SIZE+1] ;
  tag_t           tool_object_tag = NULL_TAG ;
  UF_ATTR_value_t value ;
  UF_MOM_id_t     mom_id = ( UF_MOM_id_t ) client_data ;

  strcpy ( default_attribute_value , "   " ) ;
  strcpy ( tcl_variable , "tool_attribute_text" ) ;
  strcpy ( tool_name , "tool_name" ) ;

  if ( argc != 2)
  {
/*
     UF_MOM_set_string ( mom_id , "tool_attribute",
                         "Failed. Wrong number of arguments" ) ;
*/
     strcpy ( error_message , "Invalid number of arguments" ) ;
     printf ( " ERROR : %s \n " , error_message ) ;
     return (1) ;
  }

  /* Get the tool name for which the attribute is required */

  error = UF_MOM_ask_string ( mom_id ,
                              tool_name ,
                              &mom_value ) ;


  if ( error )
  {
     strcpy ( error_message , "No Tool Name obtained from UGPost" ) ;
     printf ( " ERROR : %s \n " , error_message ) ;
     return (1) ;
  }

  strcpy ( curr_tool_name , mom_value ) ;

  /* Get the tool tag for the tool defined in mom_tool_name by UGPost */

  strcpy( attribute_title , argv[1] ) ;

  error = UF_OBJ_cycle_by_name (
                                  curr_tool_name,
                                  &tool_object_tag
                               ) ;
  if ( error )
  {
      printf ( " UF_OBJ_cycle_by_name could not get the tool_object_tag \n" );
      return (1) ;
  }

  /* Read the tool attribute string for the tool */

  if (tool_object_tag != 0)
  {
    value.value.string = attribute_value;
    error = UF_ATTR_read_value (
                                 tool_object_tag,
                                 attribute_title,
                                 UF_ATTR_string,
                                 &value
                               ) ;

    if ( error )
    {
        printf ( " UF_ATTR_read_value could not return tool string \n" );
        return (1) ;
    }

    /* Set the default value if reading of the arributre fails */

    if ( value.type != UF_ATTR_string )
    {
       strcpy ( attribute_value , default_attribute_value ) ;
    }
  }
  else
  {
    strcpy ( attribute_value , default_attribute_value ) ;
  }

  /* Return the the tool attribute string to tcl and set in the tcl variable
     mom_tool_attribute_text */

  UF_MOM_set_string (
                      mom_id ,
                      tcl_variable,
                      attribute_value
                    ) ;
  return ( 0 ) ;
}

Я часть кода не привел, оставил только одно процедуру

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Anat2015
      Лапша на уши. Просто им не хочется настраивать, а тупо перенести параметры. За такую работу им и соответственно платить надо, по миниму.
    • maxx2000
      логика диктует что это 80% от максимального просвета, т.е. 0,8 от Кмах.
    • DuS
      поищите в справке или на ютубе граничная рамка.
    • plm-ural
      О вебинаре Уважаемые коллеги! Приглашаем Вас на вебинар, посвященный обзору возможностей программы Логос Прочность. Это высокоточный отечественный инструмент для численного решения широкого спектра задач статического и динамического упругопластического деформирования и разрушения конструкций, а также вибрационного анализа и широкополосной случайной вибрации при проектировании высокотехнологичных промышленных изделий.   Дата проведения: 24 апреля 2024 12:00 (МСК)   Регистрация на вебинар   Программа вебинара:   1.    Общая характеристика решения Логос Прочность 2.    Перечень основных решаемых задач (статические расчеты прочности, вибрационный динамический анализ, динамические расчеты во временной области) 3.    Демонстрация решения задач     Логос Прочность обладает достаточно удобным пре/постпроцессором, позволяющим корректировать и создавать геометрию, строить сетку конечных элементов, формировать необходимые условия задачи, а также производить обработку результатов. Решение разрабатывается с учетом требований отечественных предприятий для решения реальных задач в различных отраслях промышленности, включая обычные вооружения, атомную энергетику, авиастроение, транспортное и военное машиностроение и многие другие.   Вебинар будет интересен специалистам, занимающимся прочностными расчетами.   Спикер  — Сергей Хрулев, руководитель бригады прочности ГК «ПЛМ Урал».   Участие в вебинаре бесплатное. Необходима регистрация. Если по каким-либо причинам у вас не получится присоединиться к вебинару, мы обязательно отправим видеозапись при условии пройденной регистрации. Направляйте свои вопросы и пожелания на почту info@plm-ural.ru. Будем рады видеть Вас в качестве участников!   Регистрация на вебинар  
    • plm-ural
      О вебинаре Приглашаем Вас на вебинар, посвященный сравнительному анализу российской системы компьютерного моделирования литейных процессов ПолигонСофт и ПО ProCAST от ESI Group. Сравнение систем будет проведено на примере решения актуальной задачи литья лопатки для газотурбинных двигателей. Дата проведения: 25 апреля 2024 12:00 (МСК)   Регистрация на вебинар   Программа вебинара:   сравнение решаемых задач; сравнение возможностей ПО в плане подготовки расчетной модели; сравнение постановки задачи; сравнение и анализ полученных результатов и т.д.  ответы на вопросы.   Сравнение систем будет проведено на примере решения актуальной задачи литья лопатки для газотурбинных двигателей. Лопатки для двигателестроения являются одними из самых сложных в технологическом плане отливок и, в то же время, одними из самых ответственных деталей в агрегате. К ним предъявляются высокие требования к качеству (наличие дефектов и структура зерна), так как отливки работают в тяжелых эксплуатационных условиях.  Для их изготовления применяются дорогостоящие сплавы и, следовательно, получение не качественной отливки обходится предприятиям очень дорого как в материальном плане, так и в плане репутации.    Компьютерное моделирование изготовления таких отливок поможет избежать грубых ошибок в технологии на этапе разработки, снизить себестоимость изделия за счет минимизации брака и сократить время запуска технологии в производство.   Ведущий: Максим Ведерников, инженер технической поддержки ГК "ПЛМ Урал".   Участие в вебинаре бесплатное. Необходима регистрация. Если по каким-либо причинам у вас не получится присоединиться к вебинару, мы обязательно отправим видеозапись при условии пройденной регистрации. Направляйте свои вопросы и пожелания на почту info@plm-ural.ru.   Будем рады видеть Вас в качестве участников!   Регистрация на вебинар
    • ZVUM
      Здравствуйте, помогите пожалуйста с советом.. Хочу упростить работу в спецификациях убрав функцию прописывания размеров деталей. Что я хочу? А именно, сделать шаблон детали, чтобы при создании детали и моделировании чего-либо, не важно - бобышкой или гнутые, хочу чтобы в примечаниях автоматически указывались габаритные размеры "Длина" "Ширина" "Толщина", возможно ли как-то в переменных вписать определение размера и чтобы прописывались в суммарной информации? По типу 'RD1@Примечания@Деталь.moPart_c'. Спасибо!
    • Killerchik
      Эх, текстовый файл, я тогда так не умел :( Нет, измерял по одной точке и фоткал с экрана соответствующие переменные #1хх. Сейчас бы конечно применил команду dprnt или как там её, для записи результатов в файл на стойке. Единственно что, последний раз когда надо было обмерить какой-то кривой ужас, писал точки в переменные #600-#999 и потом фоткал все разом с экрана. Хотя бы УП измерения была одна единая.
    • Kosi27
      Здравствуйте! При попытке выполнить программу фрезерования на токарно-фрезерном станке возникает ошибка при моделировании #61102 "Направление шпинделя не запрограммировано". Обнаружил, что меню выбора направления обработки урезано, вместо "торец C, Бок.пов С, Торец Y, Бок.пов Y" есть только пункт "Торец, Бок.пов".   Фото меню моделирования с ошибкой  Фото меню со стойки машины Скриншот меню из sinutrain   Приводные блоки через меню TSM запускаются.  Машина Headman T65M/750, стойка Siemens 828D.  Подскажите пожалуйста, кто сталкивался с такой проблемой и как её решить? Поставщик оборудования очень тяжело идет на контакт, а инструменты неосевой обработки необходимы как никогда. HELP:(
    • Говорящий Огурец
      Лучше, чем это сделал OpenMind, у меня вряд ли получится :) Полно инфы как в текстовом формате, так и видосов на Трубе
    • ak762
      @Killerchik а как вы точки касания в текстовый файл записывали, руками с экрана или использовали станочную команду?
×
×
  • Создать...