基于VB语言的EXCEL和CST以及AutoCAD与ANSYS等的二次开发

合集下载

基于VB_NET的AutoCAD二次开发

基于VB_NET的AutoCAD二次开发
与 VB6. 0相比 , VB. NET不但具备了任何面向对象编 程语言所具有的抽象性 、封装性 、多态性 ,而且在继承性上 是第一个支持完全继承的 VB 版本 。[ 5 ] 通过完全继承 ,类 可以获得现有类的现有接口和行为 。这是通过一个叫作 Subclassing(再细分类 )的过程 ,继承现有类的这些行为完 成的 。引入完全继承后 , VB. NET是真正的面向对象语 言 。在保证功能强大的前提下大大提高开发速度 。
由于 VB与 AutoCAD运行在不同的内存空间 ,所以进 行二次开发时首先必须将其与 AutoCAD 进行链接 ,即引 用 AutoCAD 的对象 、属性和方法的库文件 : Acad. tld,该库 文件位于 AutoCAD程序的目录下 ,它并不保存对象本身 , 只保存创建对象的相关信息 。AutoCAD 应用程序对外暴 露的对象按树状层次结构顺次展开 ,依次为 App lication对 象 、Document对象 、Model Space对象和 Paper Space对象等 深层次对象 ,其顶层为 AutoCAD App lication,是引用其他 对象的基础 。链接的具体方法是 :运行 V isual Basic. NET, 创建一个 V isual Basic. NET项目 。打开项目菜单 ,选择添 加引用 ,再选择 COM ,复选 AutoCAD2002 Type L ibrary,再 编写 VB 程序代码 , 创建 AutoCAD 对象 , 启动运行 Auto2 CAD[ 7 ] 。
AddL ightW eightPolyline (points) 然后做 1到 10点所围成的剖面
轮廓的镜象 , 镜象轴为 Y, 得到齿轮 上半部分轮廓的左边部分 。如图 2 所示 。
3) 将齿轮上半部分轮廓的左、 右部分 创建 面 域 , 并 进 行 布 尔和 运 算 。其规则是 :对象 A 与对象 B 进行 布尔运算结果返回给对象 A ,然后将 上半部分轮廓绕齿轮轴线旋转 ,旋转 angle为 360°,得到齿轮结构旋转体 , 其方法为 :

用VB对AutoC进行二次开发

用VB对AutoC进行二次开发

用V B对A u t o C进行二次开发The Standardization Office was revised on the afternoon of December 13, 2020用VB对AutoCAD进行二次开发|用VB对AutoCAD进行二次开发A utoCAD一直是CAD市场中的主流产品。

随着AutoCAD的日益普及,在其上进行二次开发的工具也不断更新。

从早期的Auto Lisp、ADS、 DCL到现在流行的 Object ARX、ActiveX Automation、Visual Lisp,均可十分方便地对AutoCAD进行二次开发。

本文主要讨论关于运用Visual Basic对AutoCAD基于ActiveX Automation的二次开发技术。

选用 ActiveX 有两个原因,一是因为Visual Basic的普及性与易用性,二是采用这种方法进行二次开发可方便地实现与其它图形软件的接口,如与Solid Works实现实体造型与二维绘图的结合,以及根据用户的特殊需要开发出一定功能的软件。

二、ActiveX Automation技术AutoCAD中的ActiveX Automation是微软公司ActiveX规范的具体应用。

它通过基于ActiveX的自动化对象,为其他应用程序提供了访问AutoCAD内部功能的方法,是AutoCAD 最新的开发接口。

在运行时,AutoCAD与其他应用程序之间的关系是服务器与客户的关系,开发人员使用支持ActiveX规范的编程语言(如VB、Dephi等)能通过访问AutoCAD的对象模型,把AutoCAD的强大功能集成到应用程序中.AutoCAD的对象模型是一种树型结构模型,根为"AutoCAD Application",AutoCAD中的所有对象都是AutoCAD Application的子对象。

图1所示为AutoCAD对象模型的层次结构树,其中父对象与子对象之间的关系并不是对象继承关系,而是包含关系。

关于VB对AutoCAD二次开发学习笔记

关于VB对AutoCAD二次开发学习笔记

关于VB对AutoCAD二次开发学习笔记□By OYLS基于VB对AutoCAD的二次开发,主要是通过运用VB编程对AutoCAD软件中的基本绘图操作进行控制,了解AutoCAD软件中的常用命令。

在编程过程中我们要借助AutoCAD软件中的“帮助文件”,即“AutoCAD开发人员帮助”文档。

一、获取VB对AutoCAD的控制权:先定义变量acadApp,acadDoc:Public acadApp As AcadApplicationPublic acadDoc As AcadDocumentFunction boot_CAD() As BooleanOn Error Resume NextSet acadApp = GetObject(, "AutoCAD.Application")If Err ThenErr.ClearSet acadApp = CreateObject("AutoCAD.Application")If Err ThenMsgBox "您没有安装AutoCAD ,或安装版本错误!", vbOKOnly + vbInformation, "CAD简易绘图系统"boot_CAD = FalseBtOK = FalseExit FunctionEnd IfEnd IfSet acadDoc = acadApp.ActiveDocumentacadApp.Visible = Trueboot_CAD = TrueEnd Function需要说明的是,我们只有先对CAD获取了控制权以后才能有效地运用VB编程方式进行CAD的基本绘图操作。

不然,以后的各种对CAD的操作将无法得以实现。

二、基本绘图思路:先了解所绘对象的基本属性,可以说,也正是由于对象的各种属性才构成了一个特性为一而标准的实体。

对象的属性特点我们可以事先通过CAD帮助文件查找得出。

