static void YCROYCRO_CG_AddPolyBulge() { AcGePoint2d pt1(400, 0); AcGePoint2d pt2(500, 100); AcGePoint2d pt3(600, 150); AcGePoint2d pt4(750, 200); AcGePoint2d pt5(800, 250); AcGePoint2d pt6(900, 300); AcGePoint2d pt7(950, 350); AcGePoint2d pt8(1000, 0); AcGePoint2dArray points; points.append(pt1); points.append(pt2); points.append(pt3); points.append(pt4); points.append(pt5); points.append(pt6); points.append(pt7); points.append(pt8); CModifyEnt::ChangeColor(CCreateEnt::CreatePolyline(points, 0.13, 2.0),3) ; }
int CArxHelper::CreateHatch(AcDbHatch*& pHatch, const AcGePoint3dArray& arrPt,double dScale) { AcGePoint2dArray vertices; AcGeDoubleArray bulges; for (int i = 0; i < arrPt.length(); ++ i) { vertices.append(arrPt.at(i).convert2d(AcGePlane::kXYPlane)); bulges.append(0.0); } if (vertices.length() > 0) { pHatch = new AcDbHatch(); AcGeVector3d normal(0.0, 0.0, 1.0); pHatch->setNormal(normal); pHatch->setElevation(0.0); pHatch->setAssociative(Adesk::kFalse); pHatch->setPattern(AcDbHatch::kPreDefined, _T("SOLID")); pHatch->appendLoop(AcDbHatch::kExternal,vertices,bulges); pHatch->evaluateHatch(); pHatch->setPatternScale(dScale); } return 0; }
AcGePoint2dArray CCalculation::SortByLexi(AcGePoint2dArray Points) { // sort by x // lexicographically sorting // sort by y int i = 0; int j = 0; AcGePoint2d MinPt; AcGePoint2dArray LexiPoints; for (i = 0; i < Points.length(); i++) { for (j = i+1; j < Points.length(); j++) { if (CCalculation::CompareTwoPt(Points.at(i), Points.at(j))) { MinPt = Points.at(j); } } LexiPoints.append(MinPt); } return LexiPoints; }