33
计计计计计计计 CAD 计计 计计计计计计 计计 CAD 计计计计计计计计计计计计 计计计 [email protected]

计算机图形学与 CAD 技术

  • Upload
    kaia

  • View
    89

  • Download
    3

Embed Size (px)

DESCRIPTION

计算机图形学与 CAD 技术. 华中科技大学 国家 CAD 支撑软件工程技术研究中心 王彦伟 [email protected]. 目标. 1) 了解 CAD 系统开发的问题及其特点; 2) 了解 CAD 系统二次开发的步骤和开发模式; 3) 了解 CAD 二次开发的体系结构和对 CAD 系统自身的要求; 4) 了解 AutoCAD 二次开发的方式; 5) 掌握 AutoCAD 二次开发中 VBA 方式的基本步骤,能够用 VBA 进行简单形体的绘制; 6) 了解复杂二次 CAD 开发的大致过程和应注意的方面; - PowerPoint PPT Presentation

Citation preview

Page 1: 计算机图形学与 CAD 技术

计算机图形学与 CAD技术

华中科技大学国家 CAD 支撑软件工程技术研究中心

王彦伟[email protected]

Page 2: 计算机图形学与 CAD 技术

1) 了解 CAD 系统开发的问题及其特点;2) 了解 CAD 系统二次开发的步骤和开发模式;3) 了解 CAD 二次开发的体系结构和对 CAD 系统自身的要求;4) 了解 AutoCAD 二次开发的方式;5) 掌握 AutoCAD 二次开发中 VBA 方式的基本步骤,能够用 VBA 进行简单形体的绘制;6) 了解复杂二次 CAD 开发的大致过程和应注意的方面;7) 了解常用三维 CAD 系统二次开发的方式及其支撑模块名称和作用;8) 了解 Pro/Toolkit 二次开发的基本设置过程;9) 掌握 ProE 二次开发中菜单接口和参数化接口的实现。

目标

Page 3: 计算机图形学与 CAD 技术

7.1 、机械 CAD 系统的要求7.1.1 机械 CAD 系统的特点7.1.2 机械 CAD 系统的开发模式7.1.3 机械 CAD 系统的开发步骤7.2 、机械 CAD 系统二次开发技术基础7.2.1 对二次开发系统的要求7.2.2 机械 CAD 系统的体系结构7.2.3 二次开发模式及开发接口7.3 、基于二维 CAD 系统的二次开发7.3.1 AutoCAD 二次开发工具7.3.2 基于 Auto Lisp 的二次开发7.3.3 基于 VBA 的二次开发7.4 、基于三维 CAD 系统的二次开发7.4.1 Pro/Toolkit和 Pro/develop7.4.2 Pro/E 二次开发步骤7.4.3 Pro/E 开发关键技术

内容

Page 4: 计算机图形学与 CAD 技术

1、机械产品设计的特点机械零件设计计算要涉及到零件材料及热处理方法的选择,设计参数确定。几何尺寸计算、结构设计、强度、刚度计算,使用寿命要求,标准件选择等多方面的问题,具有设计要求多、计算公式多、设计参数多、图表多等特点。因此机械零件设计计算程序要有合理的数学模型,具有对数表、线图的存储和自动检索能力,对标准参数的选取、圆整能力,还要具有对设计参数修改的应变能力。

7.1 机械 CAD 系统的要求7.1.1 机械 CAD 系统的特点

Page 5: 计算机图形学与 CAD 技术