基于VB与ANSYS的二次开发的冲压成形参数化设计

基于VB与ANSYS的二次开发的冲压成形参数化设计

基于VB与ANSYS的二次开发的冲压成形参数化设计
孙佳楠;吕永锋;范建蓓
【期刊名称】《轻工机械》
【年(卷),期】2016(034)002
【摘要】针对基于ANSYS在进行冲压成形分析时界面操作可视化差,难以形成参数化分析的问题,对VB封装ANSYS设计编程的可视化、参数式操作界面进行研究.设计了冲压参数化设计分析流程与主要程序界面;提出VB对ANSYS封装调用以及生成APDL参数化分析语言的基本方法和关键编程语句,并以V形件弯曲成形参数化分析模块为例,介绍了界面程序的使用与功能.该方法能让设计人员快速、高效地对冲压成形工艺进行分析,并根据结果指导相关模具的设计开发,提高设计效率,减低ANSYS使用难度.该研究已投入企业实际应用,取得了良好效果.
【总页数】4页(P77-80)
【作者】孙佳楠;吕永锋;范建蓓
【作者单位】浙江机电职业技术学院机械工程学院,浙江杭州310053;浙江机电职业技术学院机械工程学院,浙江杭州310053;浙江机电职业技术学院机械工程学院,浙江杭州310053
【正文语种】中文
【中图分类】TG386.3
【相关文献】
1.基于ANSYS参数化设计语言门式刚架分析程序的二次开发 [J], 徐其功;孙业华
2.基于ANSYS二次开发的自卸车货厢参数化设计 [J], 杜媛媛;马力
3.基于VB的ANSYS二次开发在液压缸参数化设计中的应用 [J], 黄洲;李龙华
4.基于Ansys Workbench二次开发的门座起重机参数化设计 [J], 张鹏; 肖汉斌; 祝锋; 刘敏
5.基于Pro/E二次开发的冲压模具参数化设计系统 [J], 纪莲清;谢欢
因版权原因,仅展示原文概要,查看原文内容请购买。

基于VBA的AUTOCAD二次开发及应用实例

基于VBA的AUTOCAD二次开发及应用实例

基于VBA的AutoCAD二次开发及应用实例时间:2011-10-0318:25:09来源:作者:1引言AutOCAD2005是AutOdesk公司的系列产品,该软件从其使用和设计思路上都秉承了工程制图人员的绘图习惯,能够非常轻松地绘制出带有平面视图和三维渲染效果的工程图纸,是绘图人员的一个理想工具。

随着CAD基础理论和应用技术的不断发展,对CAD系统的功能要求也越来越高。

因而AutoCAD 不可能完全满足每个用户的具体而特定的要求。

设计人员希望它能从本质上减轻大量简单烦琐的工作量,使他们能集中精力于那些富有创造性的高层次思维活动中。

AutoCAD提供的开放式体系结构允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求,更方便、更规范、更专业的实现设计和绘图中的应用。

VBA最早是建立在0ffice97中的标准宏语言,由于它在开发方面的易用性及具有的强大功能,许多软件开发商都将其嵌入自己的应用程序中,作为一种开发工具提供给用户使用。

AutOdeSk公司自从Aut0CADRl4.0l版开始,内置了VBA开发工具。

新一代程序开发工具ViSual BaSic,不仅继承了面向对象方法的特性,同时具备可视化程序语言及程序产生器的概念。

VBA(visual Basic For Apphcation)是AutoCAD R12以后推出的一种新的编程环境,提供了以Visual Basic为基础的面向对象的开发特征及程序接口,能真正快速地访问AutOCAD图形数据库,能明显提高软件开发和维护的效率。

2VBA的技术特性2.1VBA开发AUTOCAD的技术特点VBA是微软开发出来的应用程序共享一种通用的自动化语言,它可以使常用的程序自动化,并可以创建自定义的解决方案。

VBA被集成到AutoCAD中,VBA和AutoCAD中强大的Activex自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。

VB对AutoCAD的二次开

VB对AutoCAD的二次开

实验VB对AutoCAD的二次开发一、实验目的了解CAD二次开发的几种形式,掌握VB对AutoCAD进行二次开发,实现参数化绘图的技巧。

二、实验要求1、了解AutoCAD二次开发的基本原理2、掌握运用VB开发界面的方法3、掌握运用VB调用AutoCAD库函数,完成相关功能的方法三、实验步骤1、建立AutoCAD和VB之间的连接启动VB,建立“标准exe”程序,选择菜单“工程”——“引用”,选择“AutoCAD 2004 Type Library”。

