SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1717|回复: 5
打印 上一主题 下一主题

求高手制作一个批量运行FeatureWorks 特征识别(付费)

  [复制链接]

1

主题

3

帖子

202

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
227

最佳新人

跳转到指定楼层
楼主
 楼主| 发表于 2024-9-5 11:28:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

   经典图书
费用可以聊,具体要求:
1.依次读取指定文件夹里的通用3D格式的文件,如.step或.xt格式
2.依次读取并打开文件,先运行输入诊断,修复错误和缝隙
3.再行FeatureWorks 进行特征识别
4.判断是否识别成功:
1)如果识别特征后模型树中间有输入特征,判断识别失败,则跳过下面第5步,不保存这个文件,关闭。
2)如果如果识别特征后模型树中间没有有输入特征,识别成功,则执行下面第5步,保存这个文件,关闭。
5.保存原文件名SW格式文件文件(原文件名.SLDPRT),关闭。
v:hatovip

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享教程|习题|模型|技巧 点赞点赞 拍砖拍砖
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

0

主题

2

帖子

7

金币

混混

Rank: 1

积分
24
QQ
沙发
发表于 2024-9-5 22:06:47 | 只看该作者
顶一下,坐等高手!
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

3

主题

1329

帖子

276

金币

传奇

Rank: 8Rank: 8

积分
4653

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

板凳
发表于 2024-9-6 08:25:26 | 只看该作者

   经典图书
顶一下,坐等高手!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

715

帖子

159

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2148

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

地板
发表于 2024-9-7 09:48:16 | 只看该作者
Option Explicit

