青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

eryar

PipeCAD - Plant Piping Design Software.
PlantAssistant - Translate AVEVA RVM/SP3D VUE to glTF, STEP, etc.
posts - 606, comments - 590, trackbacks - 0, articles - 0

Open Cascade DataExchange IGES

Posted on 2014-01-04 21:35 eryar 閱讀(7561) 評(píng)論(4)  編輯 收藏 引用 所屬分類: 2.OpenCASCADE

Open Cascade DataExchange IGES

eryar@163.com

摘要Abstract:本文結(jié)合OpenCascade和Initial Graphics Exchange Specification來對(duì)IGES格式進(jìn)行詳細(xì)說明,理解IGES格式的結(jié)構(gòu),進(jìn)而方便對(duì)OpenCascade中IGES格式文件讀寫的實(shí)現(xiàn)進(jìn)行理解。

關(guān)鍵字Key Words:IGES、Open Cascade、Data Exchange

一、引言 Introduction

目前市面上的CAD系統(tǒng)都有自己的數(shù)據(jù)文件,各個(gè)系統(tǒng)之間的數(shù)據(jù)結(jié)構(gòu)和格式各不相同,這樣極大影響了設(shè)計(jì)和制造部門之間或企業(yè)之間的數(shù)據(jù)傳輸和程序銜接的自動(dòng)化,同樣給CMM和CAD/CAM的數(shù)據(jù)通信帶來困難。因此,迫切需要數(shù)據(jù)交換文件格式的標(biāo)準(zhǔn)化。

產(chǎn)品數(shù)據(jù)的正確交換可以使雙方不必重建數(shù)據(jù),提高效率。產(chǎn)品數(shù)據(jù)交換的通常做法是使用數(shù)據(jù)交換接口,即需要交換的每一系統(tǒng)與標(biāo)準(zhǔn)數(shù)據(jù)格式(中性格式)之間開發(fā)雙向轉(zhuǎn)換接口,兩系統(tǒng)通過中性格式進(jìn)行交換。

20世紀(jì)70年代末80年代初以來,國際上已做了大量數(shù)據(jù)交換標(biāo)準(zhǔn)的研究、制定工作。自1980年最早出現(xiàn)IGES1.0后,又產(chǎn)生了許多其他規(guī)范如XBF、SET、VDA-FS、PDDI、ESP、CAD*I、PDES等。這些規(guī)范各有不同的目的和使用范圍,同時(shí)也存在著各種問題。在這些規(guī)范中,應(yīng)用最成熟、最廣泛的是IGES(Initial Graphics Exchange Specification)。ISO在上述規(guī)范的基礎(chǔ)上,制定了新的數(shù)據(jù)交換標(biāo)準(zhǔn)STEP(Standard for the Exchange of Product Model data),其目的是覆蓋過去已經(jīng)存在的規(guī)范的功能,并解決實(shí)際應(yīng)用中存在的問題。

IGES是在美國國家標(biāo)準(zhǔn)局的倡導(dǎo)下,由美國國家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)組織波音公司、通過公司等共同商議制訂的,1980年公布第一版,以后不斷完善和擴(kuò)充,版本不斷升級(jí),從IGES1.0僅包含二維圖形到IGES3.0支持曲面和三維線框幾何,IGES4.0版支持構(gòu)造實(shí)體幾何(CSG)造型技術(shù),IGES5.0支持邊界表示(BRep)造型技術(shù)。目前幾乎所有有影響的CAD/CAM系統(tǒng)都配有IGES接口,如Pro/E、CATIA、OpenCascade等。它由一系列產(chǎn)品的幾何、繪圖、結(jié)構(gòu)和其他信息組成,可以處理CAD/CAM系統(tǒng)中的在部分信息,是用來定義產(chǎn)品幾何形狀的現(xiàn)代交互圖形標(biāo)準(zhǔn)。

本文結(jié)合OpenCascade和Initial Graphics Exchange Specification來對(duì)IGES格式進(jìn)行詳細(xì)說明,理解IGES格式的結(jié)構(gòu),進(jìn)而方便對(duì)OpenCascade中IGES格式文件讀寫實(shí)現(xiàn)的方式進(jìn)行理解。

二、IGES規(guī)范 the Initial Graphics Exchange Specification