2、创建界面3、程序编码1)定义全局变量Dim AcadApp As AcadApplication 'AutoCAD应用程序变量Dim AcadDoc As AcadDocument 'AutoCAD文档变量2)引用AutoCAD应用程序Private Sub Command1_Click()On Error Resume NextIf Err ThenErr.ClearEnd IfSet AcadApp = New AcadApplicationIf Err ThenMsgBox Err.DescriptionExit SubEnd If'设置AutoCAD应用程序参数AcadApp.WindowTop = 0AcadApp.WindowLeft = 400AcadApp.Width = 600AcadApp.Height = 800AcadApp.Visible = TrueAcadApp.Documents.AddSet AcadDoc = AcadApp.ActiveDocumentAcadDoc.WindowState = acMaxCommand4.Enabled = TrueEnd Sub3)参数化绘图Private Sub Command4_Click()'设置新图层Dim layer1 As AcadLayerDim layer2 As AcadLayerSet layer0 = yers.Item(0)Set layer1 = yers.Add("粗实线层")Set layer2 = yers.Add("中心线层")layer1.Lineweight = acLnWt080 '粗实线的线宽layer1.Color = acWhitelayer2.Color = acRedAcadDoc.Linetypes.Load "centerx2", "acad.lin"layer2.Linetype = "centerx2"'输入原始参数Dim Center(0 To 2) As DoubleDim Vert(0 To 7) As DoubleDim L04 As DoubleDim L01 As DoubleDim b As DoubleDim r As Doubleb = Val(Text2.Text): r = Val(Text1.Text) / 2: L01 = r - Val(Text3.Text) L04 = Sqr(r * r - (b / 2) ^ 2)Center(0) = 100: Center(1) = 100: Center(2) = 0'画中心线AcadDoc.ActiveLayer = layer2Dim line1 As AcadLineDim line2 As AcadLine'定义两直线的端点Dim pl1s(0 To 2) As DoubleDim pl1e(0 To 2) As DoubleDim pl2s(0 To 2) As DoubleDim pl2e(0 To 2) As Doublepl1s(0) = Center(0) - r - 1.5: pl1s(1) = Center(1): pl1s(2) = 0pl1e(0) = Center(0) + r + 1.5: pl1e(1) = Center(1): pl1e(2) = 0pl2s(0) = Center(0): pl2s(1) = Center(1) + r + 1.5: pl2s(2) = 0pl2e(0) = Center(0): pl2e(1) = Center(1) - r - 1.5: pl2e(2) = 0Set line1 = AcadDoc.ModelSpace.AddLine(pl1s, pl1e)Set line2 = AcadDoc.ModelSpace.AddLine(pl2s, pl2e)'创建辅助的优化多段线AcadDoc.ActiveLayer = layer1'定义键槽直线端点Dim p1(0 To 2) As DoubleDim p2(0 To 2) As DoubleDim p3(0 To 2) As DoubleDim p4(0 To 2) As DoubleDim angVal As DoubleDim pLine1 As AcadLineDim pLine2 As AcadLineDim pLine3 As AcadLineDim pArc As AcadArcDim pi As Double '定义圆周率p1(0) = Center(0) - b / 2: p1(1) = Center(1) + L01: p1(2) = 0p2(0) = p1(0): p2(1) = Center(1) + L04: p2(2) = 0p3(0) = p1(0) + b: p3(1) = p1(1): p3(2) = 0p4(0) = p1(0) + b: p4(1) = p2(1): p4(2) = 0Set pLine1 = AcadDoc.ModelSpace.AddLine(p1, p2)Set pLine2 = AcadDoc.ModelSpace.AddLine(p1, p3)Set pLine3 = AcadDoc.ModelSpace.AddLine(p3, p4)angVal = Atn((b / 2) / L04)pi = 3.1415Set pArc = AcadDoc.ModelSpace.AddArc(Center, r, pi / 2 + angVal, 2 * pi + pi / 2 - angVal)AcadApp.ZoomExtentsAcadDoc.ActiveLayer = layer0End Sub'查询Private Sub CmdSeek_Click() Dim aVal As Integer 'A值 aVal = CInt(Text1.Text) Text2.Text = GetVal(aVal)End Sub。

关于VB对AutoCAD二次开发学习笔记

关于VB对AutoCAD二次开发学习笔记

关于VB对AutoCAD二次开发学习笔记关于VB对AutoCAD二次开发学习笔记□By OYLS基于VB对AutoCAD的二次开发,主要是通过运用VB编程对AutoCAD软件中的基本绘图操作进行控制,了解AutoCAD软件中的常用命令。

在编程过程中我们要借助AutoCAD软件中的“帮助文件”,即“AutoCAD开发人员帮助”文档。

一、获取VB对AutoCAD的控制权:先定义变量acadApp,acadDoc:Public acadApp As AcadApplicationPublic acadDoc As AcadDocumentFunction boot_CAD() As BooleanOn Error Resume NextSet acadApp = GetObject(, "AutoCAD.Application")If Err ThenErr.ClearSet acadApp = CreateObject("AutoCAD.Application")If Err ThenMsgBox "您没有安装AutoCAD ,或安装版本错误!", vbOKOnly + vbInformation, "CAD简易绘图系统"boot_CAD = FalseBtOK = FalseExit FunctionEnd IfEnd IfSet acadDoc = acadApp.ActiveDocumentacadApp.Visible = Trueboot_CAD = TrueEnd Function需要说明的是,我们只有先对CAD获取了控制权以后才能有效地运用VB编程方式进行CAD的基本绘图操作。

不然,以后的各种对CAD的操作将无法得以实现。

二、基本绘图思路:先了解所绘对象的基本属性,可以说,也正是由于对象的各种属性才构成了一个特性为一而标准的实体。

用VB对AutoCAD进行二次开发

用VB对AutoCAD进行二次开发

用VB对AutoCAD进行二次开发|用VB对AutoCAD进行二次开发AutoCAD一直是CAD市场中的主流产品。

随着AutoCAD的日益普及,在其上进行二次开发的工具也不断更新。

从早期的AutoLisp、ADS、DCL到现在流行的ObjectARX、ActiveXAutomation、VisualLisp,均可十分方便地对AutoCAD进行二次开发。

本文主要讨论关于运用VisualBasic对AutoCAD基于ActiveXAutomation的二次开发技术。

选用ActiveX有两个原因,一是因为VisualBasic的普及性与易用性,二是采用这种方法进行二次开发可方便地实现与其它图形软件的接口,如与SolidWorks实现实体造型与二维绘图的结合,以及根据用户的特殊需要开发出一定功能的软件。

