Frezer_PU

Редактирование постов SolidCAM

344 сообщения в этой теме

Здравствуйте уважаемые форумчане! Подскажите пожалуйста как побороть, вывод в пост четвертого знака после запятой(0,0001)  в адресах(X.Y.Z.R.)! Редактированию подвергся стандартный пост gMilling_Haas_3x! SolidCAM SP3_HF3! Спасибо!

post-46391-0-17707800-1443861537_thumb.png

Поделиться сообщением


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


Здравствуйте уважаемые форумчане! Подскажите пожалуйста как побороть, вывод в пост четвертого знака после запятой(0,0001)  в адресах(X.Y.Z.R.)! Редактированию подвергся стандартный пост gMilling_Haas_3x! SolidCAM SP3_HF3! Спасибо!

В настройках СолидКама три после запятой?

Поделиться сообщением


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

В постпроцессоре (файл с расширением  gpp) НУЖНО ЧТО БЫ запись была такой

 

numeric_def_f   = '5.3'
    integer_def_f   = '5.0(p)'
    gcode_f         = '2.0(p)'
    mcode_f         = '2.0(p)'
    xpos_f          = '5.3'
    ypos_f          = '5.3'
    zpos_f          = '5.3'
 
А у Вас видимо такая 
 
numeric_def_f   = '5.4'
    integer_def_f   = '5.0(p)'
    gcode_f         = '2.0(p)'
    mcode_f         = '2.0(p)'
    xpos_f          = '5.4'
    ypos_f          = '5.4'
    zpos_f          = '5.4'
2 пользователям понравилось это

Поделиться сообщением


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

 

В постпроцессоре (файл с расширением  gpp) НУЖНО ЧТО БЫ запись была такой

 

numeric_def_f   = '5.3'
    integer_def_f   = '5.0(p)'
    gcode_f         = '2.0(p)'
    mcode_f         = '2.0(p)'
    xpos_f          = '5.3'
    ypos_f          = '5.3'
    zpos_f          = '5.3'
 
А у Вас видимо такая 
 
numeric_def_f   = '5.4'
    integer_def_f   = '5.0(p)'
    gcode_f         = '2.0(p)'
    mcode_f         = '2.0(p)'
    xpos_f          = '5.4'
    ypos_f          = '5.4'
    zpos_f          = '5.4'

Спасибо огромное! Сделал все как вы сказали и все стало как надо! 

Изменено пользователем Frezer_PU

Поделиться сообщением


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

Здравствуйте уважаемые форумчане! Вопрос следующий! Что и где надо поменять в посте чтоб в программу при включении коррекции в строку G43 H01 Z80 был вывод D соответствующий номеру инструмента при этом дальше в программе не где не фигурировал ??  Сейчас вид УП такой post-46391-0-84976200-1445587084_thumb.png а надо вот такойpost-46391-0-44590600-1445587131_thumb.png Заранее большое спасибо!

Поделиться сообщением


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

Алгоритм написания постпроцессоров для каждого отдельного случая может кардинально отличатся от аналогичных постпроцессоров даже при одинаковом имени станка и системы ЧПУ(CNC).

НУЖЕН КОНКРЕТНЫЙ ПОСТПРОЦЕССОР ДЛЯ РЕШЕНИЯ ТЕКУЩЕЙ ПРОБЛЕМЫ.

Поделиться сообщением


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

 За базу был взят все тот же стандартный пост что и сообщением выше   gMilling_Haas_3x  из SolidCAM SP3_HF3gMilling_Haas_3x.rar

Поделиться сообщением


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

Может их этих что-то подойдет.Посмотрите.


Из предложенного выше списка пост-ов (HAAS2.RAR) постпроцессор TM1  наиболее подойдет Вам.

HAAS2.RAR

Поделиться сообщением


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

Из предложенного выше списка пост-ов (HAAS2.RAR) постпроцессор TM1  наиболее подойдет Вам.

 

Спасибо за посты! Но к сожалению  постпроцессор TM1 не работает, а именно при попытке вывести УП выдает ошибку!post-46391-0-59708600-1445616721_thumb.png

Поделиться сообщением


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

