user108

Ansys для проектировщика КЖ-КМ

461 posts in this topic

а смысл физический?

Share this post


Link to post
Share on other sites


Цитата

Это среда для программирования.

Там , кстати , есть что-то для APDL так что есть смысл покопаться в Code.  

А смысл того что делал - автоматизация при построении модели . Выше описано для чего , не хочу повторяться.  Но можно полностью заменить платный UE бесплатным NP++ и избавиться от фокусов разработчиков UE :) 

Share this post


Link to post
Share on other sites
25 минут назад, Fedor сказал:

Code

heart.gif.495a1841573dca66dcb8c8d77f9a2722.gif

25 минут назад, Fedor сказал:

NP++

bom.gif.a919846043b3b3d6d213e1d46747a1d5.gif

 

шутка ), оба нормальные для своих требований. Но первый тоже больше нравится

Share this post


Link to post
Share on other sites
1 час назад, Fedor сказал:

что-то для APDL так что есть смысл покопаться в Code.

https://marketplace.visualstudio.com/items?itemName=shenbo.apdl

Возможность писать код с плюшками автокомплит и интеллисенс. ? Или просто подсветка синтаксиса?

Чет мне кажется в воркбенч с питоном можно затащить полноценный пайплайн вашей задачи без всяких ноутпадов.

Share this post


Link to post
Share on other sites

ID: 325   Posted (edited)

Затащить картинки архитекторов ?   Это вряд ли :) 

 

Цитата

 Или просто подсветка синтаксиса?

Что-то было и в UE  . Подсветка, дописывала по нескольким буквам слова... 

Так что есть смысл использовать в качестве редактора кодов.  По крайней мере попробовать. Ну и всякие обработчики при необходимости написать . Выбор языков большой  :) 

Edited by Fedor

Share this post


Link to post
Share on other sites

Интересно, как запускать *.js   на произвольной странице через меню .

 

В run.js  добавил

 

 /*  попытка добавить свой пункт меню   */
 var rmy = {
  text:"Выполнить мое",
  ctrl:true,
  key:116, 
  cmd: function(){
     addScript('C:\скрипты VSC\My.js');
  }
 };
 runMenu.addItem(rmy);
 addHotKey(rmy);

 

 

в  My.js 

 

'use strict';   // строгий режим соответствия 

alert("  1    ");

 

 

Пункт в меню добавился и когда стою на странице с  My.js  все срабатывает, а если переключаюсь на другую, то выдает ошибку...

 

 

Share this post


Link to post
Share on other sites

Похоже проще выводить в какой-нибудь браузер и уже из него забирать в буфер и дальше в apdl.  Вроде и плагин jN  не понадобится.  Если все так то еще проще будет обрабатывать чем в UE  :)

Share this post


Link to post
Share on other sites

Похоже проще выводить в какой-нибудь браузер и уже из него забирать в буфер и дальше в apdl.  Вроде и плагин jN  не понадобится.  Если все так то еще проще будет обрабатывать чем в UE  :)

 

Запускать как-то так    <script src="C:\скрипты VSC\my_alert.js"></script> 

Share this post


Link to post
Share on other sites

Почти все удалось кроме того чтобы взять в строку содержимое буфера обмена.   В jN это оказалось легко.  

Выводить то просто

  <script>
    var str="    это запись через write <br/>  и перевод строки   ";
    document.write(str+'<br/>'+ ' еще перенос  все в порядке '  );   //   <br/>  так переводить строку
  </script>

  ... :)

Share this post


Link to post
Share on other sites

ID: 330   Posted (edited)

Похоже работать с буфером обмена из скриптов не удается пока. Функции еще не сделаны.   А жаль, перспективы открывались очень любопытные.  Можно было бы сделать автоматизацию многих расчетов прямо в сети   :)  

Edited by Fedor

Share this post


Link to post
Share on other sites

ID: 331   Posted (edited)

<html>
    <head>    <meta charset="utf-8">   </head>
    <body>
             <script>   // обработчики событий
                 function OnMyClick(form,value){   // обработчик нажатия
               var MyStr=form.Mytxt.value; 
                    form.Mytxt.value = MyStr/3;
                 }
                
             </script>
           <!--    Заголовок     <br/> -->   
         <H1>Преобразование в код для APDL</H1>
         <FORM NAME="My">
            <TEXTAREA NAME="Mytxt" ROWS=10 COLS=80>   </TEXTAREA>
          <br>
            <INPUT TYPE="button" VALUE="Преобразовать " onClick="OnMyClick(this.form,this.value);">
         </FORM>
    </body>
</html>

 

Все решаемо если захотеть. Так легко делать активные странички. Вставил в текстовое поле из буфера, обработал и вывел в текстовое поле. Дальше забирай в буфер и вставляй куда хочешь. И без jN можно обойтись. И все абсолютно бесплатно и легально  :)

 

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

Edited by Fedor

Share this post


Link to post
Share on other sites

Все отлично заработало на html страничке. Слегка коды с UE подправить в области файлов ввода -вывода и все дела. Проще чем думалось оказалось :)  

Share this post


Link to post
Share on other sites
<html>
    <head>    <meta charset="utf-8">   </head>
    <body>
        <script> 
           //   Это работающий вариант Ф.П. Пинежанинов      
             
           /*________________________________________________________________________
                функция обрабатывает строку buf  и выводит координаты  
                в строку курсора в активном окне в формате точек APDL
                если они встретятся в формате команды Список для точек или линий автокада
           ________________________________ http://pinega3.narod.ru/ _______________*/ 
           function coord(  ) { 
                var ix=0, iy=0, iz=0, ioff=2, ism=15, mas=5,  ind=false, m_l=10 ;     // позиция, смещение, индикатор наличия     var MyInStr='',  MyOutStr='' ; 
                var  x=0,  y=0,  z=0;                    //   для значений 
                var  cx=[],  cy=[],  cz=[];              //   для проверки на уникальность точки
                var Txt=new String('') ;
				var buf=new String(MyInOutStr) ;
				
                while( !isNaN(x+y+z)) {   // цикл по строке из буфера  isNaN(NaN)   if (  ) {    } else {    }
                
                   ix=ioff+buf.indexOf("X=", iz );
                   iy=ioff+buf.indexOf("Y=", ix );
                   iz=ioff+buf.indexOf("Z=", iy );
                   x=parseFloat(buf.substr( ix ,ism )); 
                   y=parseFloat(buf.substr( iy ,ism )); 
                   z=parseFloat(buf.substr( iz ,ism ));
                   x=mas*Math.ceil(x/mas);
                   y=mas*Math.ceil(y/mas);
                   z=mas*Math.ceil(z/mas);
                 
                   for (var i = 0 , ix=1 ; i < cx.length; i++) {  // проверка не было ли уже точки ранее
                      if ( (x==cx[i])&&(y==cy[i])&&(z==cz[i])   ) { ix=0;   break;  } // уже была
                   }
                   if ( ix>0 ) {
                        if (  (!isNaN(x+y+z))  ) {  // вывод в текст  && (ix>0)  
                           //   if ( !ind  ){ UltraEdit.activeDocument.write('  /PREP7  \n      m_z =0  ! точки  \n '  );  ind=true }
           			
           			
           			    if ( !ind  ){ Txt +='\n  /PREP7  \n      m_z =0  ! точки  \n  ';  ind=true;  }
           				
                           var strx=x.toString();  while( strx.length<m_l ) strx=" "+strx; 
                           var stry=y.toString();  while( stry.length<m_l ) stry=" "+stry; 
                           var strz=z.toString();  while( strz.length<m_l ) strz=" "+strz; 
           				
           				
                         //  UltraEdit.activeDocument.write('     k ,,  '+ strx +' , '+ stry + ' ,  m_z ,   $   \n '  );   //**************
           			  
           			     Txt +='    k ,,  '+ strx +' , '+ stry + ' ,  m_z ,   $   \n  ';   // это все работает и выводит в конец файла 
           			  
           
                        }  else { break }   // окончание while так как не нашли больше  
                     	 cx.push(x);   cy.push(y);   cz.push(z);    // запомнить для проверок от дублирования              
                   }
                    
                }    // конец цикла по строке из буфера
              
                if ( ind ) {ind=true;  MyInOutStr= Txt;  }				
				 buf=''; Txt=''; 
                return ind ;
           };   // конец функции
          
      function area( ) {
                var   m_in =0, m_ism=6, m_nfield=0, m_narg=1, m_type=0, i=0 , m_s=",",  m_t="" , m_str="FITEM,2,", ind=false ;
				var Txt=new String('') ;
				var buf=new String(MyInOutStr) ;
           
                while(  m_in!=-1 ) {                   // цикл по строке из буфера
               	   m_in=buf.indexOf("FLST", m_in ); 
               	   
               	   if ( m_in ==-1 ) break ;      //   ********выход если не найдено ******=> 
               	  
               	   m_in=    m_s.length + buf.indexOf(m_s, m_in ); 
               	   m_nfield=parseInt(buf.substr( m_in ,m_ism ));  // находит первую цифру 
                    m_in=    m_s.length+buf.indexOf(m_s, m_in );
               	   m_narg=  parseInt(buf.substr( m_in ,m_ism ));  // находит вторую  цифру 
                    m_in=    m_s.length+buf.indexOf(m_s, m_in );
               	   m_type=  parseInt(buf.substr( m_in ,m_ism ));  // находит третью  цифру 
           
               	   if ( m_type==3 ) {   // это признак  keypoint взять их
                   //	     UltraEdit.activeDocument.write( '\n  A, ' );
           		       Txt +='\n  A, ' ;
           		
                          for ( i = 0; i < m_narg; i++) {
                        	     m_in=m_str.length+buf.indexOf(m_str, m_in );     //
                       	     m_nfield=parseInt(buf.substr( m_in ,m_ism ));
                       	     m_nfield=Math.abs(m_nfield);
                        	     m_t=m_nfield.toString();  while( m_t.length<m_ism ) m_t=" "+ m_t;   
                          //    UltraEdit.activeDocument.write( m_t  +', ');  
           			        Txt += m_t  +', ' ;
                         } 
                        // UltraEdit.activeDocument.write( '   !!! '+ m_narg + '  точек ');
           			  Txt += '   !!! '+ m_narg + '  точек ' ;
                    } 
                   	
                }
                if ( m_type==3 ) {ind=true;  MyInOutStr= Txt;  }
					
				buf=''; Txt=''; 
			
           	   return  ind;  
           }; 	
		
         //___________________________________________________
		 
         var MyInOutStr='' ;  //  глобальная переменная для ввода вывода текстовой строки ****
		 //___________________________________________________
		 
		 </script> 

		 <script>    // обработчики событий 
		
           function OnMyClick(form,value){     // обработчик нажатия
		   
                 MyInOutStr=form.Mytxt.value ;    // взять текст в глобальную переменную  из окна
						
			     var ind= coord();  // преобразование текста из AutoCad в APDL
				 
				 if ( !ind ) ind=area();  // преобразование описания области 
				 
				  if ( !ind ) { MyInOutStr=' текст не для обработки ';  ind=true;   } 
				 
				 ind=true; 
				
			     form.Mytxt.value = MyInOutStr;  //  вставить переработанный текст в окно 
             }
         </script>
          
         <H1 align=center>Преобразование в код для APDL</H1>  <!--    Заголовок    	<br/> --> 
         <FORM NAME="My">
		      <p align=center>вставить текст из списка AutoCad с координатами точек Сведения>Список
			     <br>   точки поставить заранее и выбрать их
			     <br>   или описание области из Ansys Session Editor </p>
            <center> <TEXTAREA  NAME="Mytxt" ROWS=12 COLS=65>   </TEXTAREA> 
			      <br>  	<br>
                  <INPUT TYPE="button" VALUE="Преобразовать " onClick="OnMyClick(this.form,this.value);">
			</center>
         </FORM>
		   
    </body>
