cadence SPB17.4 S032 - allegro - 保存/载入光绘层定义
文章目录
- cadence SPB17.4 S032 - allegro - 保存/载入光绘层定义
- 概述
- 保存光绘层
- 在新板子中载入已经保存的相同类型老板子定义好的光绘层定义文件
- 碎碎念
- END
cadence SPB17.4 S032 - allegro - 保存/载入光绘层定义
概述
以前布线完成, 准备出板厂文件时, 总是要手工重新建立光绘层.
开始不觉得有啥不便, 现在板子画的多了, 再一遍一遍的重复工作, 真没意思, 主要是太折磨人.
突然发现allegro可以保存光绘层定义, 在新板子工程(.brd)中, 只需要载入这个定义文件, 光绘层就出来了, 这样省心很多.
光绘层的定义对于同样菲林叠层的板子是通用的(e.g. 2层板, 4层板, 6层板), 这样的话, 手头只要保存几个光绘层定义文件就够用来在相同菲林叠层类型的新板子工程中用了. 如果发现, 现有的光绘层定义文件不符合新板子的光绘层需求, 再手工定义/保存成一个新的光绘层定义文件给以后的新工程用, 这样工作量小很多.
保存光绘层
打开自己以前做好的板子工程(.brd)
执行光绘输出

选择所有已经定义好的光绘层

保存所有已经选中的所有光绘层定义为文件


