上一期中为大家介绍了使用VisualStudio软件制作机器人焊点数据导出的应用软件,本期再来为大家介绍一下机器人焊点小球生成工具软件的制作方法。CATIA软件版本:CATIA V5R21。VisualStudio软件版本:VisualStudio Ultimate 。一、项目创建与CATIA AutimationAPI类库引用参考上一期中《CATIA软件二次开发:焊点数据导出工具应用程序编写》章节的相关内容在VisualStudioUltimate 软件中创建“Windows窗口应用程序”模板项目,项目名称为焊点小球生成工具。项目创建完成后为项目添加CATIA Autimation API类库引用。二、窗体布置与属性设置1.设置Form1窗体属性。
Form1窗体属性
属性
设置参数值
说明
FormBorderStyle
FixedSingle
设置窗体的边框样式为固定单边框。
MaximizeBox
False
设置在窗体的标题栏中不显示 “最大化”按钮。
MinimizeBox
False
设置在窗体的标题栏中不显示 “最小化”按钮。
Text
焊点小球生成工具
设置窗体标题为“焊点小球生成工具”。
2.在Form1窗体中添加两个Label控件、1个TextBox控件、1个Button控件,添加完成后分别设置控件属性。
Label1控件属性
属性
设置参数值
说明
(Name)
RadiusLabel
设置控件的名称为RadiusLabel。
Text
小球半径:
设置控件显示内容为“小球半径:”。
Label2控件属性
(Name)
RadiusUnitLabel
设置控件的名称为RadiusUnitLabel。
Text
mm
设置控件显示内容为“mm”。
TextBox控件属性
(Name)
SphereRadiusTextBox
设置控件的名称为SphereRadiusTextBox。
Text
3
设置控件显示内容为“3”。
TextAlign
Center
设置控件中文本的对齐方式为中心对齐。
Button控件属性
(Name)
CmdCreateSpehre
设置控件的名称为CmdCreateSpehre。
Text
生成
设置控件显示内容为“生成”。
3.控件属性设置完成,拖动Form1窗体至合适大小,并将各个控件进行合理摆放。
三、VBA代码编写1.参考上一期中《CATIA软件二次开发:焊点数据导出工具应用程序编写》章节的相关内容,在 Form1窗体代码编辑区中添加CATIAAPI类库引用代码。2.为Form1窗口的Load事件添加CATIA软件控制判断代码。
3.为“生成”按钮的Click事件编写焊点小球批量自动生成代码。
完整程序代码如下所示。
"添加CATIA API引用
Imports SURFACEMACHINING
Imports CATStrSettingsTypeLib
Imports StrTypeLib
Imports SPATypeLib
Imports SMTypeLib
Imports SimulationTypeLib
Imports SIM
Imports CATRsc2
Imports ProductStructureTypeLib
Imports PRISMATICMACHINING
Imports PPR
Imports PCBITF
Imports PARTITF
Imports OSMInterfacesTypeLib
Imports NavigatorTypeLib
Imports MECMOD
Imports MANUFACTURING
Imports KnowledgewareTypeLib
Imports KinTypeLib
Imports INFITF
Imports HybridShapeTypeLib
Imports GenKwe
Imports FittingTypeLib
Imports ElectricalTypeLib
Imports ElecSchematicTypeLib
Imports DRAFTINGITF
Imports LAYOUT2DITF
Imports DNBSimulation
Imports DNBSimIO
Imports DNBSimAct
Imports DNBRobot
Imports DNBIgpResourceProgram
Imports DNBReporting
Imports DNBMHIItf
Imports DNBManufacturingLayoutItf
Imports DNBIgripSim
Imports DNBIgpTagPath
Imports SWKHumanModelingItf
Imports DNBPert
Imports DNBFastener
Imports DNBDpmItf
Imports DNBBIW
Imports DNBDevice
Imports DNBDeviceActivity
Imports DNBD5I
Imports DNBASY
Imports PROCESSITF
Imports ComponentsCatalogsTypeLib
Imports AnnotationTypeLib
Imports CATTooling
Imports CATStk
Imports CATSmInterfacesTypeLib
Imports CATSmarTeamInteg
Imports SHEITF
Imports CATSdeSetting
Imports CATSchematicTypeLib
Imports CATRsc
Imports CATRma
Imports CATRpmReporterTypeLib
Imports CATRdg
Imports CATPspPlantShipTypeLib
Imports CATOBM
Imports CATMultiCAD
Imports CATMat
Imports DNBIPD
Imports CATInstantCollabItf
Imports CATImm
Imports CATIdeSettings
Imports CATV4IInteropTypeLib
Imports CATHumanPackaging
Imports CATFunctSystem
Imports CATEdbTypeLib
Imports CATDrmRmsSettings
Imports CATDataExch
Imports BehaviorTypeLib
Imports CATAssemblyTypeLib
Imports CATArrangementTypeLib
Imports SAMITF
Imports CAT3DXml
Imports CATCompositesMat
Imports AECRTypeLib
Public Class Form1
"声明CATIA COM对象
Dim CATIA As Object
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Try
"获取CATIA COM 对象
CATIA = GetObject(, "CATIA.Application")
Catch ex As Exception
"未打开CATI时提示打开CATIA软件
MsgBox("请先启动CATIA软件。")
End
End Try
End Sub
Private Sub CmdCreateSpehre_Click(sender As System.Object, e As System.EventArgs) Handles CmdCreateSpehre.Click
"获取当前激活的文件
Dim partDocument1 As PartDocument
Try
partDocument1 = CATIA.ActiveDocument
Catch ex As Exception
"未打开零件文件提示
MsgBox("请先打开一个包含焊点信息的零件(*.Part)文件。")
End
End Try
"获取零件文档顶层对象<根文件>
Dim part1 As Part
part1 = partDocument1.Part
"获取零件中的几何图形集集合
Dim hybridBodies1 As HybridBodies
hybridBodies1 = part1.HybridBodies
"添加几何图形集并进行命名
Dim hybridBody1 As HybridBody
hybridBody1 = hybridBodies1.Add()
hybridBody1.Name = "Joints info, add at " & Now
"更新视图
part1.Update()
"获取几何图形集集合中的第一个几何图形集
Dim hybridBody2 As HybridBody
hybridBody2 = hybridBodies1.Item(1)
"定义混合曲面工厂
Dim hybridShapeFactory1 As HybridShapeFactory
hybridShapeFactory1 = part1.HybridShapeFactory
"获取输入的小球半径
Dim iRadius As Double
iRadius = Val(SphereRadiusTextBox.Text)
"遍历第一个几何图形集中的点信息并创建小球
Dim iPoint As Reference "定义小球中心点参考
For Each iPoint In hybridBody2.HybridShapes "遍历第一个几何图形集中的点信息
Dim hybridShapeSphere1 As HybridShapeSphere "定义球体
hybridShapeSphere1 = hybridShapeFactory1.AddNewSphere(iPoint, Nothing, iRadius, -45.0, 45.0, 0.0, 180.0) "创建小球
hybridShapeSphere1.Limitation = 1 "设置球面限制(0:角度,1:整球)
hybridBody1.AppendHybridShape(hybridShapeSphere1) "把创建的小球放置到指定几何图形集下
hybridShapeSphere1.Name = iPoint.Name & "_Joint" "小球命名规则
part1.InWorkObject = hybridShapeSphere1 "定义当前工作对象,执行时此行代码可有可无
Next
part1.Update()
End Sub
End Class
四、运行测试1.启动CATIA软件,并打开一个含有焊点信息的零件文件。
2.点击“启动调试”工具按钮,稍等片刻自动弹出焊点小球生成工具对话框,输入小球半径值,然后点击“生成”按钮,焊点小球随之生成。
3.同样,在项目文件夹的Debug目录下可以找到编译生成了“焊点小球生成工具”应用程序,直接双击打开使用,效果与调试程序一致。····The End····
相关阅读 | CATIA软件基于宏指令的焊点数据导出
上一篇| CATIA软件焊点数据导出工具应用程序编写
感谢关注,精彩内容持续更新中
长按上方图片识别二维码关注