
發布
注冊
/
登錄ansys布爾運算交運算的案例
ANSYS Workbench布爾運算
前面兩篇介紹了Solidworks和ANSYS經典界面中的布爾運算,本期當然是介紹Workbench布爾運算了,WB自帶的強大建模工具怎能遺漏呢。
下面娓娓道來,想學好Workbench建模技術的童鞋看仔細了哈。
WorkbenchDesignModeler中實體間的布爾運算包括如下幾種:Unite(相加),Subtract(相減), Intersect(相交), Imprint Faces(印記面)。
關于印記面的專題介紹請參考什么是印記面?。
還包括其它形式的布爾運算如:Add Material,Cut Material, Slice.
布爾運算的菜單入口如下圖1。
圖1 布爾運算菜單入口
下面以一個小模型來演示布爾運算使用方法,方便大家理解。下圖是一個花鍵軸和圓盤組合在一起(有重合)。
圖2 演示幾何模型
1.Unite
Unite操作起來很簡單,只需要選中這里的軸和圓盤2 Bodies,Generate 一下就可以了,然后之前選中的2個實體就變成了一個新的實體了。如下圖3所示。
圖3選擇兩個實體進行Unite元算
Unite和add material 有些類似,但是Add Material操作只能在導入模型、生成新體時使用,而Unite操作可以在現有的模型中使用。
2. Subtract
WB DM中的Subtract功能也是與經典界面中的同出一轍,但稍遜于后者。新手需要特別注意Target Bodies 與Tool Bodies的區別!這兩項是必選項,很有必要弄清楚概念。Target Bodies是你需要減的母體,而Tools Bodies是你做減法所用的工具。即Target Bodies -Tool Bodies=期望得到的實體。
展開 ANSYS布爾運算介紹
創建復雜的幾何模型,可運用布爾運算對模型進行加工和修改。無論是自頂向下建?;蚴亲缘紫蛏辖摻ǖ膱D素都可進行布爾運算,通過簡單的幾何模型進行一系列布爾操作可創建復雜的模型,使得建模較為容易和快捷。
對于包含退化的模型,有時布爾運算是無法完成的。對于已經劃分網格的圖素不能進行布爾運算,在操作前應清除網格,否則提示錯誤信息;同樣地,如果定義了荷載和單元屬性,在布爾運算后這些屬性不會轉換到新圖素上,需重新定義。
布爾運算GUI操作界面以及所有命令如下圖所示。
1. 交運算 Intersection
交運算就是由圖素的共同部分形成一個新的圖素,其運算結果只保留兩個或多個圖素的重疊部分。
交運算分為公共相交和兩兩相交兩種。公共相交就是僅保留所有圖素的重疊部分,即只生成一個圖素,當圖素很多時可能不存在公共部分,這時布爾運算不能完成。兩兩相交是保留任意兩個圖素的公共部分,有可能生成很多圖素。
公共交運算對圖素沒有級別要求,即任何級別的圖素都可作公共交運算,而不管其相交部分是何級別的圖素。例如線、面、體的兩兩與相互交運算都可;再如體的交運算中,其相交部分可以是關鍵點、線、面或體等。
兩兩相交運算則要求為同級圖素,但相交部分可為任何級別的圖素。例如只能作線與線(相交部分可為關鍵點、線)、面與面(相交部分可為關鍵點、線、面)、體與體的兩兩相交(相交部分可為關鍵點、線、面、體)。
交運算完成后,輸入圖素的處理采用 BOPTN 的設置。
展開 DM(DesignModeler)布爾運算與切片操作
本期簡單介紹Ansys Workbench DM(DesignModeler) 布爾運算Boolean與切片Slice功能。布爾運算Boolean和切片Slice命令都在DM Create菜單下。
Boolean有如下四種操作選項
1. Unit(并集)加法:將多個實體合并到一起,形成一個實體。
2. Subtract(差集)減法:去掉多個實體中的某一部分實體。
3. Intersect(交集):將兩個實體相交部分取出來,其余實體被刪除。
4. Imprint Faces(表面印記):生成一個實體與另一個實體相交處的面。
Slice命令有如下五種操作選項
Slice by plane(用平面切片):利用已有平面對實體進行切片分割,平面必須經過實體。
Slice off Faces(用表面偏移平面切片):這些面大概形成一定的凹面,本命令將切開這些面。
Slice by Surface(用曲面切片):利用已有的曲面對實體進行切片操作。
Slice off Edges(用邊做切片):選擇切分邊,用切分出的邊創建分離體。
Slice by Edge Loop(用封閉邊切片):在實體模型上選擇一條封閉的棱邊來創建切片。
展開 CST仿真指導 | 布爾運算
“
復雜的模型一般都是由簡單的基礎形狀構成,這一過程可以通過布爾運算來實現。本文介紹CST建模中,如何使用布爾運算——Boolean Operation。

