C# SolidWorks 二次开发 API---提高草图绘制效率

最近在图书馆借了本《solidworks api二次开发实例详解》 来学习一下。

发现了一个后续开发时需要注意的问题,以前在画草图的时候,我都先用代码设定捕捉模式后再画线,画完之后再恢复设置。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

其实solidworks提供了一个功能:
SketchManager中的AddToDB选项, 这应该类似于之前的所说的程序的CommandInProgress模式。设定之后是直接写入内部数据库
好处是,这样不会有任何捕捉的发生。
需要注意的是使用过后一定要将设置改回来,不然用户无法进一步操作了。
在这里插入图片描述
还需要注意的,在绘制草图之后 ,是否立即显示也是对性能有影响的。

可以在完成之后 使用GraphicesRedraw 或者EditRebuild3 显示草图。 前者比后者快 这里我也没有进行测试,只是api是这样备注的。

在这里插入图片描述

还有一点,有时候大量操作的时候禁用特征树的更新也可以减少solidworks的开销,可以在完成所有操作之后 再启动特征树的刷新。
//swModel.Extension.HideFeatureManager(true);

类似的操作还有EnableBackgroundProcessing ,启用后台模式,这个好像是界面不动,完全在后台,减少显卡的开销。
//swApp.EnableBackgroundProcessing = false;

还可以禁止记录文件路径:
//禁止记录文件路径
swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swLockRecentDocumentsList, true);

猜你喜欢

转载自blog.csdn.net/zengqh0314/article/details/109184522