private void SampleCsObjectManagerControl_Load(object sender, EventArgs e) { m_events.Register(); m_events.Enable(true); MRhinoObjectIterator it = new MRhinoObjectIterator( IRhinoObjectIterator.object_state.undeleted_objects, IRhinoObjectIterator.object_category.active_and_reference_objects ); it.IncludeLights(true); it.IncludeGrips(false); m_listbox.BeginUpdate(); for (MRhinoObject obj = it.First(); obj != null; obj = it.Next()) { Guid guid = obj.Attributes().m_uuid; int index = m_listbox.Items.Add(guid.ToString()); if (obj.IsSelected() > 0) { m_listbox.SetSelected(index, true); } } m_listbox.EndUpdate(); SaveSelectedIndices(); }
///<summary> This gets called when when the user runs this command.</summary> public override IRhinoCommand.result RunCommand(IRhinoCommandContext context) { string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); int count = 0; context.m_doc.UnselectAll(); MRhinoObjectIterator it = new MRhinoObjectIterator( IRhinoObjectIterator.object_state.normal_objects, IRhinoObjectIterator.object_category.active_objects ); IRhinoObject obj = null; for (obj = it.First(); null != obj; obj = it.Next()) { if (obj.IsSolid()) { IOn.object_type type = obj.ObjectType(); if (type == IOn.object_type.surface_object || type == IOn.object_type.brep_object) { obj.Select(true); string fname = string.Format("{0}\\rhino_sat_export_{1}.sat", path, count++); string script = string.Format("_-Export \"{0}\" Inventor _Enter", fname); RhUtil.RhinoApp().RunScript(script, 1); obj.Select(false); } } } context.m_doc.Redraw(); return IRhinoCommand.result.success; }
///<summary> This gets called when when the user runs this command.</summary> public override IRhinoCommand.result RunCommand(IRhinoCommandContext context) { MRhinoGetString gs = new MRhinoGetString(); gs.SetCommandPrompt("Object name to select"); gs.GetString(); if (gs.CommandResult() != IRhinoCommand.result.success) { return(gs.CommandResult()); } string name = gs.String().Trim(); if (string.IsNullOrEmpty(name)) { return(IRhinoCommand.result.nothing); } MRhinoObjectIterator it = new MRhinoObjectIterator( IRhinoObjectIterator.object_state.normal_objects, IRhinoObjectIterator.object_category.active_and_reference_objects ); int num_selected = 0; IRhinoObject obj = null; for (obj = it.First(); null != obj; obj = it.Next()) { if (name.Equals(obj.Attributes().m_name, StringComparison.OrdinalIgnoreCase)) { obj.Select(true, true, true); num_selected++; } } if (0 == num_selected) { RhUtil.RhinoApp().Print("0 objects selected\n"); } else if (1 == num_selected) { RhUtil.RhinoApp().Print("1 object selected\n"); } else { RhUtil.RhinoApp().Print(string.Format("{0} objects selected\n", num_selected)); } if (0 < num_selected) { context.m_doc.Redraw(); } return(IRhinoCommand.result.success); }
public override IRhinoCommand.result RunCommand(IRhinoCommandContext context) { MRhinoObjectIterator it = new MRhinoObjectIterator( IRhinoObjectIterator.object_state.undeleted_objects, IRhinoObjectIterator.object_category.active_and_reference_objects ); for (MRhinoObject obj = it.First(); null != obj; obj = it.Next()) obj.EnableAnalysisMode(ZAnalysisVAM.ZANALYSIS_VAM_ID, false); context.m_doc.Redraw(); RhUtil.RhinoApp().Print("Z-Analysis is off.\n"); return IRhinoCommand.result.success; }
public override IRhinoCommand.result RunCommand(IRhinoCommandContext context) { MRhinoObjectIterator it = new MRhinoObjectIterator( IRhinoObjectIterator.object_state.undeleted_objects, IRhinoObjectIterator.object_category.active_and_reference_objects ); for (MRhinoObject obj = it.First(); null != obj; obj = it.Next()) { obj.EnableAnalysisMode(ZAnalysisVAM.ZANALYSIS_VAM_ID, false); } context.m_doc.Redraw(); RhUtil.RhinoApp().Print("Z-Analysis is off.\n"); return(IRhinoCommand.result.success); }
///<summary> This gets called when when the user runs this command.</summary> public override IRhinoCommand.result RunCommand(IRhinoCommandContext context) { MRhinoGetString gs = new MRhinoGetString(); gs.SetCommandPrompt("Object name to select"); gs.GetString(); if (gs.CommandResult() != IRhinoCommand.result.success) return gs.CommandResult(); string name = gs.String().Trim(); if (string.IsNullOrEmpty(name)) return IRhinoCommand.result.nothing; MRhinoObjectIterator it = new MRhinoObjectIterator( IRhinoObjectIterator.object_state.normal_objects, IRhinoObjectIterator.object_category.active_and_reference_objects ); int num_selected = 0; IRhinoObject obj = null; for (obj = it.First(); null != obj; obj = it.Next()) { if (name.Equals(obj.Attributes().m_name, StringComparison.OrdinalIgnoreCase)) { obj.Select(true, true, true); num_selected++; } } if (0 == num_selected) RhUtil.RhinoApp().Print("0 objects selected\n" ); else if (1 == num_selected) RhUtil.RhinoApp().Print("1 object selected\n"); else RhUtil.RhinoApp().Print(string.Format("{0} objects selected\n", num_selected)); if (0 < num_selected) context.m_doc.Redraw(); return IRhinoCommand.result.success; }
///<summary> This gets called when when the user runs this command.</summary> public override IRhinoCommand.result RunCommand(IRhinoCommandContext context) { string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); int count = 0; context.m_doc.UnselectAll(); MRhinoObjectIterator it = new MRhinoObjectIterator( IRhinoObjectIterator.object_state.normal_objects, IRhinoObjectIterator.object_category.active_objects ); IRhinoObject obj = null; for (obj = it.First(); null != obj; obj = it.Next()) { if (obj.IsSolid()) { IOn.object_type type = obj.ObjectType(); if (type == IOn.object_type.surface_object || type == IOn.object_type.brep_object) { obj.Select(true); string fname = string.Format("{0}\\rhino_sat_export_{1}.sat", path, count++); string script = string.Format("_-Export \"{0}\" Inventor _Enter", fname); RhUtil.RhinoApp().RunScript(script, 1); obj.Select(false); } } } context.m_doc.Redraw(); return(IRhinoCommand.result.success); }
private void SampleCsObjectManagerControl_Load(object sender, EventArgs e) { m_events.Register(); m_events.Enable(true); MRhinoObjectIterator it = new MRhinoObjectIterator( IRhinoObjectIterator.object_state.undeleted_objects, IRhinoObjectIterator.object_category.active_and_reference_objects ); it.IncludeLights(true); it.IncludeGrips(false); m_listbox.BeginUpdate(); for (MRhinoObject obj = it.First(); obj != null; obj = it.Next()) { Guid guid = obj.Attributes().m_uuid; int index = m_listbox.Items.Add(guid.ToString()); if (obj.IsSelected() > 0) m_listbox.SetSelected(index, true); } m_listbox.EndUpdate(); SaveSelectedIndices(); }
/// <summary> /// Rhino calls WriteFile() to write document geometry to an external file. /// </summary> public override int WriteFile(string filename, int index, ref MRhinoDoc doc, ref IRhinoFileWriteOptions options) { int rc = 0; // false // Are we saving or exporting? bool bExport = options.Mode(IRhinoFileWriteOptions.ModeFlag.SelectedMode); // Are we in interactive or scripted mode? bool bScript = options.Mode(IRhinoFileWriteOptions.ModeFlag.BatchMode); List <IRhinoObject> objects = new List <IRhinoObject>(); // Get objects to save/export MRhinoObjectIterator it = new MRhinoObjectIterator(doc, IRhinoObjectIterator.object_state.undeleted_objects); if (bExport) { it.EnableSelectedFilter(); it.EnableVisibleFilter(); } // Do the iteration... MRhinoObject obj = null; for (obj = it.First(); null != obj; obj = it.Next()) { objects.Add(obj); } ArrayMRhinoObjectMesh meshes = new ArrayMRhinoObjectMesh(objects.Count); OnMeshParameters mesh_parameters = _mesh_parameters; int mesh_ui_style = (bScript) ? 2 : _mesh_ui_style; // Get the meshes to save/export IRhinoCommand.result res = RhUtil.RhinoMeshObjects(objects.ToArray(), ref mesh_parameters, ref mesh_ui_style, ref meshes); if (res == IRhinoCommand.result.success) { if (mesh_ui_style >= 0 && mesh_ui_style <= 1) { _mesh_ui_style = mesh_ui_style; } _mesh_parameters = mesh_parameters; } else { if (bExport) { RhUtil.RhinoApp().Print("No meshes to export.\n"); } else { RhUtil.RhinoApp().Print("No meshes to save.\n"); } return(rc); } try { // Open the file System.IO.StreamWriter file = new System.IO.StreamWriter(filename); // Write mesh count file.WriteLine(string.Format("meshcount={0}\n", meshes.Count())); // Write each mesh for (int i = 0; i < meshes.Count(); i++) { MRhinoObjectMesh obj_mesh = meshes[i]; OnMesh mesh = obj_mesh.GetMesh(); if (null != mesh) { // Write mesh number file.WriteLine(string.Format("mesh={0}\n", i)); // Write mesh vertex count file.WriteLine(string.Format("vertexcount={0}\n", mesh.m_V.Count())); // Write mesh face count file.WriteLine(string.Format("facecount={0}\n", mesh.m_F.Count())); // Write mesh vertices for (int vi = 0; vi < mesh.m_V.Count(); vi++) { On3fPoint p = mesh.m_V[vi]; file.WriteLine(string.Format("vertex=({0},{1},{2})\n", p.x, p.y, p.z)); } // Write mesh faces for (int fi = 0; fi < mesh.m_F.Count(); fi++) { OnMeshFace f = mesh.m_F[fi]; file.WriteLine(string.Format("face=({0},{1},{2},{3})\n", f.get_vi(0), f.get_vi(1), f.get_vi(2), f.get_vi(3))); } } } file.Close(); rc = 1; // true } catch (Exception e) { RhUtil.RhinoApp().Print(string.Format("{0}\n", e.Message)); } return(rc); }
/// <summary> /// Rhino calls WriteFile() to write document geometry to an external file. /// </summary> public override int WriteFile(string filename, int index, ref MRhinoDoc doc, ref IRhinoFileWriteOptions options) { int rc = 0; // false // Are we saving or exporting? bool bExport = options.Mode(IRhinoFileWriteOptions.ModeFlag.SelectedMode); // Are we in interactive or scripted mode? bool bScript = options.Mode(IRhinoFileWriteOptions.ModeFlag.BatchMode); List<IRhinoObject> objects = new List<IRhinoObject>(); // Get objects to save/export MRhinoObjectIterator it = new MRhinoObjectIterator(doc, IRhinoObjectIterator.object_state.undeleted_objects); if (bExport) { it.EnableSelectedFilter(); it.EnableVisibleFilter(); } // Do the iteration... MRhinoObject obj = null; for (obj = it.First(); null != obj; obj = it.Next()) objects.Add(obj); ArrayMRhinoObjectMesh meshes = new ArrayMRhinoObjectMesh(objects.Count); OnMeshParameters mesh_parameters = _mesh_parameters; int mesh_ui_style = (bScript) ? 2 : _mesh_ui_style; // Get the meshes to save/export IRhinoCommand.result res = RhUtil.RhinoMeshObjects(objects.ToArray(), ref mesh_parameters, ref mesh_ui_style, ref meshes); if (res == IRhinoCommand.result.success) { if (mesh_ui_style >= 0 && mesh_ui_style <= 1) _mesh_ui_style = mesh_ui_style; _mesh_parameters = mesh_parameters; } else { if (bExport) RhUtil.RhinoApp().Print("No meshes to export.\n"); else RhUtil.RhinoApp().Print("No meshes to save.\n"); return rc; } try { // Open the file System.IO.StreamWriter file = new System.IO.StreamWriter(filename); // Write mesh count file.WriteLine(string.Format("meshcount={0}\n", meshes.Count())); // Write each mesh for (int i = 0; i < meshes.Count(); i++) { MRhinoObjectMesh obj_mesh = meshes[i]; OnMesh mesh = obj_mesh.GetMesh(); if (null != mesh) { // Write mesh number file.WriteLine(string.Format("mesh={0}\n", i)); // Write mesh vertex count file.WriteLine(string.Format("vertexcount={0}\n", mesh.m_V.Count())); // Write mesh face count file.WriteLine(string.Format("facecount={0}\n", mesh.m_F.Count())); // Write mesh vertices for (int vi = 0; vi < mesh.m_V.Count(); vi++) { On3fPoint p = mesh.m_V[vi]; file.WriteLine(string.Format("vertex=({0},{1},{2})\n", p.x, p.y, p.z)); } // Write mesh faces for (int fi = 0; fi < mesh.m_F.Count(); fi++) { OnMeshFace f = mesh.m_F[fi]; file.WriteLine(string.Format("face=({0},{1},{2},{3})\n", f.get_vi(0), f.get_vi(1), f.get_vi(2), f.get_vi(3))); } } } file.Close(); rc = 1; // true } catch (Exception e) { RhUtil.RhinoApp().Print(string.Format("{0}\n", e.Message)); } return rc; }