( 1 )设计资料的处理机械产品的设计计算中需要用到很多参数、系数,它们当中绝大多数需要从数表、线图中查取,有的参数(如齿轮传动的模数)需按国家标准圆整为标准值,有的参数需要圆整为整数,因此,机械 CAD 系统开发需要解决设计资料的处理问题,具体方法详见第六章。( 2 )设计参数分析、判断和调整机械产品设计应满足的条件较多,如齿轮传动设计应满足齿面接触强度要求、齿根弯曲强度要求、胶合和塑性变形条件、螺旋角合理范围要求等,因此机械 CAD 系统的开发应解决设计参数分析、判断及调整修改问题。( 3 )计算与数据管理、造型之间的关系完整的机械产品设计包括:设计计算、数据管理、零件造型及装配、工程图生成等几部分,相关内容都是相对独立的内容,机械 CAD 系统需要解决相关功能模块之间的联络连接问题。( 4 )良好的用户界面机械 CAD 系统用户界面的设计是一项关系全局且体现软件设计水平的工作。用户界面是人与计算机进行交互的接口,人 - 机交互由最早的批处理作业方式、问答方式逐步发展成为菜单交互方式,又发展成为今天的图形交互接口。机械 CAD 系统的用户界面应保证进行机械产品设计时,整个设计过程思路清晰、界面简洁,操作方便。

7.1 机械 CAD 系统的要求7.1.1 机械 CAD 系统的特点

Page 6: 计算机图形学与 CAD 技术

7.1 机械 CAD 系统的要求7.1.2 机械 CAD 系统的开发模式

目前的三条思路:

1)从底层平台开始开发

2)购买几何引擎,进行通用平台和专业应用开发

3)基于成熟商用系统进行专业化二次开发

Page 7: 计算机图形学与 CAD 技术

Solid Edge

CATIAUG NX

Pro/E

Inventor

美、法等国的 CAD 技术一直走在世界的前沿,它们拥有许多世界闻名的 CAD/CAM 系统,这些系统具备十分强大的功能。

国内 : 清华大学、北航、新舟、浙大、华工

7.1 机械 CAD 系统的要求7.1.2 机械 CAD 系统的开发模式

Page 8: 计算机图形学与 CAD 技术

7.1 机械 CAD 系统的要求7.1.3 机械 CAD 系统的开发步骤

( 1 )明确设计任务、要求、适用范围和功能;( 2 )确定设计计算准则、计算方法,建立数学模型;( 3 )列出设计计算步骤、计算公式、设计参数符号及变量对照表;( 4 )根据设计计算内容、方法、步骤制定程序流程图;( 5 )确定有关数表、线图处理方法,完成图、表数据存储和自动检索等模块的开发,以及有关数据文件或数据库的建立工作;( 6 )开发各功能模块,将设计计算与数据库文件、结构参数化造型、二维工程图绘制连接起来,形成机械零件 CAD 模块。

Page 9: 计算机图形学与 CAD 技术

7.2 机械 CAD 系统二次开发技术基础7.2.1 对二次开发系统的要求

进行机械 CAD 系统二次开发工作,应着重关注以下几点要求:( 1 )平台的易用性。二次开发的最终目标是使通用的 CAD 系统能够更好地为专业的用户服务,因此要特别重视二次开发系统的易用性。( 2 )技术的先进性。二次开发技术应尽量保持与软件技术的同步,尽量以最新版的软件为技术平台进行开发。 ( 3 )执行的高效性。确保二次开发所获得的系统具有较高的执行效率,可以在相应的 CAD 系统中快速创建出实体模型或工程图。( 4 )平台的稳定性。保证所开发软件系统能够稳定运行,也是任何软件系统的最基本的保证。

Page 10: 计算机图形学与 CAD 技术

7.2 机械 CAD 系统二次开发技术基础7.2.1 对二次开发系统的要求

二次开发的内容

机械 CAD 系统二次开发工作主要包括以下内容:( 1 )交互式系统的完善。( 2 )交互式系统、数据库管理系统、数值计算分析系统间的连接和相互调用,主要是各个系统与高级语言的接口设计。( 3 )参数化设计模块的设计,主要包括相关零部件的参数化造型、参数化设计计算和校核计算等几个子程序。( 4 )界面设计,主要包括图标菜单的设计、对话框的设计等。( 5 )国家标准数据库的建立。( 6 )工程符号和汉字的处理。

Page 11: 计算机图形学与 CAD 技术

7.2 机械 CAD 系统二次开发技术基础7.2.2 机械 CAD 系统的体系结构

复合材料设计

航空钣金设计

航空工装设计

基础核心层

通用平台层

专业应用层

系统支撑软件(数据库、操作系统等)

API接口

CAX/PDM应用接口总线

用户1 用户2 用户3 用户n

数字化协同工作平台

PDM/PLM

API接口

专用管路设计

航空电器设计

航空布线设计

航空数字样机

人机工程

其它应用

航空知识处理

设计资源管理机制

零部件管理机制

知识处理机制

草图设计

曲面建模

特征建模

工业渲染

约束求解引擎

几何建模引擎

通用图形管理

知识推理引擎

基础算法类库

其它基础类库

优化设计引擎

概念设计

工程绘图

零件设计

装配设计

钣金设计

逆向工程

运动仿真

其它工具

干涉分析

工艺设计

加工平台

车削加工

铣削加工

可制造性分析

加工仿真

基于组件的二次开发接口

与ERP、CRM、

SCM等其它系统接口

各种数据交换接口

与其它CAD/CAM系统接口

(CATI A、UG、Pro/ E等)

标准数据接口(IGES、

STEP、SAT、X_T、DXF、VRML等)

工程分析系统接口

(NASTRAN、ANSYS、CFDADAMS等)

办公自动化软件接口

(Word、Excel等)

Page 12: 计算机图形学与 CAD 技术

7.2 机械 CAD 系统二次开发技术基础7.2.3 二次开发模式及开发接口两种模式一种是借助于 CAD 软件自身提供的二次开发工具进行开发。

另一种是利用 COM或 Automation 技术,用一种编程软件调用三维 CAD 软件的对象及属性进行开发,这种开发模式是目前最流行的一种开发模式,例如 SolidWorks、 CATIA和 UG 等均提供 API函数,可利用VB、 VC、 Delphi 等面向对象的语言调用这些函数实现二次开发。

另外,基于 CAD 系统二次开发模式又分为外模式和内模式两种。外模式是指二次开发的程序具有独立运行的进程和界面,如 Win32执行程序,通过宿主程序 API或组件实现对 CAD 系统的功能调用;内模式是指二次开发程序只能在宿主程序界面框架下运行,通常是一种动态链接库,供宿主程序调用。

Page 13: 计算机图形学与 CAD 技术

7.2 机械 CAD 系统二次开发技术基础7.2.3 二次开发模式及开发接口

要进行二次开发,前提是宿主程序(即平台 CAD 软件系统)要提供二次开发接口。C/C++语言二次开发的步骤:( 1 )编辑 C/C++源程序,使用该平台提供的二次开发接口API函数或类。( 2 )编译、链接,生成可在该通用平台下运行的可执行程序 .EXE或 .DLL 。编译时使用 API函数支持“ #include” 相关的头文件。链接时支持在 C/C++ 工程中导入该 API函数的库索引文件“ LIB” 。( 3 )在通用平台下载入可执行程序,执行得到相关的结果。运行时支持提供该 API函数所在的库执行文件“ DLL” ,需要在生成的可执行程序目录下,或在该通用平台指定的搜索路径下。

Page 14: 计算机图形学与 CAD 技术

CATIA二次开发简介

宏命令方式:直接将过去的命令过程录制成Macro, 修改其中的参数,即可重新生成。但是,宏在执行过程中无法交互修改,智能化程度低,适合简单的重复性操作过程。优势是平台兼容性好。

两种模式:• In-Process Application(进程内)• Out-Process Application(进程外)

两类方法:– CAA– Automation

7.2 机械 CAD 系统二次开发技术基础7.2.3 二次开发模式及开发接口

Page 15: 计算机图形学与 CAD 技术

