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

Макросы в Power Mill


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

Всем доброго времени суток! Обращаюсь ко всем знатокам.

На работе очень часто приходится смещать траектории по Z. При этом создается копия. Оригинал конечно удаляю, а копию переименовываю на имя оригинала. На сколько мне нужно опустить или поднять траекторию, высчитываю калькулятором. Замучился я это делать и решил написать макрос который бы сам это все делал. Макрос написал и он прекрасно работает. Вот только еще хочу его усовершенствовать. Хочу чтобы не запрашивал величину, а рассчитывал ее сам. Но мне нужна координата Z минимальная. Я ее узнаю из контекстного меню траектории. Пункт "Свойства". Это визуально. А как это значение получить в переменной?

Снимок.JPG

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


Добрый день. 

Тут в форуме пролетало как-то определение минимального-максимального значения по Z для активной траектории. Попробуйте.

 

limits('toolpath','')[4]

 

если 4 заменить на 5 - максимальное Z активной траектории

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

Здравствуйте. Как в макросе PowerShape прописать создание локальной системы координат относительно активной с указанием вектора? Пожалуйста, подскажите.

 

CREATE WORKPLANE SINGLE
49,0684       5,0736       4,1240

Дальше не получается.

 

Это вот свойства существующей системы координат (из окна - информация о выбранных объектах)

Origin:         X-coord      Y-coord      Z-coord
                 49,0684       5,0736       4,1240
 X Vector:             i            j            k
                  0,9924      -0,0763      -0,0970
 Y Vector:             i            j            k
                 -0,0973    2,602e-18      -0,9953
 Z Vector:             i            j            k
                  0,0759       0,9971      -0,0074

 

Ссылка на сообщение
Поделиться на других сайтах
12 часов назад, 3rash@mail.ru сказал:

CREATE WORKPLANE SINGLE
49,0684       5,0736       4,1240

Дальше не получается.

 

Скрытый текст

CREATE WORKPLANE SINGLE
POSITION
X 0
Y 0
Z 0
ACCEPT
MODIFY
X 49.0684
Y 5.0736
Z 4.1240
XAXIS DIRECTION
X 0.9924
Y -0.0763
Z -0.0970
ACCEPT
YAXIS DIRECTION
X -0.0973
Y 0
Z -0.9953
ACCEPT
ZAXIS DIRECTION
X 0.0759
Y 0.9971
Z -0.0074
ACCEPT
ACCEPT

 

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

Раз уж пошла такая пьянка)) про PowerShape: не подскажите ли знатоки, есть команда, запускающая определенный макрос в шейпе?

Типа миловского "macro (имя макроса)"

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

Раз уж пошла такая пьянка)) про PowerShape: не подскажите ли знатоки, есть команда, запускающая определенный макрос в шейпе?

Типа миловского "macro (имя макроса)"

MACRO RUN

C:\macro.mac

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

 

  Показать содержимое

CREATE WORKPLANE SINGLE
POSITION
X 0
Y 0
Z 0
ACCEPT
MODIFY
X 49.0684
Y 5.0736
Z 4.1240
XAXIS DIRECTION
X 0.9924
Y -0.0763
Z -0.0970
ACCEPT
YAXIS DIRECTION
X -0.0973
Y 0
Z -0.9953
ACCEPT
ZAXIS DIRECTION
X 0.0759
Y 0.9971
Z -0.0074
ACCEPT
ACCEPT

 

Спасибо! А как Вы догадались?))) Или в мануале это есть? Поиск в мануалах мне ничего не дал.

Ссылка на сообщение
Поделиться на других сайтах
20 минут назад, 3rash@mail.ru сказал:

Спасибо! А как Вы догадались?))) Или в мануале это есть? Поиск в мануалах мне ничего не дал.

Частично из записанного макроса.

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

Привет ребята. Помогите разобраться и иерархией 2д элементов.

2021-11-02_131556.jpg

Есть два разных выступа, разной высоты, вдали друг от друга. Собственно сами выступы создаются из кривых посредством макроса. Повермилл ругается, что некорректна иерархия. В принципе понятно на что, но могу понять как это обойти.

