首页 > 解决方案 > 如何从 Autodesk.AutoCAD.Geometry.Point3d 获取 FormatProvider

问题描述

我有一些 Point3d 作为文本存储在DataGridView单元格中。

Autodesk.AutoCAD.Geometry.Point3d px = new Point3d ( 100.0 , 123.0 , 0.0); // for example
row.Cells["IDS_ReferenePoint"].Value = px.ToString();

所以我有价值:"(100.0,123.0,0.0)"

现在我需要反转该操作 - 从DataGridView单元格中读取该点并转换为Point3d对象。所以我可以通过 remove 来做到这一点,(通过)分隔列符号来拆分文本,,并将每个坐标解析为加倍。

但我担心在其他具有不同语言设置的 PC,上将是小数位分隔符,例如[SPACE]是坐标分隔符。

有没有一种简单的方法来FormatProvider默认使用Point3d.ToString()?取决于用户 PC 配置?

标签: c#.netautocadautocad-plugin

解决方案


据我所知,Point3d格式与 Windows 小数分隔符无关。我曾经使用法语版本的 AutoCAD,无论 Windows 设置如何,AutoCAD 的小数分隔符都是点(逗号是法语版本的默认 Windows 小数分隔符)。逗号是 AutoCAD 点、向量、矩阵的坐标分隔符。

所以,我认为你不必关心Point3d.ToString()无论文化版本总是相同的格式。


推荐阅读