亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rs274ngc_pre.cc

?? 數(shù)控系統(tǒng)中的解釋器源代碼
?? CC
?? 第 1 頁 / 共 5 頁
字號(hào):
/* rs274ngc.cc      This rs274ngc.cc file contains the source code for (1) the kernel ofseveral rs274ngc interpreters and (2) two of the four sets of interfacefunctions declared in canon.hh:1. interface functions to call to tell the interpreter what to do.   These all return a status value.2. interface functions to call to get information from the interpreter.Kernel functions call each other. A few kernel functions are called byinterface functions.Interface function names all begin with "rs274ngc_".Error handling is by returning a status value of either a non-errorcode (RS274NGC_OK, RS274NGC_EXIT, etc.) or some specific error codefrom each function where there is a possibility of error.  If an erroroccurs, processing is always stopped, and control is passed back upthrough the function call hierarchy to an interface function; theerror code is also passed back up. The stack of functions called isalso recorded. The external program calling an interface function maythen handle the error further as it sees fit.Since returned values are usually used as just described to handle thepossibility of errors, an alternative method of passing calculatedvalues is required. In general, if function A needs a value forvariable V calculated by function B, this is handled by passing apointer to V from A to B, and B calculates and sets V.There are a lot of functions named read_XXXX. All such functions readcharacters from a string using a counter. They all reset the counterto point at the character in the string following the last one used bythe function. The counter is passed around from function to functionby using pointers to it. The first character read by each of thesefunctions is expected to be a member of some set of characters (oftena specific character), and each function checks the first character.This version of the interpreter not saving input lines. A list of alllines will be needed in future versions to implement loops, andprobably for other purposes.This version does not use any additional memory as it runs. Nomemory is allocated by the source code.This version does not suppress superfluous commands, such as a commandto start the spindle when the spindle is already turning, or a commandto turn on flood coolant, when flood coolant is already on.  When theinterpreter is being used for direct control of the machining center,suppressing superfluous commands might confuse the user and could bedangerous, but when it is used to translate from one file to another,suppression can produce more concise output. Future versions mightinclude an option for suppressing superfluous commands.This file has been arranged typographically so that it may be usedfor compiling fifteen different executables. The file may be compiledas is for a six-axis interpreter. The file may be pre-preprocessedinto "pre.cc" by "prepre" (a lex-based pre-processor). Allfifteen executables may be compiled from the pre.cc file. The specialtypography items are:1. Any line with the comment /^AA^/, /^BB^/, or /^CC^/ at the end(where ^ is replaced by *).2. Calls to the canonical functions STRAIGHT_FEED, STRAIGHT_TRAVERSE,STRAIGHT_PROBE, and ARC_FEED. These are always set on two lineswith the rotary axes on the second line:3. Calls to the canonical function SET_ORIGIN_OFFSETS.  These arealways set on six lines, with one argument per line.4. Anywhere else AA, BB, or CC appears followed by an underscore.The pre-preprocessor looks for these items of typography and, in the outputfile (pre.cc), resets them appropriately marked with #ifdef and #endif.The rest of the text is put into the output file unchanged.The compiler flags are:1. -DAA to have an A-axis2. -DBB to have a B-axis3. -DCC to have a C-axis4. -DALL_AXES to have a 3-, 4-, or 5-axis interpreter use all threerotary axes in canonical function calls. In those calls, the valuefor a rotary axis not compiled into an interpreter is always zero.5. -DAXIS_ERROR to have a 3-, 4-, or 5-axis interpreter signal an errorif the input RS274 code has a value for an axis not compiled in. Ifthis flag is not used, the interpreter will read and ignore values foraxes not compiled in.*//* comment added by wpin on 2003-04-14modified G02,G03,for helix L number	G02(03) X... Y... Z... L...:L number is a integer,1 means 0~360,2 means 360~720,so on.added G code for G11,g12,g13,G14,g25	G11: X...  Y... Z...: coordinate of each axis will be multiplied by the x(y,z) number	G12: canel all axis mirror	G25 jumping_line_number: none condition jump	G25 loop_begin_line.loop_end_line: loop from beging_line to end_line once.		also the loop_begin_line will be execute	G25 loop_begin_line.loop_end_line.loop_times:loop from beging_line to end_line		loop_time timesstatic int fSyncLine(FILE * fileFp , int syncLine)static int read_g25(char * line,int * counter, block_pointer block, SysParmeter * parameters)static int pre_compile(char * line)fSyncLine : while on file explantion mode,and when wanting jump to a labeled line,	these function will rewind the file pointer and then seek the pointer at the	exact line which line sequence number is syncLine.read_g25 : inprete the N25 code,for none condition jumping and loopingpre_complie : called by rs274ngc_read. explain G11,G12,G13,G14,G25 codes .	otherwise,G11--G14 was explained in convert_g function and work in read_* function*//****************************************************************************///#define LATHE#include <stdio.h>#include <stdlib.h>#include <math.h>#include <string.h>#include <ctype.h>#include "rs274ngc.hh"#include "rs274ngc_return.hh"#include "rs274ngc_errors.cc"#include "rcs.hh"               // RCS_LINKED_LIST#include "interpl.hh"           // NML_INTERP_LIST, interp_list#ifdef LATHE_FLAG#include "profdata.hh"#endif#include "gmcode.hh"#include "message.hh"#include "Compensation.hh"//#define DEBUG_EMC#ifdef DEBUG_EMC#include <stdarg.h>#include <sys/types.h>#include <sys/time.h>#include <time.h>#include <unistd.h>#define LOG(level, fmt, args...) \       doLog("%02d(%d):%s:%d -- " fmt "\n", \       level, getpid(), __FILE__, __LINE__ , ## args)#define logDebug(fmt, args...) LOG(0, fmt, ## args)static FILE *log_file;#define LOG_FILE "log/cnc_log"void doLog(char *fmt, ...){    struct timeval tv;    struct tm *tm;    va_list ap;    va_start(ap, fmt);    if(log_file == NULL)      {	 log_file = fopen(LOG_FILE, "a");      }    if(log_file == NULL)      {         fprintf(stderr, "(%d)Unable to open log file:%s\n",                  getpid(), LOG_FILE);         exit(1);      }    gettimeofday(&tv, NULL);    tm = localtime(&tv.tv_sec);    fprintf(log_file, "%04d%02d%02d-%02d:%02d:%02d.%03d ",	    tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday,	    tm->tm_hour, tm->tm_min, tm->tm_sec,	    tv.tv_usec/1000);    vfprintf(log_file, fmt, ap);    fflush(log_file);    va_end(ap);}#else#define logDebug(fmt, args...) if(0)#endif#define TEMP_QUEUE_LEN 	20static inline int  IS_QUEUE_FULL() 	{	if ((temp_list.len()) >= TEMP_QUEUE_LEN) 		{		return  NCE_COMPENSATION_QUEUE_FULL;				}	//printf ("add queue\n");	return RS274NGC_OK;}	   			/*The _setup model includes a stack array for the names of functioncalls. This stack is written into if an error occurs. Just before eachfunction returns an error code, it writes its name in the nextavailable string, initializes the following string, and incrementsthe array index. The following four macros do the work.The size of the stack array is 50. An error in the middle of a verycomplex expression would cause the ERP and CHP macros to write past thebounds of the array if a check were not provided. No real programwould contain such a thing, but the check is included to make themacros totally crash-proof. If the function call stack is deeper than49, the top of the stack will be missing.*/static int fSyncLine(FILE * fileFp , int syncLine);static int GetFilePosFormNumber(FILE * fileFp , int syncLine,FilePosition fpos);static int read_g25(char * line,int * counter, block_pointer block, SysParmeter * parameters) ;static int pre_compile(char * line);static int interp_reset();static int init_system_parameters(SysParmeter *pars);static int get_system_parameters(int index,double *value);static int write_system_parameters(int index,double value);#ifdef LATHE_FLAGstatic void cncLatheCompensation (setup_pointer settings);int   CNC_MainProgOfSpeCylce(setup_pointer settings,Special_Cycle        *pSpeCycle);int  read_sequence_number(setup_pointer settings, Special_Cycle        *pSpeCycle);static int convert_profile_arc(int move, block_pointer block, setup_pointer settings);static int convert_paralle_cycle(int motion, block_pointer block,  setup_pointer settings);static int InitSpeCycleArg(int motion, block_pointer block,  setup_pointer settings);static int G70init(int motion, block_pointer block,  setup_pointer settings);static int convert_profile(int motion, block_pointer block,  setup_pointer settings);static int execute_Parallel_axis(int motion, block_pointer block,  setup_pointer settings);static int execute_Parallel_prof(block_pointer block,  setup_pointer settings); static int convert_profile_straight(int move, block_pointer block,  setup_pointer settings);static int pre_block(block_pointer block, setup_pointer settings);static int BuildArgOfProfile(Special_Cycle *pSpeCycle,int move);#endif/*Function prototypes for all static functions*/static int arc_data_comp_ijk(int move, int side, double tool_radius,  double current_x, double current_y, double end_x, double end_y,  double i_number, double j_number, double * center_x, double * center_y,  int * turn, double tolerance);static int arc_data_comp_r(int move, int side, double tool_radius,  double current_x, double current_y, double end_x, double end_y,  double big_radius, double * center_x, double * center_y, int * turn);static int arc_data_ijk(int move, double current_x, double current_y,  double end_x, double end_y, double i_number, double j_number,  double * center_x, double * center_y, int * turn, double tolerance);static int arc_data_r(int move, double current_x, double current_y,  double end_x, double end_y, double radius, double * center_x,  double * center_y, int * turn);static int check_g_codes(block_pointer block, setup_pointer settings);static int check_items(block_pointer block, setup_pointer settings);static int check_m_codes(block_pointer block);static int check_other_codes(block_pointer block);static int close_and_downcase(block_pointer block, char * line);static int convert_arc(int move, block_pointer block, setup_pointer settings);static int convert_arc2(int move, block_pointer block,  setup_pointer settings, double * current1, double * current2,  double * current3, double end1, double end2,  double end3#ifdef AA, double AA_end#endif#ifdef BB, double BB_end#endif#ifdef CC, double CC_end#endif, double offset1,  double offset2);static int convert_arc_comp1(int move, block_pointer block,  setup_pointer settings, double end_x, double end_y,  double end_z#ifdef AA, double AA_end#endif#ifdef BB, double BB_end#endif#ifdef CC, double CC_end#endif);static int convert_arc_comp2(int move, block_pointer block,  setup_pointer settings, double end_x, double end_y,  double end_z#ifdef AA, double AA_end#endif#ifdef BB, double BB_end#endif#ifdef CC, double CC_end#endif);static int convert_axis_offsets(int g_code, block_pointer block,  setup_pointer settings);static int convert_comment(char * comment);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人精品亚洲午夜麻豆| 日韩精品一区二区三区四区视频| 日本不卡的三区四区五区| 亚洲精品第1页| 成人欧美一区二区三区黑人麻豆| 国产免费观看久久| 青草av.久久免费一区| 欧美mv和日韩mv国产网站| 亚洲精品成人天堂一二三| 日韩欧美一二区| 日韩一级成人av| 麻豆成人在线观看| 欧美在线免费观看视频| 成人动漫中文字幕| 国产一区二区不卡| 久久综合久色欧美综合狠狠| 国产精品你懂的| 91精品国产免费| 亚洲精品成人天堂一二三| 久久久av毛片精品| 中文字幕在线观看一区| 国产精品无码永久免费888| 欧美亚洲国产一区二区三区| 国产精品影视网| 国产一区二区三区精品视频| 中文av一区二区| 青青草原综合久久大伊人精品| 国产日产欧美一区| 日韩av一区二区三区四区| 精品一区二区三区在线视频| 一区二区成人在线视频| 欧美国产精品v| 一区二区三区在线播| 亚洲网友自拍偷拍| 蜜桃视频一区二区三区| 丁香亚洲综合激情啪啪综合| 欧美自拍偷拍一区| 久久先锋资源网| 一区二区三区美女| 激情另类小说区图片区视频区| 99精品视频在线观看免费| 日韩午夜av电影| 亚洲综合色在线| 成人妖精视频yjsp地址| 日韩一区二区免费视频| 一区二区三区免费在线观看| 国产精品一区二区黑丝| 欧美久久高跟鞋激| 日本福利一区二区| 精品欧美一区二区在线观看| 欧美日韩一区二区三区视频| 亚洲精品在线三区| 狠狠色伊人亚洲综合成人| 亚洲欧美一区二区在线观看| 日韩一区二区中文字幕| 精品一区二区在线视频| 成人av资源站| 2019国产精品| 国产成人综合网| 欧美激情在线一区二区| 国产精品美女久久久久久久| 麻豆国产精品一区二区三区| 亚洲二区在线视频| 亚洲成人av一区| av毛片久久久久**hd| 91麻豆精品国产91久久久久久| 国产成人在线视频网址| 另类小说图片综合网| 国产一区二区在线免费观看| 成人av电影在线网| 久久精品一区二区三区不卡| 欧美一区二区三区视频在线| 日韩精品一区二区三区在线| 亚洲成人在线观看视频| 在线一区二区视频| 狠狠色综合日日| 亚洲综合视频在线观看| 成人爽a毛片一区二区免费| 午夜免费欧美电影| 国产最新精品精品你懂的| 日韩中文字幕区一区有砖一区| 国产91丝袜在线18| 奇米综合一区二区三区精品视频| 亚洲视频一区二区在线| 色综合天天综合在线视频| 久久狠狠亚洲综合| 成人国产精品免费观看动漫| 欧美电影在线免费观看| 人妖欧美一区二区| 99精品视频在线免费观看| 久久精品视频在线免费观看| 欧美大片日本大片免费观看| 国产成人免费在线视频| 欧美一区二区三区视频免费| 亚洲欧洲日韩综合一区二区| 国产不卡一区视频| 91久久国产最好的精华液| 91福利视频在线| 狠狠网亚洲精品| 中文字幕亚洲成人| 欧美成人性福生活免费看| 成人黄色在线看| 免费人成精品欧美精品 | 精品久久久久久久人人人人传媒| 亚洲成人激情综合网| 国产女同性恋一区二区| 久久久精品国产免大香伊| 欧美片网站yy| 成人av影视在线观看| 国产欧美精品在线观看| 91福利区一区二区三区| 中文字幕在线不卡视频| ㊣最新国产の精品bt伙计久久| 成人激情视频网站| 国产精品免费丝袜| 日韩毛片高清在线播放| 成人av资源在线| 丁香桃色午夜亚洲一区二区三区| 国产乱码精品一区二区三| 92精品国产成人观看免费| 91精品欧美久久久久久动漫| 色哦色哦哦色天天综合| 欧美精品一区二区三| 国产精品自拍一区| 久久精品久久综合| 成人夜色视频网站在线观看| 成人午夜视频在线| 国产综合久久久久影院| 欧美日韩日日摸| 午夜亚洲国产au精品一区二区| 日韩黄色免费网站| 亚洲女子a中天字幕| 日韩欧美中文字幕精品| 久久久www成人免费毛片麻豆 | 日本成人在线看| 国产午夜精品一区二区| 国产精品乱码久久久久久| 99久久精品国产观看| 播五月开心婷婷综合| 免费亚洲电影在线| 成人黄页在线观看| 欧美人妖巨大在线| 亚洲大片免费看| 91在线国产福利| 中文字幕免费一区| 天天综合天天综合色| 日本一区二区在线不卡| 久久精品一二三| 粉嫩一区二区三区在线看| 国产一区二区导航在线播放| 91精品1区2区| 婷婷开心激情综合| 国产在线视频一区二区三区| 国产精品色眯眯| 亚洲自拍偷拍九九九| 综合婷婷亚洲小说| 国产日韩v精品一区二区| 在线观看一区二区视频| 日韩高清一区二区| 欧美三级在线视频| 亚洲欧美欧美一区二区三区| 中文字幕欧美日韩一区| 麻豆91在线播放| 1区2区3区国产精品| 国产精品一区二区不卡| 亚洲免费观看高清完整| 91国偷自产一区二区开放时间| 亚洲九九爱视频| 精品久久久久久久人人人人传媒| 成人h动漫精品一区二| 黄色资源网久久资源365| 日本美女一区二区| 成年人网站91| 久久精品国产99国产精品| 欧美亚洲动漫制服丝袜| 激情六月婷婷久久| 在线观看日韩国产| 国产91精品一区二区麻豆网站| 久久久久高清精品| av爱爱亚洲一区| 成人永久aaa| 久久久一区二区三区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产精品自拍一区| 亚洲人123区| 成人av网站在线观看免费| 中文字幕一区二区三| 国产精品久久久久影视| 国产精品综合二区| 国产精品久久久久久久第一福利| 色综合久久久久久久久久久| 成人丝袜视频网| 日韩高清在线一区| 成人一区二区三区视频| 亚洲精品欧美激情| 日本乱码高清不卡字幕| 欧美视频在线不卡| 91亚洲精品久久久蜜桃网站| 国产999精品久久久久久绿帽| 欧美综合在线视频|