国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C# Solidworks二次開發(fā):Pack And Go相關(guān)API詳解(第二講)

這篇具有很好參考價(jià)值的文章主要介紹了C# Solidworks二次開發(fā):Pack And Go相關(guān)API詳解(第二講)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

大家好,今天要介紹的是和打包相關(guān)的API,之前講過(guò)一篇文章是關(guān)于打包時(shí)候的注意事項(xiàng),這里就不再介紹了,有需要的家人可以訪問(wèn)前一個(gè)文章:

C# Solidworks二次開發(fā):Pack and Go打包時(shí)需要注意的地方,純干貨(可以節(jié)省大量查找資料時(shí)間)-CSDN博客

下面介紹相關(guān)API:

(1)第一個(gè)為AddExternalDocument,這個(gè)API的含義為將非solidworks文件添加到打包或是移動(dòng)中,下面是官方的具體解釋:

C# Solidworks二次開發(fā):Pack And Go相關(guān)API詳解(第二講),Solidworks二次開發(fā),c#,golang,java,開發(fā)語(yǔ)言

其輸入?yún)?shù)值只有一個(gè)為要添加到打包和移動(dòng)的非solidworks文件的路徑和文件名的數(shù)組,返回值為bool類型,成功為true,失敗為false。

下面是官方使用的例子:

This example shows how to add SOLIDWORKS, render reference, and non-SOLIDWORKS files to Pack and Go. This example also shows how to remove a non-SOLIDWORKS file from Pack and Go.

//-------------------------------------------
// Preconditions:
// 1. Verify that the specified assembly exists.
// 2. Create c:\PackAndGo.
// 3. Open the Immediate window.
//
// Postconditions:
// 1. Gets the names of SOLIDWORKS, render reference, and
//??? non-SOLIDWORKS files for Pack and Go.
// 2. Gets the the name of non-SOLIDWORKS file to remove.
// 3. Packs up SOLIDWORKS, render reference, and
//??? non-SOLIDWORKS files and copies them to c:\PackAndGo.
// 4. Examine c:\PackAndGo and the Immediate window.
//-------------------------------------------

using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;

