基于动态链接库的FAMOS二次开发方法研究

合集下载

基于MSC.Marc二次开发进行粘弹性问题分析 (1)

基于MSC.Marc二次开发进行粘弹性问题分析 (1)
其中 ,[ C ]为泊松比矩阵 ; [ N ]为工程剪应变和
剪应变张量的转换矩阵 。
1 -μ -μ
0
0
0
-μ 1 -μ
0
0
0
-μ -μ 1
0
0
[ C] =
0
0
0 2 (1 + μ)
0
0 ;
0
000
0
2 (1 + μ)
0
000
0
0
2 (1 + μ)
1
1
1
[N] =
2
2
2
同理 ,可以推导得到球应力引起粘性变形增量 ( GPa·s) η2
3 (1 - 2μ)
注 :这里假定应力偏量和球应力引起粘性变形的规律与应力张量引 起的粘性变形规律相同 。
表 2 不同时刻垂直位移比较 Table 2 The comparison of vertical displacement
仍取表 1 中数据 ;基岩
为线 弹 性 材 料 。计 算
尺寸 :m
时间 步 长 取 Δt = 86
图 4 混凝土坝示意图
400 s(1 d = 86 400 s) ; Fig. 4 The sketch of concrete dam
累计时间 T = 46 656 000 s(540 d) 。图 5 为混凝土坝
粘弹性模型的本构关系可分为两部分 :其一是 球应力分量下的本构关系 ;其二是应力偏量下的本 构关系 。文献[ 1~3 ]假定粘性变形只有剪切变形 , 而无体积变形 ,即仅应力偏量产生粘性变形 ,球应力 只产生弹性变形 ;文献[ 4 ]则假定球应力和应力偏量 都产生粘性变形 。显然 ,为了合理地考察工程材料 在荷载作用下的粘性变形性态 ,有必要分别对球应 力和应力偏量进行考察 。大型通用商业软件 MSC. Marc 分别提供了球应力和应力偏量引起粘性变形 的开放式子程序接口 。由于目前关于采用 MSC. Marc 软件进行弹塑性分析的文献报导很多[5 ,6 ] ,而 关于采用 MSC. Marc 软件进行粘弹性 、弹粘塑性等 分析的文献报导很少 。据此 ,本文初步探讨了基于 MSC. Marc 的粘弹性问题分析 ,通过 MSC. Marc 软 件开放式程序接口开发了广义开尔文模型 ,并进行 了算例分析 ,得到了一些有益的结论 。

用C 实现混合使用MAPGIS的多种二次开发方式

用C  实现混合使用MAPGIS的多种二次开发方式

图3 然后选择GisEdit Contrl控件并插入,如图4、图5所示。
图4
图5 调整对话框大小及GisEdit控件大小,添加几个功能按钮,如图6所示。 白色部分为GisEdit控件。
图6 用C++实现混合使用MAPGIS的多种二次开发方式(二) 为了操作GisEdit控件,在ClassWizard中,将GisEdit控件添加为成员变 量。变量名为m_MapGIS。如图7所示
图1 注册成功后,出现图2所示对话框:
图2 如果没成功的话,看看是否和MAPGIS的DLL文件放在同一目录下,因为 它还要依赖MAPGIS的DLL库。 然后用VC中的MFC AppWizard生成一个对话框架的应用程序。打开 所生成的对话框资源,在对话框资源上右击,并选择Insert ActiveX Control…菜单。如图3所示。
} 为了在视窗改变大小时,m_MapGIS控件也改变大小,为视类添加一个 WM_SIZE消息,在其生成的OnSize函数中添加如下代码。 void CMapView::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy); // TODO: Add your message handler code here m_MapGIS.MoveWindows(cx,cy);// GisEdit控件中新增的改变窗口大小 函数 } 在菜单资源中,修改“打开文件”项,改成“打开工程文件”;并将其(资 源ID号:ID_FILE_OPEN) 在视窗类中(本例为CMapView)建立消息 映射。在映射函数中加入如下代码: void CMapView::OnFileOpen() { // TODO: Add your command handler code here m_MapGIS.LoadProject(); } 编译整个工程并运行,打开一个MAPGIS工程文件,运行结果如图11, 所示

