亚州天堂爱爱,做爱视频国产全过程在线观看,成人试看30分钟免费视频,女人无遮挡裸交性做爰视频网站

? ? ?

CATIA二次開發(fā)之裝配約束(catia裝配約束在哪里)

我以為,約束的目的多是裝配,其本質(zhì)是姿態(tài)矩陣的變換,只是系統(tǒng)已經(jīng)為你打包成一個(gè)“工具”而已。因此,我們可以好好利用現(xiàn)成的“工具”,達(dá)到組件快速裝配的目的。

約束簡介

約束是裝配的重要手段,常見的約束有固定、平行、相合、平移、角度、接觸等約束,如catCstTypeReference表示固定約束,約束類型如下圖所示。通過約束關(guān)系,可以使組件之間的相對關(guān)系發(fā)生變化。而在這個(gè)變化過程中,用戶不需要考慮姿態(tài)是如何變換的,只需要簡單去設(shè)定約束類型即可,固定約束是約束中輸入最少,相對而言比較容易理解的約束,本文將以固定約束為例,闡述約束的創(chuàng)建。進(jìn)行固定約束開發(fā),可主要?jiǎng)澐窒鹿?jié)的三個(gè)步驟,具體見如下代碼:

CATIA二次開發(fā)之裝配約束(catia裝配約束在哪里)

裝配約束

Demo代碼

可復(fù)制到notepad 等查看,在頭條上面,格式會亂(sorry)

void CreateConstraint(){ // 打開一個(gè)Proudct文件 pProductDocument CATDocument * pProductDocument = NULL; HRESULT rc= CATDocumentServices::OpenDocument(iArgv[1],pProductDocument); //①獲取文檔的Root Product spRootProduct CATIDocRoots *piDocRootsOnDoc = NULL; pProductDocument->QueryInterface(IID_CATIDocRoots, (void**) &piDocRootsOnDoc); CATListValCATBaseUnknown_var *pRootProducts = piDocRootsOnDoc->GiveDocRoots(); CATIProduct_var spRootProduct = NULL_var; if( NULL != pRootProducts ) { if(0 != pRootProducts->Size()) { spRootProduct = (*pRootProducts)[1]; delete pRootProducts; pRootProducts = NULL; } piDocRootsOnDoc->Release(); piDocRootsOnDoc = NULL; } // 找到第一個(gè)Product并將其設(shè)置為固定約束 spProdToConstraint int nbChild = spRootProduct->GetChildrenCount(); CATListValCATBaseUnknown_var* pListChild = spRootProduct->GetChildren(\”CATIProduct\”); CATIProduct_var spProdToConstraint; if( (NULL != pListChild) && (0 != pListChild->Size()) ) { spProdToConstraint = ( (*pListChild)[1] ); delete pListChild; pListChild = NULL; } //②創(chuàng)建connector pConnector CATIConnector * pConnector = NULL; CATIProduct * pActiveComponent = NULL; CATIProduct * pInstanceComponent = NULL; CATILinkableObject * pGeometry = NULL; int iCreation = 0; spRootProduct->QueryInterface(IID_CATIProduct,(void **)&pActiveComponent); spProdToConstraint->QueryInterface(IID_CATIProduct,(void **)&pInstanceComponent); spProdToConstraint->QueryInterface(IID_CATILinkableObject,(void **)&pGeometry); GetProductConnector(pGeometry,pInstanceComponent,pActiveComponent,0,pConnector,iCreation); //③創(chuàng)建約束 CATICst *pCst = NULL; CATLISTV (CATBaseUnknown_var) ConnectorList; ConnectorList.Append(pConnector); pConnector->Release(); CreateConstraint(catCstTypeReference,ConnectorList,NULL,pActiveComponent,&pCst); pActiveComponent->Release(); pActiveComponent = NULL;}

代碼分析

創(chuàng)建約束的函數(shù)如下:

CreateConstraint( CatConstraintType iConstraintType, const CATLISTV(CATBaseUnknown_var)&iConnectorList, CATICkeParm* iCkeValue, CATIProduct* iReferenceProduct, CATICst** ioConstraint)

大家只需關(guān)注如下三個(gè)輸入對象即可,其中

1) iConstraintType是約束枚舉類型

2) iConnectorList是進(jìn)行約束的對象

3) iReferenceProduct是約束所屬文檔的reference product

在進(jìn)行開發(fā)之前,大家可先想想利用CATIA去創(chuàng)建約束的過程:①約束的創(chuàng)建是在一個(gè)激活的結(jié)點(diǎn)下工作的,②同時(shí)用戶需要選擇一個(gè)或多個(gè)約束的對象,③并且去打開約束命令,選擇約束類型,然后才能創(chuàng)建約束。其實(shí)給我們的接口同自身功能的輸入輸出是一致的,因此在二次開發(fā)中,進(jìn)行約束創(chuàng)建步驟可簡單歸納如下:

1) 獲知約束到底創(chuàng)建哪個(gè)位置,這里表現(xiàn)為一個(gè)Product結(jié)點(diǎn)

2) 將待約束的對象都創(chuàng)建成一個(gè)Connector,構(gòu)成一個(gè)對象集

3) 設(shè)置約束類型并給定其他參數(shù),并可創(chuàng)建約束。

當(dāng)然,這里需要保證你給定的對象集能夠滿足給定約束類型的創(chuàng)建,否則返回錯(cuò)誤,這個(gè)需要開發(fā)人員去保證。在本例中,由于固定約束的創(chuàng)建只需一個(gè)對象即可,因此只有一個(gè)Connector,若要?jiǎng)?chuàng)建相合約束,主要區(qū)別就在于Connector個(gè)數(shù)的不同,其他開發(fā)均如出一轍。

本人將不斷更新CATIA二次開發(fā)相關(guān)文章

大家也可關(guān)注本人小店(來個(gè)饅頭:https://weidian.com/item.html?itemID=1646419866)

開發(fā)深似海,疑義相與析

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2023年3月17日 上午9:53
下一篇 2023年3月17日 上午10:09

相關(guān)推薦

  • “黨建+物資管理”助推迎峰度夏項(xiàng)目竣工(黨建+物資)

    近日,福建省羅源縣供電公司物資供應(yīng)分中心組織黨員骨干對今年迎峰度夏的物資臺賬進(jìn)行全面盤點(diǎn)清算,為迎峰度夏工作做好物資管理收尾工作。 迎峰度夏期間,電網(wǎng)生產(chǎn)任務(wù)繁重,物資需求隨之增長…

    科研百科 2023年10月11日
    136
  • 科研項(xiàng)目結(jié)題證書圖片

    科研項(xiàng)目結(jié)題證書圖片 隨著科技的不斷進(jìn)步,科研項(xiàng)目的結(jié)題證書也成為了人們關(guān)注的焦點(diǎn)。這些證書不僅代表著項(xiàng)目的完成,也代表了研究者在科研領(lǐng)域的成就。本文將介紹科研項(xiàng)目結(jié)題證書的圖片特…

    科研百科 2025年3月26日
    2
  • 科研項(xiàng)目補(bǔ)助申報(bào) 會計(jì)

    科研項(xiàng)目補(bǔ)助申報(bào)會計(jì)處理 隨著科技的不斷進(jìn)步,科研項(xiàng)目補(bǔ)助的申報(bào)也成為了會計(jì)領(lǐng)域中的一個(gè)重要話題。科研項(xiàng)目補(bǔ)助是指為支持科學(xué)研究和技術(shù)創(chuàng)新而提供的財(cái)政補(bǔ)助,其資助的對象可以是科學(xué)家…

    科研百科 2025年3月27日
    2
  • 新疆交通運(yùn)輸廳科研項(xiàng)目

    新疆交通運(yùn)輸廳科研項(xiàng)目 新疆交通運(yùn)輸廳一直致力于推動交通運(yùn)輸行業(yè)的發(fā)展,特別是在物流和運(yùn)輸領(lǐng)域。為了更好地滿足新疆地區(qū)經(jīng)濟(jì)發(fā)展的需求,該廳推出了一系列科研項(xiàng)目,以推動新疆交通運(yùn)輸行…

    科研百科 2025年5月13日
    1
  • 利潤表里的費(fèi)用總計(jì)有哪些(利潤表里的費(fèi)用總計(jì)有哪些科目)

    大家好,今天我們再來學(xué)習(xí)利潤表,昨天講到了毛利潤及毛利率,但是大家要知道做生意需要交稅的,假設(shè)這個(gè)包子鋪一年還要交10萬元的相關(guān)稅費(fèi)。進(jìn)入到利潤表的稅金及附加科目。這里的稅金及附加…

    科研百科 2022年12月3日
    100
  • 科研項(xiàng)目評審中財(cái)務(wù)

    科研項(xiàng)目評審中財(cái)務(wù)是科研項(xiàng)目評審過程中的一個(gè)重要環(huán)節(jié),財(cái)務(wù)問題關(guān)系到科研項(xiàng)目的經(jīng)費(fèi)預(yù)算、財(cái)務(wù)報(bào)告、財(cái)務(wù)監(jiān)督等方面,因此需要認(rèn)真審查和考慮。本文將探討科研項(xiàng)目評審中財(cái)務(wù)的重要性以及如…

    科研百科 2025年3月17日
    5
  • 科研門診實(shí)施方案

    科研門診實(shí)施方案科研門診實(shí)施方案近日,教育部再次印發(fā)了《綜合防控兒童青少年近視實(shí)施方案》(以下簡稱《綜合防控兒童青少年近視實(shí)施方案》)。如今,教育部一直將“電子產(chǎn)品”納入教育行政部…

    科研百科 2024年11月26日
    0
  • 夸贊科研項(xiàng)目的句子簡短

    夸贊科研項(xiàng)目的句子簡短: 近年來,科研項(xiàng)目在科技領(lǐng)域取得了令人矚目的成就,為人類社會的發(fā)展做出了巨大的貢獻(xiàn)。這些項(xiàng)目不僅推動了科學(xué)技術(shù)的進(jìn)步,也促進(jìn)了人類文明的發(fā)展。 夸贊科研項(xiàng)目…

    科研百科 2025年5月8日
    1
  • 實(shí)實(shí)在在保護(hù)了科研項(xiàng)目

    科研項(xiàng)目是一項(xiàng)非常重要的工作,它為科學(xué)家們提供了許多寶貴的機(jī)會來探索新的知識和技術(shù)。然而,科研項(xiàng)目也面臨著許多挑戰(zhàn),其中最大的挑戰(zhàn)之一就是保護(hù)科研項(xiàng)目的安全和保密。 保護(hù)科研項(xiàng)目的…

    科研百科 2025年5月9日
    1
  • 金橙子軟件斷電打不開

    金橙子軟件斷電打不開 最近,金橙子軟件成為了網(wǎng)絡(luò)上的一個(gè)熱門軟件,但是,最近卻出現(xiàn)了一個(gè)問題,導(dǎo)致許多人無法打開這個(gè)軟件。這就是金橙子軟件斷電打不開的問題。 據(jù)了解,這個(gè)問題是由電…

    科研百科 2024年12月9日
    0