diff --git a/src/IFoxCAD.Cad/ExtensionMethod/PointEx.cs b/src/IFoxCAD.Cad/ExtensionMethod/PointEx.cs
index c534be66a5897f288dc64ff8b86692fac4844813..d81a0f26ee0a88c6663cadb971db8ce55f4e7c66 100644
--- a/src/IFoxCAD.Cad/ExtensionMethod/PointEx.cs
+++ b/src/IFoxCAD.Cad/ExtensionMethod/PointEx.cs
@@ -42,5 +42,34 @@ public static double GetAngle(this Point2d startPoint, Point2d endPoint)
return startPoint.GetVectorTo(endPoint).Angle;
}
+ ///
+ /// 按对称轴镜像Point
+ ///
+ /// Point
+ /// 对称轴起点
+ /// 对称轴终点
+ public static Point3d Mirror(this Point3d point, Point3d startPoint, Point3d endPoint)
+ {
+ return point.TransformBy(Matrix3d.Mirroring(new Line3d(startPoint, endPoint)));
+ }
+ ///
+ /// 按对称面镜像Point
+ ///
+ /// Point
+ /// 对称平面
+ public static Point3d Mirror(this Point3d point, Plane plane)
+ {
+ return point.TransformBy(Matrix3d.Mirroring(plane));
+ }
+
+ ///
+ /// 按对称点镜像Point
+ ///
+ /// Point
+ /// 对称点
+ public static Point3d Mirror(this Point3d point, Point3d basePoint)
+ {
+ return point.TransformBy(Matrix3d.Mirroring(basePoint));
+ }
}
\ No newline at end of file