gerber 文件格式 [一]

news2024/12/25 9:17:31

在电路设计这块, 目前还绕不开 gerber 文件的工程交互, 所以来了解一下.

目前官网的文档gerber-layer-format-specification-revision-2022-02_en.pdf.

gerber 文件是一个ascii码的命令文档, 格式比较简单,主要命令有下面这些

命令名称说明
G04注释对文档生成没有影响
MO模式设置单位是 毫米(mm) 还是英尺(inch)
FS格式指定坐标格式, 比如用10进制
AD画板定义使用D命令进行绘画
AM画板宏定义一个画板模板
Dnn(nn>=10)自定义会话自定义会话编码
D01绘画操作
D02移动点到目标位置
D03复制复制目标到指定位置
G01设置线型绘画模式
G02设置到顺时针圆弧绘画模式
G03设置到逆时针圆弧绘画模式
G75G75必须在定义了一个圆弧绘制后定义
LP极化
LM镜像
LR旋转
LS缩放
G36语句块开始,如轮廓定义
G37语句块结束
AB绘画语句块
SR分步重复
TF设置文件属性
TA设置画板属性
TO设置对象属性
TD删除属性
M02结束
  • 基本约束
    1. 坐标
      在这里插入图片描述

    2. 角度
      在这里插入图片描述

    3. 单位设置格式
      MO = '%' ('MO' ('MM'|'IN')) '*%'; 如: %MOMM*%
      建议使用 MM, IN以后可能会不兼容.

    4. 格式定义

      FS = '%' ('FS' 'LA' 'X' coord_digits 'Y' coord_digits) '*%';
      coord_digits = /[1-6][5-6]/;
      

      如: %FSLAX36Y36*% 下面的数字就是3+6的模式, 即X123123456表示123.123456, Y23456为0.023456.
      一般都是定义 MM 和6位精度, 坐标也可以使用符合, 默认是正数, 必须要有数字, 0也不能省.

    5. AD 命令

      AD = '%' ('AD' aperture_ident template_call) '*%';
      template_call = template_name [',' parameter {'X' parameter}*];
      

      aperture_ident 画板编号 x 在[10, 2^32-1] 之间, D00-D09用于特殊功能.
      template_call 通过指定参数调用模板确定一个画板形状.

      如果定义大小为0, 那么该画板无效. 圆可以定义为0,
      如: %ADD10C,.025*%%ADD10C,0.5X0.25*%.

      • 标准的模板:
      命令形状参数
      C直径[,孔]
      R正方形X,Y,[,孔]
      O椭圆形X,Y[,孔]
      P多边形外径, # 边数[,旋转[,孔]]
    6. AM 命令
      画板模板命令可以定义复杂的图形,并且重复多次调用在AD中.

      AM = '%' ('AM' macro_name macro_body) '%';
      macro_name = name '*';
      macro_body = {in_macro_block}+;
      in_macro_block =
      |primitive
      |variable_definition
      ;
      variable_definition = (macro_variable '=' expression) '*';
      macro_variable = '$' positive_integer;
      primitive = primitive_code {',' par}*
      par = ',' (expression);
      

      主要参数说明:

      参数说明
      macro_name模板名称
      macro_body模板体
      Variable definition变量定义
      Primitive原始形状
      Primitive code原始标识
      Parameter参数

      样例:

      %AMTriangle_30*
      4,1,3,
      1,-1,
      1,1,
      2,1,
      1,-1,
      30*
      %
      

      Primitive

      编码名称参数
      0注释
      1显示,直径,CX,CY[,旋转]
      20端点直线显示,线宽,SX,SY,EX,EY,旋转
      21中心直线显示,线宽,线长, CX,CY,旋转
      4外接线显示,#子点数,SX,SY,其他点…,旋转
      5多边形显示,#边数, CX,CY,直径,旋转
      7辐射圆环弧CX,CY,外径,内经,缺口间隙,旋转

      显示 - 0 隐藏, 1 显示
      旋转 - 逆时针为正

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/113965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于天鹰算法改进的DELM预测-附代码

天鹰算法改进的深度极限学习机DELM的回归预测 文章目录天鹰算法改进的深度极限学习机DELM的回归预测1.ELM原理2.深度极限学习机(DELM)原理3.天鹰算法4.天鹰算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理 ELM基础原理请参考:https:…

一文弄懂 React HOC

1. 提出问题 1.HOC 能解决什么问题? 2.HOC 的使用场景? 2. HOC 能解决什么问题? 1.拦截组件渲染,包括是否渲染组件、懒加载组件 2.往组件的 props 中混入所需的东西,比如给非 Route 组件的 props 混入 history 对象…

