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

Программирование с переменными


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

Макро обработки грибковой фрезой поднутрения.

я так понял вам просто надо чтобы макрос доделывал то того значения которое указано в #2 даже если получается по условию значение меньше? 

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


 

Макро обработки грибковой фрезой поднутрения.

я так понял вам просто надо чтобы макрос доделывал то того значения которое указано в #2 даже если получается по условию значение меньше? 

 

Все, наверное делали пазы, выборки, поднутрения, как хотите называйте, когда нужно учитывать ширину дисковой фрезы. Хочу сделать, чтобы задал верх-низ поднутрения, ширину фрезы(В) и получить нормальный цикл по глубинам обработки. Чтобы не подгонять шаг по Z, ну и прочее и прочее...

Да уже почти сделал, суета отвлекает, вот отойду от встреч-провожаний НГ...

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

Хочу сделать, чтобы задал верх-низ поднутрения, ширину фрезы(В) и получить нормальный цикл по глубинам обработки. Чтобы не подгонять шаг по Z, ну и прочее и прочее...

 

Может быть, стоит сделать так, чтобы фреза сначала выполняла пазы в сплошном материале (сделанные пазы на рисунке), а потом доделывала оставшиеся "промежутки"? Для ее равномерного износа.

post-27796-0-61334500-1419623788.jpg

Ссылка на сообщение
Поделиться на других сайтах
Может быть, стоит сделать так, чтобы фреза сначала выполняла пазы в сплошном материале (сделанные пазы на рисунке), а потом доделывала оставшиеся "промежутки"? Для ее равномерного износа.

Тут кому как нравится. Мне нет, лучше с шагом меньше В фрезы, т.к. обычно попутное фрезерование применяем и большими фрезами, нужен выход стружки. Углы могут быть с радиусами у фрезы. Много ещё чего можно придумать, пока хочу только разбивку по проходам нормальную. 

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

ну наверное как то так

 

%
8888
(VYBORKA-GRIBKOM)
T1M6
G17G40G80
G0G90G54G43H1Z200.S800M3F100
X0Y0
Z-200.
#1=200(START-PO-Z)
#2=302.(STOP-PO-Z)
#3=4.(SHAG-PO-Z)
#4=16 (B-FREZY)
#5=0.
#7=#4+#1
N10Z-#7
G0G90X-41.738Y-125.228
G1G41D1X-67.034Y-201.123F40
G3X-201.123Y-67.034R-212.F100
G1G40X-125.228Y-41.738F500
G0X-41.738Y-125.228
#7=#7+#3
IF[#7LE#2]GOTO10
#5=#2-#7
#7=#7+#5
IF[#6NE0.]GOTO20
#6=1.
IF[#7GE#2]GOTO10
N20M5
M30
%
Ссылка на сообщение
Поделиться на других сайтах
ну наверное как то так

Наверное, завтра прорисую. Смущает #6, это для чего? Свою пишу с учетом знака (-Z), учитывая критику, но идеология такая же.  

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

#6 просто значение которое не даст зацикливаться на остатке (в данном перемер это были 2мм) т.е просто счетчик чтобы после остаточного прохода  стабильно завершить прогу

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

#6 просто значение которое не даст зацикливаться на остатке (в данном перемер это были 2мм) т.е просто счетчик чтобы после остаточного прохода  стабильно завершить прогу

Ага, этот остаточек главный гемор. Была мысль считать количество проходов и по ним организовать цикл, определив предварительно первую и последнюю глубину, так как-то. Хочется как можно проще и компактнее для наладчика. А вообще это часть задумки, более интересная народу, как мне кажется. Дальше тот самый кусочек обработки параметризировать думаю, обработку части окружности с разными углами входа-выхода.

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

 

#6 просто значение которое не даст зацикливаться на остатке (в данном перемер это были 2мм) т.е просто счетчик чтобы после остаточного прохода  стабильно завершить прогу

Ага, этот остаточек главный гемор. Была мысль считать количество проходов и по ним организовать цикл, определив предварительно первую и последнюю глубину, так как-то. Хочется как можно проще и компактнее для наладчика. А вообще это часть задумки, более интересная народу, как мне кажется. Дальше тот самый кусочек обработки параметризировать думаю, обработку части окружности с разными углами входа-выхода.

 

ну если получится короче,  будет интересно взглянуть на ваш вариант ) тут главное чтобы наладчик понял и ему этот вариант показался простым, а то все равно свой вариант запихнет ) а забить прогу своими параметрами не сложно. много раз пытался сделать универсальные макросы в итоге плюнул на эту затею, программ уже столько накопилось, что проще сделать "Копировать > Вставить" и поменять на свои значения, а то на программы с большим количеством переменных операторы ругаются, не понимают, что в программе происходит, а если там и синусы с косинусами появляются, то вообще программу во всех косяках винят ) 

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

