找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
打印 上一主题 下一主题

[求助] 【遍历宏】在总装配內零件的自定义属性写入页码

[复制链接]
11
发表于 2018-2-28 14:23:44 | 只看该作者
gdzsh 发表于 2018-2-28 14:02
我怎么没有发现有一点脏话的意思啊?

俺指截图中的乱码
12
发表于 2018-2-28 14:29:30 | 只看该作者
qxzch 发表于 2018-2-26 21:46
如附图明细栏最后一列所示,需要列出每个零部件的底图张次,就像普通自定义属性一样写在模型文件中的。
...

倒不如写个遍历工程图的宏,寻找零部件处于哪个页面,再写到零部件的属性。
更可作为检查有没有零部件漏做或重复制作工程图。

13
发表于 2018-2-28 21:43:07 | 只看该作者
大鹿 发表于 2018-2-28 14:29
倒不如写个遍历工程图的宏,寻找零部件处于哪个页面,再写到零部件的属性。
更可作为检查有没有零部件漏 ...

谢谢回复!已经用遍历文件夹的方式解决了
14
发表于 2018-3-1 01:27:15 | 只看该作者
qxzch 发表于 2018-2-28 21:43
谢谢回复!已经用遍历文件夹的方式解决了

虽然俺没需要,但也希望qxzch可以分享解决方法,以达投桃报李之效。
15
发表于 2018-3-1 10:39:28 | 只看该作者
大鹿 发表于 2018-3-1 01:27
虽然俺没需要,但也希望qxzch可以分享解决方法,以达投桃报李之效。

支持,解决支持
16
发表于 2018-3-1 16:07:32 | 只看该作者
qxzch 发表于 2018-2-28 21:43
谢谢回复!已经用遍历文件夹的方式解决了

遍历文件夹不适用吧?做设计总不可能文件价里面的零件全部都是装配体里面的零件吧?我的文件夹里面有不少的设计时替换下来的没有用的零件在里面,想删除掉还不好找。
17
发表于 2018-3-1 16:20:11 | 只看该作者
求传个压缩包上来哟,复制代码粘贴后文字全是乱码,运行宏就报错
18
发表于 2018-3-1 21:54:42 | 只看该作者
大鹿 发表于 2018-3-1 01:27
虽然俺没需要,但也希望qxzch可以分享解决方法,以达投桃报李之效。

代码如下,希望不要贻笑大方才好:
  1. Dim swApp           As SldWorks.SldWorks
  2. Dim swDoc           As SldWorks.ModelDoc2
  3. Dim longstatus      As Long
  4. Dim longwarnings    As Long
  5. Dim PathName        As String
  6. Dim FilePath        As String
  7. Dim FullFileName    As String

  8. Dim swDocName       As String
  9. Dim swDocType       As Long

  10. Dim fso             As New Scripting.FileSystemObject
  11. Dim MYext           As String

  12. Sub main()
  13.     On Error Resume Next
  14.     Set swApp = Application.SldWorks
  15.     FilePath = InputBox("本程序将向指定路径下的模型文件填写“页码”属性。" & Chr(13) & "请输入或粘贴完整路径后按“确定”。")
  16.     If FilePath = "" Then Exit Sub
  17.     FilePath = FilePath & ""
  18.     BatchFolder FilePath, ".SLDPRT", ".SLDASM", True
  19. End Sub

  20. '批量处理文件夹的递归过程
  21. Sub BatchFolder(folder As String, ext As String, ext2 As String, silent As Boolean)
  22.     Dim swModelDocExt As ModelDocExtension
  23.     Dim swCustProp    As CustomPropertyManager
  24.     Dim Page_Pre      As String
  25.     Dim Page_Qty      As String
  26.    
  27.     If Right(folder, 1) <> "" Then folder = folder & ""
  28.     ChDir (folder)
  29.     PathName = Dir(folder)
  30.    
  31.     Page_Pre = InputBox("请输入页码的前缀再按“确定”,无前缀按任意键。")
  32.     Page_Qty = 0    '页码递增基数
  33.    
  34.     Do Until PathName = ""
  35.         FullFileName = folder & PathName
  36.         MYext = Right(UCase$(PathName), 7)
  37.         
  38.         If MYext = ext Or MYext = ext2 Then    '如果这个文件类型是所需的,就进行处理
  39.             swDocType = Switch(MYext = ".SLDPRT", swDocPART, MYext = ".SLDDRW", swDocDRAWING, MYext = ".SLDASM", swDocASSEMBLY, True, -1)
  40.             Set swDoc = swApp.OpenDoc6(FullFileName, swDocType, swOpenDocOptions_Silent, "", longstatus, longwarnings)
  41.             Set swDoc = swApp.ActiveDoc
  42.             
  43.             swDocName = Mid(swDoc.GetPathName, InStrRev(swDoc.GetPathName, "") + 1)
  44.             swDocName = Left(swDocName, InStrRev(swDocName, ".") - 1)
  45.             
  46.             Page_Qty = Page_Qty + 1    '页码递增基数+1
  47.             swDoc.DeleteCustomInfo2 "", ("底图张次")
  48.             swDoc.AddCustomInfo3 "", ("底图张次"), 30, Page_Pre & Page_Qty
  49.             swDoc.Save    '保存
  50.             
  51.             swApp.CloseDoc swDoc.GetTitle    '关闭文件
  52.             
  53.             Set swDoc = Nothing
  54.         End If
  55.         PathName = Dir
  56.     Loop
  57.    
  58.     '如果有子文件夹,进行递归处理
  59. '    Dim myFolder As folder
  60. '    Dim mySub As folder
  61. '
  62. '    Set myFolder = fso.GetFolder(folder)
  63. '    For Each mySub In myFolder.SubFolders
  64. '        BatchFolder mySub.Path, ext, ext2, silent
  65. '    Next
  66. End Sub
复制代码


评分

参与人数 1技术 +2 贡献 +10 收起 理由
Francis + 2 + 10 感謝分享!

查看全部评分

19
发表于 2018-3-1 22:01:47 | 只看该作者
gdzsh 发表于 2018-3-1 16:07
遍历文件夹不适用吧?做设计总不可能文件价里面的零件全部都是装配体里面的零件吧?我的文件夹里面有不少 ...

窃以为遍历文件夹也是好的,把总装所属的零部件放在一个文件夹里,其它诸如标准件、外购件等等分好类,该放哪放哪,借用件跟随原所属总装存放,避免文件夹像个垃圾桶。
20
发表于 2018-3-6 16:38:44 | 只看该作者
贡献值啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-22 09:19 , Processed in 0.026732 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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