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

Расширение поверхности.


lDeliriuml

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

Добрый день. Меня интересует вот такой вопрос.

Я используя DLL строю сплайны сечения лопатки и сплайны по набору точек, взятых из файла.

После соединяю их мостиками. Затем натягиваю поверхность по полученным сплайнам.

При необходимости расширить(удлинить) поверхность программно на одной из отрезков NX выдает ошибку.

Если удлинять ручками в NX, то все прекрасно получается, программно же нет.

На другой лопатке никаких ошибок не выдает.

В чем может быть причина данной ошибки?

Заранее спасибо.

post-46672-0-05124200-1430210298_thumb.jpg

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


Если ручками без проблем, то где-то в программе косяк, значит. Я не помогу, но для сведущих неплохо будет увидеть и модель, и DLL для адекватного анализа.

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

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

Вот код DLL.

Есть массив с тегами сплайнов.
Тут я строю по этим тегам поверхность:

int create_surface2(int NumberListTags, tag_t *curves, tag_t *ResultSurface)
{
UF_STRING_t prim;
prim.num = NumberListTags
prim.string = new int[NumberListTags];
prim.dir = new int[NumberListTags];
prim.id = new tag_t[NumberListTags];
for(int i=0; i<NumberListTags; i++)
{
prim.string = 1;
prim.dir = UF_MODL_CURVE_START_FROM_BEGIN;
//prim.dir = UF_MODL_CURVE_START_FROM_END;
prim.id = curves
}
UF_STRING_t spine;
spine.num = 0;
spine.id = NULL;
spine.dir = 0;
spine.string = NULL;
int patch;
//patch = 1; //Single (Bezier) 
patch = 2; //Multiple (B-spline)
int alignment;
alignment = 1; //parameter 
//alignment = 2; //arc length
//alignment = 3; //distance
//alignment = 4; //angles
//alignment = 5; //spine curves
//alignment = 6; //spline Points
int vdegree;
vdegree = 2;
int vstatus;
vstatus = 0;
int body_type;
//body_type = 0; //sheet
body_type = 1; //solid
UF_FEATURE_SIGN sign;
sign = UF_NULLSIGN; //create new target solid
//sign = UF_POSITIVE; //add to target solid
//sign = UF_NEGATIVE; //subtract from target solid 
//sign = UF_UNSIGNED; //intersect with target solid
double tolerances[3];
tolerances[0] = 0.001;
tolerances[1] = 0.3;
tolerances[2] = 0.0;
tag_t c_face_id [2];
c_face_id[0] = NULL;
c_face_id[1] = NULL;
int c_flag [2] ;
c_flag [0] = 0;
c_flag [1] = 0;
tag_t surface;
UF_MODL_create_thru_curves(&prim, &spine, &patch, &alignment, NULL, &vdegree, &vstatus, &body_type, sign, tolerances,c_face_id ,c_flag , &surface);
*ResultSurface = surface;
delete[] prim.string;
delete[] prim.dir;
delete[] prim.id;
return 0;
}

 

Затем удлиняю данную поверхность:

