cad.net 圖元Delta屬性居然受UCS影響
今天在進行幾何運算時,發(fā)現(xiàn)在UCS非世界坐標系的時候運算結果不正確
這與我以往的認知出現(xiàn)了沖突,我個人的經(jīng)驗,只有在用戶交互的時候(如GetPoint,GetEntity),才用得到ucs。
當一個圖元已經(jīng)從id拿到,轉化為Entity時,從該圖元屬性上取出的屬性應該為均為世界坐標系。
經(jīng)過我的排查后發(fā)現(xiàn),Line的Delta屬性居然在不同的UCS下取值不同。我原以為Delta屬性就是起點到終點的向量。
這里我寫了一個最小化測試Demo
var line1 = new Line(Point3d.Origin,new Point3d(100,0,0));
line1.Delta.Print();
line1.StartPoint.GetVectorTo(line1.EndPoint).Print();
其中print函數(shù)是Editor.WriteMessage(); 輸出到命令行。
此代碼在UCS為世界坐標系時輸出是這樣的

當修改了UCS后,輸出如下

由此可見,“從圖元上取得的屬性值均為世界坐標系”,此說法雖然大部分情況正確,但未必完全正確。
完

浙公網(wǎng)安備 33010602011771號