gerber 您所在的位置:网站首页 gerber文件解析 gerber

gerber

2023-03-16 06:54| 来源: 网络整理| 查看: 265

gerber-parser - An Open Source Gerber Parser and Renderer

Jun 10, 2022

gerber-parser在Github上的链接

GerberParser

GerberParser 是一个开源的、支持跨平台编译、简单易用的Gerber文件渲染库,采用标准c++编写,支持rs274x标准。渲染引擎使用Qt编写,支持渲染Gerber文件到Qt支持的图像导出格式:

Format Description Qt’s support BMP Windows Bitmap Read/write GIF Graphic Interchange Format (optional) Read JPG Joint Photographic Experts Group Read/write JPEG Joint Photographic Experts Group Read/write PNG Portable Network Graphics Read/write PBM Portable Bitmap Read PGM Portable Graymap Read PPM Portable Pixmap Read/write XBM X11 Bitmap Read/write XPM X11 Pixmap Read/write

也支持直接渲染到QWidget窗口上。

另外,Qt还提供了QSvgGenerator和QPdfWriter,它们也继承自QPaintDevice。理论上也可以渲染成sgv和pdf导出,不过目前没有直接支持。 除了渲染和导出静态的图像,GerberParser库也支持一些交互式的操作。比如移动图像的位置,缩放图像和选中某一点高亮显示。这些功能可以用于交互式Gerber显示,参考example/gerber_viewer。也可用于较大图像的分片段渲染和导出,example/gerber2image提供了示例。对于分辨率较高的图像,要导出成一张图像会受到诸多限制,example/gerber2image通过分段导出,导出成多张图像,每张分辨率最高20000,合起来构成了完整的图像。

支持平台

Gerber Parser采用标准C++编写,依赖的Qt5、glog、gflags都支持跨平台编译。目前已测试过在Windows和Mac上正常编译过,Ubuntu上还存在一些编译问题。

渲染样图

gerber image

如何构建? 依赖库: Qt5(没测过其他版本,不能确定支不支持,看Qt的兼容性) glog(用于记录日志) gflags(用于example中的示例程序解析cui参数,如果关闭“BUILD_EXAMPLE”选项则不需要这个依赖) googletest(用于测试,如果关闭选项“BUILD_TESTS”则不需要这个依赖) 其中Qt5需要外部安装,CMake时指定Qt安装路径,或通过CMake-GUI设置Qt安装路径,或者机器上设置了Qt的环境变量,CMake能自动找到。 glog、gflags和googletest已通过git的submodule自包含,无需外部提供。 克隆仓库: git clone https://github.com/hsiang-lee/gerber-parser git submodule update --recursive --init CMake: cd gerber-parser mkdir build cd build cmake .. -G "NMake Makefiles" -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=ON -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DQt5_DIR=C:/Qt/Qt5.14.1/5.14.1/msvc2017_64/lib/cmake/Qt5 构建 # 如何使用?

auto gerber = std::make_shared(gerber_file_path);//构建一个Gerber,这里会解析gerber文件。

auto image = std::make_unique(1920, 1280);//创建一张二值位图 auto engine = std::make_unique(image.get());//构建一个QtEngine GerberRender render(engine.get());//构建一个GerberRender render.RenderGerber(gerber);//渲染gerber文件,结果会渲染到上面创建的二值位图上

image->save(path_you_want_to_save_image);//保存图像 ```

附带工具

Gerber Parser也附带了一些简单的工具,在example目录下。CMake时设置BUILD_EXAMPLES=ON打开构建example下的工具。

gerber_viewer 一个简单的gerber预览工具,可以缩放,拖动,选中元素(存在问题,尚未完全支持) gerber2image 一个导出gerber文件到二值位图的工具,提供cui接口,通过“–help”选项可以查看帮助 gerber2pdf 一个导出gerber文件到pdf的工具,提供cui接口 gerber2svg 一个导出gerber文件到svg图像的工具,提供cui接口,通过“–help”选项可以查看帮助


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有