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

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

目录

  • 引出
      • 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 INFITFModule Module1Public CATIA As INFITF.ApplicationPublic Sub Main()On Error Resume Next '有错误的话会忽略,继续执行下一句 ' 如果打开catia,就获取当前的这个CATIA = GetObject(, "CATIA.Application")If Err.Number <> 0 Then' 如果没有打开catia,则打开新的catiaCATIA = CreateObject("CATIA.Application")CATIA.Visible = TrueEnd IfOn Error GoTo 0End SubEnd Module

在这里插入图片描述

添加宏库引用

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

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

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

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

需要在vb中引入import

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

vs开发环境初步

vs中的立即窗口

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

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

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

Imports MECMODModule Module1Public CATIA As INFITF.ApplicationPublic oPartDoc As PartDocumentSub Main()On Error Resume Next '有错误的话会忽略,继续执行下一句 ' 如果打开catia,就获取当前的这个CATIA = GetObject(, "CATIA.Application")If Err.Number <> 0 Then' 如果没有打开catia,则打开新的catiaCATIA = CreateObject("CATIA.Application")CATIA.Visible = TrueEnd IfOn Error GoTo 0oPartDoc = CATIA.ActiveDocumentMsgBox(oPartDoc.Name)End SubEnd Module

对象浏览器

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

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

Imports MECMODModule Module1Public CATIA As INFITF.ApplicationPublic oPartDoc As PartDocumentPublic oPart As PartPublic oBodies As BodiesPublic oBody As BodySub Main()On Error Resume Next '有错误的话会忽略,继续执行下一句 ' 如果打开catia,就获取当前的这个CATIA = GetObject(, "CATIA.Application")If Err.Number <> 0 Then' 如果没有打开catia,则打开新的catiaCATIA = CreateObject("CATIA.Application")CATIA.Visible = TrueEnd IfOn Error GoTo 0oPartDoc = CATIA.ActiveDocument'MsgBox(oPartDoc.Name)oPart = oPartDoc.PartoBodies = oPart.BodiesoBody = oBodies.Item(1)MsgBox(oBody.Name)End SubEnd Module

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

建立模板

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

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

案例:创建一堆圆柱曲面

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

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

第一步:录制宏

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

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

编辑录制的宏

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

