当前位置: 首页 > news >正文

当Excel遇上AutoCAD:用VBA打通两大软件,实现数据与图纸的联动

Excel与AutoCAD的VBA深度联动:构建数据与图纸的智能桥梁

在工程设计和办公自动化领域,Excel和AutoCAD无疑是两大支柱工具。前者以强大的数据处理能力著称,后者则是专业绘图的标准选择。但很少有人意识到,通过VBA(Visual Basic for Applications)这座桥梁,我们可以让这两个看似独立的软件实现深度对话,创造出1+1>2的工作效率。

想象一下这样的场景:在机械设计中,Excel表格里的参数自动生成对应的CAD图纸;在建筑领域,CAD图纸中的尺寸数据能够实时反馈到Excel中进行成本计算;在工厂布局中,Excel中的设备清单能自动转化为CAD中的布置图。这些都不是未来幻想,而是通过VBA可以实现的现实工作流程。

1. VBA联动基础架构

1.1 理解跨应用程序对象模型

要让Excel和AutoCAD通过VBA进行通信,首先需要理解两个关键概念:COM(Component Object Model)应用程序对象模型。COM是微软开发的组件间通信标准,而每个应用程序(如Excel、AutoCAD)都通过对象模型暴露自己的功能。

在VBA中操作AutoCAD的基本模式如下:

Dim acadApp As Object Set acadApp = GetObject(, "AutoCAD.Application") ' 尝试连接已打开的AutoCAD If acadApp Is Nothing Then Set acadApp = CreateObject("AutoCAD.Application") ' 如果未打开则创建新实例 End If acadApp.Visible = True ' 使AutoCAD窗口可见

同样,从AutoCAD操作Excel的代码结构类似:

Dim excelApp As Object Set excelApp = GetObject(, "Excel.Application") If excelApp Is Nothing Then Set excelApp = CreateObject("Excel.Application") End If excelApp.Visible = True

注意:在实际应用中,建议添加错误处理代码(On Error语句),因为用户可能没有安装相应软件或版本不兼容。

1.2 双向通信的三种模式

根据不同的工作场景,Excel与AutoCAD的联动可以分为三种基本模式:

  1. Excel主导型:Excel作为控制中心,驱动AutoCAD完成绘图任务
  2. AutoCAD主导型:从CAD环境中提取数据到Excel进行分析
  3. 双向同步型:建立实时数据通道,任何一方的修改都会同步到另一方

下表对比了三种模式的适用场景:

模式主导方典型应用优点缺点
Excel主导Excel参数化绘图、批量修改数据处理能力强CAD操作功能有限
CAD主导AutoCAD图纸数据提取、分析直接访问图纸对象Excel功能利用不充分
双向同步两者实时联动设计响应及时实现复杂,性能要求高

1.3 环境配置与引用设置

为了获得更好的开发体验和代码提示,建议在VBA编辑器中添加对AutoCAD类型库的引用:

  1. 在Excel中按Alt+F11打开VBA编辑器
  2. 点击"工具"→"引用"
  3. 找到并勾选"AutoCAD xxxx Type Library"(版本号可能不同)
  4. 同样方法可以添加对Excel对象库的引用(在AutoCAD VBA环境中)

添加引用后,我们可以使用具体的对象类型而非泛型的Object,获得智能提示和编译时类型检查:

Dim acadApp As AcadApplication ' 具体类型而非Object Set acadApp = GetObject(, "AutoCAD.Application")

2. 从Excel到AutoCAD:数据驱动绘图

2.1 参数化绘图基础

参数化设计是现代工程设计的核心概念,而Excel+VBA+AutoCAD的组合为实现这一理念提供了简单有效的工具链。基本思路是将设计参数存储在Excel表格中,通过VBA读取这些参数并在AutoCAD中生成对应的图形。

假设我们有一个简单的机械零件,其尺寸由Excel中的参数决定:

Sub GenerateFlange() Dim acadApp As Object, acadDoc As Object, acadModel As Object Set acadApp = GetAutoCADInstance() Set acadDoc = acadApp.ActiveDocument Set acadModel = acadDoc.ModelSpace ' 从Excel读取参数 Dim outerDia As Double, innerDia As Double, thickness As Double outerDia = ThisWorkbook.Sheets("参数").Range("B2").Value innerDia = ThisWorkbook.Sheets("参数").Range("B3").Value thickness = ThisWorkbook.Sheets("参数").Range("B4").Value ' 在AutoCAD中绘制法兰 Dim center(0 To 2) As Double center(0) = 0: center(1) = 0: center(2) = 0 ' 绘制外圆 acadModel.AddCircle center, outerDia / 2 ' 绘制内圆 acadModel.AddCircle center, innerDia / 2 ' 绘制螺栓孔... End Sub

2.2 批量处理与模板应用

在实际工程中,经常需要根据相似但参数不同的设计生成一系列图纸。这时可以结合Excel表格和CAD模板实现高效批量处理。

典型工作流程

  1. 准备一个包含所有变体参数的Excel表格
  2. 创建AutoCAD模板文件(DWT),包含所有固定元素和参数化位置
  3. 编写VBA代码遍历Excel中的每一行数据
  4. 对每组参数:
    • 新建基于模板的图纸
    • 根据参数调整图形
    • 保存为单独的文件
Sub BatchGenerateDrawings() Dim paramSheet As Worksheet Set paramSheet = ThisWorkbook.Sheets("参数表") Dim lastRow As Long lastRow = paramSheet.Cells(paramSheet.Rows.Count, "A").End(xlUp).Row Dim acadApp As Object, acadDoc As Object Set acadApp = GetAutoCADInstance() Dim i As Long For i = 2 To lastRow ' 假设第一行是标题 ' 从Excel读取当前行参数 Dim modelName As String modelName = paramSheet.Cells(i, 1).Value ' 创建新图纸 Set acadDoc = acadApp.Documents.Add("C:\Templates\MyTemplate.dwt") ' 根据参数修改图纸 UpdateDrawing acadDoc, paramSheet, i ' 保存图纸 acadDoc.SaveAs "C:\Output\" & modelName & ".dwg" acadDoc.Close Next i End Sub

2.3 高级交互技术

除了基本的图形生成,Excel和AutoCAD之间还可以实现更丰富的交互:

实时预览技术: 在Excel中设置滚动条或数值调节钮控件,当用户调整参数时,AutoCAD中的图形实时更新,提供即时视觉反馈。

用户界面集成: 在Excel中创建自定义窗体,集成了参数输入和CAD预览功能,形成完整的设计工具。

' 在Excel用户窗体中实现实时预览 Private Sub txtDiameter_Change() If Not previewMode Then Exit Sub Dim diameter As Double If IsNumeric(txtDiameter.Value) Then diameter = CDbl(txtDiameter.Value) UpdateCADPreview diameter End If End Sub Private Sub UpdateCADPreview(diameter As Double) Static previewCircle As Object Dim acadApp As Object, acadModel As Object Set acadApp = GetAutoCADInstance() Set acadModel = acadApp.ActiveDocument.ModelSpace ' 删除旧的预览圆 If Not previewCircle Is Nothing Then On Error Resume Next previewCircle.Delete On Error GoTo 0 End If ' 创建新的预览圆 Dim center(0 To 2) As Double center(0) = 0: center(1) = 0: center(2) = 0 Set previewCircle = acadModel.AddCircle(center, diameter / 2) ' 设置预览样式 previewCircle.Color = acRed previewCircle.Linetype = "Dashed" acadApp.ZoomAll End Sub

3. 从AutoCAD到Excel:数据提取与分析

3.1 图纸信息提取技术

AutoCAD图纸中包含大量有价值的信息,通过VBA可以提取这些数据到Excel进行分析和管理。常见的可提取对象包括:

  • 图形属性(图层、颜色、线型等)
  • 尺寸标注数据
  • 块属性值
  • 自定义对象数据
Sub ExportBlockAttributesToExcel() Dim acadApp As Object, acadDoc As Object, acadModel As Object Set acadApp = GetAutoCADInstance() Set acadDoc = acadApp.ActiveDocument Set acadModel = acadDoc.ModelSpace ' 准备Excel工作表 Dim excelApp As Object, wb As Object, ws As Object Set excelApp = CreateObject("Excel.Application") excelApp.Visible = True Set wb = excelApp.Workbooks.Add Set ws = wb.Sheets(1) ' 设置标题行 ws.Cells(1, 1).Value = "块名" ws.Cells(1, 2).Value = "属性标记" ws.Cells(1, 3).Value = "属性值" ws.Cells(1, 4).Value = "X坐标" ws.Cells(1, 5).Value = "Y坐标" Dim row As Long: row = 2 Dim ent As Object ' 遍历模型空间中的所有实体 For Each ent In acadModel If ent.EntityName = "AcDbBlockReference" Then ' 处理块参照 Dim attrs As Variant attrs = ent.GetAttributes Dim i As Long For i = LBound(attrs) To UBound(attrs) ws.Cells(row, 1).Value = ent.Name ws.Cells(row, 2).Value = attrs(i).TagString ws.Cells(row, 3).Value = attrs(i).TextString ws.Cells(row, 4).Value = ent.InsertionPoint(0) ws.Cells(row, 5).Value = ent.InsertionPoint(1) row = row + 1 Next i End If Next ent ' 自动调整列宽 ws.Columns("A:E").AutoFit End Sub

