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

Интересный теоретический вопрос


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

привет все!

я занялся написанием проги для автоматизации части работы 2 человек в отделе и у меня возникла проблема с CAM частью моей программы:

имеется контур в котором могут присутствовать b-сплайны и для их обработки на станке требуется преобразовать сплайн в несколько сопряженных дуг с заданной точностью

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

может кто-нить сталкивался с такой проблемой или знает как ее решить, помогите пожалуйста.

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


привет все!

я занялся написанием проги для автоматизации части работы 2 человек в отделе и у меня возникла проблема с CAM частью моей программы:

имеется контур в котором могут присутствовать b-сплайны и для их обработки на станке требуется преобразовать сплайн в несколько сопряженных дуг с заданной точностью

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

может кто-нить сталкивался с такой проблемой или знает как ее решить, помогите пожалуйста.

Дурацкий совет: может не стоит вам изобретать заново этот алгоритм (наверное это к тому же очень непросто), а работать с существующими CAD/САМ-системами, которые это давно и хорошо умеют?
Ссылка на сообщение
Поделиться на других сайтах

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

Надо аппроксимацию гуглить наверное, а?

<noindex>http://dxdy.ru/topic8371.html</noindex>

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

Дурацкий совет: может не стоит вам изобретать заново этот алгоритм (наверное это к тому же очень непросто), а работать с существующими CAD/САМ-системами, которые это давно и хорошо умеют?

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

имеется контур в котором могут присутствовать b-сплайны и для их обработки на станке требуется преобразовать сплайн в несколько сопряженных дуг с заданной точностью

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

Зачем нужно купит и CAM система, если нужно обработать 2Д контур ( резька, Ниш. Ерозия, струг.). В CAD системе, например Solidworks нужно написать API и там создат управляещая програма для станка с ЧПУ. За ето нужно ето апроксимация.

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

А в каких CAM это есть (сплайн аппроксимируется отрезками и дугами, а не только отрезками или сплайнами)? Я знаю что есть утилиты которые берут готовый G-код и пытаются заменить отрезки дугами или сплайнами. Либо это происходит в постпроцессоре. Например в IMSpost. Т.е. на выходе ХЗ что получится (зависит от опций).

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

В VERICUT по уже готовой программе (если включить опцию Curve Fit) кривая из мелких линейных перемещений будет аппроксимирована дугами и линиями с заданной точностью. Присылай пример, покажу на нем.

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

А зачем дугами? Почему не отрезками? - для большей точности увеличиваете дискретность и все дела.

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

Зачем нужно купит и CAM система, если нужно обработать 2Д контур ( резька, Ниш. Ерозия, струг.). В CAD системе, например Solidworks нужно написать API и там создат управляещая програма для станка с ЧПУ. За ето нужно ето апроксимация.

Наверное, в этом случае оправдано.... Вопрос просто в затратах на создание. То есть я бы поискал всё-таки у производителя станка сначала. Обычно они все (или практически все) имеют какие-то "примитивные" 2D-системы.

А в каких CAM это есть (сплайн аппроксимируется отрезками и дугами, а не только отрезками или сплайнами)? Я знаю что есть утилиты которые берут готовый G-код и пытаются заменить отрезки дугами или сплайнами. Либо это происходит в постпроцессоре. Например в IMSpost. Т.е. на выходе ХЗ что получится (зависит от опций).

NX, V5, Tebis. Уверен, что и другие могут. Это же линейная и круговая интерполяция.

А зачем дугами? Почему не отрезками? - для большей точности увеличиваете дискретность и все дела.

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

NX, V5, Tebis.

Т.е. если взглянуть на CL файл этих систем, то там я увижу дуги при обработке сплайна?

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

Маленькая подсказка:

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

Точность зависит от расстояния между точками. Некоторые участки заменяются не дугами, а отрезками прямой.

Вот и весь алгоритм, если вкратце.

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

Т.е. если взглянуть на CL файл этих систем, то там я увижу дуги при обработке сплайна?

Вот тут я могу сказать только одно: если я вижу в готовой (после ПП) программе G02/03, то это для меня означает, что система работает с круговой интерполяцией. На какой стадии это происходит, мне даже не очень интересно. Тем более, что круг это тоже некая условность/приближение.

Точность зависит от расстояния между точками. Некоторые участки заменяются не дугами, а отрезками прямой.

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

На какой стадии это происходит, мне даже не очень интересно.

Это вообще-то принципиально в плане моего вопроса.

Я знаю, что Симатрон при обработке контура имеет опцию как аппроксимировать сплайн (отрезками или дугами) и я симулирую траекторию которая затем превращалась в G-код.

Повермил так не умеет (или поправьте меня, может научился) и что происходит в этом случае - я глянул симуляцую в нем, получил G-код с опцией "дуги давай" и, что я там получу должен проверить, если не хочу нарваться на неприятности.

Т.е. разница есть на какой стадии это происходит.

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

Ну и видимо и в тебис этого нет, раз вы так к этому относитесь.

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

Т.е. разница есть на какой стадии это происходит.

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

Ну и видимо и в тебис этого нет, раз вы так к этому относитесь.

В NX есть: там точно помню, есть выбор между круговой и линейной, ПП идёт после уже. Но я никогда не смотрел, что там в CAD выдаётся. Всегда интересовало после ПП.

В Tebis тоже есть и можно видеть непосредственно в САD (картинку сделаю в понедельник), но не все модули. Там, где считаеттся нужным: ТRIM, LASER, и по-моему, всё. Почему нужно, это другой вопрос, если захотите, расскажу.

А не придаётся этому значение, так как ИМХО все равно требуется процессирование, которое выдаёт конечный результат. Поэтому для практики важно, чтобы в конечной NC-программе для стойки было G02/03. Ведь задача САМ - получение готовой NC-программы. Что в них проку-то, если вы их в САD видите? Просто посмотреть?

Впрочем, я не процессорщик и совсем близко эти кухню и предыстории не знаю; то есть моё мнение не претендует на абсолютную правильность, может кто и поправит.

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

Что в них проку-то, если вы их в САD видите?

Про CAD и речи не вел. Только о CAM. Просто, обычно говорят - если постпроцессор отлажен, то посмотрел симуляцию в CAM далее постпроцессор, далее станок. В данном случае это чревато, ибо нужно бы проверить результат после постпроцессора.

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

я пытаюсь написать программу для ПОЛНОЙ автоматизации работы, без дополнительных телодвижений со стороны пользователя и без дополнительного программного обеспечения (у нас на заводе с приратским софтом строго), так что приходится искать алгоритм для апроксимации

насчет апроксимации отрезками: это безусловно простой способ, но не точный + стойки на станках дибильные и с маленькими шагами очень плохо работают

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

Про CAD и речи не вел. Только о CAM. Просто, обычно говорят - если постпроцессор отлажен, то посмотрел симуляцию в CAM далее постпроцессор, далее станок. В данном случае это чревато, ибо нужно бы проверить результат после постпроцессора.

Прощу прощения за вольное обращение с терминами: то CAD, то САМ. Я имел ввиду просмотр программ в самой CAD/CAM-системе ДО постпроцессора (а уж там CAD или CАМ назвать - для меня роли особой не играет).

Я и имел ввиду эту симуляцию в САМ - в Tebis есть в двух модулях такая возможность, до ПП G02/03 иметь на экране, эту картинку и хотел повесить в понедельник.

post-6764-1258477167_thumb.jpg

А зачем вам так хочется иметь эти дуги или почему они так важны? Для модулей обрезки (TRIM) и лазера (LASER) я могу понять. А вот для остального не очень. Кроме уменьшения "веса" программы особо и аргументов-то нет. Или я чего не знаю.... :unsure:

я пытаюсь написать программу для ПОЛНОЙ автоматизации работы, без дополнительных телодвижений со стороны пользователя и без дополнительного программного обеспечения

насчет апроксимации отрезками: это безусловно простой способ, но не точный + стойки на станках дибильные и с маленькими шагами очень плохо работают

Я бы копал сначал в направлении производителей стоек и станков, может чего есть у них, чем с нуля-то изобретать, ИМХО.
Ссылка на сообщение
Поделиться на других сайтах

насчет апроксимации отрезками: это безусловно простой способ, но не точный

???

Необходимая точность аппроксимации задается и, естественно, обеспечивается. Другой вопрос, сколько для аппроксимации сплайна с необходимой точностью потребуется дуг или отрезков, т. е. какой будет объем УП при одном или другом способе аппроксимации. Ну тут уже вопрос к теоретикам :confused_1:

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

Необходимая точность аппроксимации задается и, естественно, обеспечивается. Другой вопрос, сколько для аппроксимации сплайна с необходимой точностью потребуется дуг или отрезков, т. е. какой будет объем УП при одном или другом способе аппроксимации. Ну тут уже вопрос к теоретикам.

Объём программы проблема понятная ну и ,в общем, решаемая. А я вот на днях в третий раз столкнулся с проблемой, которую упоминает автор темы:

стойки на станках дибильные и с маленькими шагами очень плохо работают

Это наступало во всех трёх случаях на Heidenhain 530 и только при выводе траектории инструмента по контуру (по центру инструмента всё ОК). Стойка отказывалась стартовать программу с сообщением "слишком маленькие отрезки".

Собственно это лирическое отступление, но суть такова: это не совсем теоретический вопрос и действительно не всякая стойка и не всегда любит маленькие отрезки, поэтому разбитие на совсем мелкие сегменты приводит иной раз к таким результатам. Пришлось разработчикам софт корректировать, вроде всё заработало.

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

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

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

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

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

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

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

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

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

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

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




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