CAM350入门指南:FILE菜单详解与数据导入教程

版权申诉
0 下载量 23 浏览量 更新于2024-06-20 收藏 1.92MB PDF 举报
CAM350是一款专为SMT和PCB工程师设计的详细使用教程,它在电路板设计和制造过程中扮演着关键角色。本教程深入讲解了CAM350的主要功能和操作步骤,以帮助用户高效地进行工作。 首先,文件的FILE菜单包含了几个基础操作: 1. **新建(NO)**:用于清除原有数据,准备导入新的设计数据。快捷键Ctrl-N实现这一功能。 2. **打开**:打开当前及以前版本的CAM350生成的CAM和PCB文件,使用Ctrl-O快速访问。 3. **保存**:保存当前各层的所有数据到cam/pcb文件夹,便于后续访问。Ctrl-S是快捷键。 4. **另存为**:与保存类似,但允许用户为数据创建一个独立的文件副本,用于不同的用途。 5. **合并**:将预先准备好的模块、标识文件或其他完成的CAM350 PCB文件合并,便于管理和修改数据,通过编辑、更改或合并数据库进行操作。 6. **导入**:Import功能支持自动导入多种格式的数据,如274D、274X、DPF、DXF、钻孔数据等,需要确保数据在同一目录,并注意ASCII编码和文件格式的匹配。 在导入数据时,用户需要注意: - **自动导入**:使用Autocimport,确保选择Next而非Finish,以便在识别错误时进行手动校正。 - **解读ASCII码**:文件后缀名并不一定代表其格式,解析ASCII码以确定正确的数据类型,例如DPF应设置为BarCodeDPF。 - **设置制式**:对于不同类型的G代码(如RS274X、DPF、Fire9xxx),无需关注公制或英制单位,只需指定对应的标准即可直接导入。对于无D码的文件,应设置为RS274,并与D码文件匹配以确保图形正确显示。 - **判断制式**:通常,GBR数据以LEADING(前导)坐标为主,而钻孔数据为_TRAILING(尾随)坐标,且多为绝对坐标系统。 CAM350是一款强大的工具,掌握这些基本操作和导入策略,能大大提高PCB工程师的工作效率和准确性。熟练使用这款软件是SMT与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) 上述代码不显示热力图,怎么解决

421 浏览量