HPGL(PLT文件格式)文件解析及VS2017工程源码

简介: HPGL(PLT文件格式)文件解析及VS2017工程源码

HPGL即惠普图形语言,是一个被绝大多数 CAD 绘图软件所支持的输出文件格式.可以使用ViewCompanion Pro 查看、打印 HPGL, HPGL/2 图像文件。


1、文件解析库


http://gnuwin32.sourceforge.net/packages/hp2xx.htm Hp2xx for Windows


https://sourceforge.net/projects/gnuwin32/files/hp2xx/ Hp2xx source v3.4.4-2


命令行参数示例


hp2xx.exe datafile.hpgl

hp2xx.exe -m dxf -f my_output.dxf datafile.hpgl



2、本人自行使用VS2017编译通过的工程源码和文档说明,下载地址:


https://download.csdn.net/download/libaineu2004/11976124


hpgl.c源码第381行有内存泄露,请读者自行修正:


strbuf = malloc(strbufsize);//strbuf内存没有释放
if (strbuf == NULL) {
  strbuf = malloc(strbufsize);
  if (strbuf == NULL) {
    fprintf(stderr, "\nNo memory !\n");
    exit(ERROR);
  }
  }
  strbuf[0] = '\0';


3、主要的文件格式与命令


PA - plot absolute

PR - plot relative

PU - pen up

PD - pen down


SP - pen number

PT - pen thickness


AR - arc relative

CI - circle

EA - edge rectangle absolute

ER - edge rectangle relative

EP - edge polygon

EW - edge wedge

LB - label


LT - Line Type  



4、其他PLT解析库


什么是HPGL-DXF?

HPGL-DXF是一个小程序,最初是为了允许将HPGL格式的电路板CAM文件转换为DXF文件而编写的,以便随后可以由激光切割系统对其进行处理。


它是如何工作的?

HPGL-DXF是一个紧凑的程序,可将标记化的HPGL数据流分解为单独的HPGL命令,并有选择地将其转换为DXF输出。


如何使用?


hpgl -dxf -i datafile.hpgl -o datafile.dxf

局限性


仅转换笔上/下和绝对/相对命令(通常对于大多数绘图来说足够多)

不转换颜色

不传送尺寸(尽管许多HPGL文件设置为“密耳”或“ 1/1000”)

https://github.com/inflex/hpgl-dxf  +++ https://github.com/inflex/hpgl-distiller +++ https://pldaniels.com/hpgl-dxf/


https://github.com/makerslocal/localplot -- Qt


https://github.com/vdm-dev/StepCAM -- Qt


https://github.com/berk76/plottercontroller -- Ok


https://github.com/NickHardeman/ofxHPGL


相关文章
|
3天前
|
Java Android开发
Android12 双击power键启动相机源码解析
Android12 双击power键启动相机源码解析
12 0
|
3天前
|
分布式计算 Java API
Java8 Lambda实现源码解析
Java8的lambda应该大家都比较熟悉了,本文主要从源码层面探讨一下lambda的设计和实现。
|
4天前
|
JSON 安全 前端开发
解析FormData格式数据:Python实践指南
解析FormData格式数据:Python实践指南
12 1
|
4天前
|
算法 Java Go
ArrayList源码解析
ArrayList源码解析
9 1
|
4天前
|
存储 安全 Java
【HashMap源码解析(一)(佬你不来看看?)】
【HashMap源码解析(一)(佬你不来看看?)】
10 1
|
10天前
|
弹性计算 运维 Shell
|
11天前
|
缓存 Java 开发者
10个点介绍SpringBoot3工作流程与核心组件源码解析
Spring Boot 是Java开发中100%会使用到的框架,开发者不仅要熟练使用,对其中的核心源码也要了解,正所谓知其然知其所以然,V 哥建议小伙伴们在学习的过程中,一定要去研读一下源码,这有助于你在开发中游刃有余。欢迎一起交流学习心得,一起成长。
|
11天前
|
分布式计算 Java 大数据
MaxCompute产品使用合集之大数据计算MaxCompute外部表映射了oss中的csv文件,看到"\N"被解析为"N",是什么原因
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
14天前
|
移动开发 数据可视化 Linux
Linux 中的文件与目录管理解析
当谈到Linux系统,文件与目录管理是其中最基本和重要的部分之一。Linux提供了一种强大而灵活的方式来组织和管理文件和目录,让用户能够轻松地访问和操作系统中的各种数据。上一节我们说到文件的属性,本文将详细介绍Linux中的文件与目录管理的各个方面。
|
14天前
|
Linux Go 数据安全/隐私保护
Linux 中的文件属性解析
在 Linux 系统中,每个文件和目录有一组属性控制其操作和访问权限。了解这些属性对有效管理文件至关重要。文件属性包括:文件类型(如 `-` 表示普通文件,`d` 表示目录),权限(如 `rwx` 表示所有者权限,`r-x` 表示组和其他用户权限),所有者,组,硬链接数,文件大小和最后修改时间。通过 `chown` 和 `chmod` 命令可更改文件所有者、所属组及权限。此外,还有特殊权限(如 SUID、SGID)和 ACL(访问控制列表)提供更精细的访问控制。

推荐镜像

更多