• CAA C++是 CATIA的一整套 C++函数库,该函数库在 CATIA运行时加载。用户通过安装 RADE (Rapid Application Development Environment)模块,用户可以在 VC++编程环境下编制程序,与 CATIA进行通信。

• CAA C++可以进行最有效率的应用程序开发,但入门困难。

• 利用 CAA可以进行从简单到复杂的二次开发工作,而且和原系统的结合非常紧密,如果没有特别的说明,无法把客户所研发的功能从原系统中区分出来,这非常有利于用户的使用和集成。

7.2 机械 CAD 系统二次开发技术基础7.2.3 二次开发模式及开发接口

Page 16: 计算机图形学与 CAD 技术

几个概念:• COM:(对象组件模型 ): COM是微软公司提出的目的在不同程序中共享对象标准。

• Automation: Automation是一种微软公司的技术,目的是在开发环境里使用 COM对象。

• ActiveX组件是一种微软标准,目的是在开发环境里共享不同程序的对象。

• OLE:(对象链接及嵌入)意味着一个文件可以被另外的一个程序的文件链接。这种链接及嵌入的对象可以被其他的程序在编辑区编辑。

7.2 机械 CAD 系统二次开发技术基础7.2.3 二次开发模式及开发接口

Page 17: 计算机图形学与 CAD 技术

Visual Basic, VBA, VBScript之间的区别

• Visual Basic(Visual Basic专业版 ): VB是个完全的版本。– 可以编制独立的程序。– 也可以创建 ActiveX和程序服务器。– 可以被编译。– VB提供了自己的文档——《在线帮助》

• VBA(Visual Basic for Application): VBA是 VB的一个子集。– VBA是程序中的主机,就象Word,Excel。– 它提供了一个带有编辑器、除错器、帮助、对象浏览器、完成器的完整的开发环境。

– 利用它的 Tools-Reference菜单可以声明使用的对象库。这在完成和对象浏览器之间建立了一个通道。

• VBScript(Visual Basic Script): VBScript是 VB的一个子集。– 更简单的 VB解释语言。– 可以调运 CATIA对象。– 没有数据类型的区别。系统总是动态的调用函数和对象属性。 (迟绑定调用对象通过他们的 Idispatch接口 )

7.2 机械 CAD 系统二次开发技术基础7.2.3 二次开发模式及开发接口

Page 18: 计算机图形学与 CAD 技术

VB应用与CATIA通讯

Dim Doc as DocumentSet Doc = CATIA.Documents.Add(“Part”)

Dim Doc as DocumentSet Doc=CATIA.Documents.Open(“E:\Parts\DocumentToOpen.CATPart”)

7.2 机械 CAD 系统二次开发技术基础7.2.3 二次开发模式及开发接口

Page 19: 计算机图形学与 CAD 技术

取得或创建一个零件体:当创建一个零件文件时,系统会自动创建一个默认的零件体。可以获得并使用它:Set MyBody =

MyDocument.Part.Bodies.Item("PartBody")也可以创建一个新的零件体并使用:Set MyNewBody =

MyDocument.Part.Bodies.Add()

7.2 机械 CAD 系统二次开发技术基础7.2.3 二次开发模式及开发接口

Page 20: 计算机图形学与 CAD 技术

实例:凸轮轴

7.2 机械 CAD 系统二次开发技术基础7.2.3 二次开发模式及开发接口

Page 21: 计算机图形学与 CAD 技术

‘创建凸轮组Sub CreateCamSet(dAngle As Double, dRefDis As Double) CreateBearing dCamSetDis, dRefDis CreateCam dAngle, dCamSetDis - 3 * dCamThickness + dRefDis CreateCam dAngle, dCamSetDis - dCamThickness + dRefDisEnd Sub

‘ 创建驱动轮Sub CreateDriveWheel(dRefDis As Double) CreateBearing dCamSetDis, dRefDis …End Sub

7.2 机械 CAD 系统二次开发技术基础7.2.3 二次开发模式及开发接口

