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

Исключение узла из компонента


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

Здравствуйте. Подскажите пожалуйста как командами организовать исключение узла (зная его номер) из компонента? Компонент состоит из множества узлов.

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


Что в голову пришло...

cmsel,S

nsel,R

Не так не получается..

я делаю:

NSEL,U,,,n2

CM,CM_1,NODE

CMSEL,ALL,CM_1

но чет мне кажется тут ошибка

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

Сорри, написал вместо U - R.

Хм, смотрится нормально. У Вас, естественно, до исключения узла выборка сделана, т.е. узлы выбраны?

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

Вообще мне надо сделать автоматическое создание CP между центральным узлом и узлами находящимися на одинаковом расстоянии от этого узла. То есть я хочу связать стержневой элемент с торцом трубы из солида.

Вот код, в котором фигня получается с определением узлов..

!CM_1 - узлы стержней

!CM_surf_1 - компонент узлов торцов труб к которым присоединяются стержни



!диаметр поиска узлов

_D=16.5



CMSEL,S,CM_surf_1

*GET,kol_vo_node_surf,NODE,0,COUNT

ALLSEL,ALL

CMSEL,S,CM_1

*GET,kol_vo_node,NODE,0,COUNT

*GET,n1,NODE,0,NUM,MIN



*DO,i,0,kol_vo_node-1

CMSEL,S,CM_surf_1

	*DO,j,0,kol_vo_node_surf-1

		n2=NNEAR(n1)

		!проверка-----------------------------------------

		*IF , DISTND(n2,n1) , LE , _D/2 , THEN

			CP,NEXT,ALL,n1,n2

			!исключение узла из набора

			NSEL,U,,,n2

			CM,CM_surf_1,NODE

			CMSEL,ALL,CM_surf_1

			!====================

		*ELSE

			!исключение узла из набора

			NSEL,U,,,n2

			CM,CM_surf_1,NODE

			CMSEL,ALL,CM_surf_1

			!====================

		*ENDIF

		!==============================

	*ENDDO

ALLSEL,ALL

*IF,i,NE,kol_vo_node-1,THEN

CMSEL,S,CM_1

n1 = NDNEXT(n1)

*ELSE

*EXIT

*ENDIF

*ENDDO

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

Мне кажется, было проще использовать цилиндрическую систему координат.

А вообще, не велосипед ли изобретаете?

post-33642-1350376274_thumb.png

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

не велосипед. Так как у меня есть множество центральных точек и множество торцевых солидовских узлов. Я пишу макрос под воркбенчь, так как там иначе никак (ну разве только вручную джоинты создавать). Там любой компоненты (named selection) представляет из себя набор узлов. Вот поэтому так и пытаюсь.

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

То есть я хочу связать стержневой элемент с торцом трубы из солида.

Слайд как раз про это.

А то, что таких соединений много - уже другой вопрос, конечно. Но тут, может, какой-нибудь скрипт под WB удобней был бы на java или python, чем переписывать имеющиеся функции на APDL.

По мне, так если соединений меньше тысячи, то проще сделать контакты.

Вам, конечно, виднее задача и средства ее решения.

А исключить узел из набора через "NSEL,U", ну да это уже выяснили.

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

Но тут, может, какой-нибудь скрипт под WB удобней был бы на java или python, чем переписывать имеющиеся функции на APDL.

Я не знаю ни питон ни джаву. И просьба не посылать их учить. Все это можно реализовать через апдл, вот я и хочу выяснить как?

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

Я тут единственное могу посоветовать: отработать команды пошагово непосредственно в APDL, так ВЫ сможете увидеть, на каком этапе возникает ошибка...

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

Подскажите пожалуйста как командами организовать исключение узла (зная его номер) из компонента?

Вообще мне надо сделать автоматическое создание CP между центральным узлом и узлами находящимися на одинаковом расстоянии от этого узла. То есть я хочу связать стержневой элемент с торцом трубы из солида.

Налицо нарушение логики и запутывание общественности. Для достижения цели не требуется исключение узлов.

FINISH

/CLEAR,NOSTART



/prep7



n,1,0,0

ngen,50,1,1,,,1

cm,c1,node



cmsel,u,c1



n,100,0,-5

ngen,3,1,100,,,25

cm,c2,node



allsel,all



!======================



i=1

j=1

n2=0



*dowhile,i

	cmsel,s,c2

	*get,n2,node,n2,nxth

	*if,n2,eq,0,THEN

		*exit

	*endif



	n1=0

	*dowhile,j

		cmsel,s,c1

		*get,n1,node,n1,nxth

		*if,n1,eq,0,THEN

			*exit

		*endif



		allsel,all



		*if,distnd(n2,n1),le,7,then

			cp,next,ux,n1,n2

		*endif

	*enddo



*enddo





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

Борман, Вы как всегда гений!) Спасибо!)

Только мне надо будет за начальнй номер узла брать минимальный в наборе? не очень понял n1=0 это что за номер такой? Когда он переберет с помощью команды *get все узлы то он потом выдаст 0 ? ли пойдет по второму кругу?

Кстати, с исключением узлов время выполнения моего кода было бы гораздо быстрее(на несколько милисекунд) чем Вашего, так как у меня происходит меньшее количество сравнений)))

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

Только мне надо будет за начальнй номер узла брать минимальный в наборе?

*get,n1,node,0,nxth

не очень понял n1=0 это что за номер такой?

Технический момент.

Когда он переберет с помощью команды *get все узлы то он потом выдаст 0 ?

Да.

ли пойдет по второму кругу?

Нет.

*if,n1,eq,0,THEN

*exit

