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

Какую программу использовать для создания геометрической модели


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

Есть программа в которой надо задавать геометрическую модель с помощью координат записывая их в текстовый файл. Программа называется TERM. Программа служит для расчёта коэффициентов взаимооблучённости между элементами космического аппарата, лучистого теплобмена, теплопроводности, тепловых потоков попадающих на аппарат от солнца и планет.

Хотелось бы создать геометрическую модель в программе наподобие solidworks. Затем сохранить координаты в текстовом файле и дальше счетать в в программе TERM.

Хотя если вы считаете, что есть более удобная программ, то скажите. Желательно, чтобы программа чертила в 3d. Можно было бы определять пересекаются ли объекты, потому что в программе TERM при расчётах получается ошибка, если есть пересечение.

Программе TERM достаточно простых объектов. Цилиндр, конус, параллепипед, сфера. В программе TERM они задаются геометрическими характеристиками (радиус, длина, ширина, высота и т.д.), смещением относительно оси координат, поворотом относительно осей координат. Потом ещё дополгительные характеристики материала и поверхностей объектов.

Т.е. как вижу решение задачи. Создать геометрическую модель в solidworkse или какой-нибудь другой. Сохранить геометрические характеристики объектов их смещение и поворот в текстовом файле в формате текстового файла моей программы TERM. И всё. Может можно использовать VisualBasic?

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


Сохранить геометрические характеристики объектов их смещение и поворот

<{POST_SNAPBACK}>

Для каких целей геометрическая модель?

Координаты чего надо сохранять?

Элементы эскизов? Простейших геометрических тел- цилиндров, сфер и пр.?

Что делает программа TERM?

Много вопросов остается.

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

1. Что делает программа TERM?

Расчёт коэффициентов взамооблучённости элементов космического аппарата. В космосе вакуум и тепло передаётся только лучстым теплообменом. Поверхности аппарата лучат друг на друга и в космос. Какова доля попадания теплового потока на поверхность определяется коэффициентом взамооблучённости. Далее расчитывается тепловой поток от солнца, собственное излучение планеты и отраженного солнечного излучения от планеты. Далее расчитывается теплообмен теплопроводностью между контактирующими элементами аппарата. Теплообмен теплопроводностью расчитывается с помощью метода узлов.

В принципе программа умеет отображать визуально геометрию, но всё равно не удобно. Всё равно приходится задавать координаты, а не чертить. Кроме того не видно пересечения объектов, а это не допустимо. Элементы простые. Так что самый лучший вариант это сразу в программе создавать эти простые элементы и расставлять их по местам. Затем сохранять геометрические характеристики элементов (радиусы, длины, высоты и т.д), смещение и повороты относительно осей координат.

2. Элементы эскизов? Простейших геометрических тел- цилиндров, сфер и пр.?

Именно простейшие геометрические тела.

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

Например:

Геометрическая модель для программы TERM.

* Толстостенный диск (толщина 0.3м) 

* Всего 14 поверхностей, нумерция: 1-верхнее днище (лежит в плоскости Z=0, нормаль по +Z),

* 2- нижнее днище (лежит в пл. Z=-0.3 м, нормаль по -Z), 3-14 торцевые поверхности, их нумерация 

* начинается от оси Х против часовой стрелки.

*====================

MODEL Диск

  FRAGMENT 01

	NODE 01

	  CAPACITY 1000

	  TEMPERATURE 293

	  WDISK 1 12 1 0.3 0		{радиус = 1 высота = 0.3 кол-во разбиений = 12} 

	  ABSORBTION				 {дополнительные характеристики поверхностей}

	  1 1 1 1 1 1 1 1 1 1		  

	  1 1 1 1 

	  EMISSION

	  1 1 1 1 1 1 1 1 1 1 

	  1 1 1 1 

	  RESIST

	  0 0 0 0 0 0 0 0 0 0 

	  0 0 0 0 

	END NODE 01

  END FRAGMENT 01

END MODEL Диск

MOVE MODEL 0 0 0 0 0 0

Изображение

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

Тогда наверное, в этом поможет любой 3d САД из которого с помощью программы с использованием API можно извлечь примитивы и их требуемые свойства.

Навскидку - SolidWorks, SolidEdge, Inventor, AutoCAD и др. , тяжеловесы все.

Где это проще и удобнне сделать.

Придется (скорее всего) немного попрограммировать. И возможно на VB.

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

В SolidWorks есть VBA.

