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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

紧急求助,VB获取用户选择的面和边线问题

[复制链接]

10

主题

50

帖子

51

金币

天使

Rank: 2Rank: 2

积分
168
QQ
楼主
发表于 2015-10-18 22:11:57 | 显示全部楼层
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim swSelFace As SldWorks.Face2
Dim swSelEdge As SldWorks.Edge
Dim swSelPoint As SldWorks.Vertex
Dim swObjectType As Integer
Sub main()
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swSelMgr = swModel.SelectionManager
   
        If (swSelMgr.GetSelectedObjectCount = 0) Then
           MsgBox "************************************************" & vbCrLf & _
                  "*                                              *" & vbCrLf & _
                  "*  你没有选择实体 。                           *" & Chr(13) & _
                  "*  请选择后在运行这个                        *" & vbCrLf & _
                  "*                                              *" & vbCrLf & _
                  "************************************************", vbOKOnly + vbExclamation, "Warning"
                  Exit Sub
        End If
        swModel.ClearSelection2 True
        For i = 0 To swSelMgr.GetSelectedObjectCount
            swObjectType = swSelMgr.GetSelectedObjectType3(i, -1)
             Select Case swObjectType
                 Case swSelEDGES
                     Set swSelEdge = swSelMgr.GetSelectedObject5(i)
                     Debug.Print "第 " & i & " 个是 边"
                 Case swSelFACES
                     Set swSelFace = swSelMgr.GetSelectedObject5(i)
                     Debug.Print "第 " & i & " 个是    面"
                 Case swSelVERTICES
                     Set swSelPoint = swSelMgr.GetSelectedObject5(i)
                     Debug.Print "第 " & i & " 个是        顶点"
             End Select
        Next i
   
           
End Sub
上面的代码    运行前  1.要打开一个模型     
                                     2 手动选取特征或实体
                                     3 类型判断作为参照,还有一些没有写入
   功能是,运用选择的物体来获取其他想得到的数据。至于 第二条上面和第三条写的 条件不足,还需要楼主提供,不能够自动获取。
不过根据现有的推测可以用 swModel.Extension.SelectByID2,来准确获取。或者 用下面的遍历的方法
   1.选取的面有特殊性,遍历所有的面,来选取
   2.选取的边有特殊性,遍历所有的边,来选取
希望有所帮助。
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

关闭 卷起
关闭 卷起

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

手机版|小黑屋| GMT+8, 2024-6-2 23:37 , Processed in 0.148837 second(s), 33 queries .

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

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

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