ObjectARX自定义实体中使用实体填充之类似多段线带弧形宽度
2021/11/3 23:17:02
本文主要是介绍ObjectARX自定义实体中使用实体填充之类似多段线带弧形宽度,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
代码
多段线带弧形宽度闭合效果
assertReadEnabled () ; AcGePoint2d p1(0,0); AcGePoint2d p2(10,0); AcGePoint2d p3(10,10); AcGePoint2d p4(0,10); AcGePoint2d p1x(0,1); AcGePoint2d p2x(9,1); AcGePoint2d p3x(9,9); AcGePoint2d p4x(0,9); AcArray <AcGeCurve2d*>edgs; AcGeLineSeg2d line1(p1,p2); AcGeLineSeg2d line2(p2,p3); AcGeLineSeg2d line3(p3,p4); AcGeLineSeg2d line4(p1,p1x); AcGeCircArc2d cir(p4,p1,1.0,Adesk::kFalse); AcGeLineSeg2d line1x(p1x,p2x); AcGeLineSeg2d line2x(p2x,p3x); AcGeLineSeg2d line3x(p3x,p4x); AcGeLineSeg2d line4x(p1x,p1); AcGeCircArc2d cirx(p4x,p1x,1.0,Adesk::kFalse); edgs.append(&line4x); edgs.append(&line1); edgs.append(&line2); edgs.append(&line3); edgs.append(&cir); edgs.append(&line4); edgs.append(&line1x); edgs.append(&line2x); edgs.append(&line3x); edgs.append(&cirx); mode->geometry().edge(edgs); Adesk::Boolean result = Adesk::kFalse; AcArray<AcGeCurve2d*> geCurves; double hatchDev = mode->deviation(kAcGiMaxDevForCurve, AcGePoint3d::kOrigin); AcGiFill acgiSolidFill; acgiSolidFill.setDeviation(hatchDev); // int nSegs = -1; // AcGeLineSeg2d line; // AcGeLineSeg2d *pLine; // nSegs = this->numVerts() ; // for(int i = 0; i < nSegs; i++) // { // if(this->segType(i) == AcDbPolyline::kLine) // { // this->getLineSegAt(i, line); // pLine = new AcGeLineSeg2d(line); // geCurves.append(pLine); // // } // } mode->subEntityTraits().setColor(1); mode->subEntityTraits().setFill(&acgiSolidFill); /* geCurves represents boundary of hatch*/ mode->geometry().edge(edgs); return (AcDbEntity::subWorldDraw (mode)) ;
实际效果
左边是线边界框,右边红色是实际效果,模拟闭合(本质上就是假闭合)。
这篇关于ObjectARX自定义实体中使用实体填充之类似多段线带弧形宽度的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享