CATIA二次开发VBA入门(4)——进程外开发环境搭建,vb.net在Visual Studio中开发,创建圆柱曲面的宏录制到二次开发案例

news2024/11/17 23:53:56

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

目录

  • 引出
      • vb.net和vb6.0
    • 进程外开发环境搭建
      • vb.net开发环境搭建
        • 《CATIA二次开发技术基础》模板
      • 添加宏库引用
    • vs开发环境初步
      • vs中的立即窗口
      • 对象浏览器
    • 建立模板
    • 案例:创建一堆圆柱曲面
      • 第一步:录制宏
      • 第二步:代码精简
      • 第三步:for循环改造
      • 第四步:人机交互改造
        • 窗口模态设置
        • 导出窗口fm
      • 第五步:搭建vs的开发环境
        • 窗口布局设置
      • 第六步:改造录制的宏
      • 第七步:进行测试
      • 报错:关于非窗体转换成窗体报错Model1中找不到sub main
  • 总结
  • 认识CATIA二次开发
    • 刘瑞欣 vb程序设计教程
    • Excel中的vba开发
    • catia中的vba开发
  • 宏的录制、回放和编辑
    • 宏代码精简
    • 画圆柱阵列
    • 宏Macro文件的3种类型
      • 宏的保存:文件夹,项目,catia文件
    • 宏加入到工具条中
    • 插曲:工具条的恢复
  • 发生肾么事了??
    • 鼠标中键旋转不了
    • 解决:特征树不显示参数关系
  • 我的窗口去哪了?
    • 插曲:草图工具的调出
    • 插曲:颜色工具栏显示
  • 弹窗警告
    • 警告:创建约束是临时的
  • 操作技巧
    • 技巧:快速隐藏不相关元素
  • 异形弹簧
    • 新建几何体
    • 草图编辑,画一条样条线
    • 进行扫掠,圆心和半径
    • 画出曲面上的螺旋线
    • 再次选择扫掠,圆心和半径

引出

最近在研究catia二次开发,发现网上的资料非常有限,尤其是博客文件比较少,这个系列文章是本人的学习笔记,分享出来,只为抛砖引玉,希望对你有帮助。

CATIA二次开发VBA入门(3)——进程外开发环境搭建,vb.net在Visual Studio中开发,创建圆柱曲面的宏录制到二次开发案例


vb.net和vb6.0

在这里插入图片描述