</html>


  <!-- 

Перед запуском сохранять файл  !!!!!!

 
-->

Вот работающий код, просто разместить в файле с расширением  html и запускать в браузере. Может кому будет полезно :)

2 people like this

Share this post


Link to post
Share on other sites

Всё круто, но зачем вы завели 3 отдельный массива?

45 минут назад, Fedor сказал:

var cx=[], cy=[], cz=[];

а не один трёхмерный cxyz[[[]]]?

Share this post


Link to post
Share on other sites

Для простоты и чтобы индексы проще считались. Сишная привычка работы с указателями. Рефлекторная :) 

Share this post


Link to post
Share on other sites

https://htmlweb.ru/java/forms.php   вот статья которая помогла и все разъяснила :)

Share this post


Link to post
Share on other sites
14 минуты назад, Fedor сказал:

@Fedor зачем вам это? Вы до сих пор создаете модели в стороннем редакторе? )

Share this post


Link to post
Share on other sites

ID: 339   Posted (edited)

Конечно. Это самое удобное и быстрое. Годится для оптимизаций и прочего.  Удобно экспериментировать модернизировать . Программа без  языка не программа а горсть кнопок и флажков :)

 

Edited by Fedor

Share this post


Link to post
Share on other sites
29 минут назад, Fedor сказал:

Конечно. Это самое удобное и быстрое. Годится для оптимизаций и прочего.  Удобно экспериментировать модернизировать . Программа без  языка не программа а горсть кнопок и флажков :)

 

Согласен с вами. Я о другом.)

 

41 минуту назад, ДОБРЯК сказал:

в стороннем редакторе?

Ключевое слово было сторонний.)

Это как редактор отдельно и компилятор отдельно в 2019 году. ))

 

Share this post


Link to post
Share on other sites

ID: 341   Posted (edited)

В ансисе нет своего редактора...  Да и судя по всему это общая тенденция когда редакторы делают отдельно от программ. Например компиляторов  Visual Studio Code   Notepad++     и многие другие https://www.ultraedit.com/products/uestudio/     :)

 

Цитата

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

Несвязанные программы имеют свои преимущества так как позволяют работать в разных средах и строить для себя обработчики. Часто более быстрые и бесплатные :)

Edited by Fedor

Share this post


Link to post
Share on other sites

ID: 342   Posted (edited)

Интересно, проверка касательных напряжений в Лира (2013 бесплатная версия) дает очень завышенный результат. У Старк ЕС близок к ручному. Заметил, в Лира такая проблема на узких и длинных сечениях, на двутаврах и тп все нормально. Может что не там нажал, всякое бывает) Но в Старк с ручным нормально сходится. В Ансис не смотрел, нужно будет студенческий поискать.5d498832a131c_.thumb.jpg.a166d2113ad700c4356f3d758a1ba214.jpg

 

Edited by Chardash

Share this post


Link to post
Share on other sites
47 минут назад, Chardash сказал:

В Ансис не смотрел, нужно будет студенческий поискать.

чего его искать-то)

https://www.ansys.com/academic/free-student-products

1 person likes this

Share this post


Link to post
Share on other sites

Шпионить не будет?

Share this post


Link to post
Share on other sites
13 минуты назад, Chardash сказал:

Шпионить не будет?

без интернета работает, если об этом.

Share this post


Link to post
Share on other sites
12 минуты назад, soklakov сказал:

без интернета работает, если об этом.

Да, установил. Он спрашивает после установки при запуске и обещает не шпионить. 

 

Share this post


Link to post
Share on other sites

ID: 347   Posted (edited)

Основная проблема АНСИС и программ его уровня финансовая составляющая. Не каждый сможет позволить себе приобрести такую программу. Хотя здесь, скорее, проблема не АНСИС)

Edited by Chardash

Share this post


Link to post
Share on other sites

Джентльменов удачи такие мелочи никогда не беспокоили :)

3 people like this

Share this post


Link to post
Share on other sites
В 06.08.2019 в 17:01, Chardash сказал:

Интересно, проверка касательных напряжений в Лира (2013 бесплатная версия) дает очень завышенный результат. У Старк ЕС близок к ручному. Заметил, в Лира такая проблема на узких и длинных сечениях, на двутаврах и тп все нормально. Может что не там нажал, всякое бывает) Но в Старк с ручным нормально сходится. В Ансис не смотрел, нужно будет студенческий поискать.5d498832a131c_.thumb.jpg.a166d2113ad700c4356f3d758a1ba214.jpg

 

Вы опишите задачу, чтобы было понятно о чем идет речь.

 

Share this post


Link to post
Share on other sites
23 часа назад, Chardash сказал:

Не каждый сможет позволить себе приобрести такую программу.

Вас же не удивляет, что не каждая бурильная компания может позволить себе алмазный бур? слишком отстраненный пример?

какова бы ни была цена на продукт, будут те, кому он по карману, соответствует целям и будет эффективен при этой цене, а будут и остальные. И это разделение будет при любой цене.

Так есть ли в этом проблема?

1 person likes this

Share this post


Link to post
Share on other sites

Когда-нибудь алмазов будет как булыжников. Углерод распространенный элемент на Земле :)

1 person likes this

Share this post


Link to post
Share on other sites
10 часов назад, ДОБРЯК сказал:

Вы опишите задачу, чтобы было понятно о чем идет речь.

http://dx-dy.ru/sopromat/poperechnij-izgib.html

прямоугольное сечение 150х5.2 мм, усилие Q = 3 kH (вертикальное). Полученный результат в двух программах

 

1.thumb.jpg.abde510552ab76d733926283af3934b7.jpg

2.jpg.72ac3ccdfa1ecf672b9e1b7791e06e67.jpg

 

На двутавровом сечении результат похож на правду, но на пластине (1 картинка выше) нет3.thumb.jpg.079dce536c675e8b5829ace0dc8bc6f0.jpg

Share this post


Link to post
Share on other sites

Журавский рассчитывал шпиль петропавловской крепости на логарифмической линейке.  Мне рассказывали что видели бумаги с его расчетами и автографами. Хранятся в архиве  :)

Share this post


Link to post
Share on other sites
3 часа назад, Chardash сказал:

прямоугольное сечение 150х5.2 мм, усилие Q = 3 kH (вертикальное).

закреплена-то как? давайте отдельную тему)

Share this post


Link to post
Share on other sites

ID: 356   Posted (edited)

1 час назад, soklakov сказал:

закреплена-то как? давайте отдельную тему)

В этом ( см 1 скрин) приложении-подпрограмме не задаются закрепления, задается форма сечения для расчета геометрических характеристик. https://www.liraland.ru/lira/systems/ks.php

2 скрин, в котором результат 5 МПа - другая программа, Старк ЕС, Еврософт

но суть та же. Конструируем произвольное сечение—находим его геометрические характеристики—считаем на необходимые усилия. Результат - изополя напряжений в сечении. 

Меня смутил ответ на 1 картинке, расчёт прямоугольного сечения размером 150х5.2 мм с поперечной силой 300 кг. Касательные напряжения в сечении получились больше 1000 МПа, тогда как по формуле Журавского чуть больше 5 МПа. Такой же ответ дал Старк ЕС. Результаты сильно различаются. 

 

 

Edited by Chardash

Share this post


Link to post
Share on other sites
20 минут назад, Chardash сказал:

этом ( см 1 скрин) приложении-подпрограмме не задаются закрепления

когда они не задаются, они подразумеваются.

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

23 минуты назад, Chardash сказал:

Меня смутил ответ на 1 картинке, расчёт прямоугольного сечения размером 150х5.2 мм с поперечной силой 300 кг. Касательные напряжения в сечении получились больше 1000 МПа

так он видать неправильный?

Share this post


Link to post
Share on other sites
8 часов назад, soklakov сказал:

а еще в них могут быть или не быть коэффициенты запаса вшиты

вряд ли, какие тут коэффициенты, зачем? Если вдруг что-то вшили, то это точно жесть.

Мелочь, но пропусти ее - лишний перерасход материала обеспечен. 

В Ансис помню можно было считать подобные дела, но нужно было нагружать балку, потом строить плоскости в местах снятия напряжений и тп, процесс подольше. Если базовыми средствами без APDL vs API. Буду разбираться.

Share this post


Link to post
Share on other sites
8 минут назад, Chardash сказал:

вряд ли, какие тут коэффициенты, зачем?