int enlarge_face2(tag_t body,tag_t *out_body)
{
int count = 0;
tag_t out_face;
tag_t obj_enlarge_face;
uf_list_t* face_list;
UF_MODL_create_list(&face_list);
UF_MODL_ask_body_faces(body, &face_list);
UF_MODL_ask_list_count(face_list, &count);
int type;
//type = 0; //linear extension
type = 1; //natural extension
char *percent_size[4];
 
percent_size[0] = "0"; //is the percent for U-min 
percent_size[1] = "0"; //is the percent for U-max 
percent_size[2]= "60"; //is the percent for V-min 
percent_size[3]= "0"; //is the percent for V-max
 
double tolerance;
tolerance = 0.001;
UF_MODL_create_enlarge(face_list->eid, type, percent_size,  tolerance, &out_face);
UF_MODL_ask_feat_body(out_face, &obj_enlarge_face);
*out_body = obj_enlarge_face;
UF_MODL_delete_list(&face_list);
return 0;
}
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Shura762
      Вопрос из разряда "Достало" как сделать в Словаре ширину колонок больше ПОСТОЯННОЙ! уже устал двигать каждый раз. Это первый вопрос. Второй - при "Сброс настроек.." Словарь принимает вид из поставки, где кроются файлы для восстановления, хочу заменить и забыть. Спасибо заранее. И еще вдогонку, при редактировании содержимого Словаря или создания нового используется Шрифт "старый" как изменить на "новый" который в ТФ по умолчанию.
    • Maik812
      Хочешь не хочешь а сортировать по содержимому и искать в нем текст приходится..  Есть правильные конвертеры просто. Но вот бывает что не та кодировка или не так правильно она оформлена и не понимает. Сверху абракадабра в слове "формат" Солид 2010 кажется, а ниже пересохранен в новее версии или наоборот.. Там конвертер x2doc , он "на лету" переводит пдф в текстовик и регулярным выражением вытаскивает "содержимое" в колонку . Поиск текста в пдф тоже так же делается. А содержимое колонки ТС, можно уже одним кликом по команде в EXEL вставить.
    • MagicNight
      Добрый день! Купили фрезерный станок с ЧПУ со стойкой FANUC Series 0i-Model F Plus. Имею не большой опыт данной стойки. Привязали десять инструментов относительно стола станка (т.е стол станка Z=0) Сейчас принесли приспособление которое имеет высоту 50мм. Хотим привязать весь инструмент от приспособления. Подскажите, как это сделать быстро, чтобы не вносить изменения в корректор на каждый инструмент. Пролистал книги в электронном варианте, бегло, не нашел. А уже нужно делать заказ.
    • kkk
      Стрелки разрезов иногда "пробивают" линии разрезов, что-то еще бывает. Но это мелочи, у нас нормоконтроля нет. А вот когда закрашенные виды начинают жестко чудить, с пропаданием или перемешиванием текстур, тогда уже неприятно. Либо еще какие-глюки вылезают оформительские. Нам часто приходится дизайнерам на одобрение файлы засылать, а такие штуки несколько нервируют.
    • ID_Hacker
      Более того, у него в SET PG/PC в диагностике нельзя посмотреть доступные адреса на шине. Но для общих задач подходит. Так же мы их комуникационные интерфейсы MPI/ETHERNET берём, что бы подключать станки на Sinumerik Powerline к заводской сети для сбора данных диспетчеризации и удалённого подключения Step 7.     Здесь ищите: Александр Кудинов, Пряничников Алексей. Номера давать некультурно.     ТИА у вас просит ToolBox 18 Update 1 потому что сама ТИА 18 версии. Проект то такой версии и был? Или вы конвертировали при открытии? Файл проекта ТИА имеет расширение *.ap13, *.ap14, *.ap16, *.ap18 в зависимости от версии ТИА в которой он создан.   И ещё вариант поиска. У вас же на станке наверняка стоит Simatic IPC компьютер и TCU на пульту управления. Вы пробовали выходить на Simatic IPC в Windows и смотреть что на нём есть? Вполне может быть там установлена TIA с нужными дополнениями.
    • Guhl
      Помню из командировки в Африку вез КМки и позолоченные микрухи в баночке через Москву. На пароходе, который мы ремонтировали, старую советскую корабельную радиостанцию в лом сдали. Время было, поэтому повыкусывали. Так таможенник меня мучал минут 30. Говорит, это лом драгметалла, а я ему, что это радиодетали и маркировка на них имеется. А он стоит на своём и толдонит одно и то же. В конце концов, я ему сказал, что я ему их не оставлю и буду до конца утверждать, что это мои запчасти, хоть некоторые из них уже и не припаяешь. Отдал, зараза. А с Америки б/у оборудование несложно вывозить, насколько я понял, так как моему знакомому даже в Крым оттуда посылки доходят с б/у железками. Б/у не очень интересует их таможню. Американцам заплатить сложно, но сейчас это могут сделать так называемые "байеры". Более того на посылках со шмотками амеры вообще пишут адрес "......, Crimea, Russia" 
    • Ahito
      Невозможно проставить центра окружностей в чертежах Солида 22 и не цепляются размеры к данным окружностям. К примеру: на чертеже съемной крыши электропомещения необходимо просверлить 184 отв., из них только к 15% отверстий ставятся размеры и центра. Чтобы правильно образмерить отв., потребовалось около 3 часов. Вместо 5 мин максимум в Солиде 15.
    • davidovka
      не пользовался, проверил, creo 11 - не работает (:
    • HornedOwl
      Всем привет! Помогите найти книгу: РТМ по расчету и конструирования технологической оснастки для экструзии профильных изделий из термопластов / НПО Пластик - 1983. - 382 с.
    • Fedor
      https://metallurgicheskiy.academic.ru/2247/гипотеза_сплошности     Отказавшись от continuity  мы отказываемся и от  аппарата дифференциального и интегрального исчислений то есть от механики ... :)
×
×
  • Создать...