首页 > 编程语言 >C# Solidworks二次开发:宏录制实战讲解(第一讲)

C# Solidworks二次开发:宏录制实战讲解(第一讲)

时间:2024-10-27 11:47:57浏览次数:9  
标签:name C# swDoc Solidworks edge API 二次开发 null boolstatus

大家好,今天要讲的是关于在做Solidworks二次开发的时候,想要实现一些软件中操作的时候,我们最直接的办法就是使用宏录制功能,会将我们想要的API直接录制出来,这样避免了很多我们自己去查询的过程。

下面通过一些录制的例子为大家讲解一下:

(1)首先讲一个使用曲线文件的方式来创建曲线,并且在曲线上面写属性的例子。

 public void Main()
        {           
            ModelDoc2 swDoc = null;
            PartDoc swPart = null;
            DrawingDoc swDrawing = null;
            AssemblyDoc swAssembly = null;
            bool boolstatus = false;
            int longstatus = 0;
            int longwarnings = 0;
            swDoc = ((ModelDoc2)(swApp.ActiveDoc));
            ModelView myModelView = null;
            myModelView = ((ModelView)(swDoc.ActiveView));
            myModelView.FrameState = ((int)(swWindowState_e.swWindowMaximized));
            swDoc.InsertCurveFileBegin();
            boolstatus = swDoc.InsertCurveFilePoint(-0.0125, 0, 0.05);
            boolstatus = swDoc.InsertCurveFilePoint(0.0125, 0, 0.05);
            boolstatus = swDoc.InsertCurveFileEnd();
            boolstatus = swDoc.Extension.SelectByRay(-0.035985011431648672, -0.024841486692693593, 0.14995603843158278, 0.3298745673601709, 0.2260534376636395, -0.91656020704010022, 0.00027374158088592338, 1, false, 0, 0);
            boolstatus = swDoc.SelectedEdgeProperties("例子");
            boolstatus = swDoc.Extension.SelectByRay(-0.033943287640994413, -0.02468728714784163, 0.14999406903422141, 0.3298745673601709, 0.2260534376636395, -0.91656020704010022, 0.00027374158088592338, 1, false, 0, 0);
            boolstatus = swDoc.SelectedEdgeProperties("例1");
            return;
        }

对程序进行一个解读,通过对程序进行分解,其实头部文件是公共的信息,主要有几个API我们要特别进行关注。

第一个为InsertCurveFileBegin(),这个API的意思为开始创建曲线,它和InsertCurveFileEnd()这个API通常是一起应用的,代表开始和结束。

然后创建一个多大的曲线是通过InsertCurveFilePoint()这个API来控制的。

当我们创建一个曲线以后,再使用SelectedEdgeProperties("例子")这个API来为所选中的曲线进行设定属性值。

这个API的官方解释如下所示:

下面是使用备注:

Remarks

If the edge...

Then this method...

Does not have a name

Sets the name.

Has a name

Does not change the name and returns false.

This behavior is intended to prevent a program from renaming an edge that is referenced in some other location.

For example, if an assembly contains a mate to an edge on a part, then a name is automatically assigned to that edge. If you change that name, then there is no guarantee that the mate remains valid. Therefore, when using entity names, you should first check to see if the entity is already named, and if so, use the existing name. If no name exists for the edge, then you can give the edge a name.

这是第一例子。

下面我们再介绍一个例子:

(2)第二个例子讲的是讲零部件进行整屏显示。

 public void Main()
        {       
            ModelDoc2 swDoc = null;
            PartDoc swPart = null;
            DrawingDoc swDrawing = null;
            AssemblyDoc swAssembly = null;
            bool boolstatus = false;
            int longstatus = 0;
            int longwarnings = 0;
            swDoc = ((ModelDoc2)(swApp.ActiveDoc));
            // Zoom To Fit
            swDoc.ViewZoomtofit2();
            return;
        }

这个例子比较简单,需要关注的API为ViewZoomtofit2(),下面官方的具体解释,没什么可多说的。

