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) ;
	}
Exemple #2
0
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;
}