Как лучше сделать. Сразу создавать примитивные 3d объекты. Потом их расставлять по нужным местам. Т.е., допустим, будет окно, "создать цилиндр". В нём я указываю радиус, толщину и созаётся цилиндр. Потом уже с помощью мышки я помещяю его в нужное место и разворачиваю под нужным углом. Или может можно как-то иначе? Как бы сделать поудобнее. Чтобы быстро модель создавалась.

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

если нужно расчитывать взаимовлияние поверхностей аппарата, то нужно создвать ПОВЕРХНОСТИ АППАРАТА. Не цилиндры и конусы, а реальные поверхности. Возможно не все, а только те, влияние которых просчитывается.

В современных CAD-системах это не так уж трудно. Естественно, нужно этому обучиться.

Когда необходимые поверхности будут построены, с них можно получить ЛЮБУЮ информацию. И координаты дискретных точек, и направление нормалей к поверхности в этих точках.

Какую программу выбрать - это вопрос религиозно-философский...

Pro/ENGINEER

CATIA

UNIGRAPHICS

SolidWorks

да хоть Rhinoceros

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

Не совсем религиозное, Райна, имхо не прокатит - нужен фичерсный моделлер. Кстати, можно попробовать сделать транслятор из ASIC файлов. Там тоже, вроде бы по примитивам модель бьется. Да и в Parasolid, тоже, но там дюже закриптовано... О, STEP! Хорошо документирован и точно пишет фичерсами.

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

нафига (пардон) фичерсы?

Если нужна голая поверхность, то не всё-ли равно чем она сделана (фичерсами или пальцами)? А в Носороге те же полноправные НУРБСы. Подобные задачи я решал и в Кадкее.

А уж для передачи координат точек вообще ничего придумывать не надо - любой штатный транслятор хоть в IGES, хоть в DXF, хоть в DWG...

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

Можно ли сделать так, чтобы и расчёт шёл в SolidWorks. Т.е. если все параметры поверхностей доступны, то зная метод расчёта, запрограммировать на VBA и всё.

GOLF_stream

И координаты дискретных точек, и направление нормалей к поверхности в этих точках.

Что тут имеется в виду? Если мне надо разбить поверхность на элементарные площадки то это уже есть. Так?

Кстати, если есть возможность обойтись без программы TERM. то я не против. Т.е. может расчёт коэффициента взаимооблучённости тел есть в других программах. ANSYS и т.д.

На счёт метода узлов для расчёта температур при теплообмене теплопроводностью. В программе TERM кроме него возможно появится метод конечных элементов. Мне сказали, что он нужен для расчёта поля температур. Может им лучше пользоваться. Или же эти методы разные задачи решают. Этот момент мне не понятен.

И большая просьба пишите попонятнее. Если можно отредактируйте свои ответы. Запишите названия правильно.

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

"... и если мои слова не ясны,

в этом мало моей вины..."

БГ

Очём шла речь изначально:

"Хотелось бы создать геометрическую модель в программе наподобие solidworks. Затем сохранить координаты в текстовом файле и дальше счетать в в программе TERM." (орфография автора сохранена)

Под координатами обычно понимаются абсцисса, ордината и аппликата - т.е. ТРИ числа, характеризующие положение ТОЧКИ в пространстве относительно заданной системы координат. Этого достаточно для задания отдельных точек, но для описания поверхности маловато. Если поверхность задаётся по дискретным точкам, то желательно ещё знать направление вектора нормали к этой поверхности в каждой точке. Особенно это существенно при расчёте взаимовлияний поверхностей, как мне кажется.

Разбиение поверхности на элементарные площадки уже напоминает метод конечных элементов. Это несколько иной способ представления поверхности. Соответственно, иной метод расчётов.

Поэтому просьбу писать понятнее я возвращаю автору.

Чтобы получить корректный ответ, нужно прежде всего корректно поставить задачу.

Вы спрашиваете в чём ЛУЧШЕ СЧИТАТЬ. На этот вопрос можно ответить только СРАВНИВ расчётные программы. Если с Солидовскими расчётами кто-то и сталкивался (не я), то о программе TERM мало кто слышал вообще. Как можно говорить какая из них лучше, не зная хотя бы одну из них?

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

Хорошо, я понял, в чём моя ошибка.

Что надо сохранить:

На объекте надо выбрать базовую точку. Т.е. координаты этой точки. Они определят смещение объекта относительно системы координат. Далее надо вытащить геометрические характеристики объекта. Т.е., допустим, конус. Это два радиуса и высота. Их тоже сохранить в текстовом файле.

Теперь про понятнее. Я имел ввиду написание названий. Допустим НУРБСы, (фичерсами или пальцами). Что-то из этих слов видимо должно быть написано английскими буквами. И слово пальцами мне ни о чём не сказало.

