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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

好品数字
好品数字
查看: 941|回复: 7
打印 上一主题 下一主题

求助,使用SW API实现批量中英文翻译功能

  [复制链接]

1

主题

14

帖子

170

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
277

最佳新人宣传达人

跳转到指定楼层
楼主
 楼主| 发表于 2024-4-10 14:08:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

现有SW API写入属性的代码(来源于浣熊大的代码【新提醒】Excel 批量修改SW档案属性 (无需 SWDM-API 许可号码) (swbbsc.com))和SolidWorks翻译宏程序,请大神整合一下改一个批量中英文翻译的SW API,
由于电脑加密原版代码程序不能发出,可以下载附件内TXT文档的各个代码整合或者直接下载浣熊大的代码文档
感谢大家

英译中宏代码(宏程序可用).txt

(10.21 KB, 下载次数: 7

打开SolidWorks代码(可用).txt

(868 Bytes, 下载次数: 6

浏览文档(可用).txt

(1.35 KB, 下载次数: 6

中译英宏代码(宏程序可用).txt

(10.21 KB, 下载次数: 8

自己乱七八改的代码(一堆问题).txt

(10.82 KB, 下载次数: 5

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

使用道具 举报

0

主题

39

帖子

47

金币

天使

Rank: 2Rank: 2

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

使用道具 举报

0

主题

17

帖子

24

金币

天使

Rank: 2Rank: 2

积分
82
QQ
板凳
发表于 2024-4-10 15:12:10 | 只看该作者
可以发出来,不过需要审核
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

14

帖子

170

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
277

最佳新人宣传达人

地板
 楼主| 发表于 2024-4-10 16:51:55 | 只看该作者
Dim swApp As Object

Dim Featname As String
Dim Engnames(142), Chsnames(142) As String
Dim OldName As String
Dim i As Integer
Dim ii As Integer
Dim nn As Integer
Dim value As Variant
Dim PathName As String
Dim FileName As String
Dim swFileTYpe As Integer
Dim HeaderRow As Integer
Dim RowNumber As Integer
Dim SavedFilesCount As Integer

' 主过程
Sub WritePrp()
' 初始化翻译字典
Engnames(0) = "Annotations"
Chsnames(0) = "注解"
Engnames(1) = "Lighting"
Chsnames(1) = "光源、相机与布景"
Engnames(2) = "Solid Bodies"
Chsnames(2) = "实体"
Engnames(3) = "Surface Bodies"
Chsnames(3) = "曲面实体"
Engnames(4) = "Material"
Chsnames(4) = "材质"
Engnames(5) = "Front Plane"
Chsnames(5) = "前视基准面"
Engnames(6) = "Top Plane"
Chsnames(6) = "上视基准面"
Engnames(7) = "Right Plane"
Chsnames(7) = "右视基准面"
Engnames(8) = "Origin"
Chsnames(8) = "原点"
Engnames(9) = "Plane"
Chsnames(9) = "基准面"
Engnames(10) = "Axis"
Chsnames(10) = "基准轴"
Engnames(11) = "3DSketch"
Chsnames(11) = "3D草图"
Engnames(12) = "Sketch"
Chsnames(12) = "草图"
Engnames(13) = "Boss-Extrude-Thin"
Chsnames(13) = "拉伸-薄壁"
Engnames(14) = "Base-Extrude-Thin"
Chsnames(14) = "拉伸-薄壁"
Engnames(15) = "Boss-Extrude"
Chsnames(15) = "凸台-拉伸"
Engnames(16) = "Base-Extrude"
Chsnames(16) = "凸台-拉伸"
Engnames(17) = "Boss-Revolve-Thin"
Chsnames(17) = "旋转-薄壁"
Engnames(18) = "Base-Revolve-Thin"
Chsnames(18) = "旋转-薄壁"
Engnames(19) = "Boss-Revolve"
Chsnames(19) = "凸台-旋转"
Engnames(20) = "Base-Revolve"
Chsnames(20) = "凸台-旋转"
Engnames(21) = "Base-Sweep"
Chsnames(21) = "凸台-扫描"
Engnames(22) = "Boss-Sweep"
Chsnames(22) = "凸台-扫描"
Engnames(23) = "Boss-Loft"
Chsnames(23) = "放样"
Engnames(24) = "Base-Loft"
Chsnames(24) = "放样"
Engnames(25) = "Boundary"
Chsnames(25) = "边界"
Engnames(26) = "Boss-Thicken"
Chsnames(26) = "加厚"
Engnames(27) = "Base-Thicken"
Chsnames(27) = "加厚"
Engnames(28) = "Cut-Extrude-Thin"
Chsnames(28) = "薄壁-切除-拉伸"
Engnames(29) = "Cut-Extrude"
Chsnames(29) = "切除-拉伸"
Engnames(30) = "Cut-Revolve-Thin"
Chsnames(30) = "薄壁-切除-旋转"
Engnames(31) = "Cut-Revolve"
Chsnames(31) = "切除-旋转"
Engnames(32) = "Cut-Sweep"
Chsnames(32) = "切除-扫描"
Engnames(33) = "Cut-Loft"
Chsnames(33) = "切除-放样"
Engnames(34) = "Cut-Boundary"
Chsnames(34) = "切除-边界"
Engnames(35) = "Cut-Thicken"
Chsnames(35) = "加厚-切除"
Engnames(36) = "SurfaceCut"
Chsnames(36) = "使用曲面切除"
Engnames(37) = "VarFillet"
Chsnames(37) = "变化圆角"
Engnames(38) = "Fillet"
Chsnames(38) = "圆角"
Engnames(39) = "Chamfer"
Chsnames(39) = "倒角"
Engnames(40) = "Diameter Slot"
Chsnames(40) = "直径槽口"
Engnames(41) = "Tapped Hole"
Chsnames(41) = "螺纹孔"
Engnames(42) = "Clearance Slot"
Chsnames(42) = "间隙槽口"
Engnames(43) = "Dowel Hole"
Chsnames(43) = "暗销孔"
Engnames(44) = "Hexagon socket head cap screws"
Chsnames(44) = "内六角圆柱头螺钉的类型"
Engnames(45) = "Clearance Hole"
Chsnames(45) = "间隙孔"
Engnames(46) = "Diameter Hole"
Chsnames(46) = "直径孔"
Engnames(47) = "CBORE SLOT"
Chsnames(47) = "打孔尺寸"
Engnames(48) = "Draft"
Chsnames(48) = "拔模"
Engnames(49) = "Shell"
Chsnames(49) = "抽壳"
Engnames(50) = "Rib"
Chsnames(50) = "筋"
Engnames(51) = "Scale"
Chsnames(51) = "缩放比例"
Engnames(52) = "Dome"
Chsnames(52) = "圆顶"
Engnames(53) = "Freeform"
Chsnames(53) = "自由形"
Engnames(54) = "Deform"
Chsnames(54) = "变形"
Engnames(55) = "Indent"
Chsnames(55) = "压凹"
Engnames(56) = "Flex"
Chsnames(56) = "弯曲"
Engnames(57) = "Wrap"
Chsnames(57) = "包覆"
Engnames(58) = "Cavity"
Chsnames(58) = "型腔"
Engnames(59) = "Join"
Chsnames(59) = "连接重组"
Engnames(60) = "Combine"
Chsnames(60) = "组合"
Engnames(61) = "Split Line"
Chsnames(61) = "分割线"
Engnames(62) = "Split"
Chsnames(62) = "分割"
Engnames(63) = "Body-Move/Copy"
Chsnames(63) = "实体-移动/复制"
Engnames(64) = "Body-Delete/Keep"
Chsnames(64) = "实体-删除/保留"
Engnames(65) = "Imported"
Chsnames(65) = "输入"
Engnames(66) = "Imported Curve"
Chsnames(66) = "输入的曲线"
Engnames(67) = "Save-Bodies"
Chsnames(67) = "保存实体"
Engnames(68) = "Linear Pattern"
Chsnames(68) = "阵列(线性)"
Engnames(69) = "CirPattern"
Chsnames(69) = "阵列(圆周)"
Engnames(70) = "Surface-Mirror"
Chsnames(70) = "曲面镜向"
Engnames(71) = "Mirror"
Chsnames(71) = "镜向"
Engnames(72) = "Table-driven Pattern"
Chsnames(72) = "表格阵列"
Engnames(73) = "Sketch-driven Pattern"
Chsnames(73) = "草图阵列"
Engnames(74) = "Curve-driven Pattern"
Chsnames(74) = "曲线阵列"
Engnames(75) = "Fill Pattern"
Chsnames(75) = "填充阵列"
Engnames(76) = "Mounting Boss"
Chsnames(76) = "装配凸台"
Engnames(77) = "Sape Hook"
Chsnames(77) = "弹簧扣"
Engnames(78) = "Sape Hook Groove"
Chsnames(78) = "弹簧扣凹槽"
Engnames(79) = "Vent"
Chsnames(79) = "通风口"
Engnames(80) = "Lip/Groove"
Chsnames(80) = "唇缘/凹槽"
Engnames(81) = "Surface-Extrude"
Chsnames(81) = "曲面-拉伸"
Engnames(82) = "Surface-Extend"
Chsnames(82) = "曲面-拉伸"
Engnames(83) = "Surface-Revolve"
Chsnames(83) = "曲面-旋转"
Engnames(84) = "Surface-Sweep"
Chsnames(84) = "曲面-扫描"
Engnames(85) = "Surface-Loft"
Chsnames(85) = "曲面-放样"
Engnames(86) = "Surface-Boundary"
Chsnames(86) = "曲面-边界"
Engnames(87) = "Surface-Plane"
Chsnames(87) = "曲面-基准面"
Engnames(88) = "Surface-Offset"
Chsnames(88) = "曲面-等距"
Engnames(89) = "Surface-Radiat"
Chsnames(89) = "曲面-延展"
Engnames(90) = "Ruled Surface"
Chsnames(90) = "直纹曲面"
Engnames(91) = "Surface-Fill"
Chsnames(91) = "曲面填充"
Engnames(92) = "Mid Surface"
Chsnames(92) = "中面"
Engnames(93) = "Parting Surface"
Chsnames(93) = "分型面"
Engnames(94) = "Surface-Extend"
Chsnames(94) = "曲面-延伸"
Engnames(95) = "Surface-Trim"
Chsnames(95) = "曲面-剪裁"
Engnames(96) = "Surface-Untrim"
Chsnames(96) = "曲面-解除剪裁"
Engnames(97) = "Surface-Knit"
Chsnames(97) = "曲面-缝合"
Engnames(98) = "DeleteFace"
Chsnames(98) = "删除面"
Engnames(99) = "ReplaceFace"
Chsnames(99) = "替换面"
Engnames(100) = "MoveFace"
Chsnames(100) = "移动面"
Engnames(101) = "Heal Edges"
Chsnames(101) = "愈合边线"
Engnames(102) = "Curve"
Chsnames(102) = "曲线"
Engnames(103) = "Split Line"
Chsnames(103) = "分割线"
Engnames(104) = "Projected Curve"
Chsnames(104) = "投影曲线"
Engnames(105) = "Composite Curve"
Chsnames(105) = "组合曲线"
Engnames(106) = "Curve Through XYZ Points"
Chsnames(106) = "通过XYZ点的曲线"
Engnames(107) = "Curve Through Reference Points"
Chsnames(107) = "通过参考点的曲线"
Engnames(108) = "Helix/Spiral"
Chsnames(108) = "螺旋线/涡状线"
Engnames(109) = "Sheet-Metal"
Chsnames(109) = "钣金"
Engnames(110) = "Base-Flange"
Chsnames(110) = "基体-法兰"
Engnames(111) = "Convert To Sheet Metal"
Chsnames(111) = "转换到钣金"
Engnames(112) = "Edge-Flange"
Chsnames(112) = "边线-法兰"
Engnames(113) = "Miler-Flange"
Chsnames(113) = "斜接-法兰"
Engnames(114) = "Swept-Flange"
Chsnames(114) = "扫描-法兰"
Engnames(115) = "Hem"
Chsnames(115) = "褚边"
Engnames(116) = "Jog"
Chsnames(116) = "转折"
Engnames(117) = "Sketched Bend"
Chsnames(117) = "绘制的折弯"
Engnames(118) = "Cross Break"
Chsnames(118) = "交叉折断"
Engnames(119) = "Closed Corner"
Chsnames(119) = "闭合角"
Engnames(120) = "Welded Corner"
Chsnames(120) = "焊接边角"
Engnames(121) = "Break Corner"
Chsnames(121) = "断裂边角"
Engnames(122) = "Corner Trim"
Chsnames(122) = "边角剪裁"
Engnames(123) = "Unfold"
Chsnames(123) = "展开"
Engnames(124) = "Fold"
Chsnames(124) = "折叠"
Engnames(125) = "Lofted Bends"
Chsnames(125) = "放样的折弯"
Engnames(126) = "Bends"
Chsnames(126) = "折弯"
Engnames(127) = "Rip"
Chsnames(127) = "切口"
Engnames(128) = "Forming Tool"
Chsnames(128) = "成形工具"
Engnames(129) = "Flat-Pattern"
Chsnames(129) = "平板型式"
Engnames(130) = "Weldment"
Chsnames(130) = "焊件"
Engnames(131) = "Weld"
Chsnames(131) = "焊接件"
Engnames(132) = "Structural Member"
Chsnames(132) = "结构构件"


    ' 啟動SW
    Set swApp = CreateObject("SldWorks.Application")
    ' 初始化变量
    SavedFilesCount = 0
    HeaderRow = 2
    RowNumber = HeaderRow
   
    ' 读取Excel中的文件路径和名称
    Do While Not (Cells(RowNumber, 1).value = "" Or Cells(RowNumber, 1).value = 0 Or IsEmpty(Cells(RowNumber, 1).value))
        PathName = Cells(RowNumber, 1).value
        FileName = Cells(RowNumber, 2).value
        
        ' 根据文件扩展名确定文件类型
        If UCase(Right(FileName, 3)) = "PRT" Then swFileTYpe = 1
        If UCase(Right(FileName, 3)) = "ASM" Then swFileTYpe = 2
        If UCase(Right(FileName, 3)) = "DRW" Then swFileTYpe = 3
        
        ' 打开文件
        Set swDoc = Nothing
    If Dir(PathName & FileName) <> "" Then
        Set swDoc = swApp.OpenDoc(PathName & FileName, swFileTYpe) '開啟檔案
    End If
        If Not swModel Is Nothing Then
            ' 遍历特征
            Set swFeat = swModel.FirstFeature
            Do While Not swFeat Is Nothing
                Featname = swFeat.GetName2(False, False, False)
                For i = LBound(Engnames) To UBound(Engnames)
                    If InStr(1, Featname, Engnames(i), vbTextCompare) > 0 Then
                        OldName = Featname
                        Featname = Replace(Featname, Engnames(i), Chsnames(i))
                        swFeat.SetName2 Featname, False, False, False
                    End If
                Next i
                Set swFeat = swFeat.GetNextFeature
            Loop
            ' 保存并关闭文档
            swModel.ForceRebuild3 (False)
            swModel.Save
            swApp.CloseDoc swModel
            Set swModel = Nothing
            SavedFilesCount = SavedFilesCount + 1
        End If
        RowNumber = RowNumber + 1
    Loop
    MsgBox "没有有效的活动文档"
    Set swApp = Nothing
End Sub
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

53

帖子

93

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
268

最佳新人活跃会员热心会员宣传达人

5#
发表于 2024-4-11 10:51:15 | 只看该作者

   经典案例图书
SW转CAD老是字体不对  烦
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

1

主题

14

帖子

170

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
277

最佳新人宣传达人

6#
 楼主| 发表于 2024-4-12 09:59:41 | 只看该作者
245793721 发表于 2024-4-11 10:51
SW转CAD老是字体不对  烦

设置一下转出字体

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

使用道具 举报

0

主题

106

帖子

38

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
310

最佳新人活跃会员热心会员宣传达人

7#
发表于 2024-4-14 18:06:12 | 只看该作者

   经典案例图书
活到老学到老!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

7

主题

424

帖子

785

金币

传奇

Rank: 8Rank: 8

积分
4495

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

8#
发表于 2024-4-21 17:23:16 | 只看该作者
感谢楼主分享,很不错!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭 卷起
关闭 卷起

手机版|小黑屋| GMT+8, 2024-4-30 03:29 , Processed in 0.160372 second(s), 37 queries .

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

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

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