裝配體中配合對(duì)象Mate2

在裝配體配合中,記錄配合關(guān)系的對(duì)象為Mate2,如下圖紅框中的每個(gè)配合就是一個(gè)配合對(duì)象Mate2的實(shí)例,本文將簡(jiǎn)單介紹Mate2的獲取及其記錄的相關(guān)配合參數(shù)的獲取。

image.png

1.Mate2對(duì)象的獲取

常用的Mate2對(duì)象獲取可以通過(guò)部件對(duì)象(Component2)或特征對(duì)象(Faeture)對(duì)象獲取。

Feature SwFeat;
Mate2 SwMate = SwFeat.GetSpecificFeature2()
Component2 SwComp;
Mate2 SwMate = SwComp.GetMates()        

2.實(shí)例分析--對(duì)象獲取

本例使用API獲取部件轉(zhuǎn)軸的配合對(duì)象與類(lèi)型。

image.png

代碼實(shí)例:

public static void GetMateType(Component2 SwComp)
{
     object[] CompMateObjs = SwComp.GetMates();//獲取數(shù)組
     foreach (object ObjMate in CompMateObjs)
     {
          if (ObjMate is Mate2)//判斷是否為配合
          {
               Mate2 SwMate = (Mate2)ObjMate;
               System.Windows.MessageBox.Show(Enum.Parse(typeof(swMateType_e), SwMate.Type.ToString().Trim()).ToString().Trim());
          }
     }
 }

代碼解析

通過(guò)SwComp.GetMates()獲得的是object[]數(shù)組,不能直接使用配合數(shù)組Mate2[]。循環(huán)遍歷每個(gè)object對(duì)象是,判斷該object是否為Mate2對(duì)象,在繼續(xù)后續(xù)的數(shù)據(jù)獲取。

實(shí)例效果

image.png

3.實(shí)例分析-配合參數(shù)獲取

本例將通過(guò)Mate2對(duì)象的屬性和方法獲取每個(gè)配合的參數(shù),包括參考對(duì)象,參考部件,配合尺寸等信息。

代碼實(shí)例

public static void GetMateRefrence(Component2 SwComp)
{
     object[] CompMateObjs = SwComp.GetMates();
     StringBuilder Sb = new StringBuilder("");
     foreach (object ObjMate in CompMateObjs)
     {
          if (ObjMate is Mate2)
          {
               Mate2 SwMate = (Mate2)ObjMate;
               Sb.Append("配合【"+ ((Feature)SwMate).Name + "】參考對(duì)象:\r\n");//配合名稱(chēng)
               int n = SwMate.GetMateEntityCount();
               for(int i=0;i< n;i++)//配合參考
               {
                   MateEntity2 SwMateEntity2 = SwMate.MateEntity(i);
                        
                   string reftype = Enum.Parse(typeof(swSelectType_e), SwMateEntity2.ReferenceType2.ToString().Trim()).ToString().Trim();
                   string comp = SwMateEntity2.ReferenceComponent.Name2;
                   string refname = SwMateEntity2.Reference.Name;
                   Sb.Append("部件【" + comp + "】,參考【" + refname + "】" + ",類(lèi)型【" + reftype + "】");
                   
                   DisplayDimension SwDispDim = SwMate.DisplayDimension2[0];
                   if (SwDispDim != null)
                   {
                       if (SwMate.Type == (int)swMateType_e.swMateANGLE)
                       {
                           Sb.Append(",角度=" + SwDispDim.GetDimension2(0).Value.ToString().Trim());
                       }
                       else if (SwMate.Type == (int)swMateType_e.swMateDISTANCE)
                       {
                           Sb.Append(",尺寸=" + SwDispDim.GetDimension2(0).Value.ToString().Trim());
                       }
                    }
                    Sb.Append("\r\n");
                }
                Sb.Append("\r\n");
            }
        }
        System.Windows.MessageBox.Show(Sb.ToString().Trim());
}

代碼解讀

a.通過(guò)Mate2::GetMateEntityCount()可以獲得每個(gè)配合的參考數(shù)量,這是獲取每個(gè)參考詳細(xì)數(shù)據(jù)的前置條件。

b.配合對(duì)象也是一個(gè)特征,所以可以通過(guò)強(qiáng)制轉(zhuǎn)換為Feature對(duì)象,獲得該配合的名稱(chēng)

c.通過(guò)Mate2::MateEntity(i)方法可以獲得每個(gè)配合的參考實(shí)體對(duì)象SwMateEntity2

d.通過(guò)SwMateEntity2對(duì)象即可獲取參考對(duì)象,所屬部件,等各類(lèi)配合參考的信息。

e.通過(guò)Mate2::DisplayDimension2方法,即可獲得對(duì)應(yīng)配合的配合尺寸及數(shù)據(jù),關(guān)于尺寸相關(guān)對(duì)象,可以查看之前的文章《尺寸對(duì)象Dimension》

實(shí)例效果

image.png

如下圖為本文的示例程序,源碼可上我的Github下載。操作步驟可見(jiàn)文章《公眾號(hào)源碼Github分享庫(kù)》 , 實(shí)例序號(hào)17

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在裝配體中每個(gè)部件都是Component2對(duì)象的一個(gè)實(shí)例,裝配體中的自動(dòng)化操作少不了使用到Component2。本...
    JackChen86閱讀 1,715評(píng)論 0 0
  • 在Solidworks中裝配體能夠?qū)崿F(xiàn)對(duì)各類(lèi)零件的總裝,在裝配提中可以去操作其中的各種部件,插入部件,進(jìn)行配合等各...
    JackChen86閱讀 2,455評(píng)論 0 1
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,697評(píng)論 18 399
  • (一)Java部分 1、列舉出JAVA中6個(gè)比較常用的包【天威誠(chéng)信面試題】 【參考答案】 java.lang;ja...
    獨(dú)云閱讀 7,265評(píng)論 0 62
  • 1 、一個(gè)".java" 源文件中是否可以包括多個(gè)類(lèi)(不是內(nèi)部類(lèi))?有什么限制?可以有多個(gè)類(lèi),但只能有一個(gè) pub...
    盡人事聽(tīng)天命_6c6b閱讀 182評(píng)論 0 0

友情鏈接更多精彩內(nèi)容