2021-11-02_131720.jpg

 

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

 

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

 

2021-11-02_131632.jpg

 

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

Идея такая, пробежать по выделенным select кривым в модели, создать список всех высот. Затем пробежаться по списку с высотами, выбрать все кривые одной высоты, создать на их основе featuregroup с выступами, затем следующая высота, создание featuregroup с выступами другой высоты итд и затем создание стратегий по обработке каждой группы с последующем их объединением в общем посте

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

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

Всем, здравствуйте!

Есть необходимость переименовывать набор отверстий. РМ2021. Траектории переименовываю, границы. Но как получить имя конкретного отверстия? Ведь надо сперва обратиться к самому набору, а потом и к отверстию. И делать с ним манипуляции.  Подскажите!

Ссылка на сообщение
Поделиться на других сайтах
17.11.2021 в 18:23, syncomp сказал:

Всем, здравствуйте!

Есть необходимость переименовывать набор отверстий. РМ2021. Траектории переименовываю, границы. Но как получить имя конкретного отверстия? Ведь надо сперва обратиться к самому набору, а потом и к отверстию. И делать с ним манипуляции.  Подскажите!

Через components. Где-то вроде уже была похожая тема

В справке тоже должно быть

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

Через components.

К сожалению не умею пользоваться этой возможностью. О существовании знаю, но пользоваться не умею. В справке не нашел.

Ссылка на сообщение
Поделиться на других сайтах
17.11.2021 в 17:23, syncomp сказал:

Есть необходимость переименовывать набор отверстий. РМ2021

используйте переменную $featuresetName

 

 

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

К сожалению не умею пользоваться этой возможностью. О существовании знаю, но пользоваться не умею. В справке не нашел.

https://forums.autodesk.com/t5/powermill-forum/macro-for-rename-featureset-components/td-p/7757906

CTTL+C - CTRL+V

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
20.11.2021 в 03:49, eksodus сказал:

используйте переменную $featuresetName

До сих пор мучаюсь с переименованием отверстий!!! Подсказки eksodus и scorpion1007  не помогли. С форумным кодом разбирался долго. А переменная $featuresetName ничего не дала.

Я не могу получить имя набора отверстий!  Чтобы переименовать каждое отверстие в отдельном наборе, нужно знать его имя. Переименование каждого набора через FOREACH происходит великолепно. Даже получается показать имя! каждого отверстия в активном наборе. Но чтобы переименовать конкретное отверстие в активном наборе нужно знать его имя! И вот с этим проблема. Получить имя стандартным способом не получается. Я подразумеваю, что тип имени string. Но когда определяю переменную с этим типом (STRING fName = featureset.name), то РМ дает ошибку, что тип неправильный! Получить имя инструмента или траектории таким образом можно без проблем.

Ecsodus.PNG

type.PNG

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

Зачем мне все это нужно? Хочу написать макрос, который бы создавал все наборы отверстий всей модели по диаметру, но не нужные мне наборы удалял. Иногда бывает, что в наборе получаются двойники и при центровке и сверлении отверстий они обрабатываются дважды. Это можно контролировать несколькими путями. По количеству отверстий в наборе, открывая их в дереве, либо через "Свойства" контекстного меню. Но я считаю, что лучше дать имя набору с указанием диаметра и числа элементов например, ф6,8(18). Сразу видно Что в наборе имеется 18 отверстий диаметром 6,8. Это первый этап. В принципе переименование каждого отверстия в отдельном наборе уже не нужно. Но дело принципа!

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

Сейчас написал такой макрос:

STRING Nabor = ""
FOREACH fs IN folder('featureset') {
$Nabor =$fs.name
Message info Nabor
}

Имена наборов показываются! Значит имя набора все-таки имеет тип string. А какой тип у fs?

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

Объект

Нашел!!!

ENTITY fset = entity('FeatureSet','')
string nabor = $fset.name
Message info nabor

Активный набор отверстий

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
    • Борман
    • gudstartup
      а ведь все работало...
×
×
  • Создать...