【SW VB二次开发】【API秘籍】OpenDoc6 - 打开文件
K总宅在家
编辑于 2020年03月10日 16:04
收录于文集
共5篇

【功能】

    打开现有文档,并返回指向文档对象的指针。

【示例结构】

   Dim swApp As SldWorks.SldWorks     Dim Part As Object     Dim errors As Long     Dim warnings As Long

   Set Part = swApp.OpenDoc6(FileName, Type, Options, Configuration, Errors, Warnings)

   Set Part = swApp.OpenDoc6(“完整地址+文件名+扩展名”1 or 2 or 3, 0"配置1&#​34;errorswarnings)

【参数】

    1. ByVal FileName as String

          文件完整地址,“完整地址+文件名+扩展名”

    2. ByVal Type as Integer(调用参数swDocumentTypes_e

          选择打开的文件类型。常用值“1”“2”“3”除常用值外,实用中无需过度关注。

        成员    |    代码    |    用途

        swDocNONE    |    0    |    用途不明

        swDocPART    |    1    |    用于打开零件

        swDocASSEMBLY    |    2    |    用于打开装配体

        swDocDRAWING    |    3    |    用于打开工程图

        swDocSDM    |    4   |    用途不明

        swDocLAYOUT    |    5    |    用途不明

        swDocIMPORTED_PART    |    6;Multi-CAD    |    用途不明

        swDocIMPORTED_ASSEMBLY    |    7;Multi-CAD    |    用途不明

    3. ByVal Options as Integer(调用参数swOpenDocOptions_e

           选择打开的方式。常用值“0”除常用值外,实用中无需过度关注。

           成员    |    代码    |    用途

        swOpenDocOptions_AutoMissingConfig    |    已作废,勿用    |    缺失配置时,静默打开最后一次使用的配置

        swOpenDocOptions_DontLoadHiddenComponents    |    256 or 0x100    |    不加载隐藏内容

        swOpenDocOptions_LoadExternalReferencesInMemory    |    512 or 0x200    |    仅在内存中打开外部引用

        swOpenDocOptions_LoadLightweight    |    128 or 0x80 (实测:192)    |    轻化模式打开

        swOpenDocOptions_LoadModel    |    16 or 0x10 (实测:0)      |    常规加载模型

        swOpenDocOptions_OpenDetailingMode    |    1024 or 0x400    |    以详细说明模式打开文档

        swOpenDocOptions_OverrideDefaultLoadLightweight    |    64 or 0x40    |    覆盖默认设置,无论是否以轻化打开

        swOpenDocOptions_RapidDraft    |    8 or 0x8    |    将文档转换为分离格式

        swOpenDocOptions_ReadOnly    |    2 or 0x2    |    以只读方式打开

        swOpenDocOptions_Silent    |    1 or 0x1   |    以静默方式打开(不提示)

        swOpenDocOptions_ViewOnly    |    4 or 0x4    |    大型装配体模式打开

    4. ByVal Configuration as String

        打开文档时使用的配置,“配置名”

        如果这个参数是空值,或者模型中没有指定的配置,则在最后使用的配置中打开模型


【以下参数为扩展内容,实用中无需过度关注,见蓝字

     5. ByRef Errors as Integer(调用参数swFileLoadError_e

        错误报告

        Dim errors As Long         代入“errors”即可

        成员    |    代码    |    用途

        swAddinInteruptError    |    1048576 or 0x100000    |    用户试图打开一个文件,中断当前打开文件例程以打开另一个文件

        swApplicationBusy    |    8388608 or 0x800000    |    软件正忙

        swBasePartNotLoadedWarn    |    已作废,详见swFileLoadWarning_e    |    出现警告是因为该文档是在未加载的另一个现有文档的上下文中定义的

        swDrawingANSIUpdateWarn    |    已作废,详见swFileLoadWarning_e    |    当尺寸文本位于圆弧或圆之外时,由于径向尺寸箭头现在显示在外面,因此会出现警告

        swDrawingSFSymbolConvertWarn    |    已作废,详见swFileLoadWarning_e    |    出现警告,询问用户是否要将此绘图的表面处理符号转换为ANSI Y14.36M-1996和ISO 1302-1978中指定的尺寸

        swDrawingsOnlyRapidDraftWarn    |    已作废,详见swFileLoadWarning_e    |    警告会出现,因为惟一可能发生的RapidDraft格式转换是未分离的绘图文档

        swFileAlreadyOpenWarn    |    已作废,详见swFileLoadWarning_e    |    将出现警告,因为文档已经打开

        swFileCriticalDataRepairError    |    4194304 or 0x400000    |    文档有关键的数据损坏

        swFileNotFoundError    |    2 or 0x2    |    无法找到文件;文件没有被加载,或者引用的文件(即组件)被抑制

        swFileRequiresRepairError    |    2097152 or 0x200000    |    文档具有非关键的自定义属性数据损坏

        swFileWithSameTitleAlreadyOpen    |    65536 or 0x10000    |    具有相同名称的文档已经打开

        swFutureVersion    |    8192 or 0x2000    |    该文档曾使用SOLIDWORKS的未来版本保存

        swGenericError    |    1 or 0x1    |    遇到了另一个错误

        swIdMatchError    |    已作废,详见swFileLoadWarning_e    |    如果文档的内部ID与保存在引用文档中的内部ID不匹配,将出现警告

        swInvalidFileTypeError    |    1024 or 0x400    |    文件类型参数无效

        swLiquidMachineDoc    |    131072 or 0x20000    |    文件使用Liquid Machine加密

        swLowResourcesError    |    262144 or 0x40000    |    系统内存不足

        swNeedsRegenWarn    |    已作废,详见swFileLoadWarning_e    |    将出现警告,因为需要重新生成文档

        swNoDisplayData    |    524288 or 0x80000    |    文件不包含显示数据

        swReadOnlyWarn    |    已作废,详见swFileLoadWarning_e    |    因为文档是只读的,所以会出现警告

        swSharingViolationWarn    |    已作废,详见swFileLoadWarning_e    |    如果文档正在被其他用户使用,则出现警告

        swSheetScaleUpdateWarn    |    已作废,详见swFileLoadWarning_e    |    出现警告是因为SOLIDWORKS正在将工程图的比例尺应用于工程图上的示意图实体;这意味着工作表看起来是一样的,但是尺寸值被缩放了

        swViewMissingReferencedConfig    |    已作废,详见swFileLoadWarning_e    |    警告出现是因为绘图视图引用的配置在模型(零件或装配体)中不再存在;使用活动配置

        swViewOnlyRestrictions    |    已作废,详见swFileLoadWarning_e    |    出现警告是因为该文档仅为视图,并且设置了默认配置之外的配置

    6. ByRef Warnings as Integer

        警告

        Dim warnings As Long         代入warnings即可

        成员    |    代码    |    用途

        swFileLoadWarning_AlreadyOpen    |    128 or 0x80    |    文件已打开

        swFileLoadWarning_AutomaticRepair    |    262144 or 0x40000    |    警告显示文档中的非关键数据已被自动修复

        swFileLoadWarning_BasePartNotLoaded    |    64 or 0x40    |    出现警告是因为该文档是在未加载的另一个现有文档的上下文中定义的。

        swFileLoadWarning_ComponentMissingReferencedConfig    |    32768 or 0x8000    |    如果以静默方式打开文档并指定swOpenDocOptions_AutoMissingConfig,则会出现警告。

        swFileLoadWarning_CriticalDataRepair    |    524288 or 0x80000    |    警告显示文档中的关键数据已被自动修复。

        swFileLoadWarning_DimensionsReferencedIncorrectlyToModels    |    16384 or 0x4000    |    出现警告,因为某些尺寸不正确地引用了模型;这些尺寸在图中以红色高亮显示。

        swFileLoadWarning_DrawingANSIUpdate    |    8 or 0x8    |    当尺寸文本位于圆弧或圆之外时,由于径向尺寸箭头现在显示在外面,因此会出现警告。

        swFileLoadWarning_DrawingSFSymbolConvert    |    2048 or 0x800    |    警告出现,询问用户是否要将此绘图的表面处理符号转换为ANSI Y14.36M-1996和ISO 1302-1978中指定的尺寸。

        swFileLoadWarning_DrawingsOnlyRapidDraft    |    256 or 0x100    |    警告会出现,因为唯一可能发生的RapidDraft格式转换是未分离的绘图文档。

        swFileLoadWarning_IdMismatch    |    1 or 0x1    |    如果文档的内部ID与保存在引用文档中的内部ID不匹配,将出现警告。

        swFileLoadWarning_InvisibleDoc_LinkedDesignTableUpdateFail    |    65536 or 0x10000    |    发出警告,因为有人试图打开一个不可见的文档,该文档包含一个被外部修改的链接设计表,并且由于文档无法显示,设计表无法更新;必须使文档可见才能打开它并更新设计表。

        swFileLoadWarning_MissingDesignTable    |    131072 or 0x20000    |    出现警告是因为缺少设计表。

        swFileLoadWarning_ModelOutOfDate    |    8192 or 0x2000    |    出现警告是因为一些工作表包含的绘图视图与其外部模型已经过时。

        swFileLoadWarning_NeedsRegen    |    32 or 0x20    |    将出现警告,因为需要重新生成文档。

        swFileLoadWarning_ReadOnly    |    2 or 0x2    |    因为文档是只读的,所以会出现警告。

        swFileLoadWarning_RevolveDimTolerance    |    4096 or 0x1000    |    警告会出现,因为旋转的特征尺寸的一些公差是在SOLIDWORKS 99或更早的版本中创建的,并且与草图中相应的尺寸不同步。

        swFileLoadWarning_SharingViolation    |    4 or 0x4    |    如果文档正在被其他用户使用,则会出现警告。

        swFileLoadWarning_SheetScaleUpdate    |    16 or 0x10    |    出现警告是因为SOLIDWORKS现在将工作表的比例应用于工作表上的示意图实体;这意味着工作表看起来是一样的,但是维度值被缩放了。

        swFileLoadWarning_ViewMissingReferencedConfig    |    1024 or 0x400    |    警告出现是因为绘图视图引用的配置在模型(部件或组件)中不再存在;使用活动配置。

        swFileLoadWarning_ViewOnlyRestrictions    |    512 or 0x200    |    出现警告是因为该文档仅为视图,并且设置了默认配置之外的配置。