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

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

成都百纳家居装饰 一站式品质6A整装 一房一价损耗全包!

推荐简介:本文相关词条解释家居装饰随着城市化建设迅猛崛起,各个城市都在努力朝着经济蓬勃发展、生态良性循环、人民安居乐业、 城市山清水秀的现代化大都市这个目标建设。这是社会精神文明进步的体现,是人类物质文化生活提高后的必然追求。人们追求幸福、健康和美好,就要求有一个舒心优雅的生态环境,因此,人们对城市建设提出了一系列的目标要求,即卫生城市、花园城市、园林城市、生态城市等等。由于现代城市的建设直接影响着人们生活......
模具之家讯: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 | 粤ICP备14017808号
(c)2015-2017 BO-YI.COM SYSTEM All Rights Reserved
Powered by 模具之家