CAM350菜单命令详解及操作指南

版权申诉
0 下载量 8 浏览量 更新于2024-06-25 收藏 1.01MB PDF 举报
"cam350菜单命令大全.pdf" 在电子制造行业中,CAM350是一款广泛使用的PCB设计和制造工具,它提供了丰富的菜单命令来处理电路板的制造文件。以下是对标题和描述中提到的一些关键菜单命令的详细说明: 1. **New (新建)**: 这个命令用于创建新的PCB项目,你可以在这里开始一个全新的设计。 2. **Open (打开)**: 使用这个命令可以打开已有的PCB设计文件,以便于查看、编辑或继续设计工作。 3. **Save (保存)**: 保存当前的设计,确保你的改动不会丢失。快捷键Ctrl+S方便快速保存。 4. **Save As (另存为)**: 如果需要将设计保存为不同的文件名或格式,可以使用此功能。 5. **Merge (合并)**: 合并功能允许你将两个PCB文件拼接在一起,尤其适用于布局相似的板子。这在制作大尺寸PCB或拼版时非常有用。 6. **Import (导入)**: 该命令用于引入外部文件,如Gerber文件、Drill data和Mill data等,以便于在CAM350中进行检查和编辑。其中: - Autoimport 自动导入文件,自动匹配光圈表。 - Gerberdata 用于导入Gerber格式的制造文件,包含电路板的走线、填充等信息。 - Drilldata 用于导入钻孔数据,确保孔的位置和大小正确。 - Milldata 用于导入铣边资料,处理电路板的外形切割信息。 - Dxf 文件格式,通常由CAD软件生成,用于提供额外的制造说明。 7. **Export (导出)**: 导出命令用于将你的设计输出为不同的格式,包括: - Composites 复合层输出,将多层PCB合成一个视图。 - Drilldata 钻孔数据导出,供生产部门使用。 - Milldata 铣边资料导出,用于控制CNC机器切割PCB外形。 8. **Print (打印)**: CAM350可以打印设计预览,包括: - Setup Printer 打印机设置,调整打印参数。 - Print Display 打印预览,检查打印效果。 9. **Setup (系统设置)**: 这里可以定制CAM350的工作环境,如: - Preferences 配置首选项,比如撤销操作的次数、自动备份等。 - Paths 设置输入输出文件的默认路径。 - File Extensions 设置文件扩展名的默认值。 - Colors 自定义界面颜色,以提高工作效率。 - Photoplotter 光绘程序设置,影响对光绘文件的识别和处理。 10. **Nc-Mill Machine (数控铣床机器)**: 这部分可能涉及到设置或配置用于PCB铣削的数控设备参数,确保设计能够正确地转换到实际的加工过程。 以上就是CAM350中一些主要菜单命令的解释,这些命令对于PCB设计和制造流程至关重要,帮助用户有效地检查、修改和准备制造文件。熟练掌握这些命令能大大提高工作效率,并确保PCB设计的准确性和一致性。

def Grad_Cam(model, image, layer_name): # 获取模型提取全链接之前的特征图 new_model = nn.Sequential(*list(model.children())[:44]) print(new_model) new_model.eval() feature_maps = new_model(image) # 获取模型最后一层卷积层 target_layer = model._modules.get(layer_name) # 将模型最后一层卷积层的输出结果作为反向传播的梯度 gradient = torch.zeros(feature_maps.size()) # 返回一个形状与feature_maps相同全为标量 0 的张量 gradient[:, :, feature_maps.size()[2]//2, feature_maps.size()[3]//2] = 1 target_layer.zero_grad() # 将模型中参数的梯度置为0 feature_maps.backward(gradient=gradient) # 获取模型最后一层卷积层的输出结果和梯度 _, _, H, W = feature_maps.size() output_activations = feature_maps.detach().numpy()[0] gradients = target_layer.weight.grad.detach().numpy() # 计算特征图中每个像素点的权重 weights = np.mean(gradients, axis=(2, 3))[0] cam = np.zeros((H, W), dtype=np.float32) for i, w in enumerate(weights): cam += w * output_activations[i, :, :] # 对权重进行归一化处理 cam = np.maximum(cam, 0) cam = cv2.resize(cam, (1440, 1440)) cam = cam - np.min(cam) cam = cam / np.max(cam) # 将热力图叠加到原图上 heatmap = cv2.applyColorMap(np.uint8(255 * cam), cv2.COLORMAP_JET) heatmap = np.float32(heatmap) / 255 image = image.detach().numpy() image = np.transpose(image, (0, 2, 3, 1)) img_CCT = cv2.imread("F:/BaiduSyncdisk/python/svm_CCT/picture CCT_CP/2L5830N023_CCT.png") img_CP = cv2.imread("F:/BaiduSyncdisk/python/svm_CCT/picture CCT_CP/2L5830N023_CP.png") img_CCT = cv2.resize(img_CCT, (1440, 1440)) img_CP = cv2.resize(img_CP, (1440, 1440)) cam_img = heatmap + np.float32(img_CCT[0]) cam_img = cam_img / np.max(cam_img) return np.uint8(255 * cam_img) 上述代码不显示热力图,怎么解决

2023-05-26 上传