编辑ZWCAD实体--镜像对象

来源:互联网 发布:bp神经网络算法 剃度 编辑:程序博客网 时间:2024/05/18 03:06
Imports ZwSoft.ZwCAD.Runtime
Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.DatabaseServices
Imports ZwSoft.ZwCAD.EditorInput
Imports ZwSoft.ZwCAD.Geometry


Public Class ZwcadApps


    <CommandMethod("MirrorObject")> _
    Public Sub MirrorObject()
        Dim ZcDoc As Document = Application.DocumentManager.MdiActiveDocument
        Dim ZcDB As Database = ZcDoc.Database
        Dim ZcEd As Editor = ZcDoc.Editor




        Dim peo As New PromptEntityOptions(vbLf & "Select object:")
        Dim per As PromptEntityResult = ZcEd.GetEntity(peo)
        If per.Status <> PromptStatus.OK Then
            Return
        End If


        Dim pro1 As New PromptPointOptions(vbLf & "Input first point:")
        Dim proR1 As PromptPointResult = ZcEd.GetPoint(pro1)
        If proR1.Status <> PromptStatus.OK Then
            Return
        End If
        Dim Pt1 As Point3d = proR1.Value


        Dim pro2 As New PromptPointOptions(vbLf & "Input second point:")
        Dim proR2 As PromptPointResult = ZcEd.GetPoint(pro2)
        If proR2.Status <> PromptStatus.OK Then
            Return
        End If
        Dim Pt2 As Point3d = proR2.Value


        Dim MLine As Line3d = New Line3d(Pt1, Pt2)
        Dim Mt As Matrix3d = Matrix3d.Mirroring(MLine)


        Using ZcTran As Transaction = ZcDB.TransactionManager.StartTransaction()
            Dim Ent As Entity = ZcTran.GetObject(per.ObjectId, OpenMode.ForWrite)
            Ent.TransformBy(Mt)
            ZcTran.Commit()
        End Using
    End Sub


End Class
原创粉丝点击