Да, я совсем зыбыл .Постпр-р на ТМ1 БЫЛ СДЕЛАН В 2009 году.Для SOLIDCAM-a 2014  2015 годов не подходит.

В понедельник исправлю.Дам знать дополнительно.

Поделиться сообщением


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

Уважаемые форумчане! Поделитесь постпроцессором для SolidCAM 2011 для ЧПУ Fanuc 0i-TD для токарного станка с приводным инструментом!!!

Буду весьма признателен.

vadim.boridko@mail.ru

Поделиться сообщением


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

Уважаемые форумчане! Поделитесь постпроцессором для SolidCAM 2011 для ЧПУ Fanuc 0i-TD для токарного станка с приводным инструментом!!!

Буду весьма признателен.

vadim.boridko@mail.ru

Поделиться сообщением


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

Поделитесь постпроцессором для SolidCAM 2015 для ЧПУ Fanuc 0i-TD фрезерный 5координатный XYZбашка, ACстол

Изменено пользователем lnslns

Поделиться сообщением


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

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

Поделиться сообщением


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

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

Поделиться сообщением


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

Вот какой-то есть.Не открывал .Не пробовал.Не тестировал.

Fanuc5x.rar

Изменено пользователем sennik53

Поделиться сообщением


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

Здравствуйте, Есть ли в постпроцессоре solidcam функция предпросмотра следующих координат XY . Мне нужно подсчитать угол между векторами при линейной интерполяции.Например если угол = 90 градусам то вставляем функцию G9(точный останов в конце кадра в Baltsystem).

Изменено пользователем boldenon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Здравствуйте, Есть ли в постпроцессоре solidcam функция предпросмотра следующих координат XY . Мне нужно подсчитать угол между векторами при линейной интерполяции.Например если угол = 90 градусам то вставляем функцию G9(точный останов в конце кадра в Baltsystem).

Не постесняюсь спросить ! Зачем Вам это? САМ системы для того и нужны чтоб не считать не чего в ручную!  Сгенерируйте УП, откройте в CIMCO сделайте Backplot для визуализации траектории,  пройдитесь по кадрово и пропишите нужную вам функцию в нужном месте!   

Поделиться сообщением


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

Постпроцессор для того и нужен чтобы считать автоматически,а не вручную.А если у меня тыс 5 строк кода? Весь день вставлять буду? Нужно это для того чтобы перебега в углах траектории небыло станок старый, потрепанный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Весь день вставлять буду? Нужно это для того чтобы перебега в углах траектории небыло станок старый, потрепанный.

Какой станок?  люфты на станке или в  САМ системе? можете описать подробнее причины возникновения перебегов? либо приложите проэкт!  

Поделиться сообщением


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

Стан

Какой станок?  люфты на станке или в  САМ системе? можете описать подробнее причины возникновения перебегов? либо приложите проэкт!

Станок ВМ141.Люфт в ШВП.с люфтами в CAM не разу не сталкивался.причина ну наверно люфты+привода на осях не особо хорошо настроенны из-за этих самых люфтов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
наверно люфты+привода на осях не особо хорошо настроенны из-за этих самых люфтов.

так это вам надо к слесарям РМЦ обратиться чтоб убрали люфты, а подстраивать пост под убитый станок это не благодарное дело!  

Поделиться сообщением


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

Пример: станок идет с x0y0 в x100у0 с подачей 300 мм/мин. Следующий кадр в y100 соответственно между траекториями угол 90 градусов. Станок по факту не доедит или переедет координату x100 ну скажем на 0.1 мм зависит от подачи.это все при G27 т.е. с автоматическим замедлением в углу. Можно поставить G29 точный останов в конце кадра. Но тогда мы получим "дерганье" на каждом кадре.т.е нам надо вставить G9 только в тот кадр за готорым следует "резкое" изменение траектории.я видел как это реализованно в посте для nx cam. Хотелось бы реализовать что то подобное. Для этого нужно расчитать угол между текущим и след кадром. Мне интересно есть ли в постпроцессоре для solidcam возможность получить при формировании кадра.координаты точки из следующего кадра.или значении угла между ними(как например в ductpost).

