SolidWorks DocumentManager LicenseKey

SolidWorks DocumentManager LicenseKey

Solidworks DocumentManager API是高级一点的开发功能,是需要有正版的Solidworks授权,在官网获取相应的key才能进行开发的,并且是向下兼容,高版本需要重新申请。可以在不安装Solidworks的情况下读取零件的配置,已经零件一些信息。或者通过Edrawing进行预览模型,从而实行无纸化。

建议使用盗版的用户不进行此方面的研究,以防被追责。

但是请大家注意,Solidworks自带的SOLIDWORKS Explorer 是可以读取零件的信息的,所以大家可以从这里下手,可以获取到Key。

正确的key类似这样:

ComputerName:swdocmgr_general-1****************************

还有个办法就是去寻找别人软件中的Key。

如果大家还有问题,可以留言给我。

我的代码中放了一个2018版的key,如果有需要请去下载。请合理使用。

posted @
2019-09-19 16:23 
painezeng  阅读(
289)  评论(
0
编辑 
收藏 
举报

C# SolidWorks 二次开发 API —《入门教程》完结

C# SolidWorks 二次开发 API —《入门教程》完结

目前计划就按这个思路进行博客的发布,如果大家看到此有什么想法或者开发遇到什么问题,可以留言给我,大家一起探讨.

也可以加QQ群90216591 (请备注 csdn ) 共同研究。

源代码下载:

https://gitee.com/painezeng/CSharpAndSolidWorks

https://github.com/painezeng/CSharpAndSolidWorks

当前入门系列已经全部完成,希望对新朋友有些帮助。

                         

           

SolidWorks API
	API
		连接Solidworks
		打开和创建新零件
		读取零件属性
		修改零件
		遍历零件特征
		遍历装配体
		遍历工程图视图与球标
		装配新零件
		导出x_t/dwg
		插入库特征
		选择过滤
		清空草图的几何关系
		选择命名的实体/面
		遍历草图中的对象
		给文件增加第三方属性
		显示提示信息
		高级选择
		包围框生成(包括装配体方案)
		测量与获取结果
		获取质量属性
		Add-in的建立
		自动注册插件与更新方案
		Pane创建页面(预览BOM)
		给零件加上材质
		给选定面增加颜色
		打断连接关系
		替换零件 
		PMP新特征
		显示拖拽
		MacroFeature的生成
		等待用户选择后继续操作
		打包文件Pack and Go
		插入块 和 属性块
		工程图中获取模型
		给已有特征增加几何关系
	实例
		创建草图中心点
		自增Note插入
		球标位置自动优化
		批量导出实体,生成新装配体。
		随机上色
		屏幕1:1显示实物

 

posted @
2019-09-19 16:05 
painezeng  阅读(
362)  评论(
0
编辑 
收藏 
举报

C# SolidWorks 二次开发 API —遍历装配体

C# SolidWorks 二次开发 API —遍历装配体

C#中遍历装配体,可以获取子零件中的属性。

具体可参考API帮助中的:Get Transforms of Assembly Components Example (VBA)

下面是C#中的代码:

 注意:  具体获取的数据要做什么处理这里没有实现

        /// <summary>
        /// 遍历装配体零件
        /// </summary>
        /// <param name="swComp"></param>
        /// <param name="nLevel"></param>
        public static void TraverseCompXform(Component2 swComp, long nLevel)
        {
            object[] vChild;
            Component2 swChildComp;
            string sPadStr = "";
            MathTransform swCompXform;
            //  object vXform;
            long i;

            for (i = 0; i < nLevel; i++)
            {
                sPadStr = sPadStr + "  ";
            }
            swCompXform = swComp.Transform2;
            if (swCompXform != null)
            {
                ModelDoc2 swModel;
                swModel = (ModelDoc2)swComp.GetModelDoc2();

                try
                {
                    //子零件文件名
                    //Debug.Print(sPadStr + swComp.Name2);

                    if (swComp.GetSelectByIDString() == "")
                    {
                        //选择id
                        //Debug.Print(swComp.GetSelectByIDString());
                    }
                    else
                    {
                    }
                }
                catch
                {
                }
                if (swModel != null)
                {
                    Debug.Print("Loading:" + swComp.Name2);
                    //获取零件的一些信息,如属性,名字路径。
                    string tempPartNum = swModel.get_CustomInfo2(swComp.ReferencedConfiguration, "PartNum");
                    string tempName2 = swComp.Name2;
                    string tempName = swModel.GetPathName();
                    string tempConfigName = swComp.ReferencedConfiguration;
                    string tempComponentRef = swComp.ComponentReference;
                }
            }
            else
            {
                ModelDoc2 swModel;
                swModel = (ModelDoc2)swComp.GetModelDoc2();
            }

            vChild = (object[])swComp.GetChildren();
            for (i = 0; i <= (vChild.Length - 1); i++)
            {
                swChildComp = (Component2)vChild[i];
                TraverseCompXform(swChildComp, nLevel + 1);
            }
        }
  

 

posted @
2019-09-19 15:42 
painezeng  阅读(
276)  评论(
0
编辑 
收藏 
举报

C# SolidWorks 二次开发 API —遍历零件特征

C# SolidWorks 二次开发 API —遍历零件特征

下面是如何遍历零件特征:

 private void Btn_Traverse_Feature_Click(object sender, EventArgs e)
        {
            ISldWorks swApp = Utility.ConnectToSolidWorks();

            if (swApp != null)
            {
                ModelDoc2 swModel = (ModelDoc2)swApp.ActiveDoc;

                //第一个特征
                Feature swFeat = (Feature)swModel.FirstFeature();

                //遍历
                Utility.TraverseFeatures(swFeat, true);
            }
        }



//Utility.cs

        /// <summary>
        /// 遍历特征
        /// </summary>
        /// <param name="thisFeat"></param>
        /// <param name="isTopLevel"></param>
        public static void TraverseFeatures(Feature thisFeat, bool isTopLevel)
        {
            Feature curFeat = default(Feature);
            curFeat = thisFeat;

            while ((curFeat != null))
            {
                //输出特征名称
                Debug.Print(curFeat.Name);

                Feature subfeat = default(Feature);
                subfeat = (Feature)curFeat.GetFirstSubFeature();

                while ((subfeat != null))
                {
                    TraverseFeatures(subfeat, false);
                    Feature nextSubFeat = default(Feature);
                    nextSubFeat = (Feature)subfeat.GetNextSubFeature();
                    subfeat = nextSubFeat;
                    nextSubFeat = null;
                }

                subfeat = null;

                Feature nextFeat = default(Feature);

                if (isTopLevel)
                {
                    nextFeat = (Feature)curFeat.GetNextFeature();
                }
                else
                {
                    nextFeat = null;
                }

                curFeat = nextFeat;
                nextFeat = null;
            }
        }

 

posted @
2019-09-16 16:53 
painezeng  阅读(
166)  评论(
0
编辑 
收藏 
举报

VBA SolidWorks 二次开发 API —从宏开始

VBA SolidWorks 二次开发 API —从宏开始

Macro是可以用来录制一些操作的工具,然后你可以看到具体内部执行的一些代码。通过这些代码,我们可以更快更直接的找到所需要查询的API函数。我们以最简单的做一个拉伸特征开始,看如何找到对应的API

1.显示Macro工具条:

2. 点击工具条上的录制按钮,然后手动进行零件的新建,选择一个基准面,画一个圆,拉伸特征。然后点击工具条的停止按钮,指定保存路径以及文件名。 最后点击编辑宏,选择刚刚保存的文件。

3.那么我们就可以看到刚才录制操作代码了:

4. 在不太熟悉的情况下,可以在VBA的界面上,进入到Main代码之后,按F8,进行逐步调试,看哪一步是我们想了解的操作。

5.在我们知道 FeatureExtrusion2 这一步是创建拉伸特征之后 ,我们就可以去API帮助里面查询对应的API了。 

进去之后 ,注意要找到最新的,有很多旧的API已经被弃用了。

这个才是最新的:

然后查询结果中还有一些示例(后面以Example(VBA C# VB.net)的),可以进一步进行深入学习。

对于一些宏操作无法录制出来的命令,只能通过API帮助去找对应的信息了。

建议把solidworks设计为英文界面,这个有助于在帮助中查找到对应的信息。

 

 

posted @
2019-09-16 14:34 
painezeng  阅读(
287)  评论(
0
编辑 
收藏 
举报

C# SolidWorks 二次开发 API —修改零件

C# SolidWorks 二次开发 API —修改零件

如何修改当前零件:

这一次示例包含了:增加配置,增加特征, 压缩特征,修改尺寸,删除特征

直接上代码:

 private void Btn_ChangeDim_Click(object sender, EventArgs e)
        {
            //请先打开零件: ..\TemplateModel\clamp1.sldprt
            ISldWorks swApp = Utility.ConnectToSolidWorks();

            if (swApp != null)
            {
                //1.增加配置
                ModelDoc2 swModel = (ModelDoc2)swApp.ActiveDoc;
                string NewConfigName = "NewConfig";
                bool boolstatus = swModel.AddConfiguration2(NewConfigName, "", "", true, false, false, true, 256);

                swModel.ShowConfiguration2(NewConfigName);

                //2.增加特征(选择一条边,加圆角)
                boolstatus = swModel.Extension.SelectByID2("", "EDGE", 3.75842546947069E-03, 3.66350829162911E-02, 1.23295158888936E-03, false, 1, null, 0);

                Feature feature = swModel.FeatureManager.FeatureFillet3(195, 0.000508, 0.01, 0, 0, 0, 0, null, null, null, null, null, null, null);

                //3.压缩特征

                feature.Select(false);

                swModel.EditSuppress();

                //4.修改尺寸
                swModel.Parameter("D1@Fillet8").SystemValue = 0.000254; //0.001英寸

                swModel.EditRebuild3();

                //5.删除特征

                feature.Select(false);
                swModel.EditDelete();
            }
        }

完整代码见:https://gitee.com/painezeng/CSharpAndSolidWorks

posted @
2019-09-12 16:21 
painezeng  阅读(
195)  评论(
0
编辑 
收藏 
举报