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

Макросы в Power Mill


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

В 09.08.2018 в 15:04, Chester сказал:

 

я достаточно давно уже делаю обработку деталей по схеме: делаю 1 слой обработки нижней плоскости. например щас делаю деталь - обработка по контуру. делаю 1 слой на (в данном случае) Z= -15 mm. потом нажимаю волшебную кнопку (стрелка 2) и там все раскидываю. то есть делаю перемещение на 14,75 мм вверх, потом 69 копий по -0,25 мм. до Z= - 17,5 мм. высота данной детали 17 мм.

   При таком стиле написания увеличивается вероятность ошибки и перегенерация программы для корректировки  это время, для изучения макросов конечно полезно)))

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


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

При таком стиле написания увеличивается вероятность ошибки и перегенерация программы для корректировки  это время, для изучения макросов конечно полезно)))

не очень понял мысль. это черновая. у меня фрезы черновые 10мм уже точеные-переточеные. я после них даже не меряю. знаю, что допуск + 0.2 +0.3 мм. 

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

инструмент и планер.mac

 

прям тащусь. эти 2 фрезы - черновая и чистовая за ней. в 98% случаев они всегда стоят так. 

 

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

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

string scname = " c какой высоты?"
REAL $workz = input $scname
EDIT ZHEIGHTS AUTOMATIC OFF
EDIT ZHEIGHTS MODEVALUE $workz
PROCESS ZHEIGHTS

ZHEIGHTS ACCEPT

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

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

5b72b53a1eb04_.JPG.0738595ae3881a98fe009d758d42cf89.JPG5b72b5683910f_1.JPG.98014f06f9f50a9a74b46c78b1eb6212.JPG

 

IMPORT TEMPLATE ENTITY TOOLPATH TMPLTSELECTORGUI
"3D-Area-Clearance\Model-Profile.002.ptf"
FORM ZHEIGHTS
EDIT ZHEIGHTS MODE VALUE

string scname = "c какой высоты?"
string $workz = input $scname

EDIT ZHEIGHTS AUTOMATIC OFF
EDIT ZHEIGHTS MODEVALUE $workz  // сюда должно подставиться число, введенное выше.


DELETE ZHEIGHTS ALL
PROCESS ZHEIGHTS
ZHEIGHTS ACCEPT

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

Ну не знаю. Я сейчас не дома, проверить и посмотреть нет возможности.У меня это выражение используется для ввода названия задания. И всё работает. Милл2018.

У вас походу милл 2012?

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

Всегда думал что нельзя открыть готовый NC файл в повермилле и запустить его симуляцию.

Оказывается можно это сделать, но это недокументированная возможность.

С циклами сверления не получилось - получалась немного неправильная траектория.

А с траекторией фрезерования всё ок.

 

Вводим вот эту команду -

SIMULATE TAPEFILE FILEOPEN

 

Появится окно :

TAP.png.37287a7ee7bf649af97ab1aa5ef32ebf.png

 

И после выбора NC файла создастся траектория по шаблону.

Её симуляция будет как у родной.

Единственное - СК конечно должна быть заранее создана в нужном месте.

 

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

Оказывается можно это сделать, но это недокументированная возможность.

Откуда познания недокументированных возможностей?) Заморские форумы?

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

Откуда познания недокументированных возможностей?) Заморские форумы?

они самые )

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

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

Дополнил макрос для проверки на зарезы и столкновения:

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

ECHO OFF DCPDEBUG UNTRACE COMMAND ACCEPT
DIALOGS ERROR OFF
DIALOGS MESSAGE OFF

//объявление массива
string list $Strings={}

int $i = 0
int $j = 0
string $Msbox=''
INT Pos1 =''
INT Pos2 =''

real $ShankLength = size(ENTITY('tool', '').ShankSetValues) //длина хвостовика

string $path = macro_path(0) + "\COLLISION.txt" //путь

tracefile open $path  //открытие файла COLLISION.txt для записи
//Проверка на зарезы и / или столкновения

//Если хвостовик не равен нулю
If $ShankLength != 0 {
//Вызов функции
CALL COLLISION_1()
} else {
//Вызов функции
CALL COLLISION_2()
}

tracefile close      //закрытие файла COLLISION.txt для записи

