catia二次开发:函数

case

有时候,作决定是基于测试表达式的条件,例如它是否大于,小于,等于或使用一些其它的关系运算符。关键字Is使你能够在Case子句里使用条件表达式。使用关键字Is的SelectCase语句的语法如下:

Select Case myNumber
     Case Is <10
              MsgBox "The number is less than 10"
     Case 11
              MsgBox "You entered eleven."
     Case Is >=100
              MsgBox "The number is greater than or equal to 100."
     Case Else
              MsgBox "The number is between 12 and 99."
End Select

确定Case子句里数值的范围:

Select Case unitsSold
     Case 1 to 100
              Discount = 0.05
     Case Is <= 500
              Discount = 0.1
     Case 501 to 1000
              Discount = 0.15
     Case Is >1000
              Discount = 0.2
End Select

在Case子句里确定多个表达式:

Select Case myMonth
     Case "January", "February", "March"
               Debug.Print myMonth & ": 1st Qtr."
     Case "April", "May", "June"
               Debug.Print myMonth & ": 2nd Qtr."
     Case "July", "August", "September"
               Debug.Print myMonth & ": 3rd Qtr."
     Case "October", "November", "December"
               Debug.Print myMonth & ": 4th Qtr."
End Select

Case子句的多个条件
用来分隔开Case子句里面多个条件的逗号,和用于If语句里的运算符OR意义一样。只要这些条件有一个为真,Case子句就为真。

with

在这里插入图片描述

数组

Sub dd() '数组
Dim arr(2, 1 To 2)
a = 10
b = 8
c = 4
arr1 = Array(1, 2, 3, 4)
arr2 = Array(Array(1, 2), Array(a, "b", c))
End Sub

split拆分,UBound UBound返回数组最大的下标

Sub D()
Dim myarr() As String
myarr = Split("FileName.CATPart", ".") '按.拆分,结果给数组myarr
If UBound(myarr) > 0 Then 'UBound返回数组最大的下标
    GetFileextension = myarr(UBound(myarr))
    MsgBox myarr(0)
End If

arr1 = Array(Array("a", "b"), Array(1, 2, 3))
MsgBox arr1(0)(0) 'a
MsgBox arr1(1)(0) '1

End Sub

CDbl,返回为double类型

Sub aa()
Dim iv As Integer
iv = 5
CHufDblToDbl = CDbl(iv) '返回为double类型,
End Sub

CStr,返回为string类型

Sub aga()
m = CStr(3 / 2) '返回为string类型,结果为1.5
End Sub

Chr 输出ASCII十进制对应的字符

Sub d4d()
m = Chr(44) '输出ASCII十进制对应的字符,此处是逗号,
MsgBox m
End Sub

Date & Space(2) & Time & _Chr(13) & “Happy New Year!” & “I am Wu Song.” '连接符&,换行符空格加下划线,Space(2)是空2格

Private Sub userform_Activate()
Dim s As String
s = Date & Space(2) & Time & _
  Chr(13) & "Happy New Year!" & "I am Wu Song."  '连接符&,换行符空格加下划线,Space(2)是空2格
MsgBox s
End Sub

全路径,该路径下的第一个文件名,只返回文件名,Dir

Sub ddd()
Set odoc = CATIA.ActiveDocument
MsgBox odoc.FullName '全路径
ss = Dir(odoc.FullName) '该路径下的第一个文件名,只返回文件名
End Sub

此盘是否存在,Dir

