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

Координаты узлов после деформации


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

Ищу координаты четырех узлов балки после деформации в Workbench c помощью вставки в ветку Solution в дереве проекта команд APDL.

Идея такая: 'коорд до деф' + 'перемещение' = 'коорд после деф'. Команды APDl для прямого определения 'коорд после деф' не знаю. А вообще есть ли такая в языке APDL?
Код следующий:

 

! получение координат узлов на недеформ. модели

*get, X398_1, node, 398, loc, X
*get, Y398_1, node, 398, loc, Y
*get, Z398_1, node, 398, loc, Z


*get, X439_1, node, 439, loc, X
*get, Y439_1, node, 439, loc, Y
*get, Z439_1, node, 439, loc, Z


*get, X521_1, node, 521, loc, X
*get, Y521_1, node, 521, loc, Y
*get, Z521_1, node, 521, loc, Z


*get, X602_1, node, 602, loc, X
*get, Y602_1, node, 602, loc, Y
*get, Z602_1, node, 602, loc, Z


! получение смещений узлов

*get, UX398, node, 398, U, X
*get, UY398, node, 398, U, Y
*get, UZ398, node, 398, U, Z

*get, UX439, node, 439, U, X
*get, UY439, node, 439, U, Y
*get, UZ439, node, 439, U, Z

*get, UX521, node, 521, U, X
*get, UY521, node, 521, U, Y
*get, UZ521, node, 521, U, Z

*get, UX602, node, 602, U, X
*get, UY602, node, 602, U, Y
*get, UZ602, node, 602, U, Z

 

! получение координат узлов на деформ. модели

X398_2=X398_1+UX398
Y398_2=Y398_1+UY398
Z398_2=Z398_1+UZ398

X439_2=X439_1+UX439
Y439_2=Y439_1+UY439
Z439_2=Z439_1+UZ439

X521_2=X521_1+UX521
Y521_2=Y521_1+UY521
Z521_2=Z521_1+UZ521

X602_2=X602_1+UX602
Y602_2=Y602_1+UY602
Z602_2=Z602_1+UZ602


!*****

! Открываем файл coordinates_1.txt

*cfopen,d:\ANSYS_folder\APDL\coordinates_1,txt,,

! Записываем в файл ...

*vwrite,X398_1,Y398_1,Z398_1, X439_1,Y439_1,Z439_1, X521_1,Y521_1,Z521_1, X602_1,Y602_1,Z602_1
(F11.7)

*vwrite,UX398,UY398,UZ398, UX439,UY439,UZ439, UX521,UY521,UZ521, UX602,UY602,UZ602,
(F11.7)

*vwrite,X398_2,Y398_2,Z398_2, X439_2,Y439_2,Z439_2, X521_2,Y521_2,Z521_2, X602_2,Y602_2,Z602_2
(F11.7)

*cfclos

! Закрываем файл

!*****

 

В итоге в файле coordinates_1.txt (который создан Workbench-ем) получается: 

 

  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000
  0.0000000

 

При этом, представленный код без проблем работает в MAPDL, файл coordinates_1.txt (который создан MAPDL-ем) содержит правильные цифры, а не нули.
Может кто-то знает в чем причина этих нулей? Где я ошибся, что делаю не так? И как нужно сделать, чтобы было правильно?

 

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


Попробовал использовать UPCOORD (и еще сразу NLIST, чтобы смотреть не все узлы модели, а выборочные) в Workbench и в MAPDL. В MAPDL работает без проблем. И после того, как я изменил нагрузку и запустил решение еще раз, выведенные координаты изменились соответствующим образом, т.е. файл был перезаписан. А в Workbench сработало только при запуске из вновь созданного проекта (один раз), а если дальше в том же проекте изменить нагрузку, и запустить решение, то выведенные координаты не изменились, остались такими же как после первого запуска на решение. Файл не перезаписывается.
То же самое касается и выше приведенного кода для определения координат через перемещения, за исключением того, что после изменения нагрузки и решения в файле появляются все нули (как показано выше).

Может быть есть какие-либо соображения на этот счет?

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

Давайте определимся с целями: нужно куда-либо экспортировать координаты деформированной модели (и делать это много раз для серии расчетов) или же досконально выяснить, почему выбранный способ работает не так, как предполагается?

38 minutes ago, Beethoven said:

Файл не перезаписывается

Думаю, нужно копать в эту сторону.

Или каждый раз программно задавать новое имя файла.

Если старый файл удалить, код сработает?

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

Верно. Нужно вывести координаты для дальнейших расчетов в Матлабе.
Т.е. нужно создать либо текстовый файл, либо файл эксель, чтобы уже оттуда данные вставлять в Матлаб.
Поработал с этой проблемой еще и выяснил, что в версии 14.5 Воркбенч все работает и никаких проблем не возникает (у меня сейчас версия 18). Вероятно, что проблемы являются следствием какого-то глюка (либо процесса установки, либо вообще 18 версии, по крайней мере Воркбенча, потому как в MAPDL18, повторюсь, все работает).
Значит оба способа применимы, а какой использовать, зависит от личных предпочтений.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • lem_on
      ну с дуру известно что сломать можно.
    • Viktor2004
      руку привязки так сломать легко
    • lem_on
      По моему вполне логично если станок вывалится в ошибку если рука не доехала до места. У меня так же если кулачки или деталь на пути, просто пихаеш ее до места и станок опять активен. Но нынешние пановья даже не могут написать модель станка.
    • Viktor2004
      Я согласен что скорее всего проблема механическая Но если логика прописана криво и возможно не предусмотрела остановку в промежуточном состоянии, разве не логично будет попробовать принудительно подав напряжение дернуть эту руку вверх-вниз? Возможно то что туда попало выпадет  
    • Guhl
      Если оставить за скобками вопрото том, что до м19 работает нормально, а после нет, то вы не считали сколько у него реально импульсов на оборот? с помощью стороннего плк, например  А если ориентацию м5 снимать, а не м20?
    • lem_on
      Что это за станок такой в котором сразу ладер ковырять надо, даже не смотря на возможность механической проблемы? Или профдеформация?
    • Viktor2004
      не сразу я понял в чем вопрос. Долго соображал что такое режим управления скоростью. При завершении ориентации PMC снимает сигнал G70.6 ? И если он после снятия сигнала продолжает удерживать шпиндель, при каких условиях эта ориентация все же снимается? После нажатия аварийного грибка или еще как?
    • Viktor2004
      Ладдер пришлите. Будем принудительно пробовать поднимать и опускать
    • streamdown
      Коллеги приветствую! IPS 8. Подскажите пожалуйста, кто какое серверное железо использует? Интересуют параметры при одновременной работе, ну например, 400 пользователей онлайн
    • gudstartup
      так он так и позиционируется по m19 pmc выдает g70.6 а чпу отвечает f45.7 но ориентацию и смещение в 4077 он отрабатывает нормально шпиндель встает ровно и смена происходит хорошо. вопрос почему после ввода команды управления скоростью он все еще продолжает контролировать число импульсов между нуль метками хотя в принципе уже должен отменить позиционный контроль и просто считать обороты по 0 метке как он это делает без М19? это все понятно но почему оно продолжает проверять это после завершения ориентации мне непонятно
×
×
  • Создать...