private void DancingBall_RenderTick()
        {
            timerOfObject += 0.5f;

            //z方向的位移
            heightOfObject = speedOfObject * timerOfObject - (9.8f * timerOfObject * timerOfObject) * 0.5f;
            //x方向的位移
            distanceX += xspeed;
            if (heightOfObject <= 0.0f)
            {
                distanceX     -= xspeed;
                timerOfObject  = 0;
                xspeed         = -xspeed;
                heightOfObject = 10;
            }

            //设置位移矩阵
            Matrix4 trf        = GlobalInstance.MatrixBuilder.MakeTranslate(new Vector3(distanceX, 0, heightOfObject));
            float   scaleValue = heightOfObject * 0.01f + 1;
            Matrix4 scale      = GlobalInstance.MatrixBuilder.MakeScale(new Vector3(scaleValue, scaleValue, scaleValue));

            m_Object.SetTransform(trf * scale);


            // Change color
            fs.SetColor((int)(random.NextDouble() * 100), (int)(random.NextDouble() * 100), (int)(random.NextDouble() * 100));

            m_RenderView.RequestDraw();
        }
Ejemplo n.º 2
0
        /// <summary>
        ///
        /// 初始化整个表格
        /// </summary>
        private void initdgv()
        {
            this.del_list.Clear();
            Maticsoft.BLL.measures use1 = new Maticsoft.BLL.measures();
            string  aa = string.Format("componentId = '{0}'ORDER BY step", LjHao);//ORDER BY step
            DataSet ds = use1.GetListByPage3(aa, "", 0, 100);

            dgv.DataSource = ds.Tables[0];
            foreach (DataGridViewRow row in dgv.Rows)
            {
                row.Cells["step"].Value = row.Index + 1;
            }

            Maticsoft.BLL.component   mea_bll   = new Maticsoft.BLL.component();
            Maticsoft.Model.component comp_mode = mea_bll.GetModel(Convert.ToInt32(LjHao));
            if (comp_mode != null)
            {
                Task a_task = new Task(new Action(() => {
                    Thread.Sleep(1000);
                    renderView.Invoke(new Action(() =>
                    {
                        string base_dir   = Environment.CurrentDirectory;
                        base_dir         += "\\shumo\\";
                        base_dir         += comp_mode.sm;
                        IgesReader reader = new IgesReader();
                        bool ret          = reader.Read(base_dir, new CadView(this.renderView));
                        Console.WriteLine("ret ====== " + ret);
                        renderView.FitAll();
                        renderView.RequestDraw();
                    }));
                }));
                a_task.Start();
            }
        }
Ejemplo n.º 3
0
        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = "DXF (*.dxf)|*.dxf";

            if (DialogResult.OK == dlg.ShowDialog())
            {
                AnyCAD.Exchange.DxfReader reader = new AnyCAD.Exchange.DxfReader();
                if (reader.Read(dlg.FileName, new AnyCAD.Exchange.ShowShapeReaderContext(renderView.SceneManager)))
                {
                    renderView.RequestDraw();
                }
            }

            renderView.View3d.FitAll();
        }
Ejemplo n.º 4
0
        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = "DXF (*.dxf)|*.dxf";

            if (DialogResult.OK == dlg.ShowDialog())
            {
                AnyCAD.Exchange.DxfReader reader = new AnyCAD.Exchange.DxfReader();
                renderView.ClearScene();
                AnyCAD.Exchange.ShowShapeReaderContext context = new AnyCAD.Exchange.ShowShapeReaderContext(renderView.SceneManager);
                context.NextShapeId = mBeginId;
                if (reader.Read(dlg.FileName, context, false))
                {
                    renderView.RequestDraw();
                    mEndId = context.NextShapeId;
                }
            }

            renderView.View3d.FitAll();
        }
Ejemplo n.º 5
0
        private void sTLToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = "STL (*.stl)|*.stl|IGES (*.igs;*.iges)|*.igs;*.iges|STEP (*.stp;*.step)|*.stp;*.step|All Files(*.*)|*.*";

            if (DialogResult.OK == dlg.ShowDialog())
            {
                TopoShape shape = GlobalInstance.BrepTools.LoadFile(dlg.FileName);
                renderView.RenderTimer.Enabled = false;
                if (shape != null)
                {
                    PhongMaterial material = new PhongMaterial();
                    material.SetAmbient(new ColorValue(0.24725f, 0.2245f, 0.0645f));
                    material.SetDiffuse(new ColorValue(0.84615f, 0.8143f, 0.2903f));
                    material.SetSpecular(new ColorValue(0.797357f, 0.723991f, 0.208006f));
                    material.SetShininess(83.2f);
                    FaceStyle faceStyle = new FaceStyle();
                    faceStyle.SetMaterial(material);
                    SceneManager   sceneMgr = renderView.SceneManager;
                    TopoShapeGroup subGroup = GlobalInstance.TopoExplor.ExplorSubShapes(shape);
                    int            nSize    = subGroup.Size();
                    for (int ii = 0; ii < nSize; ++ii)
                    {
                        SceneNode node = GlobalInstance.TopoShapeConvert.ToEntityNode(subGroup.GetTopoShape(ii), 10f);
                        node.SetId(++shapeId);
                        node.SetFaceStyle(faceStyle);

                        sceneMgr.AddNode(node);
                    }
                }
                renderView.RenderTimer.Enabled = true;
            }

            renderView.View3d.FitAll();
            renderView.RequestDraw(EnumRenderHint.RH_LoadScene);
        }