ObjectARX创建带文字的线型实例代码
AcDbLinetypeTable* pLinetypeTable=NULL;
Acad::ErrorStatus es = acdbHostApplicationServices()->workingDatabase()->getLinetypeTable(pLinetypeTable,AcDb::kForWrite);
if (Acad::eOk != es)
{
return;
}
AcDbObjectId txtStyleId=acdbHostApplicationServices()->workingDatabase()->textstyle();
AcDbLinetypeTableRecord *pLinetypeTableRec=new AcDbLinetypeTableRecord;
//设置线型名称注意,命名规范
pLinetypeTableRec->setName(L"YJV10X5");
//pLinetypeTableRec->setAsciiDescription(_T("YJV10X5 ____YJV10*5 ____"));
//线型说明文字高版本建议用setComments
pLinetypeTableRec->setComments(_T("YJV10X5 ____YJV10*5 ____"));
//设置Dash短划线数量
pLinetypeTableRec->setNumDashes(3);
//设置短划线的长度,正值为实线,负值为空格,0是点
pLinetypeTableRec->setDashLengthAt(0,1.25);
pLinetypeTableRec->setDashLengthAt(1,-1.75); //设置Shape或Text样式Id
pLinetypeTableRec->setShapeStyleAt(1,txtStyleId);
//比例,文字高度
pLinetypeTableRec->setShapeScaleAt(1,0.25);
//设置文字原点偏移位置
pLinetypeTableRec->setShapeOffsetAt(1,AcGeVector2d(-1.55,-0.125));
//设置文字索引位置和内容,索引≥0
pLinetypeTableRec->setTextAt(1,_T("YJV10*5")); pLinetypeTableRec->setDashLengthAt(2,0.25);
//设置自动缩放比例
pLinetypeTableRec->setIsScaledToFit(0);
//设置图案长度一般等于dashLength实际距离之和
pLinetypeTableRec->setPatternLength(3.25);
pLinetypeTable->add(pLinetypeTableRec);
pLinetypeTableRec->close();
pLinetypeTable->close();
附:关于自定义线型中的文字
线型中可以包含字体中的字符。
包含嵌入字符的线型可以表示实用工具、边界、轮廓等等。指定顶点时将动态绘制直线,就象使用简单线型一样。嵌入直线的字符始终完整显示,不会被截断。
包含嵌入字符的线型图案描述符类似于简单线型的图案描述符。
例如,名为 HOT_WATER_SUPPLY 的线型定义为
*HOT_WATER_SUPPLY,---- HW ---- HW ---- HW ---- HW ---- HW ----
A,.5,-.2,["HW",STANDARD,S=.1,U=0.0,X=-0.1,Y=-.05],-.2这表示一种重复图案,以 0.5 个图形单位长度的划线开头,然后是 0.2 个图形单位长度的空移、具有一定缩放比例和位置参数的字符 HW 以及另一个 0.2 个图形单位长度的空移。文字字符来自指定给 STANDARD 文字样式的文字字体,缩放比例为 0.1、正立旋转角度为 0 度、X 偏移为 -0.1、Y 偏移为 -0.05。该图案沿直线长度延续,以长度为 0.5 个图形单位的划线结束。该线型如下所示。
请注意,总间距长度为 0.2 + 0.2 = 0.4,文字原点在 X 方向上相对于首次向右上挑的端点偏移 -.01 个单位。等价线型为
*HOT_WATER_SUPPLY,---- HW ---- HW ---- HW ---- HW ---- HW ----
A,.5,-.1,["HW",STANDARD,S=.1,U=0.0,X=0.0,Y=-.05],-.3总间距长度仍然是 0.1 + 0.3 = 0.4,但是文字原点在 X 方向上未发生偏移。
字符描述符格式
在线型说明中添加文字字符的格式如下所示:
["text_string",text_style_name,scale,rotation,xoffset,yoffset]比例、旋转、X 偏移和 Y 偏移的值必须表示为有符号十进制数字,例如 1、-17 和 0.01。
- 文字字符串
要在线型中显示的字符。
- 文字样式名
要使用的文字样式的名称。如果未指定文字样式,将使用当前定义的样式。
注意:嵌入的文字字符与图形中的文字样式相关。加载线型之前,图形中必须存在与线型相关联的文字样式。
- 比例
要用于文字样式的缩放比例与线型的比例相关。提供的比例因子必须使用 S= 作为前缀,例如 S=.5 表示比例因子为 0.5。文字样式的高度将乘以比例因子。如果文字样式的高度为 0(零),则 S=value 的值单独用作高度。
- 旋转
要在线型中显示的字符的旋转角度。旋转角度必须带有前缀 U=、R= 或 A=。
- U= 指定正立或易于阅读的文字。
- R= 指定相对于直线的相对或相切旋转。
- A= 指定文字相对于原点的绝对旋转;即所有文字不论其相对于直线的位置如何,都将进行相同的旋转。
该值后面可添加
- d 表示度(度为默认值)
- r 表示弧度
- g 表示百分度
下图是使用正立旋转定义的线型。
如果省略旋转,则相对旋转为 0。旋转是围绕基线和实际大写高度之间的中点进行的。
注意:如果图形包含不使用 U(正立)旋转标记的传统线型,则可以通过从 LIN 文件重载线型,根据最新线型定义更新这些图形。可以通过在重载线型定义之前将 R(旋转)标记更改为 U(正立)标记,来更新自定义线型。
- X 偏移
文字在线型的 X 轴方向上沿直线的移动。提供的偏移必须带有前缀 X=,例如,X=.1 表示偏移 0.1。如果省略偏移或偏移为 0(零),则文字将不发生偏移。使用该字段控制文字与前面提笔或落笔笔划间的距离。该值不能按照 S=值定义的缩放比例进行缩放,但是它可以根据线型进行缩放。
- Y 偏移
文字在线型的 Y 轴方向垂直于该直线的移动。提供的偏移必须带有前缀 Y=,例如 Y=.1 表示偏移 0.1。如果省略偏移或偏移为 0(零),则文字将不发生偏移。使用此字段控制文字相对于直线的垂直对齐。该值不能按照 S=值定义的缩放比例进行缩放,但是它可以根据线型进行缩放。
ObjectARX创建带文字的线型实例代码的更多相关文章
- HighchartsJS创建点状带标识的图表实例
上一篇我发布的是关于 HighchartsJS创建环形带标识的图表实例, 从那篇文章就可以看出 HighchartsJS 确实是一款功能很强大的图表库.利用它,我们可以在项目中创建出我们所需要的图表来 ...
- php mkdir 创建多级目录实例代码
先介绍一下 mkdir() 这个函数 mkdir($path,0777,true); 第一个参数:必须,代表要创建的多级目录的路径. 第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问 ...
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二)(代码篇)
这篇是上一篇的延续: 用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 源代码在github上可以下载,地址:https://github.com/guoxia ...
- mySql创建带解释的表及给表和字段加注释的实现代码
1.创建带解释的表 CREATE TABLE test_table( t_id INT(11) PRIMARY KEY AUTO_INCREMENT COMMENT '设置主键自增', t_name ...
- HighchartsJS创建环形带标识的图表实例
HighchartsJS 是一款功能强大.开源.美观.图表丰富.兼容绝大多数浏览器的纯js图表库,目前最新版本库是Highcharts 4.1.9.另外,HighchartsJS还提供很多的插件和第三 ...
- Android开发学习之路-带文字的图片分享
有用过微信分享SDK的都应该知道,微信分享到朋友圈的时候是不能同时分享图片和文字的,只要有缩略图,那么文字就不会生效.那么问题就来了,如果我们想把APP内的某些内容连带图片一起分享到微信,是不是没办法 ...
- 修改js confirm alert 提示框文字的简单实例
修改js confirm alert 提示框文字的简单实例: <!DOCTYPE html> <html> <head lang="en"> & ...
- python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容
python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI,采用Python语言编写 ...
- seo之google rich-snippets丰富网页摘要结构化数据(微数据)实例代码
seo之google rich-snippets丰富网页摘要结构化数据(微数据)实例代码 网页摘要是搜索引擎搜索结果下的几行字,用户能通过网页摘要迅速了解到网页的大概内容,传统的摘要是纯文字摘要,而结 ...
随机推荐
- postgres高可用学习篇三:haproxy+keepalived实现postgres负载均衡
环境: CentOS Linux release 7.6.1810 (Core) 内核版本:3.10.0-957.10.1.el7.x86_64 node1:192.168.216.130 node2 ...
- 【AirTest自学】AirTest工具介绍和入门学习(一)
==================================================================================================== ...
- navicat 远程连接服务器1130,1045问题报错处理
本人踩坑多次,一开始网上搜罗,解决办法大同小异,摸索了很久才全部解决完成,小小bug真磨人啊 首先,根据我的踩坑记录,navicat 1045和navicat 1130貌似属于同一种解决方案,都是修改 ...
- Spring之IOC(控制反转)与AOP(面向切面编程)
控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合.当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象.可以认为IoC与JND ...
- mariadb(mysql)[详解]
本文链接:https://blog.csdn.net/root__oo7/article/details/82817501 安装: [root@bogon ~]# yum install mariad ...
- Web 项目的文件/文件夹上传下载
我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 这次项目的需求: 支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,i ...
- SQL必知必会收集学习
1.按查询列位置排序:如按第一列 降序排序 desc
- 洛谷 P2850 [USACO06DEC]虫洞Wormholes 题解
P2850 [USACO06DEC]虫洞Wormholes 题目描述 While exploring his many farms, Farmer John has discovered a numb ...
- 用Xpath选择器解析网页(lxml)
在<爬虫基础以及一个简单的实例>一文中,我们使用了正则表达式来解析爬取的网页.但是正则表达式有些繁琐,使用起来不是那么方便.这次我们试一下用Xpath选择器来解析网页. 首先,什么是XPa ...
- LSTM的结构