收藏 分享(赏)

如何用arx画剖面线.doc

上传人:jinchen 文档编号:12340528 上传时间:2021-12-11 格式:DOC 页数:2 大小:35.50KB
下载 相关 举报
如何用arx画剖面线.doc_第1页
第1页 / 共2页
如何用arx画剖面线.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、如何画剖面线(见机械 CAD 技术基础)图案填充是指以指定的图案去填充一个封闭的边界。因此为完成图案填充主要要完成选择填充边界、填充图案及填充方式。图案填充在机械 CAD 中主要是为了完成机械制图中的剖面符号。在 AutoCAD 数据库中,图案填充使用 AcDbHatch 类的对象,通过调用其构造函数实现图案填充的创建。l 其构造函数的格式为:Acad:ErrorStatus AcDbHatch ();由于其构造函数仅仅是为 AcDbHatch 类的对象分配了内存空间,其填充边界、填充图案及填充方式必须使用该类的成员函数来设置。图案填充程序设计的步骤:1) 构造边界的对象组。2) 调用 AcD

2、bHatch 类的构造函数生成缺省的 AcDbHatch 类的对象。3) 调用 AcDbHatch 类的成员函数作必要的设置。4) 调用 appendLoop()函数将对象组加入 AcDbHatch 类以构成边界。5) 调用 evaluateHatch()函数显示填充图案,否则图案不显示。6) 要重新打开块表纪录后,再将 AcDbHatch 类的对象添加进图块表记录中。填充边界的设置有两个重要要求,第一完全封闭;第二首尾相连。首尾相连就是前一个曲线的终点和下一个曲线的起点完全重合,如果不能满足要求,则不能正确的进行图案填充。关于这项要求需要详细了解请参阅 AutoCADR10 版本之前的书藉。

3、例 9?5:图案填充程序如下:AcDbBlockTable *pBlockTable;acdbHostApplicationServices()-workingDatabase()/查找并以只读模式-getSymbolTable(pBlockTable, AcDb:kForRead);/打开图块表AcDbBlockTableRecord *pBlockTableRecord;pBlockTable-getAt(ACDB_MODEL_SPACE, pBlockTableRecord,AcDb:kForWrite);/查找并以写模式打开图块表记录(模型空间)pBlockTable-close();

4、/关闭图块表AcDbObjectId lineId1;AcDbObjectId lineId2;AcDbObjectId lineId3;AcGePoint3d Pt1( 3.0, 4.0, 0.0);AcGePoint3d Pt2(110.0, 70.0, 0.0);AcGePoint3d Pt3( 170.0, 20.0, 0.0);AcDbLine *pLine1 = new AcDbLine(Pt1, Pt2);/创建实体AcDbLine *pLine2 = new AcDbLine(Pt2, Pt3);/创建实体AcDbLine *pLine3 = new AcDbLine(Pt3,

5、 Pt1);/创建实体pBlockTableRecord-appendAcDbEntity(lineId1, pLine1);/添加实体返回 IDpBlockTableRecord-appendAcDbEntity(lineId2, pLine2);/添加实体返回 IDpBlockTableRecord-appendAcDbEntity(lineId3, pLine3);/添加实体返回 IDAcDbObjectIdArray dbObjIds;AcDbObjectId Id;dbObjIds.append(lineId1);dbObjIds.append(lineId2);dbObjIds.a

6、ppend(lineId3);pBlockTableRecord-close();/关闭图块表记录pLine1-close();/关闭实体pLine2-close();/关闭实体pLine3-close();/关闭实体AcDbHatch *pHatch = new AcDbHatch();pHatch-setNormal(AcGeVector3d(0.0,0.0,1.0);pHatch-setElevation(0.0);/设置填充平面pHatch-setAssociative(Adesk:kTrue);/设置关联性pHatch-setPatternScale(5);pHatch-setPat

7、tern(AcDbHatch:kPreDefined,_T(“ANSI31“);pHatch-setHatchStyle(AcDbHatch:kNormal);pHatch-appendLoop(AcDbHatch:kExternal,dbObjIds);/添加填充边界pHatch-evaluateHatch();/设置填充对象pHatch-setColorIndex(1);acdbHostApplicationServices()-workingDatabase()/查找并以只读模式-getSymbolTable(pBlockTable, AcDb:kForRead);/打开图块表pBlockTable-getAt(ACDB_MODEL_SPACE, pBlockTableRecord,AcDb:kForWrite);/查找并以写模式打开图块表记录(模型空间)pBlockTable-close();/关闭图块表pBlockTableRecord-appendAcDbEntity(Id, pHatch);/添加实体返回 IDpBlockTableRecord-close();/关闭图块表记录pHatch-close();/关闭实体

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报