今天要講的是關(guān)于在solidworks中如何自動(dòng)創(chuàng)建虛擬零件的功能,也就是solidworks中插入新零件這個(gè)功能。
實(shí)現(xiàn)這個(gè)功能需要使用的API如下所示:
InsertNewVirtualPart(swFaceOrPlane1, out swcomp2);
其中這個(gè)方法中使用到了兩個(gè)參數(shù)。
第一個(gè)參數(shù):為一個(gè)平面,或是一個(gè)基準(zhǔn)平面。
第二個(gè)參數(shù):為成功創(chuàng)建這個(gè)虛擬零件以后,返回的Component2類(lèi)型文件。
下面這個(gè)圖片是官方給出的關(guān)于API的解釋?zhuān)?/p>
?
下面展示一段使用這個(gè)方法的代碼:
? Component2 swcomp2 = null;
? int longstatus1 = 0;? ?object swFaceOrPlane1 = null;
?longstatus1 = swAss.InsertNewVirtualPart(swFaceOrPlane1, out swcomp2);
當(dāng)然一般的情況下,這樣使用是沒(méi)有問(wèn)題的,只要設(shè)置了零件的模板。在使用這個(gè)方法的時(shí)候solidworks會(huì)自動(dòng)尋找模板,但是有的時(shí)候會(huì)有一些問(wèn)題,導(dǎo)致你在創(chuàng)建虛擬零件的時(shí)候返回的Component2類(lèi)型文件為空。
下面介紹一下使用時(shí)候的注意事項(xiàng):
1、solidworks的一些配置會(huì)影響你在使用方法的方式,如果你像我一樣在使用上面方法的時(shí)候傳入的第一個(gè)參數(shù)為空,那么必須要做一些配置才能保證返回第二個(gè)參數(shù)不為空。具體設(shè)置為打開(kāi)選項(xiàng),然后找到外部參考,把允許創(chuàng)建模型外部參考勾選上。這樣就沒(méi)有問(wèn)題了。操作如下圖所示:
2、如果你不想這樣設(shè)置,那么你在使用這個(gè)方法的時(shí)候就不能給第一個(gè)參數(shù)為空,需要給一個(gè)平面或者基準(zhǔn)平面。這樣使用也沒(méi)有問(wèn)題。
下面要介紹的是,如果你想自動(dòng)把這個(gè)默認(rèn)配置勾選上,也是可以通過(guò)程序自動(dòng)實(shí)現(xiàn)的。
如下面代碼所示:
? public static void AutomaticSetting(ISldWorks swApp)
? ? ? ? {
? ? ? ? ? ? swApp.SetUserPreferenceToggle(((int)(swUserPreferenceToggle_e.swAllowCreationOfReferencesExternalToModel)), true);
? ? ? ? ? ? swApp.SetUserPreferenceToggle(((int)(swUserPreferenceToggle_e.swReferenceOnlyEnvelopeComponentType)), false);
? ? ? ? ? ? swApp.SetUserPreferenceToggle(((int)(swUserPreferenceToggle_e.swReferenceInContextOfTopLevelAssembly)), false);
? ? ? ? }
如上面所示代碼可以實(shí)現(xiàn)自動(dòng)默認(rèn)配置solidworks。
當(dāng)然這個(gè)位置還有一點(diǎn)需要說(shuō)的,當(dāng)你在使用這兩個(gè)方法的時(shí)候, swApp.SetUserPreferenceToggle(((int)(swUserPreferenceToggle_e.swReferenceOnlyEnvelopeComponentType)), false);
? ? ? ? ? ? swApp.SetUserPreferenceToggle(((int)(swUserPreferenceToggle_e.swReferenceInContextOfTopLevelAssembly)), false);
我給的參數(shù)是false,當(dāng)你給true的時(shí)候。就又是一個(gè)結(jié)果了,這里我就不說(shuō)區(qū)別了。
把這個(gè)驗(yàn)證留給評(píng)論區(qū)的大佬們吧。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-616950.html
本篇文章介紹到此結(jié)束,我們下篇文章再見(jiàn)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-616950.html
到了這里,關(guān)于C# Solidworks二次開(kāi)發(fā):自動(dòng)創(chuàng)建虛擬零件及使用注意事項(xiàng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!