Tecnomatix二次开发技术研究

Tecnomatix二次开发技术研究
第 4期
21 0 2年 4月
文 章 编 号 :0 13 9 (0 2 0 — 0 1 0 1 0 — 9 7 2 1 )4 0 8 — 2
机 械 设 计 与 制 造
M a h n r De i n c iey sg & M a ufc u e n a t r 81
T co t en mai 次 开发技 术研 究 术 x二
朱俊 江 李 明宇 ‘ 吴 波 赫 宏联 2 ( 华 中科技大 学 机械 科学与 工程学 院 , ’ 武汉 4 0 7 )(北 车唐 山轨 道客车有 限责任公 司 , 山 0 3 3 ) 304 唐 6 0 5
Re e c n s c n a y d v o me t e h oo y f r e n ma i p l a i n s ar h o e o d r e elp n c n lg o c o t a pi t t t x c o
关键 词 : e n mai; E I ; T c o t . TAP ; 二次开发 xN C#

【 bt c】 i e¥ en m t nu et ee f a l o i it au c r g A s at S m n Tco ax s c er nlo nd o w fpa r wt d i l n at i r e iia o r y p s t e t m h gam f un f
下 , 于 Mirsf V sa Su iN TP o si a 2 0 dt n环境 , 用 C≠ T c o ai 软 件 系统进 j 基 coo i l tdo E rf s n l 0 5e io t u . e o , i 应 }对 en m t x
行 二 次 开发 的 实例 . ;

利用MapGis二次开发技术实现第二次土地调查权属协议书的自动生成——以成都地区为例

利用MapGis二次开发技术实现第二次土地调查权属协议书的自动生成——以成都地区为例

利用 MaGs p i二次 开发技 术 实现第 二次 土地 调 查 权 属 协 议 书 的 自动 生成
— —
以成都 地 区为例
汪 宏 , 国业 , 任 李天和 , 王 昕
( 四川省农业科学院遥感应用研究所 , 四川 成都 606 ) 106
摘 要: 第二次全 国土地调查是一项关系国民经济发展大局的重大国情 国力调查 , 也是一项技 术性 、 专业性、 政策性很强的社会系
目前农村产权制度的改革, 以及新农村建设发展, 权 属调查意义重大。第二次土地调查 中权属调查一般 调绘到村或组( 如成都地区调绘到组) 权属调查方 ,
1 技术方法与关键技术
法主要是双边指界, 实地调绘上图, 并签定权属协议书。 1 1 技术 方法 . 基于县( 市) 区、 级土地利用 现状标准 的数据 目 权属协议书的制作方法主要是采用传统手工填表、 前,
大局 的重要 国情 国力 调查 , 是一 项技术性 、 涉及 多学
县 ( 市 ) 土 地调 查 是 按 相关 规 程 、 范 建 区、 级 规 立 土地 利用 现状 数据 库 , 实现 图 、 、 数 实地 一致 。其
科 的系统工程。土地调查成果直接为国土资源科学 管理、 社会经济宏观决策提供基础依据 , 对国民经济
西
12 3





21 00年 2 3卷 l 期
Vo . 3 12 No 1 .
S uh e t iaJun lo r utrlS in e o tw s Chn o ra fAgi l a ce cs c u
文 章 编 号 :0 1 4 2 (0 0 0 — 12— 5 10 — 8 9 2 1) 1 03 0

基于DLL的SolidWorks二次开发

基于DLL的SolidWorks二次开发

基于DLL的SoiidWorks二次开发回程磊杨永顺摘要论述利用Visuai C++6.0编程语言通过动态链接库DLL对SoiidWorks进行二次开发的原理和一些关键技术,并结合实例具体说明DLL程序代码的设计。