3.2 图纸数据统计与分析

将CAD数据提取到Excel后,可以利用Excel强大的分析功能获得各种洞察:

  • 材料清单统计:统计图纸中各种组件、材料的数量和规格
  • 面积/体积计算:计算封闭区域的面积或三维模型的体积
  • 版本差异分析:比较不同版本图纸之间的变化

典型分析流程

  1. 从CAD提取原始数据到Excel"原始数据"工作表
  2. 在"分析"工作表中使用数据透视表汇总信息
  3. 创建图表可视化关键指标
  4. 设置条件格式突出显示异常值
Sub AnalyzeExtractedData() Dim wsRaw As Worksheet, wsAnalysis As Worksheet Set wsRaw = ThisWorkbook.Sheets("原始数据") Set wsAnalysis = ThisWorkbook.Sheets("分析") ' 创建数据透视表 Dim ptCache As PivotCache Dim pt As PivotTable Dim rngData As Range Set rngData = wsRaw.Range("A1").CurrentRegion Set ptCache = ThisWorkbook.PivotCaches.Create( _ SourceType:=xlDatabase, _ SourceData:=rngData) Set pt = ptCache.CreatePivotTable( _ TableDestination:=wsAnalysis.Range("B3"), _ TableName:="DrawingAnalysis") ' 配置数据透视表字段 With pt .PivotFields("块名").Orientation = xlRowField .PivotFields("属性标记").Orientation = xlColumnField .AddDataField .PivotFields("属性值"), "计数", xlCount End With ' 创建图表 Dim cht As ChartObject Set cht = wsAnalysis.ChartObjects.Add( _ Left:=wsAnalysis.Range("B20").Left, _ Top:=wsAnalysis.Range("B20").Top, _ Width:=400, _ Height:=300) cht.Chart.SetSourceData Source:=pt.TableRange1 cht.Chart.ChartType = xlColumnClustered End Sub

3.3 图纸审查与质量控制

结合Excel的条件格式和数据验证功能,可以建立一套图纸质量检查系统:

  • 标准检查:确保图纸元素符合公司或行业标准
  • 完整性验证:检查必要组件是否齐全
  • 一致性检查:验证相关图纸之间的匹配性
Sub SetupQualityCheck() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("质量检查") ' 设置条件格式 - 标记不符合标准的项 With ws.Range("C2:C100") .FormatConditions.Delete .FormatConditions.Add Type:=xlExpression, _ Formula1:="=AND($C2<>"""",$C2<>$D2)" .FormatConditions(1).Interior.Color = RGB(255, 200, 200) End With ' 设置数据验证 - 限制某些字段的输入值 With ws.Range("D2:D100").Validation .Delete .Add Type:=xlValidateList, _ AlertStyle:=xlValidAlertStop, _ Formula1:="合格,不合格,待确认" .IgnoreBlank = True .InCellDropdown = True End With ' 自动计算合格率 ws.Range("E1").Formula = "=COUNTIF(D2:D100,""合格"")/COUNTA(D2:D100)" ws.Range("E1").NumberFormat = "0.00%" End Sub

4. 行业应用案例与高级技巧

4.1 机械设计:参数化零件库

在机械设计中,标准件和常用件的参数化可以大幅提高设计效率。我们可以建立这样的系统:

  1. 在Excel中维护零件参数库
  2. 通过VBA生成各种规格的CAD模型
  3. 自动生成零件清单和BOM表

典型实现

