- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
局圈等:AutoCAD数据藏凰方法的探讨
(2)第二步介绍一下图幅分图的方法,着重探讨程序中实现的原理和技术要点。如图2是
裁图对话框,程序调人后会自动选择当前裁图的最大范围或通过拾取选择要分幅的范围。确定
图廓尺寸或选择比例尺选项,也可手动修改图廓尺寸。选择图框线生成的层名。图幅命名:在
设计分幅命名时有两种命名方式.一种是以西南角坐标为图名.另一种是以地方图名命名(这
里是上海市图名.还可扩展其他地区的图名)D分图要点:下面着重介绍在程序中打断实体时用
到的主要两个类:
(1)AcDbEntity类,在这个类中我们要用到函数:
①virtualAcad:ErrorStatus
const;
有z值(如等高线),所以必须调用AcDbEnfity类中的getPlane函数求得投影值。
②virtualAcad::ErrorStatusintemectWith(const
intType,AcGePomt3dArraypoints,intthisGsMarker=0。int
PolyLine,Circle,Arc…).
(2)AcDbCurve类。用到的类成员说明:
①virtualAcad::Ermrstatus
getClosestPaintTo(const
第九届东北三省测绘学术与信息交流会论文集
得的交点一定在曲线上,其函数的原理是:(口一只)×(屁一只)=0且口在以只,用为
对角顶点的矩形内。
(室)vjrbla】Acacl::ErrorStatus
getParamAtDist(double
getParamAtPoint函数是转换点参数。
Acad::ErrorStatus
(参virtual getSplitCurves(const
getSplitCurves函数反回被打断的实体集。
分图时.判断每个实体是否在图廓内。逐个判断实体的方法可避免如电杆、水塔、烟囱等
点状地物压图廓边的问题。下面说明一下计算实体的几何算法:判断矩形是否包含点:只要判
断该点的横坐标和纵坐标是否夹在矩形的左右边和上下边之间。判断线段、折线、多边形是否
在矩形中:因为矩形是个凸集.所以只要判断所有端点是否都在矩形中就可以了。判断圆是否
在矩形中:圆在矩形中的充要条件是圆心在矩形中且圆的半径小于等于圆心到矩形四边的距离
的最小值。
下面是实现的示例代码:
void
mTrimMap::mLineBreak(……)//求实体的交点函数
{
AcDbEnfi锣*pEntl;
AcDbEnfiW*pEnt2;
pEnt2一getPlane(plane,type)∥/求出实体2与实体1的投影参数
pEnt2-close0;
pEntl-close0;
J
void
mTrimMap::mWblock(……)//分幅函数
I
AcDbObjectIdArrayobjldArrar,
AcDbDatabase*pDb=newAcDbDatabaseO;
让(objIdArray.1ength07=0)
周园等:AutoCAD数据裁图方法的探讨 55
I
EntId=addToModelSpace((AcDbEnti毋弗)pLwpoly);
objIdArray.append(EntId);
acdbSaveAsRl4(……);
l
delete
pDb;
)
2 结束语
统内部,实现系统功能要求.大大提高了开发效率.无疑这是AutoCAD开发者们的最佳选择。
只要测绘工作者在工作过程中以科学的态度对待工作.也会编制设计出较实用,具有较好经济
效益和杜会效益的成图方法。
参考文献
【llVisualC++6开发使用手册KateGregory
ARx开发使用手册
[2]AutoCAD2000
AutoCAD数据裁图方法的探讨
作者: 周园, 张杰, 郭晓峰
作者单位: 辽宁省
文档评论(0)