Exemple #1
0
        public override void DrawViewportWires(IGH_PreviewArgs args)
        {
            args.Viewport.GetFrustumFarPlane(out Plane plane);
            RhinoViewport viewport = args.Viewport;

            for (int i = 0; i < _pt.Count; i++)
            {
                if (bar_No == 1)
                {
                    var size = VisualizeModel.VisualizeModel.fontsize; Point3d point = _pt[i]; plane.Origin = point;
                    viewport.GetWorldToScreenScale(point, out double pixPerUnit); size /= pixPerUnit;
                    args.Display.Draw3dText(_bar[i], _c[i], plane, size, "", false, false, Rhino.DocObjects.TextHorizontalAlignment.Center, Rhino.DocObjects.TextVerticalAlignment.Bottom);
                }
                if (bar_name == 1)
                {
                    var size = VisualizeModel.VisualizeModel.fontsize; Point3d point = _pt[i]; plane.Origin = point;
                    viewport.GetWorldToScreenScale(point, out double pixPerUnit); size /= pixPerUnit;
                    args.Display.Draw3dText(_name[i], _c[i], plane, size, "", false, false, Rhino.DocObjects.TextHorizontalAlignment.Center, Rhino.DocObjects.TextVerticalAlignment.Top);
                }
                if (bar_list == 1)
                {
                    var size = VisualizeModel.VisualizeModel.fontsize; Point3d point = _pt[i]; plane.Origin = point;
                    viewport.GetWorldToScreenScale(point, out double pixPerUnit); size /= pixPerUnit;
                    args.Display.Draw3dText(_list[i], _c[i], plane, size, "", false, false, Rhino.DocObjects.TextHorizontalAlignment.Center, Rhino.DocObjects.TextVerticalAlignment.Top);
                }
            }
        }
Exemple #2
0
        public override void DrawViewportWires(IGH_PreviewArgs argments)
        {
            argments.Viewport.GetFrustumFarPlane(out Plane pln);
            RhinoViewport viewp = argments.Viewport;

            for (int i = 0; i < _s.Count; i++)
            {
                var material = new DisplayMaterial(_c[i], 0.5);
                argments.Display.DrawBrepShaded(_s[i], material);
            }
            for (int i = 0; i < _pt.Count; i++)
            {
                double  size  = fontsize;
                Point3d point = _pt[i];
                pln.Origin = point;
                viewp.GetWorldToScreenScale(point, out double pixPerUnit); size /= pixPerUnit;
                var tt = _text[i];
                var H = TextHorizontalAlignment.Right; var V = TextVerticalAlignment.Top;
                if (_c2[i] == Color.Black)
                {
                    V = TextVerticalAlignment.Bottom;
                }
                if (_c2[i] == Color.Blue)
                {
                    H = TextHorizontalAlignment.Left; V = TextVerticalAlignment.Bottom;
                }
                if (_c2[i] == Color.Purple)
                {
                    H = TextHorizontalAlignment.Left;
                }
                argments.Display.Draw3dText(tt, _c2[i], pln, size, "", false, false, H, V);
            }
        }
Exemple #3
0
        /// <summary>
        /// Gets scale factor of a given viewport in pixels per unit
        /// </summary>
        /// <param name="viewport">viewport to calculate scale factor for</param>
        /// <returns>scale factor in pixels per unit</returns>
        public static double GetViewportScale(RhinoViewport viewport)
        {
            if (!viewport.IsPlanView)
            {
                return(0);
            }

            viewport.GetFrustumCenter(out var frustrumCenter);
            viewport.GetWorldToScreenScale(frustrumCenter, out var pixelsPerUnit);

            return(pixelsPerUnit);
        }
Exemple #4
0
        public override void DrawViewportWires(IGH_PreviewArgs args)
        {
            args.Viewport.GetFrustumFarPlane(out Plane plane);
            RhinoViewport viewport = args.Viewport;

            ///軸外力の描画用関数*******************************************************************************
            for (int i = 0; i < _arrow.Count; i++)
            {
                if (VisualizeModel.VisualizeModel.Value == 1)
                {
                    var size = VisualizeModel.VisualizeModel.fontsize; Point3d point = _arrow[i].From; plane.Origin = point;
                    viewport.GetWorldToScreenScale(point, out double pixPerUnit); size /= pixPerUnit;
                    Text3d drawText = new Text3d(_text[i] + "kN", plane, size);
                    args.Display.Draw3dText(drawText, Color.MintCream); drawText.Dispose();
                }
                Line arrow = _arrow[i];
                args.Display.DrawLine(arrow, Color.MintCream, 2);
                args.Display.DrawArrowHead(arrow.To, arrow.Direction, Color.MintCream, 25, 0);
            }
        }