IGES是一種按特定的文件結(jié)構(gòu)安排的數(shù)據(jù)格式,用來描述產(chǎn)品的設(shè)計(jì)和生產(chǎn)信息,可用它來交換CAD/CAM系統(tǒng)中以計(jì)算機(jī)可讀的形式產(chǎn)生和存儲(chǔ)的各種信息。標(biāo)準(zhǔn)的IGES文件包含固定長ASCII碼(Fixed Format)、壓縮的ASCII碼(Compressed Format)和二進(jìn)制(Binary Format)三種格式。

固定長ASCII碼的IGES文件每行為80個(gè)字符,整個(gè)文件分為五段(Section):開始段(Start)、全局段(Global)、元素索引段(Direction Entry)、參數(shù)數(shù)據(jù)段(Parameter Data)和結(jié)束段(Terminate)。如圖2.1所示:

wps_clip_image-21659

Figure 2.1 Fixed File Formats of ASCII IGES File

段標(biāo)識(shí)符位于每行的第73列,74~80列指定為用于段每行的序號(hào)。序號(hào)都以1開始,且連續(xù)不間斷,其值對(duì)應(yīng)該段的列數(shù)。段標(biāo)識(shí)符是這樣規(guī)定的,字符“B”和“C”表示標(biāo)記段;“S”表示開始段;“G”表示全局段;“D”表示元素索引段;“P”表示參數(shù)記錄參數(shù)記錄段;“T”表示結(jié)束段。固定長的ASCII格式的IGES格式的大概結(jié)構(gòu)如下圖2.2所示:

wps_clip_image-17890

Figure 2.2 General file structure of the Fixed Format

下面結(jié)合具體的IGES文件來對(duì)每個(gè)段進(jìn)行說明,僅包含一個(gè)點(diǎn)的示例文件如下所示:

wps_clip_image-18936

Figure 2.3 IGES demo file Generated by OpenCascade

開始段Start Section:該段是為提供一個(gè)可讀文件的序言,主要記錄圖形文件的最初來源及生成該IGES文件的相同名稱。IGES文件至少有一個(gè)開始記錄。

全局段Global Section:主要包含前處理器的描述信息及為處理該文件的后處理器所需要的信息。參數(shù)以自由的格式輸入,用逗號(hào)分隔參數(shù),用分號(hào)結(jié)束一個(gè)參數(shù)。主要參數(shù)有文件名、前處理器版本、單位、文件生成日期、作者姓名及單位、IGES的版本、繪圖標(biāo)準(zhǔn)代碼等。如圖2.3中的2~5行。

元素索引段Directory Entry Section:該段主要為文件提供一個(gè)索引,并含有每個(gè)實(shí)體的屬性信息,文件中每個(gè)實(shí)體都有一個(gè)目錄條目,大小一樣,由8個(gè)字符組成一個(gè)域,共20個(gè)域,每個(gè)條目占用兩行。如圖2.4所示:

wps_clip_image-16738

Figure 2.4 Format of the Directory Entry(DE) Section in the Fixed Format

每一項(xiàng)內(nèi)容如下:

l 元素類型號(hào)(Entity Type Number):說明元素的類型;

l 參數(shù)指針(Parameter Data):說明該元素的參數(shù)在參數(shù)數(shù)據(jù)段的開始序號(hào);

l 圖層:存放圖層名和它的指針;

l 參數(shù)記錄數(shù)(Parameter Line Count):數(shù)字代表該元素的參數(shù)在參數(shù)數(shù)據(jù)段的行數(shù);

參數(shù)數(shù)據(jù)段Parameter Data Section:該段記錄了每個(gè)元素的幾何數(shù)據(jù)。根據(jù)每個(gè)圖形元素參數(shù)數(shù)的多少,決定它將有幾行。如圖2.3所示,116為點(diǎn),它有三個(gè)數(shù)據(jù)X,Y和Z,分別為1,2,3。

結(jié)束段Terminate Section:只占一行,在前32個(gè)字符里,分別用8個(gè)字符記錄了開始段、全局段、索引段和參數(shù)數(shù)據(jù)段的段碼和每段的總行數(shù)。第33~72個(gè)字符沒有用到。最后8個(gè)字符為結(jié)束段的段碼和行數(shù)。

三、OpenCascade中IGES讀寫 OpenCascade IGES Reader/Writer

OpenCascade中提供IGES的程序接口有如下功能:

l 加載IGES文件到內(nèi)存;loading IGES files into memory;

l 檢查IGES文件的一致性;checking IGES files consistency;

l 轉(zhuǎn)換IGES文件到OCCT的形狀;translating IGES files into OCCT shapes;

l 轉(zhuǎn)換OCCT的形狀到IGES文件;translating OCCT shapes into IGES files;

