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

Макросы в Power Mill


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

2 часа назад, syncomp сказал:

Похоже никто не знает как это сделать...

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

я точно не уверен - но вероятность положительного результата есть

 

к макросам это никаким боком не относится

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


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

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

я точно не уверен - но вероятность положительного результата есть

 

к макросам это никаким боком не относится

@eksodus А ты же менял файл ресурсов. Помнится, еще окно настроек переходов в PM2017 по-человечески сделал, я долго пользовался. На тебя вся надежда в этом вопросе.

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

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

Помнится, еще окно настроек переходов в PM2017 по-человечески сделал, я долго пользовался.

да я и в 2016 для себя подредактировал файл ресурсов - окна заголовков, менюшки, названия и тд

всё что не умещалось в рамки границы текста

просто не люблю когда фраза обрывается на полуслове

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

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

окно выбора модели и типа файлов - это виндовское окно со своими настройками на верхней панели

а окно открытия проекта = это повермилловское окно, которое обрабатывает вызовы винды

 

поэтому я и не уверен что замену реально сделать через ресурсы, тут посмотреть нужно будет

 

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

 

но и тут можно будет выкрутиться - сделать копию ресурса и удалить строку с выбором типа файла, потом вставить этот ресурс с новым названием, найти в экзешнике милла откуда идёт вызов на этот ресурс и переназначить имя на новое

но в экзешник милла я точно не полезу - там всё покриптовано по самое нехочу

 

так что если через ресурсы не получится - то я дальше пасс

 

Ссылка на сообщение
Поделиться на других сайтах
В 16.10.2017 в 03:40, syncomp сказал:

Еще один немаловажный для меня вопрос. Открытие  проекта сопровождается открытием окна в виде дерева. На мой взгляд это окно неудобно. А вот окно Импорта модели - самое то. Можно как- заменить эти окна?Чтобы при выполнении команды открытия проекта для его выбора открывалось окно вида импорта модели?

string filename = ""
$filename = fileselect "Open project"
project recovery open ${dirname(filename)}

Сохраняем этот макрос, в такое место чтобы путь не содержал пробелов.

 

Потом редактируем в файлах Powemill\sys\hci\powermill.ndb\source\table\menu и Powemill\sys\hci\powermill.ndb\source\table\form

ищем текст "PROJECT RECOVERY OPEN PROJSELECTOR"

и заменяем на "MACRO ВАШ\ПУТЬ\ДО\МАКРОСА.mac".

Рекомендую сделать резервные копии этих файлов.

 

Чтобы открыть проект выбираем любой файл в папке проекта.

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

impact огромное спасибо. Все получилось. Единственное, что приходится открывать папку проекта. Но это мелочи

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

 Уважаемы Eksodus На Рутрекере увидел ваши посты о РМ2018. Что скажете? Есть уже нормальная версия для уверенной установки на комп?

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

Так если ты читал там всю необходимую информацию про Mill 2018, то и ответ на свой вопрос должен был найти. Такие вещи там и обсуждают.

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

Не получается перебирать в папке моделей модели для того чтобы сделать эту геометрию справочной. Перебор по аналогии с папкой траекторий не идёт

DIALOGS ERROR OFF
DIALOGS MESSAGE OFF

STRING $FolderName = dirname(pathname(entity('Toolpath',''))) //определяет путь по активной траектории
//определяет путь по активной траектории
INT $nmb =1

FOREACH t IN folder ($FolderName) {

ACTIVATE TOOLPATH $t.Name

 


}
RESET LOCALVARS // очистить временные переменные

DIALOGS ERROR On
DIALOGS MESSAGE On

может знает кто как перебирать?

 

Операции с файлами моделей.7z

Безымяацанный.png

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

Не получается перебирать в папке моделей модели для того чтобы сделать эту геометрию справочной. Перебор по аналогии с папкой траекторий не идёт

DIALOGS ERROR OFF
DIALOGS MESSAGE OFF

STRING $FolderName = dirname(pathname(entity('Toolpath',''))) //определяет путь по активной траектории
//определяет путь по активной траектории
INT $nmb =1

FOREACH t IN folder ($FolderName) {

ACTIVATE TOOLPATH $t.Name

 


}
RESET LOCALVARS // очистить временные переменные

DIALOGS ERROR On
DIALOGS MESSAGE On

может знает кто как перебирать?

Перебор объектов в активной папке.

FOREACH ob IN folder(active_folder()) {
// делаем что необходимо
}

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

Подскажите, как извлечь диаметр отверстия и создать сверло с диаметром, соответствующим этому отверстию ?

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

 

16 часов назад, eksodus сказал:

Подскажите, как извлечь диаметр отверстия и создать сверло с диаметром, соответствующим этому отверстию ?

String[] para11 = new String[999];
                      para11 = pm11.GetEntityParameterInfo(PowerSolutionDOTNetOLE.clsPowerMILLOLE.enumPowerMILLEntityType.pmFeatureSet, ss29[ii11]);

 

