鱼C论坛

 找回密码
 立即注册

CATIA二次开发VBScript笔记1_第一个宏

已有 1287 次阅读2012-12-10 15:34

一、宏录制,修改、回放

         1. 工具->->启动录制 就会显示出录制的对话框  之前没使用过的话 会出现一个默认的宏库 点击开始

         2. 文件->新建->part 新建一个零件文档

         3. 选择XY平面 点击 图标进行草图

         4.选   绘制一个圆 单击 退出草图绘制

         5. 选择拉伸按钮   再在对话框中选择拉伸的长度

         6. 单击停止录制按钮  就生产一个宏录制

 

程序分析: (同等效果)

Language="VBSCRIPT"                        VBScript编写

 

Sub CATMain()                                                                    点击开始录制宏就会产生这条语句

 

Set documents1 = CATIA.Documents                          新建一个文件

Set partDocument1 = documents1.Add("Part")    新建一个PART  

 

Set part1 = partDocument1.Part                                  选择  XY平面  进入草图绘制

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)                一个名为sketch1的草图 reference1为参

考平面

Dim arrayOfVariantOfDouble1(8)

arrayOfVariantOfDouble1(0) = 0.000000

arrayOfVariantOfDouble1(1) = 0.000000

arrayOfVariantOfDouble1(2) = 0.000000

arrayOfVariantOfDouble1(3) = 1.000000

arrayOfVariantOfDouble1(4) = 0.000000

arrayOfVariantOfDouble1(5) = 0.000000

arrayOfVariantOfDouble1(6) = 0.000000

arrayOfVariantOfDouble1(7) = 1.000000

arrayOfVariantOfDouble1(8) = 0.000000

sketch1.SetAbsoluteAxisData arrayOfVariantOfDouble1 ‘定义草图的轴 可以沿支持面的方向转

part1.InWorkObject = sketch1

Set factory2D1 = sketch1.OpenEdition()

 

当草图建立时,系统会自动建立一个中心点 一条水平 一条垂直作为坐标轴

Set geometricElements1 = sketch1.GeometricElements

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

Set line2D1 = axis2D1.GetItem("横向")

line2D1.ReportName = 1

Set line2D2 = axis2D1.GetItem("纵向")

line2D2.ReportName = 2                                                        ‘ReportName 属于系统内部

 

在当前坐标原点绘制一个圆 R30

Set circle2D1 = factory2D1.CreateClosedCircle(0.000000, 0.000000, 30.000000)

Set point2D1 = axis2D1.GetItem("原点")

circle2D1.CenterPoint = point2D1                                       这个属性约束在了原点的位置

circle2D1.ReportName = 3

 

退出草图,草图绘制完成

sketch1.CloseEdition

part1.InWorkObject = sketch1

part1.Update

 

为这个草图创建拉伸 长度为20

Set shapeFactory1 = part1.ShapeFactory

Set pad1 = shapeFactory1.AddNewPad(sketch1, 20.000000)

part1.Update

 

End Sub

 

可以直接修改程序  (编辑宏)

 

把这段

Set circle2D1 = factory2D1.CreateClosedCircle(0.000000, 0.000000, 30.000000)

Set point2D1 = axis2D1.GetItem("原点")

circle2D1.CenterPoint = point2D1                                      

circle2D1.ReportName = 3

改为

x = 0

For I = 1 To 5

Set circle2D1 = factory2D1.CreateClosedCircle(x, 0.000000, 30.000000)

x = x + 100

Next

可向X轴方向 创建5个圆

把宏加入工具条:

1.       工具->自定义->命令->  添加宏 选择图标就好了

 

 

二、脚本运行方式

         1.      从宏列表对话框中实现

         2.      启动CATIA 自动运行宏 CNEXT –macro D:\B20\MACRO\1.CATScrpit  要完整的路径  这样脚本运行完成后 不会退出CATIA  除非脚本有说明 CATIA.Quit

         3.      批处理 CATIA运行一些不需要人工干预的工作 CNEXT –batch-macro D:\B20\MACRO\1.CATScrpit  脚本运行完后自动退出


路过

雷人

握手

鲜花

鸡蛋

发表评论 评论 (1 个评论)

回复 wqlovt 2012-12-10 15:36
保存在word里的图片 不能直接复制来吗

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-3 10:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部