
發(fā)布
注冊
/
登錄CATIA二次開發(fā)的案例
catia V5二次開發(fā)技術探討
介紹了CATIAActiveXAutomation組件對象模型原理與結構以及其在catia二次開發(fā)中的作用;然后比較了catia二次開發(fā)技術的兩次方式:CAAC++技術和CAAAUTOMATION技術,兩種方式各有優(yōu)劣,并分別在兩種開發(fā)環(huán)境(VisualC++和VisualBasic)中通過利用Automation接口實現(xiàn)引用類型庫程序以及與catia的通信程序,并給出了部分代碼;最后給出一個端拾器的裝配設計效果。
catia V5二次開發(fā)技術探討.PDF
CATIA VBA二次開發(fā)入門(7)-Visual Studio與Python環(huán)境編程
CATIA二次開發(fā)過程中有一個好用IDE可以讓編程更加便捷,上一篇講了如何使用VB6.0進行設計,但VB6.0已經(jīng)是比較陳舊的IDE,無論是界面和功能都落后很多。
CATIA VBA二次開發(fā)入門(6)-VB6.0與exe文件
這次給小伙伴帶來的是CATIA VBA二次開發(fā)的簡單入門教程,旨在讓沒有接觸過CATIA二次開發(fā)的人能夠快速了解并上手二次開發(fā)。
教程編輯不易,希望大家多多點贊收藏,支持作者,支持原創(chuàng)
。
這一篇章我們來講一下如何使用外部的VB6.0進行二次開發(fā),并生成可執(zhí)行程序。
使用外部IDE進行二次開發(fā)需先連接CATIA二次開發(fā)接口,即前面提到過的CATIA.application。
這次依然使用前面的陣列圓柱體案例程序進行講解。
導入與導出窗體文件
CATIA中雖然集成了VB軟件,但其生成exe文件功能卻被刪除了。因此我們需要借助外部的VB6.0軟件來生成可執(zhí)行文件。VB6.0需要單獨安裝。
展開 采用Python語言對CATIA 進行二次開發(fā)(含源代碼) ¥50
眾所周知CATIA的二次開發(fā)一般基于VB或者CAA。VB比較容易上手,開發(fā)效率比較高,不過貌似VB現(xiàn)在用的人不多。
CAA ( Component App lication Architecture ) 是CATIA的一整套C + +函數(shù)庫,該函數(shù)庫在CATIA 運行時加載。用戶通過安裝RADE (Rapid App lication DevelopmentEnvironment)模塊,可以實現(xiàn)在VC + + 編程環(huán)境下編制程序,與CATIA進行通信,從而對CATIA進行二次開發(fā),有點難度哈。
那么,作為目前十分火爆的Python語言能否對CATIA進行二次開發(fā)呢,答案是肯定的。
以下演示的案例是利用Python語言在CATIA中繪制了一個機翼外形。
如果視頻播放不了,請點擊以下超鏈接:https://mp.weixin.qq.com/s/7d62KejifcX3Qzs2dXysPA
程序運行后的效果圖如下:
【關于軟件和庫】
首先電腦中得安裝有CATIA
下載安裝Python,推薦Python3.5及以后版本,免費下載
安裝pywin32及numpy兩個python庫,安裝方式 pip install numpy。如果不會安裝python的函數(shù)庫,可以直接下載一個anaconda3,直接把python3及常用的庫都集成在里面了,很方便。
Anaconda下載地址:Anaconda下載地址
繪制機翼當然還得準備一個翼型數(shù)據(jù),翼型數(shù)據(jù)可以從profili軟件中導出,然后將數(shù)據(jù)存到文本文件里,以供程序讀取
仿寫VB,CATIA的錄制宏可以得到每一步操作的VB代碼,將VB代碼改寫成Python格式即可。
展開 
淘寶上300+買來的CATIA二次開發(fā)視頻教程分享
淘寶上300+買來的CATIA二次開發(fā)視頻教程分享
https://pan.baidu.com/s/1iroT9lV8w51rbty6XNB-kQ
『分享』CATIA二次開發(fā)VB幫助文件
對用VB對CATIA進行二次開發(fā)有用
V5Automation.part01.exe
V5Automation.part02.rar
V5Automation.part03.rar
V5Automation.part04.rar
V5Automation.part05.rar
V5Automation.part06.rar
V5Automation.part07.rar
V5Automation.part08.rar
V5Automation.part09.rar
V5Automation.part10.rar
【CATIA二次開發(fā)】CATVBA中四個延時方法Timer函數(shù),Sleep函數(shù),TimeGettime函數(shù),Adddate函數(shù)
我們在做CATIA 二次開發(fā)的時候,有的情況下需要暫停程序運行,讓CATIA飛一會。
那么,CATIA VBA 獲取延時較為可行的四個方法:
1、一般延時 Timer函數(shù)(計時單位為秒級,1代表1s)
一個應用接口需要限制運行速度,需要在循環(huán)中加個延時函數(shù),這個延時不需要多么精確,要求有個幾秒延時,網(wǎng)上用的比較多的就是用Timer函數(shù)編寫,也是在VB聯(lián)機手冊中所推薦的Timer是VBA自帶的函數(shù),用起來比較方便,一般程序如下:
Sub delay(T As Single)
Dim time1 As Single
time1 = Timer
Do While Timer - time1 < T
DoEvents '轉讓控制權,以便讓操作系統(tǒng)處理其它的事件
Loop
Debug.Print ("運行結束,總計耗時為:" & Timer - time1 & "s")
End Sub
Sub calculate1_time()
delay (1.5)
End Sub
2、精確延時--sleep函數(shù)(計時單位為毫秒級,1000代表1s)
精確延時可以用sleep函數(shù),sleep函數(shù)是Windows API函數(shù),使用前必須聲明,然后使用:
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
延時-Sleep函數(shù),主要功能就是使當前線程等待?段時間,?法就是“Sleep 毫秒數(shù)”,這?的毫秒數(shù)可以設置成任意整型數(shù)據(jù)。如Sleep 1000,表?延時1秒(1000毫秒)。Sleep與DoEvents之間是有點區(qū)別的。
展開 【CATIA二次開發(fā)】CATVBA中四個延時方法Timer函數(shù),Sleep函數(shù),TimeGettime函數(shù),Adddate函數(shù)
我們在做CATIA 二次開發(fā)的時候,有的情況下需要暫停程序運行,讓CATIA飛一會。
那么,CATIA VBA 獲取延時較為可行的四個方法:
1、一般延時 Timer函數(shù)(計時單位為秒級,1代表1s)
一個應用接口需要限制運行速度,需要在循環(huán)中加個延時函數(shù),這個延時不需要多么精確,要求有個幾秒延時,網(wǎng)上用的比較多的就是用Timer函數(shù)編寫,也是在VB聯(lián)機手冊中所推薦的Timer是VBA自帶的函數(shù),用起來比較方便,一般程序如下:
Sub delay(T As Single)
Dim time1 As Single
time1 = Timer
Do While Timer - time1 < T
DoEvents '轉讓控制權,以便讓操作系統(tǒng)處理其它的事件
Loop
Debug.Print ("運行結束,總計耗時為:" & Timer - time1 & "s")
End Sub
Sub calculate1_time()
delay (1.5)
End Sub
2、精確延時--sleep函數(shù)(計時單位為毫秒級,1000代表1s)
精確延時可以用sleep函數(shù),sleep函數(shù)是Windows API函數(shù),使用前必須聲明,然后使用:
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
延時-Sleep函數(shù),主要功能就是使當前線程等待?段時間,?法就是“Sleep 毫秒數(shù)”,這?的毫秒數(shù)可以設置成任意整型數(shù)據(jù)。如Sleep 1000,表?延時1秒(1000毫秒)。
展開 【CATIA二次開發(fā)】CATIA中如何調(diào)用編譯好的exe執(zhí)行文件,一鍵關閉當前所有文件--
大家好,CATIA軟件沒有一鍵關閉當前所有文件這個功能,但是有的時候我們打開的當前文件太多(如下圖一下打開了幾十個文件),想要一次將其關閉掉,又不想從“任務管理器”直接終止CATIA軟件的運行,那么這個時候我們就要想辦法通過二次開發(fā)來實現(xiàn)這一目標。
代碼非常簡單:
Sub CATMain()
On Error Resume Next
For i = 1 To 1000
CATIA.ActiveDocument.Close
Next
End sub
可以在ide中直接新建一個模塊,將以上代碼復制粘貼便可以直接使用。
如何在CATIA中調(diào)用編譯好的EXE文件呢?
我們也可以將代碼通過vb軟件編譯成“exe可執(zhí)行文件”(編譯好的文件放置在如下圖路徑),然后通過catvba進行調(diào)用。通過vb編譯的時候,我們最好給其一個窗體置為最前端的設置,這個在之前的圖文教程中講過了,可以翻看歷史圖文!
在vba中通過shell函數(shù)調(diào)用exe文件的代碼如下:
Sub CATMain()
On Error Resume Next
A = Shell("H:\test" & "\CatCloseALL.exe", vbNormalFocus)
End Sub
注意,這里Shell(pathname[,windowstyle])函數(shù)的第二參數(shù)windowstyle我們用的是vbNormalFocus類型,原因是我們?yōu)楹陝?chuàng)建一個圖標,點擊圖標后,可以直接將窗體至于catia繪圖區(qū)域最前端。注意一下這一點,關于如何為catvba宏定義圖標和快捷鍵,之前的圖文課程里也介紹了,大家搜索往期圖文教程即可。
展開 【CATIA二次開發(fā)】批量更改孔顏色 ¥100
本文由微信公眾號:CATIA那點事兒 原創(chuàng)
開門見山:兩個宏命令,分別是根據(jù)已有的色板文件,更改普通孔和螺紋孔的顏色。
色板其實就是個如下格式的Excel文件。不同孔徑對應的顏色可以自己定義,可增加更多行。
以前作者寫過類似的程序,但只是通過遍歷Body的Shapes判斷Shape是否為Hole,來更改實體特征的顏色,這就要求被更改的孔必須得是帶參的孔特征。
本次的程序可以識別消參實體的孔特征。對于同為圓柱特征的孔(1),銷(2),直邊倒出來的圓角(3),程序均可以正確識別,區(qū)分出哪個是孔特征。
但更復雜的模型以及算法可靠度需進一步驗證。
以下為實例演示的動圖:
兩個實體,一個帶參,一個非參。注意右邊的實體由左邊復制得到,去參之后右下角的兩個孔螺紋特征消失,且孔徑不再為整數(shù)。
點擊運行”普通孔顏色“命令,孔特征被正確識別(倒角及銷子的面沒有被上色),并且顏色根據(jù)色板匹配更改。注意由于螺紋孔的孔徑非整數(shù),因此色板中無顏色匹配,未上色。
點擊運行”螺紋孔顏色“命令,左側帶參的螺紋孔被正確識別并上色,右側消參后螺紋特征丟失,未上色。
更多CATIA內(nèi)容還可以關注樓主的微信公眾號哦
此程序僅為Demo,如您想學習研究,或進行更改優(yōu)化(如增加遍歷使其可以處理裝配下所有子零件),可下載下面的付費內(nèi)容,包含源代碼和色板模板文件。
展開 CATIA二次開發(fā),批量生成截面線軟件分享
image_process=/format,webp" data-initial-src="https://img.jishulink.com/202603/attachment/cec2d7f1bd324fd2b9d1e29017c86921.png">
</figure>
</figure><p>通過CATIA逐個獲取截面線的操作是很繁瑣的,故筆者開發(fā)了一個可批量生成截面線的軟件工具,以高效解決此類問題。</p><p>以上部示意圖為例:</p><p>首先,需創(chuàng)建車門區(qū)域的軸測圖、局部視圖及圖紙圖框,簡單方便,如下所示。</p><div contenteditable="false" width="100%">
<jsk id="C_Playb0f19df316cc71f180534531958d0102" videoid="b0f19df316cc71f180534531958d0102" duration="1分9秒">
<img src="https://img.jishulink.com/static/web/youku-case.png" data-mobile-src="https://img.jishulink.com/static/web/youku-case.png?image_process=/format,webp" data-pc-src="https://img.jishulink.com/static/web/youku-case.png?
展開 
【二次開發(fā)】CATIA批量投三視圖功能 ¥100
相對于AutoCAD這種繪制二維圖的傳統(tǒng)方式,CATIA這種先設計三維,再通過投影生成工程圖的方式在設計上可謂是個不小的顛覆。畢竟,三維比二維直觀很多。
然而,當某個總成有幾十個,甚至幾百個零件需要投影時,機械的重復點擊操作,讓很多做CAD的工程師叫苦連天。
誠然,這種大量重復有規(guī)律的操作,對于小編這樣一個二次開發(fā)狂熱者來說,確實想通過代碼來完成。但投圖過程中,存在著很多不確定的因素:零件大小不同需要選擇不同的圖幅,視圖擺放位置問題等等……
現(xiàn)在,我們來做一些完美的假設:
零件的大小剛好放在A3的圖紙上
我們只投三視圖加軸測圖
主視圖以圖紙左上角為基準,視圖間的距離為40
Product中,每一個子總成對應一個Drawing文件,而子總成下面的零件則對應Drawing中的一個Sheet
那么,我們就可以通過程序實現(xiàn)Product下各子總成的批量投圖,就像開頭提到的那樣。
OK,現(xiàn)在,如果你想要試一下這個二次開發(fā)的功能,下載下面的附件即可(只有投影三視圖的功能,只能選A3的圖紙,不包含軸測圖,不能生成圖框)。
MF.zip
如果你想在此基礎上修改代碼,如使用自己公司或OEM的圖框,選擇其他圖幅的圖紙等,可下載下面的付費內(nèi)容。(付費內(nèi)容新增了程序使用方法及代碼的說明文檔!)
展開 CATIA管道非標設計EKL二次開發(fā)模塊功能介紹
3:可方便接入新增非標二次開發(fā)產(chǎn)生的知識工程模板。
6:BOM清單屬性統(tǒng)計高度定制化。
BOM清單中管道關鍵屬性統(tǒng)計的定制化:根據(jù)客戶定制需求的自動捕獲重要參數(shù),最終輸出到清單列表。
文章來源:catia汽車
【二次開發(fā)】CATIA二維圖一鍵標注投影點信息 ¥10
CATIA二維圖中由三維投過來的點,通常都要對其做一些標注,比如名稱、坐標等等…Drawing中自帶的尺寸標注命令中,有一個命令是可以標注坐標的。
但要注意的是: 當視圖與3D有鏈接是,該命令標出來的是三維坐標;當失去鏈接時,標注的是當前視圖坐標系下的二維坐標。并且,其標注的坐標文字格式,也無法隨意更改。
而當我們需要為數(shù)十個甚至上百個點標注如下格式的信息時,情況就變得很棘手了。暫且不說手動一個一個去敲這些文字有多繁瑣,單是區(qū)分三維和二維點的對應關系就夠受的了!
上述功能可以通過VBA二次開發(fā)編寫程序自動實現(xiàn),運行效果見下面動圖。圖片里只添加了點名稱信息,其他如三坐標什么的,獲取一下填進去,道理是一樣的。
如果,你想體驗上面動圖的演示功能,可以下載下面的免費vbe附件。
Project Point Likn To 3D_Free.rar
如果,你有興趣想研究或根據(jù)自己需求修改代碼,請下載下面的付費開源腳本。
展開 你也可以來做二次開發(fā)--HyperMesh二次開發(fā)應用之123
大部分HyperMesh用戶覺得二次開發(fā)這種碼農(nóng)干的事情大概很困難 。我們平時發(fā)現(xiàn)有的工程師非常有耐心:對一件單調(diào)乏味的事情重復千百次。其實有時候二次開發(fā)真的很簡單,懂一點二次開發(fā)會讓你的工作更有效率,讓你的分析生活更有趣。
應用1:創(chuàng)建節(jié)點(node)
前處理建模經(jīng)常需要創(chuàng)建節(jié)點,有時數(shù)量還相當多 。接下來我們來看一下如何通過二次開發(fā)把這些點變到HyperMesh中去!
保證你一看就會!
應用1
輸入: 比如我們已經(jīng)從別的途徑獲得了這些點的x,y,z坐標;這些坐標保存在nodesxyz.csv文件中,這是一個文本文件,可以使用文本編輯器或者excel打開。
?在HyperMesh中先按照傳統(tǒng)的方法創(chuàng)建第一個點
然后從下拉菜單Edit -> Command File打開命令流文件;我們可以看到下面這條命令,所以我們只需要按照這個格式得到其它命令語句即可實現(xiàn)目標。
展開