模具知识|AutoCAD 在有限元前处理中的应用

   日期:2017-01-20     来源:建材之家    作者:模具之家    浏览:30    评论:0    
核心提示:AutoCAD是一种通用的交互式图形软件。对AutoCAD进行二次开发,通过获取AutoCAD系统提供的用于图形信息交换的文件(文件扩展名为“.dxf”),并且编制相应的接口程序,可以方便地进行有限元分析的边界节点的设置,还可利用AutoCAD平台显示已生成的网格,这样大大减轻了有限元分析师的工作量,并能随时控制生成网格的品质。   一、边界节点的自动划分  1.节点的设置  利用AutoCAD

模具知识|专家教你辨别真假汽车配件

推荐简介:昨天上午,北京市质量技术监督局和朝阳区质量技术监督局共同在东郊汽配城举办大型的现场汽车零配件真假防伪的咨询和演示。很多商户和车友会的成员都顶着大风前来参加。 东郊汽配城的王师傅现场当起了辨假专家,“您看这两个刹车片,从外观上根本看不出真假,但如果仔细闻一下气味,就会发现,真的刹车片有种刺鼻的气味,假的什么味也没有。有的国产车刹车时会发出‘嗞嗞’的声音,那多半是用了假的刹车片的结果。”......
模具之家讯:AutoCAD是一种通用的交互式图形软件。对AutoCAD进行二次开发,通过获取AutoCAD系统提供的用于图形信息交换的文件(文件扩展名为“.dxf”),并且编制相应的接口程序,可以方便地进行有限元分析的边界节点的设置,还可利用AutoCAD平台显示已生成的网格,这样大大减轻了有限元分析师的工作量,并能随时控制生成网格的品质。

一、边界节点的自动划分

1.节点的设置

利用AutoCAD为用户提供的“PointStyle”菜单命令,设置节点的显示状态和尺寸大小,设置对话框如图1所示。执行键盘输入命令格式如下:Command:Ddptype(键盘输入)。

图1PointStyle设定对话框

选择点的类型可以通过选择图形菜单中的点,并且在“PointSize”编辑框中设定点的大小。

2.等分对象

使用“Divide”命令实现等分对象。

Command:_divide(或键盘输入Divide命令);

Selectobjecttodivide:(选择等分对象);

Enterthenumberofsegmentsor[block]:(用户输入等分数);

可等分对象包括直线、圆、圆弧、椭圆、椭圆弧、多义线和样条曲线。为了控制网格密度,可以在图形上加入控制点,如图2所示。

图2边界线等分及设置网格密度控制点

3.文件保存

将图形文件保存为DXF文件。

Command:Dxfout(键盘输入)

将弹出“SaveDrawingAs”对话框,输入文件名即可。

二、获取边界节点坐标的接口程序

#include

#include

#include

#include

voidextract(void);

voidextpoint(void);

voidoutput(void);

floatdotx[1000],doty[1000];存储节点坐标的数组

FILE*dxf,*wf;文件指针说明

intnl=0,nd=1;

charvalue[64];

intcode;

main()

{

extract(); 获取节点坐标的子程序 

output(); 输出节点信息的子程序

}

voidoutput()

{inti;

wf=fopen("shuju.dat","w");节点信息保存在文件“shuju.dat”里

fprintf(wf,"floatdotx[1000]={0,"};依照C语言格式输出数据

printf(" thepoints'numberis%d",nd-1);

for(i=1;i<=(nd-1);i++)

{fprintf(wf,"%f",dotx[i]);

if(i<(nd-1))fprintf(wf,",");

}

fprintf(wf,"};");

fprintf(wf," floatdoty[1000]={0,");

for(i=1;i<=(nd-1);i++)

{fprintf(wf,"%f",doty[i]);

if(i<(nd-1))fprintf(wf,",");

}

fprintf(wf,"};");

fclose(wf);

}

voidextract()

