⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 standard_module.bas

📁 本程序能实现机械臂在CATIA下的运动学仿真
💻 BAS
字号:
Attribute VB_Name = "Standard_Module"
Option Explicit
' ***********************************************************************
'   目的:       标准功能模块
'   作者:        Huting <tianshuen@gmail.com>
'   编程语言:    VB
'   语言:        中文
'   CATIA Level: V5R17
' ***********************************************************************

' --------------------------------------------------------------
' 窗口属性设定API声明
' --------------------------------------------------------------
Private Declare Function SetWindowPos Lib "user32" ( _
                                ByVal hwnd As Long, _
                                ByVal hWndInsertAfter As Long, _
                                ByVal X As Long, ByVal Y As Long, _
                                ByVal cx As Long, ByVal cy As Long, _
                                ByVal wFlags As Long) As Long
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2

' --------------------------------------------------------------
' 基本变量定义
' --------------------------------------------------------------
Public CATIA As INFITF.Application
Public oRootProduct  'As Product
Public ArmMech 'As Mechanism
Public cTheMeasure


' ***********************************************************************
'   目的:      初始化CATIA产品文档,并初始化必要的基本变量
'
'   输入:      bNewProduct:   初始化时是否新建产品文件
'                              可选,默认新建文件
'               strProduct:    初始化时是否打开已经存在的产品文件
'                              可选,默认新建文件
' ***********************************************************************
Sub InitCATIA()

'    On Error Resume Next
    Set CATIA = GetObject(, "CATIA.Application")
    
    Set oRootProduct = CATIA.ActiveDocument.Product
    If oRootProduct Is Nothing Then
        MsgBox "文件未打开!", vbCritical
        End
    End If
    
    
    Dim cTheMechanisms As Mechanisms
    Set cTheMechanisms = oRootProduct.GetTechnologicalObject("Mechanisms")
    
    Set cTheMeasure = oRootProduct.Parameters
    
    Set ArmMech = cTheMechanisms.Item("Arm")
    
    If ArmMech Is Nothing Then
        MsgBox "请打开正确的文件!", vbCritical
        End
    End If
    
    On Error GoTo 0

End Sub

' ***********************************************************************
'   目的:      设置窗口使其始终在其它窗口上面
'
'   输入:      iHwnd:    要设置的窗口句柄
'               bOnTop:   设置或取消窗口的置顶属性
'                         可选,默认为真
' ***********************************************************************
Sub MakeMeOnTop(iHwnd As Long, Optional bOnTop As Boolean = True)
    
    If bOnTop Then
        SetWindowPos iHwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
    Else
        SetWindowPos iHwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
    End If

End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -