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

Вопрос про пост


Ashmonin

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

Уважаемые форумчане, подскажите как сделать вывод нужной мне строчки в программе? по порядку

1. Создал ивент в UDE.CDL

2. Создаю команду пользователя в постпроцессоре с примитивной проверкой булевой переменной из ивента.

3. Команду я помещаю в "Первый инструмент" и "Автоматическая смена инструмента". И в "Первый инструмент" переменная не передается!!! и выдает ошибку при процессировании мол переменная не существует. Если я оставляю ТОЛЬКО команду в "Автоматической смене инструмента", то все работает корректно.

Как мне заставить пост читать переменную в "Первом Инструменте"?

Можно заняться мазохизмом конечно - например добавить в списке операций MILL_control с инструментом перед всеми операциями, а в посте в "Первом инструменте" сделать проверку на имя операции MILL_Control и, соответсвенно, блокировать вывод команды на смену. Но это делает прогу сииильно привязанной к посту...лучше уж ручками править прогу, что никогда не делаю собственно.

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


Доброго времени суток. Что значит нужную строчку? Если просто комментарий, то все гораздо проще. Можно воспользоваться сообщением оператору. В навигаторе операций дважды щелкаем мышью по необходимой вам операции, появляется меню сообщения оператору. Там можно писать что угодно, хоть матерное слово на кириллице. В программу выводится введенный текст в виде комментария. И все это удовольствие без правки ПП-ра.

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

Доброго времени суток. Что значит нужную строчку? Если просто комментарий, то все гораздо проще. Можно воспользоваться сообщением оператору. В навигаторе операций дважды щелкаем мышью по необходимой вам операции, появляется меню сообщения оператору. Там можно писать что угодно, хоть матерное слово на кириллице. В программу выводится введенный текст в виде комментария. И все это удовольствие без правки ПП-ра.

хоспади!!! все вам расскажи что я хочу вставить...

Нужно вставить ИМЕННО в "Первый инструмент" команду пользователя...

В общем вот:

global mom_x_home

if ![string compare $mom_x_home TRUE] {

MOM_output_literal "G91 G00 G30 X0."

} else {

}

в UDE.cdl создал обработчик который передает переменную в постпроцессор:

EVENT xhome

{

POST_EVENT "xhome"

UI_LABEL "Xhome"

CATEGORY MILL DRILL

PARAM x_home

{

TYPE b

DEFVAL "FALSE"

UI_LABEL "X home"

}

}

этот обработчик <noindex>http://clip2net.com/s/5xwcXc</noindex>

<noindex>http://clip2net.com/s/5xwe0P</noindex>

Так вот я не могу считать переменную вот здесь <noindex>http://clip2net.com/s/5xwfpA</noindex>

а вот здесь могу <noindex>http://clip2net.com/s/5xwgcB</noindex>

В этом и проблема что не могу матную фигню в "первом инструменте" вывести из переменной переданной из NX!!! А нужно именно тут! Именно на этом месте матная фигня обретает смысл!

Простите за эмоции...

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

Станок MCH350-C, Sinumerik840D, конфигурация с качающейся осью, аналогично DMU125p. Только С0 - шпиндель горизонтально. В - 4-я ось, С - 5-я ось. Но Генератор постпроцессоров "несогласен" с такой конфигурацией. Как решить проблему, подскажите?

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

хоспади!!! все вам расскажи что я хочу вставить...

Нужно вставить ИМЕННО в "Первый инструмент" команду пользователя...

В общем вот:

global mom_x_home

if ![string compare $mom_x_home TRUE] {

MOM_output_literal "G91 G00 G30 X0."

} else {

}

в UDE.cdl создал обработчик который передает переменную в постпроцессор:

EVENT xhome

{

POST_EVENT "xhome"

UI_LABEL "Xhome"

CATEGORY MILL DRILL

PARAM x_home

{

TYPE b

DEFVAL "FALSE"

UI_LABEL "X home"

}

}

