I'd like to weigh in with the following test: Running LCNC 2.5, copy the sim/axis config to your local configs, then change the max_acceleration for axis 0, 1, and 2 to 1.0 (previously 100):
MAX_ACCELERATION = 1.0 Then run both of the following programs: % (1 inch square) G90 G54 G20 G64 P.125 G0 X0 Y0 Z0 G1 Y1 F50 X1 Y0 X0 m30 % (1" square with rounded corners) G90 G54 G20 G64 G0 X0 Y.25 Z0 G1 Y.75 F50 G2 X.25 Y1 I.25 G1 X.75 G2 X1 Y.75 J-.25 G1 Y.25 G2 X.75 Y0 I-.25 G1 X.25 G2 X0 Y.25 J.25 M30 The tool path on both programs is nearly identical because the square with hard corners is run at G64 P.125. http://static.inky.ws/image/3839/Screenshot-rounded_square.ngc%20-%20AXIS%202.5.0%20on%20LinuxCNC-HAL-SIM-AXIS.png If you watch the velocity display you will see that the program with only line-line transitions (1" square) reaches 35 inches/min - while the program with line-arc or arc-line transitions (1" rounded square) runs at only 26 inches/min. The arcs are certainly tangent here, and no one can point blame at the CAM software (although you're welcome to point blame at my poor hand coding style). Daniel Rogge Axis.ini file contents are: # EMC controller parameters for a simulated machine. # General note: Comments can either be preceded with a # or ; - either is # acceptable, although # is in keeping with most linux config files. # General section ------------------------------------------------------------- [EMC] # Version of this INI file VERSION = $Revision$ # Name of machine, for use with display, etc. MACHINE = LinuxCNC-HAL-SIM-AXIS # Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others #DEBUG = 0x7FFFFFFF DEBUG = 0 # Sections for display options ------------------------------------------------ [DISPLAY] # Name of display program, e.g., xemc DISPLAY = axis # Cycle time, in seconds, that display will sleep between polls CYCLE_TIME = 0.100 # Path to help file HELP_FILE = doc/help.txt # Initial display setting for position, RELATIVE or MACHINE POSITION_OFFSET = RELATIVE # Initial display setting for position, COMMANDED or ACTUAL POSITION_FEEDBACK = ACTUAL # Highest value that will be allowed for feed override, 1.0 = 100% MAX_FEED_OVERRIDE = 1.2 MAX_SPINDLE_OVERRIDE = 1.0 MAX_LINEAR_VELOCITY = 1.2 DEFAULT_LINEAR_VELOCITY = .25 # Prefix to be used PROGRAM_PREFIX = /home/rogge/linuxcnc/nc_files # Introductory graphic INTRO_GRAPHIC = linuxcnc.gif INTRO_TIME = 5 EDITOR = gedit TOOL_EDITOR = tooledit INCREMENTS = 1 in, 0.1 in, 10 mil, 1 mil, 1mm, .1mm, 1/8000 in [FILTER] PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image PROGRAM_EXTENSION = .py Python Script png = image-to-gcode gif = image-to-gcode jpg = image-to-gcode py = python # Task controller section ----------------------------------------------------- [TASK] # Name of task controller program, e.g., milltask TASK = milltask # Cycle time, in seconds, that task controller will sleep between polls CYCLE_TIME = 0.001 # Part program interpreter section -------------------------------------------- [RS274NGC] # File containing interpreter variables PARAMETER_FILE = sim.var # Motion control section ------------------------------------------------------ [EMCMOT] EMCMOT = motmod # Timeout for comm to emcmot, in seconds COMM_TIMEOUT = 1.0 # Interval between tries to emcmot, in seconds COMM_WAIT = 0.010 # BASE_PERIOD is unused in this configuration but specified in core_sim.hal BASE_PERIOD = 0 # Servo task period, in nano-seconds SERVO_PERIOD = 1000000 # Hardware Abstraction Layer section -------------------------------------------------- [HAL] # The run script first uses halcmd to execute any HALFILE # files, and then to execute any individual HALCMD commands. # # list of hal config files to run through halcmd # files are executed in the order in which they appear HALFILE = core_sim.hal HALFILE = axis_manualtoolchange.hal HALFILE = simulated_home.hal # list of halcmd commands to execute # commands are executed in the order in which they appear #HALCMD = save neta # Single file that is executed after the GUI has started. Only supported by # AXIS at this time (only AXIS creates a HAL component of its own) #POSTGUI_HALFILE = test_postgui.hal HALUI = halui # Trajectory planner section -------------------------------------------------- [TRAJ] AXES = 3 COORDINATES = X Y Z HOME = 0 0 0 LINEAR_UNITS = inch ANGULAR_UNITS = degree CYCLE_TIME = 0.010 DEFAULT_VELOCITY = 1.2 POSITION_FILE = position.txt MAX_LINEAR_VELOCITY = 1.2 # Axes sections --------------------------------------------------------------- # First axis [AXIS_0] TYPE = LINEAR HOME = 0.000 MAX_VELOCITY = 4 MAX_ACCELERATION = 1.0 BACKLASH = 0.000 INPUT_SCALE = 4000 OUTPUT_SCALE = 1.000 MIN_LIMIT = -40.0 MAX_LIMIT = 40.0 FERROR = 0.050 MIN_FERROR = 0.010 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 20.0 HOME_LATCH_VEL = 20.0 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = NO HOME_SEQUENCE = 1 HOME_IS_SHARED = 1 # Second axis [AXIS_1] TYPE = LINEAR HOME = 0.000 MAX_VELOCITY = 4 MAX_ACCELERATION = 1.0 BACKLASH = 0.000 INPUT_SCALE = 4000 OUTPUT_SCALE = 1.000 MIN_LIMIT = -40.0 MAX_LIMIT = 40.0 FERROR = 0.050 MIN_FERROR = 0.010 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 20.0 HOME_LATCH_VEL = 20.0 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = NO HOME_SEQUENCE = 1 # Third axis [AXIS_2] TYPE = LINEAR HOME = 0.0 MAX_VELOCITY = 4 MAX_ACCELERATION = 1.0 BACKLASH = 0.000 INPUT_SCALE = 4000 OUTPUT_SCALE = 1.000 MIN_LIMIT = -8.0 MAX_LIMIT = 0.0001 FERROR = 0.050 MIN_FERROR = 0.010 HOME_OFFSET = 1.0 HOME_SEARCH_VEL = 20.0 HOME_LATCH_VEL = 20.0 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = NO HOME_SEQUENCE = 0 HOME_IS_SHARED = 1 # section for main IO controller parameters ----------------------------------- [EMCIO] # Name of IO controller program, e.g., io EMCIO = io # cycle time, in seconds CYCLE_TIME = 0.100 # tool table file TOOL_TABLE = sim.tbl TOOL_CHANGE_POSITION = 0 0 0 TOOL_CHANGE_QUILL_UP = 1 ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users