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

Доступ к топологии


Closius

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

Здравствуйте!

 

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

 

С точки зрения математики и программирования это сделать легко. Интересует может быть такой инструмент есть в NX уже?

 

 

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


Принцип параметрического моделирования не предусматривает такого выбора - это не АКАД и не КОМПАС. А вот если скажешь для чего, может и получится что подсказать. Или нет.

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

Принцип параметрического моделирования не предусматривает такого выбора - это не АКАД и не КОМПАС. А вот если скажешь для чего, может и получится что подсказать. Или нет.

 

Понимаю. Нужно для CAE. Для разбиения сетки, для приложения граничных условий и т.п. Штука полезная и нужная, в ANSYS реализуется легко как в APDL так и в Воркбенчь.

 

Я бы сам ее написал, но грипом и NX Open практически не владею...

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

Можно сделать. В NXOPEN.

Но если постановка задачи будет такой же, как и вопрос в старте темы - тебе вряд ли помогут. Ребро твердого тела может лежать в какой-то плоскости (дуга окружности), может не лежать ни в одной плоскости (сплайн), а может лежать в бесчисленном числе плоскостей, если это отрезок прямой..

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

Можно сделать. В NXOPEN.

Но если постановка задачи будет такой же, как и вопрос в старте темы - тебе вряд ли помогут. Ребро твердого тела может лежать в какой-то плоскости (дуга окружности), может не лежать ни в одной плоскости (сплайн), а может лежать в бесчисленном числе плоскостей, если это отрезок прямой..

 

Это был вопрос для примера. На самом деле могут быть очень разные случаи. В основном обходятся проверкой кривой на длину, поверхностей на площадь и солидов на объем.  А так можно еще много чего придумать. Проверка по одинаковым моментам инерции и т.п. Это очень хорошо реализовано в ANSYS, кстати у которого ядро парасолид.

 

Еще я пытался написать процедуру, которая определяет в каком объеме (теле) находится точка с известными координатами. Эту задачу еще никто не решил (без разбиения тела на конечные элементы)..

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

 

Еще я пытался написать процедуру, которая определяет в каком объеме (теле) находится точка с известными координатами. Эту задачу еще никто не решил (без разбиения тела на конечные элементы)..

А вот эта задача штатно решена в NXOPEN. Есть функция, которая для любой точки возвращает признак, лежит ли точка в объеме, вне объема, на границе. Не изобретай велосипед.

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

 

 

Еще я пытался написать процедуру, которая определяет в каком объеме (теле) находится точка с известными координатами. Эту задачу еще никто не решил (без разбиения тела на конечные элементы)..

А вот эта задача штатно решена в NXOPEN. Есть функция, которая для любой точки возвращает признак, лежит ли точка в объеме, вне объема, на границе. Не изобретай велосипед.

 

 

В ансис такой фнкции нет. Про NX я ниче не гоорил. И скажите тогда каким алгоритмом она решена? Тут даже обсуждение велось в ветке CAE как ее решить, так и не придумали.

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

Алгоритм мне неизвестен. Я пользуюсь этой функцией как потребитель - укахываю тело и координаты точки и получаю три варианта ответа - внутри, снаружи, на поверхности. 

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

Алгоритм мне неизвестен. Я пользуюсь этой функцией как потребитель - укахываю тело и координаты точки и получаю три варианта ответа - внутри, снаружи, на поверхности. 

 

Круто круто... узнать бы алгоритм

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

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


 

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

 

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

 

 

 

об этом я говорил. Объем заполняется конечными элементами и уже по ним смотрится принадлежность. Но сделать это на лету очень труднозатратно.. поэтому при таком варианте такой алгоритм будет иметь довольно большое время выполнения.

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

можно попроще алгоритм. Точке придается самый малый объем, вычитается у нужного тела: результат есть - внутри, не получается - снаружи. Ругается же, если попробовать вычесть без пересечения. А если вместо вычитания пересечение сделать, можно и "на границе" узнать. Т.е. алгоритм не геометрический, а булевый.

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

можно попроще алгоритм. Точке придается самый малый объем, вычитается у нужного тела: результат есть - внутри, не получается - снаружи. Ругается же, если попробовать вычесть без пересечения. А если вместо вычитания пересечение сделать, можно и "на границе" узнать. Т.е. алгоритм не геометрический, а булевый.

 

Интересный вариант!

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

Попробуй. Для одной точки прокатит, если точек больше сотни, а тело чуть сложнее кубика - заткнется. Функция Api работает быстрее, точнее, не зависит от числа точек.

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

А вот эта задача штатно решена в NXOPEN. Есть функция, которая для любой точки возвращает признак, лежит ли точка в объеме, вне объема, на границе. Не изобретай велосипед.

 

А название функции не подскажите? Когда-то нужно было что-то подобное, не нашёл.

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

Обнаружил тут одну вещь: Создать группу ребер/граней/точек твердого тела (и полигонального тела в модуле FEM) нельзя.

 

Это действительно так, или я просто не умею?

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

Обнаружил тут одну вещь: Создать группу ребер/граней/точек твердого тела (и полигонального тела в модуле FEM) нельзя.

 

Это действительно так, или я просто не умею?

Вы про FEM или про NXOpen вообще?

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

 

Обнаружил тут одну вещь: Создать группу ребер/граней/точек твердого тела (и полигонального тела в модуле FEM) нельзя.

 

Это действительно так, или я просто не умею?

Вы про FEM или про NXOpen вообще?

 

 

Я про FEM и про CAD. На счет средств NXOpen не могу сказать, возможно там что-то можно сделать, хотя сомнительно, если только в модуле FEM, так как в нем тела преобразуются в полигональную модель, а это наверно можно расценивать как набор объектов.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • realasd
      Здравствуйте. Нужен документ LR34-040-R2 " osp-p3000s/p300l руководство к обслуживанию". Поможете?  
    • Chuvak
      @nahaus Ок, сейчас проверю у себя  У Вас не объявлены переменные  fullPathFile и nameFileExtension Переменная  sheetProperties вообще лишняя, не используется, а тип данных имеет самый жористый)
    • clavr
      у вас для 3 и 4 мм указаны
    • nahaus
      Выскакивает ошибка  Она же выскакивает и без параметра в скобках.
    • Chuvak
      @nahaus  Потому что метод GetProperties2 возвращает массив свойств листа, состоящий из 8 переменных типа double: [ paperSize, templateIn, scale1, scale2, firstAngle, width, height, sameCustomProp ] Вам какие именно переменные из данного массива нужны:  paperSize, width или height ? Или все сразу. Тогда переделайте строку:   swApp.SendMsgToUser2 swSheet.GetProperties2, swMbWarning, swMbOk   на swApp.SendMsgToUser2 swSheet.GetProperties2(0), swMbWarning, swMbOk или   swApp.SendMsgToUser2 swSheet.GetProperties2(5), swMbWarning, swMbOk дальше примеры приводить не  буду, думаю поняли логику
    • hlibhlib
      Он на Гоблинском в Исходнике.
    • Kelny
      Модельку забыли положить.   И не указали версию программы и сервиспака.
    • nahaus
      Подскажите пожалуйста как получить размеры листа с помощью метода GetProperties2? Пытаюсь получить сообщение. Что не так в строке swApp.SendMsgToUser2 swSheet.GetProperties2, swMbWarning, swMbOk Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim lErrors As Long Dim lWarnings As Long Dim swSheet As SldWorks.Sheet Dim swDrawing As SldWorks.DrawingDoc Dim sheetProperties As Variant Sub main() Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc fullPathFile = swModel.GetPathName ' swApp.SendMsgToUser2 fullPathFile, swMbWarning, swMbOk nameFileExtension = Mid(swModel.GetPathName, InStrRev(swModel.GetPathName, "\") + 1) ' swApp.SendMsgToUser2 nameFileExtension, swMbWarning, swMbOk nameFileWithoutExtension = Left(nameFileExtension, InStrRev(nameFileExtension, ".") - 1) ' swApp.SendMsgToUser2 nameFileWithoutExtension, swMbWarning, swMbOk Set swSheet = swModel.GetCurrentSheet ' swApp.SendMsgToUser2 swSheet.GetName, swMbWarning, swMbOk swApp.SendMsgToUser2 swSheet.GetProperties2, swMbWarning, swMbOk End Sub  
    • mannul
      Да, важна координата X. Если резьба с допуском, 6H допустим, лучше брать d1 из ГОСТа или просто из наружного диаметра резьбы вычесть две глубины, так меньше шанс провалить. А уже потом уменьшать X по 0,05 мм.
    • mannul
      Потому что расчетная глубина резьбы не учитывает радиус скругления на резьбовой пластине. Поэтому на практике всегда глубже нужно делать резьбу, подгонять.
×
×
  • Создать...