的自动(如VB的图在启动对象。

EndIf2.Preferences与Document对象与AutoCAD中的Preferences对话框的作用相同,通过Preferences对象可以读取或设置AutoCAD的一些基本设置。

Preferences对象通过Application的Preferences属性返回。

DimAcadPrefasObjectSetAcadPref=AcadApp.Preferences比如,用户可通过Preferences对象进行如下的设置AcadPref.Cursorsize=100AcadPref.DisplayScreenMenu=acTrueAcadPref.DisplayScrollBars=Check1.valueDocument对象表示AutoCAD中中当前打开的文档,对AutoCAD中的任何其它操作都需用到Document对象,该对象可以通过ActiveDocument属性返回。

DimAcadDocasObjectSetAcadDoc=AcadApp.ActiveDocumentAutoDesk公司使用了集合的概念。

基于VB的AutoCAD二次开发

基于VB的AutoCAD二次开发

基于VB的AutoCAD二次开发摘要:Visual Basic是当今世界上最流行的编程语言之一,CAD是目前使用最广泛的绘图软件,本文将在测绘领域,探讨基于Visual Basic对AutoCAD进行二次开发,对外业获取的数据内业进行自动绘图,提高工作效率。

关键词:Visual basic;AutoCAD;ActiveX;CAD二次开发1.引言在使用全站仪的外业测图,如果我们对采集的数据赋予遵循特定规则的简码,用成图软件导入外业数据,然后利用二次开发的软件完成自动绘图,更能提高作业效率。

本文将基于Visual Basic对AutoCAD二次开发一个自动绘图的程序。

2.需求分析需求分析:该程序可以实现“外业测图,内业自动绘图”的功能。

具体是通过导出外业数据,对数据进行读取、分析识别,然后实现在AutoCAD画布上展点,自动绘图。

3.程序的设计程序的设计包括界面和功能设计和数据格式的设计。

3.1界面和功能设计程序Frmbase窗体由一个菜单栏、一个状态栏、一个公共对话框组成。

该程序主窗体frmbase设计如图3.1所示。

图3.1 frmbase窗体设计效果图菜单栏“文件”菜单下有创建新图形文件、打开、保存图形文件、导入DXF文件、导出DXF和BMP文件、关闭图形文件和退出程序这些子菜单。

如图3.2所示。

图3.2 “文件”菜单及其子菜单菜单栏“绘图”菜单下有展点和自动绘图子菜单,而展点可以通过两种数据文件来读取数据,所以展点子菜单下还有两个子菜单。

如图3.3所示。

图3.3 “绘图”菜单及其子菜单3.2数据格式的设计数据格式的设计:文件后缀为*.dat或者*.xls。

第一列是点名,第二列是简码,第三列是AutoCAD中的Y坐标,也是测量坐标系中的X坐标,第四列是测量坐标系中的Y坐标,第五列是高程。

编码规则:以地物名字的中文拼音首字母进行命名,例如井盖的简码为“JG”,平房的简码为“pf”。

图上的地物都是由点状地物、线状地物和面状地物这三种的抽象。

基于VB的ANSYS二次开发及在连杆静力分析中的应用

基于VB的ANSYS二次开发及在连杆静力分析中的应用

基于VB的ANSYS二次开发及在连杆静力分析中的应用摘要:本文以通用有限元分析软件an sys 10.0 环境为基础,介绍an sys二次开发技术,以及三种开发工具。

最后,以vb和apdl 为手段,建立了一个柴油机连杆实例参数化分析系统。

此系统具有友好、方便、易用的人机交互界面,对复杂、难于理解和掌握的ansys 命令流进行了后台封装,避免了大量的重复性分析工作,提高了分析效率。

abstract: the paper details the technology of secondary development and three kinds of secondary developing tools of ansys on the basis of finite element analysis software—an sys10.0. lastly, a model unit analysis system of an automobile connecting road was developed based on visual basic 6.0 and apdl. the analysis system has friendly convenient and flexible man-machine conversation interface,while the complicated ansys command stream is encapsulated in background.it avoids large amount of repeated analysis work and improves the efficiency.关键词: ansys;二次开发;静力学分析;连杆key words: ansys;secondary development;static analysis;rod中图分类号:tp391 文献标识码:a 文章编号:1006-4311(2013)23-0207-040 引言计算技术的飞速发展,带来了结构分析优化技术的突破,国外相继出现了一些像ansys、marc等通用大型的有限元分析软件,这些软件不仅具有良好的界面、方便的前后处理及强大的计算分析功能,还具有开放的二次开发功能。

基于VB的ANSYS二次开发与应用

基于VB的ANSYS二次开发与应用
序 , 发形 成基 于 A S S 核 心 的 V 开 NY 为 B的用 户 化 研 究 平 台 , 其 重 要 的现 实 意 义 和 价值 。该 文 提 出采 用 编 程 语 言 V 编 制 可 视 化 的 有 B,
Widw 平台 , no s 结合一个岩土沉 降的分 析过程来说 明V B接 口的A S S 用方法 。用 V NY调 B生成 A D ( N Y aa er ei a — P LA S SP rm tcD s nL n i g
关 键 词 : A YS 二 次 开 发 VB; NS ;
中图 分 类 号 : P 1 文 献标 识码 : 文章 编 号 :09 3 4 (0 21— 6 4 0 T 31 A 10 — 0 42 1 )9 4 1— 4
Ap l i g VB eS c n v l p e to pyn t t e o d De eo m n f o h ANS YS
g ae, ug1让用户在界面平台上直接调用 A S S N Y 进行前后处理 。
1参数 文 件的 生成
在A SS N Y 进行计算分析时 , 通常可 以采用两种方式进行 : ) U 操作或输入命令 流 ;) 1G I 2 命令的批处理 。对于一个 比较复杂的问 题进行分析 , 仅仅采用 G I U 操作或输入命 令流操作难于对错误进行修改 , 分析也仅限精通 A S S N Y 的操作人员 。可 以先用 V B语言生 成命令流文件 , 再进行批处理 , 这样对 于一个 问题 的分析就可 以先在编制 V 程序 时及时修改调试 。本算例岩土的沉降计算模型为 B 五层 , 每层设定不 同的材料相同的宽度 , 当下层 的矿藏采空以后 , 计算 岩体 的移动和变形等情 况。 通过 主菜单进入前处理操 作 , 弹出图 1 将 或图 2 的输入窗 口。工程计算人员 可根 据需要添加其 他的前处理参数 输入 , 直接在 V B的输入窗 口输入模型 的模 型常数和所选材料 的材料参数 。对 于不懂 V 和 A S S的使用者 只需要 在图形窗 口进行输入操作就 B NY 行了, 操作十分 简便快洁 。 根据 A S S N Y 运行 的基本原理 , 每运行一句 , 就执行一条命令 , 相应 的便生成一段 1 文件 .g o 进行批 处理的时 , 同样 的对生成 的命令 文件 逐条 执行 。因此就可 以用 V B生成逐条 的命令 , 用主命令程序嵌套 V 采 B生成逐 条 命令供 A S S N Y 计算调用 。通过下面的输入窗 口给计算模型赋参数值。

