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

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


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 пользователей

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




  • Сообщения

    • maxx2000
      @Kelny ты сейчас бьёшься головой об стену. На той стороне спец которых земля не видела
    • Kelny
      Потому, что вы посещаете темы про макросы.   Очень даже зря. Неплохо бы изучить, в то числе что это такое.   Потому что об этом написано в справке: https://help.solidworks.com/   Без макросов быстроты и эффективности не получишь.   Простой пример: руки или лопата, как бы вы не вертелись быстрее и эффективнее ну ни как не получится, без привлечения более серьёзной техники. Так же и спроектированием, базовая программа позволяет работать быстрее, но для большего ускорения нужны специализированные модули или макросы, ускоряющие или исключающие повторяющийся рутинный труд - ваш труд подменяет программа и делает работу за вас.   А зря, макросы позволяют приложив немного усилий в последствии могут исключить рутинный труд. А линукс уже давно в вашей жизни, если вы обзавелись смартфоном, то там наверняка линукс названный маркетологами андройдом, да и многие устройства вроде смарт-тв, банкоматы и т.п. тоже крутятся на линускосподобных системах.
    • Alexey8107
      Всем доброго времени суток. Есть токарный станок Leadwell LTC с токарной стойкой FANUC. Думаю остальное не важно, т.к. проблема скорее всего лежит где то в параметрах ЧПУ или программе логики станка. С некоторого времени стала сбиваться относительная система координат, соответственно уходят и все корректоры на инструмент. Причем сбой очень странный, станок выходит в ноль стабильно по нуль метке на оптических энкодерах, относительная система координат, которая у нас используется в работе в одних и тех же значениях, корректоры на инструмент тоже. НО! При этом одну смену станок точит и все хорошо, а на следующую смену(станок налажен именно на эту деталь и переналадка не производилась. УП тоже никто не трогал) таже самая деталь, но подводишь инструмент, а он может как врезаться в заготовку, так и не дойти до нее. Никаких изменений вообще не нашли, но как есть.  Буквально на днях просто заметили закономерность(на станке работают 3 оператора в 3 смены, 2 криворуких, 1 более менее соображает, изначально списывали на криворукость 2 операторов), когда начинаешь прогонять УП с блокировкой приводов, смены инструмента(на панели оператора есть для этого отдельные кнопки), соответственно на самом ЧПУ координаты меняются, график строится, но привода стоят. Вот именно после такого прогона и только на этом станке(есть и другие станки Leadwell LTC, а также Leadwell Т7, Leadwell Т8) происходит какое то смещение координат. При этом если в режиме прогона с блокировкой приводов вернуть координаты в изначальные значения, сбоя не происходит. Немного конечно сумбурно, но просьба к тем, кто знает в чем проблема, поделится опытом. Так же я знаю что у Leadwell все программы логики для разных модификаций одного станка вообще одинаковы, лично сталкивался с этим. Например есть модификации с слабым зажимом кулачков патрона, у нас же только один уровень. Не раз уже было что оператор ошибочно вводил М60, а ЧПУ перенаправляла сигнал на другой выход. А т.к. слабый зажим кулачков патрона у нас вообще не предусмотрен аппаратно, то и зажим кулачков переставал работать. М61 исправляет проблему. К сожалению именно такие коды у нас и не описаны, они действуют в ЧПУ, но они не предусмотрены модификацией и инструкцией...
    • Володя ЧПУ
      Добрый день. Подскажите пожалуйста, делаю резьбовое отверстие м18*1 nx предлагает м18*1.5, есть ли возможность задать шаг 1?
    • maxx2000
      Теперь всем всё стало понятно. Тыж лапочка. Теперь много становится ясным как работают в 404. Вот это и вправду FARTанул.
    • maxx2000
      а если на циркулярной пиле? сейчас полно дисков которые без разбору пилят всё что попадётся на зуб.
    • IgP
      Нет. Файл находится в неком месте(папке) на диске ОС. Открывается NX-ом запущенном без(не из) ТС. (NX Native)   Прикольно ... Чудеса в решете ...   Ну, здесь получается, с учётом того, что на некую группы есть один человек, который имеет доступ в ТС, нужно писать инструкцию/регламент по доставанию файлов из ТС для работы и обратной их загрузки в ТС. По простому, изначально, я бы это сделал на основе функционала команд: "Export Assembly outside Teamcenter ..." и "Import Assembly into Teamcenter ..."
    • Viktor2004
      Так надо просто посмотреть по координатам машинным. В нуле они или нет
    • atox
      За весь день получилось три раза отрефереровать. Около этого концевика, но не точно в одном месте. Линейка Хейденхайн 486лс
    • mactepnew
      То есть для работы с файлами всё равно будет нужен ТС? Если да, это не подойдет. ТС есть только у одного человека из отдела, у остальных только NX. А работать с файлами нужно всем...   К сожалению, "должны" и "будут" - это разные слова. Должно было быть и обучение NX, и TC, но NX прошли галопом по Европам за 2 дня самый базис, а по ТС обучение еще даже не запланировано. Опять же, с учетом того, что поставить его успели только одному человеку - а потом ввели санкции, и мы больше не можем купить лицензии. Так что мы должны использовать ТС, но не будем) Мы недавно стали филиалом большой компании, где уже давно используют ТС и не работают офлайн. Вот мы и переходим с Creo и Windchill на NX и TC. Я пытаюсь пробить обучение, но начальство только разводит руками и говорит "мы пытаемся". Как долго они будут пытаться неизвестно, но ведь работать надо уже сейчас. Базовые вещи подсказывают "старшие" товарищи из головной организации, но вот операцию экспорта в офлайн они не знают: ну по меньшей мере работать офлайн - это неправильно. Попробую еще достучаться до админов, но есть большие сомнения - это очень важные и очень занятые люди...   А пока что погуглю про именованные ссылки, спасибо за наводку.
×
×
  • Создать...