Page 22: 计算机图形学与 CAD 技术

7.3 基于二维 CAD 系统的二次开发技术7.3.1 AutoCAD 二次开发模式

1、 Auto Lisp 技术Lisp语言是一种表处理语言,是广泛应用于人工智能的语言。 Auto Lisp语言完全嵌套在 AutoCAD 内部,同 AutoCAD 有机结合成一体,它继承了Lisp语言的语法、传统约定和基本函数与数据类型,并扩充了强大的图形处理功能,语法简洁、表达能力强、函数种类多、程序控制结构灵活,既能完成常用的科学计算和数据分析,又能直接调用绝大多数 AutoCAD 的命令,具备一般高级语言所没有的图形处理能力,进行 AutoCAD 的二次开发。2、 ARX( C++ )技术ObjectARX编程环境为编程人员提供了以对象为导向的 C++、 C#和VB.NET 应用编程接口,支持其使用、定制和扩展 AutoCAD 软件和基于AutoCAD 的产品。 ObjectARX类库提供了丰富的工具,能够帮助用户充分利用 AutoCAD 软件的开放式体系结构,支持直接访问 AutoCAD 数据库结构、图形系统和本地命令定义。3、 VBA 技术AutoCAD 中的 ActiveX Automation 对象模型和 VBA集成后构成建立了一个定制 AutoCAD 软件程序的框架。有了使用 VBA 开发的 ActiveX控件和其他应用(如 Microsoft Office ),在开发面向 AutoCAD 软件的定制解决方案时就不存在对象限制问题。

Page 23: 计算机图形学与 CAD 技术

7.3 基于二维 CAD 系统的二次开发技术7.3.2 基于 AutoLisp 的二次开发

1 Lisp 特点Auto Lisp 成为许多用户首选的 AutoCAD 二次开发工具,与它易学易用、善于贴切地描述设计者思路的特点分不开。许多用户在开始接触 Auto Lisp语言时就可以编写出实现特定功能的程序,但开发完善的机械 CAD 系统也不是一件容易的事情,其开发涉及较多的具体内容,限于篇幅,这里只能简要介绍基于 Auto Lisp的 AutoCAD 的二次开发相关技术与方法,有兴趣的读者可以进一步参阅相关文献。2、 AutoCAD对话框的定制AutoCAD 对话框新颖直观,在很大程度上简化了程序与用户的交互操作,提高软件的使用效率。 AutoCAD 对话框功能由定义各对话框控制语言 DCL( Dialog Control Language )与对话框驱动程序实现,可以通过 AutoLisp语言来管理对话框。

Page 24: 计算机图形学与 CAD 技术

7.3 基于二维 CAD 系统的二次开发技术7.3.3 基于 VBA 的二次开发在 AutoCAD 中实现 VBA 有四大优点:(1) Visual Basic编程环境易于学习和使用。(2) VBA可与 AutoCAD在同一进程空间中运行,这使程序执行得非常快。(3) 对话框的构造快速而有效。这使开发人员可以构造原型应用程序并迅速收到设计的反馈。(4) 工程可以是独立的,也可以嵌入到图形中。这样就为开发人员提供了非常灵活的方式来发布他们的应用程序。

AutoCAD VBA 工程是由许多程序模块、类模块和窗体组成的集合,他们同时运行即可完成指定的功能。 VBA 工程可以保存于 AutoCAD 图形文件内部,称为内嵌VBA 工程;亦可保存为独立的工程,称为全局 VBA 工程,以 *.dvb文件格式保存。

对于内嵌 VBA 工程,当打开包含该工程的 AutoCAD 图形文件时,它将被自动加载。因此,在运行内嵌 VBA 工程程序之前,其用户不须在文件夹中去寻找工程文件并加载该工程,使得工程管理更加方便。

全局 VBA 工程的功能较多。全局工程可在任何 AutoCAD 图形中运行,亦可在工程中打开或关闭 AutoCAD 图形。全局工程容易与其他用户共享,且可制作成共享的宏 资源库,因此应用 VBA 开发通用应用程序时,应将其保存为全局工程