Sub GenerateScrewModels() Dim screwData As Worksheet Set screwData = ThisWorkbook.Sheets("螺钉参数") Dim lastRow As Long lastRow = screwData.Cells(screwData.Rows.Count, "A").End(xlUp).Row Dim acadApp As Object, acadDoc As Object, acadModel As Object Set acadApp = GetAutoCADInstance() Set acadDoc = acadApp.Documents.Add Set acadModel = acadDoc.ModelSpace Dim i As Long For i = 2 To lastRow Dim screwType As String, diameter As Double, length As Double screwType = screwData.Cells(i, 1).Value diameter = screwData.Cells(i, 2).Value length = screwData.Cells(i, 3).Value ' 根据类型调用不同的生成函数 Select Case screwType Case "六角头螺栓" DrawHexHeadBolt acadModel, diameter, length, (i - 2) * diameter * 3, 0 Case "内六角螺钉" DrawSocketHeadCapScrew acadModel, diameter, length, (i - 2) * diameter * 3, 0 ' 其他类型... End Select Next i acadApp.ZoomAll End Sub Private Sub DrawHexHeadBolt(acadModel As Object, diameter As Double, length As Double, x As Double, y As Double) ' 实现绘制六角头螺栓的具体代码 ' 包括头部、螺纹部分等 ' ... End Sub

4.2 建筑设计:房间面积统计

在建筑设计中,经常需要计算各个房间的面积并统计各类空间的面积分布。自动化流程如下:

  1. 从CAD图纸识别房间边界(多段线或闭合区域)
  2. 计算每个闭合区域的面积
  3. 根据图层或属性识别房间类型
  4. 将结果输出到Excel进行汇总和分析
Sub CalculateRoomAreas() Dim acadApp As Object, acadDoc As Object, acadModel As Object Set acadApp = GetAutoCADInstance() Set acadDoc = acadApp.ActiveDocument Set acadModel = acadDoc.ModelSpace ' 准备Excel工作表 Dim excelApp As Object, wb As Object, ws As Object Set excelApp = CreateObject("Excel.Application") excelApp.Visible = True Set wb = excelApp.Workbooks.Add Set ws = wb.Sheets(1) ' 设置标题行 ws.Cells(1, 1).Value = "房间编号" ws.Cells(1, 2).Value = "房间类型" ws.Cells(1, 3).Value = "面积(m²)" ws.Cells(1, 4).Value = "周长(m)" Dim row As Long: row = 2 Dim ent As Object ' 遍历模型空间中的所有实体 For Each ent In acadModel If ent.EntityName = "AcDbPolyline" And ent.Closed Then ' 计算面积和周长 Dim area As Double, perimeter As Double area = ent.Area perimeter = ent.Length ' 确定房间类型(根据图层或其他属性) Dim roomType As String If InStr(ent.Layer, "卧室") > 0 Then roomType = "卧室" ElseIf InStr(ent.Layer, "客厅") > 0 Then roomType = "客厅" ' 其他类型判断... Else roomType = "其他" End If ' 写入Excel ws.Cells(row, 1).Value = "R" & Format(row - 1, "000") ws.Cells(row, 2).Value = roomType ws.Cells(row, 3).Value = area ws.Cells(row, 4).Value = perimeter row = row + 1 End If Next ent ' 添加汇总公式 ws.Cells(row, 2).Value = "总计" ws.Cells(row, 3).Formula = "=SUM(C2:C" & row - 1 & ")" ws.Cells(row, 4).Formula = "=SUM(D2:D" & row - 1 & ")" ' 创建数据透视表分析房间类型面积分布 Dim ptCache As PivotCache Dim pt As PivotTable Dim rngData As Range Set rngData = ws.Range("A1").CurrentRegion Set ptCache = wb.PivotCaches.Create( _ SourceType:=xlDatabase, _ SourceData:=rngData) Set pt = ptCache.CreatePivotTable( _ TableDestination:=ws.Cells(row + 2, 1), _ TableName:="RoomAnalysis") With pt .PivotFields("房间类型").Orientation = xlRowField .AddDataField .PivotFields("面积(m²)"), "面积汇总", xlSum End With ' 自动调整列宽 ws.Columns("A:D").AutoFit End Sub

4.3 电气工程:电路图与元件清单联动

在电气设计中,保持电路图与元件清单的一致性至关重要。自动化联动系统可以实现:

  1. 从CAD电路图提取元件信息
  2. 在Excel中生成完整的元件清单
  3. 允许在Excel中修改元件参数并同步回CAD
  4. 自动检查元件编号的唯一性

核心代码结构

