public frmAuto3dSupport(ref SupportConfig sc) { m_sc = sc; InitializeComponent(); SetData(); UVDLPApp.Instance().m_supportgenerator.SupportEvent += new SupportGeneratorEvent(SupEvent); }
public ctlSupports() { InitializeComponent(); UVDLPApp.Instance().m_supportgenerator.SupportEvent += new SupportGeneratorEvent(SupEvent); m_sc = UVDLPApp.Instance().m_supportconfig; // should copy really SetData(); m_changingData = false; m_numFBSelected = true; }
public ctlSupports() { InitializeComponent(); UVDLPApp.Instance().m_supportgenerator.SupportEvent += new SupportGeneratorEvent(SupEvent); UVDLPApp.Instance().AppEvent += new AppEventDelegate(AppEvent); m_sc = UVDLPApp.Instance().m_supportconfig; // should copy really SetData(); m_changingData = false; m_numFBSelected = true; numDownAngle.FloatVal = 45; numDownAngle.IntVal = 45; ListSupports(); }
public SupportConfig Clone() { SupportConfig sc = new SupportConfig(); sc.eSupType = eSupType; sc.fbrad = fbrad; sc.fbrad2 = fbrad2; sc.ftrad = ftrad; sc.hbrad = hbrad; sc.htrad = htrad; sc.m_onlydownward = m_onlydownward; sc.mingap = mingap; sc.vdivs = vdivs; sc.xspace = xspace; sc.yspace = yspace; sc.eSectionShape = eSectionShape; return(sc); }
public SupportConfig Clone() { SupportConfig sc = new SupportConfig(); sc.eSupType = eSupType; sc.fbrad = fbrad; sc.fbrad2 = fbrad2; sc.ftrad = ftrad; sc.hbrad = hbrad; sc.htrad = htrad; sc.m_onlydownward = m_onlydownward; sc.downwardAngle = downwardAngle; sc.mingap = mingap; sc.vdivs = vdivs; sc.xspace = xspace; sc.yspace = yspace; sc.eSectionShape = eSectionShape; return sc; }
private UVDLPApp() { m_supportmode = eSupportEditMode.eNone; SceneFileName = ""; m_callbackhandler = new CallbackHandler(); m_appconfig = new AppConfig(); m_printerinfo = new MachineConfig(); m_buildparms = new SliceBuildConfig(); m_deviceinterface = new DeviceInterface(); m_buildmgr = new BuildManager(); m_slicer = new Slicer(); m_slicer.m_slicemethod = Slicer.eSliceMethod.eNormalCount;// configure the slicer to user the new normal count - Thanks Shai!!! m_slicer.Slice_Event += new Slicer.SliceEvent(SliceEv); //m_dispmgr = DisplayManager.Instance(); // initialize the singleton for early event app binding //m_flexslice = new FlexSlice(); m_gcode = new GCodeFile(""); // create a blank gcode to start with m_supportconfig = new SupportConfig(); m_supportgenerator = new SupportGenerator(); m_supportgenerator.SupportEvent+= new SupportGeneratorEvent(SupEvent); CSG.Instance().CSGEvent += new CSG.CSGEventDel(CSGEvent); m_proj_cmd_lst = new prjcmdlst(); m_plugins = new List<PluginEntry>(); // list of user plug-ins m_pluginstates = PluginStates.Instance(); // initialize the plugin state singleton m_undoer = new Undoer(); m_2d_graphics = new C2DGraphics(); m_gui_config = new GuiConfigManager(); m_AuxBuildCmds = AuxBuildCmds.Instance(); // make sure the singleton doesn't go away... m_sequencemanager = SequenceManager.Instance(); m_exporter = new frmExport(); m_exporter.RegisterExporter(new B9JExporter()); }
private UVDLPApp() { m_appconfig = new AppConfig(); m_printerinfo = new MachineConfig(); m_buildparms = new SliceBuildConfig(); m_deviceinterface = new DeviceInterface(); m_buildmgr = new BuildManager(); m_slicer = new Slicer(); m_slicer.Slice_Event += new Slicer.SliceEvent(SliceEv); //m_flexslice = new FlexSlice(); m_gcode = new GCodeFile(""); // create a blank gcode to start with m_supportconfig = new SupportConfig(); m_supportgenerator = new SupportGenerator(); m_supportgenerator.SupportEvent+= new SupportGeneratorEvent(SupEvent); CSG.Instance().CSGEvent += new CSG.CSGEventDel(CSGEvent); m_proj_cmd_lst = new prjcmdlst(); m_plugins = new List<PluginEntry>(); // list of user plug-ins m_undoer = new Undoer(); }
/// <summary> /// Start the support generation /// </summary> public void Start(SupportConfig sc, Object3d model) { Thread m_thread = new Thread(new ThreadStart(StartGenerating)); m_sc = sc; m_model = model; m_cancel = false; m_generating = true; m_thread.Start(); }
private ZipFile m_zip; // for storing image slices #endregion Fields #region Constructors private UVDLPApp() { m_appconfig = new AppConfig(); m_printerinfo = new MachineConfig(); m_buildparms = new SliceBuildConfig(); m_deviceinterface = new DeviceInterface(); m_buildmgr = new BuildManager(); m_slicer = new Slicer(); m_slicer.Slice_Event += new Slicer.SliceEvent(SliceEv); m_flexslice = new FlexSlice(); m_gcode = new GCodeFile(""); // create a blank gcode to start with m_supportconfig = new SupportConfig(); m_supportgenerator = new SupportGenerator(); m_supportgenerator.SupportEvent+= new SupportGeneratorEvent(SupEvent); }
/// <summary> /// This function creates a new support structure /// you can specify the: /// Foot Bottom Radius - fbrad /// Foot Top Radius - ftrad /// Head Bottom Radius - hbrad /// Head Top Radius - htrad /// /// as well as the segment lengths from bottom to top D1,D2,D3 /// you can also specify the number of divisions in the circle - divs /// </summary> /// <param name="d1"></param> /// <param name="d2"></param> /// <param name="d3"></param> public void Create(SupportConfig SC, Object3d supporting, float d1, float d2, float d3) { try { mSC = SC.Clone(); m_tipheight = 2;// d3; m_baseheight = d1; m_supporting = supporting; float zlev = 0.0f; // start at the bottom of the cylinder s1i = 0; // set 0 to be the starting index for the bottom of the foot GenerateCirclePoints(mSC.fbrad, mSC.cdivs, zlev, true); // foot bottom zlev += d1; //now the top of the foot s2i = m_lstpoints.Count; GenerateCirclePoints(mSC.ftrad, mSC.cdivs, zlev, false); // foot top //zlev += d1; s3i = m_lstpoints.Count; GenerateCirclePoints(mSC.ftrad, mSC.cdivs, zlev, false); // foot top zlev += d2; //now the bottom of the shaft s4i = m_lstpoints.Count; GenerateCirclePoints(mSC.hbrad, mSC.cdivs, zlev, false); // bottom of head zlev += d3; //now the top of the shaft, bottom of the head s5i = m_lstpoints.Count; GenerateCirclePoints(mSC.htrad, mSC.cdivs, zlev, true); // top of head psi_base = m_lstpolys.Count; // should be 0 index MakeTopBottomFace(s1i, mSC.cdivs, false);// bottom //MakeTopBottomFace(s5i, mSC.cdivs, true);// top makeWalls(s1i, s2i, mSC.cdivs); pei_base = m_lstpolys.Count; // should be top index of makeWalls(s2i, s3i - mSC.cdivs - 1, mSC.cdivs); makeWalls(s3i, s4i - (2*mSC.cdivs) - 1, mSC.cdivs); psi_tip = m_lstpolys.Count; makeWalls(s4i, s5i - (3 * mSC.cdivs) - 1, mSC.cdivs); MakeTopBottomFace(s5i, mSC.cdivs, true);// top pei_tip = m_lstpolys.Count; Update(); // update should only be called for new objects, otherwise, use the move/scale/rotate functions SetColor(Color.Yellow); ScaleToHeight(d1 + d2 + d3); } catch (Exception ex) { DebugLogger.Instance().LogError(ex.Message); } }
private int s5i; // top of the head #endregion Fields #region Constructors public Support() { tag = Object3d.OBJ_SUPPORT; // tag for support m_supporting = null; this.Name = "Support_" + supcnt.ToString(); supcnt++; mSC = UVDLPApp.Instance().m_supportconfig.Clone(); // start off by cloing the app's defaults SubType = eSubType.eBase; m_seltype = eSelType.eWhole; }
private UVDLPApp() { m_callbackhandler = new CallbackHandler(); m_appconfig = new AppConfig(); m_printerinfo = new MachineConfig(); m_buildparms = new SliceBuildConfig(); m_deviceinterface = new DeviceInterface(); m_buildmgr = new BuildManager(); m_slicer = new Slicer(); m_slicer.Slice_Event += new Slicer.SliceEvent(SliceEv); //m_dispmgr = DisplayManager.Instance(); // initialize the singleton for early event app binding //m_flexslice = new FlexSlice(); m_gcode = new GCodeFile(""); // create a blank gcode to start with m_supportconfig = new SupportConfig(); m_supportgenerator = new SupportGenerator(); m_supportgenerator.SupportEvent+= new SupportGeneratorEvent(SupEvent); CSG.Instance().CSGEvent += new CSG.CSGEventDel(CSGEvent); m_proj_cmd_lst = new prjcmdlst(); m_plugins = new List<PluginEntry>(); // list of user plug-ins m_undoer = new Undoer(); m_2d_graphics = new C2DGraphics(); m_gui_config = new GuiConfig(); }