python - ezdxf 将 WCS 转换为 DCS
问题描述
我正在尝试解析 .dxf 文件,并试图弄清楚如何获取实际页面的尺寸(我正在使用doc.layouts.active_layout().get_paper_limits()
)以及页面实体与彼此以及页面本身的关系。我不会在任何时候编辑文件,只会从中提取信息。
例如,我想知道文本实体 A 位于页面的右下角,文本实体 B 位于文本实体 A 的左侧。我知道如何将所有内容转换为 WCS,但我相信 DCS对我的问题更有意义。如果它们都在相同的比例上,包括页面的大小,任何统一的坐标系都可以工作,但是,我只看到 DCS 可以工作。
我一直在梳理有关坐标系的 ezdxf 文档,但我一直无法找到是否有办法将 WCS 转换为 DCS。如果有办法做到这一点,或者如果有另一种方法来解决我错过的这个问题,请告诉我!感谢您的友好回答。
解决方案
没关系,我想通了。我可以将 WCS 用于按照文档中的说明获得的实体,并且可以使用以下方法获取 WCS 中页面的限制:
doc = ezdxf.readfile("some_doc.dxf")
top_right = doc.header["$EXTMAX"]
bottom_left = doc.header["$EXTMIN"]
所以根本不需要转换成DCS。
推荐阅读
- html - CSS:如何按顺序对宽度、高度和不透明度进行动画处理
- qt - 无法为模块“QtQuick”(CMake)加载插件
- node.js - 在 where 子句中对 hasMany 关联的属性进行 Sequelize 过滤器
- mysql - 关于where子句随机工作的时间戳比较?
- sql - 来自 SQL / Impala 中脚本的 JOIN 查询
- bash - 只有一些并行步骤的作业数组和 shell 脚本
- objective-c - XPC 客户端等待服务加载
- c++ - 为什么 Glew 在 MacOS Catalina 中找不到 OpenGL 标头?
- linux - 每 5 分钟运行一次任务,但不要在星期一 9 到星期四下午 1 点之间运行
- java - int 无法转换为 2D 数组的 int[][] 错误