этот обработчик <noindex>http://clip2net.com/s/5xwcXc</noindex>

<noindex>http://clip2net.com/s/5xwe0P</noindex>

Так вот я не могу считать переменную вот здесь <noindex>http://clip2net.com/s/5xwfpA</noindex>

а вот здесь могу <noindex>http://clip2net.com/s/5xwgcB</noindex>

В этом и проблема что не могу матную фигню в "первом инструменте" вывести из переменной переданной из NX!!! А нужно именно тут! Именно на этом месте матная фигня обретает смысл!

Простите за эмоции...

Попробуй сначала mom_debug_ON

и посмотри может при первом инструменте эта переменная еще не объявлена!

Станок MCH350-C, Sinumerik840D, конфигурация с качающейся осью, аналогично DMU125p. Только С0 - шпиндель горизонтально. В - 4-я ось, С - 5-я ось. Но Генератор постпроцессоров "несогласен" с такой конфигурацией. Как решить проблему, подскажите?

ручками - это если вкратце

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

Ashmonin

Перенесите событие Tool Change Marker из доступных в использованные, но ОБЯЗАТЕЛЬНО так, чтобы оно шло после вашего Xhome. По идее, это должно заставить NX объявить вашу переменную до смены инструмента.

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

Попробуй сначала mom_debug_ON

и посмотри может при первом инструменте эта переменная еще не объявлена!

Все свои посты в этой теме я об этом и толкую)

Ashmonin

Перенесите событие Tool Change Marker из доступных в использованные, но ОБЯЗАТЕЛЬНО так, чтобы оно шло после вашего Xhome. По идее, это должно заставить NX объявить вашу переменную до смены инструмента.

Я не понимаю о чем речь. Что за доступные и использованные? Первый раз слышу эти термины. Можно поподробнее?

Все свои посты в этой теме я об этом и толкую)

Я не понимаю о чем речь. Что за доступные и использованные? Первый раз слышу эти термины. Можно поподробнее?

аааа все понял. Нет не то...

Я не пользую никакие tool change marker. NX сам определяет когда менять инструмент. Предполагаю что такая система действовала раньше...

Дело в постпроцессоре. Он почему то считывает переменные переданные из "события задаваемые пользователем" после "первого инструмента" в постпроцессоре.

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

вот что выдает

<noindex>http://clip2net.com/s/5xHMxS</noindex>

выложил скрин и того что пишет пост про мою переменную заодно.

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

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

вот что выдает

<noindex>http://clip2net.com/s/5xHMxS</noindex>

выложил скрин и того что пишет пост про мою переменную заодно.

Придумал как можно еще побить в бубен.

Можно впендюрить эту переменную так же как это сделано в PB_CMD_program_header в стандартном посте на фанус

#

# Program Header with Tape Number

#

# This procedure will output a program header with the following format:

#

# Attribute assigned to program (Name of program group)

# O0001 (NC_PROGRAM)

#

# Place this custom command in the start of program event marker. This

# custom command must be placed after any intial codes (such as #). The

# custom comand MOM_set_seq_off must precede this custom command to

# prevent sequence numbers from being output with the program number.

#

# If you are adding this custom command to a linked post, this custom

# command must be added to the main post only. It will not be output by

# any subordinate posts.

#

# If there is no attribute assigned to the program group, the string O0001

# will be used. In any case the name of the program in Program View will

# be output as a comment.

#

# To assign an attribute to the program, right click on the program. Under

# properties, select attribute. Use the string "program_number" as the

# title of the attribute. Enter the string you need for the program

# name, O0010 for example, as the value of the attribute. Use type string for the

# the attribute. Each program group can have a unique program number.

#

global mom_attr_PROGRAMVIEW_PROGRAM_NUMBER

global mom_attr_COMMENT

global program_header_output

global mom_output_file_basename

if [info exists program_header_output] { return }

set program_header_output 1

if { ![info exists mom_attr_PROGRAMVIEW_PROGRAM_NUMBER] } {

set mom_attr_PROGRAMVIEW_PROGRAM_NUMBER "O0001"

}