l 訪問IGES文件模型;accessing the IGES model;

l 選擇IGES文件模型中的實(shí)體;selecting entities from the IGES model;

l 訪問IGES文件模型中的每個(gè)實(shí)體;accessing each entity in the IGES model;

實(shí)現(xiàn)上述功能的包是IGESControl,可處理的IGES文件格式的版本為5.3。讀取IGES文件實(shí)體到OCCT形狀的方法如下所示:

 

Standard_Integer ReadIGES(const Standard_CString& aFileName,
                          Handle(TopTools_HSequenceOfShape)
& aHSequenceOfShape)
{
    IGESControl_Reader Reader;

    Standard_Integer status 
= Reader.ReadFile(aFileName);

    
if (status != IFSelect_RetDone) 
    {
        
return status;
    }
        
    Reader.TransferRoots();
    
    TopoDS_Shape aShape 
= Reader.OneShape();     
    aHSequenceOfShape
->Append(aShape);

    
return status;
}

將OCCT形狀轉(zhuǎn)換為IGES文件方法如下所示:

Standard_Boolean SaveIGES(const Standard_CString& aFileName,
                          
const Handle(TopTools_HSequenceOfShape)& aHSequenceOfShape)
{

    IGESControl_Controller::Init();
    IGESControl_Writer ICW (Interface_Static::CVal(
"XSTEP.iges.unit"),
               Interface_Static::IVal(
"XSTEP.iges.writebrep.mode"));
    
    
for (Standard_Integer i=1;i<=aHSequenceOfShape->Length();i++)
    {
        ICW.AddShape (aHSequenceOfShape
->Value(i));
    }

    ICW.ComputeModel();
    Standard_Boolean result 
= ICW.Write(aFileName );
    
return result;
}

 

四、程序示例 Example Code

通過將OpenCascade中的形狀數(shù)據(jù)導(dǎo)出到IGES文件,結(jié)合IGES規(guī)格書,可以方便對(duì)IGES格式的理解。如下程序所示為將簡單的點(diǎn)、線和圓導(dǎo)出到IGES文件:

 

/*
*    Copyright (c) 2014 eryar All Rights Reserved.
*
*           File : Main.cpp
*         Author : eryar@163.com
*           Date : 2014-01-04 20:00
*        Version : 1.0v
*
*    Description : Export OpenCascade shape to IGES entities.
*
*      Key Words : OpenCascade, IGES, DataExchange
*                  
*/

#define WNT
#include 
<gp_Pnt.hxx>
#include 
<gp_Circ.hxx>

#include 
<TopoDS_Vertex.hxx>
#include 
<TopoDS_Edge.hxx>

#include 
<TopTools_ListIteratorOfListOfShape.hxx>

#include 
<BRepBuilderAPI_MakeVertex.hxx>
#include 
<BRepBuilderAPI_MakeEdge.hxx>

#include 
<IGESControl_Controller.hxx>
#include 
<IGESControl_Writer.hxx>


#pragma comment(lib, 
"TKernel.lib")
#pragma comment(lib, 
"TKMath.lib")
#pragma comment(lib, 
"TKBRep.lib")
#pragma comment(lib, 
"TKTopAlgo.lib")
#pragma comment(lib, 
"TKIGES.lib")


void SaveIges(const std::string& igesFile, const TopTools_ListOfShape& shapes)
{
    IGESControl_Controller::Init();
    IGESControl_Writer igesWriter;

    
for (TopTools_ListIteratorOfListOfShape si(shapes); si.More(); si.Next())
    {
        igesWriter.AddShape(si.Value());
    }

    igesWriter.ComputeModel();
    igesWriter.Write(igesFile.c_str());
}


int main(void)
{
    
// vertices.
    TopTools_ListOfShape vertices;
    TopoDS_Vertex theVertex 
= BRepBuilderAPI_MakeVertex(gp_Pnt(1.02.03.0));

    vertices.Append(theVertex);

    SaveIges(
"vertex.iges", vertices);

    
// edges.
    TopTools_ListOfShape edges;
    TopoDS_Edge theLine 
= BRepBuilderAPI_MakeEdge(gp_Pnt(3.04.05.0), gp_Pnt(6.07.08.0));
    TopoDS_Edge theCircle 
= BRepBuilderAPI_MakeEdge(gp_Circ(gp::XOY(), 9.0));

    edges.Append(theLine);
    edges.Append(theCircle);

    SaveIges(
"edge.iges", edges);

    
// put them together.
    TopTools_ListOfShape shapes;
    shapes.Append(theVertex);
    shapes.Append(theLine);
    shapes.Append(theCircle);
    
    SaveIges(
"shapes.iges", shapes);

    
return 0;
}

