CATIA VB.net案例——窗口操作
CATIA VB.net案例——窗口操作
CATIA VB案例——窗口操作窗口操作案例窗口操作的案例,在CATIA开发的时候,可能会在测试代码的时候新建很多零件,这时候一个一个关就非常耗时耗力,很烦。所以就要进行一键关闭,如果想保留当前窗口而关闭其他窗口,就要关闭除当前窗口以外的其他窗口;如果开发半天,最终还是没有开发出来,那就干脆一键毫不留情退出,砸了电脑。在vba下初始化catia的相关代码v
CATIA 案例——窗口操作
CATIA VB案例——窗口操作
窗口操作案例
窗口操作的案例,在CATIA开发的时候,可能会在测试代码的时候新建很多零件,这时候一个一个关就非常耗时耗力,很烦。所以就要进行一键关闭,如果想保留当前窗口而关闭其他窗口,就要关闭除当前窗口以外的其他窗口;如果开发半天,最终还是没有开发出来,那就干脆一键毫不留情退出,砸了电脑。
在vba下初始化catia的相关代码
vb环境下报错的解决
在catia下进行窗口的切换,鼠标点击窗口,可以切换到其他窗口
1.页面设计
在vb环境下创建窗口,放置以下个按钮,分别是一键关闭所有窗体,关闭当前以外其他窗体,退出CATIA
2.一键关闭所有窗体
忽略报错,直接关闭所有窗体的方式,使用On Error Resume ext
.关闭当前以外其他的窗体
根据当前窗口的名字进行判断,然后关闭其他窗体
4.退出catia
退出catia,用catia.quit方法
5.完整代码
model
代码语言:java复制Imports MECMOD
Imports PARTITF
Imports HybridShapeTypeLib
Module Module1
Public CATIA As IFITF.Application
Public oPartDoc As PartDocument
Public oPart As Part
Public oBodies As Bodies
Public oBody As Body
Public oHBodies As HybridBodies
Public oHBody As HybridBody
Public oSF As ShapeFactory
Public oHSF As HybridShapeFactory
' ***********************************************************************
' 目的: 初始化CATIA产品文档,并初始化必要的基本变量
'
' 输入: bewProduct: 初始化时是否新建产品文件
' 可选,默认新建文件
' strProduct: 初始化时是否打开已经存在的产品文件
' 可选,默认新建文件
' ***********************************************************************
Sub InitCATIAPart(Optional ByVal bewPart As Boolean = True,
Optional ByVal strPart As String = "")
On Error Resume ext '有错误的话会忽略,继续执行下一句
' 如果打开catia,就获取当前的这个
CATIA = GetObject(, "CATIA.Application")
If Err.umber <> 0 Then
' 如果没有打开catia,则打开新的catia
CATIA = CreateObject("CATIA.Application")
CATIA.Visible = True
End If
If bewPart Then
oPartDoc = CATIA.Documents.Add("Part")
Else
If strPart = "" Then
oPartDoc = CATIA.ActiveDocument
If oPartDoc Is othing Then
Err.Clear()
oPartDoc = CATIA.Documents.Add("Part")
End If
Else
If Dir(strPart) <> "" Then
oPartDoc = CATIA.Documents.Open(strPart)
Else
MsgBox("指定的文件不存在!")
End
End If
End If
End If
On Error GoTo 0
oPartDoc = CATIA.ActiveDocument
oPart = oPartDoc.Part
oBodies = oPart.Bodies
oBody = oBodies.Item(1)
oHBodies = oPart.HybridBodies
oHBody = oHBodies.Add()
oSF = oPart.ShapeFactory
oHSF = oPart.HybridShapeFactory
End Sub
' --------------------------------------------------------------
' 窗口属性设定API声明
' --------------------------------------------------------------
Private Declare Function SetWindowPos Lib "user2" (
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 Ct SWP_OMOVE = &H2
Private Ct SWP_OSIZE = &H1
Private Ct HWD_TOPMOST = -1
Private Ct HWD_OTOPMOST = -2
' ***********************************************************************
' 目的: 设置窗口使其始终在其它窗口上面
'
' 输入: iHwnd: 要设置的窗口句柄
' bOnTop: 设置或取消窗口的置顶属性
' 可选,默认为真
' ***********************************************************************
Sub MakeMeOnTop(iHwnd As Long, Optional bOnTop As Boolean = True)
If bOnTop Then
SetWindowPos(iHwnd, HWD_TOPMOST, 0, 0, 0, 0, SWP_OMOVE + SWP_OSIZE)
Else
SetWindowPos(iHwnd, HWD_OTOPMOST, 0, 0, 0, 0, SWP_OMOVE + SWP_OSIZE)
End If
End Sub
End Module
form
代码语言:java复制Imports MECMOD
Imports HybridShapeTypeLib
Imports IFITF
Public Class Form1
' 窗体初始化的函数
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
On Error Resume ext '有错误的话会忽略,继续执行下一句
' 如果打开catia,就获取当前的这个
CATIA = GetObject(, "CATIA.Application")
If Err.umber <> 0 Then
' 如果没有打开catia,则打开新的catia
CATIA = CreateObject("CATIA.Application")
CATIA.Visible = True
End If
On Error GoTo 0
' 让catia始终在最上层
MakeMeOnTop(Me.Handle, True)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
On Error Resume ext
For i = 1 To 25
CATIA.ActiveDocument.Close()
ext
On Error GoTo 0
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
On Error Resume ext
Dim m As String = CATIA.ActiveDocument.ame
For Each doc In CATIA.Documents
If doc.ame <> m Then
()
End If
ext
On Error GoTo 0
End Sub
Private Sub Button_Click(sender As Object, e As EventArgs) Handles Button.Click
CATIA.Quit()
End Sub
End Class
使用VB.ET与CATIA进行集成和编程,可以遵循以下基本步骤:
设置开发环境:
- 确保已安装CATIA V5或更高版本。
- 在Windows上安装Visual Studio,并选择VB.ET作为编程语言。
添加COM引用:
- 在Visual Studio中创建新的VB.ET项目。
- 通过“项目” > “添加引用” > “COM”选项卡,到并添加CATIA的COM库引用。通常是“CATIA V5 Interfaces”。
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-18 23:15:12
推荐阅读
留言与评论(共有 14 条评论) |
本站网友 做双眼皮手术过程 | 14分钟前 发表 |
e As EventArgs) Handles Button1.Click On Error Resume ext For i = 1 To 25 CATIA.ActiveDocument.Close() ext On Error GoTo 0 End Sub Private Sub Button2_Click(sender As Object | |
本站网友 海蓝 | 2分钟前 发表 |
0 | |
本站网友 sql数据库下载 | 6分钟前 发表 |
e As EventArgs) Handles Me.Load On Error Resume ext '有错误的话会忽略 | |
本站网友 沈阳房产信息 | 3分钟前 发表 |
ByVal cy As Long | |
本站网友 盐田二手房出售 | 13分钟前 发表 |
ByVal cy As Long | |
本站网友 霍氏癣清 | 11分钟前 发表 |
用catia.quit方法5.完整代码model代码语言:java复制Imports MECMOD Imports PARTITF Imports HybridShapeTypeLib Module Module1 Public CATIA As IFITF.Application Public oPartDoc As PartDocument Public oPart As Part Public oBodies As Bodies Public oBody As Body Public oHBodies As HybridBodies Public oHBody As HybridBody Public oSF As ShapeFactory Public oHSF As HybridShapeFactory ' *********************************************************************** ' 目的: 初始化CATIA产品文档 | |
本站网友 在线杀毒网站 | 26分钟前 发表 |
e As EventArgs) Handles Button1.Click On Error Resume ext For i = 1 To 25 CATIA.ActiveDocument.Close() ext On Error GoTo 0 End Sub Private Sub Button2_Click(sender As Object | |
本站网友 偏方治疗打呼噜 | 23分钟前 发表 |
CATIA 案例——窗口操作 CATIA VB案例——窗口操作窗口操作案例窗口操作的案例 | |
本站网友 秦丹 | 13分钟前 发表 |
初始化时是否新建产品文件 ' 可选 | |
本站网友 更年期综合症 | 16分钟前 发表 |
要设置的窗口句柄 ' bOnTop | |
本站网友 红花四物汤 | 21分钟前 发表 |
ByVal hWndInsertAfter As Long | |
本站网友 东直门来福士 | 24分钟前 发表 |
添加COM引用:在Visual Studio中创建新的VB.ET项目 | |
本站网友 上海自来水来自海上 | 28分钟前 发表 |
e As EventArgs) Handles Button1.Click On Error Resume ext For i = 1 To 25 CATIA.ActiveDocument.Close() ext On Error GoTo 0 End Sub Private Sub Button2_Click(sender As Object |