簡體   English   中英

SolidWorks CAM api

[英]SolidWorks CAM api

我想創建一個插件,可以自動化我們在 SolidWorks CAM 2021 中的一些工作流程。根據這個幫助頁面,可以訪問其他插件的 API: https://help.solidworks.com/2018/English /api/sldworksapiprogguide/Overview/Accessing_Add-ins.htm

但是,我不確定在 SolidWorks CAM 插件上使用 GetAddInObject 后該怎么做。 這家伙似乎有VB的解決方案,但沒有提供實際的實現。

這是我到目前為止的代碼:

dynamic SWCAMObject = default(dynamic);
dynamic SWCAM = default(dynamic);

SWCAMObject = iSwApp.GetAddInObject("{CCAC6208-0E19-6455-2017-2021CEB541FA}");
if (SWCAMObject == null) ErrorMsg(iSwApp, "SWCAMObject object not found");
Debug.WriteLine($"SWCAMObject loaded: {SWCAMObject}");

SWCAM = SWCAMObject.CAMWORKSADDINLib;    <---- Breaks here, not at all sure how to extract the addin interface.
if (SWCAM == null) ErrorMsg(iSwApp, "SWCAM object not found");
Debug.WriteLine($"SWCAM loaded: {SWCAM}");

有誰知道如何正確提取 Solidworks CAM 界面?

這里也有人問過問題: https://forum.solidworks.com/thread/246718

--- 更新 --- 按照 Sinues 的建議,我無法添加他所指的 dll:我收到以下錯誤。 “...無法添加,請確保文件可訪問。並且它是有效的程序集或 COM 組件:”但是我添加了 COM 參考。 SOLIDWORKS CAM 2021 類型庫 CAMWorksAddin 1.0 類型庫 這似乎有效

我正在運行的最終代碼是:

CAMWORKSADDINLib.MWAddin addinObject = iSwApp.GetAddInObject(@"{CCAC6208-0E19-6455-2017-2021CEB541FA}");  
if (addinObject == null) ErrorMsg(iSwApp, "SWCAMObject object not found");  
Debug.WriteLine($"SWCAMObject loaded: {addinObject}");  

CAMWORKSLib.CWApp cwApp = addinObject.GetCWApp();  
if (cwApp == null) ErrorMsg(iSwApp, "SWCAM object not found");  
Debug.WriteLine($"SWCAM loaded: {cwApp}");  

Debug.WriteLine(cwApp.GetVersion());  

首先,您必須添加對以下 DLL 文件的引用才能訪問智能感知:

  • C:\Program Files\SOLIDWORKS 2021\SOLIDWORKS CAM\camworksu.dll
  • C:\Program Files\SOLIDWORKS 2021\SOLIDWORKS CAM\cwapiu.dll

然后,您可以獲得插件 object,但作為特定的 object(MWAddin):

CAMWORKSADDINLib.MWAddin addinObject = swApp.GetAddInObject(@"{CCAC6208-0E19-6455-2017-2021CEB541FA}");

並訪問接口API(cwapiu.dll):

CAMWORKSLib.CWApp cwApp = addinObject.GetCWApp();

從這里您將使用CAMWORKSLib庫的cwApp object 和 object 類型

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM