好消息: 数控产品网(免费B2B信息发布电子商务平台)新版上线,欢迎注册免费发布信息! 点击进入>>

SEO智能优化,纯静态信息页,搜索引擎更加友好!现面向全行业开放免费注册信息发布中,速度前往>>


当前位置:首页 > 数控技术 > 软件应用 > CAXA图文档技术白皮书(三)
CAXA图文档技术白皮书(三)

数控产品网 www.cncproduct.com   2014-06-19   来源:网络转载   阅读:677次
四、CAXA图文档二次开发工具 4.1 FormDesigner使用说明     FormDesigner表单定义器是CAXA图文档的辅助工具,其形式为一个独立的工具,由CAXA图文档技术人员在进行客户化定制工作时使用。     在CAXA图文档系统中,数据模型中包含多种实体类,如产品、零部件、文档、图纸页、版本等。这些类的属性由FormDesigner定义,提供一种类似于VC++环境中对话框的定义模式,可以在这个对话框设置多种风格的文本框、编辑框和检查框等。对应的文本框表示对象的属性,编辑筐、检查框等表示属性的显示形式。在所有的控件上可以双击弹出属性编辑框,在这里确定控件的基本属性,如名称、数据类型,数据长度等。另外,FormDesigner中提供对话框中所有控件进行布局的工具,如编辑框等高、等宽、左对齐、右对齐、水平等距、垂直等距等。     对话框编辑完成后,保存成XML文件,这些定义文件存放在CAXA图文档客户端的OBJDEFINE目录下,即可被CAXA图文档所调用。另一方面,定义的对象属性要能转换成数据库相应表的字段,这可在系统菜单中选择“刷新数据表”来修改对象对应的表。     在CAXA图文档中,所有对象属性的显示、编辑、处理都是通过加载相应的XML文件实现的。在显示界面中的,对象属性的外观显示形式与FormDesigner中完全一致,在对属性的进行有关的选择操作时,列表框中列出的是FormDesigner定义的有关对象的所有属性。FormDesigner 用于表单定制。 图4-1 FormDesigner定义工具 4.2 MenuDesigner使用说明     MenuDesigner 用于菜单定制。     MenuDesigner可以定义系统菜单,以及定义界面中的浮动菜单。 图4-2 菜单定义工具     利用MenuDesigner可以对图文档中所有菜单项进行设置并可以增加删除菜单项,点击菜单项选择属性可以设置菜单的各种属性并挂接执行脚本。 定义后的菜单文件存放在CAXA图文档客户端安装目录下。     系统菜单——SysMenu.xml     浮动菜单——PopMenu.xml     因此,每个客户端通过不同的配置,可以有不同的菜单展现,可以根据功能需要增加菜单项,也可以隐藏不需要的功能项。 4.3 RelDesigner使用说明     RelDesigner 用于关系定制。关系指图文档系统两个实体类之间的关系。 图4-3 关系定义工具     关系发生在两个实体类之间,或者同一类下的两个实例之间。如上图中的AssemblyUsage,用于表示产品结构数中的上下级关系,这种关系发生在零部件类(PdemPartRevision)的两个实例之间,装配件的角色名是Assembly,子件的角色名是Component。     利用RefDesigner可以对图文档中的关系进行编辑,如可以改变关系Assemblyusage的类A和类B,允许借用等。

    关系定义的结果保存在图文档客户端安装目录,位于\commondefine子目录下,文件名称为RelDef.xml。