//открытие файла для чтения $infile
File Open $path for read as infile

//чтение массива строк $infile
File Read $Strings from infile

// Закрытие $infile
File close infile

int $SizeString = size($Strings)-1


STRING $pointName = ''
STRING  $Name = ''

While i<=$SizeString {
if position($Strings[i], "Информация",0) >= 0 {
$pointName = substring($Strings[i], 0, (position($Strings[i], "Информация"))+12 )
$Name = replace($Strings[i], pointName, "") //убирает со строки $Name указанные символы в переменной $pointName
$Msbox= Msbox +crlf+ $Name
} else {
$Msbox= Msbox +crlf+ $Strings[i]
}
$Pos1 = Position($Strings[i],"НЕ ")
$Pos2 = Position($Strings[i],"не ")
$i=i+1
if $Pos1!=-1 or $Pos2 !=-1 {
$j=j+1
} else {
}
}

if $j==2 and $i==2  {
Message info $Msbox
} ELSEIF $j==2 and $i>=3 {
Message Warn $Msbox
} ELSEIF $j<2 {
Message ERROR $Msbox
}


DIALOGS ERROR On
DIALOGS MESSAGE On

}


FUNCTION COLLISION_1 () {
EDIT COLLISION TYPE GOUGE
EDIT COLLISION SPLIT_SEGMENT N
EDIT COLLISION SPLIT_TOOLPATH N
EDIT COLLISION APPLY
EDIT COLLISION TYPE COLLISION
EDIT COLLISION ADJUST_TOOL N
EDIT COLLISION SPLIT_TOOLPATH N
EDIT COLLISION APPLY
}

FUNCTION COLLISION_2 () {
EDIT COLLISION TYPE GOUGE
EDIT COLLISION SPLIT_SEGMENT N
EDIT COLLISION SPLIT_TOOLPATH N
EDIT COLLISION APPLY
}

 

Hide  
Я отключил показ сообщений и объединил их в одно, которое вывожу сам. Если всё хорошо, то сообщение типа Info, если всё хорошо, но врезание ниже заготовки, то сообщение типа Warn, если всё плохо, то сообщение типа Error.

 

Скрины  

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

Hide  

 

 

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

Устал расширение и точку убирать в NC файлах для фанука чтоб стойка видела... вот, пользуйтесь

Точки к имени NC файла.mac

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

Тоже замучался с точкой на стойке Фанук.

Сначала нашел такое решение 

Цитата

FORM OPTIONS
EDIT OPTIONS TREE OPTTREEFILEMGMT
EDIT NCPROGRAM PREFERENCES OPT_EXTENSION "cms_ares_fanuc_mdf"
EDIT NCPROGRAM PREFERENCES EXTENSION "cms_ares_fanuc_mdf" "."

Потом в инструкции вычитал, что можно задавать как "M198 P5001", так и "M198 <O5001.tap>"

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

Потом в инструкции вычитал, что можно задавать как "M198 P5001", так и "M198 <O5001.tap>"

Бит 4 параметра 13115 на 1 чтобы символы < и > вводить можно было с экранной клавы пульта, .tap прописывать .TAP

Ссылка на сообщение
Поделиться на других сайтах
В 24.05.2017 в 15:59, eksodus сказал:

если добавить в настройках Панели состояния в пользовательские поля функцию


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

то получим минимальное Z активной траектории

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

мне удобно, может и ещё кому пригодится...

 

Zmin.png.d8fc6a6de587667393377803bd188f59.png

 

Ребят, а можно ли добавить такую же функцию, только чтобы отображалась статистика траектории?

Ссылка на сообщение
Поделиться на других сайтах
В 09.09.2018 в 09:37, k.sema сказал:

Ребят, а можно ли добавить такую же функцию, только чтобы отображалась статистика траектории?

Statistics.CuttingMoves.Times.Arcs+Statistics.CuttingMoves.Times.Linear+Statistics.LeadsAndLinks.Times.Others+Statistics.LeadsAndLinks.Times.Plunge+Statistics.LeadsAndLinks.Times.Ramp+Statistics.LeadsAndLinks.Times.Rapid

Ссылка на сообщение
Поделиться на других сайтах
В 10.09.2018 в 12:52, dd22 сказал:

Statistics.CuttingMoves

