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

Как поменять значение коррекции в Vericut через системные переменные?


Bastion

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

Уважаемые коллеги, подскажите, можно ли в Vericut решить такую задачу:

Хочу написать программу для снятия фаски с произвольного контура. Решаю так: зная величину фаски и угол через переменные вычисляю на сколько нужно сместить и опустить угловую фрезу. Далее мне нужно всего лишь изменить значение коррекции на длину и радиус фрезы в офсетах станка, например для фанука значение корректора на радиус для инструмента 1 находится в системной переменной #13001 (или #2401 или #12001 - но в моей стойке именно #13001). То есть, в программе я вычислил #1=0.5 - смещение по радиусу и теперь присваиваю  #13001=#13001-#1. Аналогично с коррекцией на длину.  И все бы хорошо, но только вот мои вычисленные переменные почему-то переопределяются в момент взятия коррекции в программе. То есть допустим я снимаю фаску угловой фрезой диаметром 8 мм. Я занес коррекцию на радиус = 4 мм. При взятии инструмента в строке T1M6 можно увидеть, что переменная стала равна 4, далее я вычитаю из неё 0,5 и это тоже видно  #13001 =3.5 , но в строке G1G41D1X... верикат сбрасывает переменную опять на 4 и моя программа не работает ((( 

Извините, если не очень четко все объяснил. Думаю, что специалисты меня поймут. 

Может кто подскажет что тут можно сделать? 

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


Ну, занесите в таблице инструмента коррекцию на инструмент, равную нужному числу. Или же переопределите макро D1 или G41, который обновляет переменную из таблицы инструментов снова.

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

Ну, занесите в таблице инструмента коррекцию на инструмент, равную нужному числу. Или же переопределите макро D1 или G41, который обновляет переменную из таблицы инструментов снова.

@s_liam Я бы хотел переопределить макро, чтобы на D... значение коррекции считывалось бы из переменной, но порывшись в хелпе нашел только макросы, которые обновляют коррекцию из таблицы коррекций - CutterCompValue, из библиотеки инструментов - ToolCutterComp, напрямую из строки УП - CutterCompValueDirect. Какой макрос позволяет считать значение коррекции из переменной? В хелпе такого вроде нет. Понятно, что можно вручную заносить значение, но, согласитесь, это не то, что нужно. Подскажите, пожалуйста как "переопределить макро D...  который обновляет переменную из таблицы инструментов снова."  Если что - проект прилагаю.

FASKA.zip

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

У меня вот так получилось заставить работать ваш проект. Ещё в Control Variables добавить переменную CGT_CDC_VAL. 
 

-1.jpg

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

@DJ Astro Большое спасибо, заработало! Теперь открываются блестящие перспективы разработки программ с использованием системных переменных!!!

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Максим604
      Поэтому и вопрос. почему шопмилл подачу меняет, когда пишешь через него(макропеременые), а когда через G код не меняется. как шопмилл просчитывает новую подачу я понимаю, но не понимаю как прравильно и почему именно так правильно, а не наоброт. почему шопмилл переводит подачу с движения по траектории на движение по центру?     
    • Snake 60
      Так а зачем, если вот эта кнопка  сохраняет все детали и подсборки входящие в нее: При желании можно повесить на горячую кнопку через Настройка-Клавиатура Или пересохранить имеется ввиду создать копию с новым именем? Если да, то для этих целей я бы посоветовал крутой макрос с именем Коперник от @tompsongun См. пост выше.
    • maxx2000
      ну хотя бы то что одна написана через макропеременные, вторая в джи кодах. Ты считаешь что при одинаковом результате у них одинаковые алгоритмы?  
    • Максим604
      А что должно смущать?
    • maxx2000
      Ничего не смущает?
    • Максим604
      разные уп, но смысл одинаковый. в первом варианте подача меняется, во втором сохраняется.   Это то что не устраивает   M0 E_MI_TR(1,0,0,"REZBA_D11.9_P2_VARGUS","",1,0.05,2,50,2,1297,-16.2,91,2,10,14,1.0826,1.083,0.1,0,3,0.03937,0.31831,,,,1,0,"ISO_METRIC","M14");*RO* E_MI_TR(1,0,0,"REZBA_D11.9_P2_VARGUS","",1,0.05,2,50,2,1298,-16.2,91,2,10,14,1.0826,1.083,0.1,0,3,0.07874,0.63662,,,,-1,0,"ISO_METRIC","M14");*RO* _E_P002: E_PS_CIR(1,0,0,-14,90,0,,0,,102.5,12.857,30,8,10,0,,);*RO* CALL "END.SPF";#SM;*RO* E_END(0,1,0);*RO* M30 ;#SM;*RO* _____________________________________________   это устраивает N104 T=" ФРЕЗ. РЕЗЬБЫ - 12" N106 M6 N108 G0 X0. Y0. S1326 M3 D1 N110 Z50. N112 Z5. N114 G1 Z-25. F198.9 N116 G41 Y-4.95 N118 G3 X9.95 Y0. Z-24.5 I3.74372 J4.95 N120 Z-22.5 I-9.95 J0. N122 Z-20.5 I-9.95 J0. N124 Z-18.5 I-9.95 J0. N126 Z-16.5 I-9.95 J0. N128 Z-14.5 I-9.95 J0. N130 Z-12.5 I-9.95 J0. N132 Z-10.5 I-9.95 J0. N134 Z-8.5 I-9.95 J0. N136 Z-6.5 I-9.95 J0. N138 Z-4.5 I-9.95 J0. N140 Z-2.5 I-9.95 J0. N142 Z-.5 I-9.95 J0. N144 X0. Y9.95 Z0. I-9.95 J0. N146 X-4.95 Y0. Z.5 I0. J-6.20628 N148 G1 G40 X0.
    • sklide008
      Да точно, подзабыл уже все. а можно ли горячими клавишами открыть деталь из сборки и пересохранить не открывая деталь?
    • maxx2000
      наверное пришло время выложить программу которая устраивает и которая не устраивает
    • Максим604
      Резьбу фрезерует. Просто выходит что подача меняется в разы.    Писал в мастеркаме  и крео. Там всё понятно. Подача=обороты*кол-во зубьев*подача на зуб. И с такой скоростью режет.    А когда пишешь через шопмилл ( стойка синумерик). То подача меняется от написаной
    • Tad
      Скиньте для начала парметры вашей машины.
×
×
  • Создать...