Sub SyncCircuitComponents() ' 第一部分:从CAD提取元件数据到Excel ExtractComponentsFromCAD ' 第二部分:处理用户可能在Excel中做的修改 ProcessExcelUpdates ' 第三部分:将修改同步回CAD图纸 UpdateCADComponents ' 第四部分:执行一致性检查 PerformConsistencyCheck End Sub Private Sub ExtractComponentsFromCAD() Dim acadApp As Object, acadDoc As Object Set acadApp = GetAutoCADInstance() Set acadDoc = acadApp.ActiveDocument ' 查找所有电路元件块(假设使用特定命名约定) Dim blockRef As Object For Each blockRef In acadDoc.ModelSpace If blockRef.EntityName = "AcDbBlockReference" And _ Left(blockRef.Name, 4) = "CKT_" Then ' 提取块属性 Dim attrs As Variant attrs = blockRef.GetAttributes ' 写入Excel WriteComponentToExcel blockRef.Name, attrs End If Next End Sub Private Sub ProcessExcelUpdates() ' 检查Excel中的修改标志,处理用户做的更改 ' ... End Sub Private Sub UpdateCADComponents() ' 根据Excel中的修改更新CAD中的元件 ' ... End Sub Private Sub PerformConsistencyCheck() ' 检查元件编号唯一性等 ' ... End Sub

5. 性能优化与错误处理

5.1 跨应用程序通信优化

当处理大量数据或复杂图纸时,性能可能成为瓶颈。以下是几种优化技巧:

  1. 批量操作:减少Excel和CAD之间的往返次数
  2. 屏幕更新控制:在操作过程中禁用屏幕刷新
  3. 内存管理:及时释放对象引用
Sub OptimizedDrawingGeneration() Dim acadApp As Object, acadDoc As Object Set acadApp = GetAutoCADInstance() ' 优化设置 acadApp.Visible = False ' 先隐藏窗口 acadApp.UpdateDisplay = False ' 禁用屏幕刷新 Set acadDoc = acadApp.Documents.Add ' 批量创建图形 Dim startTime As Double startTime = Timer Dim i As Long For i = 1 To 1000 ' 使用数组一次性传递所有参数 Dim params(1 To 5) As Double params(1) = Rnd() * 100 params(2) = Rnd() * 100 params(3) = Rnd() * 10 + 1 params(4) = i * 10 params(5) = 0 CreateOptimizedShape acadDoc.ModelSpace, params Next i ' 恢复显示设置 acadApp.UpdateDisplay = True acadApp.Visible = True acadApp.ZoomAll Debug.Print "生成1000个图形耗时: " & Format(Timer - startTime, "0.00") & "秒" ' 清理内存 Set acadDoc = Nothing Set acadApp = Nothing End Sub Private Sub CreateOptimizedShape(modelSpace As Object, params() As Double) ' 使用参数数组创建图形 Dim center(0 To 2) As Double center(0) = params(4): center(1) = params(5): center(2) = 0 modelSpace.AddCircle center, params(1) ' 添加其他图形元素... End Sub

5.2 健壮的错误处理机制

跨应用程序自动化必须考虑各种可能的错误情况:

  • 应用程序未安装
  • 版本不兼容
  • 文件访问权限问题
  • 用户取消操作
Function GetAutoCADInstance() As Object On Error Resume Next ' 尝试获取已运行的AutoCAD实例 Set GetAutoCADInstance = GetObject(, "AutoCAD.Application") If Err.Number = 0 Then Exit Function ' 如果失败,尝试创建新实例 Err.Clear Set GetAutoCADInstance = CreateObject("AutoCAD.Application") If Err.Number = 0 Then Exit Function ' 如果仍然失败,显示友好错误信息 Err.Clear Dim response As VbMsgBoxResult response = MsgBox("无法启动AutoCAD。是否已安装AutoCAD?", vbExclamation + vbYesNo, "错误") If response = vbYes Then ' 引导用户到安装指南 ThisWorkbook.FollowHyperlink "https://example.com/install-guide" End If ' 返回Nothing表示失败 Set GetAutoCADInstance = Nothing End Function Sub SafeDrawingExport() On Error GoTo ErrorHandler Dim acadApp As Object Set acadApp = GetAutoCADInstance() If acadApp Is Nothing Then Exit Sub ' 设置超时机制 Dim startTime As Double startTime = Timer ' 执行可能耗时的操作 ExportComplexDrawing acadApp Exit Sub ErrorHandler: Select Case Err.Number Case 440 ' Automation错误 MsgBox "与AutoCAD通信时出错: " & Err.Description, vbCritical Case -2147352567 ' 文件访问错误 MsgBox "无法访问文件,请检查权限: " & Err.Description, vbExclamation Case Else MsgBox "意外错误 " & Err.Number & ": " & Err.Description, vbCritical End Select ' 确保资源释放 If Not acadApp Is Nothing Then acadApp.Quit Set acadApp = Nothing End If End Sub