生成的IGES文件內(nèi)容如下所示:

wps_clip_image-28112

Figure 4.1 Simple Fixed Format IGES File

結(jié)合下圖4.2中實(shí)體類型號(hào)與實(shí)體類型的對(duì)應(yīng)表可知,上圖4.1中的元素索引D段可以看總共有三個(gè)實(shí)體,一個(gè)是類型號(hào)為116的點(diǎn);一個(gè)是類型號(hào)為110的直線;一個(gè)是類型號(hào)為100的圓。

從數(shù)據(jù)參數(shù)P段可以看出116對(duì)應(yīng)的點(diǎn)的坐標(biāo)為(1,2,3);110對(duì)應(yīng)的直線的兩個(gè)端點(diǎn)坐標(biāo)為(3,4,5)和(6,7,8);100對(duì)應(yīng)的圓的數(shù)據(jù)為圓心在(0,0)半徑為9的位于XY平面上的圓。圓的參數(shù)數(shù)據(jù)項(xiàng)每項(xiàng)數(shù)據(jù)說明見圖4.3。

將IGES在OpenCascade中顯示如圖4.4所示。

wps_clip_image-6405

Figure 4.2 Curve and Surface Entities

wps_clip_image-14168

Figure 4.3 Parameter Data of Circle Entity in IGES

wps_clip_image-22491

Figure 4.4 IGES Entities in OpenCascade

五、結(jié)論 Conclusion

結(jié)合OpenCascade生成的IGES文件和Initial Graphics Exchange Specification來對(duì)IGES格式進(jìn)行學(xué)習(xí)。

雖然目前許多CAD/CAM系統(tǒng)主要應(yīng)用是在不同系統(tǒng)間交換工程圖紙、零件模型、運(yùn)動(dòng)仿真和動(dòng)態(tài)實(shí)驗(yàn)所需要的幾何數(shù)據(jù),裝配或銷售產(chǎn)品所需要的圖形文件,但是IGES標(biāo)準(zhǔn)在具體應(yīng)用中經(jīng)常出現(xiàn)以下問題:

l 交換過程中會(huì)出現(xiàn)錯(cuò)誤或數(shù)據(jù)丟失現(xiàn)象。由于IGES所支持的實(shí)體十分龐大,在實(shí)際應(yīng)用中,每一個(gè)CAD/CAM系統(tǒng)不可能實(shí)現(xiàn)IGES支持的所有實(shí)體,而只能實(shí)現(xiàn)它所涉及的實(shí)體的交換,即只能實(shí)現(xiàn)IGES實(shí)體集的一個(gè)子集,但不同系統(tǒng)所實(shí)現(xiàn)的子集不可能完全相同。系統(tǒng)之間只能交換所實(shí)現(xiàn)子集的交集部分。

l 發(fā)送系統(tǒng)前處理器生成的IGES文件的實(shí)體類型超出了接收系統(tǒng)后處理器可能接受的實(shí)體類型范圍,以及發(fā)送系統(tǒng)與接收系統(tǒng)之間實(shí)體類型集雖相同,但有關(guān)屬性如顏色、字體、線型等代碼不同,也將使部分?jǐn)?shù)據(jù)丟失。

l IGES的目的只是傳輸工程圖形及相應(yīng)信息,它無法描述CIMS環(huán)境所需要的產(chǎn)品數(shù)據(jù)的全部信息。而且IGES對(duì)實(shí)體的定義是模糊的,這將造成各CAX系統(tǒng)對(duì)IGES中定義的實(shí)體有不同的理解,如相同的3D曲線功能會(huì)因不同軟件的計(jì)算方式不同而使在使用IGES來執(zhí)行圖形交換時(shí)出現(xiàn)不同的曲線或丟失該曲線。

l IGES文件本身規(guī)模太大,影響數(shù)據(jù)文件的處理速度,使數(shù)據(jù)傳輸效率不高。

l 在轉(zhuǎn)換數(shù)據(jù)的過程中發(fā)生的錯(cuò)誤很難確定,常要人工去處理IGES文件,如在轉(zhuǎn)換數(shù)據(jù)的過程中經(jīng)常發(fā)生某個(gè)或某幾個(gè)小曲面丟失的情況,這是要利用原有曲面邊界重新生成曲面;某些小曲面(Face)在轉(zhuǎn)換過程中變成大曲面(Surface),此時(shí)要對(duì)曲面進(jìn)行裁剪。

