Polylineler olarak dikdörtgen oluştur ve dolgulu hale getir
Polylineler olarak dikdörtgen oluştur ve dolgulu hale getir
Sorun: Polylineler olarak dikdörtgen oluşturma ve dolgulu hale getirme (CADNET-1351).
İpuçları: Bunu yapmak için bir CadLwPolyline oluşturun ve ona nokta koordinatları ekleyin, renk ile çalışmak için CadHatch kullanın ve bağlantı kurmak için CadEdgeBoundaryPath’ı kullanın, açılarla çalışmak için CadHatch kullanın ve desen için CadHatchPatternData kullanın.
Örnek:
CadLwPolyline polyline = new CadLwPolyline(); | |
polyline.Coordinates = new List<Cad2DPoint>(); | |
polyline.Coordinates.Add(new Cad2DPoint(-5d, -5d)); | |
polyline.Coordinates.Add(new Cad2DPoint(-5d, 10d)); | |
polyline.Coordinates.Add(new Cad2DPoint(20d, 10d)); | |
polyline.Coordinates.Add(new Cad2DPoint(20d, -5d)); | |
polyline.Flag = CadLwPolylineFlag.Closed; | |
polyline.ConstantWidth = 0.1; | |
CadHatch hatch = new CadHatch(); | |
hatch.PatternName = "SOLID"; | |
hatch.ColorId = 1; // index of color: https://gohtx.com/acadcolors.php | |
hatch.HatchPatternType = 1; // 0 = User-defined; 1 = Predefined; 2 = Custom, we support only predefined now | |
hatch.BoundaryPaths = new List<CadHatchBoundaryPathContainer>(); | |
CadHatchBoundaryPathContainer container = new CadHatchBoundaryPathContainer(); | |
container.BoundaryPath = new List<ICadBoundaryPath>(); | |
CadEdgeBoundaryPath path = new CadEdgeBoundaryPath(); | |
path.Objects = new List<ICadBoundaryPathEntity>(); | |
path.Objects.Add(new CadBoundaryPathLine() { FirstPoint = new Point2D(-5, -5), SecondPoint = new Point2D(-5, 10) }); | |
path.Objects.Add(new CadBoundaryPathLine() { FirstPoint = new Point2D(-5, 10), SecondPoint = new Point2D(20, 10) }); | |
path.Objects.Add(new CadBoundaryPathLine() { FirstPoint = new Point2D(20, 10), SecondPoint = new Point2D(20, -5) }); | |
path.Objects.Add(new CadBoundaryPathLine() { FirstPoint = new Point2D(20, -5), SecondPoint = new Point2D(-5, -5) }); | |
container.BoundaryPath.Add(path); | |
hatch.BoundaryPaths.Add(container); | |
List<CadBaseEntity> entities = new List<CadBaseEntity>(); | |
entities.Add(polyline); | |
entities.Add(hatch); | |
cadImage.Entities = entities.ToArray(); | |
cadImage.UpdateSize(); | |
CadHatch hatch = new CadHatch(); | |
hatch.PatternName = "ANGLE"; // only known values are available here | |
hatch.ColorId = 1; | |
hatch.HatchPatternType = 1; // | |
hatch.BoundaryPaths = new List<CadHatchBoundaryPathContainer>(); | |
CadHatchBoundaryPathContainer container = new CadHatchBoundaryPathContainer(); | |
container.BoundaryPath = new List<ICadBoundaryPath>(); | |
CadEdgeBoundaryPath path = new CadEdgeBoundaryPath(); | |
path.Objects = new List<ICadBoundaryPathEntity>(); | |
path.Objects.Add(new CadBoundaryPathLine(){FirstPoint = new Point2D(-5, -5), SecondPoint = new Point2D(-5,10)}); | |
path.Objects.Add(new CadBoundaryPathLine() { FirstPoint = new Point2D(-5, 10), SecondPoint = new Point2D(20, 10) }); | |
path.Objects.Add(new CadBoundaryPathLine() { FirstPoint = new Point2D(20, 10), SecondPoint = new Point2D(20, -5) }); | |
path.Objects.Add(new CadBoundaryPathLine() { FirstPoint = new Point2D(20, -5), SecondPoint = new Point2D(-5, -5) }); | |
container.BoundaryPath.Add(path); | |
hatch.BoundaryPaths.Add(container); | |
hatch.PatternDefinitions = new List<CadHatchPatternData>(); | |
CadHatchPatternData data1 = new CadHatchPatternData(); | |
data1.LineBasePoint = new Cad3DPoint(); | |
data1.DashLengths = new List<double>(); | |
data1.DashLengths.Add(4); | |
data1.DashLengths.Add(1.5); | |
data1.DashLengthCount = (short)data1.DashLengths.Count; | |
data1.LineOffset = new Cad2DPoint(0d, 5.5d); | |
CadHatchPatternData data2 = new CadHatchPatternData(); | |
data2.LineBasePoint = new Cad3DPoint(); | |
data2.DashLengths = new List<double>(); | |
data2.DashLengths.Add(4); | |
data2.DashLengths.Add(-1.5); | |
data2.LineAngle = 90; | |
data2.DashLengthCount = (short)data2.DashLengths.Count; | |
data2.LineOffset = new Cad2DPoint(-5.5d, 0d); | |
hatch.PatternDefinitions.Add(data1); | |
hatch.PatternDefinitions.Add(data2); | |
hatch.NumberOfPatternDefinitions = (short)hatch.PatternDefinitions.Count; | |
List<CadBaseEntity> entities = new List<CadBaseEntity>(); | |
entities.Add(polyline); | |
entities.Add(hatch); | |
cadImage.Entities = entities.ToArray(); | |
cadImage.UpdateSize(); |