第1章二次开发应用初步
UG/NX是当今世界上最先进和高度集成的、面向制造行业的CAD/CAE/CAM软件系统,可用于产品的整个开发过程,包括产品概念设计、建模、分析和加工。UG/NX以其强大的设计和加工功能而著称,可以支持目前市场上销售的不同厂家的所有工作站及微机平台,广泛应用于通用机械、模具、汽车及航空航天领域,被很多世界著名公司选定为企业计算机辅助设计、分析、制造的标准。
从20世纪60年代起UG就一直代表着工程制造业CAD/CAM软件产品的最高水平。20世纪90年代,UG进入中国市场,受到广大CAD/CAM用户的欢迎。UG在中国的用户已超过1000多家,装机量达到350 多套。这是因为UG是一个集成化、全面、一体的软件,它包括设计、加工、分析和最流行的产品数据管理(PDM),给企业提供了一个全面的解决方案。
1.1 CAD软件的二次开发
随着CAD应用领域的不断扩大和应用水平的不断提高,用户需求与CAD系统规模之间的矛盾日益增加,没有一个CAD系统能够完全满足用户的各种需求。作为商品化的CAD软件产品,是否拥有一个开放的体系结构,是衡量该软件的优劣性、适用性和生命力的重要标志,而是否拥有一个开发简便、运行高效的二次开发平台又是开放式体系结构的核心和关键。目前,主流的CAD软件都具有用户定制功能并提供二次开发工具。
通过CAD软件的二次开发工具可以把商品化、通用化的CAD系统用户化、本地化、即以CAD系统为基础平台,在软件开发商所提供的开发环境与编程接口基础之上,根据自身的技术需要研制开发符合相关标准和适合企业实际应用的用户化、专业化、知识化、集成化软件,以进一步提高产品研发的效率。在通用CAD基础上融入专业知识构建专用CAD系统是当前深化CAD应用的潮流。
把用户的设计思想转化为特定的新功能需要以下基本要素,这些基本要素构成了CAD软件二次开发平台的基本结构:
(1)通用CAD软件——管理层。通用CAD软件是整个开发的基础,
是二次开发应用程序的宿主。它应具有比较完备的基本功能,即使没有二次开发应用程序,它也能满足基本的使用需求。在二次开发平台结构中,通用CAD软件属于管理层,它所负责的工作主要包括用户界面定制、图形显示、文档数据管理、交互流程控制、消息分发和应用程序的管理等。
(2)编程开发环境——开发层。开发者采用某种计算机高级语言(如C、C++等)在特定的开发环境中进行应用程序的开发。由于通用的集成开发环境(如VC++、VB和Delphi等)具有功能强大、使用简单、可靠性强和生成代码效率高等优点,目前一般都在通用的集成开发环境中进行二次开发。在二次开发平台结构中,编程开发环境属于开发层,它主要包括应用程序源代码的编辑、编译、链接、调试和代码优化等。
(3)应用程序编程接口(API)——支持层。编程开发环境仅提供了一般性的语言支持,在二次开发过程中,还需要提供相应的API支持。通过这些API接口,二次开发应用程序可以建立与原软件应用程序的链接,使新开发的功能和原有的功能无缝集成。在二次开发平台结构中,应用程序编程接口属于支持层,它是用户开发的应用程序与CAD软件之间进行链接、通信和互操作的通道。
(4)开发者的设计思想——知识层。一般来说,CAD软件开发商通过以上3个层的引入就为用户提供了二次开发的工具和方法。此外,二次开发应用系统还需要融入开发者的设计思想。开发者将其设计思想通过二次开发工具和方法,并结合原有的CAD系统功能,才能构成具有实用价值的应用程序。在二次开发平台结构中,用户设计思想属于知识层,它是开发者知识和能力的体现,是二次开发技术的应用和实践。
1.2 UG二次开发
UG二次开发是指在UG软件平台上,结合具体的应用需求,总结行业的设计知识和经验,开发面向行业和设计流程的CAD系统。UG/Open是一个通过开放性架构促使不同的应用程序同UG实现柔性集成的开发工具包,其目的是使集成的应用程序,包括UG自身提供或第三方开发的应用程序能够在不同软硬件平台、不同网络或Internet的计算机上实现数据共享。利用UG/Open提供的应用程序和开发工具,能够提高用户的工作效率和满足用户的具体要求。
1.2.1 UG二次开发工具
UG/Open提供的二次开发工具主要包括:UG/Open API(应用程序接口),UG/Open GRIP(图形交互程序),UG/Open UIStyle(用户界面制作工具),UG/Open MenuScript(界面菜单编制语言)。
UG/Open MenuScript开发工具,对UG软件作界面进行用户化开发,无须编程即可对UG主菜单和快速弹出式菜单进行添加、重组、剪裁或在UG软件中集成用户GRIP、API二次开发程序、UserTools文件及操作系统命令等。
UG/Open UIStyle开发工具是一个可视化编辑器,生成的对话框能与UG集成,让用户更方便、更高效地与UG进行交互操作。利用这个工具可以避免复杂的图形用户接口GUI的编程,直接将对话框中的基本控件组合生成功能不同的对话框。
UG/Open GRIP是在UG/Open API工具发布之前UG的主要二次开发工具。GRIP是一种专用的图形交互编程语言,它与UG系统集成,可以实现UG环境中的大部分应用操作。GRIP语言与一般的通用语言一样,有完整的规则、程序结构、内部函数,以及与其他通用语言程序的相互调用等。GRIP在加工方面提供了大量的函数,具有很高的NC编程效率,利用该工具用户可生成NC自动化或自动建模等用户的特殊应用。GRIP的功能不如UG/Open API强大,它主要常被用来开发一些规模较小的程序,完成某些专业上需要的特定的功能。
UG/Open API也称User Function(用户函数,以下简称UF),是UG 软件提供的一个高级二次开发编程语言工具集,支持最全面、最复杂层次的编程,支持C、C++、VB、.NET和Java等主要高级语言。通过UG/Open API的编程,用户可以建立、编辑、查询并修改UG的各种实体对象(包括part文件、点、线、面、实体、特征、坐标系、表达式等),建立并遍历装配体,创建工程图,处理用户和UG界面的交互,控制UG的运行等,它提供了比UG/Open GRIP更多的对UG及其模块进行操作的功能,包括建模、装配、有限元分析、机构运动分析、制造、饭金等。几乎所有能在UG界面上的操作都可以调用相应的UG/Open API函数来实现,从而实现用户化的需要。
1.2.2二次开发工具之间的相互关系
UG软件为用户提供的二次开发工具不但可以独立使用,而且可以相互调用其它工具开发的结果,这就大大扩展了工具本身所具有的功能,方便用户进行二次开发。它们之间的关系如图1-1所示:MenuScript和UIStyler开发的对话框均可以调用GRIP程序和API程序。GRIP程序和API程序之间也可以相互调用。
图1-1 二次开发工具关系图
1.2.3 UG二次开发应用范围
UG二次开发主要应用有以下几个方面。
1、用户化定制CAD环境
用户化定制CAD环境主要包括:提供用户化CAD规范;提供用户化标准件库;定制用户化CAD界面等。
2、开发在UG软件平台上的用户专用软件。
UG软件平台上的用户专用软件主要指UG软件没有提供的及功能不能满足用户要求的一些用户专用软件,例如CAPP软件、DFA软件、DFM软件、CAD/CAE接口软件等。
3、开发UG软件与其他CAD软件的接口
使用不同软件(UGII、CATIA、ProE、solid Work、AutoCAD等)所建的3D模型/2D图纸都使用各自的数据结构,有时需要把它们的数据进行相互交换。这时有必要开发它们之间的接口。
1.2.4 UG二次开发流程
UG系统提供了功能强大的复合建模功能,例如实体造型、曲面造型、特征造型等,同时也提供了强大的二次开发工具包与特征扩展功能。利用这些工具可对UG系统进行用户化剪裁与开发,满足用户的特定需求。根据前面对UG/open开发工具包的研究与探讨,给出产品CAD系统的总体开发流程,如图1-16所示。
图2-16 UG二次开发流程
1.3 第一个实例
为便于用户了解UG/Open API的使用,下面将创建一个简单的应用开发程序,其功能是在UG环境中显示一个消息对话框“Hello,UG!”。运行平台为Windows XP,开发平台为Visual https://www.doczj.com/doc/b11715781.html,和UG/NX4,运行结果如图1-2所示。
1.3.1 创建VC++ 项目
Note:如果先安装Visual https://www.doczj.com/doc/b11715781.html,,后安装UG,则在Visual https://www.doczj.com/doc/b11715781.html,新建工程选项里会自动添加UG/OPEN AppWizard;否则,如果先安装UG,再安装Visual https://www.doczj.com/doc/b11715781.html,则需手动将“\wnti32\kits\ugopen\vs_files\VC\vcprojects、\VCWizards”下的内容拷贝到Visual https://www.doczj.com/doc/b11715781.html,“\Microsoft Visual Studio .NET 2003\Vc7”的相应目录下,此时在Visual https://www.doczj.com/doc/b11715781.html,的IDE中添加UG开发向导。
利用UG/Open AppWizard向导创建工程项目,该向导是UG软件本身提供的应用向导,不支持MFC,常应用于辅助工具的开发。下面将在Visual https://www.doczj.com/doc/b11715781.html,和UG/NX3开发平台上利用UG/Open AppWizard向导创建工程项目。
运行Visual https://www.doczj.com/doc/b11715781.html,,新建一个项目,如图2-1所示。选择对话框中的Templates中的NX3 Open Wizard向导创建UG应用工程,在Name 文本框中输入工程名称“First Project”,在Location文本框中输入工程路径,然后单击OK按钮确定,NX3 Open Wizard(Overview)对话框,如图2-2所示。对话框将提示当前项目的默认设置,如果用户接受当前默认设置,可以直接单击Finish按钮确定,此时向导将按默认设置创建工程项目。如果不接受当前默认设置,用户可以通过NX3 Open Wizard (Application Settings)对话框和NX3 Open Wizard(Entry Points)对话框来进行修改,两个对话框分别如图2-3和图2-4所示。NX3 Open Wizard(Application Settings)对话框可以让用户选择工程项目的运行模式和编程语言,NX3 Open Wizard(Entry Points)对话框可以让用户选择程序入口方式及卸载方式,最后单击Finish按钮确定。
图2-1 新建项目对话框
图2-2 NX3 Open Wizard(Overview)
图2-3 NX3 Open Wizard(Application Settings)
图2-4 NX3 Open Wizard(Entry Points)
1.3.2 建立程序
此时用户可以在生成的工程模板中添加代码,在Visual https://www.doczj.com/doc/b11715781.html, 集成开发环境中,打开hello.cpp文件代码窗口,输入代码并保存。输入代码如下:
#include
#include
extern void ufusr( char *param, int *retcod, int param_len )
{
/* 获取UG/OPEN API的执行权限 */
if(UF_initialize()!=0)
return;
/* 弹出消息窗口,显示“Hello,UG!” */
uc1601("Hello,UG!",1);
/* 释放UG/OPEN API的执行权限*/
UF_terminate();
}
1.3.3 编译链接项目
点击主菜单“生成→生成First Project”,如图1-13,对项目First Project编译、链接,生成.dll文件(文件位置在项目属性的“链接器→常规→输出文件”中设置)。
图1-13 编译链接项目
1.3.4 调试程序
方法一:在程序编译之后,首先在程序中设置断点,点击主菜单“调试→启动”,如图1-14所示,启动NX系统。在NX系统中激活.dll程序,程序进入调试状态,F11是逐语句调试,F10是逐过程调试(注意,在调试程序之前,一定对项目属性的调试进行设置,参见图1-8)。
图1-14 调试程序
方法二:在程序编译、代码中设置断点后,启动UG NX4;回到Visual https://www.doczj.com/doc/b11715781.html, 集成开发环境,点击主菜单“工具→调试进程”,系统打开
“进程”对话框,如图1-15所示,双击“可用进程”列表中“ugraf.exe”,系统打开“附加进程”对话框,如图1-16所示,选择要调试程序类型为“Native”,单击“确定”按钮,系统进入程序调试状态,按“F11”或“F10”进行逐语句或逐过程调试。
图1-15
图1-16
1.3.5 运行应用程序
在UG界面中选择菜单File→Execute→NX Open,在系统弹出的一个文件选择对话框中选择应用程序“Hello UG.dll”。如图1-17、图1-18所示。
图1-17
图1-18
图1-19
AutoCAD VBA二次开发初级教程 第一课:入门 1.为什么要写这个教程 市面上ACAD VBA的书不多,它的帮助是英文版的,很多人看不懂。其实我转行已经好几年了,而且手艺也慢慢生疏了,写个教程对自己来说也是一次复习。 2.什么是Autocad VBA? VBA是Visual Basic for Applications的英文缩写,它是一个功能强大的开发工具,学好VBA可以成倍甚至成百、成万倍提高工作效率,在工作中,有很多任务仅用ACAD命令不可能完成的,只要学好VBA就可以做到,相信到时候您一定会得到同事的佩服、老板的器重。 3、VBA有多难? 相信大家都知道Basic是的含义。应该承认,我的水平还不高,错误之处在所难免,如果大家发现错误一定要提出批评,以便及时更正。 4、怎样学习VBA? 介绍大家一个学习公式:信心+恒心=开心。仔细阅读本教程,完成例题,在学习的过程中一定要多思考,多想一些是什么、为什么。本教程将陆续发布在CAD 世界论坛上,您不需要付费就可以学习。本作者在此郑重承诺:关于本教程中有任何疑问,可以跟贴提问,只要有时间,本人一定会耐心解答。我不会发到任何人的邮箱中,您自己在论坛上找就可以了,请不要再向我索要这份教程。 5、现在我们开始编写第一个程序:画一百个同心圆 第一步:复制下面的红色代码 第二步:在模型空间按快捷键Alt+F8,出现宏窗口 第三步:在宏名称中填写C100,点“创建”、“确定” 第四步:在Sub c100()和End Sub之间粘贴代码 第五步:回到模型空间,再次按Alt+F8,点击“运行” Sub c100() Dim cc(0 To 2) As Double '声明坐标变量 cc(0) = 1000 '定义圆心座标 cc(1) = 1000 cc(2) = 0 For i = 1 To 1000 Step 10 '开始循环 Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆 Next i End Sub 也许您还看不懂上面的代码,这没有关系,只要能把同心画出来就可以了,祝您成功。
Maximo7 新特性 概述 1、保持了一个平台多个关键流程的策略 2、降低了购买成本和迁移成本 3、增强了线性资产管理,工作管理和任务管理功能,提高了 实用性。 详述 1、线性资产管理(Linear Assets) 比如:公路管道铁路 2、一个工单上多个资产或位置 一个工单上允许关联多个资产和位置,没必要子工单和任 务。然而,Maximo7.1 不支持资产和位置级别的费用分担,工单仍只有一个分类帐科目(GL Account) 3、增强了资产异动功能 4、自动工作流控制-状态管理 预定义工单和任务的关联,前置任务complete后,下一任务自动in process,所有任务完成后,工单自动complete 5、新的活动&任务应用程序
6、任务级的附加文档管理功能 7、作业计划可以建立层次结构 8、分类属性(Classification Attributesclassfication )可以分类。 除了资产、位置和库存之外,分类可以用在解决方案(Job Plan's Solutions)和配置项应用程序(CI)。 9、工单应用程序更新 工单新增一tab页,用来展示关联的所有类型的工作票和 预防性维护和检修路线等。 10、标准作业计划模板 11、工单和任务的所有关系 工单和标准作业计划建立owership关系,工单中的任务与 标准作业计划中的任务(task)同样建立owership关系。 12、允许将来的日期 13、巡检路线 巡检路线可以作为子工单,工单的任务 14、资产 汇报、管理停机时间 资产组(Asset Collections) 库存发放库存项目到资产。若为周转资产,则可以作为资 产的一个子资产。 15、库存项目状态 Item 、Service、Tools 具有了状态,并且可以定制工作流
一、什么是AutoCAD二次开发:针对自己使用要求,优化,改善 软件使用功能、方式,用编程语言在CAD基础上写的程序二、应用背景:设计中一般都采用AutoCAD等设计软件,在复 杂CAD问题或特殊用途的设计设计中,依据原有软件的功能往往难以解决问题,在此情况下,只是会适用软件的基本功能是不够的,根据客户的特殊用途进行软件的客户化定制和二次开发,往往能够大大提高企业的生产效率和技术水平。
VBA即Mcrosoft office中的Visual Basic for Applications,它被集成到AutoCAD2000中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD2000中丰富的技术框架打开一条新的通道。VBA和AutoCAD2000中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。
(4)通过系统对话框设置某些路径。这些操作在程序开发成功后向其它AutoCAD系统上安装应用,特别是需要大批安装时,需要进行很多文件检索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上述工作全部自动进行,使整个二次开发程序在无人干预的情况下嵌入系统,将大大提高工作效率 (5)面向对象,让用户能够根据自己的需要编写相关程序,进行二次开发。 五、AUTOCAD的历史: 六、AUTOCAD二次开发技术的应用领域:AUTOCAD二次开发技术广泛应用于机械、电子、建筑等领域、为标准件、常用件的参数化设计提供了强有力的支持。
Maximo工作流绘制 类别maximo Maximo它是一个平台,用户可以标准实施也可以定制进行二次开发。Maximo为二次开发提供了几样非常实用的工具:数据库配置、应用程序设计器、域、基类、工作流设计器。其中工作流设计器也是非常实用的工具,它为企业业务重组提供了极大的方便。 一、认识画布 工作流设计器的画布上有很多东东,来认识下吧! 按照业务流程绘制工作流程,配置节点、操作等设置。 点击【转到】——【配置】——【工作流】——【工作流设计器】,进入工作流设计器,在该页面中绘制工作流和配置节点、操作等设置。 注意:已经激活的工作流程不能再更改,只能创建新的过程修订本后在新的修订本中进行修改。 简单示例流程:
二、配置节点、操作等设置 1.开始和结束节点不能改变任何设置; 2.给任务节点分配角色、通讯模板: 3.条件判断节点配置: 表达式:根据该条件表达式满足与否来控制流程流向。表达式可以根 据表达式构建器
4.手工节点配置: 5.子流程节点配置: 6.交互节点配置: 7.操作(连接线)配置: 三、验证、启用和激活工作流 工作流绘制后,需验证、启用和激活才能用。验证会检查绘制的工作流各节点和操作流程走向及判断条件是否合理。
绘制好后的工作流程必须经过下述过程: 1.验证过程:系统验证定制的过程是否符合设计规范。 2.启用过程:使过程能够使用。要使过程处于非启用状态,需先使过程处于非激活状态。如果有父过程引用该过程,则先需使其父过程处于非启用状态。 3.激活过程:使过程处于活动状态。 4. 添加工作流到应用程序:在应用程序的操作菜单中添加工作流菜单。 四、如何启用有子流程的流程? 有子流程的流程比较特殊,它要先绘制好子流程并验证、启用和激活,这时子流程可以用了,但在走流程时会出现提示,让你选择流程。有子流程的应该一般发生如【工单跟踪】这样的应用里,【工单跟踪】将电气工作票、机械工作票、动火票、倒闸操作票等应用的单据集合在一起,它从一个父流程开始,然后判断是电气工作票还是机械工作票还是动火票还是倒闸操作票,如果是电气工作票则调用电气工作票子流程。 要正常配置好父子流程: 1.先找到主流程(即上面说的【工单跟踪】的流程),再转到【选择操作】-【“编号工作至”按钮】
一, MAXIMO源码常用包 MAXIMO源码有很多包,开发经常用到的是下面几个: psdi.app 每个模块对应的商业逻辑,例如psdi.app.po 下面的类就为采购单对应 的业务逻辑。 psdi.jsp.app 每个模块对应的页面流转代码,例如页面上的菜单及按钮 psdi.jsptags JSP标签 psdi.mbo 最核心的包 psdi.util 工具类 psdi.workflow 工作流对应的类 五,MAXIMO源码常见类 psdi.mbo.Mbo,psdi.mbo.MboRemote 与psdi.mbo.MboSet,psdi.mbo.MboSetRemote 这几个个类是最常见的类,所有带业务逻辑的类都是继承Mbo和MboSet。 例如WO和WOSET、PR和PRSET。 Mbo类是处理单条记录的类。 MboSet类是包含多个Mbo的类,可以看成是Mbo的数组。 一般都是由Mbo调用MboSet,是用getThisMboSet()来得到。 有MboSet得到Mbo是用getMbo()或getMbo(i)得到。 psdi.jsp.beans.MboSetBean 这个类是用于存放JSP上输入的数据的类,例如页面上的mbosetid="rec"就是指的是这个类。 FldXXXX类,是操作字段的类,一般有下面四个方法 Init() 初始化工作 initValue() 初始化值时的工作 validate() 数据校验,一般在光标离开此字段的输入框时校验 action() 当validate执行完时,执行的动作 六,获取外表Mboset,其中红色字体为表名。 MboSetRemote persongroupteam = MXServer.getMXServer().getMboSet("PERSONGROUPTEAM", getUserInfo()); 设置满足条件的数据: persongroupteam.setWhere("RESPPARTYGROUP = '" + userName + "'"); RESPPARTYGROUP为表PERSONGROUPTEAM中的某一字段, 这句的意思是搜索出满足字段的USERNAME的记录集。 1、MAXIMO源码常用包 MAXIMO源码有很多包,开发经常用到的是下面几个:
小程序技术开发服务合同范本甲方: 乙方: 甲、乙双方经充分协商,就甲乙双方对小程序技术开发服务达成一致意见,特订立本合同,双方共同遵守。 一、服务内容 (一)产品名称: ___________ ;单价:_________ 元/ 年。 (二)服务期限: _____________ 年 __________ 月__________ 日至__________ 年__________ 月___________ 日。 (三)首年费用合作金额:____________ 元(大写:_________ 元)。 (四)收款方式:□现金□支票□汇款□其他。 二、双方的基本权利和基本义务 (一)甲乙双方共同权利和义务 1、不得以任何理由泄露所获知的对方的商业机密。 2、在履行协议时不得作出有损对方形象、声誉的行为。 3、遵守并履行协议的条款。 (二)甲方的权利和义务 1、甲方有义务在合同签订生效日期之前,向乙方支付相应的服务 费用,如延期支付,则服务延期,如果在服务过程中产生费用延迟, 则甲方需要向乙方缴纳______________ %的滞纳金,如延迟时间超过 __________ 天,则乙方有权暂停甲方的服务。
2、有权获知乙方的服务进程,有权在服务结束或服务过程中协商要求乙方提供能提供的相应服务报表。 3、有义务按乙方要求,提供相关的文字,图片等素材,并保证其合法性,如因甲方配合不到位,影响了使用,乙方不负任何责任。 4、妥善保管所需的用户名及密码,否则,造成的不良后果,由甲方自行负担。 5、甲方有权在合同生效后的___________ 个工作日内收到乙方工作 人员的服务进行反馈,开户产品应在______________ 个工作日内收到用户 名和密码,执行类服务应在合同完款______________ 个工作日内与客户明 确执行方案。 6、甲方有权向乙方提出培训需求,乙方应就甲方合作的产品项目安排相应的培训和咨询服务。 (三)乙方的权利和义务 1、乙方就营销各产品系列的销售工作,为甲方提供相关服务。 2、乙方有义务为甲方提供完整的,合同约定的各项移动互联网营销工具服务,包含:注册、开通和提供稳定的运行环境(稳定环境:指中国标准环境,不稳定因素有客户宽带,电脑和系统陈旧,电信运营商之间互通问题等原因,保证技术、存储和输出宽带等稳定,因为客户自身和国家因素造成的不稳定,非深圳市腾信互联科技有限公司承诺的范围)。 3、乙方在收到甲方上述约定的全部费用后______________ 个工作日内,必须开始履行该合同的义务,上述约定服务的关联用户名,密码,各类数据报表和其他必要的说明性或确定性资料均由乙方向甲方提供的上述邮箱地址、QQ或微信发送,甲方获取后即可登录相关的产品后台,进行信息发布,交易,参数设置等业务操作。 4、本次合作的服务金额不作为续费的参考,乙方有权根据市场变化及产品升级情况,对续费金额进行适当调整。 5、甲方在系统运营过程中同时在线人数过载导致乙方服务器无法承受影响用户体验时乙方有权要求甲方根据流量消耗情况进行扩充流量费用或启用独立部署方案 三、违约责任与协议解除 (一)甲乙任何一方在协议履行中采用欺诈、胁迫或暴力等手段,另一
MAXIMO系统开发和实施方法 MAXIMO系统开发和实施方法 (1) 简介 (2) I. 项目启动阶段 (2) II. 设计和开发阶段 (2) III. 系统实施/投产阶段 (3) 阶段1:项目启动 (4) 1.0 项目定位 (4) 2.0 技术环境/架构计划 (4) 3.0 软件安装和调试 (4) 4.0 实施项目组定位和培训 (5) 5.0 需求分析/用户点评估 (5) 阶段2:设计和开发 (5) 6.0 详细说明开发 (5) 7.0 应用设计和开发 (6) 8.0 系统测试 (6) 阶段3:系统实施/投产 (6) 9.0 用户和系统培训 (6) 10.0 数据转换/数据导入和系统投产 (7) 11.0 实施评估和计划 (7)
简介 MRO Software公司采用一种“闭环”的系统开发和实施方法,以确保及时、高效的、统一的、成功的实施结果。这种方法基于每个用户的需求是独特的和重要的这个概念。通过与我们的用户/合作伙伴的协商,MRO SOFTWARE将实施计划进行剪裁,将MAXIMO进行客户化以达到每个用户/合作伙伴的特定的要求。无论我们的客户/合作伙伴的实施目标和预算情况如何,MRO SOFTWARE 的实施方法都是灵活的和可衡量的,它提供了最合适的解决方案。 MRO SOFTWARE系统实施方法由三个独特的实施阶段组成:项目启动,设计和开发,以及系统实施和投产。下面是对组成每个阶段的主要任务或活动的描述。 I. 项目启动阶段 实施启动阶段通过定义或进一步精炼项目的工作范围和业务目标,建立技术环境,以及维项目组成员提供产品培训,奠定了一个成功项目的基础。项目启动阶段的主要任务或活动包括: ?适用性评估/成本估算(Fit Assessment/Cost Estimates) ?项目组织机构(Project Organization) ?技术环境/架构计划(Technical Environment/Infrastructure Planning) ?软件安装和调试(Software Installation and Tuning) ?实施队伍的产品定位和培训(Implementation Team Product Orientation and Training) ?需求分析/各用户点评估(Requirement Analysis/Site Assessment) ?实施计划开发(Implementation Plan Development) II. 设计和开发阶段 设计和开发阶段包括了所有与开发和/或剪裁MAXIMO,使其达到每个用户/合作伙伴的特定需求相关的任务。本阶段的主要任务或活动包括:?当前的及期望的流程模型(Current & Desired State Process Modeling)
微信小程序开发工具入门教程 微信小程序的推出,让很多App开发者忧喜参半。喜的是终于出现了一种全新的应用生态,不必再纠结于高昂开发成本的App;忧的是微信小程序开发人员需要增加学习成本,而非技术人员则更是无从下手。 但很多人不知道的是,其实微信小程序是可以借助一款简单实用的制作工具「即速应用」生成的。 整个过程无需编程无需代码,通过简单的拖拽组件即可生成微信小程序,非常方便。下面分享一下微信小程序开发教程入门篇,让新手们迅速掌握微信小程序开发的基本方法。 工具/原料 ?微信开发者工具 ?微信小程序生成平台即速应用 方法/步骤 1.登录即速应用官网,点击上方首页菜单的“立即制作”,即可开始进行制作。 2.选择“空白模板”,进行自由创作。如果想节省时间,也可以选择主题模板进行快速制 作。 3.进入制作界面后,可以看到页面分组和页面属性。点击“组件库”,开始搭建页面。 4.根据自己的需求选择组件以搭建页面,每个组件的文案和图片都是可以自己编辑的。
5.即速应用有很多可供选用的组件。比如用于布局的双栏组件、面板组件、顶部导航组件 和底部导航组件。 还有一些可以实现更多复杂功能的高级组件,比如动态列表组件、动态容器组件、自定义表单组件、个人中心组件。 6.把每个页面都编辑好,并做好页面之间的跳转,确保逻辑无误。全部做好之后,点击右 上角的“保存”,然后点击“发布”。若是制作过程中想要找回之前的版本,只需要去历史记录中回复既可。 7.跳转页面后,再次点击“发布”,即可生成。 8.点击“小程序打包”,生成小程序的代码。打包下载之后,就可以直接上传到微信官方 后台的开发者工具里,即可完美对接小程序。技术人员还可以根据自己的需求修改,在原有代码的基础上进行二次开发。 END 注意事项 使用即速应用微信小程序开发工具是为了方便开发,制作完成后,必须导入到微信开发者工具中,才可以达到小程序制作成功效果。
CAD复习题及答案1、AutoLISP 2、VisualLISP 3、VBA 4、ADS 5、ObjectARX
6、.NET 托管API 7、ActiveX Automation
8、Visual Java 1、 AutoCAD二次开发方式有哪些?各自优缺点? 2、 AutoCAD 中实现ObjectARX .NET API 的有哪些优点? 3、 AutoCAD .NET API 的三个主要的DLL文件是? 4、简述ObjectARX .NET API所对应的https://www.doczj.com/doc/b11715781.html,版本。 5、简述AutoCAD数据库的组成。 AutoCAD数据库是用来管理当前图形中的图元实体和其他非几何信息的容器对象,一个AutoCAD数据库包含一套固定的符号表和命名的对象词典,每一个符号表包含一个特定符号
表记录类的实例,例如层表(AcDbLayerTable)中包含层表的记录,块表(AcDbBlockTable)中包含块表记录,所有的AutoCAD实体均包含于块表记录中。词典提供了一种通用容器来存储对象,它可以保存AcDbObject对象以及其它对象,也可以创建新的对象词典,将新的数据库元素加入其中。 AutoCAD数据库的组成如图所示,从图中我们可以看出数据库主要由一下内容组成:1)层表AcDbLayerTable和层表记录AcDbLayerTableRecord,。 2)块表AcDbBlockTable和块表记录AcDbBlockTableRecord。AutoCAD中所有可见实体均存储在块表记录。块表中包含有两条特殊的记录*MODEL_SPACE(模型空间)和*PAPER_SPACE (图纸空间)。 3)其他符号表和符号表记录。 4)命名对象词典。缺省情况下当AutoCAD数据库被建立以后,词典中就包括了组词典以及MILINE样式词典。 5)符号表和命名对象词典都是存储数据库对象的容器,用于组织和管理数据库对象。AutoCAD数据库通常有9个固定类型的符号表,开发者不能向数据库中新增或者删除任何一种类型符号表,能实现的是向符号表中添加对应的符号表记录。 6、 Application 对象是AutoCAD .NET API 对象模型的根对象,它包括哪些部分? Application 对象是层次结构的根,而且它提供对AutoCAD 的主窗口的访问。
Maximo安装部署 作者:王胜华 对Maximo这样一个基于Java平台的EAM部署,应该从它的结构来分步操作。 Maximo由运行容器、数据库服务器和报表服务器三部分组成。
按Maximo的结构,应分四步安装部署: 1、安装Weblogic运行平台; 2、安装Oracle数据库; 3、发布Maximo(为什么是发布,不是安装呢——Maximo经二次开发再使用,开发后一般不会再打包,直接发布更方便些); 4、发布acweb,安装Actuate iServer,安装百科全书,导入百科全书。 各介质的安装都是向导式安装,都是大同小异,现将安装及部署过程的特殊细节一一记录下来。 我安装的是Weblogic8.1,安装后在建立域时,通常选择SUN JDK1.4.xx,若在环境变量里设计JDK1.6,报表运行不起来,JDK1.5版本的还行。最好将环境变量的JDK设为Weblogic8.1自带的。 在建立域后,需要修改启动变量,在startWebLogic.cmd文件中,设置内存参数 set MEM_ARGS=-Xms128m-Xmx1024m-XX:MaxPermSize=128m这些值是区分大小写的。它们指定最小内存和最大内存。(当不是sun jdk时,去掉-XX:MaxPermSize=128m参数)位于%bea%\weblogic81\common\bin中的commEnv.cmd文件,会被startWebLogic.cmd等文件调用,其中需要一个数据连接包oraclethin.jar。在Oracle作为后台数据库下,commEnv.cmd必须将oraclethin.jar包含在Classpath中。先将oraclethin.jar复制到%bea%\weblogic81\server\lib目录下,然后在weblogic81\common\bin\目录中找到commEnv.cm文件,用记事本打开,查找WEBLOGIC_CLASSPATH=,把%WL_HOME%\server\lib\oraclethin.jar;加入到等号后。 Oracle没什么问题,按向导安装一点问题都没有。
小程序技术开发服务合同范本 甲方: 乙方: 甲、乙双方经充分协商,就甲乙双方对小程序技术开发服务达成一致意见,特订立本合同,双方共同遵守。 一、服务内容 (一)产品名称:__________;单价:__________元/年。 (二)服务期限:__________年__________月__________日至__________年__________月__________日。 (三)首年费用合作金额:__________元(大写:__________元)。 (四)收款方式:□现金□支票□汇款□其他。 二、双方的基本权利和基本义务 (一)甲乙双方共同权利和义务 1、不得以任何理由泄露所获知的对方的商业机密。 2、在履行协议时不得作出有损对方形象、声誉的行为。 3、遵守并履行协议的条款。 (二)甲方的权利和义务 1、甲方有义务在合同签订生效日期之前,向乙方支付相应的服务费用,如延期支付,则服务延期,如果在服务过程中产生费用延迟,则甲方需要向乙方缴纳__________%的滞纳金,如延迟时间超过__________天,则乙方有权暂停甲方的服务。 2、有权获知乙方的服务进程,有权在服务结束或服务过程中协商要求乙方提供能提供的相应服务报表。 3、有义务按乙方要求,提供相关的文字,图片等素材,并保证其合法性,如因甲方配合不到位,影响了使用,乙方不负任何责任。 4、妥善保管所需的用户名及密码,否则,造成的不良后果,由甲方自行负担。 5、甲方有权在合同生效后的__________个工作日内收到乙方工作人员的服务进行反馈,开户产品应在__________个工作日内收到用户名和密码,执行类服务应在合同完款__________个工作日内与客户明确执行方案。 6、甲方有权向乙方提出培训需求,乙方应就甲方合作的产品项目安排相应的培训和咨询服务。 (三)乙方的权利和义务 1、乙方就营销各产品系列的销售工作,为甲方提供相关服务。 2、乙方有义务为甲方提供完整的,合同约定的各项移动互联网营销工具服务,包含:注册、开通和提供稳定的运行环境(稳定环境:指中国标准环境,不稳定因素有客户宽带,电脑和系统陈旧,电信运营商之间互通问题等原因,保证技术、存储和输出宽带等稳定,因为客户自身和国家因素造成的不稳定,非深圳市互联科技有限公司承诺的范围)。 3、乙方在收到甲方上述约定的全部费用后__________个工作日内,必须开始履行该合同的义务,上述约定服务的关联用户名,密码,各类数据报表和其他必要的说明性或确定性资料均由乙方向甲方提供的上述邮箱地址、QQ或微信发送,甲方获取后即可登录相关的产
编号:YK-HT-045306 小程序技术开发服务合同范本 Small program technology development service contract template 甲方:_________________________ 乙方:_________________________ 日期:_________年_____月_____日 精品合同 / Word文档 / 文字可改 编订:Yunbo Design
小程序技术开发服务合同范本 甲方: 乙方: 甲、乙双方经充分协商,就甲乙双方对小程序技术开发服务达成一致意见,特订立本合同,双方共同遵守。 一、服务内容 (一)产品名称:__________;单价:__________元/年。 (二)服务期限:________年____月____日至________年____月____日。 (三)首年费用合作金额:__________元(大写:__________元)。 (四)收款方式:□现金□支票□汇款□其他。 二、双方的基本权利和基本义务
(一)甲乙双方共同权利和义务 1、不得以任何理由泄露所获知的对方的商业机密。 2、在履行协议时不得作出有损对方形象、声誉的行为。 3、遵守并履行协议的条款。 (二)甲方的权利和义务 1、甲方有义务在合同签订生效日期之前,向乙方支付相应的服务费用,如延期支付,则服务延期,如果在服务过程中产生费用延迟,则甲方需要向乙方缴纳__________%的滞纳金,如延迟时间超过__________天,则乙方有权暂停甲方的服务。 2、有权获知乙方的服务进程,有权在服务结束或服务过程中协商要求乙方提供能提供的相应服务报表。 3、有义务按乙方要求,提供相关的文字,图片等素材,并保证其合法性,如因甲方配合不到位,影响了使用,乙方不负任何责任。 4、妥善保管所需的用户名及密码,否则,造成的不良后果,由甲方自行负担。
第一课:入门 1.为什么要写这个教程 市面上ACAD VBA的书不多,它的帮助是英文版的,很多人看不懂。其实我转行已经好几年了,而且手艺也慢慢生疏了,写个教程对自己来说也是一次复习。 2.什么是Autocad VBA? VBA是Visual Basic for Applications的英文缩写,它是一个功能强大的开发工具,学好VBA可以成倍甚至成百、成万倍提高工作效率,在工作中,有很多任务仅用ACAD命令不可能完成的,只要学好VBA就可以做到,相信到时候您一定会得到同事的佩服、老板的器重。 3、VBA有多难? 相信大家都知道Basic是的含义。应该承认,我的水平还不高,错误之处在所难免,如果大家发现错误一定要提出批评,以便及时更正。 4、怎样学习VBA? 介绍大家一个学习公式:信心+恒心=开心。仔细阅读本教程,完成例题,在学习的过程中一定要多思考,多想一些是什么、为什么。本教程将陆续发布在CAD世界论坛上,您不需要付费就可以学习。本作者在此郑重承诺:关于本教程中有任何疑问,可以跟贴提问,只要有时间,本人一定会耐心解答。我不会发到任何人的邮箱中,您自己在论坛上找就可以了,请不要再向我索要这份教程。 5、现在我们开始编写第一个程序:画一百个同心圆 第一步:复制下面的红色代码 第二步:在模型空间按快捷键Alt+F8,出现宏窗口 第三步:在宏名称中填写C100,点“创建”、“确定” 第四步:在Sub c100()和End Sub之间粘贴代码 第五步:回到模型空间,再次按Alt+F8,点击“运行” Sub c100() Dim cc(0 To 2) As Double '声明坐标变量 cc(0) = 1000 '定义圆心座标 cc(1) = 1000 cc(2) = 0 For i = 1 To 1000 Step 10 '开始循环 Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆 Next i End Sub 也许您还看不懂上面的代码,这没有关系,只要能把同心画出来就可以了,祝您成功。 第二课编程基础 本课主要任务是对上一课的例程进行详细分析 下面是源码: Sub c100() Dim cc(0 To 2) As Double '声明坐标变量 cc(0) = 1000 '定义圆心座标 cc(1) = 1000 cc(2) = 0 For i = 1 To 1000 Step 10 '开始循环 Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆
小程序直播开发方案 在小程序直播的开发中,微信小程序提供了两个标签
一,MAXIMO源码常用包 MAXIMO源码有很多包,开发经常用到的是下面几个: psdi.app 每个模块对应的商业逻辑,例如psdi.app.po 下面的类就为采购单对应 的业务逻辑。 psdi.jsp.app 每个模块对应的页面流转代码,例如页面上的菜单及按钮 psdi.jsptags JSP标签 psdi.mbo 最核心的包 psdi.util 工具类 psdi.workflow 工作流对应的类 二,MAXIMO源码常见类 psdi.mbo.Mbo,psdi.mbo.MboRemote 与psdi.mbo.MboSet,psdi.mbo.MboSetRemote 这几个个类是最常见的类,所有带业务逻辑的类都是继承Mbo和MboSet。 例如WO和WOSET、PR和PRSET。 Mbo类是处理单条记录的类。 MboSet类是包含多个Mbo的类,可以看成是Mbo的数组。 一般都是由Mbo调用MboSet,是用getThisMboSet()来得到。 有MboSet得到Mbo是用getMbo()或getMbo(i)得到。 psdi.jsp.beans.MboSetBean 这个类是用于存放JSP上输入的数据的类,例如页面上的mbosetid="rec"就是指的是这个类。 FldXXXX类,是操作字段的类,一般有下面四个方法 Init() 初始化工作 initV alue() 初始化值时的工作 validate() 数据校验,一般在光标离开此字段的输入框时校验 action() 当validate执行完时,执行的动作 三,获取外表Mboset,其中红色字体为表名。 MboSetRemote persongroupteam = MXServer.getMXServer().getMboSet("PERSONGROUPTEAM", getUserInfo()); 设置满足条件的数据: persongroupteam.setWhere("RESPPARTYGROUP = '" + userName + "'"); RESPPARTYGROUP为表PERSONGROUPTEAM中的某一字段, 这句的意思是搜索出满足字段的USERNAME的记录集。 1、MAXIMO源码常用包 MAXIMO源码有很多包,开发经常用到的是下面几个:
小程序能给我们带来什么? 小程序正以每天23600个的速度被商家抢购注册,为什么大家选择小程序? 唯一性:小程序名称具有唯一性,像域名或网络实名一样,谁先注册谁拥有 流量大:微信拥有近10亿的活跃用户,没有任何一个电商平台可以与之匹敌,再加上微信可裂变的社交链,带来了更大的商机 入口丰富:据统计小程序目前入口有微信群、搜一搜、公众号等,有50+之多 传播能力强:小程序能够做到覆盖附近5公里所有微信用户, 广泛获取用户 顺势而动,十二大优势打造企业盈利机器 小程序是微信上自带的一个功能,是腾讯开发的一个微信端口。二次开发的小程序,其功能包括支付功能,聊天功能,网上商城,外卖,电影,游戏,还可对接当地的商店商品。 小程序给商家带来的好处: 01 开通小程序,五公里范围内的微信用户都能看到你,解决当下商家广告无处可打的尴尬。五公里排名根据距离来排名,和店铺品牌大小没有关系。 02 减化app,未来两年80%的app将会被取代,不需要下载app,用之即来,用完即走。 03
强大的搜索引擎,把你的公司、实体店曝光在全国微信用户面前(根据关键字的吻合度)。 04 再小的店也有自己的品牌!一张小程序二维码可以让消费者看到你店里的详细经营情况和折扣优惠卷,非常方便! 05 对于两类人来说,小程序可以大大降低成本:大众创业者和零售商家。 这两类人也是整个商业市场中的大多数。对于大众创业者而言,如果你没有野心要做BAT,你也没有野心要作TMD,就只是想要做点小生意,小程序就足够使用了,没有必要非得去开发一个APP。比如前两天发现一个小程序,他们就是专门做提供各种评测游戏的,比如测测颜值、测测人品什么的,这种小游戏永远都有市场,它的局限性决定了不可能做成BAT这么大规模,闷声赚钱是才是他们最理想的生活。他们可以通过病毒复制的方式,同时上线多个小程序,以保证鸡蛋不在一个篮子里面。一般的线下零售商家,除了每年要交给平台固定的套餐费用之外,还需要被平台从流水里抽出几个点,一年下来被平台抽去的利润惊人。O2O平台已经走到了和淘宝天猫一样的十字路口,那就是通过流量绑架商户,每年吃掉商家大量的利润。微电商之所以在2015走上一个巅峰,就是因为平台商家不堪其重,纷纷寻找新的流量平台。 微电商主要分为平台微电商和朋友圈微电商,一个依赖SAAS,一个依赖朋友圈。但是各自都有其局限性,SAAS是独立于微信内容之外的一个工具插件,其内容无法被微信体系进行抓取,但是小程序 却可以有效地和公众号进行打通,其本身在微信体系内也拥有多达十二个流量入口,可以与微信的整个生态完美地结合。 06
第 1章 Hello World: 工程的创建 在这一章中,我们将不使用ObjectARX向导来创建一个新的工程。我们将使用Visual Studio .NET来创建一个新的类库工程。通过这个工程,你可以创建一个能被AutoCAD装载的.NET dll文件。这个dll文件会向AutoCAD加入一个名为“HelloWorld”的新命令。当用户运行这个命令后,在AutoCAD 命令行上将显示“Hello World”文本。 1) 启动Visual https://www.doczj.com/doc/b11715781.html,,选择”文件>新建>工程”(File> New> Project)。在新建工程对话框中选择工程类型为”Visual Basic 工程”,然后选择”类库”模板,在工程名字框中输入”Lab1”,然后选择工程存放的位置。点击确定按钮来创建工程。 2) 在工程的Class1.vb文件中,一个公有类“Class1”已经被系统自动创建了。接下来向这个类加入命令。要加入命令,你必须使用AutoCAD .NET托管封装类。这些托管封装类包含在两个托管模块中。要加入对这两个托管模块的引用,请用鼠标右键单击”引用”然后选择”添加引用”。在弹出的”添加引用”对话框中选择”浏览”。在”选择组件”对话框中,选择AutoCAD 2006的安装目录(这里假定为C:\Program Files\AutoCAD 2006\),在这个目录下找到“acdbmgd.dll”然后选择并打开它。再一次选择”浏览”,在AutoCAD 2006 的安装目录下找到“acmgd.dll”并打开它。当这两个组件被加入后,请单击”添加引用” 对话框中的”确定”按钮。正如它们的名字所表示的,acdbmgd.dll包含ObjectDBX托管类,而acmgd.dll包含AutoCAD托管类。 3) 使用对象浏览器(Visual https://www.doczj.com/doc/b11715781.html,的”查看>其它窗口>对象浏览器”菜单项)来浏览加入的两个托管模块所提供的类。请展开“AutoCAD .NET Managed Wrapper”对象(在对象浏览器中显示为acmgd),在整个教程中我们将使用这个对象中的类。在本章中,我们将使用“Autodesk.AutoCAD.EditorInput.Editor”类的一个实例来在AutoCAD命令行中显示文本。请再展开“ObjectDBX .NET Managed Wrapper” 对象(在对象浏览器中显示为acdbmgd),这个对象中的类将被用来访问和编辑AutoCAD图形中的实体(这部分内容将在以后的章节中介绍)。 4) 引用了ObjectARX .NET 封装类后,我们就可以导入它们。在Class1类的声明语句(位于Class1.vb文件的顶部的)之前,导入ApplicationServices, EditorInput 和 Runtime 命名空间。 Imports Autodesk.AutoCAD.ApplicationServices Imports Autodesk.AutoCAD.EditorInput Imports Autodesk.AutoCAD.Runtime 5) 接下来在类Class1中加入命令。要加入能在AutoCAD 中调用的命令,你必须使用“CommandMethod”属性。这个属性由Runtime命名空间提供。在类Class1中加入下列属性和子程序。注意续行符” _”的使用。 Public Class Class1
二次开发培训 1、二次开发介绍 1.1、对象及属性 设计好表结构后,通过MAXIMO中“数据库配置”应用程序创建表。创建过程中需要注意以下属性: 1.1.1、对象选项 1.1.2、属性选项
1.2、MBO介绍 如果需要在新建的对象中加入特殊的业务逻辑,则需要自己编写MBO,并部署到相应的对象。 操作方法是在数据库配置应用程序中,找到指定的对象,并在“类”字段处输入值。如下图所示: 1.2.1、MBO介绍 Mbo可理解为数据库中某一条记录,其方法都是对记录的操作,如:添加、删除、修改等。
1.2.1.1、MBO中常用的方法 1.2.2、MboSet介绍 MboSet可以理解为Mbo的集合,既多个Mbo。其方法都是对整个Mbo集合的操作。 1.2.2.1、MboSet常用方法
1.2.3、字段绑定逻辑介绍 如果需要在指定的字段上加入特殊的业务逻辑,则需要自己classes,并部署到相应的字段上。必须继承psdi.mbo.MboValueAdapter或 psdi.mbo.MAXTableDomain(弹框)。 操作方法是在数据库配置应用程序中,找到指定的对象,并在“类”字段处输入值。保存修改后,需要停止服务,执行configdb.bat使更改生效。如下图所示: 1.2.3.1、字段绑定类中常用的方法
1.3、AppBean介绍 AppBean用于实现MAXIMO6中应用程序的界面操作控制,如界面的新建、保存、发送工作流等。在HARV-EAM系统中可参考“采购单”应用程序的AppBean,harv.webclient.beans.po.CtmPOAppBean。 1.3.1、AppBean常用方法介绍 1.4、DataBean介绍 DataBean用于实现MAXIMO6中特定数据源的界面操作控制,如弹出窗口中按钮的事件等。在HARV-EAM系统中可参考“采购单”应用程序的DataBean,harv.webclient.beans.pocheck.SelectPoCheckLineBean。