版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章尺寸标注和引线绘制01知识讲解02任务一:长度尺寸标注03任务二:半径与直径标注目录CONTENTS04任务三:角度标注05任务四:引线绘制PART01知识讲解01知识讲解标注的作用和类型标注的基本原理标注的属性和参数标注的样式半径与直径标注角度标注引线学习模块标注是CAD图形中用于表达尺寸、位置、注释等信息的重要元素。标注可以分为尺寸标注、注释标注、表格标注等类型。尺寸标注用于表示实体的尺寸信息,注释标注用于表示实体的注释信息,表格标注用于表示实体的属性信息等。标注的作用和类型01知识讲解标注的基本原理是在CAD图形中添加标注对象,该对象包括标注线、标注文字、标注样式等元素。标注的位置和方向通常基于基准对象进行计算,例如尺寸标注的起点和终点基于实体的端点计算,标注文字的位置和方向根据标注线的位置和方向进行计算。标注的基本原理01知识讲解标注的属性和参数包括标注样式、标注文字、标注线、标注方向等元素。在CAD软件中,可以通过修改这些属性和参数来实现标注的定制化。例如,可以改变标注文字的内容、样式和位置,或者修改标注的属性和参数等。标注的属性和参数01知识讲解标注的样式01知识讲解半径标注是用于标记圆形或弧形对象半径的尺寸标注。它以圆心为中心,在圆形或弧形上绘制一条线段,并在标注线的一侧显示半径值。半径标注01知识讲解直径标注是用于标记圆形或弧形对象直径的尺寸标注。它以圆心为中心,在圆形或弧形上绘制一条水平线,并在标注线的上方或下方显示直径值。直径标注01知识讲解角度标注是CAD绘图中用于测量和标记角度的尺寸标注。它用于表示两条线、边界或弧之间的角度,并提供了角度的数值表示,帮助工程师和设计师准确测量和布局角度。角度标注01知识讲解如果我们想让标注文字的位置距离要标注的实体远一点,可以通过引线引出来在远处标注。引线通常用于在绘图中添加标签或注释,以说明与远处对象相关的信息。引线可以用于指示距离较远的对象、图形或特定区域,并与它们之间建立关联。引线标注01知识讲解PART02长度尺寸标注02长度尺寸标注长度尺寸标注是CAD绘图中的基本标注,学习创建长度尺寸标注的二次开发接口,培养ZRX二次开发的基础能力任务背景任务目标实施思路调用ZRX二次开发接口,自定义函数实现长度尺寸标注的绘制学习和了解创建长度尺寸标注的ZRX二次开发接口设计自定义函数的功能,调用二次开发接口完成长度尺寸标注的创建任务实施步骤一:学习创建长度尺寸标注的ZRX二次开发接口在ZRX中,长度尺寸标注可以标注空间内任意两点的距离,需要用到AcDbAlignedDimension函数:AcDbAlignedDimension(
//xLine1Point和xLine2Point是长度尺寸标注的两个端点 constAcGePoint3d&xLine1Point, constAcGePoint3d&xLine2Point,
//dimlinePoint标识了标注的位置 constAcGePoint3d&dimLinePoint,
//dimText是标注的内容,若值为空,默认为两端点间的距离 constTCHAR*dimText=NULL,
//dimStyle是标注样式 AcDbObjectIddimStyle=AcDbObjectId::kNull);任务实施步骤二:设计并实现创建长度尺寸标注的自定义函数创建自定义函数,通过调用AcDbAlignedDimension实现长度尺寸标注的创建voidZWDimAligned(){
//访问(创建)名为“样式1”的标注样式 autoDimStyleId=CreateDimStyleId(TEXT("样式1"));
//访问(创建)名为“标注”的层 autoLayerId=CreateLayerId(TEXT("标注"));
//通过AcDbAlignedDimension函数创建长度尺寸标注 AcDbAlignedDimension*pADimension=newAcDbAlignedDimension(AcGePoint3d(0,0,0),AcGePoint3d(10,0,0),AcGePoint3d(5,5,0),NULL,DimStyleId); pADimension->setLayer(LayerId); PostToModel(pADimension);}任务实施步骤三:设计并实现创建标注样式的自定义函数创建长度尺寸标注的自定义函数中,需要调用创建标注样式的自定义函数AcDbObjectIdUtilsFunc::CreateDimStyleId(constTCHAR*DimName){ Acad::ErrorStatuses;
//获取数据库的标注样式表
AcDbDimStyleTable*pDimStyleTbl=nullptr; AcDbObjectIdDimStyleId=AcDbObjectId::kNull; es=acdbHostApplicationServices()->workingDatabase()->getDimStyleTable(pDimStyleTbl,AcDb::kForRead); //如果没有对应的标注样式则需要创建 if(!pDimStyleTbl->has(DimName))
{
//创建标注样式记录
AcDbDimStyleTableRecord*pDSRecord=newAcDbDimStyleTableRecord(); es=pDSRecord->setName(DimName);
//把标识样式记录添加进标注样式表
es=pDimStyleTbl->upgradeOpen(); es=pDimStyleTbl->add(DimStyleId,pDSRecord); es=pDimStyleTbl->close(); es=pDSRecord->close();
}else { es=pDimStyleTbl->getAt(DimName,DimStyleId,false); } returnDimStyleId;}任务实施步骤四:设计并实现创建层表记录的自定义函数创建长度尺寸标注的自定义函数中,需要调用创建层表记录的自定义函数AcDbObjectIdUtilsFunc::CreateLayerId(constTCHAR*LayerName){ Acad::ErrorStatuses; //获取数据库的标注样式表
AcDbLayerTable*pLayTbl=nullptr; AcDbObjectIdLayerId=AcDbObjectId::kNull; es=acdbHostApplicationServices()->workingDatabase()->getLayerTable(pLayTbl,AcDb::kForRead); if(!pLayTbl->has(LayerName)) {
//创建层表记录
AcDbLayerTableRecord*pLRescord=newAcDbLayerTableRecord(); es=pLRescord->setName(LayerName);
//把层表记录添加进层表
es=pLayTbl->upgradeOpen(); es=pLayTbl->add(LayerId,pLRescord); es=pLayTbl->close(); es=pLRescord->close(); }else { es=pLayTbl->getAt(LayerName,LayerId,false); } returnLayerId;}成果展示://验证函数功能voidZWDimAligned(){
//访问(创建)名为“样式1”的标注样式 autoDimStyleId=CreateDimStyleId(TEXT("样式1"));
//访问(创建)名为“标注”的层 autoLayerId=CreateLayerId(TEXT("标注"));
//通过AcDbAlignedDimension函数创建长度尺寸标注,长度尺寸两点的坐标为(0,0,0),(10,0,0)标注的位置是(5,5,0),标注内容是两点间的长度 AcDbAlignedDimension*pADimension=newAcDbAlignedDimension(AcGePoint3d(0,0,0),AcGePoint3d(10,0,0),AcGePoint3d(5,5,0),NULL,DimStyleId); pADimension->setLayer(LayerId); PostToModel(pADimension);}课后思考:调用ZRX二次开发接口创建一个长度尺寸标注,要求这个长度尺寸标注的颜色为红色。PART03半径与直径标注03直径与半径标注直径与半径标注是CAD绘图中的基本标注,学习创建直径与半径标注的二次开发接口,培养ZRX二次开发的基础能力任务背景任务目标实施思路调用ZRX二次开发接口,自定义函数实现直径与半径标注的创建学习和了解创建长度尺寸标注的ZRX二次开发接口设计自定义函数的功能,调用二次开发接口完成直径与半径标注的创建任务实施步骤一:学习创建直径与半径标注的ZRX二次开发接口在ZRX中,直径标注可以标注空间内圆或弧的直径,通过AcDbDiametricDimension函数实现AcDbDiametricDimension( //chordPoint和farChordPoint是直径标注的起始点和远侧终止点坐标 constAcGePoint3d&chordPoint, constAcGePoint3d&farChordPoint, //leaderLength是标注线的长度,类型为double doubleleaderLength, //dimText是标注标识的内容,dimStyle用于指定标注的样式。 constACHAR*dimText=NULL, AcDbObjectIddimStyle=AcDbObjectId::kNull);任务实施步骤一:学习创建直径与半径标注的ZRX二次开发接口在ZRX中,半径标注可以标注空间内圆或弧的半径,通过AcDbRadialDimension函数实现AcDbRadialDimension(
//Center和chordPoint分别是圆弧标注的圆心坐标和弦端的点坐标 constAcGePoint3d¢er, constAcGePoint3d&chordPoint,
//leaderLength是标注线的长度,类型为double doubleleaderLength, //dimText是标注标识的内容,dimStyle用于指定标注的样式。 constACHAR*dimText=NULL, AcDbObjectIddimStyle=AcDbObjectId::kNull);任务实施步骤二:设计并实现创建直径与半径标注的自定义函数创建自定义函数ZWDimDia,通过调用AcDbDiametricDimension实现直径标注的创建voidZWDimDia(){
//访问(创建)名为“样式1”的标注样式 autoDimStyleId=CreateDimStyleId(TEXT("样式1"));
//访问(创建)名为“标注”的层 autoLayerId=CreateLayerId(TEXT("标注"));
//通过AcDbDiametricDimension函数创建直径标注 AcDbDiametricDimension*pDimDia=newAcDbDiametricDimension(AcGePoint3d(-10,-10,0),AcGePoint3d(10,10,0),5,NULL,DimStyleId); pDimDia->setLayer(LayerId); UtilsFunc::PostToModel(pDimDia);}任务实施步骤二:设计并实现创建直径与半径标注的自定义函数创建自定义函数ZWDimRadial,通过调用AcDbRadialDimension实现半径标注的创建voidZWDimRadial(){
//访问(创建)名为“样式1”的标注样式 autoDimStyleId=CreateDimStyleId(TEXT("样式1"));
//访问(创建)名为“标注”的层 autoLayerId=CreateLayerId(TEXT("标注"));
//通过AcDbRadialDimension函数创建半径标注 AcDbRadialDimension*pDimRial=newAcDbRadialDimension(AcGePoint3d(0,0,0),AcGePoint3d(10,0,0),5,NULL,DimStyleId); pDimRial->setLayer(LayerId); UtilsFunc::PostToModel(pDimRial);}成果展示://验证创建直径标注函数功能voidZWDimDia(){
//访问(创建)名为“样式1”的标注样式 autoDimStyleId=CreateDimStyleId(TEXT("样式1"));
//访问(创建)名为“标注”的层 autoLayerId=CreateLayerId(TEXT("标注"));
//通过AcDbDiametricDimension函数创建直径标注 AcDbDiametricDimension*pDimDia=newAcDbDiametricDimension(AcGePoint3d(-10,-10,0),AcGePoint3d(10,10,0),5,NULL,DimStyleId); pDimDia->setLayer(LayerId); UtilsFunc::PostToModel(pDimDia);}成果展示://验证创建半径标注函数功能voidZWDimRadial(){
//访问(创建)名为“样式1”的标注样式 autoDimStyleId=CreateDimStyleId(TEXT("样式1"));
//访问(创建)名为“标注”的层 autoLayerId=CreateLayerId(TEXT("标注"));
//通过AcDbRadialDimension函数创建半径标注 AcDbRadialDimension*pDimRial=newAcDbRadialDimension(AcGePoint3d(0,0,0),AcGePoint3d(10,0,0),5,NULL,DimStyleId); pDimRial->setLayer(LayerId); UtilsFunc::PostToModel(pDimRial);}课后思考:调用ZRX二次开发接口创建一个半径标注,要求这个半径标注的样式为ISO-25。PART04角度标注04角度标注角度标注是CAD绘图中的基本标注,学习创建角度标注的二次开发接口,培养ZRX二次开发的基础能力任务背景任务目标实施思路调用ZRX二次开发接口,自定义函数实现角度标注的创建学习和了解创建长度尺寸标注的ZRX二次开发接口设计自定义函数的功能,调用二次开发接口完成角度标注的创建任务实施步骤一:学习创建角度标注的ZRX二次开发接口在ZRX中,角度标注用于测量和标记角度,通过AcDb2LineAngularDimension函数实现AcDb2LineAngularDimension( //两条直线各自的的起始点与终点坐标 constAcGePoint3d&xLine1Start, constAcGePoint3d&xLine1End, constAcGePoint3d&xLine2Start, constAcGePoint3d&xLine2End,
//arcPoint为弧度所在点的坐标 constAcGePoint3d&arcPoint,
//dimText是标注标识的内容,dimStyle用于指定标注的样式。 constACHAR*dimText=NULL, AcDbObjectIddimStyle=AcDbObjectId::kNull);任务实施步骤二:设计并实现创建角度标注的自定义函数创建自定义函数ZWDimAngle,通过调用AcDb2LineAngularDimension实现角度标注的创建voidZWDimAngle(){
//访问(创建)名为“样式1”的标注样式 autoDimStyleId=UtilsFunc::CreateDimStyleId(TEXT("样式1")); //访问(创建)名为“标注”的层 autoLayerId=UtilsFunc::CreateLayerId(TEXT("标注"));
//通过AcDb2LineAngularDimension函数创建角度标注 AcDb2LineAngularDimension*pDimAngle=newAcDb2LineAngularDimension(AcGePoint3d(0,0,0),AcGePoint3d(10,0,0),AcGePoint3d(5,5,0),AcGePoint3d(10,10,0),AcGePoint3d(20,20,0),NULL,DimStyleId); autoentId=UtilsFunc::PostToModel(pDimAngle); AcDbEntity*pEnt=nullptr; acdbOpenAcDbEntity(pEnt,entId,AcDb::kForWrite); pEnt->setLayer(LayerId); pEnt->close();}成果展示://验证创建角度标注函数功能voidZWDimAngle(){
//访问(创建)名为“样式1”的标注样式 autoDimStyleId=UtilsFunc::CreateDimStyleId(TEXT("样式1")); //访问(创建)名为“标注”的层 autoLayerId=UtilsFunc::CreateLayerId(TEXT("标注"));
//通过AcDb2LineAngularDimension函数创建角度标注 AcDb2LineAngularDimension*pDimAngle=newAcDb2LineAngularDimension(AcGePoint3d(0,0,0),AcGePoint3d(10,0,0),AcGePoint3d(5,5,0),AcGePoint3d(10,10,0),AcGePoint3d(20,20,0),NULL,DimStyleId); autoentId=UtilsFunc::PostToModel(pDimAngle); AcDbEntity*pEnt=nullptr; acdbOpenAcDbEntity(pEnt,entId,AcDb::kForWrite); pEnt->setLayer(LayerId); pEnt->close();}课后思考:调用ZRX二次开发接口,为同样两条直线,创建一个内角一个外角两个不同的角度标注。PART05引线绘制05引线绘制引线绘制是CAD绘图中的标注中常见的操作,学习使用二次开发接口绘制引线,培养ZRX二次开发的基础能力任务背景任务目标实施思路调用ZRX二次开发接口,自定义函数实现引线的绘制学习和了解创建长度尺寸标注的ZRX二次开发接口设计自定义函数的功能,调用二次开发接口完成引线的绘制任务实施步骤一:学习创建直径与半径标注的ZRX二次开发接口在ZRX中,引线的绘制通过AcDbAlignedDimension函数实现//该函数中需要的参数有标注对象的起点、终点和引线点的位置,以及引线标注的文本内容和样式AcDbAlignedDimension*pADimension=newAcDbAlignedDimension(AcGePoint3d(0,0,0),AcGePoint3d(10,0,0),AcGePoint3d(5,1,0),NULL,DimStyleId);任务实施步骤二:设计并实现绘制引线标注的自定义函数创建自定义函数ZWDimMove,通过调用AcDbAlignedDimension实现直径标注的创建voidZWDimMove(){ autoDimStyleId=UtilsFunc::CreateDimStyleId(TEXT("样式1")); autoLayerId=UtilsFunc::CreateLayerId(TEXT("标注")); //通过AcDbAlignedDimension函数绘制引线 AcDbAlignedDimension*pADimension=newAcDbAlignedDimension(AcGePoint3d(0,0,0),AcGePoint3d(10,0,0),AcGePoint3d(5,1,0),NULL,DimStyleId); pADimension->setLayer(LayerId); autoentId=UtilsFunc::PostToModel(pADimension); AcDbAlignedDimension*pDimMove{nullptr}; acdbOpenObject(pDimMove,entId,Ac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工方案安全落实措施(3篇)
- 更换消防管路施工方案(3篇)
- 桥面铺张安全施工方案(3篇)
- 水泥增强剂施工方案(3篇)
- 洗浴中心营销管理方案(3篇)
- 清淤补偿专项施工方案(3篇)
- 特殊悬挂吊篮施工方案(3篇)
- 社区阿姨活动策划方案(3篇)
- 粉店活动营销方案策划(3篇)
- 美甲店快餐式营销方案(3篇)
- 雨课堂在线学堂《大学生国家安全教育》作业单元考核答案
- 《概念验证服务规范》
- DB45-T 2714-2023 消防车道和消防车登高操作场地管理规范
- 2026届新高考语文热点冲刺复习:《审题细斟酌+答题明指向》-文学类文本阅读情境鉴赏类题目破解
- IT部门安全培训课件
- 征信从业人员上岗考试题及答案解析
- 邮储银行2025泰州市秋招无领导小组面试案例题库
- 东北电网调度运行规程与操作策略解析
- 《金相检验》课件-第七单元 钢的化学热处理及表面淬火的金相检验
- 互联网银行课件
- 人教版高中高二《美术》选择性必修一-为眼睛做导游(建构画面)-教学设计
评论
0/150
提交评论