Спасибо !

Только почему то показывает время чуть больше чем в милле

56.png.d3ba60ca99f7d21b39fc83c5e1977d98.png

 

а можно сделать, чтобы вывод был в часах-минутах-секундах ?

и чтобы скругляло до второго знака после запятой ?

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

Господа,подскажите, как удалить папку ncprograms в папке проекта? Бывает, если похожие детали, тупо копирую проект, меняю модель детали и пересчитываю траектории под новую модель. При сохранении проекта под новым именем сохраняются и карты наладки и предыдущие НЦ-файлы. Мне нужно снести все это перед процессированием .

Макрос ругается и просит моего вмешательства. Когда ж предварительно сам ручками удалю папку, макрос отрабатывает до конца без проблем.

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

Господа,подскажите, как удалить папку ncprograms в папке проекта? Бывает, если похожие детали, тупо копирую проект, меняю модель детали и пересчитываю траектории под новую модель. При сохранении проекта под новым именем сохраняются и карты наладки и предыдущие НЦ-файлы. Мне нужно снести все это перед процессированием .

Макрос ругается и просит моего вмешательства. Когда ж предварительно сам ручками удалю папку, макрос отрабатывает до конца без проблем.

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

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • eljer0n
      Большое спасибо! Посмотрю. Но, судя по всему, даже если удастся заставить его сохранять чертеж с трехзначным исполнением, видимо, в той же спецификации правильного отображения не добиться. У Леона с товарищем был об этом разговор, что солид вроде как не воспринимает исполнения дальше двузначного. Хотя, может и я неправильно понял. Вернусь к этому вопросу чуть позже. Еще раз спасибо за совет.
    • mrVladimir
      @gudstartup @Viktor2004 спасибо Вам за такое участие.  Я вот тоже в maintenance manual заглянул (наконец-то ). А вот фраза "при замене FROM/SRAM необходимо ..." (под пунктом 3 во вложении) не подразумевает, что появление ps5523 произойдет только если мы решим на нашей чпу поменять именно FROM/SRAM. А при замене других печатных плат (в том числе и материнской ) необходимо только как написано в пункте 2 восстановить данные памяти SRAM и, при необходимости, файлы пользователя. Нет?
    • maxx2000
      @davidovka это же очевидно. Вдруг нужного размера не окажется  как в анекдоте  
    • davidovka
      А для чего и сотни исполнений в таблице и гибкость одновременно?
    • ak762
      в СВ есть встроенный калькулятор для расчета балок при различных сценариях нагружения если ваш профиль монорельса совпадает с предопределенными профилями то можно прикинуть поведение монорелься без анализа на картинке 2 расчета двутавровой балки в качестве теста    
    • Viktor2004
      @mrVladimir не спешите отчаиваться. Вопрос спорный Я завел новую тему в которой мы это выясним  
    • Viktor2004
      Уважаемые специалисты. У кого был опыт замены фануковских плат? Именно на ЧПУ. Пожалуйста напишите какое ЧПУ и какую плату меняли И результат. Подошла или не подошла  
    • gudstartup
      @mrVladimir к сожалению с вашей платой все не так просто вам придется приобрести ее клон то есть она должна быть подготовлена продавцом и в нее должен быть записан серийный номер вашей старой платы он на штрихкоде а так готовить умеют не все или готовьтесь к сертификации опций также есть еще один аппаратный вариант но не каждый будет на новую плату м\сх перепаивать с риском превратить ее в кирпич.   если бы у вас был отдельный модуль процессора то вы бы просто переставили его в новую плату и все а с этой платой из-за ее не модульности намучаешься
    • SAPRonOff
      в окне состава изделия снять замочки у колонки позиция, тогда генератор колонки состава изделия не будет им присваивать свои значения автоматически, а запомнит то - что вы поставили или стояло до изменений проекта: 
    • Kelny
      Смотреть надо процедуру main, почти в самом конце: Слева от этих строк на сером поле ставите красные точки (клик мышкой) и запускаете макрос, когда макрос дойдёт до обозначенных строк можно будет наводить мышку на перменные, например, sPathName и смотреть значения, что бы определить где сбой: Для продолжения выполнения макроса нажимаем зелёный треугольничек (как кнопка Play).      
×
×
  • Создать...