*endif

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • ДОБРЯК
      А собственные вектора вы как будете находить для любой размерности? :=)
    • Sivolap36
      Добрый день. Прошу подсказать в каком мануале есть описание энкодеров моторов, где-то видел, сейчас нем могу вспомнить.  Вот например два энкодера по ним ищу инфу  
    • Рома калужский
      это код подключения шпинделя как ось "С" но при этом он не перемещает револьверку, т.е. не работает по программе
    • Горыныч
      Еще совет: строить нужно только половину, если модель симметричная, тогда Солид меньше "косячит". И соглашусь с коллегами, идеальный вариант для гладкого построения - два сечения и две направляющие кривые, т.е. 4 управляющие кривые (кромки). При необходимости можно добавлять не только промежуточное сечение, но и направление. Не нужно пятаться построить всю поверхность одним фичером.  Пусть поверхности будут лоскутами, но соединяются по касанию или кривизне. 
    • ДОБРЯК
      Откуда появится смещение центра масс колеса, если колесо сбалансировано.  Жесткий сбалансированный вал, это условие данной задачи. На 4000 оборотах эти силы будут минимальны. Это разговор ни о чем в данной задаче. :=) Но даже если вы абсолютно точно определите эти частоты, с учетом всех сил. Что дальше с этими частотами делать? На основании чего делать вывод о работоспособности изделия? Это в учебной работе получили число, работу приняли и сдали в архив. Какая практическая ценность всех этих уточнений в данном случае?:=)  
    • Борман
      Если еще не поздно... я и сам погрузился бы. Физика такая, для вала с одним колесом... F - это понятно, центробежное смещение центра масс колеса M - момент от центробежных сил, который не появится, если колесо не повернется при изгибе вала. Обрати внимание, что BW-момент выворачивает ось в сторону действия силы F, т.е. при обратной прецессии они действуют сообща, и в этом опасность.   Отсюда будут разные собственные частоты при прямой и обратной прецессиях.  Теперь осталось понять, что такое прямая и обратная прецессии :), и почему момент при них направлен в разные стороны. По первой части вопроса см. мою картинку в этой теме от 27 августа 2013. По второй части вопроса - нужно включать воображение и усердно рисовать на бумажке. Мне пока сложно.    Физика именно такая. Нужно как то оценить величину этого момента и приложить его в софте, который не умеет ДК. А с тестовыми значениями можно и так порешать, и на выходе должна быть вилка. Т.е. F - задает типа "биссектрису" вилки (престресс-модальник), а момент - угол вилки.  
    • boomeeeer
      @anykeyto Я не оператор. Настраивал работу этой функции на токарно-фрезерном, где нужно было позиционировать шпиндель, для нарезания пазов. Что такое G07 не знаю. Вот такой пример для фрезерного станка нашёл   G108 B0; переключение на ось B для управления положением; G68.2 X10 Y10 Z20 I0 J90 K0 Положение заготовки (10,10,20) Угол Эйлера для определения характеристической системы координат; G53.2 Управление направлением инструмента   G109 B0 - отключит режим
    • anykeyto
      Ага, спасибо... А в связке с G07.1 это как работает? Есть детали ,кольца, на которых надо делать по 4 паза. Сейчас программист написал прогу под шаровую фрезу. Там рабочие движеня происходят через одновременное смещение по оси Х и Z... фреза убивается буквально на третьем кольце, да и обработка получаестя фиговой.. На сколько я понимаю надо стремиться к тому, чтобы на 5ти осном станке фреза всегда была перпендикулярна касательной ли самой поверхности. Мне посоветовал как раз цилндрческую интерполяцию, когда ось С преобразуется в плоскость. В мануале к HNC описано эт криво, но в примерах программ как раз сначала включается CTOS и потом G07.1. но дальше как запрограммировать понимания пока нет...  P.S. хочу добавить, что на 5-снике раньше работал только как оператор по готовым программам  на Хенденхайне. А сейчас на новом предприятии на новой для меня стойке нужно все делать с нуля и самостоятельно. С одной стороны интересно, с другой стороны спросить не у кого, в инете инфы по стойке нет от слова совсем, уж тем более видео....  чем это отличается от просто G0 C180? Или это уже будет шпиндель позиционироваться, а не стол?
    • AlexKaz
      Различают жёсткие и гибкие ротора. В данном случае вал жёсткий. Для него соответствуюшая формула. 4000 об/мин = 66.67 Гц, это ни о чём, эффекты для такой частоты почти не скажутся на жёстком роторе. Но проблема в том, что в лопаточных машинах (а насос на скрине наверное лопаточная?) собственные кратны числу лопаток. Я не разбирался в вопросе чтобы что-то здесь советовать. Лучше не спешить и внимательно почитать про модальный в лопаточных. Заодно проверить, а какое нагружение идёт в деталях насоса чтобы корректно выполнить престресс.
    • ДОБРЯК
      Хотите еще и матрицу масс изменить. :=) И сколько килограмм воды будете присоединять?  Опыт правильного моделирования, опыт расчета таких конструкций накапливается десятилетиями. Маловероятно, что кто-то на форуме будет вам объяснять как правильно моделировать, какие КЭ использовать, какие граничные условия задавать и т. д. Вы же всегда уклоняетесь от разговора на эти темы, даже для простых моделей.  Даже если перейдете на Ансис и не разберётесь в том, что он считает это не поможет вам написать грамотный отчет и объяснить грамотному заказчику, что вы там насчитали. Считает расчетчик, а программа это инструмент. Это только в рекламе пишут, что купите программу трехмерного моделирования, сделайте трехмерную модель, потом нажмите одну кнопку и на обычном игровом компьютере все посчитаете. Только в жизни все немножко иначе...:=)
×
×
  • Создать...