VB.NET一种简单,现代,面向对象计算机编程语言,有微软开发,VB.NET是一种基于.NET Framework的面向对象编程语言,它是Visual Basic语言的继承者,但是与早期版本的Visual Basic有很大的不同。VB.NET是一种强类型语言,支持类、接口委托、异常处理、LINQ等现代编程特性,可以开发Windows应用程序、Web应用程序、服务和组价。它还支持多线程和异步编程,并且可以与其他的.NET语言(如C#)进行交互。VB.NET是一种易学易用的语言,适合初学者和专业开发人员

特点:

1.面向对象:VB.NET 是一种完全面向对象的语言,支持封装、继承和多态等面向对象的特性。

2.强类型:VB.NET 是一种强类型语言,需要在编译时进行类型检查,避免在运行时出现类型错误。

3.安全性:VB.NET 具有良好的安全性,支持代码访问权限控制、类型安全、内存管理等功能,可以有效地防止程序运行时出现安全问题。

4.可扩展性:VB.NET 可以轻松地扩展和定制,可以使用 COM 组件、.NET 组件和自定义组件等方式扩展应用程序的功能。

5.多平台支持:VB.NET 可以运行在多个操作系统上,包括 Windows、Linux 和 macOS 等。

6.集成开发环境:VB.NET 可以与 Visual Studio 集成使用,提供了丰富的开发工具和调试功能,可以提高开发效率和代码质量。

7.数据库支持:VB.NET 提供了对多种数据库的支持,包括 ADO.NET、OLE DB 和 ODBC 等,可以方便地访问和操作数据库

VB.NET和VB6.两种不同的Visual Basic版本,它们在语言、架构、开发环境、应用场景等方面都有很大的差异。

不同之处
类型语言架构开发环境应用场景编译器文件格式
VB.NET完全面向对象语言支持更多语言:泛型,LINNQ,匿名来类型.NET Framework支持更多.NET Framework特性:Windows Forms,WPF,ASP.NETVisual Studio构建大型的企业级应用用程序.NETVB或VB.ET
VB6.0基于事件语言COM集成开发环境(IDE)小型的应用程序和系统内的维护和升级Microsoft Vissual Basic 6.0.frm、.cls.bas等

进程外开发环境搭建

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

vb.net开发环境搭建

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 新建模块

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

创建了窗口和模块

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

《CATIA二次开发技术基础》模板

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Imports INFITF

Module Module1

    Public CATIA As INFITF.Application

    Public Sub Main()
        On Error Resume Next '有错误的话会忽略,继续执行下一句 
        ' 如果打开catia,就获取当前的这个
        CATIA = GetObject(, "CATIA.Application")
        If Err.Number <> 0 Then
            ' 如果没有打开catia,则打开新的catia
            CATIA = CreateObject("CATIA.Application")
            CATIA.Visible = True
        End If
        On Error GoTo 0
    End Sub

End Module

在这里插入图片描述

添加宏库引用

catia自带的vba开发环境已经引用了很多库

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

需要在vb中引入import

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

vs开发环境初步

vs中的立即窗口

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Imports MECMOD

Module Module1
    Public CATIA As INFITF.Application
    Public oPartDoc As PartDocument
    Sub Main()

        On Error Resume Next '有错误的话会忽略,继续执行下一句 
        ' 如果打开catia,就获取当前的这个

        CATIA = GetObject(, "CATIA.Application")
        If Err.Number <> 0 Then
            ' 如果没有打开catia,则打开新的catia
            CATIA = CreateObject("CATIA.Application")
            CATIA.Visible = True
        End If
        On Error GoTo 0

        oPartDoc = CATIA.ActiveDocument
        MsgBox(oPartDoc.Name)

    End Sub

End Module

对象浏览器

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Imports MECMOD

Module Module1
    Public CATIA As INFITF.Application
    Public oPartDoc As PartDocument
    Public oPart As Part
    Public oBodies As Bodies
    Public oBody As Body
    Sub Main()
        On Error Resume Next '有错误的话会忽略,继续执行下一句 
        ' 如果打开catia,就获取当前的这个

        CATIA = GetObject(, "CATIA.Application")
        If Err.Number <> 0 Then
            ' 如果没有打开catia,则打开新的catia
            CATIA = CreateObject("CATIA.Application")
            CATIA.Visible = True
        End If
        On Error GoTo 0

        oPartDoc = CATIA.ActiveDocument
        'MsgBox(oPartDoc.Name)

        oPart = oPartDoc.Part
        oBodies = oPart.Bodies
        oBody = oBodies.Item(1)
        MsgBox(oBody.Name)
    End Sub

End Module

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

建立模板

可以把设置好库函数的引用的工程文件,作为一个标准的模板,后面直接复制这个标准模板,然后在这上面开发,就不需要每次都要创建各种引用了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

案例:创建一堆圆柱曲面

先创建一个宏库,用于保存接下来要录制的宏程序

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第一步:录制宏

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后,工具,宏,启动录制,新建一个part,草图编辑,然后拉升,获得一个圆柱

编辑录制的宏

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Sub CATMain()

Dim documents1 As Documents
Set documents1 = CATIA.Documents

Dim partDocument1 As PartDocument
Set partDocument1 = documents1.Add("Part")

Dim part1 As Part
Set part1 = partDocument1.Part

Dim bodies1 As Bodies
Set bodies1 = part1.Bodies

Dim body1 As Body
Set body1 = bodies1.Item("零件几何体")

Dim sketches1 As Sketches
Set sketches1 = body1.Sketches

Dim originElements1 As OriginElements
Set originElements1 = part1.OriginElements

Dim reference1 As Reference
Set reference1 = originElements1.PlaneXY

Dim sketch1 As Sketch
Set sketch1 = sketches1.Add(reference1)

Dim arrayOfVariantOfDouble1(8)
arrayOfVariantOfDouble1(0) = 0#
arrayOfVariantOfDouble1(1) = 0#
arrayOfVariantOfDouble1(2) = 0#
arrayOfVariantOfDouble1(3) = 1#
arrayOfVariantOfDouble1(4) = 0#
arrayOfVariantOfDouble1(5) = 0#
arrayOfVariantOfDouble1(6) = 0#
arrayOfVariantOfDouble1(7) = 1#
arrayOfVariantOfDouble1(8) = 0#
Set sketch1Variant = sketch1
sketch1Variant.SetAbsoluteAxisData arrayOfVariantOfDouble1

part1.InWorkObject = sketch1

Dim factory2D1 As Factory2D
Set factory2D1 = sketch1.OpenEdition()

Dim geometricElements1 As GeometricElements
Set geometricElements1 = sketch1.GeometricElements

Dim axis2D1 As Axis2D
Set axis2D1 = geometricElements1.Item("绝对轴")

Dim line2D1 As Line2D
Set line2D1 = axis2D1.GetItem("横向")

line2D1.ReportName = 1

Dim line2D2 As Line2D
Set line2D2 = axis2D1.GetItem("纵向")

line2D2.ReportName = 2

Dim circle2D1 As Circle2D
Set circle2D1 = factory2D1.CreateClosedCircle(0#, 0#, 25#)

circle2D1.ReportName = 3

Dim constraints1 As Constraints
Set constraints1 = sketch1.Constraints

Dim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(circle2D1)

Dim constraint1 As Constraint
Set constraint1 = constraints1.AddMonoEltCst(catCstTypeRadius, reference2)

constraint1.Mode = catCstModeDrivingDimension

Dim length1 As Length
Set length1 = constraint1.Dimension

length1.Value = 25#

sketch1.CloseEdition

part1.InWorkObject = sketch1

part1.UpdateObject sketch1

Dim hybridShapeFactory1 As HybridShapeFactory
Set hybridShapeFactory1 = part1.HybridShapeFactory

Dim hybridShapeDirection1 As HybridShapeDirection
Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirectionByCoord(0#, 0#, 0#)

Dim reference3 As Reference
Set reference3 = part1.CreateReferenceFromObject(sketch1)

Dim hybridShapeExtrude1 As HybridShapeExtrude
Set hybridShapeExtrude1 = hybridShapeFactory1.AddNewExtrude(reference3, 20#, 0#, hybridShapeDirection1)

hybridShapeExtrude1.SymmetricalExtension = 0

body1.InsertHybridShape hybridShapeExtrude1

part1.InWorkObject = hybridShapeExtrude1

part1.Update

End Sub


第二步:代码精简

代码精简

Sub CATMain()


Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Add("Part")
Set part1 = partDocument1.Part
Set bodies1 = part1.Bodies
Set body1 = bodies1.Item("零件几何体")
Set sketches1 = body1.Sketches
Set originElements1 = part1.OriginElements
Set reference1 = originElements1.PlaneXY
Set sketch1 = sketches1.Add(reference1)


Set factory2D1 = sketch1.OpenEdition()
Set circle2D1 = factory2D1.CreateClosedCircle(0#, 0#, 5#)
Set constraints1 = sketch1.Constraints
Set reference2 = part1.CreateReferenceFromObject(circle2D1)
Set constraint1 = constraints1.AddMonoEltCst(catCstTypeRadius, reference2)


Set length1 = constraint1.Dimension
length1.Value = 5#
sketch1.CloseEdition
part1.InWorkObject = sketch1
part1.Update


Set hybridShapeFactory1 = part1.HybridShapeFactory
Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirectionByCoord(0#, 0#, 0#)
Set reference3 = part1.CreateReferenceFromObject(sketch1)
Set hybridShapeExtrude1 = hybridShapeFactory1.AddNewExtrude(reference3, 20#, 0#, hybridShapeDirection1)
'hybridShapeExtrude1.SymmetricalExtension = 0

body1.InsertHybridShape hybridShapeExtrude1
part1.InWorkObject = hybridShapeExtrude1  '需要加上,不然不会自动更新
part1.Update

End Sub

第三步:for循环改造

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

for循环改造

Sub CATMain()


Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Add("Part")
Set part1 = partDocument1.Part
Set bodies1 = part1.Bodies
Set body1 = bodies1.Item("零件几何体")

X = 0
For i = 1 To 5

Set sketches1 = body1.Sketches
Set originElements1 = part1.OriginElements
Set reference1 = originElements1.PlaneXY
Set sketch1 = sketches1.Add(reference1)
Set factory2D1 = sketch1.OpenEdition()

Set circle2D1 = factory2D1.CreateClosedCircle(X, 0#, 5#)

Set constraints1 = sketch1.Constraints
Set reference2 = part1.CreateReferenceFromObject(circle2D1)
Set constraint1 = constraints1.AddMonoEltCst(catCstTypeRadius, reference2)


Set length1 = constraint1.Dimension
length1.Value = 5#
sketch1.CloseEdition
part1.InWorkObject = sketch1
part1.Update


Set hybridShapeFactory1 = part1.HybridShapeFactory
Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirectionByCoord(0#, 0#, 0#)
Set reference3 = part1.CreateReferenceFromObject(sketch1)
Set hybridShapeExtrude1 = hybridShapeFactory1.AddNewExtrude(reference3, 20#, 0#, hybridShapeDirection1)
'hybridShapeExtrude1.SymmetricalExtension = 0

body1.InsertHybridShape hybridShapeExtrude1
part1.InWorkObject = hybridShapeExtrude1  '需要加上,不然不会自动更新
part1.Update

X = X + 20
Next
part1.Update


End Sub

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第四步:人机交互改造

顶部对齐

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在这里插入图片描述

Private Sub CommandButton1_Click()

Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Add("Part")
Set part1 = partDocument1.Part
Set bodies1 = part1.Bodies
Set body1 = bodies1.Item("零件几何体")

X = 0
For i = 1 To TextBox1.Value

Set sketches1 = body1.Sketches
Set originElements1 = part1.OriginElements
Set reference1 = originElements1.PlaneXY
Set sketch1 = sketches1.Add(reference1)
Set factory2D1 = sketch1.OpenEdition()

Set circle2D1 = factory2D1.CreateClosedCircle(X, 0#, 5#)

Set constraints1 = sketch1.Constraints
Set reference2 = part1.CreateReferenceFromObject(circle2D1)
Set constraint1 = constraints1.AddMonoEltCst(catCstTypeRadius, reference2)


Set length1 = constraint1.Dimension
length1.Value = 5#
sketch1.CloseEdition
part1.InWorkObject = sketch1
part1.Update


Set hybridShapeFactory1 = part1.HybridShapeFactory
Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirectionByCoord(0#, 0#, 0#)
Set reference3 = part1.CreateReferenceFromObject(sketch1)
Set hybridShapeExtrude1 = hybridShapeFactory1.AddNewExtrude(reference3, 20#, 0#, hybridShapeDirection1)
'hybridShapeExtrude1.SymmetricalExtension = 0

body1.InsertHybridShape hybridShapeExtrude1
part1.InWorkObject = hybridShapeExtrude1  '需要加上,不然不会自动更新
part1.Update

X = X + TextBox2.Value
Next
part1.Update


End Sub

窗口模态设置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

导出窗口fm

这里本来想导出vba中创建的窗口,然后在vb.net中导入,直接使用,但是两个版本的vb差别较大,并没有成功

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

添加现有项失败,可能是版本的问题,毕竟vb是很老的,我这里用的是vs

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第五步:搭建vs的开发环境

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Imports MECMOD
Imports PARTITF
Imports HybridShapeTypeLib

Module Module1
    Public CATIA As INFITF.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产品文档,并初始化必要的基本变量
    '
    '   输入:      bNewProduct:   初始化时是否新建产品文件
    '                              可选,默认新建文件
    '               strProduct:    初始化时是否打开已经存在的产品文件
    '                              可选,默认新建文件
    ' ***********************************************************************
    Sub InitCATIAPart(Optional ByVal bNewPart As Boolean = True,
                      Optional ByVal strPart As String = "")
        On Error Resume Next '有错误的话会忽略,继续执行下一句 
        ' 如果打开catia,就获取当前的这个

        CATIA = GetObject(, "CATIA.Application")
        If Err.Number <> 0 Then
            ' 如果没有打开catia,则打开新的catia
            CATIA = CreateObject("CATIA.Application")
            CATIA.Visible = True
        End If

        If bNewPart Then
            oPartDoc = CATIA.Documents.Add("Part")
        Else
            If strPart = "" Then
                oPartDoc = CATIA.ActiveDocument
                If oPartDoc Is Nothing 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
End Module

窗口布局设置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第六步:改造录制的宏

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Imports MECMOD
Imports HybridShapeTypeLib
Imports INFITF

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        InitCATIAPart(True) 'true表示新建一个part

        Dim XDis As Integer = 0
        For iCount = 1 To Val(TextBox1.Text)

            Dim sketches1 As Sketches = oBody.Sketches
            Dim originElements1 As OriginElements = oPart.OriginElements
            Dim reference1 As Reference = originElements1.PlaneXY
            Dim sketch1 As Sketch = sketches1.Add(reference1)
            Dim factory2D1 As Factory2D = sketch1.OpenEdition()

            Dim circle2D1 As Circle2D = factory2D1.CreateClosedCircle(XDis, 0#, 5.0#)


            Dim constraints1 As Constraints = sketch1.Constraints
            Dim reference2 As Reference = oPart.CreateReferenceFromObject(circle2D1)
            Dim constraint1 = constraints1.AddMonoEltCst(CatConstraintType.catCstTypeRadius, reference2)


            Dim length1 = constraint1.Dimension
            length1.Value = 5.0#
            sketch1.CloseEdition()
            oPart.InWorkObject = sketch1
            oPart.Update()



            Dim hybridShapeDirection1 As HybridShapeDirection = oHSF.AddNewDirectionByCoord(0#, 0#, 0#)
            Dim reference3 As Reference = oPart.CreateReferenceFromObject(sketch1)
            Dim hybridShapeExtrude1 = oHSF.AddNewExtrude(reference3, 20.0#, 0#, hybridShapeDirection1)
            'hybridShapeExtrude1.SymmetricalExtension = 0

            oBody.InsertHybridShape(hybridShapeExtrude1)
            oPart.InWorkObject = hybridShapeExtrude1  '需要加上,不然不会自动更新
            oPart.Update()

            XDis = XDis + Val(TextBox2.Text)
        Next
        oPart.Update()
    End Sub
End Class

第七步:进行测试

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

报错:关于非窗体转换成窗体报错Model1中找不到sub main

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

启动成功

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

CATIA二次开发VBA入门(3)——进程外开发环境搭建,vb.net在Visual Studio中开发,创建圆柱曲面的宏录制到二次开发案例


其他内容

认识CATIA二次开发

V5 AUTOMATION开发

刘瑞欣 vb程序设计教程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Excel中的vba开发

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

catia中的vba开发

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

宏的录制、回放和编辑

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

宏代码精简

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

录制到项目中,录制成一个模块

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

catia的vba开发环境设置,取消dim的限值,这样就可以不用定义变量,便于简化录制的宏程序

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Sub CATMain()


Set partDocument2 = CATIA.Documents.Add("Part")

Set part2 = partDocument2.Part

Set body1 = part2.Bodies.Item("零件几何体")

Set sketches1 = body1.Sketches

Set originElements1 = part2.OriginElements

Set reference1 = originElements1.PlaneYZ

Set sketch1 = sketches1.Add(reference1)

part2.InWorkObject = sketch1


Set factory2D1 = sketch1.OpenEdition()


Set circle2D1 = factory2D1.CreateClosedCircle(0#, 0#, 20)


sketch1.CloseEdition

part2.InWorkObject = sketch1


Set hybridShapeFactory1 = part2.HybridShapeFactory


Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirectionByCoord(0#, 0#, 0#)


Set reference2 = part2.CreateReferenceFromObject(sketch1)


Set hybridShapeExtrude1 = hybridShapeFactory1.AddNewExtrude(reference2, 60#, 60#, hybridShapeDirection1)

hybridShapeExtrude1.SymmetricalExtension = 0

body1.InsertHybridShape hybridShapeExtrude1

part2.InWorkObject = hybridShapeExtrude1

part2.Update

End Sub

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

画圆柱阵列

Sub CATMain()


Set partDocument2 = CATIA.Documents.Add("Part")

Set part2 = partDocument2.Part

Set body1 = part2.Bodies.Item("零件几何体")

Set sketches1 = body1.Sketches

Set originElements1 = part2.OriginElements

Set reference1 = originElements1.PlaneYZ

Set sketch1 = sketches1.Add(reference1)

part2.InWorkObject = sketch1


Set factory2D1 = sketch1.OpenEdition()
'--------------------------------------------

For i = 0 To 99

Set circle2D1 = factory2D1.CreateClosedCircle(50 * i, 0#, 20)

Next

'--------------------------------------------
sketch1.CloseEdition

part2.InWorkObject = sketch1


Set hybridShapeFactory1 = part2.HybridShapeFactory


Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirectionByCoord(0#, 0#, 0#)


Set reference2 = part2.CreateReferenceFromObject(sketch1)


Set hybridShapeExtrude1 = hybridShapeFactory1.AddNewExtrude(reference2, 60#, 60#, hybridShapeDirection1)

hybridShapeExtrude1.SymmetricalExtension = 0

body1.InsertHybridShape hybridShapeExtrude1

part2.InWorkObject = hybridShapeExtrude1

part2.Update

End Sub


每次画完都自动更新,这样能实时看到caita的变化

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

宏Macro文件的3种类型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

宏的保存:文件夹,项目,catia文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

保存到文件中的两种后缀格式,catiaScript和vbScript,即catia脚本和vb脚本

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

catvba模式的导出

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

宏的默认编辑器设置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

宏加入到工具条中

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

选择catiavba项目作为当前的宏库

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

工具,自定义选项卡

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

可以设置图标

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

按住,拖到工具条中

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方式一:工具条中,点击图标运行,显示弹窗

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

方式二:作为catia脚本,直接双击运行

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

插曲:工具条的恢复

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

发生肾么事了??

鼠标中键旋转不了

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

解决:特征树不显示参数关系

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我的窗口去哪了?

插曲:草图工具的调出

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

插曲:颜色工具栏显示

如果没有看到能更改颜色的工具栏,则点击如下
在这里插入图片描述

弹窗警告

警告:创建约束是临时的

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

操作技巧

技巧:快速隐藏不相关元素

快速隐藏不相关的元素

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


异形弹簧

新建几何体

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

草图编辑,画一条样条线

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进行扫掠,圆心和半径

在这里插入图片描述

画出曲面上的螺旋线

定义直线,选择曲线的角度/法线

在这里插入图片描述

在曲线上创建点

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

支持面选择扫掠面,角度7度,终点设置大一点,选中支持面上的几何图形

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

再次选择扫掠,圆心和半径

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

双击修改,调整一下样条曲线

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1716596.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Aloha机械臂的mujoco仿真问题记录

今天在测试ACT代码时&#xff0c;遇到了仿真中的机械臂无法摆放正确的姿势来抓去红色方块。 后来经过测试&#xff0c;发现应该是python包的版本问题有误&#xff0c;下面记录下正确的包版本&#xff1a; 官方给出的包&#xff1a; conda create -n aloha python3.8.10 conda…

YOLOv8 简介

YOLOv8 是 YOLO 系列的最新版本&#xff0c;在 2023 年由 Ultralytics&#xff08;YOLO 的创造者&#xff09;发布&#xff0c;是性能最佳的目标检测器之一&#xff0c;被视为对现有 YOLO 变体&#xff08;如 YOLO v5 和 YOLOX&#xff09;的改进。 YOLOv8 支持全方位的视觉 A…

【C++】前缀和:一维前缀和

1.题目 2.算法思路 如果暴力求解的话&#xff0c;时间复杂度为O(n*q)。一定会超时。 优化的思路也很简单&#xff0c;就是得到一个求和数组arr&#xff0c;使arr[i]a1a2...ai。 然后每次求l到r之间的数时&#xff0c;直接arr[r]-arr[l-1]就可以得出&#xff01; 这样&#…

贷款借钱平台 小额贷款系统开发小额贷款源码 贷款平台开发搭建

这款是贷款平台源码/卡卡贷源码/小贷源码/完美版 后台51800 密码51800 数据库替换application/database.php程序采用PHPMySQL&#xff0c;thinkphp框架代码开源&#xff0c;不加密后台效果&#xff1a;手机版效果 这款是贷款平台源码/卡卡贷源码/小贷源码/完美版 后台51800 密码…

CEEMDAN +组合预测模型(CNN-Transfromer + XGBoost)

注意&#xff1a;本模型继续加入 组合预测模型全家桶 中&#xff0c;之前购买的同学请及时更新下载! 往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 VMD CEEMDAN 二次分解&#xff0c;Transformer-BiGRU预测模…

coveralls使用pytest进行本地测试时报错SyntaxError: invalid escape sequence \S

## 错误复现&#xff1a; git clone gitgithub.com:TheKevJames/coveralls-python.git cd coveralls-python poetry install poetry run pytest## 错误内容&#xff1a; ## 完整的打印信息 test session starts platform darwin -- Python 3.8.18, pytest-8.2.1, pluggy-1.5.…

【机器学习300问】104、残差网络是怎么起作用的?

残差网络&#xff08;Residual Network&#xff0c;简称ResNet&#xff09;诞生是为了解决深度神经网络的训练困难性问题。深度神经网络在图像分类等任务上取得了重大突破&#xff0c;但随着网络层数的增加&#xff0c;训练变得更加困难。 一、神经网络深度过深会出现…

与AI对话 --如何更好的使用AI工具

文章目录 与AI对话 --如何更好的使用AI工具1、认识AI工具&#xff1a;2、对话原则&#xff1a;3、提问步骤&#xff1a;4、AI可以学习什么&#xff1f;5、提问技巧&#xff1a;1、提出假设性问题:2、&#xff08;鼓励引导式提问&#xff09;跨学科思考:举个例子&#xff1a; 3、…

在Android中解析XML文件并在RecyclerView中显示

1. 引言 最近工作有解析外部xml文件在App中显示的需求&#xff0c;特来写篇文章记录一下&#xff0c;方便下次使用。 2. 准备工作 首先&#xff0c;在项目的AndroidManifest.xml文件中添加读取外部存储的权限声明。 <uses-permission android:name"android.permiss…

社交媒体数据恢复:百度贴吧

一、准备工作 请先确保您已登录百度账号&#xff0c;并熟悉百度贴吧的基本操作。 二、找回被系统删除的帖子 进入“我的”页面&#xff1a;在百度贴吧主页中&#xff0c;点击右下角的“我的”。 进入“我的帖子”页面&#xff1a;在个人中心页面中&#xff0c;点击“我的帖子…

生态农业:引领未来农业新篇章

生态农业&#xff0c;正以其独特的魅力和创新理念&#xff0c;引领着未来农业发展的新篇章。在这个充满变革的时代&#xff0c;我们需要更加关注农业的可持续发展&#xff0c;而生态农业正是实现这一目标的重要途径。 生态农业产业的王总说&#xff1a;生态农业强调生态平衡和可…

图形学初识--空间变换

文章目录 前言正文矩阵和向量相乘二维变换1、缩放2、旋转3、平移4、齐次坐标下总结 三维变换1、缩放2、平移3、旋转绕X轴旋转&#xff1a;绕Z轴旋转&#xff1a;绕Y轴旋转&#xff1a; 结尾&#xff1a;喜欢的小伙伴可以点点关注赞哦 前言 前面章节补充了一下基本的线性代数中…

2、C++简单程序设计:工具、数据类型与运算符

C简单编程 C编程工具程序开发基本概念程序工具VS界面简介项目创建项目调试帮助文档 C数据类型C程序基本结构C符号关键字标识符文字运算符分隔符空白 C数据类型基本数据类型常量变量符号常量 C运算符与表达式算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符C 中的运…

光伏设计有哪些工具可以使用?

在光伏系统的设计过程中&#xff0c;选择合适的工具对于提高设计效率、确保系统性能以及优化成本效益至关重要。以下是一些常用的光伏设计工具&#xff0c;它们在不同的设计阶段发挥着重要作用。 一、专业设计软件 专业设计软件是光伏系统设计的核心工具。这些软件提供了从初…

2024 手机端使用现有网络资源在外网预览海康威视摄像头画面

一、适用场景 1、家有老人行动不便时&#xff0c;远离家乡的你&#xff0c;是否想了解一下老人的现状态&#xff08;如&#xff1a;老人是否摔倒爬不起来、是否遇到救助无人的环境&#xff09;。 2、天气炎热或寒冷的情况下&#xff0c;离出租房较远&#xff0c;身为出租房老板…

BU01板卡引脚

概述 BU01 是一款高速采集卡&#xff0c;主要用于高带宽数据采集及传输&#xff0c;应用领域多为数据中 心及数据采集领域。 端口提供60Gbps 传输带宽&#xff0c;可兼容2 个SFP万兆网口&#xff0c;和1 个40GE QSFP 光 口。和主机通信采用的是PCIE 2.0 x8 模式&#xff0c;最…

2024-5-29 石群电路-17

2024-5-29&#xff0c;星期三&#xff0c;17:26&#xff0c;天气&#xff1a;晴&#xff0c;心情&#xff1a;晴.今天又是阳光明媚的一天&#xff0c;没有什么特别的事情发生&#xff0c;给女朋友做了好吃的&#xff0c;吃了西瓜&#xff0c;加油学习&#xff0c;嘻嘻嘻~~~~ 今…

【CALayer-时钟练习-旋转 Objective-C语言】

一、好,接下来呢,我们要让它旋转出来, 1.让它先旋转起来啊,这根秒针,让它先转着, 把之前的代码复制粘贴一份,改个名字,叫:07-时钟练习(旋转) 旋转的话,我现在应该让它,一秒钟,旋转一次,一秒钟,旋转一次, 那么,这个时候,我们应该怎么样去做, 我现在这个是…

打造云计算时代的仿真软件

2024年5月25日&#xff0c;北京云道智造科技有限公司&#xff08;下称“云道智造”&#xff09;在深圳成功举办了2024新品发布会暨用户大会。来自全国各地的近500位客户和合作伙伴代表齐聚一堂&#xff0c;共同见证了云道智造新产品的隆重发布&#xff0c;交流分享了仿真领域的…

深入理解哈希加密:md5在保护用户数据中的应用

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、md5加密方法简介 二、md5加密方法的实现 示例代码&#xff1a; 三、md5加密方法在实际…