如何从Autodesk.AutoCAD.Geometry.Point3d获取FormatProvider

时间:2019-07-19 09:33:38

标签: c# .net autocad autocad-plugin

我有一些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对象。因此,我可以通过以下方式来实现:删除()拆分文本,方法是将符号,分开,并将每个坐标解析为双精度。

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

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

1 个答案:

答案 0 :(得分:0)

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

因此,我认为您不必关心Point3d.ToString()格式,无论使用哪种文化版本,该格式始终相同。