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

Как создать массив?


IBV

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

Вот файл с решением задачки ....

Правда на каждую "позицию" (шаг) необходимо сделать

по 3 дополнительных операции.

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


Что-то не получилось у меня, на пункте

Выдал: The specified string contains a syntax error

Syntax error between here (List modifable) pts: For and here $a From 0 To n: By 1;

Скопировал не полностью

Вот примерно такой формат у цикла

Loop {

For $a From 0 To n: By 2;

Append $a;

}

Первую строку я пропустил

А вообще там создании аттрибута есть кнопка (Extended Text Entry)

Она позволяет конструировать код выбирая алгоритмические конструкции из списка

Тот вариант цикла что я привел соосветствует пункту

Loop a specified number of times

Да по поводу поворота через равные углы

Я бы решил эту задачу просто интерполяцией

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

Соответственно обратной интерполяцией по углу можно получить парамер

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

Построения Фракталей с помощью KBE

1)Создайте текстовый файл например kox_poligon.dfa

2) Скопируйте туда следующий код

#! NX/KF 4.0



DefClass: kox_polygon(ug_base_part);



(Integer Modifiable Parameter) num_iter: 3;

(Number Modifiable Parameter [mm]) rad: 17;



(Vector) v_norm: Vector(0,0,1);



(List Modifiable) start_pt_list: vertex_pts:(3);

(List Modifiable) start_pp_list: Loop{ For $p From 1 To length(start_pt_list:);

									   collect

										 If($p<length(start_pt_list:))

										 Then { nth($p, start_pt_list:), nth(1+$p, start_pt_list:) }

										 Else { nth($p, start_pt_list:), nth(1,	start_pt_list:) };

									 };





(List Uncached Modifiable) list_pt: recursive_vertex_pts:(start_pp_list:, num_iter:);







(List Uncached Modifiable) lines: loop{

					for $p in list_pt:;

					for $l is ug_createInstance( { class, ug_line, Start_point, nth(1, $p), End_point, nth(2, $p) } );

					collect $l;

									  };



(List Uncached Modifiable Parameter) demandValue:  { lines: };









######################



(list method) vertex_pts:(Integer $npt)

@{

  $dfi << 360/$npt;

  $data << loop{

				for $i from 1 to $npt;

				collect Point(rad:*sin($i*$dfi),rad:*cos($i*$dfi),0);

			   };



  $data;

};







(vector method) cross:(vector $v1, vector $v2)

@{

 $vx<<LocalY($v1)*LocalZ($v2)-LocalY($v2)*LocalZ($v1);

 $vy<<LocalX($v2)*LocalZ($v1)-LocalX($v1)*LocalZ($v2); 

 $vz<<LocalX($v1)*LocalY($v2)-LocalX($v2)*LocalY($v1); 

Vector($vx, $vy, $vz);

};







(list method) recursive_vertex_pts:(List $ppt, Integer $depth)

@{ 

  $data<<If($depth<=0 || length($ppt)=0)

	Then $ppt

	Else

		 Loop{

			 For $p In $ppt;

			 For $pt1 Is nth(1,$p);

			 For $pt2 Is nth(2,$p);

			 For $v   Is $pt2-$pt1;

			 For $vn  Is cross:(V_norm:, $v);

			  

			 append @{ $ptm1<<$pt1+1/3*$v; $ptm2<<$pt2-1/3*$v; $ptm<<$pt1+1/2*$v+sqrt(5)/6*$vn;





						$ll1<<recursive_vertex_pts:({{$pt1, $ptm1}}, $depth-1);

						$ll2<<recursive_vertex_pts:({{$ptm1, $ptm}}, $depth-1);

						$ll3<<recursive_vertex_pts:({{$ptm, $ptm2}}, $depth-1);

						$ll4<<recursive_vertex_pts:({{$ptm2, $pt2}}, $depth-1);

						$ll1+$ll2+$ll3+$ll4;

					  };

			 };





  $data;

};

