public static void main(String[] args) {
// 创建一个新的CadImage实例,指定DWG版本
DwgImage dwgImage = new DwgImage();
// 创建一条直线
CadLine line = new CadLine();
line.setFirstPoint(new Cad3DPoint(0, 0, 0));
line.setSecondPoint(new Cad3DPoint(0, 100, 0));
line.setLayerName("0");
line.setColorId((short) 256);
line.setLineWeight((short) 50);
// 创建一个圆
CadCircle circle = new CadCircle();
circle.setCenterPoint(new Cad3DPoint(0, 0, 0));
circle.setRadius(100);
circle.setLayerName("0");
circle.setColorId((short) 256);
circle.setLineWeight((short) 50);
CadText cadText = new CadText();
cadText.setStyleType("Standard");
cadText.setDefaultValue("Some custom text");
cadText.setColorId((short) 256);
cadText.setLayerName("0");
cadText.getFirstAlignment().setX(47.9);
cadText.getFirstAlignment().setY(5.56);
cadText.setTextHeight(0.8);
cadText.setScaleX(0);
// 将实体添加到图形中
dwgImage.getBlockEntities().get_Item("*Model_Space").addEntity(cadText);
dwgImage.getBlockEntities().get_Item("*Model_Space").addEntity(line);
dwgImage.getBlockEntities().get_Item("*Model_Space").addEntity(circle);
String dataDir = "dwg/";
CadRasterImageDef cadRasterImageDef = new CadRasterImageDef("C:\\Users\\50234\\Desktop\\" + "1.png", 640, 562);
cadRasterImageDef.setObjectHandle("A3B4");
cadRasterImageDef.setLoaded(true);
cadRasterImageDef.setImageIsLoadedFlag((short) 1);
cadRasterImageDef.a(true);
Cad3DPoint insertionPoint = new Cad3DPoint(0, 0);
Cad3DPoint uVector = new Cad3DPoint(1, 0);
Cad3DPoint vVector = new Cad3DPoint(0, 1);
CadRasterImage cadRasterImage = new CadRasterImage(cadRasterImageDef, insertionPoint, uVector, vVector);
cadRasterImage.setImageDefReference("A3B4");
cadRasterImage.setDisplayFlags((short)7);
cadRasterImage.setClippingState((short)0);
cadRasterImage.getClipBoundaryVertexList().add(new Cad2DPoint(20, 20));
cadRasterImage.getClipBoundaryVertexList().add(new Cad2DPoint(620, 540));
cadRasterImage.setLayerName("0");
cadRasterImage.setStorageFlag(true);
dwgImage.getBlockEntities().get_Item("*Model_Space").addEntity(cadRasterImage);
CadBaseObject[] objs = dwgImage.getObjects();
CadBaseObject[] arr = new CadBaseObject[objs.length + 1];
int ind = 0;
for (CadBaseObject obj : objs)
{
arr[ind] = obj;
ind++;
}
arr[ind] = cadRasterImageDef;
dwgImage.setObjects(arr);
DwgOptions options = new DwgOptions();
options.setOutputMode(CadOutputMode.Render);
CadRasterizationOptions cadRasterizationOptions = new CadRasterizationOptions();
options.setVectorRasterizationOptions(cadRasterizationOptions);
cadRasterizationOptions.setDrawType(CadDrawTypeMode.UseDrawColor);
cadRasterizationOptions.setLayouts(new String[] {"Model"});
// 保存为DWG文件
dwgImage.save(“output.dwg”, options);
// PdfOptions pdfOptions = new PdfOptions();
// CadRasterizationOptions cadRasterizationOptions = new CadRasterizationOptions();
// pdfOptions.setVectorRasterizationOptions(cadRasterizationOptions);
// cadRasterizationOptions.setDrawType(CadDrawTypeMode.UseObjectColor);
// cadRasterizationOptions.setPageHeight(1600);
// cadRasterizationOptions.setPageWidth(1600);
// cadRasterizationOptions.setLayouts(new String[] {“Model”});
//
// // 保存为DWG文件
// dwgImage.save(“output.pdf”, pdfOptions);
}