Sub jk()
MsgBox Dir("D:\", vbDirectory) '指明vbDirectory,所以查找的是该盘下的第一个文件夹,否则是第一个文件
If Dir("D:\", vbDirectory) <> "" Then
MsgBox "此盘存在"
Else
MsgBox "此盘不存在"
End If
End Sub

当前激活的文件名

Function mas() '函数返回当前激活的文件名
mas = CATIA.ActiveDocument.Name
End Function

得不包含扩展名的Part2

Sub nameUsss()
n = InStr(mas, "CATPart") 'Part2.CATPart,1开始数CATPart在第7个字符开始,
name13 = Left(mas, n - 2) '去掉.C,所以是减2,取左边的字符,得不包含扩展名的Part2
MsgBox name13
l = Len(name13) '求字符的长度5
End Sub

取整数部分,不四舍五入

Sub int1()
m = 3.9415
integer1 = Int(m) '取整数部分,3
MsgBox integer1
End Sub

将数组元素,按;链接起来,形成一个字符串

Public Sub changeBackgroundcolor()
Dim CurrentBackgroundColorArrVar(2) As Variant
Set Viewer3D = CATIA.ActiveWindow.ActiveViewer
Viewer3D.GetBackgroundColor CurrentBackgroundColorArrVar
currentBackgroundString = Join(CurrentBackgroundColorArrVar, ";") '将数组元素,按;链接起来,形成一个字符串
End Sub

like

Sub catmain()
mycheck = "B" Like "[A-E]" 'B包含在A到E中,返回布尔型true
MsgBox mycheck
End Sub

文件类型TypeName,LCase是变小写字母,反之是uppercase

Sub d5dd()
rq = TypeName(CATIA.ActiveDocument) '文件类型,此处为PartDocument
mm = LCase(rq) 'LCase是变小写字母,反之是uppercase
End Sub

Mod 取余数

Sub ddr()
m = 5 Mod 2 '取余数,1
MsgBox m
End Sub

if not,or

Sub kjk()
I = 1
'If I <> 0 Then
If Not I = 0 Then '不等于的两种表示
MsgBox "yes"
End If

If j = 0 Or j = 1 Or j = 2 Then '没有对j初始化,默认是0
MsgBox "Yes"
End If

End Sub

Replace替换

Sub aaee()
Dim a As String
a = "ljljgaljge"
m = Replace(a, "j", "1") '将a中的j替换成1.可以用于重命名文件
MsgBox m
End Sub

Round保留小数点后几位,四舍五入

Sub jkj()
I = 3.1415926
n = Round(I, 4) '保留小数点后4位,四舍五入,为3.1416获取到部件的坐标点后,需要保留到第几位,会用到
End Sub

case

Sub j()
I = 5
Select Case I
Case Is = 5 '用Is,而不是用变量I
    my = "aaa"
Case Is > 5
my = "bbbb"
Case Else
  MsgBox "wrong option", vbOKOnly, "warning"
  Exit Sub
  End Select
  
End Sub

延时

Sub mydela7y()
t = Time '具体时间
t = Timer '时间的秒数表示
Do While Timer - t < 5 '5秒内在这个循环里,相当于延时5秒
DoEvents
Loop
MsgBox "是5秒吗"
End Sub

Trim去掉空格

Sub ded()
Dim D
Dim xx
D = "            mys trim   "
xx = Trim(D) '将前后的空格都去掉,中间的空格不会去掉
MsgBox xx
End Sub

type 类型

Type EmployeeRecord 'type 类型的定义,必须在顶部
    ID As Integer
    Name As String * 20
    Address As String * 30
    Phone As Long
    HireDate As Date
End Type
Sub createRecord() 'type类型的使用
Dim myrecord As EmployeeRecord
myrecord.ID = 12345
End Sub

取小数点后几位,功能和Round函数一样

Sub ff() '取小数点后几位,功能和Round函数一样
ddd4 = 125.364
edd = CInt(ddd4 * 10) '1254,取整,四舍五入
ee = CInt(ddd4 * 10) / 10 '125.4
MsgBox (ee)
End Sub
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 学习CATIA二次开发需要掌握以下几个方面的知识: 1.了解CATIA基础知识:包括CATIA架构、CATIA的应用领域、CATIA的主要功能等; 2.学习CATIA的API:CATIA的API可以通过COM、C++等语言进行访问和调用。需要学习CATIA的API库、API函数、数据类型等; 3.掌握CATIA二次开发工具:CATIA V5R21版本之后增加了开发工具箱,包含CATIA二次开发工具的IDE(集成开发环境)、调试器、编译器等; 4.学习CATIA编程语言:CATIA的API可以使用不同的编程语言进行开发,如VBA、C++等; 5.实践练习:通过完成实际的二次开发案例,掌握CATIA二次开发的技巧和方法。 总之,要学习CATIA二次开发需要系统学习计算机编程相关的知识,有一定的编程基础以及CATIA相关的专业知识。建议在学习过程多进行实践,加深对知识的理解和掌握程度。 ### 回答2: 要学习Catia二次开发,我们可以按照以下步骤进行: 1. 学习基础知识:首先,了解Catia软件的基本功能和特点,熟悉其界面和常用的命令操作。同时,了解CATScript、VBA和CATVBA这些常用的Catia二次开发语言。 2. 学习开发语言:选择一种开发语言进行深入学习,如VB.NET、C#等。掌握该语言的语法、面向对象编程等基本概念。 3. 学习Catia二次开发技术:学习如何使用Catia官方提供的开发工具包(SDK)进行二次开发Catia的SDK包括Automation、COM、VB API和.NET API等不同的API,可以根据个人需要选择适合的API进行学习和使用。 4. 实践与项目:通过实际的项目来加深理解和应用所学的知识。可以从简单的功能开始,逐步挑战复杂的功能,如创建自定义工具栏、编写脚本自动化操作等。 5. 学习资源:利用网络上丰富的资源来学习Catia二次开发,如官方文档、论坛、教程等。也可以参加Catia的相关培训课程,或参加开发者社区活动,与其他开发者交流和学习。 6. 持续学习:Catia二次开发是一个不断学习和探索的过程。保持持续的学习和实践,不断提高自己的技术水平,可以通过参与开源项目或是创作自己的项目来锻炼和展示自己的能力。 总之,学习Catia二次开发需要掌握基础知识、开发语言和开发技术,结合实际项目进行实践,并利用各种学习资源和持续学习的态度来提升自己的技术水平。 ### 回答3: 如果想要学习CATIA二次开发,以下是一些建议和步骤: 首先,要了解CATIA的基本知识和理念。CATIA是一款强大的三维机械设计软件,具有丰富的功能和工具。学习CATIA的基础知识可以帮助你更好地理解和应用二次开发技术。 其次,学习VBA编程语言。VBA是CATIA二次开发常用的编程语言,掌握VBA可以让你进行CATIA的自定义编程,实现你所需的特定功能。你可以通过在线教程、培训课程或相关书籍来学习VBA语言。 然后,了解CATIA二次开发接口。CATIA提供了一系列的API(应用程序接口),可以用于二次开发。API可以帮助你在CATIA创建、修改和操作对象,从而实现自定义的功能。你可以阅读CATIA的API文档,学习每个接口的用法和功能。 接着,进行实践和应用。通过实际项目的练习和应用,你可以更加熟悉CATIA二次开发流程和技巧。尝试编写一些简单的小程序,逐渐增加难度和复杂度来提升自己的能力。 此外,积极参与CATIA开发社区。加入相关的论坛、社交媒体群组或交流平台,与其他CATIA开发者分享经验和知识。参与讨论、提问问题,可以获得更多的帮助和指导。 最后,持续学习和改进。CATIA是一个庞大而复杂的软件,二次开发也是一个长期的学习过程。保持学习的态度,持续探索新的功能和技术,不断改进自己的编程能力和技巧。 总之,学习CATIA二次开发需要一定的时间和耐心。通过学习CATIA的基础知识、VBA编程语言和CATIA二次开发接口,进行实践和应用,并积极参与开发社区,你可以逐步提升自己的二次开发能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值