cad二次开发中VB或VBA的应用问题

cad二次开发中VB或VBA的应用问题

cad二次开发中VB或VBA的应用问题1、如何在VB 中连接AutoCAD。

启动VB ,引用AutoCAD 类型库。

操作步骤:从“工程”菜单中选择“引用”选项,启动“引用”对话框。

在“引用”对话框中,选择AutoCAD 类型库,然后单击“确定”。

定义模块级变量AutoCAD 应用程序(acadApp) 和当前的文档(acadDoc)。

如果AutoCAD 正在运行,使用GetObject 函数将检索AutoCAD Application 对象。

如果AutoCAD 没有运行,使用CreateObject 函数试图创建一个AutoCAD Application 对象。

如果创建成功,会启动AutoCAD;如果失败,则会发生错误。

同时运行多个AutoCAD 任务时,GetObject 函数会返回Windows 运行对象表中的第一个AutoCAD 实例。

要显示AutoCAD 图形窗口,需要将AutoCAD 应用程序的Visible 特性设置为TRUE。

使用acadDoc 变量引用当前的AutoCAD 图形。

示例:Dim acadApp As AcadApplicationDim acadDoc as AcadDocumentSub ConnectToAcad()On Error Resume NextSet acadApp = GetObject(, "AutoCAD.Application")If Err ThenErr.ClearSet acadApp = CreateObject("AutoCAD.Application")If Err Then EndEnd IfacadApp.Visible = TrueSet acadDoc = acadApp.ActiveDocumentEnd Sub2、如何使VB 开发的程序不依赖于AutoCAD 的版本。

启动VB ,定义模块级变量AutoCAD 应用程序(acadApp) 和当前的文档(acadDoc)。

基于工程应用的VB与ANSYS接口问题及二次开发

基于工程应用的VB与ANSYS接口问题及二次开发

基于工程应用的VB与ANSYS接口问题及二次开发邓道林,杨晓翔(福州大学机械工程及自动化学院,固体力学)摘要:目前,ANSYS软件在工程中应用广泛,计算结果在工程中的认可度也很高。

本文主要介绍了用VisualBasic语言开发可视化界面,将调用ANSYS软件进行工程分析进封装起来,并结合实例,阐述VB与ANSYS的调用接口及结果数据的传递问题。

为开发参数化建模分析系统的广大开发者提供一个详尽有效的方法。

关键词:VB+ANSYS;调用接口;数据传递;结构计算与优化0 引言随着计算机技术的飞速发展,结构分析也有了很大的突破,日前,有很多大型的CAE软件,如德国的ASKA、英国的PAFEC、法国的SYSTUS、美国的ABQUS、ADINA、ANSYS、BERSAFE、BOSOR、COSMOS、ELAS、MARC和STARDYNE等,这些软件都具有良好的界面、强大的前后处理、计算分析以及开放的二次开发功能。

ANSYS软件是融合了热、电、磁、流体、结构、声学等于一体的大型通用有限元分析软件,为解决各类复杂,庞大的工程问题提供了一个有效的工具。

但是,复杂的英文界面和繁琐的分析步骤使其对使用者的专业水平和分析经验要求比较高。

但是它在工程上的应用又相当的广泛,为此很多人在其基础上进行了二次开发,并利用可视化技术对ANSYS软件进行封装,开发出通俗、友好、简明的分析系统,用户只需在前台界面的引导下,输入相关的材料,尺寸,载荷等参数,系统就能自动调用并计算,并将分析结果返回给用户。

另外,对于同类型结构的工程分析,还可以实现参数化,大大的节省了重复建模和前处理的时间和精力,有效的提高了开发设计的效率和质量,充分的体现了通俗化,便捷化,专业化,高效率的特点。

现在,可以实现可视化编程的软件很多,如VB,VC,Matlab等等。

本文主要是针对采用VB与ANSYS结合起来开发应用的接口调用问题和结果数据传递问题。

1 开发流程及原理为满足用户需要,ANSYS提供了开放的二次开发功能,用户可以采用APDL 语言编制命令流文件,通过ANSYS为用户提供的Batch功能,来实现根据用户需要实现相应的功能。