' 主程序入口
Sub Main()
    Dim folderPath As String
    ' 设置指定文件夹路径
    folderPath = "your_folder_path"
   
    ' 获取指定文件夹下第一个扩展名为.step 的文件名
    Dim file As String
    file = Dir(folderPath & "\*.step")
    ' 循环处理每个.step 文件
    Do While file <> ""
        ProcessFile (folderPath & "\" & file)
        ' 获取下一个扩展名为.step 的文件名
        file = Dir()
    Loop
   
    ' 获取指定文件夹下第一个扩展名为.xt 的文件名
    file = Dir(folderPath & "\*.xt")
    ' 循环处理每个.xt 文件
    Do While file <> ""
        ProcessFile (folderPath & "\" & file)
        ' 获取下一个扩展名为.xt 的文件名
        file = Dir()
    Loop
End Sub

' 处理单个文件的过程
Sub ProcessFile(filePath As String)
    Dim swApp As SldWorks.SldWorks
    ' 创建 SolidWorks 应用程序对象
    Set swApp = CreateObject("SldWorks.Application")
   
    Dim swModel As SldWorks.ModelDoc2
    ' 打开指定文件
    Set swModel = swApp.OpenDoc(filePath, 1)
   
    ' 运行输入诊断命令
    swModel.Extension.RunCommand ("输入诊断")
    ' 运行 FeatureWorks 特征识别命令
    swModel.Extension.RunCommand ("FeatureWorks")
   
    Dim modelTree As SldWorks.FeatureManager
    ' 获取特征管理器
    Set modelTree = swModel.FeatureManager
   
    Dim hasInputFeature As Boolean
    hasInputFeature = False
    Dim feature As SldWorks.Feature
    ' 遍历模型树中的每个特征
    For Each feature In modelTree.GetFeatures(True)
        ' 判断特征名称中是否包含"输入特征"
        If InStr(1, feature.Name, "输入特征", vbTextCompare) > 0 Then
            hasInputFeature = True
            Exit For
        End If
    Next
   
    If hasInputFeature Then
        ' 如果有输入特征,识别失败,关闭文件不保存
        swModel.CloseDoc False
    Else
        ' 如果没有输入特征,识别成功,保存为 SW 格式文件并关闭
        Dim newFilePath As String
        newFilePath = Left(filePath, InStrRev(filePath, ".")) & "SLDPRT"
        swModel.SaveAs3 newFilePath, 0, 2
        swModel.CloseDoc True
    End If
End Sub
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

715

帖子

159

金币

长老

Rank: 6Rank: 6Rank: 6

积分
2148

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

5#
发表于 2024-9-7 09:49:16 | 只看该作者

   经典案例图书
  1. <span style="color: rgb(28, 31, 35); font-family: Inter, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;SF Pro SC&quot;, &quot;SF Pro Display&quot;, &quot;SF Pro Icons&quot;, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: medium; white-space: pre; background-color: rgb(255, 255, 255);">Option Explicit

  2. ' 主程序入口
  3. Sub Main()
  4.     Dim folderPath As String
  5.     ' 设置指定文件夹路径
  6.     folderPath = "your_folder_path"
  7.    
  8.     ' 获取指定文件夹下第一个扩展名为.step 的文件名
  9.     Dim file As String
  10.     file = Dir(folderPath & "\*.step")
  11.     ' 循环处理每个.step 文件
  12.     Do While file <> ""
  13.         ProcessFile (folderPath & "\" & file)
  14.         ' 获取下一个扩展名为.step 的文件名
  15.         file = Dir()
  16.     Loop
  17.    
  18.     ' 获取指定文件夹下第一个扩展名为.xt 的文件名
  19.     file = Dir(folderPath & "\*.xt")
  20.     ' 循环处理每个.xt 文件
  21.     Do While file <> ""
  22.         ProcessFile (folderPath & "\" & file)
  23.         ' 获取下一个扩展名为.xt 的文件名
  24.         file = Dir()
  25.     Loop
  26. End Sub

  27. ' 处理单个文件的过程
  28. Sub ProcessFile(filePath As String)
  29.     Dim swApp As SldWorks.SldWorks
  30.     ' 创建 SolidWorks 应用程序对象
  31.     Set swApp = CreateObject("SldWorks.Application")
  32.    
  33.     Dim swModel As SldWorks.ModelDoc2
  34.     ' 打开指定文件
  35.     Set swModel = swApp.OpenDoc(filePath, 1)
  36.    
  37.     ' 运行输入诊断命令
  38.     swModel.Extension.RunCommand ("输入诊断")
  39.     ' 运行 FeatureWorks 特征识别命令
  40.     swModel.Extension.RunCommand ("FeatureWorks")
  41.    
  42.     Dim modelTree As SldWorks.FeatureManager
  43.     ' 获取特征管理器
  44.     Set modelTree = swModel.FeatureManager
  45.    
  46.     Dim hasInputFeature As Boolean
  47.     hasInputFeature = False
  48.     Dim feature As SldWorks.Feature
  49.     ' 遍历模型树中的每个特征
  50.     For Each feature In modelTree.GetFeatures(True)
  51.         ' 判断特征名称中是否包含"输入特征"
  52.         If InStr(1, feature.Name, "输入特征", vbTextCompare) > 0 Then
  53.             hasInputFeature = True
  54.             Exit For
  55.         End If
  56.     Next
  57.    
  58.     If hasInputFeature Then
  59.         ' 如果有输入特征,识别失败,关闭文件不保存
  60.         swModel.CloseDoc False
  61.     Else
  62.         ' 如果没有输入特征,识别成功,保存为 SW 格式文件并关闭
  63.         Dim newFilePath As String
  64.         newFilePath = Left(filePath, InStrRev(filePath, ".")) & "SLDPRT"
  65.         swModel.SaveAs3 newFilePath, 0, 2
  66.         swModel.CloseDoc True
  67.     End If
  68. End Sub</span>
复制代码

SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

37

主题

1140

帖子

1840

金币

传奇

Rank: 8Rank: 8

积分
5006

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

6#
发表于 2024-9-9 08:33:37 | 只看该作者
活到老学到老!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭 卷起
关闭 卷起

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2024-9-20 10:28 , Processed in 0.155992 second(s), 23 queries , Memcache On.

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

快速回复 返回顶部 返回列表