Page 25: 计算机图形学与 CAD 技术

7.3 基于二维 CAD 系统的二次开发技术7.3.3 基于 VBA 的二次开发

VBA绘制直线实例

ThisDrawing.Application.Documents.Add ’ 打开新图形Dim StartPoint(0 To 2) As Double ’ 定义起点坐标Dim EndPoint(0 To 2) As Double ’ 定义终点坐标StartPoint(0) = txtXS ’ 提取起点 x坐标StartPoint(1) = txtYS ’ 提取起点 y坐标StartPoint(2) = txtZS ’ 提取起点 z坐标EndPoint(0) = txtXE ’ 提取终点 x坐标EndPoint(1) = txtYE ’ 提取终点 y坐标EndPoint(2) = txtZE ’ 提取终点 z坐标Dim LineObj As AcadLine ’ 定义 Line 对象’ 设置 Line 对象Set LineObj = ThisDrawing.ModelSpace.AddLine (StartPoint, EndPoint)ThisDrawing.SaveAs("D:\Line_Ex.dwg") ’ 保存图形

Page 26: 计算机图形学与 CAD 技术

7.3 基于二维 CAD 系统的二次开发技术7.3.3 基于 VBA 的二次开发

V带设计实例

将相关的资料处理、计算和基于 VBA的 AutoCAD 工程图绘制等程序代码与 V带传动 CAD 软件人机界面关联起来,即可生成 V带传动 CAD 系统。

Page 27: 计算机图形学与 CAD 技术

7.4 基于三维 CAD 系统的二次开发7.4.1 Pro/Toolkit和 Pro/Develop

Pro/Toolkit和 Pro/Develop是 PTC 公司的 Pro/Engineer 软件的开发工具包,用 C库函数的头文件的方式提供。Pro/E17版本以前,以 Pro/Develop提供; V18以后,两者混用,逐步抛弃 Pro/Develop。 Pro/develop函数或对象以“ pro” 开头; Pro/Toolkit函数或对象以“ Pro” 开头,函数的返回值大都以 ProErrors枚举类型数据中,正确返回 PRO_TK_NO_ERROR ,即 0 。Pro/TOOLkit 的安装与 Pro/E 一起,选择 API Toolkits的 Pro/TOOLkit即可。安装的 Pro/Toolkit 的目录结构( pro/develop类似):

Page 28: 计算机图形学与 CAD 技术

7.4 基于三维 CAD 系统的二次开发7.4.2 Pro/E 二次开发步骤

1、 VC下环境的设置可以用 Make文件创建 Pro/TK 应用,也可以在网上下载 protoolkit.awx的 Pro/Toolkit 工程向导。可以直接利用 MFC Appwizard(dll)建立 Pro/Toolkit 应用。以 Pro/E2001为例,其工程设置如下:( 1 )包含头文件 ;( 2 )库文件搜索 ;( 3 )连接库文件: protk_dll.lib prodev_dll.lib prodevelop.lib protoolkit.lib2、应用的加载方式

( 1 )手工加载 DAT :在 Pro/E 菜单命令“辅助应用程序”中加载指定的DAT文件,如 3DLib.DAT ,其格式为:

NAME StdPartLibALLOW_STOP TrueEXEC_FILE C: \HUSTCAD\Inte3DLIB for ProE\Proe3dLibFace.dllTEXT_DIR C: \HUSTCAD\Inte3DLIB for ProEstartup dllREVISION 23END

Page 29: 计算机图形学与 CAD 技术

7.4 基于三维 CAD 系统的二次开发7.4.3 Pro/E 开发关键技术