Maxwell繪圖 布爾運算操作教程
布爾運算
繪制復雜圖形時,需要利用布爾操作進行運算得到復雜的構圖。常用的有【Unite】加法、【Subtract】減法、【Intersect】取交集、【Split】分割。
1、簡單布爾運算【Unite】加法、【Subtract】減法、【Intersect】取交集方法:
示例圖形
1.在繪圖去選中兩個實體,注意選擇順序:
選擇操作中的選擇順序是先選擇圓面再選擇長方形面,軟件會按照先選的作為減數,后選的作為被減數的規則排列前后順序。
2.選擇【Subtract】減法運算,兩種方法:
a.點擊快捷鍵(推薦)如下:
b.右鍵選擇【Edit】→【Boolean】→【Subtract】
3.彈出對話框,確定減數與被減數:
以下對話框【Blank Parts】為被減實體,【Tool parts】為減實體,可以選擇對話框中實體,利用→更換調整。
下框中【Clone tool objects before operation】,若勾選,表示僅從圓面中減掉長方形面,剩余3/4的圓;
若勾選,表示從圓面減掉正四邊形的同時,還保留作為減數的正四邊形,此時顯示未3/4的圓和一個完整的正四邊形。
未勾選【Clone tool objects before operation】
勾選【Clone tool objects before operation】
【Unit】加法和【Intersect】取交集運算與減法相同,不再講解。
2.【Split】分割布爾運算:
主要利用系統的XY、YZ、XZ平面或者用戶自己建立的Planes平面、實體平面、線來分離、切割實體。
展開 實用技能 | Solidworks布爾運算操作
在ANSYS幾何建模過程中布爾運算功能尤其強大,相信大家都有所了解。但在Solidworks這樣一個專用的三維建模軟件中有多少人用過它的布爾運算功能呢?在SW軟件中該功能不叫布爾運算,而是叫做組合!而且只有在多體零件圖模式下才能激活使用。隱藏得太深了一般人發現不了,哈哈,下面來一起探索吧...
這里用一個花鍵軸和花鍵孔的小案例來了解下SW中的布爾運算。
Step1:先繪制兩個零件:花鍵軸和圓盤
Step2:在花鍵軸零件圖中插入圓盤零件,并且勾選轉移所有圓盤零件的元素。特別是基準面必須勾選,方便后面設置實體間的配合。
Step3:設置實體間的配合。可在插入零件的模型樹下面找到配合設置并進行修改。
Step4:點擊組合命令,選用刪減類型?;ㄦI孔為主要實體,花鍵軸為組合實體。
Done!
可以看到SW的組合功能非常簡單(只有相加、相減、取交集三個類型),和ANSYS的布爾運算差遠了!而且還不能保留組合實體(花鍵軸),需要重新建個裝配文件裝配這兩個零件。
雖說功能簡單但還是具有一定的實用性。本實例中提現的建模便利之處是:只需要繪制一個花鍵槽即可,不需要考慮軸孔是否完全匹配。用組合操作能提高建模速度,也能很好的避免軸孔干涉或者間隙問題。
還有不懂操作的童鞋請看視頻演示↓
請在Wi-Fi環境下觀看本視頻。
(更歡迎4G包年包月用戶使用流量觀看哈哈哈哈哈哈)
(正在乘坐交通工具的人下車了再看,注意安全嗷)
展開 Proe/Creo布爾運算合并、相交和切除方法
3.選取第一個求交零件和第二個零件,并確定。
4.此時模型樹出現新創建的文件,鼠標右擊打開就是求交后的文件。
abaqus 腳本捕獲幾何元素的交、并、差運算 ¥20
abaqus 腳本捕獲幾何元素的交、并、差運算
abaqus自帶了捕獲幾何元素的方法,可以在python腳本中捕獲abaqus幾何體的“點、線、面、體”對象或網格模型的各種元素,這在技術鄰文章里有詳細的介紹(https://www.yqgqt.org.cn/content/post/331773)。但是,abaqus不支持對捕獲的幾何元素序列進行集合運算,面對一些復雜的選擇集只能用序列連接的方法來實現。
本文借助python腳本實現了abaqus腳本捕獲幾何元素的交、并、差運算。使用方便,效果好!下面介紹python腳本的實現。
1、“幾何序列”的限制
“幾何序列”是abaqus/cae中的一種數據類型,其本質是python列表?!?em>交、并、差運算”是python集合數據類型自帶的集合運算功能。在python腳本中,一個可哈希[1]序列能夠簡單快速的轉化為集合,實現元素的去重目標,并且進行交、并、差運算后,再轉化成序列。以此實現python序列的交、并、差運算。
雖然abaqus幾何序列本質是python列表,但經過封裝后被限制了“修改”操作,加之幾何序列的元素沒有定義哈希運算,所以幾何序列不能轉化為集合直接實現“交、并、差運算”。
2、繞過限制,迂回實現目標
實現目標的障礙擺在眼前,要么突破abaqus的源碼,放開幾何序列的修改限制,為幾何序列的元素定義哈希運算。要么從abaqus的框架中跳出來,用python的原生功能來實現目標。權衡之下,前一種思路有殺雞用牛刀的感覺,后面一種思路合理且難度可控。決定跳出abaqus框架,繞過幾何序列的種種限制,迂回實現目標。
第一步,跳出abaqus框架,繞過幾何序列的限制。這里用到了“遍歷”幾何序列獲取元素的特性。
展開 Creo 7.0新增裝配布爾運算-添加主體
Creo 7.0新增裝配布爾運算-添加主體
UG布爾運算求差時變成求和處理技巧
工業設計工作經歷幾年的朋友遇到布爾運算相反時都無法解決這個問題,因此和大家探討一下這個問題并解決,原因在實體內部的數據錯亂掉,解決方案重新導出修復幾何體的實體,如圖下說明;
步驟1,原本兩個實體需要布爾運算求差,但是使用求差指令結果出現相反變成求和。
步驟2;在文件里——導出——找到修復幾何體。
步驟3,單擊指定輸出文件。
步驟4,然后更改另一個文件名稱。
步驟5,導出修復幾何體部件后,再重新打開導出的部件。
步驟6,通過導出的實體布爾運算時求差就解決掉了。
網格布爾運算,小技巧,幫大忙。讓設計變更變得更加方便
以下這些情況,往往阻礙了模擬分析:
1) 只有鑄件,要分析砂芯
2) 鑄件本身結構的改變與優化
3) 有流道+冷卻,沒有模具,無法分析模具溫度和冷卻效果
4) 只獲得模具,型腔是空的,無法分析充型凝固
5) 流道方案的修改,例如增加一支輔助流道,或減少、改變一支流道
以上的任何一個三維圖檔的變化,都需要重新在三維CAD里面做布爾運算,然后重新網格劃分,最后才能進入模擬分析環節。而在設計的初期階段,設計變更是非常多的,通常10次以上的變更都非常正常。試想,每一次變更,哪怕是1mm,以上所有的工序都要重新做一遍。先不說工程師的工作量大幅增加,對于企業的研發周期而言,也是一種挑戰。
因此,不少企業為了保證開發周期,不得不減少設計變更的次數。隨著分析次數的減少,CAE的真正作用也被削弱了。
網格布爾運算只是一個小工具,但它能實現三維CAD布爾運算的大部分功能。例如貼補一條分支流道、或者把點冷水管移動幾毫米,然后,幾分鐘之后,新的模型就可以在網格的基礎上,直接構建完成。完全跳過了CAD這個環節。讓設計變更更加輕松。
C家精講,初衷是用最短的時間,分享一些鑄造工藝設計與分析的經驗。雖然是點點滴滴,愿能匯流成河,如果鑄友們喜歡,
請點“在看”或分享,也歡迎留言。
Cast-Designer 熱分析與DFM免費報告:
長按識別二維碼,填寫表格,獲得熱分析與DFM免費報告:
展開 
UG NX10.0編程基礎教程——球體和布爾運算
點擊免費領取?數控車、數控銑編程手冊,UG編程視頻教程、軟件安裝包安裝教程、后處理、外掛等超多素材
求交在選擇目標和工具時不用區分,直接選擇存在共同實體部分的實體即可,目標只能選擇一個實體,工具可以為多個實體
一個方體與兩個球體的公共部分,注意目標只能選擇一個實體,不能隨自己心情想選哪個就選擇哪個。
布爾運算中,目標只能選擇一個實體,工具可以為多個,選擇的時候根據實際情況進行選擇,一定保證實體之間存在重疊部分才能進行布爾運算。
布爾運算中有一個設置在建模過程中作用很大,保存目標和保存工具這兩個選項,從字面上來看,就是把上面選擇的目標和工具里的實體在進行運算后,保存與否,不啟動的話,原有實體就沒有了,如果啟動的話,原有的實體就留下,也就是在原來位置多出一個原來的實體。默認情況下,這兩個設置不啟動狀態。
布爾運算這個功能它有單獨的命令也有結合到其他命令中的,比如在拉伸、回轉、圓柱體等等都有這個運算,意義就是,新建的實體是不是與原有的實體進行加減乘運算。
展開 ANSYS的結果進行二次運算并顯示云圖
ANSYS的結果進行二次運算并顯示云圖
在實際應用中經常會需要將ANSYS的計算結果進行二次運算,并重新顯示新的結果云圖。也即是ANSYS的現有計算結果不能滿足實際需求,需要自己在一次計算結果的基礎之上編寫計算方法。
在ANSYS里,這個過程是通過修改節點或者單元的結來實現的,筆者以前在ABAQUS里面也實現過這樣的過程,不過在ABAQUS里面不是通過直接修改節點/單元解實現的,而是可以重新定義新的結果變量。
ANSYS修改節點解釋通過DNSOL命令完成的,命令解釋如下:
DNSOL, NODE, Item, Comp, V1, V2, V3, V4, V5, V6
其中Item和Comp這兩個量是需要修改的變量名稱,例如需要修改位移X,則Item應為U,Comp應為X,后面的V1-V6就是新的值。
可以看到,利用DNSOL命令每次只能修改一個節點的值,因此,很多情況下是需要對全部的節點值進行修改,故通常需要和遍歷命令一起使用。
下面以一個實際的例子說明具體的使用方法。
新建一個簡單的模型,加載求解得到以下的結果,分別為x方向的位移和y方向的位移。
X方向的位移如下:
Y方向的位移如下:
現在需要將X和Y方向的位移進行重新計算,假設:
新的Ux=Ux**2+0.1
新的Uy=Uy**2-0.1
具體實現過程是先依次讀取計算得到的Ux和Uy,保存在自定義的數組中,然后定義新的數組,將前面的數組的數據分別處理后保存到新的數組之中,最后依次讀取新的數組的數據再通過DNSOL命令進行修改,修改完成即可顯示新的結果。
!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
展開 <手搓有限元 干翻Ansys> 【1】C++實現矩陣Matrix類 實現基本運算
本系列文章致力于實現“手搓有限元,干翻Ansys的目標”,基本框架為前端顯示使用QT實現交互,后端計算采用Visual Studio C++。
Matrix類
矩陣基本類,用于有限元矩陣計算。
1、public function
1.1、構造函數與析構函數
構造函數用來初始化矩陣,析構函數用來釋放內存。