关键词:Solidworks动态链接库Visual C++二次开发CAD中图分类号:TP391.7 文献标识码:A 文章编号:1671—3133(2004)09—0038—03Redevelopment Solidworks application program based on DLL technology回Cheng Lei,Yang YongshunAbstract Introduces the principie and some key technoiogy of the redeveiopment SoiidWorks with Visuai C++through Dynam-ic Link Library fiie,combined with exampies to ciarify the design method of dii programming code.Key words:Solidworks Dynamic link library Visual C++Redevelopment CADSoiidWorks是一套基于三维造型的机械设计自动化软件,功能强大且操作简单。

它采用参数化尺寸驱动和特征造型技术建立零件的三维模型,可以动态模拟装配过程,可以由三维实体自动生成二维工程图。

SoiidWorks的尺寸全相关技术使得零件、装配体及工程图在不同文件中显示同一模型,如果在一个文件中对模型进行了修改,则包含此模型的其他文件也会相应更改。

因此与目前普遍采用的对二维CAD软件如AutoCAD进行二次开发相比较,二次开发三维CAD软件SoiidWorks具有开发周期短、工作量小等优点,而且有了三维实体模型可以对重要零、部件进行有限元分析与优化设计(CAE),可以模拟数控加工(CAM),这样就易于实现CAX系统的集成。

MSC.ADAMS 二次开发技术应用研究

MSC.ADAMS 二次开发技术应用研究

MSC.ADAMS二次开发技术应用研究王晓东西北大学MSC.ADAMS二次开发技术应用研究Application Research Of The RedevelopingTechnique Of MSC.ADAMS王晓东西北大学摘要:MSC.ADAMS不仅是一个优秀的虚拟样机建模和分析软件,同时也可作为开发虚拟样机分析应用软件的有效工具。

用户可以针对特定的应用需求,对MSC.ADAMS进行功能定制和二次开发,扩充其功能或者将其仿真分析功能集成到自己的程序中。

本文从编写MSC.ADAMS用户自定义函数和MSC.ADAMS/SDK开发两个方面,对MSC.ADAMS的二次开发技术及其在工程上的应用进行了介绍。

关键词: MSC.ADAMS 虚拟样机二次开发用户自定义函数Abstract: MSC.ADAMS is an excellent software of virtual prototyping analysing,as well as a developing tool .For the specific purpose,users can redevelop the MSC.ADAMS software so as to strengthen the capability of simulation and analysis,or integrate such capability into your own applications. The redeveloping technique of MSC.ADAMS softwre is briefly described in programing user-writen functions and devoloping MSC.ADAMS/SDK.Key words: MSC.ADAMS,virtual prototyping,redevelopment,user writen functions1 前言虚拟样机技术(Virtual Prototype Technology)是当前设计制造领域的一门新兴的CAE技术,主要功能是在计算机上建立机械系统的三维实体模型和力学模型,分析和评估系统的性能,为物理样机的设计和产品的制造提供参数依据。

Visual C(++)对SolidWorks的二次开发方法

Visual C(++)对SolidWorks的二次开发方法

基金项目:河南省科技攻关资助项目(0324250066)作者简介:程 磊(1981-),男,河南新蔡人,硕士生.收稿日期:2003-12-16文章编号:1672-6871(2004)02-0042-04Visual C ++对SolidWorks 的二次开发方法程 磊1,杨永顺1,陈建军2(1.河南科技大学材料科学与工程学院,河南洛阳471003;2.河南科技大学附属工厂,河南洛阳471003)摘要:针对目前普遍开发三维C AD 系统的需要,讨论了对三维绘图软件S olidW orks 进行二次开发的方法,并结合实例重点阐述利用Visual C ++6.0编程语言开发S olidW orks 动态连接库D LL 的步骤和编程方法,所开发的D LL 实现了于S olidW orks 的无缝集成,对相关三维C AD 软件的开发是一种启示和借鉴。

关键词:程序设计;开发;计算机辅助设计中图分类号:TP311.11文献标识码:A0 前言为了缩短产品开发周期、提高市场竞争能力,各企业在产品设计中大多要对通用C AD 软件进行二次开发,建立适合自己的专用模块。

但目前所开发的C AD 系统,一般是对二维绘图软件如AutoC AD 进行二次开发,实现机械零件参数化设计。

