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


Проблема именно в герберах от 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:
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:
arser:
arseLines'
>>> 0.000 (avg 0.000) Sec -> virtual Geo:
olygons Gerber::File::merge() const
<- utils.h: 80 'void Timer<T>::now'
>>> 0.000 (avg 0.000) Sec -> virtual Geo:
olygons Gerber::File::merge() const
<- utils.h: 80 'void Timer<T>::now'
>>> 0.000 (avg 0.000) Sec -> virtual Geo:
olygons Gerber::File::merge() const
<- utils.h: 80 'void Timer<T>::now'
"test-Edge_Cuts.gbr" 3 "ms" <- gbr_parser.cpp: 228 'void Gerber:
arser:
arseLines'
>>> 0.000 (avg 0.000) Sec -> virtual Geo:
olygons Gerber::File::merge() const
<- utils.h: 80 'void Timer<T>::now'
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:
"test-F_Cu.gbr" 1 "ms" <- gbr_parser.cpp: 228 'void Gerber:
>>> 0.000 (avg 0.000) Sec -> virtual Geo:
<- utils.h: 80 'void Timer<T>::now'
>>> 0.000 (avg 0.000) Sec -> virtual Geo:
<- utils.h: 80 'void Timer<T>::now'
>>> 0.000 (avg 0.000) Sec -> virtual Geo:
<- utils.h: 80 'void Timer<T>::now'
"test-Edge_Cuts.gbr" 3 "ms" <- gbr_parser.cpp: 228 'void Gerber:
>>> 0.000 (avg 0.000) Sec -> virtual Geo:
<- utils.h: 80 'void Timer<T>::now'