есть такие люди, которые хотят, чтобы программа считала им по ГОСТ, и желательно в одну кнопку. для них тоже делается ПО.

10 минут назад, Chardash сказал:

В Ансис помню можно было считать подобные дела

понять бы еще какие это дела. если площадь 150*5,2мм2 умножить на напряжения 5 МПа, то получится сила 3900 Н. видать, программа не просто делит силу на площадь. что-то еще считает.

Share this post


Link to post
Share on other sites
12 минуты назад, soklakov сказал:

понять бы еще какие это дела

я ж скинул выше http://dx-dy.ru/sopromat/poperechnij-izgib.html - проверка прочности по касательным напряжениям. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • ДОБРЯК
      Для 4 узлов это билинейное уравнение. И в формате Настран только списки узлов. Информации по элементам уже нет. Поэтому и получаются вот такие заклепки. )  
    • fantom.ul
      Вот пример ёмкого, самодостаточного и понятного поста. Браво!
    • chatjokey
         серьезно, заканчивай с этим. а то попахивает тоже сумасшествием. 
    • Крутой инвестор из ЕС
      Это не анализ, а наблюдение) За пару лет. Просто интересно, как такие персонажи как Турта мыслят. Даже читал на эту тему.   Кстати, слово ШАНС из предыдущего поста надо заменить на НАМЕРЕНИЕ - я перепутал. Турта не различает фактический результат и намерение этот результат получить. Он ставит равно между этими понятиями.   Смотрите, как интересно, у него на аватарке (которую лепит куда не попадя) написано "создатель ПИИ" уже много лет, но он ничего не создал, а только НАМЕРИВАЕТСЯ создать. Он называет себя ведущим разработчиком ПИИ, но ничего не разработал и никем не был признан, а только намеревается им стать и получить признание. Но ведущим разработчиком называет себя уже сейчас.   Он не заработал и 100 рублей на своих "прорывных технологиях", а только намеревается заработать триллионы, но уже сейчас заявляет, что его время стоит дороже зарплат всех директоров, назначил триллионную стоимость своего "интеллектуального капитала" и требует уступить место в поликлинике вне очереди (очень показательная и смешная история, я голосину орнул с нее).   Из-за психического расстройства у Турты искаженная логика восприятия реальности.   Турта не видит разницы между достижением и намерением достижения. И из этого у него следует классический бред величия: он восхищается самим собой за НАМЕРЕНИЕ сделать что-то сверхсложное и глобальное, так, как если бы это уже сделал. И искренне не понимает, почему это восхищение им никто больше не разделяет)))   И поэтому легко верит в любую чушь про инвесторов из ЕС и США, китайцев из Хуавея и профессоров из Оксфорда)) Все это нормально в его картине мира, где он великий изобретатель и открыватель с уникальным багажом знаний и опыта, который будет очень востребован за пределами "немытой рашки". И очень глупо, наивно и смешно в картине мира психически здорового человека.
    • MiLloeDelo
      @tm-ares , все просто ))))) ?  СПАСИБО за ссылку !  Но нельзя сделать немного , удобнее : смотрите на скрин .  Скрин
            X
       
    • Артемке
      Ребят помогите пожалуйста и подскажите,как нарезать резьбу га саморезе,саморез спресшайбой, если можно скинте пример программы.
    • karachun
      Я тоже не могу, спросили бы про Nastran - я бы мог подсказать.
    • a_schelyaev
      1. Должны учитываться. Уравнения в документации посмотрите. 2. Документацию откройте. Это задание столба гидростатики.
    • a_schelyaev
      Через весовые коэффициенты с несколькими узлами.
    • jumper99
      @karachun исправил ошибки, осталась одна не могу понять где 118 берется?  The user defined result might not be calculated successfully wholly or in some areas.
          There are some elements (or nodes) which do not contain
          data for the expression in: 118 = CONTAREA     Note that the result data may not be contained in the result file
          or may not be applicable to some element types.
          Also note that the solver module can create elements,
          such as surface effect or interface elements,
          whose results cannot currently be scoped in a contour display. вот архив проекта https://fex.net/s/flry7ae