if { ![info exists mom_attr_COMMENT] } {

set mom_attr_COMMENT "$mom_output_file_basename"

}

MOM_set_seq_off

MOM_output_literal "$mom_attr_PROGRAMVIEW_PROGRAM_NUMBER ($mom_attr_COMMENT)"

Но это слишком трудоемко - придется каждый раз ручками писать атрибут в программе...

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

Ashmonin

Я не пользую никакие tool change marker

Так вы попробовали это сделать или нет? Это же минутное дело.

Я видел на скрине, что вы его не пользуете, и возможно проблема в этом.

NX сам определяет когда менять инструмент.

Вопрос не в том, когда NX меняет инструмент, а в том, когда он пытается вызвать обработчик для вашего UDE.

Tool change marker, и прочие marker, используются когда NX по умолчанию пытается это сделать не в том месте последовательности событий (в вашем случае "Последовательность в начале операции" ) в каком вам нужно. Поставив Tool change marker после xhome вы в явном виде даете команду вызвать обработчик события xhome ДО выполнения (встроенного) обработчика события MOM_first_tool.

Далее. У вас, как я понял, вообще нет обработчика своего события. Я уже не помню точно, как NX на это реагирует. Он или выпадает с ошибкой об отсутствии обработчика, или просто молча передаёт переменные из UDE в построцессор. Во втором случае у вас всё должно получиться и так. В первом - нужно будет создать обработчик, может даже пустой.

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

"молча передаёт переменные из UDE в построцессор"

именно так!

обработчик есть. Текст обработчика я выкладовал уже.

вот он:

global mom_x_home

if ![string compare $mom_x_home TRUE] {

MOM_output_literal "G91 G00 G30 X0."

} else {

}

я его не вставлял в пост когда делал скрины просто. Скрины привел для наглядности - чтоб было понятно в каком месте NX схватывает переменную UDE а в каком нет.

Я попробовал сделать то что Вы предлагали - не помогло. Ошибка та же.

И мне не нужно вызывать "обработчик события xhome ДО выполнения (встроенного) обработчика события MOM_first_tool". Мне просто нужно чтоб пост взял переменную UDE до MOM_first_tool а не после! NX ругается что нет переменной.

Моя задача такова:

есть свой(сильно модернизированный стандартный) пост на фанус 0. Перед сменой инструмента вывожу G0 G30 G90 Z0. В X0 и Y0 не гоняю станок ибо долго. Иногда такие детали/наладки бывают что нужно выводить в X0 для обеспечения безопасной смены инструмента. Этоя хочу сделать через UDE команду - поставил галку и в проге дополнительная строчка появляется G0 G30 G90 X0 после всех G0 G30 G90 Z0.

Задача примитивная еслиб NX не капризничал с последовательностью считывания переменной UDE.

G-код ручками не правлю никогда - так что придется просто сохранить рабочий пост с этой строчкой, и пользоваться двумя постами....

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

Перед сменой инструмента вывожу G0 G30 G90 Z0. В X0 и Y0 не гоняю станок ибо долго. Иногда такие детали/наладки бывают что нужно выводить в X0 для обеспечения безопасной смены инструмента. Этоя хочу сделать через UDE команду - поставил галку и в проге дополнительная строчка появляется G0 G30 G90 X0 после всех G0 G30 G90 Z0.

Может удобнее оставить этот выбор оператору

G30 G90 Z0

/G30 G90 X0

M6

хотя это всегда опасно!

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

"молча передаёт переменные из UDE в построцессор"

именно так!

обработчик есть. Текст обработчика я выкладовал уже.

вот он:

global mom_x_home

if ![string compare $mom_x_home TRUE] {

MOM_output_literal "G91 G00 G30 X0."

} else {

}

я его не вставлял в пост когда делал скрины просто. Скрины привел для наглядности - чтоб было понятно в каком месте NX схватывает переменную UDE а в каком нет.

