各位老师好,经常有dgn文件用MS打开时,提示找不到工作空间和工作集
如图所示,。
想请问下各位老师,如何定义一个快捷方式或传递参数,可以强制为dgn文件指定工作空间和工作集(或者无工作空间),让其直接打开文件而不弹出确认对话框呢?
您是想通过手工配置实现还是要通过编程实现?
符老师,如果不能通过编程实现的话,手动配置也可以,手动配置操作容易吗?
编程的话,在C++中有一个未公开的函数可以屏蔽WorkSet的检查,例子代码如下:
extern "C" void mdlSystem_setBatchProcessingState(BatchProcessing_States state, const WChar*); void OpenFileWithoutWorkSetCheck() { mdlSystem_setBatchProcessingState(PROCESSSTATE_Processing, NULL); mdlSystem_newDesignFile(L"C:\\atemp\\G40Model\\123.dgn"); mdlSystem_setBatchProcessingState(PROCESSSTATE_Inactive, NULL); }
符老师,我将上述代码放到AddIn的run方法里,并让dll在MS启动自动加载,然后启动MS,发现MS启动了,但是没有打开模型。
guoguowusheng said:我将上述代码放到AddIn的run方法里
这是一段C++代码,能直接放到Addin中执行吗?
guoguowusheng said:让dll在MS启动自动加载,然后启动MS,发现MS启动了,但是没有打开模型
不能这么用,DLL自动加载时有可能MS还没有做好打开文件的准备工作。你要将该段代码放到一个命令处理函数中去调用。等MS启动后先任意打开一个现有的文件,再去执行这段代码。
或者,采用我后面说的配置方法也能做到打开文件不提问Workset
好的,符老师,按您后面说的额配置方法没有看懂,能麻烦您详细说一下,或者给一个示例吗,万分感谢