申请网站域名wordpress 3.5.2 漏洞
2026/4/18 9:34:23 网站建设 项目流程
申请网站域名,wordpress 3.5.2 漏洞,做软件的网站,怎么做网站首页psd解决canence 17.4导出DXF文件时Bot层器件显示不全的实战指南 问题背景和现象描述 上周把一块四层板发去打样#xff0c;CAM 工程师反馈 DXF 里只有 Top 层器件#xff0c;Bot 层器件全部“消失”。回到 canence 17.4 里看#xff0c;3D 视图明明一切正常#xff0c;Gerber …解决canence 17.4导出DXF文件时Bot层器件显示不全的实战指南问题背景和现象描述上周把一块四层板发去打样CAM 工程师反馈 DXF 里只有 Top 层器件Bot 层器件全部“消失”。回到 canence 17.4 里看3D 视图明明一切正常Gerber 也能看到完整的 Bottom 铜皮、丝印、阻焊唯独 DXF 导出后只剩外框。重新勾选“Export all subclasses”也无效一度怀疑是 license 不全但换一台机器现象依旧。于是决定把 DXF 导出流程拆开看看到底哪一步把 Bot 层“吃掉”。技术分析canence 的 DXF 导出逻辑canence 17.4 的 DXF 导出器在后台分三步走遍历数据库中所有 subclass把可见且未被 filtered 的图形写进中间缓存cacheGeom。对 cacheGeom 做“打散”——把 pad、line、shape 统一转成零宽度的 polyline。调用 OpenDWG 库写入 DXF同时根据“Layer Mapping Table”把 canence 的 subclass 名映射成 DXF 的 layer 名。Bot 层器件“消失”通常卡在第一步17.4 默认把 Bot 层class: PACKAGE GEOMETRY / subclass: PLACE_BOUND_BOTTOM的“Export”标志位设成 0x00导致遍历直接跳过。部分封装库里把 Bot 层图形放在 “ASSEMBLY_BOTTOM” 或 “SILKSCREEN_BOTTOM”而用户只勾选了 “PLACE_BOUND” 系列结果一样被过滤掉。如果设计里用了 negative planecanence 会额外检查 “Negative Artwork” 属性一旦为 True 且用户没勾选 “Export negative shapes”Bot 层的大铜皮也会被丢弃。一句话不是图形没了而是导出器根本没把它们请进缓存。解决方案Python 脚本一键修复思路在导出前先把所有 Bot 层 subclass 的 Export 标志置 1再调用 DXF 导出接口。下面脚本直接在 17.4 的 Command 窗口里skill p y run(dxf_botfix.il)即可也可以放到~/pcbenv/site下当启动脚本。; dxf_botfix.il ; 强制打开所有 Bot 层 subclass 的导出开关 procedure( fixBotExport() let((cv subclasses botSub) cv deGetCellView( deGetActiveWindow() ) ; 遍历所有 subclass subclasses cv~subclasses foreach(sub subclasses ; 只要名字里带 BOTTOM 就认为是 Bot 层 when( rexMatchp(.*BOTTOM.* sub~name) ; 把 export 标志位置 1 sub~exportFlag 1 printf(Fixed export flag for %s\n sub~name) ) ) ; 额外处理 PACKAGE GEOMETRY/PLACE_BOUND_BOTTOM botSub car( setof(x subclasses x~class PACKAGE GEOMETRY x~name PLACE_BOUND_BOTTOM)) when( botSub botSub~exportFlag 1 ) ) t ) ; 如果只想在 DXF 导出前自动调用可挂到导出钩子 axlCmdRegister(dxf fixBotExport nil)脚本跑完后再 File → Export → DXF勾选 “Use layer mapping file”Bot 层器件就会完整出现在 DXF 的 “PLACE_BOUND_BOTTOM” 层里。验证方法用 canence 自身打开导出的 DXFFile → Import → DXF确认 Bot 层有图形。用 Autodesk TrueView 打开 DXF把 “PLACE_BOUND_BOTTOM” 层单独打开数一下器件外框数量是否等于 PCB 上 Bot 面器件数。把 DXF 发给 CAM 工程师让对方用 Genesis 或 CAM350 做 component 到 copper 的 XOR结果应为 0说明器件轮廓与铜皮完全对齐没有缺件。避坑指南不要把 “Negative Artwork” 层当成普通层导出否则会出现整块铜皮被反相。需要 negative 时一定勾选 “Export negative shapes”。如果封装库来自外部一定检查 “ASSEMBLY_BOTTOM” 是否也放了丝印线DXF 默认只导出 “SILKSCREEN_BOTTOM”结果会把装配线漏掉。解决方法是把映射表 (*.layermap) 里加一行ASSEMBLY_BOTTOM silk_bottom17.4 早期 patch 有 bug导出器会把 oval pad 打散成两段弧导致 CAM350 报 “self-intersecting polygon”。官方 S019 补丁已修建议先升级。脚本改的是内存标志位不会回写数据库下次打开设计需重新运行如果想永久生效把 exportFlag 写回磁盘需要axlSaveDesign()但会触版次谨慎使用。总结与扩展思考这次 Bot 层“消失”并不是 DXF 格式本身的问题而是 canence 在导出前根据标志位做了预过滤。掌握遍历 subclass 并改标志位的方法后就能举一反三可以写个通用脚本把任意层做成 “只导出选中层” 的快捷按钮替代官方繁琐的勾选界面。如果后续想把 DXF 直接给结构工程师做腔体脚本里还能加一步把 Place_Bound 外框整体外扩 0.2 mm再输出到 “MECH_KEEPOUT” 层实现 ECAD-MCAD 一键协同。把这套流程固化成公司内部的 “DFX Checklist”以后再也不用在 CAM 和 PCB 之间来回确认打样周期直接缩短一天。——写完脚本我突然想到要是能把“实时语音”也塞进设计流程让 AI 在导出 DXF 的同时语音播报 “Bot 层 126 个器件已就绪”那才带感。正好周末有空我打算去 从0打造个人豆包实时通话AI 动手实验里试试把刚才的 fixBotExport() 返回值用语音告诉产线同事省得他们一遍遍开文件确认。小白也能顺利跑通我已经提前踩过坑了放心跟着做就行。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询