Нету таких слесарей у нас.и ремонтировать станок ни кто не будет.а работу им подавай(начальству).

Поделиться сообщением


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

Рекомендую в задании обработки ставить "птички" для "применить скругление углов" (ставьте минимально возможный или необходимый), после чего Вы сможете по системным переменным start_angle и end_angle определить угол дуги и делайте с ней, что заблагорассудиться.

Поделиться сообщением


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

после чего Вы сможете по системным переменным start_angle и end_angle определить угол дуги и делайте с ней, что заблагорассудиться.

  

 

Вы бы не могли по подробнее описать где находятся эти системные переменные и каким образом они определяют угол дуги! Пример выше похож на рукописное сост Уп

станок идет с x0y0 в x100у0 с подачей 300 мм/мин. Следующий кадр в y100

! так как САМ без всяких скруглений и коррекции обкатывает острый угол по дуге!

post-46391-0-04928500-1454583007_thumb.png

post-46391-0-49980300-1454583257_thumb.png

 

или возможно я что то не так понимаю!?

Изменено пользователем Frezer_PU

Поделиться сообщением


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

 В некоторых стратегиях есть скругление углов.

 

post-37298-0-36924200-1454590109.jpg

Поделиться сообщением


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

Здравствуйте   Юрий Викторович ! Они та есть только SC и без этой настройки делает обкат угла по дуге! 

Поделиться сообщением


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

Это актуально если не применяешь G41 G42. С ПРИМЕНЕНИЕМ ЭТИХ  ФУНКЦИЙ должен быть так называемый (если говорить очень старыми терминами систем  ЧПУ) ЗАМКНУТЫЙ КОНТУР - т.е.где все внешние углы должны быть скруглены. Достаточно много таких систем где нужно быть осторожными (2С4, CNC-Ф, CNC-600, CNC-646  и др.)

Поделиться сообщением


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

проверьте для вывода следующ коорд в посте вставить

xnext ynext znext

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
проверьте для вывода следующ коорд в посте вставить xnext ynext znext

Вы можете на скринах показать в каком конкретно  месте в посте нужно вставить   xnext ynext znext чтоб все получилось!? 

Поделиться сообщением


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

проверьте для вывода следующ коорд в посте вставить

xnext ynext znext

Попробовал использовать, выводится координаты положения после смены инструменты. :sad:

Поделиться сообщением


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

Frezer_PU

 

Можно сделать острые углы.
Стратегия Обработка кармана- Технология- Дополение - Уклон стенок - Тип внешних углов.
Есть: Острый угол и Цилиндрическое скругление

 

Радиус скругления равен, Радиус инстурмента + припуск.

Эквидистанта у вас же равномерна от контура детали.
В чем суть непонятно

Изменено пользователем orfey90

Поделиться сообщением


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

Тип внешних углов- не то

Изменено пользователем orfey90

Поделиться сообщением


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

В файле поста в процедуре @arc добавте следующие строки:

angle_limit = abs(start_angle - end_angle)
if angle_limit ge 90 then
    {'G9'}
endif


и в процедуре @init_post строку:

    global numeric angle_limit
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Эквидистанта у вас же равномерна от контура детали. В чем суть непонятно
 

А по Вашему какая должна быть  Эквидистанта?

Тип внешних углов- не то

Автор вопроса не указывал какой тип углов (внеш. или внутр.) ему нужно! 

Поделиться сообщением


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

Мне нужно вычислить угол между векторами движения. Чтобы при смене направления движения на угол скажем большей чем 45 градусов была вставка G09 и это не обязательно должны быть углы детали.нужен угол именно смены направления движения инструмента.

И в том числе интересует именно возможность "предпросмотра" следующего кадра УП в постпроцессоре. Для расчета "пепепада" подач в соседних кадрах

Поделиться сообщением


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

Дуга в углах и меняет вектор движения. Один из вариантов я, предложил. Можно проще.

 

if arc_size ge 45 then

  {'G9'}

endif

 

Что не удовлетворяет? Если угол больше или равен 45 град, дописываем G9. Так понятнее?

Поделиться сообщением


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