3) В UG запустите Tools->KF->DFA Manager

4) В пункте New Dir дабавте директорий где лежит файл dfa

5) В правом списке (Choose Files For Syntax Check) появится список dfa файлов лежащих в выбранной директории

6) Выберете созданный dfa файл и добавте в нижний список (Collect of files for Syntax Check)

7) Нажмите Apply

8) Gthtqlbnt d yfdbufnjh KBE , встаньте на узел root и нажмите правую кнопку мыши , из списка выберете Add child Rule

9) Ввведите что-нибудь в поле name а в поле Name Filetr наберите k*

10) Из списка выберете kox_poligon

11) Apply

Аттрибуты созданного класса rad и num_iter можно редактировать

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

Вот файл с решением задачки ....

Не хватает файла det1.prt, по крайней мере я его в архиве не нашёл.

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

Хлопотно, очень хлопотно. И очень долго.

4 витка, т.е. 120*4 = 480 точек

На каждое новое тело 3 операции сопряжения - 1440 операций и это при дикой загруженности дисплея картинкой.

Не дай бог где ошибка - или устанешь искать или всё по новой?

Не, несерьёзно. Нужен автоматический вариант.

Да по поводу поворота через равные углы

Я бы решил эту задачу просто интерполяцией

Очень нежелательно т.к. на шнеке получатся не равномерные поверхности. Да и потом, кривые заданы формулой т.е. найти точки через определённый градус не трудно.

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

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

Очень нежелательно т.к. на шнеке получатся не равномерные поверхности. Да и потом, кривые заданы формулой т.е. найти точки через определённый градус не трудно.

Отчего же

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

Также кроме линейной есть и более точные формулы для интерполирования

Если кривая строится по закону то и строить ее целесообразно в KF - если она вообще там нужна

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

Хлопотно, очень хлопотно.

4 витка, т.е. 120*4 = 480 точек

Да, согласен. НО !!!

если всегда будут 4 витка (или меньше) (или один раз сделать на большее кол-во витков)

в моём варианте от IgP всё параметризовано и ассоциативно и в одном файле

и файле Shnek_V01.ZIP - один единственный файл

(не путайте с вариантом от avd !) и никакого файла det1 не требуется

сам же массив создаётся одной операцией, и его можно редактировать,

в том числе и заменять тело-инструмент (размножаемое тело)

ХЛОПОТНО только создавать CSYS для каждого местоположения.

исключение этой хлопотности, можно получить двумя путями:

- написанием спец. программы для создания CSYS

- воспользоваться предложением от nut888 с использованием KBE

PS.

Насчёт долго создавать по 3 дополнительных объекта -

это можно и нужно делать с помощью "Сору Feature"

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

У меня возник вопрос, а почему не описать поверхность шнека математикой. Может у кого есть знакомые математики?

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

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

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

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

Скорее всего (насколько я понял задачу) нет

или это будет достаточно трудоемко

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

Скорее всего (насколько я понял задачу) нет

или это будет достаточно трудоемко

Я думаю можно. Алгоритм я представляю, но вот инструментом не владею.

У нас на форуме раньше "жил" человек под ником FFF. Я как-то попросил его сделать не менее замороченную задачку и он сделал. Я поучаствовал только на уровне постановки задачи. Он классненько программку написал, я потом его долго добрым словом поминал. Жалко только он давненько на форуме не замечен.

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

nut888 :

" Скорее всего (насколько я понял задачу) нет

или это будет достаточно трудоемко "

Я думаю можно. Он классненько программку написал

IBV ! извините, но сейчас у меня голова взорвётся.

Вы говорите что, думаете что можно без программирования, а в пример приводите

Он программку написал

to IBV

Вашу задачку в разделе PROE в теме PROE и Сколково

как я понимаю решили.

Посмотрите.

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