保存后的光绘层定义文件名称为FILM_SETUP.txt, 改名为my_FILM_SETUP.txt 给新工程用.
看看他长啥样?
axlFilmCreate( "ASM_BTM" ?negative nil ?undefineLineWidth 10.00 ?sequence 2 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored t ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("REF DES/SILKSCREEN_BOTTOM" "PIN/BOTTOM" "PACKAGE GEOMETRY/SILKSCREEN_BOTTOM" "BOARD GEOMETRY/SILKSCREEN_BOTTOM" "BOARD GEOMETRY/DESIGN_OUTLINE" ))
axlFilmCreate( "ASM_TOP" ?negative nil ?undefineLineWidth 10.00 ?sequence 1 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("REF DES/SILKSCREEN_TOP" "PIN/TOP" "PACKAGE GEOMETRY/SILKSCREEN_TOP" "BOARD GEOMETRY/SILKSCREEN_TOP" "BOARD GEOMETRY/DESIGN_OUTLINE" ))
axlFilmCreate( "NC" ?negative nil ?undefineLineWidth 10.00 ?sequence 4 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("MANUFACTURING/NCLEGEND-1-2" "MANUFACTURING/NCDRILL_LEGEND" "MANUFACTURING/NCDRILL_FIGURE" "BOARD GEOMETRY/DESIGN_OUTLINE" ))
axlFilmCreate( "PS_BTM" ?negative nil ?undefineLineWidth 10.00 ?sequence 5 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("PIN/PASTEMASK_BOTTOM" "PACKAGE GEOMETRY/PASTEMASK_BOTTOM" "BOARD GEOMETRY/DESIGN_OUTLINE" ))
axlFilmCreate( "PS_TOP" ?negative nil ?undefineLineWidth 10.00 ?sequence 6 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("PIN/PASTEMASK_TOP" "PACKAGE GEOMETRY/PASTEMASK_TOP" "BOARD GEOMETRY/DESIGN_OUTLINE" ))
axlFilmCreate( "SD_BTM" ?negative nil ?undefineLineWidth 10.00 ?sequence 7 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("VIA CLASS/SOLDERMASK_BOTTOM" "PIN/SOLDERMASK_BOTTOM" "PACKAGE GEOMETRY/SOLDERMASK_BOTTOM" "BOARD GEOMETRY/SOLDERMASK_BOTTOM" "BOARD GEOMETRY/DESIGN_OUTLINE" ))
axlFilmCreate( "SD_TOP" ?negative nil ?undefineLineWidth 10.00 ?sequence 8 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("VIA CLASS/SOLDERMASK_TOP" "PIN/SOLDERMASK_TOP" "PACKAGE GEOMETRY/SOLDERMASK_TOP" "BOARD GEOMETRY/SOLDERMASK_TOP" "BOARD GEOMETRY/DESIGN_OUTLINE" ))
axlFilmCreate( "SK_BTM" ?negative nil ?undefineLineWidth 10.00 ?sequence 9 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("REF DES/SILKSCREEN_BOTTOM" "PACKAGE GEOMETRY/SILKSCREEN_BOTTOM" "BOARD GEOMETRY/SILKSCREEN_BOTTOM" "BOARD GEOMETRY/DESIGN_OUTLINE" ))
axlFilmCreate( "SK_TOP" ?negative nil ?undefineLineWidth 10.00 ?sequence 10 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("REF DES/SILKSCREEN_TOP" "PACKAGE GEOMETRY/SILKSCREEN_TOP" "BOARD GEOMETRY/SILKSCREEN_TOP" "BOARD GEOMETRY/DESIGN_OUTLINE" ))
axlFilmCreate( "BTM" ?negative nil ?undefineLineWidth 10.00 ?sequence 3 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("VIA CLASS/BOTTOM" "PIN/BOTTOM" "ETCH/BOTTOM" "BOARD GEOMETRY/DESIGN_OUTLINE" ))
axlFilmCreate( "TOP" ?negative nil ?undefineLineWidth 10.00 ?sequence 11 ?rotation 0 ?xOffset 0.00 ?yOffset 0.00 ?shapeBoundingBox 100.00 ?mirrored nil ?fullContact nil ?suppressUnconnectPads nil ?drawMissingPadApertures nil ?useApertureRotation nil ?suppressShapeFill nil ?vectorBasedPad t ?drawHolesOnly nil ?domains '(ipc2581 pdf artwork visibility ) ?ipc2581 '() ?layers '("VIA CLASS/TOP" "PIN/TOP" "ETCH/TOP" "BOARD GEOMETRY/DESIGN_OUTLINE" ))
隐约能看出有以下元素:
- 光绘层的名称
- 光绘层是否要镜像
- 光绘层包含的实际板层(e.g. BOARD GEOMETRY/DESIGN_OUTLINE)
在新板子中载入已经保存的相同类型老板子定义好的光绘层定义文件
为了验证, 是否能正确载入已经保存好的光绘层定义文件后, 是否能将现有定义删除, 并载入文件中定义好的所有光绘层.
我手工将所有光绘层都删了, 并且建立了一个测试用的光绘层.

点击"替换", 载入光绘层定义文件.


从"替换"按钮返回后, 看到旧的层被删掉了, 原来板子定义光绘层都被载入了, cadence软件做的NB!

碎碎念
感觉以前的自己比现在的自己傻好多:P
当时咋就没想到有没有可以自动建立光绘层的方法呢. 这么NB的软件应该有类似的功能啊, 咋就想不到先找找呢?
END
相关文章:
cadence SPB17.4 S032 - allegro - 保存/载入光绘层定义
文章目录cadence SPB17.4 S032 - allegro - 保存/载入光绘层定义概述保存光绘层在新板子中载入已经保存的相同类型老板子定义好的光绘层定义文件碎碎念ENDcadence SPB17.4 S032 - allegro - 保存/载入光绘层定义 概述 以前布线完成, 准备出板厂文件时, 总是要手工重新建立光绘…...
微服务实战--高级篇:分布式缓存 Redis
分布式缓存 – 基于Redis集群解决单机Redis存在的问题 单机的Redis存在四大问题: 1.Redis持久化 Redis有两种持久化方案: RDB持久化AOF持久化 1.1.RDB持久化 RDB全称Redis Database Backup file(Redis数据备份文件)…...
【C语言】可变参数列表
本篇博客让我们来认识一下C语言学习过程中往往被忽略的可变参数列表 所谓可变参数,就是一个不限定参数数量的函数,我们可以往里面传入任意个数的参数,以达成某些目的。 关联:C11可变模板参数;本文首发于 慕雪的寒舍 …...
目标检测的旋框框文献学习
这是最近打算看完的文献,一天一篇 接下来将记录一下文献阅读笔记,避免过两天就忘了 RRPN 论文题目:Arbitrary-Oriented Scene Text Detection via Rotation Proposals 论文题目:通过旋转方案进行任意方向的场景文本检测&#x…...
Hive 在工作中的调优总结
总结了一下在以往工作中,对于Hive SQL调优的一些实际应用,是日常积累的一些优化技巧,如有出入,欢迎在评论区留言探讨~ EXPLAIN 查看执行计划 建表优化 分区 分区表基本操作,partitioned二级分区动态分区 分桶 分…...
每天一道大厂SQL题【Day09】充值日志SQL实战
每天一道大厂SQL题【Day09】充值日志SQL实战 大家好,我是Maynor。相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间,基于大数据岗面试中的经典SQL题&#…...
MATLAB 遗传算法
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…...
探讨 Java 中 valueOf 和 parseInt 的区别
前言 在编程中,遇到类型转换,好像会经常用到 parseInt 和 valueOf,当然这里只拿 Integer 类型进行陈述,其他类型也是雷同的; 想必有读者也跟我一样,经常交叉使用这两个方法,但却不知道这两者到…...
JSON学习笔记
♥课程链接:【狂神说Java】一小时掌握JSON_哔哩哔哩_bilibili配套的当然还要学习ajax不管是前端后端,感觉这部分内容是必须的,不然真的做项目的时候云里雾里。总体json的内容不多,具体就:1. 列表、对象等语法格式2. js…...
家政服务小程序实战教程07-轮播图组件
小程序中首页一般显示轮播图的功能,点击轮播图会跳转到具体的一篇文章或者是产品,本篇我们就介绍一下轮播图功能的开发 01 设计数据源 我们轮播图组件需要两个字段,一个是展示的图片,一个是跳转页面传入的参数。打开数据源&…...
MySQL之索引创建、删除、唯一索引、普通索引、及命名规则、注意事项
一、MySQL 索引 定义 索引是一个数据结构,用于加速数据库表中数据的查询。索引存储了一些数据表中的列值,以及这些列值在数据表中的位置,这样就可以通过索引来快速查找到数据表中的某一行数据。 MySQL 支持多种索引类型,包括普通…...
【C++设计模式】学习笔记(3):策略模式 Strategy
目录 简介动机(Motivation)模式定义结构(Structure)要点总结笔记结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金…...
Java——聊聊JUC中的ThreadLocal
文章目录: 1.什么是ThreadLocal? 1.1 api介绍 1.2 最简单的案例认识ThreadLocal 1.3 线程池结合ThreadLocal案例 2.Thread &ThreadLocal & ThreadLocalMap 3.ThreadLocal内存泄漏问题 3.1 四大引用之强引用 3.2 四大引用之软引用 3.3 四…...
软件工程(4)--螺旋模型
前言 这是基于我所学习的软件工程课程总结的第四篇文章。 在软件开发过程中必须及时识别和分析风险,并且采取适当措施以消除或减少风险的危害。构建原型是一种能使某些类型的风险降至最低的方法。为了降低交付给用户的产品不能满足用户需要的风险,一种行…...
图解LeetCode——剑指 Offer 50. 第一个只出现一次的字符
一、题目 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。 二、示例 2.1> 示例 1: 【输入】s "abaccdeff" 【输出】b 2.2> 示例 2: 【输入】s "" 【输出】 限制: 0 < s 的…...
《HTML 5与CSS 3核心技法》读书笔记
目录前言第1章 写在前面第2章 HTML 语法基础第3章 布局类元素 ,房子的楼板、柱子和大梁第4章 功能类元素,房子的门、窗、水管和电气第5章 CSS基础第6章 选择器,确定样式的作用范围选择器类型选择器的组合使用第7章 权重,样式发送冲…...
【沐风老师】3DMAX几何投影插件Geometry Projection使用详解
【几何投影插件】 描述 3DMAX几何投影插件Geometry Projection,将一个或多个对象或它的顶点选择沿全局或局部 x、y 或 z 轴投影到另一个对象上。 适用版本 3dMax2013或更高版本 安装设置 插件的安装非常简单,解压后把插件脚本 “geometry_projectio…...
面试问题整理
20200422面试题 1、有nginx为什么还要用gateway 2、factorybean和beanfactory有什么区别 https://www.cnblogs.com/leeego-123/p/12159574.html 2、aop原理 3、ioc原理 4、注解requestbody和responsebody区别。pathvireable和requestparam注解区别,feign客户端的注解…...
“区块链60人”2022赋能中国区块链创新人物名单公布
2022年11月5日,“2022第五届全国高校人工智能大数据区块链教育教学创新论坛”在京隆重召开。此次论坛公布了“区块链60人”2022赋能中国区块链创新人物评选活动获评名单。 本次评选活动通过媒体报道、第三方推荐、专家评选等环节,坚持“公开、公平、公正…...
day2324 数组
文章目录相关概念codeArrayTest08 数组拷贝相关概念 day23课堂笔记 1、数组 1.1、数组的优点和缺点,并且要理解为什么。 第一:空间存储上,内存地址是连续的。 第二:每个元素占用的空间大小相同。 第三:知道首元素的内…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