Спасибо за ваш совет. Может вы меня не правильно поняли или я неправильно выразился. Мне нужно именно знать следующий кадр в УП. Есть ли такая возможность в Solidcam?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Мне нужно именно знать следующий кадр в УП. Есть ли такая возможность в Solidcam?

Нет такои взможности, только если в посте обоити. Много работы. 

Поделиться сообщением


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

Нет такои взможности, только если в посте обоити. Много работы.

Спасибо, это мне и требовалось узнать.

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

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

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



  • Сообщения

    • _Ghost_
      Доброго времени суток. Взял у регионального представителя полную версию Adem 9.05 с временным ключем, чтобы попробовать, что там нового. Также обнаружил Adem 9.1, с абсолютно новым интерфейсом. Собственно в чем вопрос: есть ли отличия в работе самой программы, работе постпроцессоров? Будут-ли проекты, созданные в Adem 9.05 корректно работать в Adem 9.1? Или может еще есть какие-то нюансы?
    • dnss-mzn
    • In_man
      Нет-нет! Маяки-622 с 2007 по 2011 г.г. выпускались с этим компьютером и с монитором 800х600, и именно это разрешение компьютер и выдавал. В некоторых случаях приходилось в BIOS-е подправлять пару пунктов для этого.
    • alek77
      С этим у меня проблем нет, освоил потихоньку. Проблема с освоением занесения этих свойств в какую-либо базу данных. Гугл не помог, вот и интересуюсь на форуме
    • Sergei181
      Добрый день, есть вопрос по тому, как задать распределенную нагрузку треугольником в Ansys (картинку внизу прикрепил). Это полый цилиндр.
      Саму модель построил, разбил на КЭ, далее необходимо задать это нагрузку а потом снять перемещения с верхней границы. Вот пока вопрос с нагрузкой. Ниже привожу код на APDL. Там я попробовал задать нагрузку, но пока плохо получается
        finish /clear E=3e9 mu=0.37 Rad=0.3 r=0.1 h=0.1 div=8 div_x=8 !четное esz=h/div q=10e6 /prep7 et,1,plane42 keyopt,1,3,1 MPTEMP,,,,,,,, MPTEMP,1,0 MPDATA,EX,1,,E MPDATA,PRXY,1,,mu k,1,0,0 k,2,r,0 k,3,Rad,0 k,4,Rad,h k,5,r,h k,6,0,h l,1,2 l,2,3 l,3,4 l,4,5 l,5,6 l,6,1 l,5,2 al,2,3,4,7 lesize,2,,,div_x lesize,3,,,div lesize,4,,,div_x lesize,7,,,div MSHAPE,0,2D mshkey,1, amesh,all SFGRAD,PRES,0,X,0,-2000 NoDE,r,18,25,24,23,22 SF,ALL,PRESS,10000 allsel finish /solution solve finish  
    • Anat2015
      WinRar глючит, сжал в zip PCM9375 выдает минимальное разрешение 1024х768, а старые мониторы в пультах оператора, которые работали с PCM 5825, тем более с PCM4823, если я не ошибаюсь, имеют разрешение 600х480. Сейчас мы опытную работу проводим, подключаем новый комп от Маяк-633 (А50Х... к старому пульту оператора, монитор с разрешением 600х480, предварительно, на экране вроде бы все есть, но надо проверять во всех режимах. !Резервное копирование М600.zip
    • Kelny
      В настройках программы поставить галочку ВЫБОР С ПОМОЩЬЮ ПРОЗРАЧНОСТИ или при выборе использовать клавишу SHIFT (если стоит галочка выбора с помощью прозрачности, то клавиша будет позволять наоборот выбирать, что что сверху)
    • Kelny
      Извилистая у вас похоже дорожка.   Можно добавить в систему не связанное с Solidworks, но связанное с программированием, например, Microsoft Visual Studio Express с понравившимся вам языком, в том числе C# и можно будет как DLL так и EXE собирать. Кто-то в своё время дружил Solidworks c Pascal от Delphi.
    • vasyam
      А что за визуализация можно подробнее, никогда не сталкивался По поводу баз данных могу вечером скинуть проект в VisualStudio, где я пытался это проделать. Но там куча подводных камней, количество по крайней мере лучше через спецификацию делать, а все остальное с моделей уже дергать. И еще пытался в виде аддона это сделать, но при попытке подключения к базе Acces, солид терял сознание и закрывался и при этом ошибок никаких не выдавал, победить так и не смог, в результате сделал в виде отдельного экзешника.
    • nbg
      void add_targets(string *body, tag_t task){ int targets_count, ifail = ITK_ok; tag_t *targets = NULL; tag_t root_task = NULL_TAG; tag_t *atts = NULL_TAG, *CMHasImpactedItem = NULL_TAG, *CMHasSolutionItem = NULL_TAG; tag_t *EC_solution_item_rel = NULL_TAG, *CMHasProblemItem = NULL_TAG, *status = NULL_TAG; char *type_izv = NULL, *spb5_Oboznachenie = NULL, *item_revision_id = NULL, *object_name= NULL, *name = NULL; int n_change, n_new, n_solution,n_problem, n_status; //**************************** logger::print_log(">> add_targets\n"); SAFE_CALL(EPM_ask_root_task(task, &root_task), ifail, root_task); logger::print_log(">> get root task\n"); if (ifail != ITK_ok || root_task == NULL_TAG) return; logger::print_log(">> perem\n"); //*******************************************падает в этом месте SAFE_CALL(EPM_ask_attachments(root_task, EPM_target_attachment, &targets_count, &targets), ifail, targets_count); logger::print_log(">> got attacment\n"); SAFE_CALL(AOM_ask_value_string(*targets, "ekp7_CMType", &type_izv), ifail, type_izv); logger::print_log(">> get type izv\n"); logger::print_log(" ekp7_CMType - %s\n", type_izv); if (strcmp (type_izv, "01") == 0) { logger::print_log(">> get change item\n"); (*body).append("<br><br><b>Изменяемые элементы:</b> <br>"); (*body).append("<table border=\"1\"><tr><th>Имя</th><th>Статус</th></tr>"); SAFE_CALL(AOM_ask_value_tags(*targets, "CMHasImpactedItem", &n_change, &CMHasImpactedItem), ifail, n_change); if (ifail != ITK_ok || CMHasImpactedItem == NULL) return; if (n_change >0) { char ** change_it = (char**) malloc(n_change + 1); string statusItog; for (int i = 0; i < n_change; i++) { SAFE_CALL(AOM_ask_value_string(CMHasImpactedItem[i], "spb5_Oboznachenie", &spb5_Oboznachenie), ifail, spb5_Oboznachenie); SAFE_CALL(AOM_ask_value_string(CMHasImpactedItem[i], "item_revision_id", &item_revision_id), ifail, item_revision_id); SAFE_CALL(AOM_ask_value_string(CMHasImpactedItem[i], "object_name", &object_name), ifail, object_name); //get status SAFE_CALL(AOM_ask_value_tags(CMHasImpactedItem[i], "release_status_list", &n_status, &status), ifail, n_status); logger::print_log(">> get status!!!!!!!\n"); char ** status_det = (char**) malloc(n_status + 1); for (int j = 0; j < n_status; j++){ SAFE_CALL(AOM_ask_value_string(status[j], "object_string", &name), ifail, name); //status_det[j] = name; statusItog.append(name); statusItog.append("; "); logger::print_log("status - %s\n", statusItog); } strcat(spb5_Oboznachenie, "/"); strcat(spb5_Oboznachenie, item_revision_id); strcat(spb5_Oboznachenie, "-"); change_it[i] = strcat(spb5_Oboznachenie, object_name); logger::print_log(" Изменяемые элементы - %s\n", change_it[i]); (*body).append("<tr>"); (*body).append("<td>"); (*body).append(change_it[i]); (*body).append("</td>"); (*body).append("<td>"); (*body).append(statusItog); (*body).append("</td>"); (*body).append("</tr>"); statusItog=""; } } (*body).append("</table>"); MEM_free(CMHasImpactedItem); logger::print_log(">> get new item\n"); // get new item (*body).append("<br><br><b>Новые элементы:</b> <br>"); (*body).append("<table border=\"1\"><tr><th>Имя</th><th>Статус</th></tr>");