コード例 #1
0
ファイル: Childform.cs プロジェクト: zhanghang080/Drawlatest
        private void BaseControl_MouseMoveAfter(MouseEventArgs e)
        {
            MainForm parent = this.MdiParent as MainForm;

            VectorDraw.Geometry.gPoint ccspt = vdScrollableControl1.BaseControl.ActiveDocument.CCS_CursorPos();


            double x = ccspt.x;
            double y = ccspt.y;
            double z = ccspt.z;

            if (Math.Abs(x) > 1 && Math.Abs(y) > 1 && z == 0)
            {
                this.gPointList.Add(ccspt);
            }
            string str = vdScrollableControl1.BaseControl.ActiveDocument.lunits.FormatLength(x) + " , " + vdScrollableControl1.BaseControl.ActiveDocument.lunits.FormatLength(y) + " , " + vdScrollableControl1.BaseControl.ActiveDocument.lunits.FormatLength(z);

            if (parent != null && parent.mDisplayPolarCoord)
            {
                //if active action is user waiting reference point and mDisplayPolarCoord == true
                //then polar coord string
                if (vdScrollableControl1.BaseControl.ActiveDocument.ActiveLayOut.OverAllActiveActions.Count > 1)
                {
                    BaseAction action = vdScrollableControl1.BaseControl.ActiveDocument.ActiveLayOut.OverAllActiveAction;

                    if (action.WaitingPoint && action.ReferencePoint != null)
                    {
                        if ((action.ValueTypeProp & BaseAction.valueType.REFPOINT) == BaseAction.valueType.REFPOINT)
                        {
                            gPoint refpt = vdScrollableControl1.BaseControl.ActiveDocument.World2UserMatrix.Transform(action.ReferencePoint);
                            double angle = Globals.GetAngle(refpt, ccspt);
                            double dist  = ccspt.Distance3D(refpt);
                            x   = dist;
                            y   = Globals.RadiansToDegrees(angle);
                            z   = 0.0d;
                            str = vdScrollableControl1.BaseControl.ActiveDocument.lunits.FormatLength(dist) + "<" + vdScrollableControl1.BaseControl.ActiveDocument.aunits.FormatAngle(angle);
                        }
                    }
                }
            }
            if (parent != null)
            {
                parent.CoordDisplay.Text = str;
            }
        }
コード例 #2
0
        public void DrawEnvelop(vdDocument doc)
        {
            if (Members == null)
            {
                Set_Members();
            }



            vdLayer elementLay = new vdLayer();

            elementLay.Name = "ENVELOPE";
            elementLay.SetUnRegisterDocument(doc);
            elementLay.setDocumentDefaults();
            elementLay.PenColor = new vdColor(Color.DarkGreen);
            doc.Layers.AddItem(elementLay);
            doc.Palette.Background = Color.White;


            VectorDraw.Professional.vdFigures.vdPolyline one3dface = new vdPolyline();
            vdLine  ln   = null;
            vdMText mtxt = null;


            one3dface.SetUnRegisterDocument(doc);
            one3dface.setDocumentDefaults();



            VectorDraw.Geometry.gPoint gp = new VectorDraw.Geometry.gPoint();


            for (var item = 0; item < Members.Count; item++)
            {
                ln = new vdLine();
                ln.SetUnRegisterDocument(doc);
                ln.setDocumentDefaults();

                mtxt = new vdMText();
                mtxt.SetUnRegisterDocument(doc);
                mtxt.setDocumentDefaults();

                mtxt.HorJustify = VdConstHorJust.VdTextHorCenter;

                mtxt.Height     = 0.3;
                mtxt.TextString = Forces[item].ToString("f3");
                mtxt.Layer      = elementLay;

                gp   = new gPoint();
                gp.x = (Members[item].StartNode.Point.x + Members[item].EndNode.Point.x) / 2;
                gp.y = Members[item].StartNode.Point.y;
                gp.z = Members[item].StartNode.Point.z;

                ln.StartPoint = gp;

                gp   = new gPoint();
                gp.x = (Members[item].StartNode.Point.x + Members[item].EndNode.Point.x) / 2;
                gp.y = Members[item].EndNode.Point.y + Forces[item] * factor;
                gp.z = Members[item].StartNode.Point.z;

                ln.EndPoint = gp;


                mtxt.InsertionPoint = gp;
                doc.ActiveLayOut.Entities.AddItem(mtxt);

                ln.Layer = elementLay;
                doc.ActiveLayOut.Entities.AddItem(ln);

                one3dface.VertexList.Add(gp);

                Members.DrawMember(Members[item], doc);
            }

            one3dface.SPlineFlag = VdConstSplineFlag.SFlagFITTING;

            one3dface.Layer = elementLay;
            doc.ActiveLayOut.Entities.AddItem(one3dface);
            //VectorDraw.Professional.ActionUtilities.vdCommandAction.View3D_ShadeOn(doc);
        }