CAM350教程:电子CAM与LAYOUT必备技能

需积分: 9 7 下载量 155 浏览量 更新于2024-08-01 收藏 1.07MB PDF 举报
"这是一份关于CAM350和PCB布局工程师的教材,适合从事电子CAM和LAYOUT工作的人才学习使用。教材涵盖了CAM350的主要功能,包括文件的创建、打开、保存、合并、导入与导出,以及各种格式的处理,如Gerber、Drilldata、Milldata等。此外,还涉及到系统设置和光圈表调整等高级操作,旨在帮助用户熟练掌握PCB文件的管理和编辑。" 在PCB设计和制造过程中,CAM350是一款重要的工具,它能够帮助工程师高效地处理和检查Gerber文件。以下是关于CAM350V8.0.5中的关键知识点: 1. **文件操作**: - **新建 (New)**:使用Ctrl+N快捷键创建新的PCB文件。 - **打开 (Open)**:通过Ctrl+O打开已存在的PCB文件。 - **保存 (Save)**:使用Ctrl+S快速保存当前文件。 - **另存为 (Save As)**:保存文件时选择不同的位置或文件名。 - **合并 (Merge)**:将两个排列相似的PCB文件拼接,适用于菲林绘制。 2. **导入与导出**: - **导入 (Import)**:支持多种格式的导入,如Gerber数据、钻孔数据、铣边资料等。 - **光圈表 (Aperture Table)**:当光绘文件正确但光圈表不匹配时,可以调整光圈表以适应使用的编译器。 - **导出 (Export)**:包括复合层输出、钻孔数据和铣边数据,确保设计的完整性和准确性。 3. **打印与设置**: - **打印 (Print)**:提供打印机设置和打印预览功能。 - **系统设置 (Setup)**:涵盖偏好设置、路径、文件扩展名、颜色配置和光绘程序的识别设置。 4. **光圈表和光绘识别**: - 光圈表的调整至关重要,确保文件导入后的正确显示和处理。 - 对于Gerber文件,需要根据RS274-X和RS274-D的标准进行调试。 - 当遇到不明设计的圆弧或焊盘线未填充的问题,可以通过修改 Photoplotter 设置中的参数进行调试,但调试后需恢复到默认状态以避免影响其他设计。 5. **高级功能**: - **Nc-Mill**:可能涉及自动化的数控铣削操作,用于PCB的精密加工。 通过深入学习和实践这些功能,CAM350可以帮助工程师优化PCB设计流程,提高工作效率,并确保设计的精确性和一致性。在处理客户提供的文件时,尤其要注意不同软件生成的文件可能需要不同的识别设置,因此理解和掌握这些设置是至关重要的。

[ 12%] Building CXX object usb_cam/CMakeFiles/v4l_driver.dir/src/camera_driver.cpp.o /root/catkin_uc/src/usb_cam/src/camera_driver.cpp: In destructor ‘virtual usb_cam::AbstractV4LUSBCam::~AbstractV4LUSBCam()’: /root/catkin_uc/src/usb_cam/src/camera_driver.cpp:239:5: error: ‘av_packet_free’ was not declared in this scope av_packet_free(&avpkt); ^~~~~~~~~~~~~~ /root/catkin_uc/src/usb_cam/src/camera_driver.cpp:239:5: note: suggested alternative: ‘av_packet_ref’ av_packet_free(&avpkt); ^~~~~~~~~~~~~~ av_packet_ref /root/catkin_uc/src/usb_cam/src/camera_driver.cpp: In static member function ‘static bool usb_cam::AbstractV4LUSBCam::init_decoder()’: /root/catkin_uc/src/usb_cam/src/camera_driver.cpp:379:13: error: ‘av_packet_alloc’ was not declared in this scope avpkt = av_packet_alloc(); ^~~~~~~~~~~~~~~ /root/catkin_uc/src/usb_cam/src/camera_driver.cpp:379:13: note: suggested alternative: ‘av_image_alloc’ avpkt = av_packet_alloc(); ^~~~~~~~~~~~~~~ av_image_alloc /root/catkin_uc/src/usb_cam/src/camera_driver.cpp: In static member function ‘static bool usb_cam::AbstractV4LUSBCam::decode_ffmpeg(const void*, int, usb_cam::camera_image_t*)’: /root/catkin_uc/src/usb_cam/src/camera_driver.cpp:779:8: error: ‘avcodec_send_packet’ was not declared in this scope if(avcodec_send_packet(avcodec_context, avpkt) < 0) ^~~~~~~~~~~~~~~~~~~ /root/catkin_uc/src/usb_cam/src/camera_driver.cpp:779:8: note: suggested alternative: ‘av_append_packet’ if(avcodec_send_packet(avcodec_context, avpkt) < 0) ^~~~~~~~~~~~~~~~~~~ av_append_packet /root/catkin_uc/src/usb_cam/src/camera_driver.cpp:792:9: error: ‘avcodec_receive_frame’ was not declared in this scope if (avcodec_receive_frame(avcodec_context, avframe_camera) < 0) ^~~~~~~~~~~~~~~~~~~~~ /root/catkin_uc/src/usb_cam/src/camera_driver.cpp:792:9: note: suggested alternative: ‘avcodec_free_frame’ if (avcodec_receive_frame(avcodec_context, avframe_camera) < 0) ^~~~~~~~~~~~~~~~~~~~~ avcodec_free_frame usb_cam/CMakeFiles/v4l_driver.dir/build.make:110: recipe for target 'usb_cam/CMakeFiles/v4l_driver.dir/src/camera_driver.cpp.o' failed make[2]: *** [usb_cam/CMakeFiles/v4l_driver.dir/src/camera_driver.cpp.o] Error 1 CMakeFiles/Makefile2:656: recipe for target 'usb_cam/CMakeFiles/v4l_driver.dir/all' failed make[1]: *** [usb_cam/CMakeFiles/v4l_driver.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j4 -l4" failed

2023-07-16 上传