autocadR12的格式分析(一)

AutoCAD R12是1992年出版的,R12是Dos版的最高顶峰,具有成熟完备的功能,提供完善的AutoLisp语言进行二次开发,许多机械建筑和电路设计的专业CAD就是在这一版本上开发的。这一版本具有许多即使现在的版本也不具备的特性,例如实体爆炸后得到的是3Dface,而不是像现在版本这样变成面实体——还是实体,不像3Dface那样可以对顶点进行单独拉伸。这里,主要分析R12中直线和圆的格式。

1)直线格式:

0
SECTION
2
ENTITIES
0
LINE
8
0.18
62
1
10
3.000000
20
3.000000
11
5.000000
21
5.000000
0
ENDSEC
0
EOF

解析如下:

表(1)R12中直线格式

2)圆的格式,这里介绍由一个定点和半径画成的圆。

0
SECTION
2
ENTITIES
0
CIRCLE
8
0.18
62
1
10
3.000000
20
3.000000
40
3.000000
0
ENDSEC
0
EOF

圆的格式大体和直线很类似,这里介绍它们的不同:直线有(10 20 11 21)字段,而圆只有(10 20 40)字段,区别在于圆有40字段,而直线没有。40字段代表圆的半径,由上面的格式可知,半径R=3.00000

用C语言实现画有颜色、有宽度的圆和直线,其代码如下:

#include <iostream.h>
#include <conio.h>
#include <stdio.h>

struct Points
{
	char row[10];//定义10行
	double x,y,z;//定义点的三个坐标
};
/************************************************************************/
/* 8 0.18表示线宽为0.18毫米
   8 0.35表示线宽为0.35毫米
   62 1表示颜色为红色
   62 2表示颜色为黄色
   62 3表示颜色为绿色
   10 20 30分别表示x1,y1,z1
   11 21 31分别表示x2,y2,z2                                                                  */
/************************************************************************/
//红色
void LineDXFr(FILE *fp, Points start, Points end)//直线
{
	fprintf(fp,"0 \nLINE\n");
	fprintf(fp,"8 \n0.18\n"); //线宽0.18mm
	fprintf(fp,"62 \n1\n");
	fprintf(fp,"10 \n%f\n20 \n%f\n11 \n%f\n21 \n%f\n",
		start.x, start.y, end.x, end.y);
}
void CircleDXF(FILE *fp, Points center, double radius)//圆
{
	fprintf(fp,"0 \nCIRCLE\n");
	fprintf(fp,"8 \n0.18\n");
	fprintf(fp,"62 \n1\n");
	fprintf(fp,"10 \n%f\n20 \n%f\n40 \n%f\n",
		center.x, center.y, radius);//圆心和半径
}

//绿色
void LineDXFg(FILE *fp, Points start, Points end)
{
	fprintf(fp,"0 \nLINE\n");
	fprintf(fp,"8 \n0.18\n");
	fprintf(fp,"62 \n3\n");
	fprintf(fp,"10 \n%f\n20 \n%f\n11 \n%f\n21 \n%f\n",
		start.x, start.y, end.x, end.y);//两点的横纵坐标
}
//黄色
void LineDXFy(FILE *fp, Points start, Points end)
{
	fprintf(fp,"0 \nLINE\n");
	fprintf(fp,"8 \n0.18\n");
	fprintf(fp,"62 \n2\n");
	fprintf(fp,"10 \n%f\n20 \n%f\n11 \n%f\n21 \n%f\n",
		start.x, start.y, end.x, end.y);//两点的横纵坐标
}

void main(){
	struct Points po1={"1",3,3,3};
	struct Points po2={"2",5,7,5};
	struct Points po3={"3",8,9,8};
	struct Points po4={"4",10,13,10};
	//Points p1,p2; //定义点
	FILE *fp;
	fp=fopen("lineall3d.dxf","w");
	if(fp == NULL)
	{
		printf("Can not open this file !\n");
		return;
	}
	fprintf(fp,"0\nSECTION\n");
	fprintf(fp,"2\nENTITIES\n");
	/*printf("please input 1st coordinate(x1,y1):");
	scanf("%lf %lf",&p1.x,&p1.y);

	  printf("please input 2st coordinate(x2,y2):");
	scanf("%lf %lf",&p2.x,&p2.y);*/

	LineDXFr(fp,po1,po2); //画红色的直线,宽度为0.18mm
	LineDXFg(fp,po3,po4); //画绿色的直线,宽度为0.18mm
	LineDXFy(fp,po2,po3); //画黄色的直线,宽度为0.18mm
	CircleDXF(fp,po1,3);

	fprintf(fp,"0 \nENDSEC\n");
	fprintf(fp,"0 \nEOF");
	fclose(fp);

}

效果如下:

注意:查看“线宽”时,要点击“对象捕捉”旁边的“线宽”按钮,就行了。

时间: 2024-08-05 05:15:34

autocadR12的格式分析(一)的相关文章

AAC 格式分析