5.3 用户交互与进度反馈

长时间运行的操作应该向用户提供反馈,避免程序看起来像是卡死了:

Sub LongOperationWithProgress() Dim totalSteps As Long: totalSteps = 100 Dim i As Long ' 创建进度窗体 Dim progressForm As Object Set progressForm = CreateProgressForm(totalSteps) For i = 1 To totalSteps ' 更新进度 UpdateProgress progressForm, i, "正在处理步骤 " & i & "/" & totalSteps ' 执行实际工作 ProcessStep i ' 允许用户取消 If progressForm.Cancelled Then MsgBox "操作已取消", vbInformation Exit For End If Next i ' 关闭进度窗体 CloseProgressForm progressForm End Sub Private Function CreateProgressForm(maxValue As Long) As Object ' 创建并显示进度窗体 ' 返回窗体对象引用 ' ... End Function Private Sub UpdateProgress(progressForm As Object, value As Long, status As String) ' 更新进度条和状态文本 ' ... End Sub Private Sub CloseProgressForm(progressForm As Object) ' 关闭并释放进度窗体 ' ... End Sub
http://www.jsqmd.com/news/991872/

相关文章:

  • 从理想走向现实:基于CGH40010F的Doherty功放半理想架构ADS仿真实践
  • 从报表到合同:5个真实业务场景,手把手教你用JS(html2canvas+jspdf)生成高质量PDF
  • 三步解锁Linux上的Windows世界:Bottles深度使用指南
  • 5分钟掌握:如何永久免费使用Cursor AI编程助手的完整破解方案
  • 终极指南:在PC上完美使用Switch控制器的完整解决方案
  • CFD多孔介质建模:从理论公式到工程实践的关键步骤解析
  • 从线性表到图书管理系统:数据结构实战入门指南
  • 阿克苏欧米茄+宇航手表专业回收,26年精选回收店铺排行榜推荐 - 谊识预商贸
  • 终极指南:如何用DeepMosaics轻松处理图像马赛克,保护隐私与恢复细节
  • 重新定义文献管理:Zotero Style的可视化革新体验
  • 探索R语言中的数据透视分析
  • 5分钟快速上手:如何免费解锁WeMod Pro会员功能
  • 无线通信 - 从MAC帧地址机制到Mesh网络数据流转
  • Monitorian 终极指南:如何轻松管理多显示器亮度
  • Behdad字体:如何用开源方案解决波斯语和阿拉伯语数字排版难题?
  • 视频字幕提取技术深度解析:如何用本地化AI方案实现95%去重准确率
  • 手把手复现:用Python从零实现PRESENT-80分组加密算法(附完整代码)
  • 【实践指南】利用MSPA与景观连通性分析,精准识别生态安全网络核心源地
  • 雷达-惯性里程计:紧耦合EKF框架设计与无人机导航应用
  • Kodi IPTV Simple插件实战:如何7天构建专业级电视直播系统?
  • 终极PotPlayer字幕翻译解决方案:免费实现多语言视频无障碍观看
  • VS2010下可直接编译的EasyHook双组件工程:Inject.exe注入器 + Hook.dll钩子库
  • B站视频下载终极指南:5分钟掌握免费批量下载技巧
  • 多尺度ICP点云配准
  • Jable视频下载终极指南:3步轻松保存任何视频到本地
  • 原神祈愿记录导出工具完整指南:轻松管理你的抽卡数据
  • Penn-Fudan数据集上可直接运行的行人实例分割FCN训练工程(PyTorch版,含100轮/500轮预训练模型)
  • S32K148芯片LPIT低功耗定时器实操工程(SDK3.0 + S32KDS一键编译)
  • 51单片机蜂鸣器除了滴滴响,还能用C语言弹《生日快乐》?手把手教你玩转音乐编程
  • Switch大气层系统完整安装指南:轻松打造终极自制游戏平台