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

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

?? glcanon.py

?? CNC 的開放碼,EMC2 V2.2.8版
?? PY
字號(hào):
#    This is a component of AXIS, a front-end for emc#    Copyright 2004, 2005, 2006 Jeff Epler <jepler@unpythonic.net>##    This program is free software; you can redistribute it and/or modify#    it under the terms of the GNU General Public License as published by#    the Free Software Foundation; either version 2 of the License, or#    (at your option) any later version.##    This program is distributed in the hope that it will be useful,#    but WITHOUT ANY WARRANTY; without even the implied warranty of#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the#    GNU General Public License for more details.##    You should have received a copy of the GNU General Public License#    along with this program; if not, write to the Free Software#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USAfrom rs274 import Translated, ArcsToSegmentsMixinfrom minigl import *def glColor3fv(args): glColor3f(*args)def glVertex3fv(args): glVertex3f(*args)from math import sin, cos, piclass GLCanon(Translated, ArcsToSegmentsMixin):    def __init__(self, widget, text=None):        self.traverse = []; self.traverse_append = self.traverse.append        self.feed = []; self.feed_append = self.feed.append        self.arcfeed = []; self.arcfeed_append = self.arcfeed.append        self.dwells = []; self.dwells_append = self.dwells.append        self.choice = None        self.feedrate = 1        self.lo = (0,0,0)        self.first_move = True        self.offset_x = self.offset_y = self.offset_z = 0        self.text = text        self.min_extents = [9e99,9e99,9e99]        self.max_extents = [-9e99,-9e99,-9e99]        self.min_extents_notool = [9e99,9e99,9e99]        self.max_extents_notool = [-9e99,-9e99,-9e99]        self.colors = widget.colors        self.in_arc = 0        self.xo = self.zo = 0        self.dwell_time = 0        self.suppress = 0    def message(self, message): pass    def next_line(self, st):        self.state = st        self.lineno = self.state.sequence_number    def calc_extents(self):        x = [f[1][0] for f in self.arcfeed] + [f[1][0] for f in self.feed] + [f[1][0] for f in self.traverse]        y = [f[1][1] for f in self.arcfeed] + [f[1][1] for f in self.feed] + [f[1][1] for f in self.traverse]        z = [f[1][2] for f in self.arcfeed] + [f[1][2] for f in self.feed] + [f[1][2] for f in self.traverse]        if self.arcfeed:            x.append(self.arcfeed[-1][2][0])            y.append(self.arcfeed[-1][2][1])            z.append(self.arcfeed[-1][2][2])        if self.feed:            x.append(self.feed[-1][2][0])            y.append(self.feed[-1][2][1])            z.append(self.feed[-1][2][2])        if self.traverse:            x.append(self.traverse[-1][2][0])            y.append(self.traverse[-1][2][1])            z.append(self.traverse[-1][2][2])        if x:            self.min_extents = [min(x), min(y), min(z)]            self.max_extents = [max(x), max(y), max(z)]    def calc_notool_extents(self):        x = [f[1][0]+f[4] for f in self.arcfeed] + [f[1][0]+f[4] for f in self.feed] + [f[1][0]+f[3] for f in self.traverse]        y = [f[1][1] for f in self.arcfeed] + [f[1][1] for f in self.feed] + [f[1][1] for f in self.traverse]        z = [f[1][2]+f[5] for f in self.arcfeed] + [f[1][2]+f[5] for f in self.feed] + [f[1][2]+f[4] for f in self.traverse]        if self.arcfeed:            x.append(self.arcfeed[-1][2][0] + self.arcfeed[-1][4])            y.append(self.arcfeed[-1][2][1])            z.append(self.arcfeed[-1][2][2] + self.arcfeed[-1][5])        if self.feed:            x.append(self.feed[-1][2][0] + self.feed[-1][4])            y.append(self.feed[-1][2][1])            z.append(self.feed[-1][2][2] + self.feed[-1][5])        if self.traverse:            x.append(self.traverse[-1][2][0] + self.traverse[-1][3])            y.append(self.traverse[-1][2][1])            z.append(self.traverse[-1][2][2] + self.traverse[-1][4])        if x:            self.min_extents_notool = [min(x), min(y), min(z)]            self.max_extents_notool = [max(x), max(y), max(z)]    def tool_offset(self, zo, xo):        x, y, z = self.lo        self.lo = (x - xo + self.xo, y, z - zo + self.zo)        self.xo = xo        self.zo = zo    def set_spindle_rate(self, arg): pass    def set_feed_rate(self, arg): self.feedrate = arg / 60.    def comment(self, arg): pass    def select_plane(self, arg): pass    def get_tool(self, tool):        return tool, .75, .0625    # XXX handle abc, uvw offsets?    def set_origin_offsets(self, offset_x, offset_y, offset_z, offset_a, offset_b, offset_c, offset_u, offset_v, offset_w):        self.offset_x = offset_x        self.offset_y = offset_y        self.offset_z = offset_z    def straight_traverse(self, x,y,z, a,b,c, u, v, w):        if self.suppress: return        l = (x + self.offset_x,y + self.offset_y,z + self.offset_z)        if not self.first_move:                self.traverse_append((self.lineno, self.lo, l, self.xo, self.zo))        self.first_move = False        self.lo = l    def rigid_tap(self, x, y, z):        if self.suppress: return        l = (x + self.offset_x,y + self.offset_y,z + self.offset_z)        self.feed_append((self.lineno, self.lo, l, self.feedrate, self.xo, self.zo))        self.dwells_append((self.lineno, self.colors['dwell'], x,y,z, 0))        self.feed_append((self.lineno, l, self.lo, self.feedrate, self.xo, self.zo))    def arc_feed(self, *args):        if self.suppress: return        self.in_arc = True        try:            ArcsToSegmentsMixin.arc_feed(self, *args)        finally:            self.in_arc = False    def straight_arcsegment(self, x,y,z, a,b,c, u, v, w):        self.first_move = False        l = (x,y,z)        self.arcfeed_append((self.lineno, self.lo, l, self.feedrate, self.xo, self.zo))        self.lo = l    def straight_feed(self, x,y,z, a,b,c, u, v, w):        if self.suppress: return        self.first_move = False        l = (x + self.offset_x,y + self.offset_y,z + self.offset_z)        self.feed_append((self.lineno, self.lo, l, self.feedrate, self.xo, self.zo))        self.lo = l    straight_probe = straight_feed    def user_defined_function(self, i, p, q):        if self.suppress: return        color = self.colors['m1xx']        self.dwells_append((self.lineno, color, self.lo[0], self.lo[1], self.lo[2], self.state.plane/10-17))            def dwell(self, arg):        if self.suppress: return        self.dwell_time += arg        color = self.colors['dwell']        self.dwells_append((self.lineno, color, self.lo[0], self.lo[1], self.lo[2], self.state.plane/10-17))    def draw_lines(self, lines, for_selection):        if for_selection:            last_lineno = None            glBegin(GL_LINES)            for lineno, l1, l2 in lines:                if lineno != last_lineno:                    glEnd()                    glLoadName(lineno)                    last_lineno = lineno                    glBegin(GL_LINES)                glVertex3fv(l1)                glVertex3fv(l2)            glEnd()        else:            ol = None            glBegin(GL_LINE_STRIP)            for lineno, l1, l2 in lines:                if l1 != ol:                    glEnd()                    glBegin(GL_LINE_STRIP)                    glVertex3fv(l1)                glVertex3fv(l2)                ol = l2            glEnd()    def highlight(self, lineno):        glLineWidth(3)        c = self.colors['selected']        glColor3f(*c)        glBegin(GL_LINES)        coords = []        for line in self.traverse:            if line[0] != lineno: continue            glVertex3fv(line[1])            glVertex3fv(line[2])            coords.append(line[1])            coords.append(line[2])        for line in self.arcfeed:            if line[0] != lineno: continue            glVertex3fv(line[1])            glVertex3fv(line[2])            coords.append(line[1])            coords.append(line[2])        for line in self.feed:            if line[0] != lineno: continue            glVertex3fv(line[1])            glVertex3fv(line[2])            coords.append(line[1])            coords.append(line[2])        for line in self.dwells:            if line[0] != lineno: continue            self.draw_dwells([(line[0], c) + line[2:]], 2)            coords.append(line[2:5])        glEnd()        glLineWidth(1)        if coords:            x = reduce(lambda x,y:x+y, [c[0] for c in coords]) / len(coords)            y = reduce(lambda x,y:x+y, [c[1] for c in coords]) / len(coords)            z = reduce(lambda x,y:x+y, [c[2] for c in coords]) / len(coords)        else:            x = (self.min_extents[0] + self.max_extents[0])/2            y = (self.min_extents[1] + self.max_extents[1])/2            z = (self.min_extents[2] + self.max_extents[2])/2        return x, y, z    def draw(self, for_selection=0):        glEnable(GL_LINE_STIPPLE)        glColor3f(*self.colors['traverse'])        self.draw_lines(self.traverse, for_selection)        glDisable(GL_LINE_STIPPLE)        glColor3f(*self.colors['straight_feed'])        self.draw_lines(self.feed, for_selection)        glColor3f(*self.colors['arc_feed'])        self.draw_lines(self.arcfeed, for_selection)        glLineWidth(2)        self.draw_dwells(self.dwells, for_selection)        glLineWidth(1)    def draw_dwells(self, dwells, for_selection):        delta = .015625        if for_selection == 0:            glBegin(GL_LINES)        for l,c,x,y,z,axis in dwells:            glColor3fv(c)            if for_selection == 1:                glLoadName(l)                glBegin(GL_LINES)            if axis == 0:                glVertex3f(x-delta,y-delta,z)                glVertex3f(x+delta,y+delta,z)                glVertex3f(x-delta,y+delta,z)                glVertex3f(x+delta,y-delta,z)                glVertex3f(x+delta,y+delta,z)                glVertex3f(x-delta,y-delta,z)                glVertex3f(x+delta,y-delta,z)                glVertex3f(x-delta,y+delta,z)            elif axis == 1:                glVertex3f(x-delta,y,z-delta)                glVertex3f(x+delta,y,z+delta)                glVertex3f(x-delta,y,z+delta)                glVertex3f(x+delta,y,z-delta)                glVertex3f(x+delta,y,z+delta)                glVertex3f(x-delta,y,z-delta)                glVertex3f(x+delta,y,z-delta)                glVertex3f(x-delta,y,z+delta)            else:                glVertex3f(x,y-delta,z-delta)                glVertex3f(x,y+delta,z+delta)                glVertex3f(x,y+delta,z-delta)                glVertex3f(x,y-delta,z+delta)                glVertex3f(x,y+delta,z+delta)                glVertex3f(x,y-delta,z-delta)                glVertex3f(x,y-delta,z+delta)                glVertex3f(x,y+delta,z-delta)            if for_selection == 1:                glEnd()        if for_selection == 0:            glEnd()# vim:ts=8:sts=4:et:

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二| 中文字幕第一区第二区| 国产精品69毛片高清亚洲| 一区二区视频免费在线观看| 欧美一卡2卡3卡4卡| caoporn国产精品| 麻豆精品久久久| 一区二区三区四区国产精品| 久久亚洲精精品中文字幕早川悠里 | 色综合婷婷久久| 麻豆精品国产传媒mv男同| zzijzzij亚洲日本少妇熟睡| 日韩成人精品在线| 亚洲男同1069视频| 日本一区二区三区视频视频| 4438x成人网最大色成网站| 99国产精品久久久久久久久久久| 久久精品久久99精品久久| 亚洲成人在线免费| 亚洲精品成人在线| 中文字幕一区二区三区四区| 精品国产三级a在线观看| 欧美日韩国产天堂| 在线亚洲精品福利网址导航| 成人不卡免费av| 国产福利不卡视频| 精品一区二区三区日韩| 五月婷婷激情综合网| 亚洲愉拍自拍另类高清精品| 亚洲丝袜精品丝袜在线| 国产精品全国免费观看高清 | 777亚洲妇女| 欧美日韩在线直播| 欧美亚洲国产一区在线观看网站| 国产69精品一区二区亚洲孕妇| 精品一区二区在线播放| 蜜臀va亚洲va欧美va天堂| 日韩av电影免费观看高清完整版| 亚洲不卡av一区二区三区| 一区二区三区在线观看欧美| 亚洲免费色视频| 亚洲色图丝袜美腿| 亚洲视频一二区| 亚洲乱码精品一二三四区日韩在线| 中文字幕欧美区| 国产精品成人网| 最近中文字幕一区二区三区| 国产精品卡一卡二| 亚洲男人天堂av| 亚洲一区二区av在线| 午夜精品一区二区三区电影天堂 | 欧美成人乱码一区二区三区| 日韩欧美国产电影| 久久亚洲一级片| 国产精品久久网站| 亚洲精品午夜久久久| 一区二区三区精品| 首页国产欧美日韩丝袜| 麻豆一区二区三| 国产麻豆精品theporn| 国产毛片一区二区| av一本久道久久综合久久鬼色| 91麻豆国产精品久久| 欧美色视频在线观看| 亚洲精品国产精品乱码不99 | 午夜电影网亚洲视频| 欧美a一区二区| 国产精品69毛片高清亚洲| 白白色亚洲国产精品| 欧美日韩免费一区二区三区| 欧美一级片在线| 欧美激情一区二区三区全黄 | 午夜精品免费在线| 国产精品一区三区| 色婷婷久久久久swag精品| 欧美性色黄大片| 久久综合精品国产一区二区三区| 国产精品女同一区二区三区| 一级中文字幕一区二区| 免费xxxx性欧美18vr| 99久久久免费精品国产一区二区| 欧美日本乱大交xxxxx| 2023国产精品| 亚洲午夜久久久| 国产在线国偷精品免费看| 91黄视频在线观看| 2021久久国产精品不只是精品| 亚洲视频在线一区| 美女尤物国产一区| 色婷婷精品大在线视频| 精品久久久久久久久久久院品网| 亚洲天堂福利av| 国内精品自线一区二区三区视频| 91色porny蝌蚪| 久久久国产精华| 五月婷婷综合激情| 91一区二区在线| 久久久久久久性| 五月婷婷久久丁香| 色综合久久天天| 国产日韩影视精品| 日韩av电影免费观看高清完整版 | 亚洲午夜三级在线| 大尺度一区二区| 精品日韩一区二区三区免费视频| 亚洲精品日韩一| 成人性生交大片免费看中文| 日韩免费观看高清完整版在线观看 | 久久综合99re88久久爱| 性做久久久久久免费观看| 91丨九色丨国产丨porny| 久久久影视传媒| 久色婷婷小香蕉久久| 91黄色激情网站| 中文字幕一区二区三| 国产自产高清不卡| 日韩欧美在线不卡| 日韩福利视频网| 欧美三级午夜理伦三级中视频| 中文字幕在线不卡一区二区三区| 久久91精品国产91久久小草| 欧美日本国产一区| 亚洲最大成人网4388xx| 99精品欧美一区二区三区综合在线| 久久久久久久久久电影| 免费成人小视频| 7777精品伊人久久久大香线蕉完整版 | 亚洲成av人在线观看| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 久久国产尿小便嘘嘘| 日本高清视频一区二区| 国产精品久久国产精麻豆99网站| 国产精品99久久久久久似苏梦涵| 日韩欧美国产一区在线观看| 亚洲v日本v欧美v久久精品| 91国产精品成人| 亚洲摸摸操操av| 成人v精品蜜桃久久一区| 国产亚洲精品免费| 国产福利电影一区二区三区| 国产日韩欧美精品在线| 国产美女精品人人做人人爽| 国产亚洲午夜高清国产拍精品 | 成人短视频下载| 综合网在线视频| 色综合天天在线| 一区二区三区日韩精品视频| 欧美国产精品一区| 国产精品一卡二卡| 国产欧美日韩综合| 成人黄色免费短视频| 中文字幕一区在线观看视频| 91小视频免费观看| 一区二区三区毛片| 在线观看亚洲成人| 亚洲综合男人的天堂| 欧美撒尿777hd撒尿| 日韩中文字幕麻豆| 久久亚洲一级片| 99久久精品国产一区二区三区| 亚洲伊人伊色伊影伊综合网| 欧美肥妇free| 国产福利91精品一区| 亚洲人成小说网站色在线 | 国产精品家庭影院| 在线一区二区观看| 免费人成黄页网站在线一区二区| 久久尤物电影视频在线观看| 97精品久久久久中文字幕| 偷窥国产亚洲免费视频| 久久九九全国免费| 色综合天天在线| 久久精品99久久久| 综合网在线视频| 日韩三级免费观看| aaa欧美色吧激情视频| 日韩电影在线免费看| 国产亚洲精品久| 欧美久久一二区| 成人动漫av在线| 日本不卡在线视频| 自拍偷拍国产精品| 日韩欧美一区二区三区在线| 成人国产精品免费观看视频| 日韩二区在线观看| 中文字幕久久午夜不卡| 欧美日韩精品专区| 国产69精品久久777的优势| 亚洲午夜视频在线观看| 国产欧美日韩在线视频| 在线国产电影不卡| 日韩久久免费av| 色综合久久中文字幕综合网| 国内成人精品2018免费看| 一区二区三区四区在线| 久久久久久日产精品| 在线电影国产精品| 91麻豆自制传媒国产之光| 国产一区二区三区四区五区入口 | 在线观看欧美日本|