Вы меня удивляете - в моём варианте всё учтено. И даже в Симке прорисовывается.....

post-882-0-87085100-1419801924_thumb.jpg

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

Вы меня удивляете - в моём варианте всё учтено. И даже в Симке прорисовывается.....

Действительно ) 

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

Ander,

А и правда! 

%
:8888
(VYBORKA-GRIBKOM)
()
T1M6
G17G40G80
G0G90G54G43H1Z200.S800M3F100
(T1-FREZA-80X16-D1-H1)
G0G90X0Y0
Z-200.
#1=-200.(START-PO-Z)
#2=10.(Shag po Z)
#3=-230.(end Z)
#4=16.(B-FREZY)
(*******************)
#1=#1-#4(pervaja glubina s ucetom B)
 
(***OBRABOTKA-START***)
N20
G0G90X-41.738Y-125.228
Z#1
G1G41D1X-67.034Y-201.123F40
G3X-201.123Y-67.034R-212.F100
G1G40X-125.228Y-41.738F500
IF[#1EQ#3] GOTO80
#1=#1-#2
IF[#1GT#3]GOTO20
#1=#3(poslednij prohod)
GOTO20
N80(N80)
G0Z200.

M2

 

nomed

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

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

Возможно кому то калькулятор пригодится  :smile:      

                       Macro Expression Calculator v4.0

screenshot.jpg

Официальная страница http://ncplot.com/macrocalc/macrocalc.htm

Ссылка для загрузки http://ncplot.com/macrocalc/MacroCalc_v4.exe

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

Вопрос, кто нибудь пробовал записывать свою макро программу как модальный G код ?

Через G66 работает всё как надо

G21
G0 G17 G40 G49 G80 G90
T7 M6 
G0 G90 G54 X25. Y25. B0. C0. S5000 M3
G43 H7 Z10
M8
G66 P8010 A0. D15. Z-5. R5. Q1. F600.
X25. Y25.
X-25. Y25.
X-25. Y-25.
X25. Y-25.
X0 Y0
G67
M9
M5
G91 G30 Z0.
G30 X0. Y0.
M30
%

Захотелось сделать упростить и вызывать так

G21
G0 G17 G40 G49 G80 G90
T7 M6 
G0 G90 G54 X25. Y25. B0. C0. S5000 M3
G43 H7 Z10
M8
G810 A0. D15. Z-5. R5. Q1. F600.
X25. Y25.
X-25. Y25.
X-25. Y-25.
X25. Y-25.
X0 Y0
G67
M9
M5
G91 G30 Z0.
G30 X0. Y0.
M30
%

Сделал всё по описанию из документации: записал программу 8010 под номером 9010

в параметр 6050 -810 отрицательное значение.

Программа вызывается через G810 но работает только в 1ой точке,остальные пропускает, что может быть не так? возможно ещё какие то параметры менять надо?

post-26977-0-42858000-1434394684_thumb.png

 

 

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

lexa345 у вас какая стойка?

Моя стойка не имеет такого описания, у меня идет речь о G  коде от 1 до 9999, также ни слова об отрицательном G коде.  а такую опцию очень хотелось бы.

А вы попробуйте в самой  программе ввести -G810 , а не в параметре.

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

lexa345 у вас какая стойка?

Моя стойка не имеет такого описания, у меня идет речь о G  коде от 1 до 9999, также ни слова об отрицательном G коде.  а такую опцию очень хотелось бы.

А вы попробуйте в самой  программе ввести -G810 , а не в параметре.

Это на 0MD я пробовал так, но вот отрицательно G код задавать я не пробовал, спасибо за подсказку, как попробую отпишу. Кстати в документации по 0Md и 0MC различается немного параграф по макро программированию - в 0MD рассказано больше в раза 2 и описано больше переменных.

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

Доброго времени суток! FANUC 18i

Ситуация такова:

Вот пример программы 

#1=0

#2=1

#3=0.1

WHILE[#2NE10] DO1

#2=#2+#3

END1 

M30

В этом случае программа работает до бесконечности.

А если в #3=0.5 то в программе выполняется условие.

так вот,в чем прикол?

проблема программисткая, не станочная: никогда не жди равенства чего-либо. И проблема то ли фанука, то ли G-кода: мне не удавалось сравнить параметр с константой, параметр с параметром - на ура.

Перепиши так:

 

#10=10

WHILE[#2LE#10] DO1

или

WHILE[#2GE#10] DO1

или

WHILE[#2LT#10] DO1

или

WHILE[#2GT#10] DO1

 

из этих 4 вариантов я не пытаюсь выбрать до пробы. От станка к станку, от реализации до реализации фанука рез-т различается. Я пробую по воздуху и выбираю. Или корректирую по типу #10=10,05 или #10=9,95

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

Всем доброго времени суток!

Нужно профрезеровать звезду с 17 зубьями.

 

написал такую программу:

 

%;
O5000 (STAR)
;
N108 (TOOL 1 - DIA 8.);
;
N2 G90 G17 G40 G80 G00; 
G00 G28 G91 Z0 ;
N136 M06 T1 ();
;
#1 = 0;
WHILE[#1 LT 350.] DO 200;
N138 (F-contour3);
;
N112 G00 G54 G90 G94;
X-6.1725 Y50.87 S1500 M03;
N114 G43 H1 Z50.;
;
#2 = 0;
WHILE[#2 GT -9.] DO 210;
G0 X-6.1725 Y50.87 M8;
#2 = #2 - 3.3;   //глубина резания за 1 проход(всего глубина контура 9мм)
N118 Z#2 ;
N120 G01 X-4.5461 Y48.9714 F150.; 
N122 G02 X-2.6159 Y45.9069 I-9.4357 J-8.0831 ;
N124 G01 X-2.134 Y44.8153 ;
N126 G03 X-0.9039 Y42.7823 I8.4924 J3.7498 ;
N128 X0.9039 Y42.7823 I0.9039 J0.7197 ;
N130 X2.134 Y44.8153 I-7.2623 J5.7828 ;
N132 G01 X2.6159 Y45.9069 ;
N134 G02 X4.5461 Y48.9714 I11.3659 J-5.0185 ;
N136 G01 X5.1967 Y49.7308 ;                                  //рабочий контур, сгенерированный cam-ом
END 210;
;
G0 Z50.;
#1 = #1 + 21.1765;            // угол поворота зуба (360/17=21.1765)
G68 G17 X0 Y0 R#1;
M1;
END 200;
M9;
G69;
;
N230 G00 G28 G91 Z0;
N238 M30 ;
%
 
это первая моя программа в параметрическом программировании(не судите строго).
 
Подскажите кто знает:
-правильно ли организована работа с переменными и циклами?
-нужно ли параметрическое программирование выносить в подпрограмму или макропрограмму?
-или можно в коде перед объявлением переменных указать G68?
-остальные замечания по программе?
 
P/S: Извините за возможно глупые вопросы.
Ссылка на сообщение
Поделиться на других сайтах
  • SHARit закрепил это тему

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • mactepnew
      Вот я тоже так думал, пока не столкнулся с обратным) Как еще столкнусь, пришлю скриншот. Хаос еще в том, что порядок в дереве построения весьма условный. операция, которая стоит перед групой, имеет бОльший timestamp(пардон, не знаю как это в переводе), чем эта группа, и выполняется позже. При этом все операции в группе имеют timestamp на пару сотен меньше и выполняются раньше, чем две группы, стоящие перед ней. Логика?  Если в эскизе все элементы определены, то можно поставить еще один размер (хочешь переопределить эскиз - да пожалста!), изменить его - и NX самостоятельно выберет, какой размер или ограничение отпустить и весь эскиз летит к чертям. Это ли не хаос?   Назовете хоть один CAD, которым можно пользоваться так? Любой из встреченных мной имеет много неочевидных нюансов, которые конечно не проявляются при выполнении университетского или базового курса. В Creo я на протяжении 5 лет находил всё новые фишки, которые не прописаны в документации. Огромная благодарность Ruslan за пояснения тонкостей. Даже Компас и Solidworks, которые считаются самыми дружественными, оказалось непросто обуздать, когда проходил собеседования и делал тестовые. А ведь университетский курс знал на отлично!   Возвращаясь к NX - вот сегодняшний пример. Утром деталь была оранжевая, единая. Изменил пару уклонов и толщин, стала желтая с элементами оранжевого и частично твердотельной, частично листовой. Я даже не знаю, как сформулировать вопрос в поддержку. 
    • Mikhail_Podgornyj
      Добрый день, кто может поделиться SKF Bearing V1.6 (ANSYS App)? Заранее благодарен!
    • kkk
      Короче, как сделать автоматом не нашел. Раскрасил нужные грани нужными цветами. Затем на вкладке с цветом модели можно выбирать нужный цвет, тогда в модели выбираются грани, покрашенные этим цветом. Можно еще сохранить выбор этих граней, но смысла не вижу, т.к. все легко выбирается по цвету. Затем либо в инструменте Измерить смотрим площадь и как-то ее используем, либо можно макросом (что выкладывал Kir95 ) внести площадь в свойства (на вкладку Конфигурации). Можно еще внести выбранные грани в датчики, но как использовать их в свойствах не нашел.    Макрос прикрепляю.     Площадь выбранных граней в свойства.swp
    • IgnatvKudrin
      Для нашего производства требуются постоянно инструментальные пружины для штампов. Сейчас заказы обрабатываются довольно долго - до 2-х месяцев. А у нас сроки на штампы 1-2 месяца с испытанием, доработкой и т.п. Хотелось бы найти поставщика, у которого уже есть склад с данными пружинами или кто может доставить за 1 месяц.   Пружины стандартные по ISO, но на всякий случай приложил каталог. Вот список пружин, которые нужны очень срочно:   LR 32 x 44 - 1 шт. LR 25 x 51 - 2 шт. LB 63 x 89 - 7 шт. LB 32 x 102 - 10 шт. LB 32 x 89 - 20 шт. LB 32 x 76 - 12 шт. LB 32 x 51 - 6 шт. LB 25 x 127 - 9 шт.   Готов выслушать все предложения. Возможно даже есть те, кто сможет изготовить подобные пружины с такими же параметрами. 20231101.pdf
    • bubblyk
      Знатоки форума, подскажите, как смоделировать простую (на первый взгляд) задачу термомеханики в упругой постановке.   Есть брусок правильный формы ака кирпич, в котором генерируется НЕРАВНОМЕРНОЕ удельное тепловыделение (HGEN). Задняя и передняя поверхности конвективно охлаждаются с известными (но различными) коэффициентами теплоотдачи и температурами жидкости/газа. Свойства кирпича (теплофизика + механика) принимаются зависящими от температуры. Постановка - стационарная Собственно вопрос : как грамотно смоделировать температурное поле в кирпиче с учетом температурного расширения?   Исходный код приложил.     Надеюсь на коллективный разум и опыт! EPTH2D.mac p.s.   Если есть опыт решения этой задачи в Ansys WB, тоже можно сюда приложить командные вставки.
    • OutXL
      Это было давно использовал NC-Link  и данную инструкцию. The Maho.docx
    • Mikhail_Podgornyj
      Добрый день, кто может поделиться SKF Bearing V1.6 (ANSYS App)? Заранее благодарен!
    • alexqwq10
      В данных корпусах ничего лишнего быть не должно. Максимум шпильки заземления, в количестве предусмотренном для конкретного корпуса. Рассматривал очень много подобных корпусов разных производителей и данная проблема актуальна для подавляющего большинства.
    • MFS
      Коллеги, приветствую, нужно штамповать на горячую из алюминиевого сплава (АК6 или около того) заготовки размером 280*180*12. Подскажите, пожалуйста, параметры пресса для такой заготовки - размеры, усилия. А есл дадите пример такой марки и модели, более менее подходящей для этой работы (нашего или импортного), то будет и еще лучше. Заранее спасибо!
    • Elbaro
      Добрый день. Уже несколько дней пытаюсь найти на просторах инета макрос, позволяющий менять материал выделенных деталей в сборке. У меня есть макрос это делающий, но только в открытой детали, заставить его работать в сборке не получается. Может кто поделится ссылкой или часть кода? Спасибо.
×
×
  • Создать...