示例#1
0
 protected override void OnDeactivate()
 {
     if (current != null)
     {
         current.Destroy();
         current = null;
     }
     canCreate = true;
 }
示例#2
0
    protected override Entity OnSplit(Vector3 position)
    {
        var part = new ArcEntity(sketch);

        part.center.pos = center.pos;
        part.p1.pos     = p1.pos;
        p1.pos          = position;
        part.p0.pos     = p1.pos;
        return(part);
    }
示例#3
0
    void AddArc(netDxf.Entities.Arc a)
    {
        var   c   = new UnityEngine.Vector3((float)a.Center.X, (float)a.Center.Y, (float)a.Center.Z);
        var   e   = a.StartAngle;
        float sa  = (float)a.StartAngle * Mathf.Deg2Rad;
        float ea  = (float)a.EndAngle * Mathf.Deg2Rad;
        float r   = (float)a.Radius;
        var   rvs = new UnityEngine.Vector3(r * Mathf.Cos(sa), r * Mathf.Sin(sa), c.z) + c;
        var   rve = new UnityEngine.Vector3(r * Mathf.Cos(ea), r * Mathf.Sin(ea), c.z) + c;

        ArcEntity arc = new ArcEntity(DetailEditor.instance.currentSketch.GetSketch());

        arc.c.SetPosition(c);
        arc.p0.SetPosition(rvs);
        arc.p1.SetPosition(rve);
    }
示例#4
0
    protected override void OnMouseDown(Vector3 pos, ICADObject sko)
    {
        if (current != null)
        {
            if (!canCreate)
            {
                return;
            }
            current.p1.pos          = pos;
            current.p1.isSelectable = true;
            current.p0.isSelectable = true;
            current.c.isSelectable  = true;
            current.isSelectable    = true;
            if (AutoConstrainCoincident(current.p1, sko as IEntity))
            {
                current = null;
                StopTool();
                return;
            }
        }
        if (DetailEditor.instance.currentSketch == null)
        {
            return;
        }
        editor.PushUndo();
        var newEntity = new ArcEntity(DetailEditor.instance.currentSketch.GetSketch());

        newEntity.p0.pos = pos;
        newEntity.p1.pos = pos;
        newEntity.c.pos  = pos;
        if (current == null)
        {
            AutoConstrainCoincident(newEntity.p0, sko as IEntity);
        }
        else
        {
            new PointsCoincident(current.sketch, current.p1, newEntity.p0);
        }

        current = newEntity;
        current.isSelectable    = false;
        current.p0.isSelectable = false;
        current.p1.isSelectable = false;
        current.c.isSelectable  = false;
    }