Tutorials sound great Scott the biggest problem I had before was getting a loop in a program to work correctly.
Jason
Hey guys,
I could really use your help with something.![]()
One of the things that needs to be finished before I release NCPlot v2 is the help documentation. I'd like to hear from some regular users what topics you think are most important. I'm trying to decide what areas of the help file need the most work.
Also, I've just added a tutorials section to the NCPlot forums page. If have some tips you can share, that would be great. Or, if you can't figure out how to do something, post a request and I will try to help you out.
Thanks,
Scott
Tutorials sound great Scott the biggest problem I had before was getting a loop in a program to work correctly.
Jason
Hey Scott,
Maybe a short crash coarse in 4th axis indexing. Setting the Software up for milling and Turning operations.
Explainations of the Canned Cycles and how they work would be good as well.
G70,G71,G72,G73,G74(Drilling and Trepanning/Face Grooving),G75,G76,G90 (Cutting cycle A),G94(Cutting cycle B),G92(Threading for Lathe/WPC for Milling).
Drilling and Tapping Canned Cycles in Milling and Turning (G73,G74,G76,G81,G82,G83,G84,G85-G89)
Have you finished all the Canned Cycles so that the back plot simulates correctly?
Toby D.
"Imagination and Memory are but one thing, but for divers considerations have divers names"
Schwarzwald
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
www.refractotech.com
Toby,
All the cycles are functional for Milling, but I still have a few more to finish for the Lathe side.
All,
As for the tutorials, I'm hoping you guys can help me out with that. Maybe pick a feature that you like, and write a short step by step description of how you use it and post it to the tutorials section of the NCPlot forums. I'm hoping to use this new forum as an additional source of information for new users that are looking for help. I'll pitch in when I need to, but I'm trying to get you guys to do my work for me![]()
Thanks,
Scott
Do we get a Discount for that Scott?Originally Posted by MetLHead
![]()
![]()
![]()
Toby D.
"Imagination and Memory are but one thing, but for divers considerations have divers names"
Schwarzwald
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
www.refractotech.com
Hmmm...
I was hoping all you dedicated NCPlot users would be happy to volunteer all your free time to help me out!![]()
![]()
Scott
Originally Posted by MetLHead
When I get some more free time to read what is already in your Help Files I'll be glad to help Scott![]()
Toby D.
"Imagination and Memory are but one thing, but for divers considerations have divers names"
Schwarzwald
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
www.refractotech.com
Setting up a Machine Configuration
In order for the graphics viewport to properly display your G-Code program, it must first know a few things about the machine you intend to run it on. Since there are many different types of machines and CNC controls, NCPlot has options that allow it to mimic the way your particular CNC control reads G-Code. NCPlot doesn't recognize every G or M Code that your control does, but it should still be able to give you a good representation of your programs toolpath.
NCPlot comes with a handful of predefined machine configurations. These configurations represent the most common settings for a CNC control and should be good enough to get you started. Even so, you should check that these settings match the way your control works.
To open the machine configuration dialog, click the menu "Setup", then click "Machine Configuration". This dialog is made up of several tabs, the first tab you see is labeled "Machine Type". This tab has settings that define the basic setup of your machine.
Machine Type Tab
You must first select between Mill and Lathe. Choosing one or the other will change or enable/disable other settings on the dialog. If you selected Mill, you now have the option to select between Vertical spindle and Horizontal spindle. If you selected Lathe, you now have the option to select between Radius Coordinate values and Diameter coordinate values. This setting determines how NCPlot interprets the X/U axis command values. The Lathe type also has a check box that allows the direction of G2/G3 arc commands to be reversed.
Also on this tab is a setting called "Default Program Folder". This setting can be set to point to a folder where the G-Code programs for this particular machine configuration are stored. Say for example you have a configuration for a Makino vertical machining center. All the programs for it are stored at "C:\Jobs\MakinoVMC". Simply set the default program folder to this folder, then any time you want to open a file, the "File Open" dialog will open right to this folder. Since this setting is part of the machine configuration, you can specify a different folder for each configuration.
Control Options 1 Tab
This tab contains some of the most important settings for determining how your G-Code programs are interpreted. First off is the "Rapid Type" setting. This setting should be set to match how your machine responds to a multiple axis simultaneous rapid move. If your machine handles this as "Interpolated", then all three axes will always arrive at their endpoints at the same time. If the axes reach the endoints one at a time, this would be "Non-Interpolated" sometimes called "Dog-Leg". Some controls use a third method which is generally safer than the other two. This method will always move the Z axis by itself, either before or after the X & Y axes depending on which direction the Z is going.
The "Coordinate Resolution" setting determines how many decimal places to assume when a command value is given without a decimal point. For example, if you have a program that has commands like "Z-152500", then you would want to set the coordinate resolution to "0.0001" so that this would be properly interpreted as "Z-15.2500". Here's some more examples:
Command value Coordinate Resolution Interpreted value
X25 0.001 X0.025
X1 1.0 X1.0
Y1250 0.0001 Y0.1250
Y1.250 n/a Y1.25 Since a decimal point was specified, the resolution setting is disregarded.
The arc settings determine how G02 and G03 arc commands are interpreted. If your control uses absolute arc centers, then check the box that says "Absolute Arc Centers". When checked, I, J and K values in a G02 or G03 command represent the location of the center of the arc in the current work coordinates. When unchecked, the I, J and K values represent the distance from the start point of the arc to the center point of the arc.
If your control uses absolute arc centers, it may also treat the center locations as modal. If this is the case, the control remembers the last center point you programmed and you don't have to include an I, J or K value in every arc command. If you have a control that behaves this way, check the box that says "I/J/K values are modal".
When you command an arc using IJK arc center designation, it's not uncommon for there to be a small difference between the arc's start radius and end radius. That is, the difference between the distance from the start point to the center and the distance from the end point to the center. Most controls will handle this without a problem up until the difference reaches a certain amount. Whether this amount is fixed in the control, or is parameter settable, you can enter this amount into the "Arc Tolerance" setting. When NCPlot encounters an arc where the start and end radius is different by more than this amount, an error will be displayed.
When NCPlot begins to backplot a program, it starts from a fixed G-Code state. That is, certain G-Codes are active by default such as G00, G90, G54 etc. While this is acceptable for most controls, you may have a machine that defaults to some other active state, like G91. The "Initial State" setting is used to define the default state of your control. For example, if your control defaults to G91 you simple add "G91" to the Initial state setting.
The "Top Viewport" rotation setting allows you to re-orient the graphics display to match the way the part appears from the operator side of the machine. This is simply a convenience setting that only affects the graphics view.
Control Options 2 Tab
If you intend to backplot programs in the Custom Macro B format you should set the ATAN function format. This setting determines the format that is expected when an ATAN function is encountered in the program. In general, Fanuc controls expect the two operand format, while Mitsubishi controls expect the single operand format. For others, check your control documentation to determine the correct setting.
The "G-Code Macros" setting is a list of G-Codes that NCPlot will call as subprograms when they are encountered in a program. When encountered, all other address values are written to local variables and a specially named subprogram is loaded. The name of the subprogram that is loaded is in the format "Gxxx.PRG", where "xxx" is the G-Code value times 10. For example, if you have G12 in the G-Code macro list and NCPlot encounters the block "G12 X0 Y0 I0.5", a subprogram named "G120.PRG" must be in the configuration folder. The values for X, Y and I are saved to local variables and can be used by the subprogram to simulate the motion for a G12 command. This method allows you to simulate G-Codes that are not handled internally by NCPlot.
G/M Codes Tab
If you plan to backplot programs that use M98 for subprograms, then it's very important that you set the M98 command format to match your control. There are five different settings, so if you're not sure which one to use, you should consult your control's programming manual.
If your control supports M-Code activated mirror image, then use this tab to set the M-Codes that are used to activate this function.
Viewport Colors Tab
This tab contains settings that define the colors used to draw the backplot. You first must decide if you want to color by G-Code, or color by tool. To select one, check the box next to the header describing the method you want to use. When "Color by G-Code" is selected, the entities on the graphics viewport be will colored according to the type of motion it represents. There are 4 basic types of motion: G00 Rapid move, G01 Feed move, G02 Clockwise arc and G03 Counterclockwise arc. Each of these types of motion may be assigned a different color.
The "Color by Tool" option draws the backplot with different colors representing the range of motion for each tool used in the program. The "Unspecified Tools" color is used when the program commands motion before the first tool change. The color list contains the colors to use for each tool. The first color in the list is used after the first tool change, the second color after the second tool change, etc. If there are not enough colors in the list for all of the tool changes in the program, the "Unspecified Tools" color will be used for any remaining tool changes. You may also specify the type of command that is considered a tool change, either the M06 command or a T-Code.
In addition to the entity colors, you can also specify the background color of the graphics viewport as well as the color of entities that are selected.
Work Offsets Tab
Just like your machine can accommodate multiple work offset coordinates, NCPlot can also be configured to recognize multiple work locations. This gives a backplot that accurately represents a multiple fixture setup.
Rotary 4th Axis Tab
If your machine has a rotary 4th axis, use this tab to define the settings for it. First, set the "4th Axis Identifier" to specify the letter address that commands the 4th axis. The most common settings are an "A" or "B" axis. Next, set the orientation of the rotary axis by specifying whether it rotates around the "X" or "Y" axis. By definition, an "A" axis rotates around the "X" axis and a "B" axis rotates around the "Y" axis. You must also set the "Coordinate Resolution" setting for the 4th axis command values. This works the same way as the setting on the "Control Options 1" tab.
The "Rotary Centerline" settings can be used to specify where on your machine the rotary axis is located. This tells NCPlot where the center of rotation is located on the machine.
Converting DXF drawing files to G-Code
Load the drawing
There are several ways a DXF drawing file can be loaded into NCPlot.
Use the menu File / Import DXF file
Use the menu File / Open file or the Open File toolbar button then select DXF drawing files from the files of type list.
Drag and drop a DXF file onto the NCPlot edit window
Opening a DXF file will not clear the loaded program. If adding code from a drawing into an existing program, move the cursor to the point in the program where you want the new code to be added. If you want to create a new program from a drawing, close the existing program before opening the drawing file.
Once a file has been selected, NCPlot loads it and displays it on the viewport. Once loaded, a dialog appears that will allow you to control how the drawing is to be converted to G-Code.
The DXF Conversion Options Dialog
The NCPlot DXF converter is layer based. That is, the same machining settings are applied to all drawing entities on the same drawing layer. This also affects geometry chaining and sorting (explained later). This should be taken into account when assigning layers to various parts of your drawing.
The top half of the conversion dialog consists of two tabs labeled Loaded DXF Layers and Saved Layers. Each of these tabs contains a list of layers. The Loaded DXF Layers tab contains the list of layers that was loaded when the drawing file was opened. The Saved Layers tab contains a list of commonly used layers that you can store machining settings for. Anytime a drawing is loaded that contains a layer with the same name as one of the saved layers, the saved settings for that layer are used.
The lower half of the conversion dialog contains the machining settings for the currently selected layer. The settings are divided among three tabs labeled Layer Settings, Layer Header and Layer Footer. The Layer Settings tab contains the machining settings which includes Z depths, feedrates and an option to create multiple passes at incrementally lower Z depths. You can also add header and footer text to the G-Code output of each layer, these settings are found under the Layer Header and Layer Footer tabs.
Turn off unwanted layers
Since the drawing file may contain information that you don't necessarily want converted to G-Code, the Loaded DXF Layers list provides a means to turn off unneeded layers. Clicking the checkbox next the layer name will either turn the layer off or on, a check mark indicating that the layer is on. The viewport graphics will update at the same time, displaying only the layers that are turned on.
Arrange the layer list
In addition to allowing you to turn off layers, the layer list also provides a means of controlling the order that the drawing is converted to G-Code. This gives you a level of control over the order that your part will machined in. The layers in the layer list are converted to G-Code in the order that they appear in the list. To move a layer, select it from the list and use the up arrow or down arrow buttons (not the keyboard keys) to change its order in the list.
Set the machining parameters
When each layer is loaded they are initially assigned the default layer settings, which comes from the current machine configuration. The exception to this is when a loaded layer name matches one of the saved layer names. In this case the layer is assigned the saved layer settings.
The layer settings that appear on the lower half of the conversion dialog are for the currently selected layer. To select a layer, click it's name in the layer list. When a layer is selected, it's name is highlighted in the layer list and the layer settings will update to show the settings for the selected layer.
Because of the way that NCPlot creates the G-Code output, it is important to set the Z depth settings in a logical order:
Z Retract should be the highest (most positive) value, followed by:
Z Approach
Top of Material
Z Depth should be the lowest (most negative) value.
Changing one of the layer settings only affects the currently selected layer. To copy settings from one layer to another, first select the layer you want to copy then click the button Copy to Layer. This button turns green indicating that you should now click the name of layer you want to copy the settings to. To copy the same settings to all loaded layers, first select the layer you want to copy then click the button Copy to All Layers.
If your drawing has layers that you use often, you can copy them to the Saved Layer list for later use. To copy a layer to the saved layer list, first select it from the layer list the click the button Copy to Saved Layers. The layer name and all of it's settings are then copied to the saved layer list.
Chain the drawing
Since a DXF drawing file doesn't provide the geometry data in any particular order, we need a means of identifying which parts of the drawing are connected together to form a continuous path. This is done with the chaining tool. The chaining tool will scan each layer and find all the geometry that appears to be connected together. The Max Join Distance setting determines how close the endpoints of two entities must be in order to be considered joined. This lets NCPlot create more efficient G-Code without a lot of seemingly random cutting. Since the converter is layer based, the chaining tool will only join geometry that is on the same layer.
There are two chaining tools: Chain All, which will chain all the layers in the drawing and Chain Layer, which will chain only the currently selected layer.
An additional benefit to the chaining tool is that it allows reversing the direction of chained geometry. Since the direction of the geometry determines the cutting direction, this allows for control over the cutting direction. To see the current cutting direction, click any of the entities on the viewport that are part of the chain. When an entity is highlighted, a small square box is drawn around the end point of the entity, indicating its direction. To reverse the chain direction, click the Chain Reverse toolbar button. The chains belonging to any selected entities will be affected.
Note that chaining is required for layers that have the Increment Z Depth setting enabled.
Sort the drawing
The sorting tool provides an additional means of optimizing the G-Code output by attempting to arrange the drawing in a way that will result in less rapid motion between parts of the drawing. It does this by starting at one corner and finding the closest part of the drawing. The next closest part of the drawing is found next and so on. This tool works with chained geometry, so the chaining tool must be applied before this tool can be used.
Convert to G-Code
There are three conversion tools, giving different levels of control over the order that the drawing is converted in. The Convert All tool will convert the entire drawing to G-Code in the order that the layers are listed. The Convert Layer tool will convert only the selected layer to G-Code. The third tool, Convert Selected, will convert only the chains belonging to any selected entities on the viewport. This gives the most control over the conversion process, but only works with chained geometry.
A question or maybe a comment. I'm struggling with how to use the viewport/edit code. Specifically frequently in editing auto generated G-code for PCB's(2d), there are a lot of non-value added lines that I would like to remove. Shown in the picture in the yellow, and replaced with the one red segment. They are line sequential in the G-code. It would be great if a user could grapically select the segments and delete them easily without having to leave the viewport, or highlighted all the selected segments in the g-code so they could be deleted in one keystoke, and replaced with one line of code for the replacement segment. Since they are sequential, you know from the last selected line the ending coordinate.
Is this able to be done someway currently and I'm missing it?
Phil, Still too many interests, too many projects, and not enough time!!!!!!!!
Vist my websites - http://pminmo.com & http://millpcbs.com
Phil,
There isn't a way to do this the way you described, but I'll add this to the list. In the meantime, I think this will work:
On the viewport click the first line that you want to delete. The corresponding G-Code line is selected in the program. Right-click the program window and click "Select From".
Then, on the viewport click the last line that you want to delete. The corresponding G-Code line is selected in the program. Right-click the program window and click "Select To".
This should select the entire range of the program from the first line to the second line. Then just press "Delete" to erase it.
Hope this helps,
Scott
Thanks, I'll try it. You have the workings of a great piece of software! I notice an issue now and then, but in all it's an excellent tool!
Phil, Still too many interests, too many projects, and not enough time!!!!!!!!
Vist my websites - http://pminmo.com & http://millpcbs.com