if (para11[ii12].IndexOf("DIAMETER")>-1)
                          {
                              ss31[ii30] = para11[ii12].Substring(para11[ii12].IndexOf(":") + 1).Trim();
                              ii14++;
                              ss39[ii30] = Convert.ToString(ii14);

 

 

 pm11.Execute("CREATE TOOL ; DRILL FORM TOOL");
                        pm11.Execute("RENAME TOOL ; sverlo" + ss43[ii11] + "_otv_" + ss47[ii11] + "_" + ss46[ii11]);
                        pm11.Execute("EDIT TOOL ; DIAMETER '" + ss43[ii11] + "'");

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

 

String[] para11 = new String[999];
                      para11 = pm11.GetEntityParameterInfo(PowerSolutionDOTNetOLE.clsPowerMILLOLE.enumPowerMILLEntityType.pmFeatureSet, ss29[ii11]);

 

if (para11[ii12].IndexOf("DIAMETER")>-1)
                          {
                              ss31[ii30] = para11[ii12].Substring(para11[ii12].IndexOf(":") + 1).Trim();
                              ii14++;
                              ss39[ii30] = Convert.ToString(ii14);

 

 

 pm11.Execute("CREATE TOOL ; DRILL FORM TOOL");
                        pm11.Execute("RENAME TOOL ; sverlo" + ss43[ii11] + "_otv_" + ss47[ii11] + "_" + ss46[ii11]);
                        pm11.Execute("EDIT TOOL ; DIAMETER '" + ss43[ii11] + "'");

На синтаксис ругня

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

@dd22  - макрос выдаёт ошибку в первой же строке в ПМ2016.

 

Я уже нашёл другое решение данной проблемы, но хотелось бы увидеть и Ваш вариант и сравнить.

Можете подкорректировать, пожалуйста, если не сложно ?

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

Я выставил выше  выдержку из кода написанную на с#, там  содержались команды подходящие для макросов для создания инструмента, я думал чем то поможет.

если расшифровать, то примерно так

 

"CREATE TOOL ; DRILL FORM TOOL"
"RENAME TOOL ; "sverlo5"
"EDIT TOOL ; DIAMETER '5'

 

вместо 5 какая-то переменная должна быть извлеченная ранее.

 

Макросы конечно удобная вещь, но гораздо комфортней создавать приложения используя тот же Vb или С#, подключив их к Powermill

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

Я выставил выше  выдержку из кода написанную на с#, там  содержались команды подходящие для макросов для создания инструмента, я думал чем то поможет.

я в институте учил только QBasic - на химических специальностях тогда другого не было, так что код C# для меня непонятен будет

суть то понятна по именам команд и переменных, но синтаксис не очень

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

гораздо комфортней создавать приложения используя тот же Vb или С#, подключив их к Powermill

ну я понял, что это Vb или что-то вроде, - ведь PowerSolutionDOTNetOLE  используется при написании своих плагинов к миллу

но - есть же тут на форуме HTML шаблоны, которые используют похожий синтаксис (например для 4-х осевой черновой обработки),

вот я и подумал - может это что-то такого же типа

 

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

вместо 5 какая-то переменная должна быть извлеченная ранее.

да, там через переменные и функции

 

ИТОГ:

Макрос для быстрого создания центрования и сверления, где все сверла соответствуют диаметрам отверстий.

 

Сам макрос, по сути, состоит из нескольких макросов, соединённых в один:

- Макрос для создания 2D Элементов строго для 3-осей. Для PM2016.

Для 2017-2018 милла будут ошибки, или неправильное создание отверстий (поэтому чуть изменить для себя нужно).

- Макрос для разбивания 2D Элементов на группы по Диаметру

- Макросы для создания инструментов, центрования и сверления

- Макрос для переименования траекторий по номеру и имени инструмента

 

Что делает этот макрос:

1) Создаёт 2D Элементы для ВСЕХ отверстий

2) Создаёт инструмент "Центровка" и центрует ВСЕ отверстия

3) Разбивает 2D Элементы на группы по Диаметру

4) Создаёт сверла для каждой группы с соответствующим диаметром

5) Для каждого сверла выбирается 2D Элемент с соответствующим отверстием и создаётся и считается траектория сверления

6) В процессе создания 2D Элементов, инструментов и траекторий - эти группы раскрываются в Проводнике милла для наглядности

7) В конце все траектории переименовываются по порядковому номеру и инструменту

8) Также в макросе происходит проверка наличия инструмента "Сверло" с нужным диаметром.

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

 

Результат - ниже на скриншоте:

Holes.png.e9a80f0e9f1f7195aa9d5a928d212647.png

 

PS: конечно - макрос ещё нуждается  в улучшении, например:

- добавить режимы в зависимости от диаметра сверла

- выдавать запрос на наличие классных диаметров, с дальнейшим сверлением отверстия сверлом с меньшим диаметром

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

 

А пока - такой вот (не?)-простой макрос для однократного использования в одной Системе Координат.

 

Holes.zip

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

В 18 работает, хороший макрос

хорошо )

только не спеши  - я через полчасика выложу усовершенствованный макрос на сверление с разных установов

а с этим макросом так не сделаешь, его преимущество - относительная простота

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