基于VB的ANSYS二次开发与应用

基于VB的ANSYS二次开发与应用

基于VB的ANSYS二次开发与应用
廖孟柯
【期刊名称】《电脑知识与技术》
【年(卷),期】2012(008)019
【摘要】数值仿真软件ANSYS可以以内嵌函数方式进行二次开发.在工程计算中基于VB平台的开发接口程序进行ANSYS的分析结果后处理,实现软件的二次开发功能应用的应用与推广.可为以VB为平台的ANSYS二次开发人员提供参考.
【总页数】4页(P4614-4617)
【作者】廖孟柯
【作者单位】石河子大学水利建筑工程学院,新疆石河子832003
【正文语种】中文
【中图分类】TP311
【相关文献】
1.基于VB的ANSYS二次开发在日光温室设计中的应用 [J], 李石;郭艳玲;陈国辉
2.基于VB的ANSYS二次开发在液压缸参数化设计中的应用 [J], 黄洲;李龙华
3.基于VB的ANSYS二次开发及在连杆静力分析中的应用 [J], 原海霞
4.基于VB的ANSYS二次开发在变压器抗短路性能分析中的应用 [J], 李冰阳;牛越;郑琦
5.基于VB的ANSYS二次开发及其在管道外自然对流换热系数确定中的应用 [J], 曹萌;仲梁维;陈粤
因版权原因,仅展示原文概要,查看原文内容请购买。

基于VB语言的EXCEL和CST以及AutoCAD与ANSYS等的二次开发

基于VB语言的EXCEL和CST以及AutoCAD与ANSYS等的二次开发

基于VB语言的EXCEL、CST以及HFSS等的二次开发代码1:vb创建xls表,并写入内容Set ExcelApp = CreateObject("Excel.Application") '创建EXCEL对象Set ExcelBook = ExcelApp.Workbooks.AddSet ExcelSheet = ExcelBook.Worksheets(1) '添加工作页ExcelSheet.Activate '激活工作页ExcelApp.DisplayAlerts = False="sheet1"ExcelSheet.Range("A1").Value = 100 '设置A1的值为100ExcelBook.SaveAs "d:\test.xls" '保存工作表msgbox "d:\test.xls创建成功!"ExcelBook.closeset excelApp=nothingset ExcelBook=nothingset ExcelSheet=nothing将以上代码copy到记事本存为"writexls.vbs"文件,可运行测试代码2:读execel文件Set ExcelApp = CreateObject("Excel.Application") '创建EXCEL对象Set ExcelBook = ExcelApp.Workbooks.open("d:\test.xls")Set ExcelSheet = ExcelBook.Worksheets(1)msgbox ExcelSheet.Range("A1").Value将以上代码copy到记事本存为"readxls.vbs"文件,可运行测试代码3:上述代码联合调试Dim ExcelApp,ExcelBook,ExcelSheetSet ExcelApp = CreateObject("Excel.Application") '创建EXCEL对象Set ExcelBook = ExcelApp.Workbooks.AddSet ExcelSheet = ExcelBook.Worksheets(1) '添加工作页ExcelSheet.Activate '激活工作页ExcelApp.DisplayAlerts = False="sheet1"ExcelSheet.Range("A1").Value = 100 '设置A1的值为100ExcelBook.SaveAs "D:\Study\VBS\Book1.xls" '保存工作表msgbox "d:\Book1.xls创建成功!"ExcelBook.closeset excelApp=nothingset ExcelBook=nothingset ExcelSheet=nothing'ExcelApp.WorkBooks.Close'ExcelApp.QuitSet ExcelApp = CreateObject("Excel.Application")ExcelApp.Visible = True'创建EXCEL对象Set ExcelBook = ExcelApp.Workbooks.open("D:\Study\VBS\Book1.xls")Set ExcelSheet = ExcelBook.Worksheets(1)msgbox ExcelSheet.Range("A1").ValueExcelApp.WorkBooks.CloseExcelApp.Quit若对支持VB脚本的软件进行二次开发,上述描述有借鉴意义。

浅析基于VB的ANSYS二次开发

浅析基于VB的ANSYS二次开发

Lang ag 的缩写1 , u e ] 3 即ANSYS 参 设 语 数化 计
设计者的青睐, 因此得到了 越来越广泛的应 用。也正是因为这些优点, 使利用 V B 对 ANSYS 进行二次开发成为可能。 3.Z A s丫 二次开发在V 的实现阁 N 5 B中 APDL 虽然功能强大, 能够进行简单的界 面设计, 但其交互性差。因此, 有必要利用 VB 对ANSYS 进行二次开发。二次开发后, 用户只需选择参数等,系统就能 自动调用 ANSYS 计算程序, 进行网格划分、加载以及 求解。该系统具有较强的处理实际问题能 力, 即使从未认真学习过ANSYS 软件的工程 设计人员也能很好地进行有限元分析。 对于在 Visual Basic 中调用ANSYS APDL 程序, 可使用如下代码:
x 二 el l( ” : \ P r ogram Files\ An sys sh C In \ v 0\ ANSYS\ bin\ i t \ ansys 0 .exe一 c 9 ne l 9 9 一 in Put _f ile一 out put _file ’, i o 1) 其中 n i Putj i e 为用APDL 语言编写的ANSYS 输 l 入文件旧utPuts file 是输出文件。同时注意在 e VB 调用ANSYS 时, 需要加一条判断语句, 以 确定ANSYS 已经执行完毕。ANSYS 运行 完毕后可以直接由VB 调用ANSYS 工作目 录 下的数据文件, 工程技术人员就可以利用VB 建立的操作界面通过简单的操作得到自己关 心的数据或图形。
4 结语 本文简要介绍了ANSYS二次开发技米以 及其在VB 中的实现, 借助VB 程序使得操作 界面更具面向对象化, 并使不熟悉ANSYS 程 序的一般技术人员能很容易地完成有限元分 析, 为解决通用程序和专业需要之间的矛盾提 供了一种新的方法与途径。