node.js+uni计算机毕设项目交流微信小程序LW(程序+小程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等…

信号量和共享内存

信号量 信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线…

Joplin插件推荐-持续更新

背景 之前因为印象笔记、语雀等笔记软件使用起来都不满足自己的需求,所以后面自己调研后使用了Joplin这个开源笔记软件 ,项目主页: https://joplinapp.org 。目前搭建在自己的服务器上。最近发现有很多好用的插件。所以记录分享一下。 总插…

# LowCode 低代码建表工具

LowCode 低代码建表工具 需求描述 将数据库的表映射为实体类&#xff0c;服务启动时&#xff0c;扫描表相关的实体类&#xff0c;根据实体类模型在数据库创建相关的表 依赖 主要依赖&#xff1a;使用 Sprintboot、druid、spring-jdbc、mybatis <!-- https://mvnreposit…

为啥这些开源的网络框架这么强

hi&#xff0c; 大家好&#xff0c;我是大师兄&#xff0c;今天分享一下网络编程下半部分内容&#xff0c;主要分享开源网络io框架用到了哪些核心技术&#xff0c;使他们如此流行&#xff0c;这些技术值得我们学习&#xff0c;可以增加我们编程技巧和优化思路。只有掌握更多技能…

【类和对象(上)】

Quitters never win and winners never quit. 目录 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 4.类的访问限定符及封装 4.1 访问限定符 4.2 封装 5.类的作用域 6.类的实例化 7.类对象模型 7.1 如何计算类对象的大小 7.2 结构体内存对齐规则 8.this指针 …

理解 Proxy 和 Reflect

03_02_理解 Proxy 和 Reflect 一、开始之前: 为什么还会有这一篇文章呢&#xff1f;不是手写mini-vue吗&#xff1f;其实可以理解成支线任务、番外篇&#xff0c;是对主线内容的补充。 这一篇文章可能文字比较多&#xff0c;理论知识比较多&#xff0c;参考了4本书相关的章节…

九、Express 基本使用(简)

前一篇内容讲到Express框架的安装以及对Express项目的目录文件有一定的认识了解之后&#xff0c;使用Express创建了最基本的一个Web服务器&#xff0c;接下来进行对Express框架的一些内容来做一个基本的使用&#xff1b; 创建 Web 服务器 node 或 nodemon 执行app.js文件&#…

踩坑了、踩到一个特别无语的常识坑

大家好 踩坑了啊&#xff0c;又踩坑了啊&#xff01; 这次踩到一个特别无语的常识坑。知道真相的那一刻&#xff0c;人就是整个麻掉。 先上个代码&#xff1a; private static double calculate(double a, int b) {return a / b; } 复制代码 你先别问为什么计算不用 BigDec…

RxJS初认识

概念&#xff1a; RxJS的运行就是Observable和Observer之间的互动游戏。 Observable就是“可以被观察的对象”&#xff0c;即“可被观察者”&#xff0c;而Observer就是‘观察者’&#xff0c;连接两者的桥梁就是Observable对象的函数subscribe。 RxJS中的数据流就是Observable…

第二十三章 数论——质数(1)(超级详细的推导)

第二十三章 数论——质数一、什么是质数二、质数的判断1、试除法&#xff08;朴素版&#xff09;2、试除法&#xff08;优化版&#xff09;三、分解质因数1、什么是质因数2、算术基本定理3、分解质因数&#xff08;1&#xff09;问题&#xff08;2&#xff09;思路&#xff08;…

RepNAS: 基于NAS的结构重参数化技术

1. 介绍 在过去几年里&#xff0c;NAS技术取得了长足进展。然而&#xff0c;由于搜索约束与实际推理之间的差异导致高效网络搜索仍极具挑战性。为搜索一个具有高性能、低推理延迟的模型&#xff0c;已有方案往往在算法中添加计算复杂度约束。然而&#xff0c;推理速度会受多种…

【强化学习笔记】马尔可夫过程、马尔可夫奖励过程

文章目录1.马尔可夫过程1.1.随机过程1.2.马尔可夫性质1.3.马尔可夫过程2. 马尔可夫奖励过程2.1.回报2.2.价值函数3.马尔可夫决策过程1.马尔可夫过程 马尔可夫过程&#xff08;Markov process&#xff09; 指具有 马尔可夫性质 的 随机过程 &#xff0c;也被称为马尔可夫链&…

C++GUI之wxWidgets(4)-编写应用涉及的类和方法(2)-wxDialog,wxCloseEvent

目录wxDialog包含类继承具体描述模态和无模态支持样式此类发出的事件wxWindow:&#xff1a;Close()wxCloseEvent具体描述使用此类的事件wxDialog 包含 #include <wx/dialog.h>类继承 描述主 具体描述 对话框是一个带有标题栏的窗口&#xff0c;有时还有一个系统菜单…

python-多线程、网络编程、正则表达式

目录 闭包 多线程 主线程 线程阻塞 同步锁 网络编程 正则表达式 re.match函数 re.search方法 re.match与re.search的区别 re.findall()方法 正则表达式的特殊规则 闭包 account0 def atm(num,flag):global accountif flag:accountnumaccountprint(account)else:acco…

免费开源的高精度OCR文本提取,支持 100 多种语言、自动文本定位和脚本检测,几行代码即可实现离线使用(附源码)

免费开源的高精度OCR文本提取,支持 100 多种语言、自动文本定位和脚本检测,几行代码即可实现离线使用(附源码)。 要从图像、照片中提取文本吗?是否刚刚拍了讲义的照片并想将其转换为文本?那么您将需要一个可以通过 OCR(光学字符识别)识别文本的应用程序。 图片文字识…

html圣诞树代码

一、前言 想做一个圣诞树&#xff0c;通过html实现了下 二、效果展示 三、代码 <!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <meta name"viewport" cont…

245. 你能回答这些问题吗——线段树

给定长度为 N 的数列 A&#xff0c;以及 M 条指令&#xff0c;每条指令可能是以下两种之一&#xff1a; 1 x y&#xff0c;查询区间 [x,y] 中的最大连续子段和&#xff0c; 2 x y&#xff0c;把 A[x] 改成 y。 对于每个查询指令&#xff0c;输出一个整数表示答案。 输入格式…