?? form1.cs
字號:
?using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DXFFile;
using System.Collections;
namespace DxfDllTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private Point[] arrBezier = new Point[13]{
new Point(200, 230), new Point(190, 310), new Point(280, 330),
new Point(310, 310), new Point(340, 290), new Point(390, 270),
new Point(355, 225), new Point(330, 240), new Point(305, 255),
new Point(415, 255), new Point(440, 240), new Point(480, 220),
new Point(430, 200)};
private void button1_Click(object sender, EventArgs e)
{
if (dlgSaveDxf.ShowDialog() != DialogResult.OK) return;
if (dlgSaveDxf.FileName != "")
{
DXFExport vDXF = new DXFExport();
DXFData Data = new DXFData();
DXFLayer vLayer;
DXFPoint Pt = new DXFPoint();
//line types
vDXF.AddLType("_SOLID", new float[] { 5, 0 });
vDXF.AddLType("_DASH", new float[] { 5, -2 });
vDXF.AddLType("_DOT", new float[] { 2, -2 });
vDXF.AddLType("_DASHDOT", new float[] { 5, -2, 2, -2 });
vDXF.AddLType("_DASHDOTDOT", new float[] { 5, -2, 2, -2, 2, -2 });
// {blocks}
vDXF.BeginBlock("1");
Data.point.X = 0;
Data.point.Y = -3;
Data.point1.X = 10;
Data.point1.Y = 0;
vDXF.AddRectangle(Data);
Data.Clear();
Data.height = 1;
Data.text = "Block";
Data.point.X = 1;
Data.point.Y = -2;
vDXF.AddText(Data);
vDXF.EndBlock();
vDXF.BeginBlock("2");
Data.Clear();
Data.color = ((int)DXFIntConst.DXF_OLIVE);
Data.point.X = 0;
Data.point.Y = 0;
Data.radius = 40;
vDXF.AddCircle(Data);
vDXF.EndBlock();
vDXF.BeginBlock("3");
Data.Clear();
Data.color = DXFExport.ColorToDXF(Color.Red);
Data.count = 1;
Data.points = new ArrayList();
Data.points.Add(new ArrayList()); // hatch can consist of more that one bound
Pt = new DXFPoint();
Pt.X = 300;
Pt.Y = -100;
Pt.Z = 0.0f;
((ArrayList)Data.points[0]).Add(Pt);
Pt = new DXFPoint();
Pt.X = 0;
Pt.Y = -100;
Pt.Z = 0.0f;
((ArrayList)Data.points[0]).Add(Pt);
Pt = new DXFPoint();
Pt.X = 100;
Pt.Y = 0;
Pt.Z = 0.0f;
((ArrayList)Data.points[0]).Add(Pt);
Data.style = ((byte)DXFFile.HatchStyle.hsFDiagonal);
vDXF.fOffset = 50;
vDXF.AddHatch(Data);
vDXF.EndBlock();
vDXF.BeginBlock("4"); // Bezier
Data.Clear();
Data.color = ((int)DXFIntConst.DXF_PURPLE);
Data.count = arrBezier.Length;
Data.points = new ArrayList();
Data.points.Add(new ArrayList());
int I;
for (I = 0; I < Data.count; I++)
{
Pt = new DXFPoint();
Pt.X = arrBezier[I].X;
Pt.Y = -arrBezier[I].Y;
Pt.Z = 0;
((ArrayList)Data.points[0]).Add(Pt);
}
vDXF.AddPolyBezier(Data, 0);
vDXF.EndBlock();
vDXF.SetLayerByString("0");
// {entities}
Data.Clear();
Data.color = ((int)DXFIntConst.DXF_TEAL);
Data.thickness = 10;
Data.point.X = 10;
Data.point.Y = 10;
Data.point1.X = 20;
Data.point1.Y = 20;
vDXF.AddLine(Data);
Data.Clear();
Data.color = ((int)DXFIntConst.DXF_OLIVE);
Data.text = "_DASHDOT";
Data.thickness = 1;
Data.point.X = 12;
Data.point.Y = 12;
Data.radius = 45;
vDXF.AddCircle(Data);
Data.Clear();
Data.height = 50;
Data.rotation = 0;
Data.text = "DXF Exporter";
Data.point.X = 57;
Data.point.Y = 76;
vDXF.AddText(Data);
Data.Clear();
Data.color = DXFExport.ColorToDXF(Color.Yellow);
Data.point.X = 80;
Data.point.Y = 10;
Data.point1.X = 120;
Data.point1.Y = 30;
vDXF.AddRectangle(Data);
Data.Clear();
Data.color = DXFExport.ColorToDXF(Color.Green);
Data.text = "_DASH";
Data.thickness = 3;
Data.point.X = 100;
Data.point.Y = 20;
Data.radius = 30;
Data.startAngle = -90;
Data.endAngle = 90;
vDXF.AddArc(Data);
Data.Clear();
vLayer = new DXFLayer("Blocks");
vDXF.CurrentLayer = vLayer;
Data.thickness = 0;
Data.text = "1";
Data.point.X = 70;
Data.point.Y = -30;
Data.scale.X = 3;
Data.scale.Y = 3;
vDXF.Insert(Data);
Data.text = "1";
Data.point.Y = -40;
Data.scale.X = 5;
Data.scale.Y = 5;
vDXF.Insert(Data);
Data.point.Y = -60;
Data.scale.X = 10;
Data.scale.Y = 10;
vDXF.Insert(Data);
Data.Clear();
Data.text = "2";
Data.point.X = 12;
Data.point.Y = 80;
Data.scale.X = 1;
Data.scale.Y = 1;
vDXF.Insert(Data);
Data.Clear();
vLayer = new DXFLayer("Hatch");
vDXF.CurrentLayer = vLayer;
Data.text = "3";
Data.point.X = 120;
Data.point.Y = 80;
Data.scale.X = 1;
Data.scale.Y = 1;
vDXF.Insert(Data);
Data.Clear();
vLayer = new DXFLayer("Bezier");
vDXF.CurrentLayer = vLayer;
Data.text = "4";
Data.point.X = 0;
Data.point.Y = 200;
Data.scale.X = 1;
Data.scale.Y = 1;
vDXF.Insert(Data);
//******************** */
vDXF.SaveToFile(dlgSaveDxf.FileName);
}
}
private void button2_Click(object sender, EventArgs e)
{
DXFExport vDXF = new DXFExport();
DXFData Data = new DXFData();
DXFLayer vLayer;
DXFPoint Pt = new DXFPoint();
//line types
vDXF.AddLType("_SOLID", new float[] { 5, 0 });
vDXF.AddLType("_DASH", new float[] { 5, -2 });
vDXF.AddLType("_DOT", new float[] { 2, -2 });
vDXF.AddLType("_DASHDOT", new float[] { 5, -2, 2, -2 });
vDXF.AddLType("_DASHDOTDOT", new float[] { 5, -2, 2, -2, 2, -2 });
//add entity
// {entities}
Data.Clear();
Data.color = ((int)DXFIntConst.DXF_TEAL);
Data.thickness = 10;
Data.text = "_SOLID";
Data.point.X = 10;
Data.point.Y = 10;
Data.point1.X = 20;
Data.point1.Y = 10;
vDXF.AddLine(Data);
Data.Clear();
Data.color = ((int)DXFIntConst.DXF_ALTERNATIVEBLACK);
Data.thickness = 20;
Data.text = "_DASH";
Data.point.X = 20;
Data.point.Y = 10;
Data.point1.X = 30;
Data.point1.Y = 30;
vDXF.AddLine(Data);
Data.Clear();
Data.color = ((int)DXFIntConst.DXF_ALTERNATIVEBLACK);
Data.thickness = 300;
Data.text = "_DASHDOT";
Data.point.X = 30;
Data.point.Y = 30;
Data.point1.X = 10;
Data.point1.Y = 10;
vDXF.AddLine(Data);
//vDXF.MM
vDXF.SaveToFile(@"c:\test.dxf");
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -