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

iCAx开思网

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

【求助】装配图中的零件序号排列

[复制链接]
头像被屏蔽
跳转到指定楼层
1
发表于 2002-6-11 12:59:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2002-6-11 14:53:05 | 只看该作者
用得少
搞不清
再试试
以后回
3
发表于 2002-6-13 00:28:36 | 只看该作者
1.如装配零件少,在装配树中用鼠标拖一下顺序应该是可以接受的;
2.如装配零件多,可以将装配图明细表的属性→控制→行号→根据装配体顺序分配行号 选项取消,这时可任意修改零件序号注释(双击球标),且明细表会同步更新。版本应是sw2001或sw2001plus.
头像被屏蔽
4
发表于 2002-6-13 10:36:14 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
5
发表于 2002-6-14 00:45:06 | 只看该作者
look
头像被屏蔽
6
发表于 2002-6-14 17:34:40 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
7
发表于 2012-5-2 16:33:34 | 只看该作者
ldw 发表于 2002-6-13 00:28
1.如装配零件少,在装配树中用鼠标拖一下顺序应该是可以接受的;
2.如装配零件多,可以将装配图明细表的属 ...

没有找到,明细表的属性→控制→行号→根据装配体顺序分配行号,盼大侠指点
8
发表于 2016-11-9 11:01:54 | 只看该作者
6楼的朋友,你的零件序号问题是如何解决的,公布一下方法啊
9
发表于 2016-11-11 18:17:52 | 只看该作者
你可以试用下面的宏,将零部件按顺序排列
  1. Option Explicit

  2. Dim swApp As SldWorks.SldWorks

  3. Dim Part As ModelDoc2
  4. Dim swAssyDoc As AssemblyDoc
  5. Dim selMgr As SelectionMgr
  6. Dim boolstatus As Boolean
  7. Dim components As Variant
  8. Dim swComp As Component2
  9. Dim nComponents As Integer
  10. Dim sArray() As String
  11. Dim iArray() As Integer
  12. Dim I As Integer
  13. Dim x As Integer
  14. Dim y As Integer
  15. Dim sTemp As String
  16. Dim iTemp As Integer

  17. Sub main()

  18.     Set swApp = Application.SldWorks
  19.    
  20.     Set Part = swApp.ActiveDoc
  21.    
  22.              '检查是否有效的装配体文档打开
  23.     If Part Is Nothing Then
  24.        swApp.SendMsgToUser "当前没有任何文档打开,该程序必须在装配体中运行!"
  25.        Exit Sub
  26.     ElseIf Part.GetType <> swDocASSEMBLY Then
  27.        swApp.SendMsgToUser "当前打开的文档不是一个装配体,请打开装配体后再试!"
  28.        Exit Sub
  29.     End If
  30.    
  31.     Set swAssyDoc = Part

  32.     Set selMgr = Part.SelectionManager
  33.    
  34.     ' 获得所有顶级零部件
  35.     components = swAssyDoc.GetComponents(True)
  36.     ' 获取零部件数组的上边界
  37.     nComponents = UBound(components)
  38.     ReDim sArray(nComponents)
  39.     ReDim iArray(nComponents)
  40.    
  41.     ' 增加零部件名称以及数组索引
  42.     For I = 0 To nComponents
  43.         Set swComp = components(I)
  44.         sArray(I) = swComp.Name2
  45.         iArray(I) = I
  46.     Next I
  47.     ' 对数组进行冒泡排序
  48.     For x = 0 To (nComponents - 1)
  49.         For y = (x + 1) To nComponents
  50.             If sArray(x) > sArray(y) Then
  51.                 sTemp = sArray(x)
  52.                 iTemp = iArray(x)
  53.                 sArray(x) = sArray(y)
  54.                 iArray(x) = iArray(y)
  55.                 sArray(y) = sTemp
  56.                 iArray(y) = iTemp
  57.             End If
  58.         Next y
  59.     Next x
  60.     ' 按照相反的顺序对零部件重新排序
  61.     For I = (nComponents - 1) To 0 Step -1
  62. '        Debug.Print components(iArray(i)).Name2 & " - " & components(iArray(i + 1)).Name2
  63.         boolstatus = swAssyDoc.ReorderComponents(components(iArray(I)), components(iArray(I + 1)), swReorderComponents_Before)
  64.     Next I

  65. End Sub
复制代码
10
发表于 2018-2-28 21:07:44 | 只看该作者
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025-1-10 19:44 , Processed in 0.030005 second(s), 14 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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