На счёт в чём ЛУЧШЕ СЧИТАТЬ. Мне не нужно это знать. Мне просто хотелось бы знать считают ли коэффициенты взаимооблучённости поверхностей другие программы.

Выскажу предположение. В вашей терминологии "взаимовлияние поверхностей аппарата" и "коэффициенты взаимооблучённости" что-то похожее. Спрашиваю, потому что хотелось бы знать терминологию, чтобы найти то, что мне надо.

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

я вижу некоторые дополнительные проблемы.

Если TERM оперирует только телами простейшей формы (конус, щилиндр, параллелепипед, сфера), возможно в него заложен алгоритм расчёта поверхностей ТОЛЬКО этих тел. Поэтому возможно, что геометрию нетривиального тела программа просто не сможет обсчитать. Это всего лишь предположение, но стоит его проверить.

Создать конусы и цилиндры и подвинуть их в нужное место можно практически в любой программе.

НУРБС - это ленивое название NURBS (Non-Uniform Racional B-Splane), коротко говоря, "поверхности свободной формы". "Создать фичерсами" - создать при помощи стандартных операций (терминология ПроЕнжинера). "Создать пальцами" - создать поврехность, произвольно перемещая её контрольные точки мышкой (моя терминология).

Про расчёты ничего путного сказать не могу - не занимался ими.

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

Как это зачем фичерсы?

А это что такое?

Явно параметрами описан диск -

MODEL Диск

FRAGMENT 01

NODE 01

CAPACITY 1000

TEMPERATURE 293

WDISK 1 12 1 0.3 0 {радиус = 1 высота = 0.3 кол-во разбиений = 12}

Про то, что в TERM можно описывать НАРБСы не сказано.

Замечание:

NURBS (нарбс, нурбс) моделирование - описание тела как оболочки, образованной совокупностью обрезанных лоскутов поверхностей.

Фичерсное (feature) моделирование - описание тела как совокупности примитивов (тел вращение, протягивания и т.п.).

А вообще, если задача успешно считается коммерчесими пакетами, то, имхо, как правило целесообразнее делать в них. Допрограммировать то, что надо, благо они это обычно позволяют и вперед.

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

GOLF_stream, мне не нужна геометрия нетривиального тела. Достаточно тел простейшей формы.

Мне, как минимум, нужно получить вот такую строку:

WDISK 1 12 1 0.3 0 {радиус = 1 высота = 0.3 кол-во разбиений = 12}

Плюс к этому желательно делать обозначения на поверхностях, которые в программе TERM будут записаны, как свойства поверхностей. Т.е., допустим, на кубе, на одной из поверхностей сделать обозначение "0", будет обозначать, что поверхность не отражает или просто расчёт по этой поверхности не вести. А "1" наоборот. Это было бы удобнее ещё и тем, что можно задавать цвета. И это будет наглядно. Особенно для начальника.

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

Итого рецепт:

//читайте справку по SolidWorks API//.

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

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

О, STEP! Хорошо документирован и точно пишет фичерсами.

<{POST_SNAPBACK}>

Можно подробнее? Это программа? Можно ли в SolidWorksе сохранять в таком формате.
Ссылка на сообщение
Поделиться на других сайтах

Это формат данных. В него пишут все CAD системы. Ссылки на стандарты давались, поищите по форуму.

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

думаю, что исходную задачу следует разделить на две:

1 - СОЗДАНИЕ ГЕОМЕТРИИ объекта средствами CAD-системы. Тут всё просто - простейшие тела можно создать и сгруппировать в любой программулине.

2 - ПЕРЕДАЧА ДАННЫХ в программу TERM. Вот тут немного сложнее. Существуют стандартные нейтральные (текстовые) форматы для передачи данных: DXF, IGES, STEP и проч. Это текстовые файлы, содержащие описание геометрии. В Вашем случае описание геометрии должно иметь совершенно определённый синтаксис. Думаю, что это можно решить написанием некоторого транслятора, который считывает данные из одного текстового файла и преобразует в другой - в таком виде, в каком требуется.

Думаю, это под силу "придворным" программистам, если их ещё не разогнали...

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

В Вашем случае описание геометрии должно иметь совершенно определённый синтаксис. Думаю, что это можно решить написанием некоторого транслятора, который считывает данные из одного текстового файла и преобразует в другой - в таком виде, в каком требуется.

Маленький ремарка - трансляцией это можно решить в том случае, если в файл инфа записана в виде фичерсов, а не НАРБС. Мне кааца (смутно), что так пишутся файлы форматов ASIC, STEP, Parasolid. Надо взять, да посохранять чтоли, из разных пакетов в разных форматах, глядишь проясниться картина.... дома попробую.

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...