六、參考資料 References

1. 李原,張開富,余劍鋒. 計(jì)算機(jī)輔助幾何設(shè)計(jì)技術(shù)及應(yīng)用. 西北工業(yè)大學(xué)出版社. 2007

2. US PRO. Initial Graphics Exchange Specification .1997

3. OpenCascade. Data Exchange IGES Format User’s Guide. 2013

 

Feedback

# re: Open Cascade DataExchange IGES  回復(fù)  更多評(píng)論   

2018-06-29 14:37 by birds
博主您好,
我在使用bounds函數(shù)時(shí)發(fā)現(xiàn),該函數(shù)對(duì)于導(dǎo)入的模型邊界大小范圍永遠(yuǎn)是0-1之內(nèi),但是通過occ自己生成的曲面卻能得到精確的邊界值大小。這是為什么?

# re: Open Cascade DataExchange IGES  回復(fù)  更多評(píng)論   

2018-06-29 20:53 by eryar
@birds
這個(gè)要看你的曲面是什么類型。
occ中的曲面有平面、圓柱面等解析曲面,這類曲面的參數(shù)范圍不一定是0~1;
如果是B樣條曲面,參數(shù)范圍一般是0~1.
建議你可以看看occ的數(shù)據(jù)結(jié)構(gòu)ModelingData模塊。

# re: Open Cascade DataExchange IGES  回復(fù)  更多評(píng)論   

2018-06-30 21:05 by birds
謝謝,我懂了。還有一個(gè)問題請(qǐng)教博主,那就是我想在一個(gè)模型表面通過(u,v)提取坐標(biāo)點(diǎn),但是往往導(dǎo)入模型occ識(shí)別時(shí)都不是單一面(也就是有很多個(gè)topods_face),這樣就需要我對(duì)每個(gè)面分別處理一次得到一批點(diǎn),最后導(dǎo)致得到的點(diǎn)區(qū)域化,沒有規(guī)律,并且在面與面交線處有重復(fù)點(diǎn),所以我想問博主的是,有沒有辦法可以將多個(gè)面轉(zhuǎn)化為一個(gè)面進(jìn)行參數(shù)化處理,一次性得到所有的點(diǎn)。謝謝

# re: Open Cascade DataExchange IGES  回復(fù)  更多評(píng)論   