一直在做一个语音项目,到了测试阶段,近来不是很忙,想把之前做的内容整理一下. 关于AAC音频格式基本情况,可参考维基百科http://en.wikipedia.org/wiki/Advanced_Audio_Coding AAC音频格式分析 AAC音频格式有ADIF和ADTS: ADIF:Audio Data Interchange Format 音频数据交换格式.这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行.故这种格

tiff和geotiff格式分析

转自goldeneyezhang原文 tiff和geotiff格式分析 1. tiff 文件的基本格式 TIFF(Tag Image File Format) 图像文件说明: TIFF 文件是由许多的标签 (tag) 组成 , 在 Adobe 的有关 tiff6.0 的说明中,将 (tag) 的解释称各种标签所对应的数值,而在文件中各个标签的实际入口称为 (field) ,暂且称为域. tiff 支持黑白.灰度.彩色的图像格式,同时还可以接受 RGB CMYK 等色彩系统,同时支持图像数据的 L

HTTP POST请求报文格式分析与Java实现文件上传

时间 2014-12-11 12:41:43  CSDN博客 原文  http://blog.csdn.net/bboyfeiyu/article/details/41863951 主题 HTTPHttpComponents 在开发中,我们使用的比较多的HTTP请求方式基本上就是GET.POST.其中GET用于从服务器获取数据,POST主要用于向服务器提交一些表单数据,例如文件上传等.而我们在使用HTTP请求时中遇到的比较麻烦的事情就是构造文件上传的HTTP报文格式,这个格式虽说也比较简单,但也

序列化笔记之一:Google的Protocol Buffer格式分析

从公开介绍来看,ProtocolBuffer(PB)是google 的一种数据交换的格式,它独立于语言,独立于平台.作为一个学了多年通信的人,ProtocolBuffer在我看来是一种信源编码.所谓信源编码,就是将待传输的信源符号经过某种变换,转换成码流进行传输的这个变换过程.信源编码可分为两类:有损编码与无损编码,PB自然是属于无损编码,在无损编码中,又分为定长编码和变长编码,定长编码就是一个符号变换后的码字的比特长度是固定的,比如ASCII.Unicode都是定长编码,码字是8比特,16比特

腾讯、网易、新浪新闻网站爬虫编写记录及评论格式分析

0 前言 先说说看这篇博客你能知道什么:1 腾讯.网易.新浪不同新闻的地址格式以及评论内容的地址格式(返回数据为json的异步接口):2 一些比较通用的设计方法,对软件设计的菜鸟可能有帮助: 之前也说了要写这边博客,现在终于写出来了.我的毕业设计的指导老师说毕设论文的字数不够--所以我决定把这些本不应该出现在论文中的实现细节凑到论文中.至于下面说到的东西要解决什么问题,各位可以先看看这个网站(我毕设的初步结果,目前还在优化中,包括代码结构还有UI设计):http://reetseenews.du

MIME邮件格式分析及信息提取

http://www.studa.net/pc-Theory/080505/11033039.html 摘  要  MIME是目前互联网邮件普遍采用的格式标准,本文通过对MIME邮件格式规范的分析和说明,给出了从邮件中提取其所含各种信息的基本方法.     关键词  MIME.邮件.格式.信息提取     MIME,英文全称为“Multipurpose Internet Mail Extensions”,即多用途互联网邮件扩展,是目前互联网电子邮 件普遍遵循的邮件技术规范.在MIME出现之前,互

(转)AAC ADTS格式分析

1,ADTS是个啥ADTS全称是(Audio Data Transport Stream),是AAC的一种十分常见的传输格式记得第一做demux的时候,把AAC音频的ES流从FLV封装格式中抽出来送给硬件解码器时,不能播,保存到本地用pc的播放器博时,我靠也不能播.但是崩溃了,后来通过查找资料才知道.一般的ACC解码器都需要把AAC的ES流打包成ADTS的格式,一般是在AAC ES流前添加7个字节的ADTS header.也就是说,你可以把ADTS这个头看作是AAC的frameheader. A

AAC音频格式分析

关于AAC音频格式基本情况,可参考维基百科http://en.wikipedia.org/wiki/Advanced_Audio_Coding AAC音频格式分析 AAC音频格式有ADIF和ADTS: ADIF:Audio Data Interchange Format 音频数据交换格式.这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行.故这种格式常用在磁盘文件中. ADTS:Audio Data Transport St

tcp、udp、ip、icmp报文格式分析

TCP .UDP .IP. ICMP协议报文格式分析 Tcp报文格式: Wireshark抓包如图: 源端口/目的端口(16bit): 在TCP报文中包涵了源端口/目的端口,源端口标识了发送进程,目的端口标识了接收方进程.由上图可以看出在此报文中我们的源端口号是54160, 目的端口是cichlid(1377). 序列号(32bit): Sequence Number这个是发送序列号,用来标识从源端向目的端发送的数据字节流,它表示在这个报文端中的第一个数据字节的顺序号,序列号是32位的无符号类型