4 Replies Latest reply on Jan 20, 2013 6:07 AM by Yong Ning

    what POSGROUP in mate?

    Yong Ning

      http://help.solidworks.com/2012/English/api/sldworksapi/Get_Mate_Reference_Properties_Example_VB.htm

       

      Get Mate Reference Properties Example (VBA)

       

       

      Don't understand what “POSGROUP” means.

       

      0.jpg

      use → boolstatus = swModelDocExt.SelectByID2("Default-<1>", "POSGROUP", 0, 0, 0, False, 0, Nothing, 0)

      don't select ?

       

       

       

       

      The code is

       

      Option Explicit

      Sub main()

         

          Dim swApp As SldWorks.SldWorks

          Dim swMateReference As SldWorks.MateReference

          Dim swFeature As SldWorks.feature

          Dim mateRefEntity As SldWorks.entity

          Dim swModel As SldWorks.ModelDoc2

          Dim swModelDocExt As SldWorks.ModelDocExtension

          Dim swSelMgr As SldWorks.SelectionMgr

          Dim strMateReferencename As String

          Dim nCount As Long

          Dim refEntType As Long

          Dim mateRefAlignment As Long

          Dim boolstatus As Boolean

         

          Set swApp = Application.SldWorks

          Set swModel = swApp.ActiveDoc

          Set swModelDocExt = swModel.Extension

          Set swSelMgr = swModel.SelectionManager

         

          swModel.ClearSelection2 True

          boolstatus = swModelDocExt.SelectByID2("Concentric_MateReference-<1>", "POSGROUP", 0, 0, 0, False, 0, Nothing, swSelectOptionDefault)

             

          Set swFeature = swSelMgr.GetSelectedObject5(1)

          Set swMateReference = swFeature.GetSpecificFeature2

         

          swModel.ClearSelection2 True

         

              ' Get the name of the mate reference

          strMateReferencename = swMateReference.Name

          Debug.Print strMateReferencename

             

              ' Get the number of reference entities in the mate reference

          nCount = swMateReference.ReferenceEntityCount

          Debug.Print nCount

         

              ' Get the mate reference type for the mate

              ' enity in the selected mate reference

          refEntType = swMateReference.ReferenceType(0)

          Debug.Print refEntType

         

              ' Get the mate reference alignment for the

              ' mate reference entity in the selected mate reference

          mateRefAlignment = swMateReference.ReferenceAlignment(0)

          Debug.Print mateRefAlignment

             

              ' Get the  mate reference entity in the mate reference

          Set mateRefEntity = swMateReference.ReferenceEntity(0)

         

              ' Select the entity

          mateRefEntity.Select4 False, Nothing

         

          swModel.ClearSelection2 True

         

      End Sub

        • Re: what POSGROUP in mate?
          Artem Taturevych

          Mate.png

          The POSGROUP is mate reference (refer the picture). To select the mate MATE typename should be used.

           

          Like this:

           

          swModelExt.Extension.SelectByID2("Concentric1", "MATE", 0, 0, 0, False, 0, Nothing, 0)

          __________________________

          Regards,

          Artem Taturevych

          Application Engineer at Intercad

          http://intercad.com.au/

          Tel: +61 2 9454 4444

            • Re: what POSGROUP in mate?
              Peter Farnham

              Hi Artem,

               

              I can see there are no mate references in he's assembly.

               

              As a side issue, why does the Api help not mention this?

              I did try looking for help regarding POPGROUP and it seems a bit flakey with no real references to it's meaning or use.

                • Re: what POSGROUP in mate?
                  Artem Taturevych

                  Hi Peter,

                   

                  Yes, this is an issue. Yong is trying to select mates but using incorrect type and example. The example named:

                  Get Mate Reference Properties Example (VBA)

                  so it says that this is for mate references but not mates. These are different types of features in SolidWorks.

                   

                  I agree that the 'POSGROUP' is not very clear name for mate references. I usually use the macro recorder to identify the selection type name. So, for example create an assembly with mate and mate reference and record the macro for selecting of these features and you will see the selection names in the recordered lines.

                   

                  __________________________

                  Regards,

                  Artem Taturevych

                  Application Engineer at Intercad

                  http://intercad.com.au/

                  Tel: +61 2 9454 4444

                • Re: what POSGROUP in mate?
                  Yong Ning

                  Often use this code

                   

                  .Extension.SelectByID2("Concentric1", "MATE", 0, 0, 0, False, 0, Nothing, 0)

                   

                  use → Mate

                  don't use → POPGROUP