4.4脚本编程     脚本编程主要目的是使应用程序在不被修改的情况下,为各种脚本语言所控制。在软件交互性不断提高的今天,仅仅提供菜单或工具箱的界面已经不能满足用户的需要了,软件的可定制特性已经成为当今软件的一项基本特征,尤其对于一些通用的软件更为如此。CAXA图文档中提供了方便的脚本编程能力,用户可以通过编写脚本实现较为复杂的功能扩充。     脚本编程可使软件扩充变得非常简单,软件开发商利用脚本引擎(Script Engine)支持脚本语言的解释和执行操作,而软件用户可以根据需要编写自己的脚本代码,交由软件处理,对于用户来说,就好象自己在编写程序控制应用程序,以完成自己所期望的功能。而应用软件并不需要自己去解释执行用户的脚本代码,只要利用脚本引擎就可以很方便地实现对用户脚本语言的支持。应用系统也可以利用这种技术来提供二次开发的特性。 图文档中脚本控制点及编程实例如下。 4.4.1 BOM输出 1. BOM过滤 脚本文件名:图文档客户端\Script\BOM\filter\OnFilter.txt Script脚本原型:Function Filter(ByRef bom_item) 返回值为BOOL型,Filter = TRUE :需要输出该条记录  Filter = FALSE :该条记录不用输出。 2. BOM输出 脚本文件名:图文档客户端\Script\BOM\output\OnOutput.txt Script脚本原型:Function Output(ByRef bom_result_iterator, ByRef xls_file) bom_result_iterator:bom输出结果的迭代器 xls_file: bom输出到Excel的文件名。 4.4.2 BOM的xls模板设置 1.  总页数 脚本文件名:图文档客户端\Script\BOM\xls模板名称\ TotalPage.txt Script脚本原型:Function TotalPage(npages)                               npages: 共有的页数   返回值:根据脚本格式定义好的总页数输出值。 2.  当前页 脚本文件名:图文档客户端\Script\BOM\xls模板名称\ CurPage.txt Script脚本原型:Function CurPage(npages)                               npages: 当前是第几页 返回值:根据脚本格式定义好的当前页数输出值。 3.  产品信息 脚本文件名:图文档客户端\Script\BOM\xls模板名称\ product_+产品属性名.txt Script脚本原型:PropName(obj)                               Obj:当前输出bom选中的产品或部件对象   返回值:通过脚本查询obj属性得到的属性值。 4.  零部件信息     脚本文件名:图文档客户端\Script\BOM\xls模板名称\ part_对象moniker_对象属性名.txt     Script脚本原型:PropName(bom_item)     bom_item:要输出的零部件的BomItem     返回值:通过脚本查询bom_item属性得到的属性值。   4.4.3 批量入库     如属性值过滤:     脚本文件名:图文档客户端\Script \LotInput\filter.txt     Script脚本原型:function Filter(name,value)                               Name:提取到的零部件属性名 Value :属性名name对应的属性值 返回值:新的属性值。 示例:如将所有提取到的零部件的代号在原来的基础上加上000   function Filter(name,value)       if name = "代号" then               Filter = value & "000"       else               Filter = value       end if end function   4.4.4 生成新版本 1.   版本号生成 脚本文件名:图文档客户端\ Script\RevNo\nextrevno.txt Script脚本原型:Function NextRevNo(prev_revno,bNewRelease,pWorkRev)                             prev_revno :前一个版本号      bNewRelease:True表示重发布False表示出库      pWorkRev   :保留参数    返回值:新的版本号   4.4.5 Fomdesign中菜单脚本 1.   菜单执行函数 脚本文件名:图文档客户端\ Script\menu\菜单ID号.txt Script脚本原型:function MenuCommand(objs)                              Objs:当前选中的对象的数组。 实例: 物料代码自动生成 需求说明:     对于客户要求的物料代码生成的问题,由于在图文档中批量入库时无法自动根据零部件的其它属性来自动生成物料代吗,现在修改在产品结构树的产品的右键菜单上,新增一个菜单“生产物料代码”来使零部件的物料代码根据其它的属性来自动生成。 物料代码的生成规则如下:如果零部件是标准件,则物料代码=代号+规格       否则,物料代码=代号。 上述需求可在菜单定义工具中,通过菜单项对应的脚本完成。具体脚本内容从略。 4.4.6 权限检测 1.  权限检测脚本: 脚本文件名:由set_script设置脚本文件名 Script脚本原型:function CheckSecurity(secu_val,func_name,role_id,person_id)                               secu_val:权限值 func_name:功能名 role_id: 角色ID person_id:用户ID 返回值:字符串 如果为空,则代表有权限 如果不为空,则代表没有权限,字符串是没有权限的原因。 4.4.7 系统 1.   系统保存脚本(当新建产品,零部件,图纸等对象保存时运行) 脚本文件名:图文档客户端\ \script\system\OnSave.txt Script脚本原型:Function Save(parent_obj, prop_set, moniker)                               parent_obj:新建对象的父对象                prop_set:新建对象的属性 moniker:新建对象的moniker 返回值(BOOL): = TRUE 表示可以继续保存                   = FALSE表示验证没有通过,不能保存。 4.4.8 相关列表 1.  在相关的列表中,可以定义列的显示属性值脚本 脚本文件名:图文档客户端\ \script\在listtabdefine.xml中定义的脚本文件名 Script脚本原型:Function  GetColumnFunc(rel_obj,obj,parent_obj,col_name)                              rel_obj:关系对象                              obj: 当前对象 parent_obj:obj的父对象 col_name:列名 返回值:当前列显示的属性值。 4.4.9 排序        在产品结构树或文档树上的排序 脚本文件名:图文档客户端\ \script\树名称\ OnSort.txt Script脚本原型:Function Sort(obj1,obj2,propname) 零部件拷贝   脚本文件名:图文档客户端\ \script\ CopyPart\\copypart.txt Script脚本原型:CopyPart(prop_set) (CncProduct.Com(编辑:小朱)
本文标签(Tag)CAXA
关于“CAXA”的信息更多

免责声明:本网资讯均转载自其它媒体,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。
软件应用 阅读排行
软件应用 编辑推荐
最近更新
关于我们联系我们网站地图

公益免费-为推动我国数控行业发展而努力!
在线客服客服QQ
Copyright(C)2006 www.cncproduct.com 数控产品网 china All Rights Reserved  苏ICP备13054127号-5
数控产品网-数控行业垂直门户网站 - 专注于:数控机床┆数控设备┆数控系统┆数控技术
免责声明:本网部分信息由企业和个人自行提供,该企业和个人负责信息内容的真实性、准确性和合法性。数控产品网对此不承担任何保证责任!