Sub CATMain()Dim documents1 As Documents
Set documents1 = CATIA.DocumentsDim partDocument1 As PartDocument
Set partDocument1 = documents1.Add("Part")Dim part1 As Part
Set part1 = partDocument1.PartDim bodies1 As Bodies
Set bodies1 = part1.BodiesDim body1 As Body
Set body1 = bodies1.Item("零件几何体")Dim sketches1 As Sketches
Set sketches1 = body1.SketchesDim originElements1 As OriginElements
Set originElements1 = part1.OriginElementsDim reference1 As Reference
Set reference1 = originElements1.PlaneXYDim 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 arrayOfVariantOfDouble1part1.InWorkObject = sketch1Dim factory2D1 As Factory2D
Set factory2D1 = sketch1.OpenEdition()Dim geometricElements1 As GeometricElements
Set geometricElements1 = sketch1.GeometricElementsDim axis2D1 As Axis2D
Set axis2D1 = geometricElements1.Item("绝对轴")Dim line2D1 As Line2D
Set line2D1 = axis2D1.GetItem("横向")line2D1.ReportName = 1Dim line2D2 As Line2D
Set line2D2 = axis2D1.GetItem("纵向")line2D2.ReportName = 2Dim circle2D1 As Circle2D
Set circle2D1 = factory2D1.CreateClosedCircle(0#, 0#, 25#)circle2D1.ReportName = 3Dim constraints1 As Constraints
Set constraints1 = sketch1.ConstraintsDim reference2 As Reference
Set reference2 = part1.CreateReferenceFromObject(circle2D1)Dim constraint1 As Constraint
Set constraint1 = constraints1.AddMonoEltCst(catCstTypeRadius, reference2)constraint1.Mode = catCstModeDrivingDimensionDim length1 As Length
Set length1 = constraint1.Dimensionlength1.Value = 25#sketch1.CloseEditionpart1.InWorkObject = sketch1part1.UpdateObject sketch1Dim hybridShapeFactory1 As HybridShapeFactory
Set hybridShapeFactory1 = part1.HybridShapeFactoryDim 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 = 0body1.InsertHybridShape hybridShapeExtrude1part1.InWorkObject = hybridShapeExtrude1part1.UpdateEnd 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.UpdateSet 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 = 0body1.InsertHybridShape hybridShapeExtrude1
part1.InWorkObject = hybridShapeExtrude1  '需要加上,不然不会自动更新
part1.UpdateEnd 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 5Set 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.UpdateSet 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 = 0body1.InsertHybridShape hybridShapeExtrude1
part1.InWorkObject = hybridShapeExtrude1  '需要加上,不然不会自动更新
part1.UpdateX = X + 20
Next
part1.UpdateEnd 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.ValueSet 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.UpdateSet 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 = 0body1.InsertHybridShape hybridShapeExtrude1
part1.InWorkObject = hybridShapeExtrude1  '需要加上,不然不会自动更新
part1.UpdateX = X + TextBox2.Value
Next
part1.UpdateEnd Sub
窗口模态设置

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

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

导出窗口fm

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

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

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

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

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

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

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

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

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

Imports MECMOD
Imports PARTITF
Imports HybridShapeTypeLibModule Module1Public CATIA As INFITF.ApplicationPublic oPartDoc As PartDocumentPublic oPart As PartPublic oBodies As BodiesPublic oBody As BodyPublic oHBodies As HybridBodiesPublic oHBody As HybridBodyPublic oSF As ShapeFactoryPublic 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,则打开新的catiaCATIA = CreateObject("CATIA.Application")CATIA.Visible = TrueEnd IfIf bNewPart ThenoPartDoc = CATIA.Documents.Add("Part")ElseIf strPart = "" ThenoPartDoc = CATIA.ActiveDocumentIf oPartDoc Is Nothing ThenErr.Clear()oPartDoc = CATIA.Documents.Add("Part")End IfElseIf Dir(strPart) <> "" ThenoPartDoc = CATIA.Documents.Open(strPart)ElseMsgBox("指定的文件不存在!")EndEnd IfEnd IfEnd IfOn Error GoTo 0oPartDoc = CATIA.ActiveDocumentoPart = oPartDoc.PartoBodies = oPart.BodiesoBody = oBodies.Item(1)oHBodies = oPart.HybridBodiesoHBody = oHBodies.Add()oSF = oPart.ShapeFactoryoHSF = oPart.HybridShapeFactoryEnd Sub
End Module
窗口布局设置

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

第六步:改造录制的宏

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

Imports MECMOD
Imports HybridShapeTypeLib
Imports INFITFPublic Class Form1Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.ClickInitCATIAPart(True) 'true表示新建一个partDim XDis As Integer = 0For iCount = 1 To Val(TextBox1.Text)Dim sketches1 As Sketches = oBody.SketchesDim originElements1 As OriginElements = oPart.OriginElementsDim reference1 As Reference = originElements1.PlaneXYDim 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.ConstraintsDim reference2 As Reference = oPart.CreateReferenceFromObject(circle2D1)Dim constraint1 = constraints1.AddMonoEltCst(CatConstraintType.catCstTypeRadius, reference2)Dim length1 = constraint1.Dimensionlength1.Value = 5.0#sketch1.CloseEdition()oPart.InWorkObject = sketch1oPart.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 = 0oBody.InsertHybridShape(hybridShapeExtrude1)oPart.InWorkObject = hybridShapeExtrude1  '需要加上,不然不会自动更新oPart.Update()XDis = XDis + Val(TextBox2.Text)NextoPart.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.PartSet body1 = part2.Bodies.Item("零件几何体")Set sketches1 = body1.SketchesSet originElements1 = part2.OriginElementsSet reference1 = originElements1.PlaneYZSet sketch1 = sketches1.Add(reference1)part2.InWorkObject = sketch1Set factory2D1 = sketch1.OpenEdition()Set circle2D1 = factory2D1.CreateClosedCircle(0#, 0#, 20)sketch1.CloseEditionpart2.InWorkObject = sketch1Set hybridShapeFactory1 = part2.HybridShapeFactorySet hybridShapeDirection1 = hybridShapeFactory1.AddNewDirectionByCoord(0#, 0#, 0#)Set reference2 = part2.CreateReferenceFromObject(sketch1)Set hybridShapeExtrude1 = hybridShapeFactory1.AddNewExtrude(reference2, 60#, 60#, hybridShapeDirection1)hybridShapeExtrude1.SymmetricalExtension = 0body1.InsertHybridShape hybridShapeExtrude1part2.InWorkObject = hybridShapeExtrude1part2.UpdateEnd Sub

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

画圆柱阵列

Sub CATMain()Set partDocument2 = CATIA.Documents.Add("Part")Set part2 = partDocument2.PartSet body1 = part2.Bodies.Item("零件几何体")Set sketches1 = body1.SketchesSet originElements1 = part2.OriginElementsSet reference1 = originElements1.PlaneYZSet sketch1 = sketches1.Add(reference1)part2.InWorkObject = sketch1Set factory2D1 = sketch1.OpenEdition()
'--------------------------------------------For i = 0 To 99Set circle2D1 = factory2D1.CreateClosedCircle(50 * i, 0#, 20)Next'--------------------------------------------
sketch1.CloseEditionpart2.InWorkObject = sketch1Set hybridShapeFactory1 = part2.HybridShapeFactorySet hybridShapeDirection1 = hybridShapeFactory1.AddNewDirectionByCoord(0#, 0#, 0#)Set reference2 = part2.CreateReferenceFromObject(sketch1)Set hybridShapeExtrude1 = hybridShapeFactory1.AddNewExtrude(reference2, 60#, 60#, hybridShapeDirection1)hybridShapeExtrude1.SymmetricalExtension = 0body1.InsertHybridShape hybridShapeExtrude1part2.InWorkObject = hybridShapeExtrude1part2.UpdateEnd Sub

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

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

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

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

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

宏Macro文件的3种类型

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

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

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

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

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

catvba模式的导出

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

宏的默认编辑器设置

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

宏加入到工具条中

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

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

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

工具,自定义选项卡

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

可以设置图标

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

按住,拖到工具条中

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

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

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

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

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

插曲:工具条的恢复

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

发生肾么事了??

鼠标中键旋转不了

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

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

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

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

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

我的窗口去哪了?

插曲:草图工具的调出

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

插曲:颜色工具栏显示

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

弹窗警告

警告:创建约束是临时的

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

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

操作技巧

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

快速隐藏不相关的元素

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


异形弹簧

新建几何体

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

草图编辑,画一条样条线

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

进行扫掠,圆心和半径

在这里插入图片描述

画出曲面上的螺旋线

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

在这里插入图片描述

在曲线上创建点

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

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

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

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IsoBench:多模态基础模型性能的基准测试与优化

随着多模态基础模型的快速发展&#xff0c;如何准确评估这些模型在不同输入模态下的性能成为了一个重要课题。本文提出了IsoBench&#xff0c;一个基准数据集&#xff0c;旨在通过提供多种同构&#xff08;isomorphic&#xff09;表示形式的问题&#xff0c;来测试和评估多模态…

[数据集][目标检测]老鼠检测数据集VOC+YOLO格式4107张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;4107 标注数量(xml文件个数)&#xff1a;4107 标注数量(txt文件个数)&#xff1a;4107 标注…

数据结构-堆(带图)详解

前言 本篇博客我们来仔细说一下二叉树顺序存储的堆的结构&#xff0c;我们来看看堆到底如何实现&#xff0c;以及所谓的堆排序到底是什么 &#x1f493; 个人主页&#xff1a;普通young man-CSDN博客 ⏩ 文章专栏&#xff1a;数据结构_普通young man的博客-CSDN博客 若有问题 评…

小熊家务帮day8-day9 客户管理模块2 (用户定位,地址簿,实名认证,银行卡信息上传等功能)

客户管理模块 0.用户定位功能0.1 需求0.2 接口分析0.3 接口开发Controller层开发Service层开发 1.我的地址簿功能1.1 需求1.2 数据库设计1.3 新增地址簿1.3.1 接口设计1.3.2 接口开发Controller层开发Service层开发测试功能 1.4 地址簿查询1.4.1 接口设计1.4.2 接口开发Control…

五分钟“手撕”栈

实现代码放开头&#xff0c;供大家学习与查阅 目录 一、实现代码 二、什么是栈 三、栈的常见操作 底层实现是链表。 入栈 出栈 四、Stack的使用 五、栈的习题 第一题 第二题 第三题 第四题 第五题 第六题 第七题 六、栈、虚拟机栈、栈帧的区别 目录 一、…

Linux学习笔记(清晰且清爽)

本文首次发布于个人博客 想要获得最佳的阅读体验&#xff08;无广告且清爽&#xff09;&#xff0c;请访问本篇笔记 Linux安装 关于安装这里就不过多介绍了&#xff0c;安装版本是CentOS 7&#xff0c;详情安装步骤见下述博客在VMware中安装CentOS7&#xff08;超详细的图文教…

他人项目二次开发——慎接

接了一个朋友的项目——开发及运营迭代差不多2年多了&#xff0c;整体样子移动端和PC都能正常使用&#xff0c;但后期的扩展性及新功能添加出现瓶颈。 因此给了一部分钱&#xff0c;让我接手来开发——重构架构。 背景说明 朋友公司的技术人员是我帮忙招聘的&#xff0c;相关技…

【设计模式深度剖析】【B】【结构型】【对比】| 主要区别包装的不同

&#x1f448;️上一篇:享元模式 回 顾&#xff1a;结构型设计模式 1.代理模式&#x1f448;️ 2.装饰器模式&#x1f448;️ 3.适配器模式&#x1f448;️ 4.组合模式&#x1f448;️ 5.桥接模式&#x1f448;️ 6.外观模式&#x1f448;️ 7.享元模式&#x…

【EFK日志系统】docker一键部署kibana、es-head

docker一键部署kibana、es-head kibana部署es-head部署 上一篇文章搭建了es集群 规划服务器是 es01:172.23.165.185 es02:172.23.165.186 es03:172.23.165.187 那么kibana就搭建在主节点es01:172.23.165.185 按照顺序参考&#xff1a; docker一键部署EFK系统&#xff08;elas…

洗地机什么牌子好?洗地机前十名排行榜

现代吸拖扫一体洗地机不仅高效&#xff0c;还具有智能化设计&#xff0c;使清洁变得轻松。它强大的吸尘功能能够轻松应对灰尘和碎屑&#xff0c;不论是硬质地面还是地毯&#xff0c;都能提供理想的清洁效果。配合拖地功能&#xff0c;通过内置水箱和智能拖布&#xff0c;能彻底…

代码随想录-Day25

216.组合总和III 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回。 示例 1: 输入: k 3, n 7 输…

C语言 | Leetcode C语言题解之第120题三角形最小路径和

题目&#xff1a; 题解&#xff1a; int minimumTotal(int** triangle, int triangleSize, int* triangleColSize) {int f[triangleSize];memset(f, 0, sizeof(f));f[0] triangle[0][0];for (int i 1; i < triangleSize; i) {f[i] f[i - 1] triangle[i][i];for (int j …

Redis数据类型(上篇)

前提&#xff1a;&#xff08;key代表键&#xff09; Redis常用的命令 命令作用keys *查看当前库所有的keyexists key判断某个key是否存在type key查看key是什么类型del key 删除指定的keyunlink key非阻塞删除&#xff0c;仅仅将keys从keyspace元数据中删除&#xff0c;真正的…

如何获取SSL证书,消除网站不安全警告

获取SSL证书通常涉及以下几个步骤&#xff1a; 选择证书颁发机构&#xff08;CA&#xff09;&#xff1a; 你需要从受信任的SSL证书颁发机构中选择一个&#xff0c;比如DigiCert、GlobalSign、JoySSL等。部分云服务商如阿里云、腾讯云也提供免费或付费的SSL证书服务。 生成证…

电子烟开发【恒压、恒有效算法】

恒压算法 pwm是通过软件模拟的 pwm满值运行是250全占空比 #define D_TARGET_AVERAGE_VOLTAGE 3500 //R_ADC1_Vout &#xff1a;发热丝两端AD值 //R_ADC_FVR &#xff1a;电池电压AD值 //FVR_VOLTAGE &#xff1a;电池AD参考电压 满电值AD //R_Smk1Duty &#xff1a;最后…

uniapp创建支付密码实现(初始密码,第二次密码)

示例&#xff1a; 插件地址&#xff1a;自定义数字/身份证/密码输入框&#xff0c;键盘密码框可分离使 - DCloud 插件市场 1.下载插件并导入HBuilderX&#xff0c;找到文件夹&#xff0c;copy number-keyboard.vue一份为number-keyboard2.vue&#xff08;number-keyboard.vue是…

详细介绍运算符重载函数,清晰明了

祝各位六一快乐~ 前言 1.为什么要进行运算符重载&#xff1f; C中预定义的运算符的操作对象只能是基本数据类型。但实际上&#xff0c;对于许多用户自定义类型&#xff08;例如类&#xff09;&#xff0c;也需要类似的运算操作。这时就必须在C中重新定义这些运算符&#xff…

Centos 7 安装刻录至硬件服务器

前言 在日常测试中&#xff0c;会遇到很多安装的场景&#xff0c;今天给大家讲一下centos 7 的安装&#xff0c;希望对大家有所帮助。 一.下载镜像 地址如下&#xff1a; centos官方镜像下载地址https://www.centos.org/download/ 按照需求依次点击下载 二.镜像刻录 镜像刻…

C++语言·list链表(下)

还是之前说的&#xff0c;因为要写模板&#xff0c;为了避免链接出现问题&#xff0c;我们将所有内容都写到一个文件中去。首先就是画出链表的框架 链表本身只需要一个头节点就足以找到整条链表&#xff0c;而需要它拼接的节点我们再写一个模板。而我们知道list是一个带头双向循…

微信小程序对接发货功能

注&#xff1a;微信小程序对接发货功能 文档地址&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/order-shipping/order-shipping.html php代码 common.php use think\Config; use think\Db; use fast\Http; us…