| 会员登录 立即注册
关注公众号

关注公众号拿干货

CATIA论坛公众号
加入联盟

扫微信(sakula)入联盟

CATIA软件
风格切换

catia教程

搜索

CATIA联盟论坛

[CATIA VBA] CATIA软件二次开发:焊点小球生成工具应用程序编写

[复制链接]
CATIA运动仿真 发表于 2019-8-7 09:16:40 | 显示全部楼层 |阅读模式
CATIA运动仿真
2019-8-7 09:16:40 1127 0 看全部
  上一期中为大家介绍了使用VisualStudio软件制作机器人焊点数据导出的应用软件,本期再来为大家介绍一下机器人焊点小球生成工具软件的制作方法。CATIA软件版本:CATIA v5R21。VisualStudio软件版本:VisualStudio Ultimate 2010。

  一、项目创建与CATIA AutimationAPI类库引用参考上一期中《CATIA软件二次开发:焊点数据导出工具应用程序编写》章节的相关内容在VisualStudioUltimate 2010软件中创建“Windows窗口应用程序”模板项目,项目名称为焊点小球生成工具。项目创建完成后为项目添加CATIA Autimation API类库引用。

  二、窗体布置与属性设置1.设置Form1窗体属性。
Form1窗体属性
属性
设置参数值
说明
FormBorderStyle
FixedSingle
设置窗体的边框样式为固定单边框。
MaximizeBox
False
设置在窗体的标题栏中不显示 “最大化”按钮。
MinimizeBox
False
设置在窗体的标题栏中不显示 “最小化”按钮。
Text
焊点小球生成工具
设置窗体标题为“焊点小球生成工具”。
  2.Form1窗体中添加两个Label控件、1TextBox控件、1Button控件,添加完成后分别设置控件属性。
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窗体至合适大小,并将各个控件进行合理摆放。
CATIA软件二次开发:焊点小球生成工具应用程序编写72
三、VBA代码编写1.参考上一期中《CATIA软件二次开发:焊点数据导出工具应用程序编写》章节的相关内容,在 Form1窗体代码编辑区中添加CATIAAPI类库引用代码。2.为Form1窗口的Load事件添加CATIA软件控制判断代码。
CATIA软件二次开发:焊点小球生成工具应用程序编写27

3.为“生成”按钮的Click事件编写焊点小球批量自动生成代码。
CATIA软件二次开发:焊点小球生成工具应用程序编写33

完整程序代码如下所示。'添加CATIA API引用Imports SURFACEMACHININGImports CATStrSettingsTypeLibImports StrTypeLibImports SPATypeLibImports SMTypeLibImports SimulationTypeLibImports SIMImports CATRsc2Imports ProductStructureTypeLibImports PRISMATICMACHININGImports PPRImports PCBITFImports PARTITFImports OSMInterfacesTypeLibImports NavigatorTypeLibImports MECMODImports MANUFACTURINGImports KnowledgewareTypeLibImports KinTypeLibImports INFITFImports HybridShapeTypeLibImports GenKweImports FittingTypeLibImports ElectricalTypeLibImports ElecSchematicTypeLibImports DRAFTINGITFImports LAYOUT2DITFImports DNBSimulationImports DNBSimIOImports DNBSimActImports DNBRobotImports DNBIgpResourceProgramImports DNBReportingImports DNBMHIItfImports DNBManufacturingLayoutItfImports DNBIgripSimImports DNBIgpTagPathImports SWKHumanModelingItfImports DNBPertImports DNBFastenerImports DNBDpmItfImports DNBBIWImports DNBDeviceImports DNBDeviceActivityImports DNBD5IImports DNBASYImports PROCESSITFImports ComponentsCatalogsTypeLibImports AnnotationTypeLibImports CATToolingImports CATStkImports CATSmInterfacesTypeLibImports CATSmarTeamIntegImports SHEITFImports CATSdeSettingImports CATSchematicTypeLibImports CATRscImports CATRmaImports CATRpmReporterTypeLibImports CATRdgImports CATPspPlantShipTypeLibImports CATOBMImports CATMultiCADImports CATMatImports DNBIPDImports CATInstantCollabItfImports CATImmImports CATIdeSettingsImports CATV4IInteropTypeLibImports CATHumanPackagingImports CATFunctSystemImports CATEdbTypeLibImports CATDrmRmsSettingsImports CATDataExchImports BehaviorTypeLibImports CATAssemblyTypeLibImports CATArrangementTypeLibImports SAMITFImports CAT3DXmlImports CATCompositesMatImports AECRTypeLibPublic 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 SubEnd Class
四、运行测试1.启动CATIA软件,并打开一个含有焊点信息的零件文件。
CATIA软件二次开发:焊点小球生成工具应用程序编写61
2.点击“启动调试”工具按钮,稍等片刻自动弹出焊点小球生成工具对话框,输入小球半径值,然后点击“生成”按钮,焊点小球随之生成。
CATIA软件二次开发:焊点小球生成工具应用程序编写99

3.同样,在项目文件夹的Debug目录下可以找到编译生成了“焊点小球生成工具”应用程序,直接双击打开使用,效果与调试程序一致。
CATIA论坛官方公众号
  • 您可能感兴趣
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 返回列表

查看:1127 | 回复:0

CATIA教程| CATIA视频| CATIA培训| CATIA下载| CATIA安装| CATIA插件| CATIA入门| CATIA V5| CATIA V6| CATIA论坛
联系电话:18982019507 地址:成都市青羊区二环路西一段155号天祥广场4栋1801
版权所有 ©软易达 •( 蜀ICP备14018086号 )Copyright © 2001-2013 Comsenz Inc. All Rights Reserved.   Powered by Discuz! X3.4
联盟微信客服:
silhouette023CATIA软件


CATIA技术群

微信公众号 CATIA微信公众号
“CATIA联盟”