如何利用chatGPT/GPT4高效學習Solidworks二次開發
最近比較火的無疑是ChatGPT/GPT4,它的出現是不是像大家所想的,能夠改變世界。
比如說讓我丟了飯碗

要不我們來試試它?
先用這個試試,據說這個比較方便,直接是在對應的文件中進行對話。
安裝后,直接在左側建立一個你熟悉的后綴格式。我就用main.cs吧
按Ctrl+K和它進行對話。
看看它的結果:
哇靠,寫的水平可以呀。我假裝看不懂。讓他給我在上面加一些注釋吧。
這時它是上下文模式,會在右側提示結果,并提示你是否要接受修改。
我
我就直接復制-替換。
這樣對一個新手來說,是不是比較友好了?
在它提供的信息不出意外的情況下,至少各個邏輯和方法寫的比較清楚了。
我們再來繼續問:
它在下方增加了如下代碼:關鍵是他還主動給你用中文寫好了注釋。
雖然我原來的意圖是中已經打開零件,直接可以讀取。
但是寫的方法是傳的一個文件路徑,主動幫你打開,再讀取屬性,第一眼看起來所寫的代碼問題不大。
public static Dictionary<string, string> GetCustomProperties(string filePath)
{
SldWorks swApp = null;
try
{
// 創建 SolidWorks 應用程序對象
swApp = (SldWorks)Activator.CreateInstance(Type.GetTypeFromProgID("SldWorks.Application"));
// 設置 SolidWorks 應用程序對象可見
swApp.Visible = true;
// 打開文件
ModelDoc2 swModel = (ModelDoc2)swApp.OpenDoc6(filePath, (int)swDocumentTypes_e.swDocPART, (int)swOpenDocOptions_e.swOpenDocOptions_Silent, "", 0, 0);
// 獲取自定義屬性
CustomPropertyManager swCustPropMgr = swModel.Extension.CustomPropertyManager[""];
object[] names = (object[])swCustPropMgr.GetNames();
object[] values = (object[])swCustPropMgr.GetValues(names);
// 將自定義屬性存入字典
Dictionary<string, string> customProperties = new Dictionary<string, string>();
for (int i = 0; i < names.Length; i++)
{
customProperties.Add(names[i].ToString(), values[i].ToString());
}
// 關閉文件
swApp.CloseDoc(filePath);
// 返回自定義屬性字典
return customProperties;
}
catch (Exception ex)
{
// 輸出讀取自定義屬性錯誤信息
Console.WriteLine("讀取自定義屬性出錯: " + ex.Message);
return null;
}
finally
{
// 如果 SolidWorks 應用程序對象不為空,退出應用程序
if (swApp != null)
{
swApp.ExitApp();
}
}
}
我們來實際測試一下。
直接開個vs,并引用一下的兩個庫。
建立 了一個控制臺程序,調用第一個寫的方法。
它會自動創建一個,并顯示了版本。
功能的顯示了版本號。
但不幸的是,第二個功能中出現了不存在方法,我查了api 幫助,根本找不到這個。所以這個可能是它在學習過程中別人寫過的擴展方法。
沒辦法,我們只能自己改進了。
這只是簡單的做,其實中提供了的方法可以直接得到所有的屬性。
調試運行一下,發現讀起來沒有問題,所以效果還算不錯。
就目前的體現來說,整體效果還算不錯,相當于找一個會抄作業的助手 。
反正就是有啥問題就去問,對不對自己再驗證。
這樣對于新手來說,還是比自己去百度或者搜索效率更高。
至于能不能干掉我們的飯碗,應該還是需要一定時間的。
聲明:本站所有文章資源內容,如無特殊說明或標注,均為采集網絡資源。如若本站內容侵犯了原著者的合法權益,可聯系本站刪除。