由于二维绘图软件本身无法实现参数化驱动,所以对其进行二次开发的周期长、工作量大、不易实现C AX 系统的集成。

而三维绘图软件如S olidW orks ,采用特征建模、参数化驱动可方便地设计出三维实体模型[1]。

利用三维实体模型可以自动生成二维工程图;可以在生产之前动态模拟装配过程、进行干涉检查;可以对重要零部件进行有限元分析与优化设计(C AE );可以模拟数控加工(C AM );可以生成零件的工艺规程(C APP ),这样就易于实现C AX 系统的集成。

所以基于三维绘图软件的二次开发必将成为今后C AD 技术发展的主流。

本文将讨论在Visual C ++6.0的集成开发环境下,对S olidW orks 进行二次开发实现机械零件参数化设计的方法,并结合实例说明二次开发的具体实现过程。

基于MSC_Marc二次开发的土体静力和地震非线性分析方法

基于MSC_Marc二次开发的土体静力和地震非线性分析方法

第28卷第3期2008年6月地 震 工 程 与 工 程 振 动J OURNAL OF EARTHQUAKE ENG I N EER ING AND E NG I NEER I NG V I BRAT ION V o.l 28N o .3Jun .2008收稿日期:2007-04-01 修订日期:2007-11-20基金项目:国家自然科学基金项目(50478036);云南/十#五0重点项目作者简介:刘洁平(1977-),女,博士研究生,副研究员,主要从事结构抗震反应分析研究.E-m ai:l ji ep i ng_li u @126.co m文章编号:1000-1301(2008)03-0178-06基于M SC .M arc 二次开发的土体静力和地震非线性分析方法刘洁平,张令心,石 磊(中国地震局工程力学研究所,黑龙江哈尔滨150080)摘要:本文在M SC .M arc 提供良好的用户二次开发环境下,利用用户使用的应用编程接口U SER S U B .HYPELA,添加了多层土的静力Duncan -Chang 本构关系模型和动力等效线性化本构关系模型,并通过两个算例验证了本文二次开发的可靠性。

