MATLAB

您所在的位置:网站首页 dxflib库addblock MATLAB

MATLAB

2023-08-18 00:53| 来源: 网络整理| 查看: 265

matlab官网有dxflib解压包可以下载,可以绘制:点、直线、圆、字母、简单形状等。

但是没有圆弧、椭圆弧的文件。下面是我自己写的函数,可以运行。

若要画多个圆弧,在dxf_arc外面加一个循环即可。程序内容自行根据组码理解。

画圆弧:

FID = dxf_open('example.dxf');%打开 FID = dxf_set(FID,'Layer',1,'Color',[1 1 1]);%定义图层及颜色 dxf_arc(FID, center, radius, angle);%dxf以度数为单位 dxf_close(FID);%关闭 function FID = dxf_arc(FID, center, radius, angle) try if FID.dump fprintf(FID.fid,'0\n');%开始或者结束 fprintf(FID.fid,'ARC\n'); dxf_print_layer(FID);% 8 图层0 62 图层颜色255 fprintf(FID.fid,'66\n'); % entities follow (not necessary) fprintf(FID.fid,'1\n'); fprintf(FID.fid,'10\n');%原心坐标x fprintf(FID.fid,[num2str(center(1)),'\n']); fprintf(FID.fid,'20\n');%原心坐标y fprintf(FID.fid,[num2str(center(2)),'\n']); fprintf(FID.fid,'30\n');%原心坐标z fprintf(FID.fid,[num2str(center(3)),'\n']); fprintf(FID.fid,'40\n');%半径 fprintf(FID.fid,[num2str(radius),'\n']); fprintf(FID.fid,'50\n');%起始角度 fprintf(FID.fid,[num2str(angle(1)),'\n']); fprintf(FID.fid,'51\n');%终止角度 fprintf(FID.fid,[num2str(angle(2)),'\n']); end catch exception if FID.fid >= 0 fclose(FID.fid); end rethrow(exception); end

画椭圆弧:

function FID = dxf_ellipse(FID, center, major_axis, ratio, angle) try if FID.dump fprintf(FID.fid,'0\n');%开始或者结束 fprintf(FID.fid,'ELLIPSE\n'); dxf_print_layer(FID);% 8 图层0 62 图层颜色255 fprintf(FID.fid,'66\n'); % entities follow (not necessary) fprintf(FID.fid,'1\n'); fprintf(FID.fid,'10\n');%椭圆心坐标x fprintf(FID.fid,[num2str(center(1)),'\n']); fprintf(FID.fid,'20\n');%椭圆心坐标y fprintf(FID.fid,[num2str(center(2)),'\n']); fprintf(FID.fid,'30\n');%椭圆心坐标z fprintf(FID.fid,[num2str(center(3)),'\n']); fprintf(FID.fid,'11\n');%长轴端点x' fprintf(FID.fid,[num2str(major_axis(1)),'\n']); fprintf(FID.fid,'21\n');%长轴端点y' fprintf(FID.fid,[num2str(major_axis(2)),'\n']); fprintf(FID.fid,'31\n');%长轴端点z' fprintf(FID.fid,[num2str(major_axis(3)),'\n']); fprintf(FID.fid,'40\n');%椭圆短长轴比例 = 0 fclose(FID.fid); end rethrow(exception); end

另外,网上说黑色为[0 0 0],但是这个颜色画出来是暗红色,真正的黑色是[1 1 1]。

[1 0 0]红色、 [0 1 0]绿色、 [0 0 1]蓝色、 [1 0 1]洋红色、 [1 1 0]黄色。

dxf文件的打开:

由matlab绘制出来的dxf文件,可以在matlab里双击打开,内容为组码。

dxf文件也可以用CAD打开,若显示文件失效(打不开),需要先将dxf文件用转换器“Acme CAD Converter”另存为dwg文件,然后再用CAD打开即可。

注意:1.绘制文件不能总是覆盖某个dxf文件,会出错;

           2.转换器显示的图形不是真实图形模样。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3