基于VB环境下的AutoCAD二次开发技术

基于VB环境下的AutoCAD二次开发技术

收稿日期:2002209219作者简介:李 超(1977-),男,安徽望江人,在读硕士生. 文章编号:100522895(2003)0320081203基于VB 环境下的A utoCAD 二次开发技术李 超,董继先 (陕西科技大学机电学院,陕西咸阳712081) 摘 要:介绍了用流行的W indow s 应用程序开发工具V isual Basic 语言进行A utoCAD 二次开发的三种技术,以实例详细地阐述了在VB 的环境下开发A utoCAD 的方法。

关 键 词:动态数据交换;对象链接与嵌入;A ctiveX A utom ati on ;A utoCAD ;VB 中图分类号:TH 126.2 文献标识码:B1 引 言作为目前世界上主流的计算机辅助设计软件,A u toCAD 以其强大的通用图形功能广泛地应用于机械、电子、建筑、化工等各个领域。

但是由于其通用性强,从而造成针对某一具体应用的特殊功能较弱,为了克服这一缺点,A u toCAD 为O E M 厂商和最终用户提供了多种二次开发接口,以便用户能随时扩充该软件的功能。

近年来,各行业的工程技术人员都在以A u toCAD 为平台,结合自己的需要,进行CAD 的二次开发。

就目前而言,A u toCAD 二次开发人员大都利用C 语言和A u toL ISP 语言对A uo tCAD 软件包进行开发,而利用VB 语言作为A u toCAD 二次开发工具的并不多,究其原因,主要是因为人们对VB 的强大功能认识不足。

V isual B asic (以下简称VB )是M icro soft 公司推出的面向对象的可视化编程工具。

VB 的特点非常突出,那就是具有快速的程序开发环境,编制程序界面简单,代码的编写量小,用户可以很方便的直接改动界面,所见即所得。

VB 作为二次开发工具,具有语法简单,功能强大,调试方便等特点。

此外,A uo toCAD 自R 14版本起,加入了A ctiveX 自动化服务功能,而VB又是最为常用的支持A ctiveX 技术的开发工具,以它作为开发工具,使A u toCAD 与其他W indow s 程序的数据共享变得非常容易。

基于VB和ANSYS的船体舱段快速建模的二次开发

基于VB和ANSYS的船体舱段快速建模的二次开发

基于VB 和ANSYS 的船体舱段快速建模的二次开发周恒,王慧,杨树森,杨高胜,邵鹏程,杨光(武汉船舶设计研究院有限公司,武汉430063)图1软件二次开发流程0引言CAE (Computer Aided Engineering )计算机辅助工程如今在实际工程上有广泛的应用,即对结构进行有限数目的离散化,开展模型的建模和有限元仿真计算,能够有效地帮助工程人员进行相关的设计研究。

ANSYS 作为当前市场主流CAE 软件,能够开展结构、流体、电磁、声场等多个专业的计算,广泛地应用于航空航天、汽车、船舶、机械制造等相关领域,在科研生产中具有较大的优越性[1-3]。

船体结构作为一个复杂的大型水面建筑,涉及到的船型和构件种类较多。

在传统的ANSYS 经典界面采用GUI (图形用户界面Graphical User Interface )建模,会耗费工程人员大量的时间精力。

特别是针对局部结构的修改时,前处理功能显得十分繁琐,重复工作量较多。

ANSYS 自带APDL (ANSYS Parametric Design Language )语言,提高工作效率。

目前已有相关人员对ANSYS 软件在起重机[4]、螺栓[5]、液压[6]等领域进行了二次开发的尝试[7]。

本文主要针对船体舱段结构,利用VB (Visual Basic )开发工具[8-9],对ANSYS mechanical 模块进行二次开发,实现船体结构的快速几何建模、网格划分、材料赋予、构件选择等操作。

使得后期船体结构模型的修改和局部调整变得简单方便,为结构优化设计节省大量时间。

二次开发软件能够针对一系列的船型,进行数据输入,实现通用化建模,即使没有ANSYS 使用基础的人员,通过二次开发软件界面,也能够快速完成有限元模型。

1船体舱段ANSYS 参数化驱动建模的实现过程1.1软件二次开发流程通过收集相关的船型资料,针对300~500t 的运输船、旅游船等进行方案验证,归纳出船舶典型舱段的结构特征,提取相关主要参数,确定建模思路,完成程序控制操作,实现参数驱动化建模。

基于VB的ANSYS二次开发

基于VB的ANSYS二次开发

1引言从20世纪70年代以来,随着计算技术的飞速发展,结构分析有了很大的突破,国外相继出现了许多大型通用有限元分析程序,如ANSYS,MARC和MSC/NAS-TRAN等,这些程序具有良好的界面、方便的前后处理和强大的计算分析功能以及开放的二次开发系统。

ANSYS软件是融热、电、磁、流体、结构、声学于一体的大型通用有限元分析软件。

具有强大的求解器和前、后处理功能,为解决复杂、庞大的工程项目提供了一个强有力的工具。

然而,正是由于ANSYS的通用性特点,使其对不同行业的专业性模块的分析不具有针对性,复杂的英文界面和繁琐的分析步骤都给从事有限元分析的技术人员造成了很大的障碍。

另外,虽然ANSYS有较强大的前、后处理功能,但使用者必须具有较高的相关力学知识和丰富的分析经验,在几何建模简化和力学建模等前处理方面需要花费很多时间和精力。

VisualBasic是在BASIC语言基础上发展起来的,它提供的可视化设计平台把Windows界面设计的复杂性“封装“起来,开发人员不必为界面的设计而编写大量的程序代码,只需按设计的要求,用系统提供的工具在屏幕上画出各种对象即可。

VisualBasic采用面向对象的设计方法,从应用领域内的问题着手,以直观自然的方式描述客观世界的实体。

VB以其快捷方便受到很多程序设计者的青睐,因此得到了越来越广泛的应用。

把VB与AN-SYS结合起来开发,可以有效地提高开发设计的效率和质量,充分体现专业化、用户化、便捷化的特点。

2ANSYS参数化设计语言(APDL)APDL是一种非常类似于FORTRAN的解释性语言,提供一般程序语言的功能,如参数、宏、缩写、标量、向量及矩阵运算、函数、流程控制(循环与分支)、重复执行命令、用户程序以及访问ANSYS有限元数据库等,另外还提供简单界面定制功能,实现参数交互输入、消息机制、界面驱动和运行应用程序等。

利用APDL的程序语言与宏技术组织管理ANSYS的有限元分析命令,就可以实现参数化建模、参数化的网格划分与控制、参数化的材料定义、参数化载荷和边界条件定义、参数化的分析控制和求解以及参数化后处理结果的显示,从而实现参数化有限元分析的全过程,同时这也是ANSYS批处理分析的最高技术。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于VB语言的EXCEL、CST以及HFSS等的二次开发
代码1:vb创建xls表,并写入内容
Set ExcelApp = CreateObject("Excel.Application") '创建EXCEL对象Set ExcelBook = ExcelApp.Workbooks.Add
Set ExcelSheet = ExcelBook.Worksheets(1) '添加工作页ExcelSheet.Activate '激活工作页
ExcelApp.DisplayAlerts = False
="sheet1"
ExcelSheet.Range("A1").Value = 100 '设置A1的值为100
ExcelBook.SaveAs "d:\test.xls" '保存工作表
msgbox "d:\test.xls创建成功!"
ExcelBook.close
set excelApp=nothing
set ExcelBook=nothing
set ExcelSheet=nothing
将以上代码copy到记事本存为"writexls.vbs"文件,可运行测试
代码2:读execel文件
Set ExcelApp = CreateObject("Excel.Application") '创建EXCEL对象Set ExcelBook = ExcelApp.Workbooks.open("d:\test.xls")
Set ExcelSheet = ExcelBook.Worksheets(1)
msgbox ExcelSheet.Range("A1").Value
将以上代码copy到记事本存为"readxls.vbs"文件,可运行测试
代码3:上述代码联合调试
Dim ExcelApp,ExcelBook,ExcelSheet
Set ExcelApp = CreateObject("Excel.Application") '创建EXCEL对象Set ExcelBook = ExcelApp.Workbooks.Add
Set ExcelSheet = ExcelBook.Worksheets(1) '添加工作页ExcelSheet.Activate '激活工作页
ExcelApp.DisplayAlerts = False
="sheet1"
ExcelSheet.Range("A1").Value = 100 '设置A1的值为100
ExcelBook.SaveAs "D:\Study\VBS\Book1.xls" '保存工作表
msgbox "d:\Book1.xls创建成功!"
ExcelBook.close
set excelApp=nothing
set ExcelBook=nothing
set ExcelSheet=nothing
'ExcelApp.WorkBooks.Close
'ExcelApp.Quit
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Visible = True
'创建EXCEL对象
Set ExcelBook = ExcelApp.Workbooks.open("D:\Study\VBS\Book1.xls")
Set ExcelSheet = ExcelBook.Worksheets(1)
msgbox ExcelSheet.Range("A1").Value
ExcelApp.WorkBooks.Close
ExcelApp.Quit
若对支持VB脚本的软件进行二次开发,上述描述有借鉴意义。

例如CST,HFSS 等电磁软件(以及AutoCAD,ANSYS等)就可如此外部调用。

代码4:VBS调用CST进行运算
Dim app
Set app = CreateObject("CSTStudio.Application")
Dim mws
Set mws = app.OpenFile("D:\VBS\1.cst")
'mws.Visible = False
With mws
.DeleteResults
.Rebuild
.Solver.Start
.Save
End With
mws.Quit
代码5:VBS调用CST进行运算
Dim fs
Set fs =createobject("scripting.filesystemobject")
Dim ts
Set ts=fs.opentextfile("opt.txt",1,true)
Dim path
path=ts.readall
ts.close
'msgbox path
Dim app
Set app = CreateObject("CSTStudio.Application")
Dim mws
Set mws = app.OpenFile(path)
Dim chang
Dim kuan
Dim gao
'Dim result(30)
Set ts=fs.opentextfile("chang1.txt",1,true)
chang=ts.readline
'msgbox chang
ts.close
Set ts=fs.opentextfile("kuan1.txt",1,true)
kuan=ts.readline
'msgbox kuan
ts.close
Set ts=fs.opentextfile("gao1.txt",1,true)
gao=ts.readline
'msgbox gao
ts.close
With mws
.DeleteResults
.StoreParameter "Lg", chang
.StoreParameter "Ls", kuan .StoreParameter "Lcross",
gao
.Rebuild
.Solver.Start
.Save
End With
mws.Quit
Window系统下,C++调用VBS的参考方法:WinExec(" wscript.exe
D:\Study\VBS\Book.vbs", SW_SHOWNORMAL);。

相关文档
最新文档