{

charfname[24];

printf(" inputthenameofDXF:");输入dxf文件名

scanf("%s",fname);

strcat(fname,".dxf");

if((dxf=fopen(fname,"r"))==NULL)

{printf("fail ");

exit(0);}

printf(" ok! ");

do{

do{

fscanf(dxf,"%d",&code);

fscanf(dxf,"%s",value);

}while((code!=0)||strcmp(value,"SECTION")!=0);说明实体段开始

fscanf(dxf,"%d",&code);

fscanf(dxf,"%s",value);

}while((code!=2)||strcmp(value,"ENTITIES")!=0);

do{

fscanf(dxf,"%d",&code);

fscanf(dxf,"%s",value);

if(code==0&&strcmp(value,"POINT")==0) extpoint();“code”和“POINT”为说明点的组代码及跟随值

}while((code!=0)||(strcmp(value,"ENDSEC")!=0));说明实体段结束

fclose(dxf);

}

voidextpoint(void) 获取节点的坐标

{do{

fscanf(dxf,"%d",&code);

if(code==10)获取X轴坐标

fscanf(dxf,"%f",&dotx[nd]);

else {if(code==20){fscanf(dxf,"%f",&doty[nd]);nd++;}获取Y轴坐标

 elsefscanf(dxf,"%s",value);

}

}while(code!=20);

}

三、在AutoCAD平台上显示网格的接口程序

#include

#include"shuju.h" 

main()

{FILE*fp;

inti1,i2;

fp=fopen("drawout.dxf","w"); 建立一个图形交互文件

fprintf(fp," 0 SECTION  2 ENTITIES ");写入实体开始段

for(i1=1;i1<=nsan;i1++)

{

for(i2=0;i2<=2;i2++)

{fprintf(fp," 0 LINE  8 0 ");

 fprintf(fp,"10 %f ",dotx[sanjiao[i1][i2]-1]);

 fprintf(fp,"20 %f ",doty[sanjiao[i1][i2]-1]);

 fprintf(fp,"11 %f ",dotx[sanjiao[i1][i2+1]-1]);

 fprintf(fp,"21 %f ",doty[sanjiao[i1][i2+1]-1]);

}

}

fprintf(fp," 0 ENDSEC  0 EOF ");写入DXF文件结束段

fclose(fp);

}

四、程序说明

AutoCAD可以接受缺少任意一些表、段的DXF文件,因此,编写只生成“ENTITIES”段和文件结尾的DXF文件,可以方便地写入显示三角形网格的DXF文件。头文件shuju.h里包含有已生成的网格各三角形单元的的顶点编号,它们保存在数组sanjiao[1000][4]以及三角形单元的总数nsan,各节点的坐标dotx[1000],doty[1000]。程序运行后生成AutoCAD能够识别的DXF文件,文件名为”drawout.dxf”。

在AutoCAD的“Command:”提示下,调用DXFIN命令,导入drawout.dxf,即可得到生成网格的图形,如图3所示。

图3在AutoCAD平台上显示生成的网格

五、结论

从实际应用情况看,本文给出的程序能够方便准确地完成有限元网格生成中边界节点的设置以及显示已生成网格的图形。
模具之家为您提供最全面的塑胶,塑料,模具,模具设计,塑胶模具品牌的装修知识点和各种塑胶模具的导购与在线购买服务,拥有最便宜的塑胶模具价格和最优质的售后服务,敬请登陆模具之家:http://muju.jc68.com/
广告
 
打赏
 
更多>文章标签:模具 ;相关产品:
更多>同类头条资讯
0相关评论

推荐图文更多...
点击排行更多...
模具商圈内事更多...
最新视频更多...
推荐产品更多...
建材风水 | 木板之家 | 电工之家 | 壁纸之家 | 净化之家 | 安防之家 | 水暖之家 | 洁具之家 | 窗帘头条 | 家饰之窗 | 老姚之家 | 灯饰之家 | 电气之家 | 全景头条 | 陶瓷之家 | 照明之家 | 防水之家 | 防盗之家 | 博一建材 | 卫浴之家 | 区快洞察 | 郑州建材 | 驻马店建材 | 周口建材 | 信阳建材 | 商丘建材 | 南阳建材 | 三门峡建材 | 漯河建材 | 许昌建材 | 濮阳建材 | 焦作建材 | 新乡建材 | 鹤壁建材 | 安阳建材 | 平顶山建材 | 洛阳建材 | 开封建材 | 武汉建材 | 神农架建材 | 天门建材 |
建材 | 720全景 | 企业之家 | 移动社区 | 关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图 | 排名推广 | 广告服务 | 积分换礼 | RSS订阅 | sitemap |
(c)2015-2017 BO-YI.COM SYSTEM All Rights Reserved
Powered by 模具头条