namespace AddExternalDocumentsPackAndGo.csproj
{
????
partial class SolidWorksMacro
????{
????????
public void Main()
????????{
????????????ModelDoc2 swModel =
default(ModelDoc2);
????????????ModelDocExtension swModelDocExt =
default(ModelDocExtension);
????????????PackAndGo swPackAndGo =
default(PackAndGo);
????????????
string openFile = null;
????????????
int namesCount = 0;
????????????
int errors = 0;
????????????
int warnings = 0;
????????????
bool status = false;
????????????
int i = 0;
????????????
object[] renderReferences = null;
????????????
string myPath = null;
????????????
object statuses = null;

????????????
// Open assembly document
????????????openFile = "C:\\Users\\Public\\Documents\\SOLIDWORKS\\SOLIDWORKS 2018\\samples\\tutorial\\EDraw\\claw\\claw-mechanism.sldasm";
????????????swModel = (ModelDoc2)swApp.OpenDoc6(openFile, (
int)swDocumentTypes_e.swDocASSEMBLY, (int)swOpenDocOptions_e.swOpenDocOptions_Silent, "", ref errors, ref warnings);
????????????swModelDocExt = (ModelDocExtension)swModel.Extension;

????????????
// Get Pack and Go object
????????????Debug.Print("Pack and Go");
????????????swPackAndGo = (PackAndGo)swModelDocExt.GetPackAndGo();

????????????
// Get number of documents in assembly
????????????namesCount = swPackAndGo.GetDocumentNamesCount();

????????????
// Get current paths and filenames of the assembly's documents
????????????object fileNames;
????????????
object[] pgFileNames = new object[namesCount - 1];
????????????status = swPackAndGo.GetDocumentNames(
out fileNames);
????????????pgFileNames = (
object[])fileNames;

????????????
Debug.Print("");
????????????
Debug.Print("??Add SOLIDWORKS files' paths and filenames: ");
????????????
if ((pgFileNames != null))
????????????{
????????????????
for (i = 0; i <= pgFileNames.GetUpperBound(0); i++)
????????????????{
????????????????????
Debug.Print("????The path and filename is: " + pgFileNames[i]);
????????????????}
????????????}

????????????
// Set document paths and names for Pack and Go
????????????status = swPackAndGo.SetDocumentSaveToNames(pgFileNames);

????????????
// Get the render stock references in this assembly
????????????// and print them to the Immediate window
????????????Debug.Print(" ");
????????????renderReferences = (
object[])swModelDocExt.GetRenderStockReferences();
????????????
Debug.Print("??Add render references:");
????????????
for (i = 0; i <= renderReferences.GetUpperBound(0); i++)
????????????{
????????????????
Debug.Print("????The path and filename is: " + renderReferences[i]);
????????????}

????????????
// Add render stock files to Pack and Go
????????????status = swPackAndGo.AddExternalDocuments(renderReferences);

????????????
// Add other non-SOLIDWORKS files to Pack and Go
????????????object[] otherFiles = new object[2];
????????????
string otherFile = "C:\\Users\\Public\\Documents\\SOLIDWORKS\\SOLIDWORKS 2018\\samples\\tutorial\\edraw\\claw\\claw-mechanism.easm";
????????????otherFiles[0] = (
object)otherFile;
????????????otherFile =
"C:\\Users\\Public\\Documents\\SOLIDWORKS\\SOLIDWORKS 2018\\samples\\tutorial\\edraw\\claw\\claw-mechanism.emodel_debugonly.xml";
????????????otherFiles[1] = (
object)otherFile;

????????????
Debug.Print(" ");
????????????
Debug.Print("??Add non-SOLIDWORKS files:");
????????????
for (i = 0; i <= otherFiles.GetUpperBound(0); i++)
????????????{
????????????????
Debug.Print("????The path and filename is: " + otherFiles[i]);
????????????}

????????????
// Add non-SOLIDWORKS file to Pack and Go
????????????status = swPackAndGo.AddExternalDocuments(ObjectArrayToBStrWrapperArray(otherFiles));

????????????
// Remove one of the non-SOLIDWORKS files from Pack and Go
????????????object[] delOtherFiles = new object[1];
????????????delOtherFiles[0] = (
object)otherFiles[0];

????????????
Debug.Print(" ");
????????????
Debug.Print("??Remove non-SOLIDWORKS file:");
????????????
Debug.Print("????The path and filename is: " + delOtherFiles[0]);

????????????status = swPackAndGo.RemoveExternalDocuments(ObjectArrayToBStrWrapperArray(delOtherFiles));

????????????
// Override path where to save documents
????????????myPath = "c:\\PackAndGo\\";
????????????status = swPackAndGo.SetSaveToName(
true, myPath);

????????????
// Pack and Go both SOLIDWORKS and non-SOLIDWORKS files
????????????statuses = swModelDocExt.SavePackAndGo(swPackAndGo);
????????}

????????
public BStrWrapper[] ObjectArrayToBStrWrapperArray(object[] SwObjects)
????????{
????????????
int arraySize;
????????????arraySize = SwObjects.GetUpperBound(0);
????????????
BStrWrapper[] dispwrap = new BStrWrapper[arraySize + 1];
????????????
int arrayIndex;

????????????
for (arrayIndex = 0; arrayIndex < arraySize + 1; arrayIndex++)
????????????{
????????????????dispwrap[arrayIndex] =
new BStrWrapper((string)(SwObjects[arrayIndex]));
????????????}

????????????
return dispwrap;

????????}

????????
/// <summary>
????????/// The SldWorks swApp variable is pre-assigned for you.
????????/// </summary>

????????public SldWorks swApp;

????}
}

(2)第二個(gè)為GetDocumentNames,這個(gè)API的含義為獲取打包和移動(dòng)所有文件的名稱,下面是官方的具體解釋:

C# Solidworks二次開發(fā):Pack And Go相關(guān)API詳解(第二講),Solidworks二次開發(fā),c#,golang,java,開發(fā)語(yǔ)言其輸入?yún)?shù)值只有一個(gè)為要添加到打包和移動(dòng)的非solidworks文件的路徑和文件名的數(shù)組,返回值為bool類型,成功為true,失敗為false。和上面的一致。

(3)第三個(gè)為GetDocumentSaveToNames,這個(gè)API的含義為獲取保存模型文檔的路徑和模型名,下面是官方的具體解釋:

C# Solidworks二次開發(fā):Pack And Go相關(guān)API詳解(第二講),Solidworks二次開發(fā),c#,golang,java,開發(fā)語(yǔ)言輸入?yún)?shù)有兩個(gè),分別為:

PathNameList
包含保存模型文檔的路徑和文件名的字符串?dāng)?shù)組(參見(jiàn)備注)
DocumentStatusList
包含swPackAndGoDocumentStatus_e中定義的文檔類型的數(shù)組

其對(duì)應(yīng)的類型有三個(gè):

Member Description
swPackAndGoDocumentStatus_Normal 0 = Normal
swPackAndGoDocumentStatus_UnKnown 2 = Unknown
swPackAndGoDocumentStatus_Virtual 1 = Virtual

本篇文章要介紹的API就是這些,我們下篇文章再見(jiàn)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-854502.html

