SolidWorks掃描切除命令避坑手記

? ? ? ? ? ? ? ? ? ? ? ? ? ?

目錄
一、SolidWorks“掃描切除”命令的一個坑.
二、SolidWorks零件中引用外部零件實(shí)體

?SolidWorks完整的切除命令在菜單欄里面;其中1-4是經(jīng)常會用到的,5-7可能使用者較少。其實(shí)我們的觀點(diǎn)是,切除命令基本都沒有存在的必要,而且切除命令還容易出一些莫名其妙的失敗,尤其是掃描切除命令。這樣說可能有些夸大其詞,但是如果熟悉SolidWorks的布爾操作——“相交”、“組合”等命令,就會認(rèn)同這種說法??梢钥吹剑鲜鏊星谐疃加袑?yīng)的凸臺命令;具體做法就是需要做什么切除,做一個相應(yīng)的切除形狀的實(shí)體,運(yùn)用“相交”命令,切出一個形狀,然后刪除多余實(shí)體記得到切除的形狀。舉個簡單示例如下:

在一個長方體上要挖一個孔,自然想到的是用掃描切除來做。
當(dāng)然,我們更提倡用布爾運(yùn)算命令而不是切除命令。其理由有三:(1)因?yàn)橛辛瞬紶柌僮?,切除命令沒有太多存在的必要,布爾操作能夠?qū)崿F(xiàn)同樣功能;(2)后面將看到,掃描切除有些意外發(fā)生,而且不容易查找問題所在(后面會看到),尤其是螺旋類的掃描切除在使用某些選項(xiàng)時非常的緩慢,相反,使用螺旋實(shí)體來做相交切分會避免使用這個選項(xiàng);(3)創(chuàng)建用于切除的實(shí)體創(chuàng)建出來更直觀、實(shí)在,這樣更容易觀察和修改,從這個角度來說更加直觀些。另外,后面也將提到,用于切除的實(shí)體比一個切除特征更容易管理。
簡單地說,我們采用下面方式來做布爾運(yùn)算實(shí)現(xiàn)切除。

創(chuàng)建一個欲切除形狀的掃描實(shí)體,與長方體交疊。
然后用“相交”命令。命令選項(xiàng)中去掉不需要的實(shí)體,保留需要的實(shí)體。

這樣,就實(shí)現(xiàn)了掃描切除完全相同的結(jié)果。其實(shí),不難推廣,任何切除命令都可以使用這樣的方式建模——即創(chuàng)建對應(yīng)切除形狀的實(shí)體,使用相交命令取得切除形狀,刪除多余實(shí)體即得到想要的結(jié)果。而這種方式更加靈活,實(shí)現(xiàn)復(fù)雜切除也更加直觀、容易。
一、SolidWorks“掃描切除”命令的一個坑
我們直接上一個實(shí)例來說明。為了實(shí)現(xiàn)下面的一個卷揚(yáng)機(jī)滾筒模型,筒體上帶有螺旋槽(槽型為圓弧形):

螺旋的起始和結(jié)束都有個尾巴,不能簡單的用螺旋線作為掃描路徑,需要在螺旋線首尾補(bǔ)上一段沿螺旋切線延伸的直線才能實(shí)現(xiàn)。有三種實(shí)現(xiàn)方案:
(1)用圓形截面草圖掃描切除;

如上圖,為了實(shí)現(xiàn)螺旋切除,需要創(chuàng)建螺旋線,為了補(bǔ)上延伸線,需要創(chuàng)建一個3D草圖,把螺旋線引用到3D草圖,并補(bǔ)上一段首尾相切的直線,以此3D草圖作為路徑即可實(shí)現(xiàn)螺旋槽切除。
(2)用一個球形實(shí)體作為工具實(shí)體輪廓進(jìn)行掃描切除;

掃描切除命令第三個選項(xiàng)可以用一個實(shí)體去沿著路徑切除,路徑還是用上一方案中相同的3D草圖,只是把圓形草圖截面換為一個球(其實(shí)也可以用一個切線方向的圓柱也可實(shí)現(xiàn))。按道理,這與上一方案的草圖掃描切除不會產(chǎn)生結(jié)果上的差異,然而,我們卻收到了下圖這個不能理解的結(jié)果:

另外,如果使用過實(shí)體做掃描切除的同學(xué),在有些時候,生成模型會特別慢,甚至?xí)浖ㄋ馈2⑶?,仔?xì)去看看幫助文檔,這個命令還有諸多的限制條款。
這就促使我們?nèi)ナ褂孟乱粋€更為通用的方案。
(3)使用掃描實(shí)體作布爾操作實(shí)現(xiàn)切除。

如上圖,與方案(1)的掃描切除一樣,采用同樣的截面草圖和3D草圖為路徑,生成一個掃描實(shí)體(注意特征生成選項(xiàng)中去掉“合并結(jié)果”選項(xiàng),使之成為多實(shí)體模型)。然后,應(yīng)用這個掃描實(shí)體與滾筒本體進(jìn)行相交布爾運(yùn)算,去掉多余實(shí)體得到結(jié)果。

通過這種方式我們得到了與方案(1)同樣的結(jié)果。
但是,與方案(1)對比,這樣做是不是多此一舉?這樣做的理由還是有三:(1)這樣做通用性更強(qiáng),拋開切除命令,只用學(xué)習(xí)相關(guān)的凸臺實(shí)體造型命令,根據(jù)我們使用經(jīng)驗(yàn),布爾運(yùn)算性能一般較高;(2)一般來說,凸臺命令出錯幾率更小、更加穩(wěn)定,進(jìn)行復(fù)雜造型更直觀、容易,比如說,我們要在螺旋首尾做其他的形狀更容易在螺旋實(shí)體上進(jìn)行做文章;(3)用于作為切割的工具實(shí)體可以放入別的文件進(jìn)行單獨(dú)管理,這樣減少主實(shí)體文件中的特征數(shù)量,便于修改和管理。
關(guān)于上述所謂布爾操作補(bǔ)充一點(diǎn),了解CAD和CAE歷史的都知道,早期的CAD/CAE幾何造型強(qiáng)烈依賴布爾操作;目前,很多CAE軟件自帶幾何功能仍然以布爾操作為主要造型功能;早期的僅依賴布爾操作造型的軟件中,感覺使用起來特別復(fù)雜,自從近20-30年特征造型軟件的逐步流行,很多人從復(fù)雜的布爾操作中解脫出來,同時也忘記了布爾操作這個東西。SolidWorks中,“相交”和“組合”命令具有布爾操作的本質(zhì),學(xué)究點(diǎn)的說法,“相交”命令實(shí)際上是“交補(bǔ)”布爾操作——即,取得重疊部分并保留各自原有部分;進(jìn)一步,通過適當(dāng)設(shè)置,“相交”命令甚至可以包含“組合”命令,不過“組合”命令本身也容易使用;另外,布爾運(yùn)算歷史悠久,成熟穩(wěn)定,其高效率的原因在于它僅計(jì)算已有幾何表面即可進(jìn)行,而不需要計(jì)算特征細(xì)節(jié),下面將進(jìn)一步說明。
關(guān)于掃描切除和布爾運(yùn)算效率,我們也試著進(jìn)一步說明。首先來說,切除操作容易出問題的原因在于容易產(chǎn)生零厚度幾何體(有經(jīng)驗(yàn)的使用者一定遇到過這樣的警告信息),隨之帶來的問題就是,軟件需要計(jì)算當(dāng)前實(shí)體條件,這帶來速度損失,帶螺旋線或者復(fù)雜曲線作為路徑的掃描切除尤其容易出現(xiàn)問題,也尤其當(dāng)截面尺寸不合適,還有路徑拐點(diǎn)過渡形狀劇烈變化;而凸臺實(shí)體操作,它是增材操作,不容易(甚至可以說不會)產(chǎn)生零厚度幾何問題,軟件也不需要計(jì)算當(dāng)前實(shí)體條件,就算當(dāng)前空間中存在幾何實(shí)體,直接穿越過去就好了;而當(dāng)需要進(jìn)行布爾操作去切除已有實(shí)體時,這時用于切除的工具實(shí)體已經(jīng)產(chǎn)生,是否會產(chǎn)生零厚度幾何體,一般觀察得到(以為你手里已經(jīng)有一個實(shí)實(shí)在在的實(shí)體),這就是為什么我們一直強(qiáng)調(diào)采用相交命令來做切除操作更加簡單、直觀;而想象一下,一個復(fù)雜的掃描切除除非你已經(jīng)成功完成,否則你看不到它的樣子,而問題就是出在完成之前!這段話可能沒有相關(guān)經(jīng)驗(yàn)情況不好理解,可以嘗試多去摸索實(shí)例體會。
下面,將上述的零件文件作為實(shí)體插入另外的實(shí)體詳細(xì)說明之。這對于復(fù)雜零件造型以及尺寸關(guān)聯(lián)特別有用。這是一個偏僻的功能,一般的教科書并沒有對它進(jìn)行重視。
二、SolidWorks零件中引用外部零件實(shí)體
把一個零件文件插入另一個零件文件,有些像裝配,實(shí)際上也可以實(shí)現(xiàn)裝配功能;但是如果僅僅是實(shí)現(xiàn)裝配功能,有些畫蛇添足。所以對于這個功能,很多人可能根本沒有用過,有的人可能看過,卻找不到恰當(dāng)?shù)膽?yīng)用場景。
對于我們前面案例中,采用一個實(shí)體去與另一個實(shí)體相交實(shí)現(xiàn)切除功能時,無論是哪一個實(shí)體,其來源均可以來自文件。而支持插入SolidWorks零件文件的文件類型如下:

以前述案例為例,我們可以把用于切除的螺旋實(shí)體作為一個工具實(shí)體保存在一個單獨(dú)的文件中。如下圖:

這時,我們可以從滾筒模型文件中去插入螺旋實(shí)體文件。

進(jìn)入命令時,界面也類似裝配中插入零部件模型的預(yù)覽界面,與裝配時一樣,當(dāng)不去視圖區(qū)點(diǎn)選時,直接選√,插入的模型定位到默認(rèn)坐標(biāo)位置。其下的眾多選項(xiàng)各個版本會有一些差異,一般不熟悉時保持默認(rèn)選擇。但是如果需要參數(shù)驅(qū)動功能,一定要保持草圖、特征尺寸這些勾選選項(xiàng)。

因?yàn)槲覀儎?chuàng)建螺旋實(shí)體和滾筒使用相同坐標(biāo)系,所以插入后螺旋實(shí)體默認(rèn)插入到它正確的位置。插入后,結(jié)果如下圖:

得到的結(jié)果,其實(shí)與在本文件創(chuàng)建的掃描特征實(shí)體一樣。上圖中,導(dǎo)入的sweeptool零件文件在此作為一個特征(右鍵可編輯),導(dǎo)入后默認(rèn)就是多實(shí)體,所以在實(shí)體列表中有它的名字。
如果插入的零件沒有處于正確位置,可以進(jìn)入編輯狀態(tài)去作定位。需要在“定位零件”這個位置勾選選項(xiàng),然后進(jìn)入定位對話框,其界面與裝配配合類似,其中還有直接進(jìn)行坐標(biāo)平移/旋轉(zhuǎn)的選項(xiàng)——使用都很簡單,這里不再詳述。

接下來仍然是采用“相交”命令,生成我們需要的切除。

對于這個模型來說,這樣做似乎并無特別的優(yōu)勢。但是,如果切除很復(fù)雜,例如,如果我們還需要對螺旋實(shí)體的首尾做不同的造型,那么去修改螺旋實(shí)體文件比在滾筒文件本身里面修改起來更容易。做過大模型的同學(xué)一定感受得到,當(dāng)你創(chuàng)建了很多的特征,要去尋找修改某個特征更加麻煩,隨著修改次數(shù)的增多,也許因?yàn)椴恍⌒狞c(diǎn)到了某個幾何,意外的引用了某個幾何元素,導(dǎo)致修改后全盤皆亂。而我們把切除的工具實(shí)體隔離到文件中,一是減少了主文件的特征數(shù)量,二是把一些出錯的幾率進(jìn)行了隔離,就算出錯也容易查找。這就是工程化的思路,對項(xiàng)目的規(guī)模進(jìn)行適當(dāng)?shù)姆纸夂徒M織,便于管理。
上面,把螺旋實(shí)體分離到單獨(dú)文件中,螺旋實(shí)體除了作為切割工具并無其它用處。實(shí)際上,很容易聯(lián)想到:螺旋實(shí)體文件中對尺寸進(jìn)行修改,滾筒主文件中也會相應(yīng)的修改。這促使我們想到,可以通過這種方式使得具有相互配合的零件之間實(shí)現(xiàn)尺寸關(guān)聯(lián)。舉一簡單例,比如一個裝配中,一根軸上套有一個軸套,那么軸套的孔可以引入軸作為切除工具;這樣,當(dāng)我們對軸的尺寸進(jìn)行修改時,軸套孔相應(yīng)的尺寸也會自動更新。同樣道理,對于簡單模型這樣做無特別優(yōu)勢,無非就是省了幾秒鐘的重復(fù)修改兩個零件的同一尺寸的時間;但是當(dāng)存在多處關(guān)聯(lián)甚至多級關(guān)聯(lián)時,這樣做所省的時間是可觀的。
關(guān)于SolidWorks多實(shí)體的應(yīng)用,感興趣的同學(xué)可以搜索“SolidWorks多實(shí)體”以及類似關(guān)鍵詞查找資料學(xué)習(xí)。“SolidWorks多實(shí)體”值得深入學(xué)習(xí)!