网站在广告法之前做的,免备案php网站空间,页面设计培训多少钱,离我最近的物流公司此示例展示如何使用Visual C#编写的Add-ins为文件数据卡生成序列号。 注意事项#xff1a;
SOLIDWORKS PDM Professional无法强制重新加载用.NET编写的Add-ins#xff0c;必须重新启动所有客户端计算机#xff0c;以确保使用Add-ins的最新版本。
SOLIDWORKS PDM Professio…此示例展示如何使用Visual C#编写的Add-ins为文件数据卡生成序列号。 注意事项
SOLIDWORKS PDM Professional无法强制重新加载用.NET编写的Add-ins必须重新启动所有客户端计算机以确保使用Add-ins的最新版本。
SOLIDWORKS PDM Professional建议使用内置格式字符串或列表生成序列号。它们提供了比Add-ins生成的序列号或文件序列号更好的性能。仅当内置格式字符串或列表不足时才编写Add-ins以生成序列号。
序列号编码器与其他类型挂钩的区别在于
在IEdmAddIn5:GetAddInInfo方法中注册你的钩子。在IEdmAddIn5:OnCmd方法中编写内容。 启动VS。新建项目选择类库。在“解决方案资源管理器”中右键单击项目名称 然后单击添加引用。 单击 COM 在 左侧面板单击PDMWorks Enterprise 2019 Type Library然后单击添加。 如果需要引入相关的程序集。设置Interop.EdmLib的嵌入互操作类型为False。在“解决方案资源管理器”中右击项目名称然后单击“属性”。 “应用程序程序集信息”。取消勾选“使程序集 COM 可见M”。修改Class1.cs。这里修改类名为MySerial.cs。 添加和创建GUID。修改代码 using System;
using System.Runtime.InteropServices;//添加
using EdmLib;//添加namespace Creating_Serial_Numbers
{[Guid(90C81B4A-560D-4FBF-9F08-E670D4ABB892), ComVisible(true)]public class MySerial:IEdmAddIn5{}
} 实现 IEdmAddIn5::GetAddInInfo 和IEdmAddIn5::OnCmd using System;
using System.Runtime.InteropServices;//添加
using EdmLib;//添加namespace Creating_Serial_Numbers
{[Guid(90C81B4A-560D-4FBF-9F08-E670D4ABB892), ComVisible(true)]public class MySerial:IEdmAddIn5{public void GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr){//Return information about this add-in to the Administrate Add-ins dialog poInfo.mbsAddInName My serial number generator;poInfo.mbsCompany The name of my company;poInfo.mbsDescription Implements serial numbers;poInfo.mlAddInVersion 1;poInfo.mlRequiredVersionMajor 5;poInfo.mlRequiredVersionMinor 2;//Notify that a serial number needs to be generatedpoCmdMgr.AddHook(EdmCmdType.EdmCmd_SerialNo); }public void OnCmd(ref EdmCmd poCmd, ref Array ppoData){//Check the upper and lower bounds of the array int Index ppoData.GetLowerBound(0);//获取数组中指定维度第一个元素的索引。int last ppoData.GetUpperBound(0);//获取数组中指定维度最后一个元素的索引。if (Index last){int cnt;cnt last - Index 1;//ppoData的总数//Create a temporary array to which you have full access//创建一个您可以完全访问的临时阵列EdmCmdData[] tmpArr;tmpArr (EdmCmdData[])ppoData;//Generate serial numbers for all of the affected files //为所选的文件生成序列号String CounterVal;while (Index last){//https://help.solidworks.com/2019/english/api/epdmapi/EPDM.Interop.epdm~EPDM.Interop.epdm.EdmCmdData.html//EdmCmdData Structure Contains command data.//OnCmd的第二个参数是EdmCmdData结构的数组。数组中每个受调用影响的文件都有一个元素。有关成员的完整列表及其说明请参阅EdmCmdDataCounterVal tmpArr[Index].mlLongData1.ToString(); //mlLongData1这里是Serial number counter valueString s;s My serno( CounterVal );tmpArr[Index].mbsStrData1 s;Index;}//Return the updated data ppoData tmpArr;}}}
} 单击“生成”“生成解决方案” 生成Add-in。安装生成的Add-in。 打开PDM 管理工作。登录。在插件中添加新插件。 右键序列号选择新序列号 选择卡- 文件卡 - Text Card选择Title后面的Textbox,在右侧窗口选择序列号我的序列号保存数据卡。 在库中新建text文件。 打包https://download.csdn.net/download/hd51cc/87887157