Pro/E原有菜单增加菜单及其命令 1 ProMenubarMenuAdd ("StdParts", "StdParts Design", "Utilities", PRO_B_TRUE,MSGFIL); /在 Utilities 菜单前增加一个下拉菜单条 StdParts ,其显示标题为 StdParts Design在菜单文件(存放在应用程序的 \text\usascii 目录下)对应的文本,如下面的“典型零部件设计”2= ProMenubarmenuMenuAdd (“StdParts”,“ Gear”,“ Gear Design Menu”, NULL,PRO_B_TRUE,MSGFIL);在菜单条 StdParts下增加一个菜单项 Gear( 为第一个 ) ,其显示标题为 Gear Design Menu在菜单文件中对应的下行文本,如这里是“齿轮类零件”3ProCmdActionAdd(“CyGear Command”, (uiCmdCmdActFn)CGearDesign,uiProe2ndImmediate, TestAccessDefault, PRO_B_TRUE, PRO_B_TRUE, &gear_cmdid);定义一个命令映射, CyGear Command 的执行代码为 CGearDesign函数。4ProMenubarmenuPushbuttonAdd(“Gear”,“ Gear1”,“ CyGear Design”,“ Installation test3”, NULL, PRO_B_TRUE, gear_cmdid,MSGFIL); 在 Gear 菜单下添加一个子菜单项 Gear1 ,其显示标题为 CyGear Design 对应的文本(“圆柱齿轮设计”),其命令为 gear_cmdid ,即对应 CGearDesign函数

Page 30: 计算机图形学与 CAD 技术

7.4 基于三维 CAD 系统的二次开发7.4.3 Pro/E 开发关键技术

参数化设计int ParamDesign(ProMdl model, CString sVarName, double dValue){status = ProArrayAlloc (0, sizeof (ProFeature), 1, (ProArray *)&fList);// 内存分配eStatus = UserFeatureCollect (model, &fList); //获得模型 model 的全部特征 .

// 查找参数//获取属性名和属性值,属性数目

ProParameter *pParams;ProModelitem modelItem;ProMdlToModelitem(model, &modelItem); //将 ProMdl类型提取 ProModelitemProUtilCollectParameters(&modelItem, &pParams); //得到模型的全部参数集

int paramNum=0;ProArraySizeGet((ProArray)(pParams), &paramNum); //得到参数集中参数数目

char paramName[100];ProParamvalue mValue;}

Page 31: 计算机图形学与 CAD 技术

7.4 基于三维 CAD 系统的二次开发7.4.3 Pro/E 开发关键技术

参数化设计for(i=0; i<paramNum; i++){ProParameterValueGet(&pParams[i], &mValue);//得到第 i 个参数值if(mValue.type == PRO_PARAM_DOUBLE || mValue.type == RO_PARAM_INTEGER){ProWstringToString(paramName, pParams[i].id); // 参数名字CString dim_text=CString(paramName); // 参数名字字符串转换if(sVarName == dim_text) { //找到要修改的参数ProParamvalueSet(&mValue, (void*)&dValue, PRO_PARAM_DOUBLE); ProParameterValueSet(&pParams[i], &mValue); //重新将参数值赋给参数 .}} //end of if} //end of for

Page 32: 计算机图形学与 CAD 技术

思考与练习

1. 机械 CAD 系统开发需解决的问题有哪些?2. CAD 系统开发模式有哪些?3. 阐述 CAD 系统开发的大概步骤。4. 机械 CAD 软件进行二次开发都包含哪些内容?5. 基于通用 CAD 平台的二次开发主要有哪些方式,其区别是什么?6. AutoCAD 二次开发有几种方式?各自特点是什么?7. 基于 VBA对 AutoCAD 进行二次开发有哪些优点?8. 基于 VBA在 AutoCAD 中画从 (0,0,0)到 (0,0,1) 的直线。9. 简介 ProE 二次开发中添加菜单的简要过程及所涉及的函数。10. Pro/Toolkit 中通过参数驱动特征的主要函数有哪些?其功能是什么?

Page 33: 计算机图形学与 CAD 技术

本章结束本章结束