2018-07-03 14:24 by eryar
@birds
可以用擬合算法根據(jù)這些面擬合出一個(gè)面。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久免费的精品国产v∧| 一区二区三区视频在线| 午夜欧美电影在线观看| 亚洲国产综合视频在线观看| 国产精品久久久久久久午夜片| 巨乳诱惑日韩免费av| 亚洲欧美高清| 一区二区免费在线观看| 亚洲高清久久久| 久久这里有精品15一区二区三区| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲国产视频直播| 合欧美一区二区三区| 国产精品一区毛片| 欧美丝袜一区二区三区| 欧美人与性动交α欧美精品济南到| 久久精品国产v日韩v亚洲| 午夜精品久久| 亚洲欧美日韩在线| 亚洲男人影院| 制服诱惑一区二区| 这里只有精品视频在线| 9色porny自拍视频一区二区| 亚洲激情电影在线| 亚洲国产精品嫩草影院| 亚洲成人在线视频播放| 久久久噜噜噜久久狠狠50岁| 久久av在线| 久久精品国产欧美激情| 久久国产精品色婷婷| 久久成人免费日本黄色| 欧美一区二区三区视频在线 | 亚洲精品美女在线观看| 在线精品一区二区| 亚洲国产老妈| 亚洲黄色免费电影| 日韩视频免费观看高清完整版| 91久久极品少妇xxxxⅹ软件| 亚洲人成网站色ww在线| 夜夜精品视频| 亚洲一区二区精品视频| 午夜精品国产精品大乳美女| 香港久久久电影| 久久国产日本精品| 久久一综合视频| 欧美国产一区视频在线观看| 亚洲国产专区| 一本色道久久综合亚洲91| 亚洲一级一区| 欧美一级一区| 毛片基地黄久久久久久天堂| 欧美高清在线一区二区| 欧美特黄一区| 国产欧美日韩综合一区在线播放 | 一区二区三区视频在线看| 亚洲伊人伊色伊影伊综合网| 欧美在线播放一区| 美女主播一区| 亚洲精选在线| 亚洲欧美欧美一区二区三区| 久久久九九九九| 欧美成人午夜影院| 国产精品久久久久9999| 国内一区二区在线视频观看| 91久久精品www人人做人人爽| 在线视频亚洲一区| 久久久999成人| 亚洲国产一区二区三区青草影视| 中国女人久久久| 久久精品观看| 欧美日产一区二区三区在线观看| 国产精品v一区二区三区| 韩国久久久久| 一区二区三区毛片| 久久久久.com| 91久久精品久久国产性色也91| 亚洲视频在线免费观看| 久久午夜精品一区二区| 欧美日韩在线一区二区三区| 国产网站欧美日韩免费精品在线观看 | 午夜精品久久久久| 欧美大片在线观看一区| 亚洲一区欧美激情| 欧美第一黄网免费网站| 国产亚洲美州欧州综合国| 日韩亚洲欧美一区| 久久久久.com| 亚洲社区在线观看| 美女成人午夜| 国产亚洲一区二区三区| 一本久久知道综合久久| 久久综合影音| 亚洲嫩草精品久久| 欧美日韩国产美| 在线欧美亚洲| 久久精品国产一区二区三区| 日韩网站在线观看| 免费的成人av| 激情综合网址| 欧美一区二区三区在线免费观看 | 久久精品国产精品 | 亚洲丝袜av一区| 欧美韩国在线| 亚洲风情亚aⅴ在线发布| 欧美伊人久久久久久久久影院| 亚洲精品久久在线| 欧美h视频在线| 伊人成人开心激情综合网| 久久se精品一区二区| 中文av字幕一区| 欧美日韩国产一中文字不卡 | 欧美成人午夜激情视频| 伊人久久婷婷色综合98网| 性欧美xxxx视频在线观看| 日韩视频不卡中文| 欧美日韩福利在线观看| 亚洲福利视频网站| 久久综合久久综合这里只有精品| 亚欧美中日韩视频| 国产日韩av高清| 欧美制服丝袜第一页| 亚洲综合色婷婷| 国产精品区一区二区三区| 亚洲图片欧美午夜| 日韩一区二区免费高清| 欧美日韩福利在线观看| 一区二区三区蜜桃网| 日韩视频中午一区| 欧美视频在线观看一区二区| 亚洲五月婷婷| 亚洲网站在线观看| 国产精品日韩欧美一区二区| 欧美一级在线播放| 午夜在线精品| 红桃视频亚洲| 欧美国产日韩一区二区| 欧美成人一区二区在线| 亚洲六月丁香色婷婷综合久久| 亚洲日本乱码在线观看| 欧美日韩美女一区二区| 亚洲一区二区黄| 亚洲欧美另类中文字幕| 国产色综合网| 蜜臀av一级做a爰片久久| 欧美jizzhd精品欧美喷水| 日韩手机在线导航| 中国成人黄色视屏| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美日韩亚洲精品内裤| 亚洲欧美国产精品桃花| 性色av一区二区怡红| 伊人精品视频| 亚洲日本中文字幕免费在线不卡| 欧美三级日本三级少妇99| 欧美一区二区三区四区夜夜大片 | 亚洲靠逼com| 一级日韩一区在线观看| 国产午夜久久| 欧美国产视频在线观看| 欧美日韩一区二区免费在线观看 | 久久精品国产77777蜜臀| 亚洲黄色性网站| 一区二区电影免费观看| 国产一区二区三区网站| 亚洲国产日韩精品| 国产精品香蕉在线观看| 欧美电影美腿模特1979在线看| 欧美大片va欧美在线播放| 亚洲欧美网站| 麻豆乱码国产一区二区三区| 亚洲视屏一区| 久久亚洲视频| 亚洲你懂的在线视频| 久久欧美中文字幕| 亚洲午夜一区二区三区| 久久精品在线观看| 中文在线一区| 久久精品国产一区二区三区免费看| 日韩视频一区二区| 欧美在线亚洲综合一区| 一区二区成人精品| 久久精品99无色码中文字幕| 一区二区三区四区五区视频 | 蜜桃久久av一区| 国产精品99一区| 欧美成人亚洲成人| 国产日韩在线不卡| 亚洲精品一区二区三区不| 精品白丝av| 亚洲摸下面视频| 中国女人久久久| 久久久视频精品| 欧美一区在线看| 欧美日韩精品免费观看视频| 老牛嫩草一区二区三区日本| 国产精品视频内| 99视频在线精品国自产拍免费观看| 亚洲国产高清在线观看视频| 欧美一区二区在线看| 午夜电影亚洲|