1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java绘制cad文件 dxf或者dwg

java绘制cad文件 dxf或者dwg

时间:2023-03-21 09:47:31

相关推荐

java绘制cad文件 dxf或者dwg

最近研究了一下java绘制cad, 推荐大家用一gdal 来实现。绘制出了点,线,面,块,和标签等数据,下面是我这边绘制的效果图!后面有时间整理一下代码贴出来供大家参考

gdal javaAPI地址:/java/overview-summary.html

gdal官方地址:/drivers/vector/dxf.htmlliunx环境gdal编译

连接地址

项目引入依赖

> <dependency>> <groupId>org.gdal</groupId>> <artifactId>gdal</artifactId>> <version>3.2.0</version>> <scope>system</scope>> <systemPath>${project.basedir}/lib/linux/gdal.jar</systemPath> > </dependency>

简单示例代码

public static void main(String[] args) {String out="d://1.dxf";// 注册驱动ogr.RegisterAll();// 支持中文路径gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8","YES");// 属性表字段支持中文gdal.SetConfigOption("SHAPE_ENCODING","CP936");//获取dxf驱动Driver driver = ogr.GetDriverByName("DXF");if(null == driver){throw new NullPointerException("获取DXF驱动失败!");}DataSource dataSource = driver.CreateDataSource(out);if(null == dataSource){throw new NullPointerException("DataSource创建失败!");}Layer layer = dataSource.CreateLayer("layer");if(null == layer){throw new NullPointerException("Layer创建失败!");}//图层功定义FeatureDefn featureDefn = layer.GetLayerDefn();Feature feature = new Feature(featureDefn);feature.SetField("layer","test");feature.SetStyleString("PEN(c:#3333FF,w:55px)");Geometry geometry = new Geometry(2);geometry.AddPoint(0.0,0.0);geometry.AddPoint(1.0,0.0);geometry.AddPoint(1.0,1.0);geometry.AddPoint(0.0,1.0);geometry.AddPoint(0.0,0.0);geometry.CloseRings();feature.SetGeometry(geometry);layer.CreateFeature(feature);dataSource.delete();}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。