本篇文章就介绍这么多,我们下篇文章再见。

标签:name,C#,swDoc,Solidworks,edge,API,二次开发,null,boolstatus
From: https://blog.csdn.net/m0_53104033/article/details/143264488

相关文章

  • NSSCTF2024新生赛
    NSSCTF2024新生赛Reverse签到?key加密密文:主加密程序解密脚本:a=[32,39,38,37,44,45,15,34,20,30,33,24,9,223,200,28,231,5,229,226,238,26,230,4,217,201,227,10,245,241,......
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——15.C++11(1)
    1.自动类型推导(auto)C++11引入了auto关键字,可以根据初始值的类型自动推导变量的类型,从而减少了手动声明类型的繁琐。例如:std::vector<int>vec={1,2,3,4};autoit=vec.begin();//自动推导类型为std::vector<int>::iteratorauto的引入使代码更加简洁......
  • 【机器学习】任务九:卷积神经网络(基于 Cifar-10 数据集的彩色图像识别分类、基于 CNN
    1.卷积神经网络        卷积神经网络(ConvolutionalNeuralNetwork,CNN)是一种专门用于处理数据网格结构(如图像、视频等)的深度学习模型,在计算机视觉任务中被广泛应用,如图像分类、目标检测、图像分割等。以下是卷积神经网络的详细介绍:1.1 卷积神经网络(CNN)结构及......
  • 【思维导图】C语言—数据类型和变量
     今天我们来回顾——C语言【数据类型和变量】我们先梳理一下思路:首先学习数据的类型,然后学会用类型去创建变量,接着学习操作符进行变量之间的运算,最后学习scanf输入数据,printf进行数据的打印。回顾的时候最好结合代码的编写,才能更好更直观地理解知识的用法。 我已经把思......
  • CSP-S 2024 游记
    0.感而有言考之前就有股预感,感觉这次要靠爆,果不其然,T4写半天写假了,导致T3的优化那50分都没拿到。距离noip就只有一个月不到的时间了,倘若noip跟今天一样,怕是只能等着退役了吧。首先,以下是我的考试流程,\(10\)分钟切T1,做完T2还剩3个小时,大概撇了一眼T3,50分会了,然后看看T4,想了一......
  • CSP-S 2024 游记
    Day-?初赛在学校考,91。Day0萌新赛前一个星期一直心情很不平,非常期待这次比赛。比赛前一天机房举行了码风评选活动,很别样。晚上回家睡觉。睡前回忆了自己屈指可数的比赛经历,又看看了别人的一些游记。睡得不太好。Day1早上起床嗓子很疼。上午一直在玩,吃完午饭就去了考......
  • Docker常用命令【MacOS版】
    #查看当前dockerdaemon配置信息dockerinfo#查看当前镜像imagesdockerimages#查看当前运行的实例dockerps#docker运行某一个镜像,指定端口和别名dockerrun--namees8-p9200:9200-itelasticsearch:8.8.0dockerrun--name[别名]-p端口:端口-it[镜像......
  • CSP-S2024
    第\(3\)次CSP-S,上午在家里面简单看了一下字符串算法,诸如kmp之类的,然后复习了一下高斯消元,重温edgvctcn夺冠时刻,我的评价是太燃啦,我也想玩出球神那样的世一哨,但是枪法太烂了。中午点了个外卖,睡了下午觉,收拾心情,出发去考场,座位在最角落,靠窗,右边的右边是一位退役的物竞同学,......
  • Llama 越狱探索 Llama-3.1-8B-Instruct去除限制过程
    探索Llama-3.1-8B-Instruct模型的越狱过程,即解除其限制,以实现更为灵活的使用,涉及对模型的行为约束、输入输出过滤器及整体指令的定制化调整。Llama模型家族由Meta研发,通常带有一定的指令集和约束,以确保其安全、可靠地运行,尤其是在指令模型中,这些限制可能会抑制其生成内......
  • C++ -stack、queue
    博客主页:【夜泉_ly】本文专栏:【C++】欢迎点赞......