首页/文章/ 详情

[CATIA技巧]CATIA中批量导出点坐标的方法四-知识工程EKL

1天前浏览45

哈喽铁子们,今天分享的是批量导出点坐标的第四种方法,使用知识工程ekl语言,但是运行速度相对缓慢,完全是为了让朋友们了解一下这个knowledge的存在,需要进入到如下的知识工程顾问模块。

▼ 知识工程顾问模块

将零件中所有要导出坐标的点添加到一个列表Points中,同时创建一个设计表.1并将其与本地excel文档Point coordinates建立关联,然后创建一个工作指令.1,双击其打开指令编辑器,并输入批量导出点坐标的ekl代码。(下文中已经给出代码及关于代码的解释,比较容易理解,有需要的话可以直接复 制粘贴使用)

x▼ 创建设计表与本地excel的关联

▼ 指令编辑器中输入ekl代码

关于代码的解释(/*XXX*/用于注释说明)

let i (integer)/*声明一个循环变量i*/

let F (Feature)/*声明一个feature型变量F*/

let lista (List)/*声明一个列表型变量lista*/

let x, y, z (Length)/*声明三个Length型变量x y z*/

lista = Points/*将结构树上的名字为Points的列表赋给lista*/

i=1/*给循环变量赋予一个初始值1*/

for F inside lista/*执行for循环语句*/

{

x=lista->GetItem(i)->coord(1) /*将lista列表中的第i个点的x坐标赋给x变量*/

y=lista->GetItem(i)->coord(2)/*将lista列表中的第i个点的y坐标赋给y变量*/

z=lista->GetItem(i)->coord(3)/*将lista列表中的第i个点的z坐标赋给z变量*/

F=lista->GetItem(i)/*获取列表中的第i个点*/

`关系\设计表.1\图纸` ->SetCell(i,1,F.Name)

/*将第i个点的名字赋给工作表的第i行,第1列*/

`关系\设计表.1\图纸` ->SetCell(i,2,x)

/*将第i个点的x坐标值赋给工作表的第i行,第2列*/

`关系\设计表.1\图纸` ->SetCell(i,3,y)

/*将第i个点的y坐标值赋给工作表的第i行,第3列*/

`关系\设计表.1\图纸` ->SetCell(i,4,z)

/*将第i个点的z坐标值赋给工作表的第i行,第4列*/

i=i+1/*循环变量加1,以备下次循环取点*/

}

运行工作指令,代码执行循环,依次从列表中读取每一个点的xyz坐标并将其存入设计表中运行程序结束后,打开本地的excel文件Point coordinates,点坐标已经被导入其中,需要注意的是在运行指令之前,需要将设计表取消激活,要么会出现下图三的错误提示。

▼ 执行工作指令

▼ 打开导入点坐标的本地关联文件

▼ 取消激活设计表才可以执行工作指令



来源:CATIA小蚂蚁
二次开发通用CATIA知识工程装配工程图
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-11-29
最近编辑:1天前
CATIA专业培训讲师
日拱一卒无有进 功不唐捐终入海
获赞 38粉丝 128文章 65课程 4
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