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

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


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



Цитата

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

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

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

Ссылка на сообщение
Поделиться на других сайтах
25 минут назад, Fedor сказал:

Code

heart.gif.495a1841573dca66dcb8c8d77f9a2722.gif

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

NP++

bom.gif.a919846043b3b3d6d213e1d46747a1d5.gif

 

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

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Fedor сказал:

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

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

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

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

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

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

 

Цитата

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

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

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

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

Интересно, как запускать *.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  все срабатывает, а если переключаюсь на другую, то выдает ошибку...

 

 

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

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

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

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

 

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

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

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

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

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

  ... :)

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

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

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

<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 можно обойтись. И все абсолютно бесплатно и легально  :)

 

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

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

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

Ссылка на сообщение
Поделиться на других сайтах
<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 и запускать в браузере. Может кому будет полезно :)

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

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

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

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

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

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

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

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

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

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
Ссылка на сообщение
Поделиться на других сайтах
14 минуты назад, Fedor сказал:

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

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

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

 

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

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

 

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

 

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • maxx2000
      Причина того - Кроилово. Кроилово всегда приводит к попадалову. Месяц простоял сколько мильонов деревянных потеряли? Вопрос риторический. И ещё будет стоять. Как памятник человеческой глупости и жадности.
    • AlexKaz
      "9 июля 1968 года на мышах был проведен самый знаменитый эксперимент американского ученого-этолога Джона Кэлхуна «Вселенная-25». Суть опыта заключалась в создании идеальных условий, где мыши могли бы жить и размножаться, не ведая никаких забот, вдали от хищников и в отсутствие эпидемий и заболеваний. Для этих целей ученый построил специальный загон, куда были помещены четыре пары белых мышей (самцов и самок). В распоряжении мышей всегда была чистая вода и еда в изобилии, специальные гнезда, где можно обустроить себе жилище ― гнезд в загоне хватало для проживания нескольких тысяч мышей. Температура в загоне в среднем составляла около 20 ℃ и была комфортной для мышей. Животные не подвергались никаким влияниям извне и жили в идеальных условиях в свое удовольствие. А дальше началось самое интересное. На первом этапе эксперимента мыши хорошо размножались, вели активный образ жизни, охотно играли. На следующей фазе эксперимента мыши стали есть меньше, перестали наедаться до отвала. На третьей фазе эксперимента, когда в загоне были уже сотни мышей, произошло распределение социальных ролей, стала ярко выраженной иерархия, клановость. Появились так называемые отверженные ― молодые особи, которых другие, взрослые мыши сгоняли в центр загона, не давали им вести нормальный образ жизни, причиняли физический вред. В природе такое, наверное, было бы невозможно, ведь эти мыши-агрессоры просто не дожили бы до старости: их бы съели хищники. Но в загоне Кэлхуна хищников не было, и взрослые мыши начали попросту издеваться над молодняком. Образовались две большие группировки: самцы-одиночки и самки-одиночки. При этом самки-одиночки отказывались спариваться <с менее статусными многочисленными молодыми самцами и с оставшимися старыми статусными> и отвергали ухаживания самцов. У мышей стал проявляться тотальный индивидуализм, мыши не стремились создать семью. На последней, четвертой стадии мышиная популяция стала сокращаться. Появились самцы, которых сам Кэлхун назвал «красивыми» (англ. beautiful ones), из-за отсутствия ран и рубцов. <В оригинале: They never engaged in sexual approaches toward females, and they never engaged in fighting, and so they had no wound or scar tissue. Thus their pelage remained in excellent condition. - Дословный перевод: Они никогда не прибегали к сексуальным подходам к самкам, и они никогда не участвовали в боях, и поэтому у них не было ран или рубцовой ткани. Таким образом, их шерсть сохранилась в отличном состоянии.> Эти мыши не вступали в борьбу за самок и территорию, не проявляли активности к размножению и только питались, спали и чистили шёрстку. У мышей стали проявляться различные формы девиантного поведения, вспышки агрессии. Самки стали проявлять агрессию, защищать себя сами, стали умерщвлять своих детенышей, а затем окончательно отказались размножаться. На пике эксперимента в загоне одновременно проживало чуть более двух тыс. мышей. Еды и гнезд было достаточно для дальнейшего роста популяции, но через четыре года после начала эксперимента Кэлхун остановил свой опыт, потому что в загоне осталось чуть более сотни мышей, и все они уже вышли из репродуктивного возраста. По итогам эксперимента Кэлхун пришел к выводу, что достижение определенной плотности населения и заполнение социальных ролей в популяции приводит к распаду общества" https://physicsoflife.pl/dict/pic/calhoun/calhoun.. https://scientificrussia.ru/articles/utopiya-dlya-mys.. https://ru.wikipedia.org/wiki/Кэлхун,_Джон_(этолог)
    • gudstartup
      @Koels вот в чем дело пока ds609 это предупреждение поэтому F может и не появится если sv601 это значит ошибка. возможно при нагреве радиатора серво определяет это как предупреждение или ваш вентилятор крутиться медленнее чем оригинальный и серва думает что он встал хотяпри этом обычно на экране в строке состояния FAN.мигает больше у меня вариантов нет....  
    • ДОБРЯК
      Решите любым алгоритмом. Тогда будет конструктивный разговор. :=)
    • Fedor
      https://en.wikipedia.org/wiki/List_of_numerical_analysis_topics#Eigenvalue_algorithms     :) 
    • Юрий К.Ф.
      Добрый день. Не нашёл тут тему по стойке Китайско Китайской)) Lynuc N3ME. Видать мне так повезло с её наличием)) Приобрели 5-ти осевой Китаец. В б/у состоянии после удара по оси Z. Отремонтировали по механике, заменили батареи на драйверах, выставили лимиты. Всё Ок. Пригласили со стороны людей которые бы разобрались по операторской части. Те два выходных ковырялись, после сказали покажут расскажут, но за огромные деньги. Не сошлись. После месяц станок простоял, когда включили перестал реагировать на регулировку скорости шпинделя. То есть в режиме Jog, включаем обороты, которые стандартно 2140-2149 об/мин. При регулировке процетности не меняются (сама процентность показывает на мониторе). Так же при включении оборотов через команду M03S300 или другое значение, скорость так же показывает 2140-2149 об/мин. Грешить на тех товарищей с которыми не сошлись по деньгам для обучения, как то не хочется. Поковырялся в настройках шпинделя, вроде всё в норме. Проводку на шпинделе прозвонил, целая. В чём причина, не понятна. Кто нибудь сталкивался с подобным, или с подобной стойкой? Может подсказать варианты причины подобного?
    • ДОБРЯК
    • Fedor
      https://en.wikipedia.org/wiki/Eigenvalue_algorithm   Вот , кстати, важное свойство которое раньше встречал у Стренга. :)    http://elibrary.bsu.edu.az/files/kitablar/1022.pdf   
    • ДОБРЯК
      Вы ысё чаще напоминаете телевизор, который случайным образом переключает программы...:=)
    • sssdos
      сочувствую бедности(Дома на ноуте стоит Windows XP С PM 6.). Или другие причины?
×
×
  • Создать...