ElementPropertiesSetter psetter = new ElementPropertiesSetter(); DPoint3d ptx = centerPt + 18 * UorPerMeter()*DVector3d.UnitX; DPoint3d pty = centerPt + 12 * UorPerMeter() * DVector3d.UnitY; DVector3d vector0In = ptx - centerPt; DVector3d vector90In = pty - centerPt; DEllipse3d ellipseArc = new DEllipse3d(centerPt, vector0In, vector90In, Angle.Zero, Angle.FromDegrees(60)); ArcElement ellipseArcEle = new ArcElement(DgnModel3d,null, ellipseArc); psetter.SetColor(7); psetter.Apply(ellipseArcEle); ellipseArcEle.AddToModel(); DPoint3d ptyc = centerPt + 18 * UorPerMeter() * DVector3d.UnitY; DVector3d vector90Inc = ptyc - centerPt; DEllipse3d ellipseArcc = new DEllipse3d(centerPt, vector0In, vector90Inc, Angle.Zero, Angle.FromDegrees(60)); ArcElement ellipseArcElec = new ArcElement(DgnModel3d, null, ellipseArcc); psetter.SetColor(3); psetter.Apply(ellipseArcElec); ellipseArcElec.AddToModel();
椭圆弧的圆心显然不应该和圆弧圆心在一个点上呀。你用中心点捕捉方式去放一个点就能找到你椭圆弧的圆心所在了。
Answer Verified By: Xiaojiao Xue
问题解决了,谢谢符老师提醒!
https://blog.csdn.net/baidu_38621657/article/details/87900665,这里还有一个相互转换的方法