AUTOCAD文字线型格式完全解读及C#实现方法

原创|使用教程|编辑:黄竹雯|2016-07-05 16:13:14.000|阅读 331 次

概述:本篇教程向大家展示了 AUTOCAD文字线型格式的完全解读及C#实现方法。

在.lin线型文件中“;;”代表注释行。因此我们可以利用它来添加一些注释性文字,以增强文件的可读性。

每种线型都可以定义为两行,第一行定义线型的名称和线型说明。行首必须是以“*”开始,其后是线型名称。线型的描述也是起一个直观的注释作用,最好加上,不过这种描述 不能超过47个字符。第二行才是真正描述线型的代码。行首的“A”代表对齐方式。

在这种对齐方式下,第一个参数的值应该大于或等于0,第二个参数的值应该小于0。简单地说 :正值表示落表,AutoCAD会画出一条相应长度的实线;0表示画一个点;负值则表示提笔,AutoCAD会提笔空出相应长度。我们可以想像成绘图笔的工作过程,就很容易理解 了。

要注意的是,这些字符之间以半角的逗号隔开,每一行结束必须按回车键,最后一行也不例外。另外,在*.LIN文件中,每个线型文件最多可容纳280个字符。 *linetypeName,lineTypeDescription A,linelength,spacelength1,["text",textstylename,scale,rotation,xoffset,yoffset],spacelength2

下面介绍了有关字符描述符中每个字段的附加信息. 要使用的值是带符号的十进制数字,例如 1、-17 和 0.01.

1. text

要在线型中使用的字符.

2. text style name

要使用的文字样式的名称. 如果未指定文字样式,AutoCAD 将使用当前定义的样式.

3. scale

S=值. 要用于文字样式的缩放比例与线型的比例相关. 文字样式的高度需乘以缩放比例. 如果高度为 0,则 S=值的值本身用作高度.

4. rotation

R=值或A=值. R= 指定相对于直线的相对或相切旋转. A= 指定文字相对于原点的绝对旋转;即所有文字不论其相对于直线的位置如何,都将进行相同的旋转. 可以在值后附加 d 表示度(度为默认值),附加 r 表示弧度,或者附加 g 表示百分度. 如果省略旋转,则相对旋转为 0.

旋转是围绕基线和实际大写高度之间的中点进行的.

5. xoffset

X=值. 文字在线型的 X 轴方向上沿直线的移动. 如果省略 xoffset 或者将其设置为 0,则文字将没有偏移,并且会变得复杂. 使用该字段控制文字与前面提笔或落笔笔划间的距离. 该值不能按照 S=值定义的缩放比例进行缩放,但是它可以根据线型进行缩放.

6. yoffset

Y=值. 文字在线型的 Y 轴方向垂直于该直线的移动. 如果省略 yoffset 或者将其设置为 0,则文字将没有偏移,并且会变得复杂. 使用此字段控制文字相对于直线的垂直对齐. 该值不能按照 S=值定义的缩放比例进行缩放,但是它可以根据线型进行缩放.

热水线型的定义:

*HOT_WATER_SUPPLY,Hot water supply ---- HW ---- HW ---- HW ---- A,.5,-.2,["HW",STANDARD,S=.1,R=0.0,X=-0.1,Y=-.05],-.2

AUTOCAD

第一行没有什么特别的,跟简单线型定义一样,是线型名和线型的简单描述。

第二行的A当然是对齐符号,数字的意义仍然与前面一样。

我们集中精力来看文本的嵌入。   “HW”是嵌入的文本,注意必须加上双引号。“STANDARD”是文本式样的名字,如果当前图形中没有该样式,则AutoCAD不允许使用该线型。   “S=.1”确定文本的比例系数为0.1。如果使用固定高度的文本,AutoCAD会将此高度乘以比例系统数;如果使用的是可变高度的文本,则AutoCAD会把比例系统数看成绝 对高度。   “R=0”表示文本相对于当前线段方向的转角。0表示文本与所给线段方向一致,这也是缺省值。   “X=-.1,Y=-.0.05”为可选项,它们确定相对于当前点的偏移量。缺省时AutoCAD将文本字符串的左下角点放在此当前点。X就是当前线段的方向,Y则是垂直于线段向上的 方向。这两个偏移量将使文本的定位更精确。 

