色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

STEP-NC通用后置處理器:基于XSLT的P21到P28轉(zhuǎn)換與G代碼生成

STEP-NC通用后置處理器:基于XSLT的P21到P28轉(zhuǎn)換與G代碼生成 簡(jiǎn)介在數(shù)控加工與智能制造領(lǐng)域不同設(shè)備間的數(shù)據(jù)交換格式差異是系統(tǒng)集成的核心痛點(diǎn)。傳統(tǒng)G代碼因廠商擴(kuò)展不兼容而難以通用后置處理器作為連接CAM與機(jī)床的橋梁其設(shè)計(jì)直接影響編程效率與設(shè)備適配性。XML以其結(jié)構(gòu)化、可擴(kuò)展的特性成為異構(gòu)數(shù)據(jù)轉(zhuǎn)換的理想載體XSLT則通過(guò)樣式表機(jī)制將數(shù)據(jù)解析與格式輸出解耦實(shí)現(xiàn)一套邏輯多設(shè)備復(fù)用。從STEP-NC的P21文本到ISO 10303-28定義的P28 XML表達(dá)再借助XSLT映射為具體控制器的指令序列這一鏈路為數(shù)控系統(tǒng)、機(jī)器人離線編程及自定義文本格式輸出提供了統(tǒng)一解決方案。文章圍繞數(shù)據(jù)轉(zhuǎn)換原理、樣式表設(shè)計(jì)、設(shè)備參數(shù)化配置及Saxon驗(yàn)證流程展開幫助工程師快速構(gòu)建面向多目標(biāo)設(shè)備的通用后置處理通道降低集成成本并提升代碼可維護(hù)性。1. 為什么說(shuō)“通用后置處理器”的關(guān)鍵卡在數(shù)據(jù)交換格式上傳統(tǒng)數(shù)控系統(tǒng)大多只認(rèn) G 代碼而 STEP-NC 期望用面向?qū)ο蟮姆绞桨鸭庸ぬ卣?、工藝方法和刀具路徑全部封裝進(jìn)一個(gè)標(biāo)準(zhǔn)數(shù)據(jù)模型里。兩者之間的鴻溝不是簡(jiǎn)單寫個(gè)翻譯器就能填平的——如果每個(gè)控制系統(tǒng)都單獨(dú)開發(fā)一套 STEP-NC 解析器工作量會(huì)隨設(shè)備種類線性膨脹而且 G 代碼本身在不同廠商之間還存在 NURBS 插補(bǔ)指令不兼容、坐標(biāo)格式不一致等問(wèn)題。這篇論文給出的思路很直接把 STEP-NC 代碼先轉(zhuǎn)換成 XML 表達(dá)P28 格式再用 XSLT 樣式表去定義目標(biāo)機(jī)床的數(shù)據(jù)接口格式這樣一套 XSLT 處理機(jī)就能適配多種控制系統(tǒng)。對(duì)正在做數(shù)控系統(tǒng)集成或機(jī)器人離線編程的人來(lái)說(shuō)這個(gè)方案最大的價(jià)值在于把“設(shè)備差異”從程序代碼里剝離出來(lái)變成純配置問(wèn)題。下面我會(huì)沿著論文的轉(zhuǎn)換鏈路把 P21 到 P28 的轉(zhuǎn)換、XSLT 樣式表設(shè)計(jì)、以及面向非 G 代碼設(shè)備的擴(kuò)展方法拆開講最后給出一個(gè)用 Saxon 可跑通的驗(yàn)證流程。2. STEP-NC 數(shù)據(jù)鏈路P21 到 P28 的轉(zhuǎn)換原理與實(shí)現(xiàn)2.1 為什么不能直接拿 P21 喂給 XSLT 處理機(jī)STEP-NC 最經(jīng)典的文本表達(dá)是 ISO 10303-21也就是常說(shuō)的 P21 文件。它的實(shí)體實(shí)例用#66...這種帶編號(hào)的方式表示屬性值可以是字符串、實(shí)數(shù)、枚舉也可以是嵌套的列表和實(shí)體引用。XSLT 1.0 只接受 XML 輸入XSLT 2.0 雖然理論上支持非 XML 文本并用正則表達(dá)式解析但 P21 文件的嵌套結(jié)構(gòu)比如一個(gè)實(shí)體屬性里又是一個(gè)列表列表里還有實(shí)體引用需要遞歸正則才能處理而目前主流 XSLT 處理機(jī)對(duì)遞歸正則的支持并不可靠。論文里的做法是加了一個(gè)預(yù)處理程序把 P21 把轉(zhuǎn)換成一種簡(jiǎn)單的 XML 中間格式再交給 XSLT 去生成 P28。這個(gè)中間格式不復(fù)雜本質(zhì)上就是把實(shí)體編號(hào)、實(shí)體名、屬性列表拆成標(biāo)簽。比如一個(gè)笛卡爾坐標(biāo)點(diǎn)在 P21 里寫為#66CARTESIAN_POINT(CLAMPING_POSITION1,(0.000,20.000,25.000));預(yù)處理后的 XML 中間格式大致如下entity_instance idid66 entity_nameCARTESIAN_POINT/entity_name attributes items itemCLAMPING_POSITION1/item /items items item0.000/item item20.000/item item25.000/item /items /attributes /entity_instance這里的邏輯是第一層items對(duì)應(yīng)CARTESIAN_POINT的第一個(gè)屬性名稱第二層items對(duì)應(yīng)第二個(gè)屬性坐標(biāo)列表。預(yù)處理程序需要區(qū)分“單值屬性”和“列表屬性”否則后續(xù) XSLT 匹配時(shí)無(wú)法知道某個(gè)item是實(shí)體名還是坐標(biāo)分量。實(shí)際開發(fā)中我會(huì)用 Python 寫這個(gè)預(yù)處理按分號(hào)切分實(shí)體聲明后再對(duì)括號(hào)做配對(duì)解析而不是用正則硬剝離。2.2 用 flex 和 bison 解析 EXPRESS 模式P28 文件不是憑空生成的它需要遵循 ISO 10303-28 定義的 XML 模式而這個(gè)模式來(lái)自 EXPRESS 信息模型。如果手動(dòng)把大量 EXPRESS 文件改寫成 XML Schema 或 DTD正確性很難保證。論文采用 flex 和 bison 做詞法/語(yǔ)法分析ex.l和ex.y分別定義記號(hào)規(guī)則和語(yǔ)法規(guī)則編譯生成 C 源碼后與符號(hào)表管理、語(yǔ)義分析、代碼生成模塊聯(lián)合編譯最終得到 EXPRESS-X 轉(zhuǎn)換器。這個(gè)轉(zhuǎn)換器把ENTITY cartesian_point這樣的 EXPRESS 聲明轉(zhuǎn)成entity_decl元素。ISO 10303-28 里給出了 EXPRESS-X 的 DTD 約束比如entity_decl可以包含entity_id、supertype_of、subtype_of、explicit_attr_block等子元素順序有嚴(yán)格要求。因此 EXPRESS-X 轉(zhuǎn)換器不只是做標(biāo)簽替換還要維護(hù)符號(hào)表來(lái)校驗(yàn)類型引用是否有效。對(duì)于只想實(shí)現(xiàn) P21 到 P28 轉(zhuǎn)換的應(yīng)用場(chǎng)景其實(shí)可以跳過(guò) EXPRESS-X 生成步驟直接套用已有應(yīng)用協(xié)議的 XML Schema但如果你要支持自定義的 STEP-NC 擴(kuò)展實(shí)體就得把 EXPRESS 解析器這條鏈路打通。NIST 的開源 SCLSTEP Class Library提供了現(xiàn)成的.l和.y文件建議基于它修改而不是從零寫語(yǔ)法。2.3 P28 三種編碼方式的選擇ISO 10303-28 定義了三種 XML 表達(dá)方式論文里稱為早聯(lián)編和晚聯(lián)編。早聯(lián)編early binding的 P28 文件按照實(shí)體類型直接生成對(duì)應(yīng)元素例如cartesian_point idid66優(yōu)點(diǎn)是文件緊湊、解析快晚聯(lián)編late binding則使用通用的entity_instance express_entity_namecartesian_point idid66結(jié)構(gòu)屬性統(tǒng)一用attribute_instance包裹。晚聯(lián)編雖然文件體積更大但它的元素類型不隨實(shí)體種類變化任何 EXPRESS 模式都能映射到同一套 XML 模板上通用性最好。對(duì)于目標(biāo)是“一個(gè)后置處理器適配多種設(shè)備”的場(chǎng)景晚聯(lián)編是更穩(wěn)妥的選擇。下面是一個(gè)晚聯(lián)編 P28 中坐標(biāo)點(diǎn)的示例entity_instance express_entity_namecartesian_point idid66 attribute_instance express_attribute_namename type_literal express_type_namelabel string_literalCLAMPING_POSITION1/string_literal /type_literal /attribute_instance attribute_instance express_attribute_namecoordinates list_literal type_literal express_type_namelength_measure real_literal0.000/real_literal /type_literal type_literal express_type_namelength_measure real_literal20.000/real_literal /type_literal type_literal express_type_namelength_measure real_literal25.000/real_literal /type_literal /list_literal /attribute_instance /entity_instance注意這里嵌套關(guān)系是entity_instance attribute_instance list_literal type_literal real_literal每一層都有對(duì)應(yīng)的express_*_name屬性。XSLT 樣式表在做匹配時(shí)可以利用這些屬性名做精確選擇而不是依賴元素名。這一點(diǎn)在后置處理時(shí)特別重要因?yàn)?STEP-NC 的實(shí)體種類很多但屬性訪問(wèn)路徑是有規(guī)律可循的。3. 基于 XSLT 的機(jī)床接口樣式表與 G 代碼輸出3.1 把 G 代碼格式差異收斂到樣式表通用后置處理器的核心假設(shè)是STEP-NC 的語(yǔ)義是統(tǒng)一的設(shè)備差異只體現(xiàn)在代碼格式上。因此 XSLT 樣式表需要完成兩件事一是從 P28 文件里提取刀具路徑點(diǎn)、進(jìn)給率、主軸轉(zhuǎn)速等工藝數(shù)據(jù)二是把這些數(shù)據(jù)按目標(biāo)控制器的語(yǔ)法組裝成文本。以 G01 為例不同的數(shù)控系統(tǒng)對(duì)坐標(biāo)精度、前置零、行號(hào)格式都有各自要求通過(guò)樣式表模板即可控制。下面是一個(gè)面向三軸銑床的 G01 模板Saxon 擴(kuò)展函數(shù)調(diào)用xsl:template matchentity_instance[express_entity_namemachining_workingstep] xsl:variable nametoolpath select.//entity_instance[express_entity_nametoolpath_list]/attribute_instance[express_attribute_nametoolpath]/ xsl:for-each select$toolpath//entity_instance[express_entity_namecartesian_point] xsl:variable namecoords selectattribute_instance[express_attribute_namecoordinates]/ xsl:value-of selectconcat(N, ex:GetIndexNumber(), G01 , ex:CoordinatesFormat(string($coords)), )/ /xsl:for-each /xsl:template這段模板匹配每個(gè)加工工步遍歷其中的刀位點(diǎn)生成N1 G01 X... Y... Z...格式的 G 代碼行。ex:GetIndexNumber()負(fù)責(zé)生成遞增行號(hào)ex:CoordinatesFormat()負(fù)責(zé)把 P28 里的坐標(biāo)列表轉(zhuǎn)成指定格式的 X/Y/Z 字符串。需要說(shuō)明的是string($coords)拿到的可能是一長(zhǎng)串0.000,20.000,25.000所以擴(kuò)展函數(shù)里要按分隔符切分后再格式化。對(duì)應(yīng)的擴(kuò)展函數(shù)實(shí)現(xiàn)Java 語(yǔ)言部署在 Saxon 環(huán)境public class ToolpathFormatter { private int index 0; public String getIndexNumber() { index; return N index; } public String coordinatesFormat(String coordinates) { String[] temp coordinates.split(,); if (temp.length 3) { return ; } // 注意P28 中可能帶空格這里先 trim 再轉(zhuǎn) double double x Double.parseDouble(temp[1].trim()); double y Double.parseDouble(temp[0].trim()); double z Double.parseDouble(temp[2].trim()) - 14.7; return String.format(X%.4f Y%.4f Z%.4f, x, y, z); } }這里的坐標(biāo)順序映射是個(gè)大坑STEP-NC 中cartesian_point的坐標(biāo)列表通常按 X、Y、Z 排列但在某些工藝數(shù)據(jù)里可能是 Y、X、Z 或者包含冗余分量。論文中的CoordinatesFormat是把第二個(gè)值當(dāng) X、第一個(gè)值當(dāng) Y說(shuō)明目標(biāo)機(jī)器人的坐標(biāo)系定義與 STEP-NC 默認(rèn)順序存在轉(zhuǎn)置關(guān)系。實(shí)際項(xiàng)目中我會(huì)在配置表里增加一個(gè)坐標(biāo)交換標(biāo)志避免為每臺(tái)設(shè)備重寫擴(kuò)展函數(shù)。3.2 行號(hào)、單位與進(jìn)給率的參數(shù)化處理G 代碼輸出不能只處理坐標(biāo)還要解決行號(hào)格式、單位換算、進(jìn)給率模式這幾個(gè)問(wèn)題。論文中的樣式表通過(guò)兩個(gè)內(nèi)嵌函數(shù)分別處理行號(hào)和坐標(biāo)這屬于“邏輯內(nèi)聚”的設(shè)計(jì)。更常見的做法是定義一個(gè)設(shè)備參數(shù) XML 文件把行號(hào)增量、小數(shù)位數(shù)、是否輸出行號(hào)等作為參數(shù)傳入樣式表。設(shè)備參數(shù)示例device-interface param nameline-number-prefix valueN/ param nameline-number-increment value5/ param namecoordinate-precision value0.0001/ param namefeed-mode valueF/ param namecoordinate-order valueY,X,Z/ param namez-offset value-14.7/ /device-interface在 XSLT 里可以通過(guò)document(device.xml)讀取這些參數(shù)xsl:variable namezOffset selectnumber(document(device.xml)/device-interface/param[namez-offset]/value)/這樣修改設(shè)備接口時(shí)只需編輯 XML不需要重新編譯 Java 擴(kuò)展函數(shù)。對(duì)于新手來(lái)說(shuō)要注意 XSLT 的變量作用域是模板層級(jí)的不能在同一模板內(nèi)重復(fù)定義同名變量對(duì)于熟手來(lái)說(shuō)參數(shù)化 XML 可以與 XSLT 的xsl:param機(jī)制結(jié)合實(shí)現(xiàn)命令行傳參覆蓋。3.3 機(jī)床結(jié)構(gòu)無(wú)關(guān)的刀軌遍歷模式STEP-NC 的 CC1/CC2 一致性分類下刀具路徑是顯式給出的后置處理器不需要做刀軌規(guī)劃。但路徑數(shù)據(jù)在 P28 里的嵌套結(jié)構(gòu)可能很深machining_workingstep下可能有machining_toolpath其下又掛多個(gè)cartesian_point。如果每個(gè)實(shí)體都寫死模板匹配會(huì)導(dǎo)致樣式表難以維護(hù)。推薦做法是用統(tǒng)一定位規(guī)則xsl:template match//entity_instance[(express_entity_namecartesian_point) and ancestor::entity_instance[express_entity_namemachining_toolpath]]這條 XPath 表達(dá)式的含義是匹配所有machining_toolpath后代中的cartesian_point實(shí)體。這樣無(wú)論工作步與刀軌之間的中間層是什么模板都能命中。實(shí)際調(diào)試時(shí)先用一個(gè)小型 P28 文件打印出所有entity_instance的名稱和層級(jí)關(guān)系確認(rèn)路徑再寫模板能省去大量試錯(cuò)時(shí)間。設(shè)備類型坐標(biāo)順序輸出格式擴(kuò)展函數(shù)職責(zé)三軸銑床X,Y,ZG01 X... Y... Z...行號(hào)生成、G 代碼格式化切削機(jī)器人Y,X,Z帶偏置MOVE P1 X... Y... Z...坐標(biāo)轉(zhuǎn)置、機(jī)器人指令封裝自定義測(cè)試系統(tǒng)X,Y,Z空格分隔純文本僅做數(shù)據(jù)提取不做格式化表格中的三種情況展示了同一套 P28 輸入如何通過(guò)不同樣式表和擴(kuò)展函數(shù)輸出差異化結(jié)果。熟手在評(píng)估工作量時(shí)可以據(jù)此快速估算坐標(biāo)順序映射、偏置、行號(hào)規(guī)則是三個(gè)最常見的改動(dòng)點(diǎn)。4. 面向機(jī)器人與非傳統(tǒng)控制器的后置處理擴(kuò)展4.1 從 G 代碼到機(jī)器人語(yǔ)言的語(yǔ)義遷移論文的第二臺(tái)驗(yàn)證設(shè)備是切削加工機(jī)器人輸出目標(biāo)是機(jī)器人語(yǔ)言。相比數(shù)控機(jī)床機(jī)器人程序不僅有坐標(biāo)還有姿態(tài)信息、運(yùn)動(dòng)指令類型關(guān)節(jié)運(yùn)動(dòng)、直線運(yùn)動(dòng)、以及速度與加速度參數(shù)。STEP-NC 的標(biāo)準(zhǔn)數(shù)據(jù)模型里刀具路徑的每個(gè)刀位點(diǎn)可能包含axis_point和tool_direction等屬性這些可以映射到機(jī)器人位姿。但這里有個(gè)實(shí)際困難機(jī)器人控制器通常要求給出工具坐標(biāo)系的姿態(tài)歐拉角而 STEP-NC 中的刀具方向向量并不直接等價(jià)于歐拉角需要額外的姿態(tài)求解模塊。在 XSLT 中處理姿態(tài)的方式是把方向向量的三個(gè)分量提取出來(lái)用 Java 擴(kuò)展函數(shù)計(jì)算歐拉角然后輸出到機(jī)器人代碼。以下是一個(gè)簡(jiǎn)化的模板片段xsl:template matchentity_instance[express_entity_nametool_direction] xsl:variable namei selectattribute_instance[express_attribute_namedirection_ratios]/list_literal/type_literal[1]/real_literal/ xsl:variable namej selectattribute_instance[express_attribute_namedirection_ratios]/list_literal/type_literal[2]/real_literal/ xsl:variable namek selectattribute_instance[express_attribute_namedirection_ratios]/list_literal/type_literal[3]/real_literal/ xsl:value-of selectconcat( ORIENT , ex:OrientFromVector(number($i), number($j), number($k)), )/ /xsl:template這里ex:OrientFromVector返回一個(gè)RX RY RZ字符串。注意direction_ratios在 P28 中可能不是list_literal而是數(shù)組表達(dá)式所以模板里用了[1]、[2]、[3]作為位置限定。如果方向向量未歸一化擴(kuò)展函數(shù)里要先做歸一化再計(jì)算歐拉角否則機(jī)器人控制器會(huì)報(bào)姿態(tài)錯(cuò)誤。4.2 自定義文本格式與 INI 輸出的實(shí)現(xiàn)要點(diǎn)論文特別提到用戶自定義代碼可能是純文本、INI 或二進(jìn)制。對(duì)于純文本格式XSLT 的輸出方法設(shè)為text即可。對(duì)于 INI 格式可以利用 XSLT 生成簡(jiǎn)單的鍵值對(duì)但要小心特殊字符轉(zhuǎn)義。二進(jìn)制輸出不建議直接用 XSLT 做一方面是編碼處理麻煩另一方面是二進(jìn)制格式往往依賴控制器底層數(shù)據(jù)結(jié)構(gòu)更適合在擴(kuò)展函數(shù)里用 Java 完成字節(jié)寫入。一個(gè)輸出 INI 風(fēng)格刀位文件的樣式表聲明xsl:output methodtext encodingUTF-8/模板中生成N#...這樣的內(nèi)容時(shí)如果目標(biāo)系統(tǒng)需要\r\n換行而 XSLT 默認(rèn)輸出\n會(huì)導(dǎo)致某些 Windows 控制器解析異常。解決辦法是在擴(kuò)展函數(shù)里統(tǒng)一處理?yè)Q行符或者用xsl:text disable-output-escapingyes#13;#10;/xsl:text強(qiáng)制輸出回車。這里提醒一點(diǎn)disable-output-escaping只在部分處理機(jī)中有效Saxon HE 對(duì)它的支持有限更可靠的方式是輸出后再用腳本做換行轉(zhuǎn)換。4.3 多設(shè)備共存的樣式表組織方式當(dāng)一臺(tái)后置處理器需要同時(shí)輸出 G 代碼和機(jī)器人語(yǔ)言時(shí)不能把兩種設(shè)備的邏輯寫在一個(gè)大樣式表里。論文的“通用”體現(xiàn)在輸入統(tǒng)一、轉(zhuǎn)換框架統(tǒng)一而不是樣式表統(tǒng)一。推薦的做法是給每類設(shè)備維護(hù)獨(dú)立的 XSLT 文件和擴(kuò)展函數(shù)類然后定義一個(gè)調(diào)度層根據(jù)運(yùn)行參數(shù)選擇具體樣式表。調(diào)度層可以用一個(gè)簡(jiǎn)單的 bash 腳本實(shí)現(xiàn)#!/bin/bash DEVICE$1 INPUT_P28$2 if [ $DEVICE mill ]; then java -cp saxon9he.jar:. net.sf.saxon.Transform -s:$INPUT_P28 -xsl:mill.xsl -o:output.cnc elif [ $DEVICE robot ]; then java -cp saxon9he.jar:. net.sf.saxon.Transform -s:$INPUT_P28 -xsl:robot.xsl -o:output.robot else echo Unsupported device: $DEVICE exit 1 fi這個(gè)腳本展示了后置處理器的“驅(qū)動(dòng)層”如何與 XSLT 解耦。實(shí)際生產(chǎn)環(huán)境中調(diào)度層往往需要處理錯(cuò)誤碼、日志記錄、以及多文件批量處理但核心思路不變?cè)O(shè)備差異在樣式表流程控制在腳本或程序。對(duì)于“微型機(jī)器”這類小型設(shè)備比如桌面數(shù)控機(jī)床它們的控制器通常只支持極簡(jiǎn) G 代碼子集此時(shí)可以把mill.xsl簡(jiǎn)化為只輸出 G00/G01/G02/G03 的模板省去換刀和固定循環(huán)邏輯。4.4 排錯(cuò)模板匹配不到任何節(jié)點(diǎn)怎么辦遇到 XSLT 輸出為空的情況第一步先確認(rèn)輸入 XML 能被正確解析。用下面的 XPath 檢查 P28 里是否存在目標(biāo)實(shí)體xmllint --xpath //entity_instance[express_entity_namemachining_toolpath] input.p28.xml如果沒(méi)有輸出說(shuō)明預(yù)處理生成的 P28 里實(shí)體名不是預(yù)期值或者命名空間有問(wèn)題。在 XML 模式下ISO 10303-28 允許帶命名空間很多 XSLT 初學(xué)者會(huì)在xsl:template match...里忘記加命名空間前綴導(dǎo)致匹配不上。此時(shí)可以查看 P28 文件的根元素是否帶xmlns聲明如果有樣式表要相應(yīng)聲明命名空間并在 XPath 中使用前綴。另一種情況是晚聯(lián)編 P28 中express_entity_name的值帶連字符或點(diǎn)號(hào)XPath 匹配時(shí)用express_entity_namecartesian_point沒(méi)問(wèn)題但如果值包含特殊字符建議用contains()做模糊匹配不過(guò)會(huì)犧牲一點(diǎn)性能。5. 用 Saxon 直接跑通整條后置處理流水線5.1 準(zhǔn)備測(cè)試環(huán)境與最小 P21 樣例不用裝專用 CAD/CAM 軟件只需 Java 環(huán)境和 Saxon HE 9.3 以上版本配合一個(gè)手寫的 P21 文件就能驗(yàn)證論文的核心流程。先準(zhǔn)備一個(gè)只含單個(gè)刀具路徑的最小 P21 文件內(nèi)容如下ISO-10303-21; HEADER; FILE_DESCRIPTION((),1); FILE_NAME(demo.stp,,(),(),,,); FILE_SCHEMA((machining_schema)); ENDSEC; DATA; #1MACHINING_WORKINGSTEP(WS1,#2,#3); #2CARTESIAN_POINT(START_POINT,(0.000,0.000,20.000)); #3MACHINING_TOOLPATH(TP1,(#4,#5,#6)); #4CARTESIAN_POINT(P1,(10.000,5.000,20.000)); #5CARTESIAN_POINT(P2,(20.000,10.000,18.000)); #6CARTESIAN_POINT(P3,(30.000,15.000,16.000)); ENDSEC; END-ISO-10303-21;這個(gè)文件包含一個(gè)加工工步、一條刀軌和三個(gè)刀位點(diǎn)。注意MACHINING_WORKINGSTEP的第二、第三屬性是實(shí)體引用預(yù)處理程序要把#2、#3解析成引用關(guān)系。我習(xí)慣在預(yù)處理輸出里用refid2這樣的屬性表示引用這樣 P28 中可以直接映射為entity_ref。5.2 預(yù)處理腳本與 P28 生成預(yù)處理腳本可以用 Python 實(shí)現(xiàn)核心代碼如下import re p21_text open(demo.stp, r, encodingutf-8).read() data_section p21_text.split(DATA;)[1].split(ENDSEC;)[0] lines [l.strip() for l in data_section.strip().splitlines() if l.strip()] xml_parts [?xml version1.0 encodingUTF-8?] xml_parts.append(step_root) for line in lines: if not line.startswith(#): continue match re.match(r#(\d)([A-Z_])\((.*)\);, line) if not match: continue entity_id, entity_name, attr_text match.groups() xml_parts.append(fentity_instance idid{entity_id}) xml_parts.append(fentity_name{entity_name}/entity_name) xml_parts.append(attributes) # 按逗號(hào)切分屬性但不切分括號(hào)內(nèi)的逗號(hào) depth 0 current [] for ch in attr_text: if ch (: depth 1 elif ch ): depth - 1 elif ch , and depth 0: current.append(.join(current_parts)) current_parts [] continue current_parts.append(ch) if current_parts: current.append(.join(current_parts)) for attr in current: if attr.startswith(() and attr.endswith()): items attr[1:-1].split(,) xml_parts.append(items) for it in items: xml_parts.append(fitem{it.strip()}/item) xml_parts.append(/items) else: xml_parts.append(fitem{attr.strip()}/item) xml_parts.append(/attributes) xml_parts.append(/entity_instance) xml_parts.append(/step_root) open(demo_intermediate.xml, w, encodingutf-8).write(\n.join(xml_parts))這段腳本里關(guān)鍵的邏輯是depth計(jì)數(shù)器用來(lái)處理坐標(biāo)列表(0.000,20.000,25.000)內(nèi)部的逗號(hào)避免把坐標(biāo)分量誤拆成獨(dú)立屬性。代碼中的current_parts需要在外層循環(huán)前初始化實(shí)際寫的時(shí)候要記得每處理完一個(gè)屬性重置一次。生成的demo_intermediate.xml可以直接用 XSLT 2.0 處理但這里還不是標(biāo)準(zhǔn) P28只是緊挨著 P28 的中間格式。如果你希望直接生成符合 ISO 10303-28 的晚聯(lián)編 P28需要在預(yù)處理后增加一個(gè) XSLT 轉(zhuǎn)換把entity_name映射到express_entity_name把item按類型封裝成type_literal。這一步可以復(fù)用上一章提到的模板思路核心是把中間格式里的值按照目標(biāo)實(shí)體的定義包裝成帶類型的字面量。5.3 用 Java Saxon 測(cè)試 G 代碼輸出寫一個(gè)最小的 Java 入口來(lái)調(diào)用 Saxon避免每次都用命令行拼參數(shù)import net.sf.saxon.s9api.Processor; import net.sf.saxon.s9api.Xslt30Transformer; import net.sf.saxon.s9api.XdmNode; import net.sf.saxon.s9api.DocumentBuilder; public class PostProcessorRunner { public static void main(String[] args) throws Exception { Processor processor new Processor(true); Xslt30Transformer transformer processor.newXsltCompiler().compile( new java.io.File(mill.xsl) ).load30(); DocumentBuilder builder processor.newDocumentBuilder(); XdmNode input builder.build(new java.io.File(demo_intermediate.xml)); transformer.setErrorListener((e) - { throw new RuntimeException(e.getMessage()); }); transformer.applyTemplates(input, transformer.newSerializer(new java.io.File(output.cnc))); } }這段代碼里new Processor(true)表示啟用 schema-aware 模式如果你沒(méi)有使用 schema 可以傳false能節(jié)省少量加載時(shí)間。applyTemplates的輸出依賴于樣式表里xsl:output的聲明。運(yùn)行后查看output.cnc預(yù)期輸出類似N1 G01 X5.0000 Y10.0000 Z5.3000 N3 G01 X10.0000 Y20.0000 Z3.3000 N5 G01 X15.0000 Y30.0000 Z1.3000這里坐標(biāo)系順序已經(jīng)按照論文里的機(jī)器人接口做了轉(zhuǎn)置且 Z 值減了 14.7 的偏置。如果你希望生成標(biāo)準(zhǔn)三軸銑床代碼而不是機(jī)器人代碼在mill.xsl里把坐標(biāo)映射改成直接順序輸出即可。5.4 驗(yàn)證結(jié)果有效性的三個(gè)檢查點(diǎn)驗(yàn)證后置處理器輸出不能只看有沒(méi)有報(bào)錯(cuò)要從語(yǔ)法、幾何、語(yǔ)義三個(gè)層面檢查。第一層是語(yǔ)法檢查用目標(biāo)控制器的仿真軟件打開輸出文件或者至少用gcode-parser這類開源庫(kù)解析一遍確認(rèn)沒(méi)有非法指令。第二層是幾何檢查把輸出代碼驅(qū)動(dòng)到 DMU 仿真環(huán)境對(duì)比刀位點(diǎn)是否落在工件毛坯范圍內(nèi)。第三層是語(yǔ)義檢查確認(rèn)加工工步的順序、快進(jìn)與工進(jìn)切換、主軸啟停與 STEP-NC 原數(shù)據(jù)一致。對(duì)于機(jī)器人語(yǔ)言輸出驗(yàn)證時(shí)還要額外檢查姿態(tài)是否連續(xù)。XSLT 模板中如果只輸出坐標(biāo)不輸出姿態(tài)機(jī)器人會(huì)默認(rèn)保持上一姿態(tài)容易產(chǎn)生非預(yù)期軌跡。因此建議在刀軌第一個(gè)點(diǎn)處強(qiáng)制輸出O RY后續(xù)點(diǎn)只輸出坐標(biāo)。最后一個(gè)實(shí)用技巧在mill.xsl里加上xsl:strip-space elements*/可以去掉輸入 XML 中的空白文本節(jié)點(diǎn)既提升匹配性能也避免輸出 G 代碼時(shí)產(chǎn)生多余空行。這個(gè)聲明對(duì)大多數(shù) XSLT 處理機(jī)都有效是容易被忽略的優(yōu)化點(diǎn)。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久超碰、| 亚洲狠狠入| 亚洲国产97在线精品一区| 欧美Ⅴ性爱| 国产丸一视频| 国产精品网址| 成人在线视频网| 日产123区精品免费观看| 99热这里都是精品| 亚洲欧美国产其他二区| 久久久久久久久久久999| 神马久久久久| 日韩亚洲美州欧洲综三区一品在线| 色偷综合| 草草电影院| 美女尤物福利视频| 99免费视频| 欧美午夜视频精品久久| 九九色热| 国产美脚女优尤物在线观看| 神马久久久久久| av网页一区二区三区| 国产欧美第五页| 亚州色站 日韩电影| 久久春色| 人人干黄色| 精品无码欧美三级| 久操B网| 日韩在线76| 艳尻美人妻| 熟女探花啪啪| 在线 亚洲 网爆 自拍| 校园春色五月天| 强歼乱伦资源网| 亚洲一级性爱视频免费看| 人妻插插人妻人| 亚洲熟伦熟妇AV无码春色| 富二代亚洲精品99| 国产精品久久久无码aV去| 亚洲精品丝袜| 日本一区视频在线观看| 都市激情人妻一区二区青青操视频| 亚洲婷婷综合网| 日本日日色视频| 99这里只有精品国产| 91美女色视频亚洲| 啊啊啊在线观看| 91久久99久久91熟女精品| 欧美日韩小说| 操逼操操操91| 欧美乱欲| 久久久久9999妇女| 亚洲第一无码播放立川理惠| 精品午夜福利| 国产97在线播放| 青青青操| 手机在线看片免费人成视频| 超碰97久久| 伊人青青草久久| 国产毛片在线| 男人的天堂kva| 开心五月深爱五月| 人妻9117c| 9长久久精品| 国产精品熟女九色九色蜜臀| 青青青青青手机视频| 东京热亚洲一区二区| 国产日韩久久| 久久精品日韩| 亚洲a色| 97超碰逼| 色综合久| 久久久久久久亚洲Av无码| 天天舔日美女视频| 黄色高清久久无码依人| 天美麻花大全视频| 探花精品 一区二区| 操B久久| 乱伦3P视频| 日本 情色 1区2区3区| 丝袜熟女一区二区三区| 精品一区二区三区蜜桃| 青青草色插素人| 91超级碰碰| 亚洲天天在线| 欧美激情黑人| 精品免费1| 韩国三级一线观看久| 日韩色图 一区二区| 久久久久久久久久久久久久9999| 秋霞一级视频在线观看免费| 九九视频黄色片| 97中文字幕一区| 激情露脸爱| 天天日天天干天天整| 噜噜噜噜久久久精品免费| 天天综合,91综合永久| 极品综合| 99999精品| 蜜臀无码一区二区| 国产AV线| 91丝袜美腿片| 国产精品对白内射| 青青爽| 性爱免费视频成人| 久久午夜鲁丝片| 国产日韩久久| 欧美综合另类| 欧美 亚洲 在线| 精品女同一区| 内射黑丝袜| 大香蕉伊人网WWWn0n| 亚洲色久| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 五月丁香啪啪| 风流老熟女一区二区三区l| 操国产高清| 60秒不遮不挡| 天天综合欧美| 9Ⅰ老熟女| 蜜臀AV一区二区三区| 欧美色天堂网在线视频| 伊人精品国产| 中文字幕 一区二区 亚洲无码| 多乙久久久久久| 波多野结衣一级视频| 日本国产欧美一区三区二区 | h色99999| 久久大陆| 97情超碰色| 日韩99999色| 国产人妻精品久久久一区二区三区 | 东京热91| 欧美激情 亚洲色图| 亚洲色图 图片| 久久美国毛片| 91M一社| 久久国产精品视频| 亚洲天堂另类| 操熟女91| 97无码视频在线播放| 亚洲成人贴图| 黄色无码高清黄色无码网站| 日本孕妇一区二区视频操逼免费看| 精品无吗m| 国产深夜福利| 亚洲欧美色图片| 久久超碰网| 亚洲欧美人妻| 中国熟女老妇仑乱一区二区三区| 国产最火爆久久国产网站网站| 激情五月天中文字幕色| 日韩欧美综合激情| 亚洲国产欧美中日韩成人综合视频| 国产激情av女片自拍| 亚洲一区二区精品福利| 99色热| 美女刺激久久国产欧美| 五月丁香久久| 久久免费看高潮毛片韩国| 江都AV在线| 中文字幕丝袜美腿| 97干色天堂| 97二区四区| 亚洲宗合电影| 美女上床网站| 久久夜夜| 国内毛片国产专区二| av网站在线观看了| 天天插天天操| WWW.加勒比人妻一区不卡.com| 欧美亚洲AN| 九九九九97| 中文字幕丝袜| 无码人妻精品一区二区中文 | HEYZO高无码国产精品227| 狠狠干综合| 夜夜嗨一区| 日韩无码第3页| 视频二区美腿制服人妻欧美| 蜜乳视频网站| 牛黄色久午久| 亚洲不卡不卡中文字幕不卡| 中文欧丝袜诱惑| 欧美色图在线视频少妇| 国产馆| 久综合国内精品自在自线| 日韩乱伦视频| 精品人人| 亚洲素人综合| 日本操逼无码| 啪啪AV导航| 天天欧美色| 久草资源在线视频官方总站日韩丝袜美腿| 久久九九精品一区二区| 超碰95| WWW操逼| 激情综合五| 久啪| 夜夜欢天天干| 国产操逼逼网| 蜜桃视频一区二区三区| 亚欧美色| 一级啊性爱在线视频| 欧美一级色| 久久精品人妻一区二区| 欧美性xxxxx狂欢| 亚洲黄色网址视频| 嗯嗯啊啊操死我| 婷婷久久久精品| 超碰色综合| 天天躁日日躁AAA片李宗瑞| 99热官网| 日本在线999| 欧美偷拍区| 好吊色青靑草| 人人人人插| 亚洲s在线观看| 99久草| 操屄不卡视频| 91黑丝操| 艹少妇网站| 9精品在线| 亚洲在线a| 国产精品久久久久综合| 九区国产| av在线播放国产一区| 欧美色九九九| 天天综合-91入口| 天天日夜干| 久久久久久亚洲Av无码| 青青操少妇| 懂色Av| 99精品网| 东京热伊久| 亚洲AV秘 精品久久老牛影视| 啊啊啊好湿久久| 亚洲狠狠入| 老司机深夜18禁污污网站| 麻豆精品久久久久久久| a级免费在线观看| 极品五月天噜噜| 亚洲熟女综合一区二区| 日本有码影片下载| 五月亭亭六月丁香| 97一区二区蜜臀| 国产福利夜| 亚洲日韩肥臀视频在线观看| 97亚洲精品超碰| 五月天综合| 久久伊人东京热| 桃花色涩综合影院| 97亚洲在线| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 夜夜嗷嗷一区二区| 国产无码精品成人| 亚洲图片 激情小说| 国产一级不卡在线观看| 中文一区在线日| 国产精品久久久无码AV网站| 后入福利| 天天摸天天插天天日| 狠狠干91| 激情婷婷丁香| 超碰在线91| 成人无码欧美一级A片狼牙直播| 国产亚洲色婷婷久久99精品91| 91亚洲综合在线| 中文字幕日韩国产传媒欧美精品| 日韩无码视频黄色| 情色五月天网| 五月丁香激情综合网| 97久久久久| 91人人看| 日韩欧美成人性爱在线| 国产91丝袜 在线播放| 超碰人人乐97| 亚洲精品无码久久AV| 啊啊啊啊,啊啊好多水| 激情专区综合| 精品人妻一区二区三区在| 一道本东京热加勒比一区二区三区| AA级电影三区| 中文精品少妇天堂| 91中文精品日韩欧美在线| 亚一综合久久久久久久久久| 欧美草草高清日韩视频| 蜜桃精品一区二区三区ww| 精品久久久久av影院| 亚洲日韩狠狠撸视频| 日韩欧美麻豆大片| 人妻在线视频| 午夜精品久久一区二区| 亚洲色综网| 后入美女国产| 乱伦图一区| 免费视频观看60秒| 好看的91视频| 亚洲欧洲小说图片视频 | 男人的天堂成人的社区| 日韩欧美综合激情| av影片在线观看不卡| 日韩欧美偷拍美女视频| 黄污污污污| 国产日韩欧美操逼视频| 九九AV| 亚洲欧美另类少妇精品| 久久久免费一级黄片| 蜜桃臀一区二区三区久久| 成功精品影院| 久久高清欧美国产| 国产美女在线精品免费看| …中文字幕亚洲乱,97人妻无码费视…| 色婷婷亚洲婷婷| 色色网91| 试看日韩黄片| 久久精品无码专区| 久久超碰av在线| 国产成人+综合亚洲+天堂| 老子午夜伦不卡影院| 精品国产a∨一区天美传媒| 熟女自慰久久久| 日韩成人色图| 日本三级R| AV乱伦专区| 96一区二区| 日韩综合色网| 国产精彩女在线观看视频| 国产suv精品一区二区四| WWW操逼| 1024人妻熟女一区二区三区| 午夜性生活av免费在线看| 亚洲骚男同com| 91九九九小逼| 欧美老妇综合网| 丁香五月婷婷基地| 色牛牛AV| 国产综合操逼高清| 人人摸人人叼| 特级丰满少妇一级AAAA爱毛片| 97爱亚洲| 五月天AV资源| 成人久久久精品| 操B久久| 台湾佬中文娱乐自偷自拍| www狠狠| 中文字幕精品资源在线| 亚洲成人无码影院| 干干干天天| 成人a大片在线观看| 日婷婷| 亚洲精品一二牛牛| 国产午夜福利专区综合| 国产AAAAAABBBBB| 国产在线观看一区二区三区| 中英熟女操女| 久久精品国内Av熟女高清| 性色综合网| 国产精品丝袜在线| 天天亚洲| 欧美一级A一级a爱片久久| 亚洲欧美999| 欧美裸体美女日麻屄| 97aiaiai| 久久精品国产亚洲妲己影视| 日韩99精品视频综合区| 国产h片在线观看视频| 超碰在线观看av不卡| 99老司机精品视频在线观看| 在线无码视频| 全免费a敌肛交毛片免费| 综合操逼| 强奸乱伦大香蕉网| 无码免费精品高清| h无码动漫在线观看| 国产真实野战在线视频| 国产福利av精彩对白| 另类小色呦| 五月婷在线| 一区二区激情国产熟女 | 操逼无码操逼| 免费簧片在线观看| 91丨九色丨大屁股| 欧美亚洲宗合色性图| 狼狼色丁香久久婷婷综合五月 | 一区二区三区视频| 一级岛国大片| 干婷婷综合网| 欧洲免费一区二| 欧美少妇高潮久久91| 日本久久久精品电影| 日韩一级二级三级| 国产黄色在线播放观看| 精品人妻美妇91job| www.丁香五月| 偷拍超碰| 欧亚 另类 久| 国产乱伦亚洲| 五月婷婷丁香| 亚洲精品1区| 人妻大相焦在线| 精品人妻一区二区三区视频| 久久这里只| 激情五月综合开心五月| 免费精品99| 免费久久一级毛片大黄| 3D污黄视频在线观看| 六月婷婷综合| 无码久| 91N综合网| 91伊人久| 天天日少妇逼AV| 污污污8888| 91久久国产精品| 极品综合| 天天添天天干电影| 97超碰超欧美。| 大屁股xxxxx| 久久亚州精品成人Av无| 日日干夜夜干| 91成人国产综合久久精品蜜月| 上海一级黄片| 97综合网| 日韩视频精品在线观看| 亚洲综合精品国产一区| 色逼综合| 狠狠色五月亚洲91| 99re28在线观看| 天天干天天燥| 在线观看十八禁| 亚洲欧美日韩中文久久自慰| 2024年最新色情网站在线观看| 国产精品岛国片在线观看| 日本免费不卡二区| 亚洲丝袜综合| 婷婷久久综合| 日韩AV噜噜噜一区二区三区四区| 青青欧洲黑| 五月丁香成人网| 亚洲天堂电影网| 91搞逼视频| 夜夜爽爽爽| 97久操| 久久久无码av精| 性色高清在线| 国产精品女aA片爽爽视频| 国产91丝袜 在线播放| 亚洲av综合色区图片亚洲| 色哟哟国产精品免费网址| 亚洲中文字幕av | 五月婷婷六月色| 亚洲丝袜天堂| 免费国产视频| oumeisetu综合| 国产午夜精品一区二区三区牛牛| 欧美日韩香蕉| 男女91| 国产一级舔足在线观看| 色香阁在线| 亚洲狠| 亚洲AV成人无码久久精品播放| 嗯嗯,好大,好爽,好骚| 黄色免费一级在线毛片| 国产精品色| 亚洲视频精选| 日韩精品 资源| 亚洲图片小说欧洲| 乱人伦 国语对白:视频直接看| 超碰97久| 天天综合亚在线| 福利视频网站| 日本免费不卡二区| 国产精品盗摄 偷窥盗摄| 大香蕉99热| 乱伦熟女专区| 伊人 俄罗斯 a v| 91在线超高颜值国产| 超碰欧美在线欧美| 亚洲高清无码AAA久久久精品| 少妇色综合| 亚洲成人美女无吗| 国产综合久| 大香蕉色十月| 伊人久久综合影院精品久久久| 久热精品色情| 黄色小视频日本txt| 日韩精品人妻中文字幕不卡乱码| 婷婷五月天影院| 女性91网站| 青青草原综合久久大伊人精品| 青青草大香蕉视频| 亚洲资源吧| 国产亚洲在线观看| 国产色产精品在线观看| 97这里都是精品| 9丨亚洲一区二区在线| 新视频sss国产| 亚洲日韩国产欧美综合v| 中国91AV| 精品一区二区三区四区女 | 欧美操逼录像国产黄色国产| 欧美成人9797| 亚洲国产av中文字幕久久| 国产高清在线自在拍69| 亚州色图第三区| 国产欧美在线观看免费观看| 亚洲性综合| 99精品免费| 天堂69亚洲精品中文字| 久热99999| 老色69| 日韩欧美tv一区二区在线观看| 一区e区三| 北条麻妃99精品青青久久| 一级片在线观看高清无码| 激情婷婷丁香网| 天天日天天爽| 欧美成人A天堂片在线观看| 超碰九九| 日韩精品99久久久久久中文字幕| 色婷婷丁香五月| 影音先锋每日最新资源在线观看 | 日韩欧美被操黄免费观看| 欧美日韩国产色图在线| 美女91AV| 日本中文字幕熟妇| 大香蕉伊人亚洲| 国产91久久九九免费精品无码| 精品无码久久久久久久久果冻糖心 | 操老熟女AV| 欧美 亚洲 制服 精品| 天天谢天天干| 日日夜夜摸| 欧美亚洲韩国视频十五区| 好爽,再快点啊哈嗯嗯嗯嗯| 性爱1区| 豆花视频操逼网址 | 激情小说图片亚洲首页| 久九九九九九九九热| 久久鲁夜| 中文字幕制服欧美久久一区| 五月天色色网站| 中国一级操逼视频| 亚洲中文字幕熟女| 熟妇色99| 亚洲在线A| 少妇第一页| 欧美综合区| 免费一级性爱久久| 国产一级舔足在线观看| 最新制服中文第一页| 91久久久老司机| 亚洲乱色视频一区、二区在线| 久久综合九九| 日韩乱伦视频| a v网站在线播放| 欧美极品美女aaaaaa级黄片| 精品女人999| 曰韩精品九九无码| 国产亚洲日韩欧| 亚洲国产丝袜熟女av| 九t超碰| 国产后入精品| 偷拍综合亚洲| 91精品成人www| 在线观看不卡一区二区三区| av草草在线电影| 日本免费一区二区不卡| 亚洲综合在线第一页| 97国产高清视频在线观看| 久操97| 一牛一区二区三区久久| 久久精品国产久精国产| 韩国午夜理伦三级好看| 精彩久久中文| 日本一区二区三区午夜观看| 欧美精品久久久久久久丰满| jk白丝没脱就开始啪啪| 美女黄频a美女大全免费皮| 熟女视频久久| 日本天天操| 婷婷午夜清品久久久久久久性色视频观| 91在线页| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 肉丝中文无码高清| av东京热男人的天堂| 日韩美女高潮喷水视频| 欧美日韩另类字幕中文| 好屌色综合| 五月开心久久AV官网| 加勒比伊人综合| AV色五月| 91bbbbbb| 亚洲欧美日韩中文播放 | 日本中文熟女视频| 丝袜足交视频| 国产剧情在线| 午夜福利1区2区3区| 中文日本免费高清| 国产 无码 一区二区| 老熟女91av| 日韩免费人妻色情网站| 欧美嗯啊……在线观看视频免费| 2019天天操天天爽天天拍| 久久久99久9| 91狠狠综合久久久久久| 中日韩久久人妻一区二区| 18岁禁 茉莉成人久久| 91AV天美在线视频| 久草看看看| 国内一级精品| 一区二区三区美女超清| 亚洲欧综合另类无码一区| 日韩女模中文造逼| 色av中文字| 欧美 牲| 欧美片第一页| gogogo免费高清看中国国语| 性色av蜜臀av色欲aV| av网页一区二区三区| 制度丝袜99| 久久中文字幕女同性恋一区| av日韩手机在线影视| 二对二中文字幕。| 中文字幕在线免费观看 | 一区 欧美 日韩 麻豆| 少妇精品| 天天综合网日韩7799| 精品国产99| 99在线精品观看视频中文| 操逼操2| 美女诱惑在线一区| 久久久久久国产精品免费网站| 国产一区二区在线电影| 黄色成品网站| 亚洲 欧美 日韩另类 麻豆| 18禁在线视频| www.婷婷| 97就爱干| 欧美黄片欧美黄片xxx| 亚洲熟妇A V黑人| 亚洲色系另类精品国产| 国产丝袜一区二区三区| 国产精品视频自拍在线| 蜜桃视频一区二区三区| 在线播放免费av福利片| q2午夜理论片夜色av| 亚洲色天堂日韩中| 国产精品人妻一区二区| 疯操AV| 亚洲欧美九九九| 国产乱伦亚洲| 天天草天天日| 色噜噜狠狠色综无码久久合欧美| 国产深喉视频一区二区| 91丝袜激情在线| 在线性黄高清免费视频| 中文在线视频| 男插女青青影院| 国产在线视频午夜精华在| 亚洲欧美日韩综合在线尤物| 亚洲成人色情五月天丁香花| 综合网天天| 婷婷五月天激情网| 亚洲欧美日韩中文久久自慰| 国产精品人妻无码久久久老鸭窝| 97人人操人人干| 亚洲欧美综合网站| 久久直播国产| 玖玖视频在线资源一区二区三区| 另类老少妇| 最新三级网址| 精品一久久久| 国产午夜福利专区综合| 亚洲性综合9| 72av视频| 97人人干| 999国产精品999久久久久久| 亚欧高清在线| 手机av亚洲丝袜美腿日韩第一页二页| 欧美性爱免费短视频| 91九久| 亚洲色宗合| 亚洲综合另类| 男人的天堂VA| 色婷婷激情| 另类成人首页一区| 最新日产中文在线麻豆| 亚洲。天堂。日本在线观看| blacked精品一区国产| 亚州色国| 国产精品麻豆成人av| 天天看天天日| 好爽免费视频,| 麻花传媒免费网站在线观看| 丰满精品人妻少妇久久字幕| 国产 码在线成人网站| 亚洲在线网站| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 超碰色美女| 91动漫操逼视频| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 美女高潮视频91| 成人av毛片在线观看| 中文字幕av久久爽Av| 欧美自拍偷拍综合图片| h色99999| aaa一级黄片| 一区二区不卡免费| 日韩成人精品视频自拍| 亚洲天堂一区二区| 欧美夜夜狠| 男女啪啪网站免费视频| 91丝袜激情在线| 美中日韩无码| 综合亚洲欧美| 一区久久久二区| 少妇人妻好深太紧了vr91| 天天天操天天天爱| 久久久久免费少妇| 成人26uuu| 欧美色图在线视频少妇| 91精品91久久久中77777| 中文字幕丰满子伦无码专区在线视频最新 | 亚洲精品久久久久毛片A片拉屎| 啪啪啪东京| 男人的天堂啪啪| 超碰99re| 国内91熟女人妻丝袜天天精品视频在线 | 综合91网| 99久久网站| 91社区伊人| 精品国产一区二区三区久久久蜜臀 | 思思热在线| 久久精品 六十路 熟女 欧美| 欧美国产视频| 久久成人国产| 天天日夜干| 91激情网| 亚洲综合在线视频| 亚洲性爱电影| 99999久久精| 97超碰色屌| 国产在线精品偷| 97超碰人人操人人操| 超碰97导航| 九九九九九九亚洲| 深田咏美亚洲精品福利社| 免费AV中文网在线观看| 中文字幕女同在线| 五月天丁香网| 欧美1区二区三区公司 | 中文字幕日韩情色| 欧美天天谢综合网| a级成人毛片免费视频高清| 中文字幕人妻丝袜乱一区三区| 操人妻逼91| 国产精品爽爽va在线观看98| 大象AV在线| 加勒比无码毛片| 免费久久9999| 欧美亚涩| 91呆哥人妻| 亚洲婷婷综合网| 蜜乳av一区二区| 无码粉嫩白虎一线天b区| 美女91在线观看| 黑操B| 中文字幕精品区先锋资源| 国内偷拍精品一区二区| 亚州欧美在线| 色综合潮| 亚洲日本加勒比在线| 小情侣高清国产在线视频| 亚洲男人天堂AV| 99蜜桃臀久久久欧美精品网站| 殴美,日韩国产伦精品| 中字乱伦AV| 成人三一级一片aaa| 天天影视色香欲综合网小说| 极品肉射| 91蜜臀人妻中文字幕在线| 亚洲激情天堂网| 欧美日韩人人精品| 色五月综合网| 囯产乱伦一区二区三女| 国产精品欧美日韩久久| AV天堂国产| 亚洲欧美日韩免费观看| 一本久道久久综合狠狠爱一密臀精 | 9999亚洲电影| 91欧美偷拍| 日韩精品三区四区| 嗯啊不要在线观看嗯啊| 无色无码| 亚洲第一黄色av网站| 亚洲综合欧美| 屁股久久久久久久| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 九九自拍伦理| 夜夜高潮夜夜爽高清视频一| 五月激情在线| 天天干天天拍| 国产亚洲99久久精品| 99碰碰| 九九热精品| 久久综合九九| 五月天开心网| 男人天堂2019亚洲| 激情第四色| 亚洲五月丁香花狠狠干一区二区三区 | 日韩中字av一区| 亚洲天堂东京热| 99久久久无码| 色眯眯射| 蜜桃视频一区二区三区 | 亚欧毛片基地国产毛片基地| 另类图片综合| 色综合国产在线观看| 国产福利一区二| 欧美自拍偷拍综合图片| 成人一级性爱| 一区二区三区 日韩欧美| 日亚韩精品视频二区三| 六月婷婷综合| 超碰79人人乐| 五月天婷婷欧美三区| 精品一区二区三区蜜桃臀赵总 | 人妻丝袜一区二区三区在线| 97天天| 一区二区乱码福利| 人人玩人人添人人澡免费| 美女裸体无遮挡永久免费观看网站| 色吧 综合| 国产真实子伦对白| 中国一级操逼视频| 欧美刺激色黄片免费看| av九九| 射丝袜高跟鞋99| 美日韩一二三区| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 一本色道综合久久欧美日韩精品| 超碰97护士| 人人干黄色| 睡产熟女乱伦| 久久极品伊人| 日韩精品99久久久久久中文字幕| 色阁阁AV综合网| 精品免费囯产一区二区三区| 91无码西班牙视频在线| 欧美精品成人在线播放| 强奸乱亚洲| 人妻夜夜爽天天爽麻豆三区网站 | 秋霞视频一区二区| 超碰av在线| 国产熟女少妇一区| 91精品婷婷国产综合久久竹菊| 色777999综合| 日本一级特级毛片视频| 久久岛国| 国产精品免费日韩| 色婷婷在线视频| 亚洲欧洲色情高清| 蜜臀一二三区| 永久免费观看的毛片的网站| 亚洲一卡2卡3卡4卡乱码网站| 天天插天天插| 91N欧美| 亚洲综合夜色| 91亚洲最新在线| 国产精品视频自拍在线| 超碰在线91| 日本有码久久| 欧美高潮| www久久国产精品| 日本午夜福利影院| 99啪| AV在线播放网址| 欧美日韩国产成人高清| 国产精品久久久久久久久AV大片| 中文字幕视频2区| 婷婷性网| 午夜偷拍久久熟女| 蜜臀亚洲中文| 九t超碰| 成人激情无码在线视频| 欧美少妇一区二区三区| 亚洲精品蜜桃久久久| 久久久一区二区三区三州| 色色99| 亚洲91射| 天天色天天干天天射| 中文字幕老熟妇黄色视频| 粉嫩久久久极品| 在线亚洲 欧美 日本专区| 天天插天天射| 日韩专区久久久| 日本精品网站在线中文| 青青草视频这里只有精品| 啊啊啊啊,啊啊好多水| 久久久亚洲精品中文字幕人妻| 亚洲精品国产专区在线观看| 99自拍B亚洲 | 欧美日韩黄片精品在线| 亚码激情| 亚洲欧美91| 精品一区二区成人动漫| 97在线资源| 涩涩涩综合| 久久av色| 日韩综合无码一区久久92| 这里只有精品视频在线| 亚洲天堂少妇| 欧美视频中文字幕区| 天天综和| 最新亚洲黄色免费电影| 久久人妻精品| 色婷婷久久| 乱伦一区二区三区‘| 国产精品久久久久绯色| 亚洲另类天堂| 丁香五月影院| 97超级久久| 美日韩成人| 超碰欧美在线欧美| 男女一进一出视频久久| 久久久久久久久久久久久久久性生活视频| 日韩人妻精品| 无码av永久免费专区网站| 一区,二区,三区视频| 97亚洲精品超碰| 国产 亚洲 丝袜 制服| 国产午夜视频| A 在线网址| 97超碰免费人人性爱| 精品一级毛片在线观看| 在线女人91| 国产久久久| 精品四五区| 日本韩高清无砖码22o| 毛片视频白嫩| 手机午夜电影神马久久| 欧美精品 - 91爱爱| 中文人妻av高清一区| 99热亚洲| 天美传媒精品一区二区| 97精品一二区| 精品国产av一区二区三区四区入口| 亚洲精品一二三四区| 99亚洲精品| 欧美拳交在线播放| 91亚洲电影| 97人人中文网| 天天操天天干一区二区 | 一区二区三区精品黑丝白丝酒店对鸡| 老熟妇91| 亚洲人在线成线成人| 人妻偷拍一区二区三区| 欧美色图片91| 丁香六月激情| AV男人天堂网| 五月婷婷激情综合| 搡老女人911熟妇老熟女| 久久精品国产99国产精品亚洲| av爱爱爱| 经典丝袜一区| 色优久久| 少妇熟女1区2区3区| 欧美综合 站| 色情五月综合婷婷| 精品女同一区二区三区| 精品少妇一区二区三区免费观看| 老司机福利青青草| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 任我爽视频在线观看| 美国精品国产精品| 蜜臀在线网站| 伊人综合色网| 免费无码国产精品v片在线观看| 台湾佬中文娱乐网久久久久久久久久com | 亚州性9| 午夜精品久久久99| 免费看久久久性性| 日本久久女同性恋视频| 久久久久久久久久久久九| AAA久久| 中文字幕日韩专区精品系列 | 精品一区二区三区四区外站| 桃花色涩综合影院| 国产欧美在线观看免费观看| 亚洲人妖网| 超碰狠狠操| 亚洲色图尤物视频| 午夜AV污污污| 天天操天天射青青草| 樱花蜜乳av| 人妻天堂网| 91天天爱| 亚 欧 美 综合| 91快色色色色色| 黑人娇小av在线播放| 国产AV人人 夜夜人人澡| 91麻豆va国产精品| 成人免费毛片| 9997se| 亚洲国产欧美日韩人妻日中文| 岛国片国产成人亚洲播放| 超碰91在线| 加勒比综合a∨| 少妇诱惑视频| 99热这里只有精品8| 熟女激情综合网| 欧美综合天堂| 青青草啪啪网| 女人爽到高潮久久久| 福利在线黄片| 久久久久亚洲AV无码专区少妇| 九久9精品| 日本免费一区二区不卡| 亚洲综合影视| 97亚洲综合电影| 久久激情综合| 亚洲精品无码少妇久久| 国产黄片精品在线| 成人无码在线视频网站| 少妇一区二区三区| 风韵犹存大大大大香蕉 | 91欧美综合| 97久久久久| 精品一区99999| 香蕉av一区二区三区| 成人女人国产| 久久女人视频| 人妻少妇久久久| 91色久| 91一区二区三区蜜桃| 亚洲欧美日韩激情不卡| 久久中文字幕人妻熟av女蜜柚| 免费成人在线熟妇网| 97色色色综合网站| 人妻精品综合中文字幕在线 | 天天内射| 国产美女91视频| 五月婷婷深深爱| 99久久婷婷国产综合| 蜜臀操逼黄色视频操的好爽| 再深点灬舒服灬太大了添视频 | 久久青青草原免费视频| 欧美操人视频| 亚洲成人激情小说视频| 91另类| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 91狠狠综合网| 婷婷色香伊人| 97se亚洲| 欧综合网| 伊人国产AV| 欧美se综合| 日韩青久久| 日韩综合97p| 自拍啪啪视频| 国产精品久久蜜乳av| 亚洲综合色图欧美| 日日操夜夜操天天操免费观看麻豆| 久久影视二区三区行押| 五月天婷婷社区| av日韩中文字幕| 蜜臀99精品国产高清在线观看| 99热国产精品| 欧美在线电影| 综合少妇网| 九九热视频在线观看| 欧美拳交在线播放| 国产丝袜美女诱惑| aaa淫乱视频| 国内97干免费看| 99操| 天美传媒麻豆一区二区三区国产精| 校园春色美腿丝袜| 91少妇香蕉久久精品| AV天堂因数| 好属操| 国产精品操| 日日躁夜夜躁狠狠躁超爽| 免费久久一级毛片大黄| 婷婷导航| 日本一久是| 大屁股人妻女教师撅着屁股| HEYZO高无码国产精品227| 美女高潮视频91| 高颜值美女口爆高潮浪叫| 日韩免费在线视频观看| 欧美不卡在线美女| 男人的天堂视频精品乱在线| 把腿张开老子CAO烂你| 操一区| 久久AV无码AV| 大香蕉操久久| 欧美在线干| 国产三级多多影院2022国产AA一级毛片无码| 日韩内射视频| 人妻少妇精品视频一区二区三区| 中文字幕性感少妇av| 国产第11页| 一区不卡在线观看av| 色性荡荡荡荡视频| 精品久| 玖玖在线视频| 天天射天天色成人| 日韩欧美字幕亚洲一区二区| 老熟妇一区二区三区啪啪| 综合久久久久久久久91| 色噜噜国产在线| 人妻熟女一区二区在线视频| 免费一级毛片在线视频观看| AV久日| 色欲蜜臀AV| 精国久久一区二区三区98| 乱伦一二三区| 9 7超碰在线免费观看| 亚洲成a人v欧美综合天堂下载 | 日韩免费性爱视频在线观看| 久久精品免费| 97超碰欧美| 野狼激情网| 97综合久久| 伊人影院中文字幕| 久操免费在线| 成人资源中文字幕在线观看天天| 色欲久久99国产精品久久久久久| 欧美性爱www免费版| 亭亭在线资源| 午夜欧美女人操逼| 日本不卡一区二区三区| 日韩不卡毛片Av免费高清| 午夜综合在线| 日本人人操人人操| 啊啊啊啊啊舒服| 人人色人人操在线| 亚州九九九精品视频| 国产强奸超碰AV| 久操免费电影| 狠狠五月天| 男人天堂网站| 丁香六月啪啪| 亚洲天堂中文字| 精品综合久久久久久97| 亚洲不卡AV在线| 酒色综合网| 国产欧美日韩女同性恋ww喷水精品| 亚洲天天综合| 日本少妇va7777| 免费无码国产精品v片在线观看| www.狠狠干.coom| 国产二区三区免费视频| 四季AV一区二区凹凸精品小说| 日韩综合无码色欲vv| 最新9久久久9免费视频| 天堂8在线新版官网| 97资源亚洲|