到了這里,關(guān)于C# Solidworks二次開發(fā):Pack And Go相關(guān)API詳解(第二講)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C# SolidWorks 二次開發(fā) -從零開始創(chuàng)建一個(gè)插件(2)

    C# SolidWorks 二次開發(fā) -從零開始創(chuàng)建一個(gè)插件(2)

    上一篇我詳細(xì)講解了如何創(chuàng)建一個(gè)插件,但是無(wú)界面無(wú)按鈕,這種插件適合配合事件偷偷的在后臺(tái)做點(diǎn)什么事情。今天這篇講一下如何增加一些按鈕到工具欄、菜單上去。 先告訴大家這個(gè)東西注冊(cè)表在哪,因?yàn)閟olidworks在這方面做的不太好,插件你改個(gè)名字,就有多個(gè)工具欄

    2024年02月15日
    瀏覽(30)
  • C# Solidworks二次開發(fā):自動(dòng)創(chuàng)建虛擬零件及使用注意事項(xiàng)

    C# Solidworks二次開發(fā):自動(dòng)創(chuàng)建虛擬零件及使用注意事項(xiàng)

    今天要講的是關(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)平面。 第二

    2024年02月15日
    瀏覽(28)
  • Python SolidWorks 二次開發(fā)---Python如何連接SolidWorks

    Python SolidWorks 二次開發(fā)---Python如何連接SolidWorks

    用Python來(lái)進(jìn)行SolidWorks的二次開發(fā)其實(shí)是有點(diǎn)非主流的,因?yàn)镻ython本身的特性導(dǎo)致程序運(yùn)行的效率會(huì)比VBA等SolidWorks原生支持的二次開發(fā)軟件運(yùn)行效率降低50%以上,用Python僅僅是因?yàn)檎Z(yǔ)法簡(jiǎn)單,實(shí)現(xiàn)起來(lái)快捷,且所開發(fā)的功能僅供個(gè)人提高效率使用。這里記錄一些開發(fā)過(guò)程,如

    2024年02月11日
    瀏覽(28)
  • SOLIDWORKS二次開發(fā)——拓展設(shè)計(jì)能力與定制化解決方案

    SOLIDWORKS二次開發(fā)——拓展設(shè)計(jì)能力與定制化解決方案

    SOLIDWORKS是一款廣泛應(yīng)用于機(jī)械設(shè)計(jì)行業(yè)的三維CAD軟件,它提供了豐富的功能和工具,滿足了企業(yè)的基本設(shè)計(jì)需求。然而,有時(shí)候標(biāo)準(zhǔn)軟件的功能無(wú)法滿足特定的要求,這就需要進(jìn)行二次開發(fā)來(lái)擴(kuò)展SOLIDWORKS的功能,制定定制化的解決方案。 ? 1. 什么是SOLIDWORKS二次開發(fā)? SOLI

    2024年02月07日
    瀏覽(24)
  • 如何利用chatGPT/GPT4高效學(xué)習(xí)Solidworks二次開發(fā)

    如何利用chatGPT/GPT4高效學(xué)習(xí)Solidworks二次開發(fā)

    要不我們來(lái)試試它? 先用這個(gè)試試,據(jù)說(shuō)這個(gè)比較方便,直接是在對(duì)應(yīng)的文件中進(jìn)行對(duì)話。 安裝后,直接在左側(cè)建立一個(gè)你熟悉的后綴格式。我就用main.cs吧 按Ctrl+K和它進(jìn)行對(duì)話。 看看它的結(jié)果: 哇靠,寫的水平可以呀。我假裝看不懂。讓他給我在上面加一些注釋吧。 這時(shí)它

    2024年02月08日
    瀏覽(27)
  • 【Go Web開發(fā)】Web初識(shí)、RESTful架構(gòu)和RESTful API詳解、Gin框架的安裝和簡(jiǎn)單使用

    【Go Web開發(fā)】Web初識(shí)、RESTful架構(gòu)和RESTful API詳解、Gin框架的安裝和簡(jiǎn)單使用

    博主簡(jiǎn)介: 努力學(xué)習(xí)的大一在校計(jì)算機(jī)專業(yè)學(xué)生,熱愛(ài)學(xué)習(xí)和創(chuàng)作。目前在學(xué)習(xí)和分享:數(shù)據(jù)結(jié)構(gòu)、Go,Java等相關(guān)知識(shí)。 博主主頁(yè): @是瑤瑤子啦 所屬專欄: Go語(yǔ)言核心編程 近期目標(biāo): 寫好專欄的每一篇文章 全稱: “萬(wàn)維網(wǎng)”(World Wide Web) 本質(zhì): 系統(tǒng)(基于互聯(lián)網(wǎng)).

    2024年02月03日
    瀏覽(24)
  • 【Elkeid開源版及相關(guān)二次開發(fā)部署】

    【Elkeid開源版及相關(guān)二次開發(fā)部署】

    1、配置目標(biāo)機(jī)器root用戶ssh免密登錄 如果部署機(jī)器為本機(jī),依舊需要配置本機(jī)免密登錄,登錄耗時(shí)需要小于1s。 可用以下命令進(jìn)行驗(yàn)證,兩次date命令的輸出結(jié)果需要相同。 2、解壓release產(chǎn)物并配置目錄 下載release產(chǎn)物(分卷壓縮包),并合并壓縮包 也可以參考從源碼構(gòu)建 E

    2024年02月03日
    瀏覽(104)
  • UG NX二次開發(fā)(C#)-建模-刪除面

    UG NX二次開發(fā)(C#)-建模-刪除面

    ? ? ? ? 在三維建模后,為了仿真的需要,需要對(duì)建好的模型進(jìn)行簡(jiǎn)化處理,這時(shí)候同步建模的功能就非常有必要了。本文主要介紹一個(gè)刪除面的操作,這樣可以去掉孔面、倒圓角面、倒斜角面,以用于模型仿真的完整性。 ???????? 采用UG NX的UIStyler創(chuàng)建一個(gè)測(cè)試界面,如

    2023年04月14日
    瀏覽(32)
  • 【VisionMaster SDK開發(fā)】第三講 C#二次開發(fā)介紹及應(yīng)用案例

    【VisionMaster SDK開發(fā)】第三講 C#二次開發(fā)介紹及應(yīng)用案例

    VisionMaster(后簡(jiǎn)稱VM)作為一款功能強(qiáng)大的工業(yè)圖像算法平臺(tái),可對(duì)工業(yè)中遇到的各種圖像進(jìn)行處理,同時(shí)擁有性能強(qiáng)大的算子以及豐富的教學(xué)例程,作為圖像處理的通用平臺(tái)是非常不錯(cuò)的選擇。但Vision Master軟件依舊有不足,就是難以配置復(fù)雜或定制化的圖形界面,故需要結(jié)

    2024年02月05日
    瀏覽(30)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包