Я попробовал сделать то что Вы предлагали - не помогло. Ошибка та же.

И мне не нужно вызывать "обработчик события xhome ДО выполнения (встроенного) обработчика события MOM_first_tool". Мне просто нужно чтоб пост взял переменную UDE до MOM_first_tool а не после! NX ругается что нет переменной.

Моя задача такова:

есть свой(сильно модернизированный стандартный) пост на фанус 0. Перед сменой инструмента вывожу G0 G30 G90 Z0. В X0 и Y0 не гоняю станок ибо долго. Иногда такие детали/наладки бывают что нужно выводить в X0 для обеспечения безопасной смены инструмента. Этоя хочу сделать через UDE команду - поставил галку и в проге дополнительная строчка появляется G0 G30 G90 X0 после всех G0 G30 G90 Z0.

Задача примитивная еслиб NX не капризничал с последовательностью считывания переменной UDE.

G-код ручками не правлю никогда - так что придется просто сохранить рабочий пост с этой строчкой, и пользоваться двумя постами....

выложите пост и программу

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

выложите пост и программу

Вот сваял по шустрому из стандартного и вставил код на место. Свой пост дать не могу ибо не считаю нужным по причине того что я его делал из стандартного для фанука очень долго и когда был сааавсем неопытным, а значит многие решения реализованы через *опу....стесняюся я)))

а вот код для UDE:

EVENT xhome

{

POST_EVENT "xhome"

UI_LABEL "Xhome"

CATEGORY MILL DRILL

PARAM x_home

{

TYPE b

DEFVAL "FALSE"

UI_LABEL "X home"

}

}

да! и вставлять UDE в событие вначале траектории первой операции в группе

postprocessor.zip

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

Вот сваял по шустрому из стандартного и вставил код на место. Свой пост дать не могу ибо не считаю нужным по причине того что я его делал из стандартного для фанука очень долго и когда был сааавсем неопытным, а значит многие решения реализованы через *опу....стесняюся я)))

а вот код для UDE:

EVENT xhome

{

POST_EVENT "xhome"

UI_LABEL "Xhome"

CATEGORY MILL DRILL

PARAM x_home

{

TYPE b

DEFVAL "FALSE"

UI_LABEL "X home"

}

}

да! и вставлять UDE в событие вначале траектории первой операции в группе

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

Чтобы хоть попробовать ))))

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

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

Чтобы хоть попробовать ))))

любую!!!

<noindex>http://clip2net.com/s/5yfTgn</noindex>

<noindex>http://clip2net.com/s/5yfTIu</noindex>

<noindex>http://clip2net.com/s/5yfU9O</noindex>

главное чтоб операция была первая в программе чтоб задействовать именно "первый инструмент"

<noindex>http://clip2net.com/s/5yfUDY</noindex>

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

Ashmonin

Программа начинается так:

%

N0010 G40 G17 G90 G71

N0020 T01 M06

N0030 G91 G28 Z0.0

N0040 G91 G00 G30 X0.

Это нужно?

Я сделал в точности то, о чем говорил.

Скрин прикрепил.

NX 8.5.2.3

post-2081-1376318500.png

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

Ashmonin

Программа начинается так:

%

N0010 G40 G17 G90 G71

N0020 T01 M06

N0030 G91 G28 Z0.0

N0040 G91 G00 G30 X0.

Это нужно?

Я сделал в точности то, о чем говорил.

Скрин прикрепил.

NX 8.5.2.3

красавчег)) и у меня получилось. Спасиба!

Можешь объяснить как это работает?

в ude я не нашол этот тул маркер....

какие переменные передает?

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

обработчик есть. Текст обработчика я выкладовал уже.

вот он:

global mom_x_home

if ![string compare $mom_x_home TRUE] {

MOM_output_literal "G91 G00 G30 X0."

} else {

}

Так, как вы использовали этот код - это не есть обработчик вашего события. Это есть процедура пользователя ("Команда пользователя" по терминологии русифицированного PostBuilder-а), которую вы вставили в обработчик события MOM_first_tool ("Первый инструмент" в PostBuilder-е).

Этот код выполняется не тогда, когда в постпроцессор поступает ваше событие xhome, а тогда, когда туда поступает событие MOM_first_tool.

в ude я не нашол этот тул маркер....

какие переменные передает?

"Последовательность в начале операции" (как она называется в генераторе постпроцессоров) заключается в обработке целого ряда событий. Когда вы в NX помещаете событие xhome в "События в начале траектории", потом при генерации программы NX вклинивает его куда-то в середину этой последовательности (а может, ставит его в самый конец - я не знаю), причём так, что оно оказывается после события MOM_first_tool. Таким образом, на момент обработки MOM_first_tool, а значит и вашего кода который вы в этот обработчик вставили, событие xhome ещё в постпроцессор не передавалось, а значит еще и не существует переменной, которую вы пытаетесь использовать, потому что переменные передаются вместе с событием, которому они принадлежат.

Tool Change Marker и несколько других подобных - это "фиктивные" события. Можно сказать, это и не события вовсе. Они не вызывают никаких обработчиков и не передают никаких переменных. Постпроцессор, я так думаю, вообще о них ничего не знает. Они лишь меняют, на стороне NX, порядок выдачи событий в постпроцессор. Если нужно обеспечить, чтобы событие xhome выдалось перед событием MOM_first_tool - ставите Tool Change Marker после xhome.

В оригинальном хелпе эти маркеры описываются здесь:

Home > CAM > Manufacturing General > CAM Customization > User-defined events > Event placement markers

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      а вы хоть станок проверяли по программе на изделии на точность прежде чем товарищей этих выгнать? если нет то грешите на самих себя! система в наших краях еще не распространенная поэтому и тем тут нет надо в поднебесную писать
    • AlexArt
      Ну допустим, ты и на другом ресурсе это опубликовал. А не коммуниздил. Но вот продвигать воровство от государства, ворующее из Вики, это верх мерзости.
    • maxx2000
      Ах, да. Фильтры выбора добавили. Теперь можно выбрать только то что видно на первом плане, а не вместе с тем что с обратной стороны детали. В общем надо обновляться. Как раз работёнка на прессформу нарисовалась 
    • maxx2000
      Причина того - Кроилово. Кроилово всегда приводит к попадалову. Месяц простоял сколько мильонов деревянных потеряли? Вопрос риторический. И ещё будет стоять. Как памятник человеческой глупости и жадности.
    • AlexKaz
      "9 июля 1968 года на мышах был проведен самый знаменитый эксперимент американского ученого-этолога Джона Кэлхуна «Вселенная-25». Суть опыта заключалась в создании идеальных условий, где мыши могли бы жить и размножаться, не ведая никаких забот, вдали от хищников и в отсутствие эпидемий и заболеваний. Для этих целей ученый построил специальный загон, куда были помещены четыре пары белых мышей (самцов и самок). В распоряжении мышей всегда была чистая вода и еда в изобилии, специальные гнезда, где можно обустроить себе жилище ― гнезд в загоне хватало для проживания нескольких тысяч мышей. Температура в загоне в среднем составляла около 20 ℃ и была комфортной для мышей. Животные не подвергались никаким влияниям извне и жили в идеальных условиях в свое удовольствие. А дальше началось самое интересное. На первом этапе эксперимента мыши хорошо размножались, вели активный образ жизни, охотно играли. На следующей фазе эксперимента мыши стали есть меньше, перестали наедаться до отвала. На третьей фазе эксперимента, когда в загоне были уже сотни мышей, произошло распределение социальных ролей, стала ярко выраженной иерархия, клановость. Появились так называемые отверженные ― молодые особи, которых другие, взрослые мыши сгоняли в центр загона, не давали им вести нормальный образ жизни, причиняли физический вред. В природе такое, наверное, было бы невозможно, ведь эти мыши-агрессоры просто не дожили бы до старости: их бы съели хищники. Но в загоне Кэлхуна хищников не было, и взрослые мыши начали попросту издеваться над молодняком. Образовались две большие группировки: самцы-одиночки и самки-одиночки. При этом самки-одиночки отказывались спариваться <с менее статусными многочисленными молодыми самцами и с оставшимися старыми статусными> и отвергали ухаживания самцов. У мышей стал проявляться тотальный индивидуализм, мыши не стремились создать семью. На последней, четвертой стадии мышиная популяция стала сокращаться. Появились самцы, которых сам Кэлхун назвал «красивыми» (англ. beautiful ones), из-за отсутствия ран и рубцов. <В оригинале: They never engaged in sexual approaches toward females, and they never engaged in fighting, and so they had no wound or scar tissue. Thus their pelage remained in excellent condition. - Дословный перевод: Они никогда не прибегали к сексуальным подходам к самкам, и они никогда не участвовали в боях, и поэтому у них не было ран или рубцовой ткани. Таким образом, их шерсть сохранилась в отличном состоянии.> Эти мыши не вступали в борьбу за самок и территорию, не проявляли активности к размножению и только питались, спали и чистили шёрстку. У мышей стали проявляться различные формы девиантного поведения, вспышки агрессии. Самки стали проявлять агрессию, защищать себя сами, стали умерщвлять своих детенышей, а затем окончательно отказались размножаться. На пике эксперимента в загоне одновременно проживало чуть более двух тыс. мышей. Еды и гнезд было достаточно для дальнейшего роста популяции, но через четыре года после начала эксперимента Кэлхун остановил свой опыт, потому что в загоне осталось чуть более сотни мышей, и все они уже вышли из репродуктивного возраста. По итогам эксперимента Кэлхун пришел к выводу, что достижение определенной плотности населения и заполнение социальных ролей в популяции приводит к распаду общества" https://physicsoflife.pl/dict/pic/calhoun/calhoun.. https://scientificrussia.ru/articles/utopiya-dlya-mys.. https://ru.wikipedia.org/wiki/Кэлхун,_Джон_(этолог)
    • gudstartup
      @Koels вот в чем дело пока ds609 это предупреждение поэтому F может и не появится если sv601 это значит ошибка. возможно при нагреве радиатора серво определяет это как предупреждение или ваш вентилятор крутиться медленнее чем оригинальный и серва думает что он встал хотяпри этом обычно на экране в строке состояния FAN.мигает больше у меня вариантов нет....  
    • ДОБРЯК
      Решите любым алгоритмом. Тогда будет конструктивный разговор. :=)
    • Fedor
      https://en.wikipedia.org/wiki/List_of_numerical_analysis_topics#Eigenvalue_algorithms     :) 
    • Юрий К.Ф.
      Добрый день. Не нашёл тут тему по стойке Китайско Китайской)) Lynuc N3ME. Видать мне так повезло с её наличием)) Приобрели 5-ти осевой Китаец. В б/у состоянии после удара по оси Z. Отремонтировали по механике, заменили батареи на драйверах, выставили лимиты. Всё Ок. Пригласили со стороны людей которые бы разобрались по операторской части. Те два выходных ковырялись, после сказали покажут расскажут, но за огромные деньги. Не сошлись. После месяц станок простоял, когда включили перестал реагировать на регулировку скорости шпинделя. То есть в режиме Jog, включаем обороты, которые стандартно 2140-2149 об/мин. При регулировке процетности не меняются (сама процентность показывает на мониторе). Так же при включении оборотов через команду M03S300 или другое значение, скорость так же показывает 2140-2149 об/мин. Грешить на тех товарищей с которыми не сошлись по деньгам для обучения, как то не хочется. Поковырялся в настройках шпинделя, вроде всё в норме. Проводку на шпинделе прозвонил, целая. В чём причина, не понятна. Кто нибудь сталкивался с подобным, или с подобной стойкой? Может подсказать варианты причины подобного?
    • ДОБРЯК
×
×
  • Создать...