- 积分
- 6
- 注册时间
- 2004-2-6
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2004-2-19 17:00:35
|
显示全部楼层
来自 广东广州
回复: 【转帖】二次开发调试技术,供搞二次开发的同行分享
支持版主:
关键词 ANSYS 二次开发 VB VC
//VC调用ANSYS80的示例源程序:
//Test.cpp
#include "stdio.h"
#include"process.h"
void main()
{
int result;
printf("Solving...");
result=system("执安装文件路径名+文件名 -b -p 产品特征码 -i test.txt -o test.out");
或者
//::WinExec("执安装文件路径名+文件名 -b -p 产品特征码 -i test.txt -o test.out", SW_SHOWNORMAL);
printf("Solution finished...");
}
注意事项:
一、产品特征代码
产品特征代码在ANSYS帮助电子文档(help>ansys documentation)里可以找到,步骤如下:
ansys8.0 documentation>ansys,Inc. Licensing Guide>License files>roduct Variable Table
以该表的第一行为例,如果你的ANSYS是multiphysics版本,那么对应的产品特征代码为ane3fl,则:
result=system("安装文件路径名+文件名 -b -p ane3fll -i test.txt -o test.out");
二、VC执行文件路径写法
第一种:
但是默认安装路径不可以: "C:\\Program Files\\Ansys Inc\\v80\\ANSYS\\BIN\\INTEL\\ANSYS80.exe"
我把原文件考到C:\目录下,这样就可以了:"C:\\ANSYS80.exe"
现在也没搞清为什么。
第二种:
默认安装路径可以: C:\\Program Files\\Ansys Inc\\v80\\ANSYS\\BIN\\INTEL\\ANSYS80.exe"
原文件考到C:\目录下,这样也可以:"C:\\ANSYS80.exe"
前两天我刚刚调试通过的,这样就没问题了。
转贴和我交流gengguang的VB例子:
是关于由已知的数组求得另外一组数组并在ANSYS中画出KP并生成曲线的的小命令。
Private Sub Command1_Click()
Dim i, i1, j, j0 As Integer
Dim x(1000), y(1000), x1(1000), y1(1000), k(1000), l(1000), h As Double
j0 = Val(Form1.Text3.Text)
h = Val(Form1.Text2.Text)
'赋值
Data1.Recordset.MoveFirst
For j = 0 To j0 - 1
x(j) = Data1.Recordset.Fields("X坐标值")
y(j) = Data1.Recordset.Fields("Y坐标值")
Data1.Recordset.MoveNext
Next j
'写ANSYS命令流
Open "d:\kpdat.txt" For Output As #1
Print #1, "/PREP7"
For i = 1 To j0 - 2
If y(i - 1) = y(i + 1) Then
x1(i) = x(i)
y1(i) = y(i) + h
Else
l(i) = Sqr((x(i + 1) - x(i - 1)) ^ 2 + (y(i + 1) - y(i - 1)) ^ 2)
If y(i - 1) > y(i + 1) Then
x1(i) = Round(x(i) + h * (x(i + 1) - x(i - 1)) / l(i), 6)
y1(i) = Round(y(i) + h * (y(i + 1) - y(i - 1)) / l(i), 6)
Else
x1(i) = Round(x(i) - h * (x(i + 1) - x(i - 1)) / l(i), 6)
y1(i) = Round(y(i) + h * (y(i + 1) - y(i - 1)) / l(i), 6)
End If
End If
Print #1, "k,"; i; ","; x1(i); ","; y1(i)
Next
Print #1, "FLST,3,"; j0 - 2; ",3"
For i = 1 To j0 - 2
Print #1, "FITEM,3,";
Print #1, i
Next
Print #1, "BSPLIN, ,P51X"
Close #1
Call Shell("D:\crack\v71\ANSYS\bin\intel\ansysir.exe -b -p ansys_product_feature -i input_file -o output_file", 4)
End Sub
这样就可以生产一段ANSYS的命令流,如下:
/PREP7
k, 1 , .084058 , .187923
k, 2 , .12083 , .265052
k, 3 , .222579 , .369824
k, 4 , .38136 , .407249
k, 5 , .588 , .516
k, 6 , .691345 , .81803
FLST,3, 6 ,3
FITEM,3, 1
FITEM,3, 2
FITEM,3, 3
FITEM,3, 4
FITEM,3, 5
FITEM,3, 6
BSPLIN, ,P51X
感谢和我交流fengguang所作的工作!
发贴请加上关键词。同意的顶一下。
关键词: ANSYS 二次开发 VB VC
祝大家好运。 |
评分
-
1
查看全部评分
-
|