在c#中编辑solidworks 's系统选项

本文关键字:系统 选项 编辑 solidworks | 更新日期: 2023-09-27 18:13:28

我正试图通过我编写的c#程序编辑SolidWork选项菜单中的几个设置。代码如下:

using System;
using System.IO;
using SldWorks;
using SwConst;
static void Main(string[] args)
{
  SldWorks.SldWorks swApp;
  swApp = new SldWorks.SldWorks();
  swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swSingleCommandPerPick, true); /// Single command per pick
  swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swEditMacroAfterRecord, true); /// Automatically edit macro after recording
  swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swUserEnableFreezeBar, true);  /// Enable Freeze bar
  Console.WriteLine("Settings applied");
}

该程序的预期目的是将这三个选项(复选框)切换为true。到目前为止,这根本行不通。即使在我运行程序之后,选项仍然保持不变。是我遗漏了什么还是我的代码错了?

在c#中编辑solidworks 's系统选项

试试这个(例如,鼠标速度):

//视图旋转-鼠标速度bool boolstatus = swApp.SetUserPreferenceIntegerValue((int)swUserPreferenceIntegerValue_e。swViewRotationMouseSpeed, 56);

感谢Solidworks API:http://help.solidworks.com/2012/English/api/sldworksapi/Get_and_Set_User_Preferences_Example_CSharp.htm

在SolidWorks运行时尝试使用以下命令获取COM对象。

Try
{
    SldWorks swApp = (SldWorks)Marshal.GetActiveObject("SldWorks.Application");
    swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swSingleCommandPerPick, true); /// Single command per pick
    swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swEditMacroAfterRecord, true); /// Automatically edit macro after recording
    swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swUserEnableFreezeBar, true);  /// Enable Freeze bar

    Console.WriteLine("Settings applied");
}
catch()
{
    Console.WriteLine("Failed to get SolidWorks");
}