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

Построение в Nxopen


Cassius

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

Про "изначально пустой документ" - если это пустой PART-файл, так там и выбирать-то нечего.... Или надо что-то построить перед выбором чего-то.

В общем - поди туда не знаю куда, выбери то не знаю что.

Соберись с мыслями.

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


Я не правильно понял свою задачу. Нужно открыть деталь ( пример параллелепипед ). На нем выбираем поверхность и на ней строим точки. Дальше произвольно смещаем деталь относительно своего начального положения. После этого нужно посчитать расстояние от начального положения точки на поверхности до смещенного положения.

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

Как можно еще зафиксировать точки? и какая функция отвечает за определение расстояния до смещенной точки?

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

Я не правильно понял свою задачу. Нужно открыть деталь ( пример параллелепипед ). На нем выбираем поверхность и на ней строим точки. Дальше произвольно смещаем деталь относительно своего начального положения. После этого нужно посчитать расстояние от начального положения точки на поверхности до смещенного положения.

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

Как можно еще зафиксировать точки? и какая функция отвечает за определение расстояния до смещенной точки?

Все есть

см UF_VEC, UF_MTX

обрати внимание на сложение и вычитание векторов, умножение их на число, векторное и скалярное

прозведение, произведение матрицы на вектор

Этого более чем достаточно для решения любой геометрической задачи

Для Твоей - расстояние от точки до плоскости

почитай о двойном векторном произведении

Из него легко выводится решение Твоей задачи

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

Фухх...уже 2 дня долблюсь и ничего не выходит :wallbash:

Осталось 7 дней до сдачи, а я не бум бум.

Открываю деталь, выбираю поверхность. Дальше идут проблемы с построением точек на выбранной поверхности. Они строятся без привязки к ней.

Решил при выборе поверхности строить независимый скетч параллельный этой поверхности, и строить на этом скетче точки. Возникли проблемы с построением скетча.

использовал функцию:

char name[ 30 ] = "SKETCH_01";

int option = 2; //строим независимый скетч 2: Specify sketch CSYS

double matrix[ 9 ] = {0}; //??

tag_t object[ 2 ] = {0,0};

int reference[ 2 ] = {1,1};

int plane_dir = 1;

tag_t sketch_id;

UF_SKET_create_sketch (name, option, matrix, object, reference, plane_dir, &sketch_id );

непонятен принцип заполнения параметра matrix. в руководстве идет отсылка на

[0-5]: X-AXIS and Y-AXIS of matrix

[6-8]: Origin of CSYS

но как их вытащить из выбранной поверхности ума не приложу.

также непонятен смысл переменной plane_dir.

должно получиться что то вроде этого:

post-21686-1255714902_thumb.jpg

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

double matrix[ 9 ] = {0}; //??

Это матрица. Для работы с матрицами и векторами есть спец. хидеры. (см. ниже UF_VEC, UF_MTX)

Есть вариант 1:

1. Строим точку

extern int UF_CURVE_create_point (double point_coords[ 3 ], tag_t * point );

2. Создаем фичер точка

extern int UF_MODL_create_points_feature ( int num_points, tag_t * points, tag_t * feature_tag );

Вариант 2:

extern int UF_SO_create_point_on_surface ( const tag_t object_in_part, const UF_SO_update_option_t update_option, const tag_t face, const tag_t u, const tag_t v, tag_p_t point );

Тут надо разбираться. Почитай в хелпаке. Там кое-что написано.

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • Viktor2004
      смена инструмента это по сути две процедуры. Первая это поиск инструмента. Выполняется по команде Tx Вторая это смена инструмента. Выполняется по команде M6 Если в программе в разных строчках пишутся эти команды, там все нормально Но принято их писать в одной строке. Тогда обе они будут выполняться одновременно. Но одновременно их выполнять нельзя. Сначала магазин должен найти инструмент и только потом его менять Для этого команда М6 обычно вызывает программу O9001 и уже в этой программе организуют ожидание завершения поиска инструмента. Контролируют это через макропеременные #1000 или #1001 или им подобные. Именно этот цикл ожидания я не вижу в программе автора вопроса. Что бы этот цикл ожидания крутился сам в себе и вышел из него когда макропеременная приняла нужное значение
    • maxx2000
      @Viktor2004 а разве сменщик это не отдельная  (пусть и виртуальная) ось и станок ждёт пока закончится движение? Может быть тупо ждёт пока придёт определенное число импульсов с датчика. Типа  каждый раз уменьшает счётчик на 1 и ждёт пока не получится нужное число? Ну и как бы может быть тупо задано время смены инструмента? Тогда и переходит к следующей строке.
    • Viktor2004
      я не могу понять в какой команде станок ожидает пока магазин найдет нужный инструмент
    • A_1
      В одной строке. T1 M6 Сейчас не могу сказать.
    • Viktor2004
      данная программа вызывается командой где М6 и Тх пишутся в одной строке или обязательно в в разных? это что за команды?
    • A_1
      Тогда он всегда будет перемещаться по X, Y. Мне нужно, чтобы это движение было только при смене на новый инструмент, но не на "текущий".
    • Viktor2004
      Производитель станка криво написал программу смены Одно то что N200 стоит выше чем N100 об этом говорит Вставьте перед M28 вот это   G30X0Y0  и в параметре 1241 пишите координаты X Y куда хотите что бы оси выходили Только значение для Z там не трогайте
    • ANDY159
      1. Уменьшаем зерно. 2. Увеличиваем предел прочности. 3. Увеличиваем относительное удлинение. 4. Увеличиваем ударную вязкость при -70 град. 5. Увеличиваем длительную жаропрочность. 6. Увеличиваем коррозионную стойкость. 7. Уменьшаем ТКЧ. 8. УБИРАЕМ БРАК.   Кому нужен качественный металл -  обращайтесь  svm-perm@mail.ru
    • A_1
      Да, есть опасность столкновения с высокой заготовкой - приспособлением. В программе смены инструмента два варианта её выполнения, и предполагаю, что это связано с проверкой того, что в шпинделе может находиться вызываемый инструмент. Почему всегда выполняется переход на кадр N200?
    • gudstartup
      а в чем опасность если ось Z в метре над столом меняет что там рука чего заденет? а так запишите в пар 1241 желаемые координаты и перемещайтесь туда после Z
×
×
  • Создать...