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

Макросы в 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 пользователей

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




×
×
  • Создать...