Слушал я вас долго и внимательно, и наконец понял - пора внести свой вклад в дискуссию... 

Картинка с видео-роликом (в Opera - крутится, в IE - нет, у меня, во всяком случае.. )

Шаг - через 3 градуса, как просили. Изображение

ДА! Для уменьшения объема файла сделал 20% длины кривой. 

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

ДА! То что нужно, невооружённым глазом вижу. :)

А как?

Это частное решение или общее?

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

ДА! То что нужно, невооружённым глазом вижу. :)

А как?

Это частное решение или общее?

Общее не бывает...  :clap_1:

Как? Тривиальная программка на UGOPEN. Могу выложить DLL. 

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

Общее не бывает...  :clap_1:

Как? Тривиальная программка на UGOPEN. Могу выложить DLL. 

э-э-э-э с исходниками можно... :blush:

2 IBV

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

Обнаружил несоответствие, подправил, при вычитании что получается

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

avd

Тоже красиво, но похоже, что шаг по углу не постоянный. Видны странные скачки. Нет?

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

А причем тут постоянный шаг по углу, если требеутся просто выбрать канавку?

Будем считать, что я капризничаю. :)

А вообще, нужно чтоб было правильно и красиво, тогда ни у кого не будет вопросов. И обработка будет лучше.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Dimetil Gidrozin Dnepr
      я не компания)) я частное лицо)) физлицо если быть точнее)) у меня нет работников)) я сам на заводе работаю))
    • Bot
      Чем сложнее методики и технологии, тем более компетентные специалисты нужны для работы с ними. При этом в строительной отрасли острая нехватка квалифицированных кадров. Айбим вносит свой вклад в решение этой проблемы, давно и плодотворно сотрудничает с 15 российскими вузами. А в этом году открылся Университет Айбим. Преподаватели и авторы курсов систематизируют компетенции в области управления проектами, обучают работе с передовым ПО, показывают, как внедрять лучшие мировые практики. На вебинаре: расскажут о планах Университета; познакомят с расписанием курсов; ответят на вопросы. Дата и время: 30 мая 2024 г., 11:00 МСК РЕГИСТРАЦИЯ View the full article
    • Maik812
      Бооольшой геморой!!! особенно для маленькой такой компании..
    • Snake 60
      @engyuri Держите версию без активных кнопок. Вроде бы ничего не поломал :) https://cloud.mail.ru/public/VE2U/7cbGso8EN Говорим спасибо Леониду aka @Leon, за предоставленные исходники.
    • lem_on
      Проблема чисто технического характера, все равно датчик под станок калибровать, неважно на каком он конусе сидит или через переходник.  И вообще проще не под МК конус брать, просто заготовку с ск40 и на ней уже сделать посадку под датчик. 
    • lem_on
      Где то да, совсем рядом. 
    • brigval
      Даже не пенсионер.
    • Kelny
      Средствами WinAPI можно отыскатьформу и кнопки на ней, а потом через WinAPI поменять свойство видимости или активности на:   Ну или написать макрос самостоятельно.
    • engyuri
      Да можно. Но как-то править за каждым ушедшим суперконструктором поднадоедает. 62 все-таки.   Да, только макрос не работает из закрытой папки. Работает только у тех, кто имеет доступ к редактированию в этой папке. Возможно, админ чего-то не знает или не умеет.   Да, раньше (кажется, до SW2014) при наведении мышки на вариант ТТ, занесенный в библиотеку проектирования, можно было прочитать содержимое в предварительном виде. Потом разработчик что-то там поменял и пользоваться стало не удобно.    (@Leon) ! Буду премного благодарен!
    • mrfx
      Работает ли odb файл из 2023 абакуса в meta v19? У меня не высвечиваются step при загрузке odb, а также может кто знает, как починить ошибку "Abaqus libraries are missing. Please try installing 'META External Libraries 23.1.2'."  
×
×
  • Создать...