169 lines
4.1 KiB
Markdown
169 lines
4.1 KiB
Markdown
# DWG Color Extractor - Java版本
|
||
|
||
## 📋 项目概述
|
||
|
||
这是一个使用 Aspose.CAD for Java 的 DWG 文件特定颜色元素提取器,用于提取颜色为 `(0, 255, 255)` 的所有元素。
|
||
|
||
## 🔧 环境要求
|
||
|
||
### Java 环境
|
||
- **Java 版本**: 1.8 或更高版本
|
||
- **推荐版本**: Java 8 或 Java 11
|
||
- **下载地址**: [Oracle Java](https://www.oracle.com/java/technologies/downloads/) 或 [OpenJDK](https://openjdk.org/)
|
||
|
||
### Maven 环境
|
||
- **Maven 版本**: 3.6 或更高版本
|
||
- **下载地址**: [Apache Maven](https://maven.apache.org/download.cgi)
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 1. 安装Java环境
|
||
```bash
|
||
# 下载并安装Java 8或11
|
||
# 设置JAVA_HOME环境变量
|
||
```
|
||
|
||
### 2. 安装Maven
|
||
```bash
|
||
# 下载并安装Maven
|
||
# 设置MAVEN_HOME环境变量
|
||
```
|
||
|
||
### 3. 编译项目
|
||
```bash
|
||
mvn clean compile
|
||
```
|
||
|
||
### 4. 运行测试
|
||
```bash
|
||
mvn exec:java -Dexec.mainClass="DwgColorExtractor"
|
||
```
|
||
|
||
### 5. 打包项目
|
||
```bash
|
||
mvn clean package
|
||
```
|
||
|
||
## 📁 项目结构
|
||
|
||
```
|
||
problem/java/
|
||
├── pom.xml # Maven配置文件
|
||
├── README.md # 项目说明
|
||
└── src/
|
||
└── main/
|
||
└── java/
|
||
└── DwgColorExtractor.java # 主程序
|
||
```
|
||
|
||
## 🎯 功能特性
|
||
|
||
### 核心功能
|
||
- **DWG文件加载**: 支持加载DWG文件
|
||
- **颜色元素提取**: 提取特定颜色的元素
|
||
- **多源数据访问**: 从blocks、entities、layers获取数据
|
||
- **详细信息提取**: 获取坐标、图层、可见性等信息
|
||
|
||
### 输出格式
|
||
- **CSV文件**: 便于Excel处理
|
||
- **JSON文件**: 便于程序处理
|
||
- **统计报告**: 详细的元素统计信息
|
||
|
||
### 支持的元素类型
|
||
- **CadLine**: 直线
|
||
- **CadPolyline**: 多段线
|
||
- **CadCircle**: 圆形
|
||
- **CadArc**: 圆弧
|
||
|
||
## 📊 使用方法
|
||
|
||
### 基本使用
|
||
1. 将DWG文件放在项目根目录
|
||
2. 运行程序:`mvn exec:java -Dexec.mainClass="DwgColorExtractor"`
|
||
3. 查看输出目录中的结果文件
|
||
|
||
### 自定义颜色
|
||
修改 `TARGET_COLOR` 常量:
|
||
```java
|
||
private static final Color TARGET_COLOR = Color.fromArgb(255, 0, 255, 255); // RGB(0, 255, 255)
|
||
```
|
||
|
||
### 输出目录
|
||
结果文件保存在 `output/` 目录中:
|
||
- `{文件名}_color_elements.csv` - CSV格式数据
|
||
- `{文件名}_color_elements.json` - JSON格式数据
|
||
- `{文件名}_color_elements_report.txt` - 统计报告
|
||
|
||
## 🔍 技术细节
|
||
|
||
### 依赖库
|
||
- **Aspose.CAD for Java**: 核心CAD处理库
|
||
- **Jackson**: JSON处理
|
||
- **OpenCSV**: CSV处理
|
||
- **SLF4J**: 日志处理
|
||
|
||
### API使用
|
||
- 使用 `CadImage.load()` 加载DWG文件
|
||
- 通过 `getBlocks()`、`getEntities()`、`getLayers()` 访问数据
|
||
- 使用反射和类型检查获取元素属性
|
||
|
||
## 🐛 故障排除
|
||
|
||
### 常见问题
|
||
|
||
1. **Java版本不兼容**
|
||
- 确保使用Java 8或更高版本
|
||
- 检查JAVA_HOME环境变量
|
||
|
||
2. **Maven依赖下载失败**
|
||
- 检查网络连接
|
||
- 尝试使用国内镜像源
|
||
|
||
3. **DWG文件加载失败**
|
||
- 检查文件路径
|
||
- 确保文件格式正确
|
||
- 检查文件权限
|
||
|
||
4. **许可证问题**
|
||
- 确保有有效的Aspose.CAD许可证
|
||
- 检查许可证文件路径
|
||
|
||
### 调试模式
|
||
启用详细日志:
|
||
```bash
|
||
mvn exec:java -Dexec.mainClass="DwgColorExtractor" -Dexec.args="--debug"
|
||
```
|
||
|
||
## 📝 开发说明
|
||
|
||
### 代码结构
|
||
- **main()**: 程序入口点
|
||
- **extractColorElements()**: 主要提取逻辑
|
||
- **checkElementColor()**: 颜色匹配检查
|
||
- **saveToCSV()**: CSV保存功能
|
||
- **saveToJSON()**: JSON保存功能
|
||
- **createSummaryReport()**: 报告生成功能
|
||
|
||
### 扩展功能
|
||
- 添加新的元素类型支持
|
||
- 实现更多颜色匹配算法
|
||
- 添加批量处理功能
|
||
- 实现GUI界面
|
||
|
||
## 🔗 相关链接
|
||
|
||
- [Aspose.CAD for Java 文档](https://docs.aspose.com/cad/java/)
|
||
- [Aspose.CAD for Java API 参考](https://reference.aspose.com/cad/java/)
|
||
- [Maven 仓库](https://mvnrepository.com/artifact/com.aspose/aspose-cad)
|
||
- [Java 8 文档](https://docs.oracle.com/javase/8/docs/)
|
||
|
||
## 📄 许可证
|
||
|
||
本项目使用 Aspose.CAD for Java,需要有效的商业许可证。请遵守相关许可证条款。
|
||
|
||
---
|
||
|
||
**版本**: 1.0.0
|
||
**最后更新**: 2024-12-19
|
||
**作者**: AI Assistant
|