关键词:M SC .M a rc ;二次开发;D uncan -Chang ;等效线性化中国分类号:P315.981 文献标志码:AStatic and seis m ic non -li near anal ysis nethods of soilsbased on M S C .M arc redevelop m entL I U Ji e pi n g ,Z HANG Lingx in ,S H I Lei(I n stitute of Engi n eeri ngM echan i cs ,C h i na E arthqu ake Adm i n istrati on ,H arb i n 150080,C hina)Abst ract :Under t h e favorab le redevelopi n g cond ition and App lication Progra mm ing I n terface USER SUB .HYPELA for user applied by M SC .M arc ,Duncan -Chang m odel fo r stati c non linear elastic ana lysis and equivalent lineariza -ti o n m odel for nonlinear dyna m ic ana l y sis o fm ult-i layer so ils are added ,and t w o exa m ples are calcu lated to verify t h e reliab ility of the redevelopm en.tK ey w ords :M SC .M arc ;redeve l o p m en;t Duncan -Chang ;equ i v a lent li n earization引言近20年来,在各种工程实际中提出了很多需要计算和分析的重要问题,为精确地完成这些计算和分析,经常需要在成熟的有限元分析软件中二次开发相关的算法和本构关系模型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FAMOS是德国IMC公司早在1988年就推出的以 MS Windows为操作系统的数据信号分析软件。
FAMOS提供了包括FFT、积分、微分、曲线图、直方 图、相位互相关、数字运算等复杂的实时分析功能。用户可 定义的实时测量功能可在线进行测量公式编辑。测量、分析 等工作能在不同的窗口中与波形同时显示并随波形变化 而更新。它可读取多家公司的文件格式,如:SONY、TEAC、 YOKOGAWA?NEC?HIOKIjBOSCH?Tektronix?OROS?HP? Nicolet等,也可通过文件助理(File Assistant)读取其他 文件格式。其内部的数据转换快速而方便,使用时可将采 集到的数据转换为Microsoft Office格式,如Word、Excel 或其他流行的数据处理软件格式,以供进一步的分析和 编写测试报告。测试者在测试现场即可作出最准确的判断 和完美的测试报告。
//函数返回存放生成波形的内存块对应的旬柄值
extern”掣一declspec(dllelport)HANDLE RetSine(float a,
int n1

DLL—WAVE far}hpCurve;
HANDLE
hCurve;
double
PI=3.14159,dx=0.001,NoOfPoints=2¥P1,
Project”新建一个工程DLLTEST,包含2个输出函数。
//DI,I,TES一1.cpp
//波形乘2函数 extern”c”一一decl叩。c(dllelport)void Mult2(DLL—WAVE
FAR{P11
//函数的输出有2种方法:①可采用包含导出函数表的对应 //模块定义文件+def,即通过赋一个数值(序号)给链接程序
int、uint?long ulongj charjuchar?float?double、text?dsf?
void共1 3种。其中text是指长度255字节的文字信息, dsf足指具有DLL—WAVE形式的数据结构体。 3.2动态链接库的编制
DLL的种类很多,凡是导出函数符合FAMOS审数导 人原则的动态链接库,就町以在FAMOS中正常使用,这 其中包含WIN32 DLL及MFC DLL。用户可在DLL中添 加对话框等MFC类库资源并进行多个函数的输出, FAMOS对导人函数的个数没有限制。
fx,length;
long char
Ix; 7text[255];
le“gth=gizeof‘D1.L—WhVE)+(int)(n·NoOfPoints/dx)+
~8一
sizeof(float); hcurve=clobalAlloc(GHND,(10ng)length); //分配空问 if(hCurve) {sprin叫Text,”返回正弦波幅值为:%g、11周期为:2PI”,a);
FAMOS自身的模块加载定义文件},def的定义格式
如下:
DLL32”DLLName,FctName FamosName, ReAccess ReType——DLL.ReType.—FAMOS ReNumber elements,
Parl一Access Parl一Type—DLL.ParlJype
FAMOS Parl——Number_elements,
FAMOS包含二类函数调用约定,即c和Pascal。这二 者的区别是:c约定规定参数传递顺序是从右到左,即最 右边的参数最先压栈,由调用者恢复堆栈指针;而Pascal 约定正好相反,它规定参数是从左向右传递,由被调用者 恢复堆栈。通常情况下,32位DLL函数的导入使用C调 用约定,而16位DLL函数的导人则使用Pascal约定。 2.2开发过程
使用中需注意: (1)某些参数在定义时可省略表示,但空格不能省去。 (2)DLL外部传送的指针必须是远指针FAR。 根据各个参数的具体含义.该动态链接库的FAMOS 模块定义文件famos.def为:
MessageBox(O,Text,”DLL function:FatCos”,MB—OK); hpCurve=(DLL_WAVE FAR+)GlobalLock(hCurve);
//锁定内存块 lstr。py(hpcurve一>xUnit,”s”);
lstr。Py(hpcⅢe一>yUnit,”v”);
(1)根据需要编制动态链接库;(2)编制FAMOS特定 加载方式对应的模块定义文件;(3)在FAMOS中加载 DLL;(4)在FAMOS函数分类窗口中添加对应函数组和 函数按钮。 3实例说明
编写动态链接库的工具很多,如Visual c++、Bor— land C++、Delphi等,对于具体方法可以参见相关文档。 下面仅以Visual c++6.0为例,介绍开发应用于FAMOS 的32位动态链接库时应注意的问题。 3.1 FAMOS的函数导入原则
//来导出函数;②采用MFC提供的修饰符号一declspec(dll一
//export) {long i;
for(i=O;i<PI->Samples;i++) PI一’y【i】十=2;
MessageBox(O,”数据己进行了乘2运算”,。DLL function: Muh2”.MB—OK);
//产生正弦波形函数(参数a为波形幅值,n为周期个数)
FAMOS的应用窗口界面中包含几个部分:菜单项、工 具条、变量列表窗口(Variables)、函数分类窗口(Functions)、 操作窗口(Operation)、公式解说器输出窗口(Output),同时 它还包含了报告生成器、结果编辑器等配套组件。 2 FAnOS二次开发技术介绍
FAMOS包含了二次开发接口,即它可利用用户编制 的动态链接库或IMC公司提供的信号分析套件来扩充自
在编制DLL之前,首先应了解FAMOS函数导入原则。
—— '——
万方数据
(1)使用EAMOS的波形数据存储定义。在果,必须使用
FAMOS的波形数据结构体DLI.一WAVE。 (2)函数参数和返回值的数据类型必须符台FAMOS
导人函数的数据类型要求,其数据类型包括short、ushort、
Direct:直接方式,…1’(默认,可省略表示);(2)Pointer:指
针方式,“}”f一般用于对现有波形的操作);(3)Handle:句 柄方式,“+”(一般用于函数产生波形的返回)。
Type—DLL包含了13种数据类型.其中包括FAMOS 自身定义的数据类型dsf和text。dsf类型是指其数据方式 为结构体DLLWAVE。对应数据访问方法一般为pointer 或handle。text类型是指长度255字节的文字信息,它必 须通过远指针FAR进行访问,即数据访问方法为pointer。
short Flags; Samples; Time: y[1】;
//未定义 //采样次数,)=2L //触发时间.默认为0 //采样阵列的开始点
l DLL—WAVE;
#pragma pack() 步骤3:编译生成加载于FAMOS中的DLLTEST.dll
文件。 3.3编制FAMOS加载方式对应的模块定义文件
下面以具有简单输出函数的DLL为例说明添加函数 的基本方法。虽然在实际应用中添加函数的方法更复杂且 更有意义,但其方法和动态链接库中添加函数的基本方法 足一样的。
功能要求:完成返回一个正弦波形,其周期为2P1、波 形长度和幅值可定并且可对波形进行乘2运算这二种函 数功能DLL的编制。
步骤1:利用VC6.0中的32位DLL“a simple DLL
typedef struct

char
char
xUnit[13l; yUnit[13】-
/Ix轴单位 //y轴单位
char float float
Name【12];
//波形名称
dX;
//x轴增量.测量间隔>0.0
XO;//x轴偏移量,即第一次采样x的坐标
unsigned long
long float
《傲参2机与应用)200S年第1 1期
已的函数库。本文只介绍利用动态链接库对FAMOS进行 二次开发的方法。 2.1 FAMOS=次开发接口介绍
(1)动态链接库的连接方式。应用程序采用隐式链接 和显式链接方式使用DLL。FAMOS对于DLL连接采用显 式链接。FAMOS菜单项中“Options/DLL Functions……” 功能就是对FAMOS模块定义文件进行操作,完成对应 DLL的加载或释放。
hpcurve一’y【lx】_(noat)(a·sin(fx)); GlobalunIock(hCurve);//解锁内存块J
return hCurve; l
步骤2:定义波形数据结构体。
//DLLTEST.h
#pragma pack(1) //定义结构DLL—WAVE,其中包含了测量的数值和其他一 //些附加信息
(2)动态链接库导出函数的调用方式。Windows动态 链接库是包含数据和函数的模块,可以被其他可执行文 件(EXE、DLL、OCX等)调用。动态链接库包含2种函数: 输出(Exported)函数和内部(Internal)函数。输出函数可以 被其他模块调用,而内部函数则只能在动态链接库内部 使用。信号分析软件FAMOS具备标准的DLL接口,允许 导人任何由Windows动态链接库导出的函数。
bpCurve一>Name[O】=0; hpCurve一>dX=(float)dx; hpCurve一>X0=0: hpCurve一>F1898=0; hpCurve一>samples=(10“g)(n+NoOfPoints/dx); hpCurve一>Time=0; for(Ix=0,fx=0;fx<(n十NoOfPoints);lx++,fx+=dx)
基于动态链接库的FAMOS二次开发方法研究
西安工业学院计算机科学与工程系(71 003 2) 于志华 雷志勇
摘要:FAMOS软件是为测试技术的特殊要求而定制的一套信号分析软件。本文重点介绍了 在FAMOS二次开发中使用动态链接库的实现方法。
相关文档
最新文档