GGEasy не видит заливку в герберах от Kicad

Khom

ТОЛЬКО ВОТ, НО БОЛЬШЕ ЧИТАЕТ...
Регистрация
20.08.2026
Сообщения
1
Реакции
3
Баллы
3
Город
Minsk
Область
Belarus
Имя
Валерий
При попытке открыть гербер Kicad в GGEasy (0.9.7.0 и пара более старых релизов) обнаружилась странная проблема - если в полигоне заливки существует незалитая замкнутая область, полигон не распознаётся.

Проблема именно в герберах от Kicad (аналогичные герберы Спринта и Альтиума читаются в GGEasy правильно). Пробовал открыть в g2g пару старых герберов, по которым заказывал у китайцев платы - аналогично, полигон заливки теряется, если внутри него есть незалитые области, например проводники и/или пустые замкнутые зоны.

Приложен для иллюстрации простой гербер из Kicad - прямоугольная заливка и прямоугольная "дырка" внутри. Просмотрщики герберов показывают его правильно (перепробовал несколько оффлайновых и онлайновых), но GGEasy упорно не видит правильную геометрию.

Профильную ветку прочел, но ответ не нашел, да и не жалуются там на это - значит, локальная моя проблема? Постить туда пока не хватает прав.

Form <- pocketoffset_form.cpp: 67 'PocketOffset::Form::Form'
OpenGL: режим: auto; NVIDIA Corporation / NVIDIA GeForce GTX 1650/PCIe/SSE2 / 4.6.0 NVIDIA 512.78 <- openglcheck.cpp: 292 'void OpenGlCheck::logStatus'
toGPoly: контур отброшен (вершин 23, площадь 702.241227/точная 0; invalid 5, расхождение площади 0 из 5 попыток) <- cgal.cpp: 474 'std::eek:ptional<CGAL::General_polygon_2<CGAL::Arr_circle_segment_traits_2<CGAL::Epeck, true> > > Geo::Cgal::toGPoly'
"test-F_Cu.gbr" 1 "ms" <- gbr_parser.cpp: 228 'void Gerber::parser::parseLines'
>>> 0.000 (avg 0.000) Sec -> virtual Geo::polygons Gerber::File::merge() const
<- utils.h: 80 'void Timer<T>::now'
>>> 0.000 (avg 0.000) Sec -> virtual Geo::polygons Gerber::File::merge() const
<- utils.h: 80 'void Timer<T>::now'
>>> 0.000 (avg 0.000) Sec -> virtual Geo::polygons Gerber::File::merge() const
<- utils.h: 80 'void Timer<T>::now'
"test-Edge_Cuts.gbr" 3 "ms" <- gbr_parser.cpp: 228 'void Gerber::parser::parseLines'
>>> 0.000 (avg 0.000) Sec -> virtual Geo::polygons Gerber::File::merge() const
<- utils.h: 80 'void Timer<T>::now'

kicad-g2g.pngkicad.png
 

Вложения

  • gerber.rar
    1.1 KB · Просмотры: 0
Сверху Снизу