以热水线型的定义过程为例:

线型定义:

*HOT_WATER_SUPPLY,Hot water supply ---- HW ---- HW ---- HW ---- A,.5,-.2,["HW",STANDARD,S=.1,R=0.0,X=-0.1,Y=-.05],-.2

c#实现定义过程:

 LinetypeTableRecord ltr =new LinetypeTableRecord();

ltr.Name = "HOT_WATER_SUPPLY";(第一行*号后的部分)

ltr.AsciiDescription = "HOT_WATER_SUPPLY ---- HW ---- HW ---- HW ----";(第一行逗号后面的部分)

ltr.PatternLength = 0.9;(0.5+0.2+0.2=0.9)

ltr.NumDashes = 3(一段实线,两段留白);

// Dash #1

ltr.SetDashLengthAt(0, 0.5);(第一段为实线,长度0.5)

// Dash #2

ltr.SetDashLengthAt(1, -0.2);(第二段为留白,长度为0.2)

ltr.SetShapeStyleAt(1, tt["Standard"]);(在第二段处嵌入文字,注意:嵌入文字不影响任何尺寸的计算)

ltr.SetShapeNumberAt(1, 0);(嵌入文字,1表示dash的索引值,0表示文字的索引值??用于插入多行文字?)

ltr.SetShapeOffsetAt(1, new Vector2d(-0.1,-0.05));(设置文字的偏移量)

ltr.SetShapeScaleAt(1, 0.1);(设置文字的缩放,由于["Standard"]);是可变高度的文本,则AutoCAD会把比例系统数看成绝对高度,即文字高度为0.1) ltr.SetShapeRotationAt(1, 0);(设置文字的旋转角度)

ltr.SetTextAt(1, "CW");(设置文字的内容)

// Dash #3 ltr.SetDashLengthAt(2, -0.2);(第三段为留白,长度为0.2)

ObjectId ltId = lt.Add(ltr);

tr.AddNewlyCreatedDBObject(ltr, true);

CAD .NET免费试用或demo下载,请点击CAD .NET

更多精彩内容和产品推荐,请咨询在线客服



标签:.NETCADAPI

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
title
title
相关厂商
相关产品
ABViewer

ABViewer是一款高质量的2D/3D文档查看器,可提供专业的浏览、编辑和转换功能,支持30多种光栅和矢量图形格式。

CAD VCL

CAD VCL是一个高品质多功能且含源码的控件,它提供了几个强大的类用于为您的Delphi/C++Builder应用程序创建AutoCAD DXF, CGM, Hewlett-Packard PLT/HPGL, PDF和SVG文件。

CAD Image DLL

CAD Image DLL 是高品质的广泛应用于应用程序的CAD图形处理控件,为您提供全面专业的图形浏览和编辑。支持30多种光栅和矢量图形格式。

CAD Importer SDK DLL

CAD Importer SDK DLL是为使用任何支持DLL技术语言的开发者而设计的。

DXF Export Java

便于开发者创建特色的AutoCAD DXF文件库。

CADViewX

CADViewX一款能让应用程序具有强大CAD图像浏览和打印功能的图像处理工具。

PCX Image VCL

PCX Image是为Borland Delphi and C++Builder开发者提供的一种使用工具,支持预览,操作,打印PCX格式。

CAD .NET

CAD.NET是一个在.NET环境中提供解决方案的库,它支持AutoCAD®DWG,DXF,PLT及其它CAD格式。打造智能3D解决方案,助力工业4.0人才赋能。

DXF Exporter DLL

DXF Export DLL是专门为使用支持DLL技术的语言的开发人员设计的

CAD EditorX

CAD EditorX提供易用的API和大量的例子方便开发者快速集成。打造智能3D解决方案,助力工业4.0人才赋能。

Web CAD SDK

用于通过Internet、Intranet、Sharepoint、Office 365 及其他在线 HTML5 启用技术查看DWG和其他CAD文件

CAD DLL

CAD DLL是一个为开发者打造的新版本CAD库,可在支持动态链接库技术的语言中添加CAD功能到应用程序中。

在线
客服
在线
QQ
电话
咨询
400-700-1020
购物车 反馈 返回
顶部
在线客服系统
live chat