public void UpdateGeometry() { if (_VisibleNode == null) { _VisibleNode = new GroupSceneNode(); FaceStyle fs = new FaceStyle(); fs.SetColor(new ColorValue(0, 0, 1.0f, 0.5f)); fs.SetTransparent(true); _VisibleNode.SetFaceStyle(fs); } _VisibleNode.ClearAll(); Path.BuildGeometry(); TopoShape start = GlobalInstance.BrepTools.Extrude(Path.Section, Tool.ZStart, Vector3.UNIT_Z); TopoShape end = GlobalInstance.BrepTools.Extrude(Path.Section, Tool.ZEnd, Vector3.UNIT_Z); _VisibleNode.AddNode(GlobalInstance.TopoShapeConvert.ToEntityNode(start, 0.1f)); _VisibleNode.AddNode(GlobalInstance.TopoShapeConvert.ToEntityNode(end, 0.1f)); Matrix4 trf = GlobalInstance.MatrixBuilder.MakeTranslate(Tool.Position); _VisibleNode.SetTransform(trf); }
private void ShowAnyRobot() { //this.treeViewStp.Nodes.Clear(); //this.renderView.ClearScene(); for (int part_i = 0; part_i < any_robot.partList.Count; part_i++) { GroupSceneNode onePartNode = new GroupSceneNode(); //Console.Write(onePartNode.GetTransform().GetTranslation().ToString()); for (int geo_i = 0; geo_i < any_robot.partList[part_i].geometryPathList.Count; geo_i++) { string relPath = any_robot.partList[part_i].geometryPathList[geo_i]; string absPath = relPath; if (relPath.Contains(":")) { absPath = relPath; } else { absPath = path + relPath; } TopoShape geo = GlobalInstance.BrepTools.LoadFile(new AnyCAD.Platform.Path(absPath)); SceneNode oneGeoNode = renderView.ShowGeometry(geo, part_i); float[] oneGeoPq = new float[7]; for (int i = 0; i < 7; i++) { oneGeoPq[i] = any_robot.partList[part_i].geometryPQ_List[i + geo_i * 7]; // oneGeoPq[i] = any_robot.partList[part_i].partPQ_initial[i]; } oneGeoNode.SetTransform(QuaternionToTransform(oneGeoPq)); renderView.RequestDraw(); geoNodeList.Add(oneGeoNode); onePartNode.AddNode(oneGeoNode); renderView.SceneManager.RemoveNode(oneGeoNode); } float[] onePartPq = new float[7]; for (int j = 0; j < 7; j++) { onePartPq[j] = any_robot.partList[part_i].partPQ_initial[j]; } onePartNode.SetTransform(QuaternionToTransform(onePartPq)); renderView.SceneManager.AddNode(onePartNode); partNodeList.Add(onePartNode); } renderView.SceneManager.AddNode(robot_node); robot_node.SetPickable(false); renderView.RequestDraw(); robotLoadCompleted = true; for (int k = 0; k < partNodeList.Count; k++) { Console.WriteLine("part" + k + partNodeList[k].GetTransform().GetTranslation().ToString()); } for (int k = 0; k < geoNodeList.Count; k++) { Console.WriteLine("geo" + k + geoNodeList[k].GetTransform().GetTranslation().ToString()); } }
void UpdateModel(object source, System.Timers.ElapsedEventArgs e) { Matrix4 tr = robot_node.GetTransform(); Matrix4 tr_1 = GlobalInstance.MatrixBuilder.MakeTranslate(0.1, 0.1, 0.1); Matrix4 tr_2 = GlobalInstance.MatrixBuilder.Multiply(tr, tr_1); robot_node.SetTransform(tr_2); //Console.WriteLine(robot_node.GetTransform().GetTranslation().ToString()); renderView.RequestDraw(); }