Новый макрос для сверления. Поддерживает сколько угодно установов (это достигается сортировкой элементов по папкам).

 

Что изменилось:

- теперь все отверстия сортируются от меньшего к большему

- можно делать сверление со многих установов

- добавил несколько разветвляющихся циклов для выбора отверстий и для выбора типа сверления ("Глухое" или "Полным диаметром")

- можно сверлить не все отверстия, - путём выбора нужных (в случаях, например, если они сквозные и были просверлены с 1 установа, то со 2 установа их уже не нужно сверлить)

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

- добавил комментарии на русском

 

Работа макроса:

1) Импортируем модель Holes2 и активируем СК1

2) Запускаем макрос Holes2 и на первый вопрос (Есть ли составные отверстия) отвечаем ДА

Модель принимает полупрозрачный вид для облегчения выбора составных частей отверстий.

3) Выбираем мышкой нужные отверстия (режим выбора мышкой автоматически переключится для удобства).
В данном случае можно выбрать все отверстия, и нажимаем "Продолжить".

 

011.png.6d60b9bed0031b1200ee28233add4274.png

 

4) Когда макрос создаст инструменты и траектории, он станет спрашивать для каждого размера отверстий -
сверлить насквозь ? В данном примере для первых трёх типов отверстий надо выбрать НЕТ,

 

012.png.c5387d033e4b54846f0a4cb7db53dfda.png

 

а для последнего 2D Элемента справа, с двумя отверстиями 12,5 - ДА

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

 

5) Активируем СК 2 и опять запускаем макрос

6) На вопрос "Есть ли составные отверстия" отвечаем ДА (чтобы не сверлить отверстия 12,5 просверленные насквозь уже с другой стороны)

и выбираем два отверстия по центру

 

013.thumb.png.e8a04055ba92e04bb70c1cbcad9bdc03.png

 

7) Эти два отверстия - меньшего диаметра, чем с обратной стороны, поэтому сверлим их насквозь, нажимая ДА.

 

014.thumb.png.4233661cda7380ba1cf51909927e0398.png

 

8) Активируем СК 3 и опять запускаем макрос

9) Тут всего одно глухое отверстие, поэтому на вопрос "Есть ли составные отверстия" отвечаем НЕТ

По сути - теперь срабатывает старый макрос, который выбирает ВСЕ отверстия и создаёт по ним 2D Элементы.

 

015.png.0872253add5c507a2ff378e7fc49c791.png

 

10) Когда спросит сверлить насквозь - отвечаем НЕТ. (или, если нужно сделать чуть глубже с зарезом - отвечаем ДА)

 

Всё, работа макроса закончена.

В каждом установе будут созданы траектории центрования и сверления для выбранных отверстий.

 

Сам макрос с тестовой моделькой: Holes2.zip

 

 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • MagicNight
      Да дело не в бедности, ищу оптимальный ноут, пока не могу найти.
    • Bot
      АСКОН объявляет о старте открытого бета-тестирования новой версии КОМПАС-3D и приложений. Коммерческая версия КОМПАС-3D v23 выйдет летом 2024 года, но уже сейчас испытать новинки может любой желающий. Бета-тестирование — это проверка новой функциональности в «полевых» условиях, когда пользователи знакомятся с нововведениями на собственных проектах и сценариях работы, а также проверяют совместимость со своим программно-аппаратным обеспечением. Новая версия создавалась в соответствии с дорожной картой АСКОН для задач проектирования изделий высокотехнологичных отраслей и стала еще более функциональной и производительной. При разработке учитывались предложения пользователей по темам трехмерного моделирования, подготовки чертежей и спецификаций, приложений для машиностроения, приборостроения и строительства. Бета-версия КОМПАС-3D открыта для всех. Дистрибутив предоставляется бесплатно на время проведения тестирования. *** Период проведения бета-тестирования: с 6 [...] View the full article
    • fenics555
      Уважаемые Дамы и Господа!  Есть библиотечные изделия, которые почему-то очень доооооолго грузятся в сборках. Я хочу попросить Вас потестить их и сказать в чем причина, ибо совсем невозможно работать. gost18829-73.prt.1 pin_split.prt.1 Как это всё можно ускорить?
    • gudstartup
      а вы хоть станок проверяли по программе на изделии на точность прежде чем товарищей этих выгнать? если нет то грешите на самих себя! система в наших краях еще не распространенная поэтому и тем тут нет надо в поднебесную писать
    • AlexArt
      Ну допустим, ты и на другом ресурсе это опубликовал. А не коммуниздил. Но вот продвигать воровство от государства, ворующее из Вики, это верх мерзости.
    • maxx2000
      Ах, да. Фильтры выбора добавили. Теперь можно выбрать только то что видно на первом плане, а не вместе с тем что с обратной стороны детали. В общем надо обновляться. Как раз работёнка на прессформу нарисовалась 
    • 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.мигает больше у меня вариантов нет....  
    • ДОБРЯК
      Решите любым алгоритмом. Тогда будет конструктивный разговор. :=)
×
×
  • Создать...