コード例 #1
0
    def prop_soild(self, sol=TopoDS_Solid()):
        self.sol_builder = TopoDS_Builder()

        sol_exp = TopExp_Explorer(sol, TopAbs_FACE)
        sol_top = TopologyExplorer(sol)
        #print(self.cal_vol(sol), self.base_vol)
        print(sol_top.number_of_faces())

        self.face_lst = TopTools_ListOfShape()
        self.face_cnt = []
        self.face_num = 0
        self.face_init(sol_exp.Current())
        #self.sol_builder.Add(sol, sol_exp.Current())
        sol_exp.Next()

        while sol_exp.More():
            face = sol_exp.Current()
            self.face_expand(face)
            sol_exp.Next()

        if self.file == True:
            stp_file = "./shp/shp_{:04d}.stp".format(self.sol_num)
            write_step_file(sol, stp_file)

            stp_file = "./shp/shp_{:04d}_exp.stp".format(self.sol_num)
            new_shpe = TopoDS_Compound()
            self.sol_builder.Add(gp_Pnt())
            # self.sol_builder.MakeCompSolid(new_shpe)
            #write_step_file(new_shpe, stp_file)

        # if self.show == True:
        #    self.display.DisplayShape(self.face_cnt)
        """self.face_init(face)
コード例 #2
0
 def test_default_constructor_DEFINE_STANDARD_ALLOC(self):
     ''' OCE classes the defines standard alllocator can be instanciated
     if they're not abstract nor define any protected or private
     constructor '''
     BRep_Builder()
     TopoDS_Builder()
     ShapeAnalysis_Curve()
コード例 #3
0
ファイル: dataIO.py プロジェクト: lentychang/rel_pose_ext
def solid_comp(solidList):
    aRes = TopoDS_CompSolid()
    builder = TopoDS_Builder()
    builder.MakeCompSolid(aRes)
    # transfer shapes and write file
    for shp in solidList:
        builder.Add(aRes, shp)
    return aRes
コード例 #4
0
 def test_default_constructor_DEFINE_STANDARD_ALLOC(self) -> None:
     ''' OCE classes the defines standard alllocator can be instantiated
     if they're not abstract nor define any protected or private
     constructor '''
     b = BRep_Builder()
     self.assertIsInstance(b, BRep_Builder)
     t = TopoDS_Builder()
     self.assertIsInstance(t, TopoDS_Builder)
     s = ShapeAnalysis_Curve()
     self.assertIsInstance(s, ShapeAnalysis_Curve)
コード例 #5
0
 def testTopoDS_byref_arguments(self):
     '''
     Test byref pass arguments to TopoDS
     '''
     cyl1 = BRepPrimAPI_MakeCylinder(10., 10.).Shape()
     cyl2 = BRepPrimAPI_MakeCylinder(100., 50.).Shape()
     c = TopoDS_Compound()
     bb = TopoDS_Builder()
     bb.MakeCompound(c)
     for child in [cyl1, cyl2]:
         bb.Add(c, child)
コード例 #6
0
def compound(topo):
    '''
    accumulate a bunch of TopoDS_* in list `topo` to a TopoDS_Compound
    @param topo: list of TopoDS_* instances
    '''
    bd = TopoDS_Builder()
    comp = TopoDS_Compound()
    bd.MakeCompound(comp)
    for i in topo:
        bd.Add(comp, i)
    return comp
コード例 #7
0
 def test_TopoDS_byref_arguments(self) -> None:
     '''
     Test byref pass arguments to TopoDS
     '''
     cyl1 = BRepPrimAPI_MakeCylinder(10., 10.).Shape()
     cyl2 = BRepPrimAPI_MakeCylinder(100., 50.).Shape()
     c = TopoDS_Compound()
     self.assertTrue(c.IsNull())
     bb = TopoDS_Builder()
     bb.MakeCompound(c)
     for child in [cyl1, cyl2]:
         bb.Add(c, child)
     self.assertFalse(c.IsNull())
コード例 #8
0
def voxel_to_TopoDS(model, voxel_length, voxel_width, voxel_height):
    (position_x, position_y, position_z) = np.where(model.data)
    voxel = TopoDS_Compound()
    counter = TopoDS_Builder()
    counter.MakeCompound(voxel)

    for i in range(position_x.size):
        voxel1 = TopoDS_Shape(
            BRepPrimAPI_MakeBox(voxel_length, voxel_width,
                                voxel_height).Shape())
        transmat = gp_Trsf()
        x, y, z = position_x[i] * voxel_length, position_y[
            i] * voxel_width, position_z[i] * voxel_height
        transmat.SetTranslation(gp_Vec(float(x), float(y), float(z)))
        location = TopLoc_Location(transmat)
        voxel1.Location(location)
        counter.Add(voxel, voxel1)

    return voxel
コード例 #9
0
 def test_protected_constructor(self):
     """ Test: protected constructor """
     # 1st, class with no subclass
     tds_builder = TopoDS_Builder()
     self.assertTrue(hasattr(tds_builder, "MakeCompound"))
コード例 #10
0
 def testProtectedConstructor(self):
     """ Test: protected constructor """
     # 1st, class with no subclass
     from OCC.Core.TopoDS import TopoDS_Builder
     tds_builder = TopoDS_Builder()
     self.assertTrue(hasattr(tds_builder, "MakeCompound"))
コード例 #11
0
    def __init__(self):  #初始化参数
        pass
        #螺母参数初始化---------------------------
        self.SFU01204_4_dict = {
            "d": 12,
            "I": 4,
            "Da": 2.500,
            "D": 24,
            "A": 40,
            "B": 10,
            "L": 40,
            "W": 32,
            "H": 30,
            "X": 4.5,
            "Q": "-",
            "N": "1x4",
            "Ca": 902,
            "Coa": 1884,
            "kgf/um": 26
        }  #
        self.SFU01604_4_dict = {
            "d": 16,
            "I": 4,
            "Da": 2.381,
            "D": 28,
            "A": 48,
            "B": 10,
            "L": 40,
            "W": 38,
            "H": 40,
            "X": 5.5,
            "Q": "M6",
            "N": "1x4",
            "Ca": 973,
            "Coa": 2406,
            "kgf/um": 32
        }  #
        self.SFU01605_4_dict = {
            "d": 16,
            "I": 5,
            "Da": 3.175,
            "D": 28,
            "A": 48,
            "B": 10,
            "L": 50,
            "W": 38,
            "H": 40,
            "X": 5.5,
            "Q": "M6",
            "N": "1x4",
            "Ca": 1380,
            "Coa": 3052,
            "kgf/um": 32
        }  #
        self.SFU01610_4_dict = {
            "d": 16,
            "I": 10,
            "Da": 3.175,
            "D": 28,
            "A": 48,
            "B": 10,
            "L": 57,
            "W": 38,
            "H": 40,
            "X": 5.5,
            "Q": "M6",
            "N": "1x3",
            "Ca": 1103,
            "Coa": 2401,
            "kgf/um": 26
        }  #
        self.SFU02004_4_dict = {
            "d": 20,
            "I": 4,
            "Da": 2.381,
            "D": 36,
            "A": 58,
            "B": 10,
            "L": 42,
            "W": 47,
            "H": 44,
            "X": 6.6,
            "Q": "M6",
            "N": "1x4",
            "Ca": 1066,
            "Coa": 2987,
            "kgf/um": 38
        }
        self.SFU02005_4_dict = {
            "d": 20,
            "I": 5,
            "Da": 3.175,
            "D": 36,
            "A": 58,
            "B": 10,
            "L": 51,
            "W": 47,
            "H": 44,
            "X": 6.6,
            "Q": "M6",
            "N": "1x4",
            "Ca": 1551,
            "Coa": 3875,
            "kgf/um": 39
        }
        self.SFU02504_4_dict = {
            "d": 25,
            "I": 4,
            "Da": 2.381,
            "D": 40,
            "A": 62,
            "B": 10,
            "L": 42,
            "W": 51,
            "H": 48,
            "X": 6.6,
            "Q": "M6",
            "N": "1x4",
            "Ca": 1180,
            "Coa": 3795,
            "kgf/um": 43
        }
        self.SFU02505_4_dict = {
            "d": 25,
            "I": 5,
            "Da": 3.175,
            "D": 40,
            "A": 62,
            "B": 10,
            "L": 51,
            "W": 51,
            "H": 48,
            "X": 6.6,
            "Q": "M6",
            "N": "1x4",
            "Ca": 1724,
            "Coa": 4904,
            "kgf/um": 45
        }
        self.SFU02506_4_dict = {
            "d": 25,
            "I": 6,
            "Da": 3.969,
            "D": 40,
            "A": 62,
            "B": 10,
            "L": 54,
            "W": 51,
            "H": 48,
            "X": 6.6,
            "Q": "M6",
            "N": "1x4",
            "Ca": 2318,
            "Coa": 6057,
            "kgf/um": 47
        }
        self.SFU02508_4_dict = {
            "d": 25,
            "I": 8,
            "Da": 4.762,
            "D": 40,
            "A": 62,
            "B": 10,
            "L": 63,
            "W": 51,
            "H": 48,
            "X": 6.6,
            "Q": "M6",
            "N": "1x4",
            "Ca": 2963,
            "Coa": 7313,
            "kgf/um": 49
        }
        self.SFU02510_4_dict = {
            "d": 25,
            "I": 10,
            "Da": 4.762,
            "D": 40,
            "A": 62,
            "B": 12,
            "L": 85,
            "W": 51,
            "H": 48,
            "X": 6.6,
            "Q": "M6",
            "N": "1x4",
            "Ca": 2954,
            "Coa": 7295,
            "kgf/um": 50
        }
        self.SFU03204_4_dict = {
            "d": 32,
            "I": 4,
            "Da": 2.381,
            "D": 50,
            "A": 80,
            "B": 12,
            "L": 44,
            "W": 65,
            "H": 62,
            "X": 9.0,
            "Q": "M6",
            "N": "1x4",
            "Ca": 1296,
            "Coa": 4838,
            "kgf/um": 51
        }
        self.SFU03205_4_dict = {
            "d": 32,
            "I": 5,
            "Da": 2.381,
            "D": 50,
            "A": 80,
            "B": 12,
            "L": 52,
            "W": 65,
            "H": 62,
            "X": 9.0,
            "Q": "M6",
            "N": "1x4",
            "Ca": 1922,
            "Coa": 6343,
            "kgf/um": 54
        }
        self.SFU03206_4_dict = {
            "d": 32,
            "I": 6,
            "Da": 3.969,
            "D": 50,
            "A": 80,
            "B": 12,
            "L": 57,
            "W": 65,
            "H": 62,
            "X": 9.0,
            "Q": "M6",
            "N": "1x4",
            "Ca": 2632,
            "Coa": 7979,
            "kgf/um": 57
        }
        self.SFU03208_4_dict = {
            "d": 32,
            "I": 8,
            "Da": 3.969,
            "D": 50,
            "A": 80,
            "B": 12,
            "L": 65,
            "W": 65,
            "H": 62,
            "X": 9.0,
            "Q": "M6",
            "N": "1x4",
            "Ca": 3387,
            "Coa": 9622,
            "kgf/um": 60
        }
        self.SFU03210_4_dict = {
            "d": 32,
            "I": 10,
            "Da": 3.969,
            "D": 50,
            "A": 80,
            "B": 12,
            "L": 90,
            "W": 65,
            "H": 62,
            "X": 9.0,
            "Q": "M6",
            "N": "1x4",
            "Ca": 4805,
            "Coa": 12208,
            "kgf/um": 61
        }
        self.SFU04005_4_dict = {
            "d": 40,
            "I": 5,
            "Da": 3.175,
            "D": 63,
            "A": 93,
            "B": 14,
            "L": 55,
            "W": 78,
            "H": 70,
            "X": 9.0,
            "Q": "M6",
            "N": "1x4",
            "Ca": 2110,
            "Coa": 7988,
            "kgf/um": 63
        }
        self.SFU04006_4_dict = {
            "d": 40,
            "I": 6,
            "Da": 3.969,
            "D": 63,
            "A": 93,
            "B": 14,
            "L": 60,
            "W": 78,
            "H": 70,
            "X": 9.0,
            "Q": "M6",
            "N": "1x4",
            "Ca": 2873,
            "Coa": 9913,
            "kgf/um": 66
        }
        self.SFU04008_4_dict = {
            "d": 40,
            "I": 8,
            "Da": 4.762,
            "D": 63,
            "A": 93,
            "B": 14,
            "L": 67,
            "W": 78,
            "H": 70,
            "X": 9.0,
            "Q": "M6",
            "N": "1x4",
            "Ca": 3712,
            "Coa": 11947,
            "kgf/um": 70
        }
        self.SFU04010_4_dict = {
            "d": 40,
            "I": 10,
            "Da": 6.325,
            "D": 63,
            "A": 93,
            "B": 14,
            "L": 93,
            "W": 78,
            "H": 70,
            "X": 9.0,
            "Q": "M6",
            "N": "1x4",
            "Ca": 5399,
            "Coa": 15500,
            "kgf/um": 73
        }
        self.SFU05010_4_dict = {
            "d": 50,
            "I": 10,
            "Da": 6.325,
            "D": 75,
            "A": 110,
            "B": 16,
            "L": 93,
            "W": 93,
            "H": 85,
            "X": 11,
            "Q": "M6",
            "N": "1x4",
            "Ca": 6004,
            "Coa": 19614,
            "kgf/um": 85
        }
        self.SFU05020_4_dict = {
            "d": 50,
            "I": 20,
            "Da": 7.144,
            "D": 75,
            "A": 110,
            "B": 16,
            "L": 138,
            "W": 93,
            "H": 85,
            "X": 11,
            "Q": "M6",
            "N": "1x4",
            "Ca": 7142,
            "Coa": 22588,
            "kgf/um": 94
        }
        self.SFU06310_4_dict = {
            "d": 63,
            "I": 10,
            "Da": 6.325,
            "D": 90,
            "A": 125,
            "B": 18,
            "L": 98,
            "W": 108,
            "H": 95,
            "X": 11,
            "Q": "M6",
            "N": "1x4",
            "Ca": 6719,
            "Coa": 25358,
            "kgf/um": 99
        }
        self.SFU06320_4_dict = {
            "d": 63,
            "I": 10,
            "Da": 9.525,
            "D": 95,
            "A": 135,
            "B": 20,
            "L": 149,
            "W": 115,
            "H": 100,
            "X": 13.5,
            "Q": "M6",
            "N": "1x4",
            "Ca": 11444,
            "Coa": 36653,
            "kgf/um": 112
        }
        self.SFU08010_4_dict = {
            "d": 80,
            "I": 10,
            "Da": 6.325,
            "D": 95,
            "A": 105,
            "B": 20,
            "L": 98,
            "W": 125,
            "H": 110,
            "X": 13.5,
            "Q": "M6",
            "N": "1x4",
            "Ca": 7346,
            "Coa": 31953,
            "kgf/um": 109
        }
        self.SFU08020_4_dict = {
            "d": 80,
            "I": 20,
            "Da": 9.525,
            "D": 125,
            "A": 165,
            "B": 25,
            "L": 154,
            "W": 145,
            "H": 130,
            "X": 13.5,
            "Q": "M6",
            "N": "1x4",
            "Ca": 12911,
            "Coa": 47747,
            "kgf/um": 138
        }
        self.SFU10020_4_dict = {
            "d": 100,
            "I": 20,
            "Da": 9.525,
            "D": 125,
            "A": 150,
            "B": 30,
            "L": 180,
            "W": 170,
            "H": 155,
            "X": 13.5,
            "Q": "M6",
            "N": "1x4",
            "Ca": 14303,
            "Coa": 60698,
            "kgf/um": 162
        }
        self.SFU_serise_dict = {
            "SFU01204_4": self.SFU01204_4_dict,
            "SFU01604_4": self.SFU01604_4_dict,
            "SFU01605_4": self.SFU01605_4_dict,
            "SFU01610_4": self.SFU01610_4_dict,
            "SFU02004_4": self.SFU02004_4_dict,
            "SFU02005_4": self.SFU02005_4_dict,
            "SFU02505_4": self.SFU02505_4_dict,
            "SFU02506_4": self.SFU02506_4_dict,
            "SFU02508_4": self.SFU02508_4_dict,
            "SFU02510_4": self.SFU02510_4_dict,
            "SFU03204_4": self.SFU03204_4_dict,
            "SFU03205_4": self.SFU03205_4_dict,
            "SFU03206_4": self.SFU03206_4_dict,
            "SFU03208_4": self.SFU03208_4_dict,
            "SFU03210_4": self.SFU03210_4_dict,
            "SFU04005_4": self.SFU04005_4_dict,
            "SFU04006_4": self.SFU04006_4_dict,
            "SFU04008_4": self.SFU04008_4_dict,
            "SFU04010_4": self.SFU04010_4_dict,
            "SFU05010_4": self.SFU05010_4_dict,
            "SFU05020_4": self.SFU05020_4_dict,
            "SFU06310_4": self.SFU06310_4_dict,
            "SFU06320_4": self.SFU06320_4_dict,
            "SFU08010_4": self.SFU08010_4_dict,
            "SFU08020_4": self.SFU08020_4_dict,
            "SFU10020_4": self.SFU10020_4_dict
        }
        #丝杆参数初始化----------------------------------
        #-------------BKBF系列--------------------------
        self.BK_10_dict = {
            "D1": 8.,
            "D2": 10.,
            "D3": 12,
            "D4": 8,
            "D5": 7.0,
            "L1": 15,
            "L2": 16,
            "L3": 39,
            "L4": 10,
            "L5": 7.9,
            "L6": 0.9,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  # ok
        self.BK_12_dict = {
            "D1": 10.,
            "D2": 12.,
            "D3": 16,
            "D4": 10,
            "D5": 9.6,
            "L1": 15,
            "L2": 14,
            "L3": 39,
            "L4": 11,
            "L5": 9.15,
            "L6": 1.15,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  #ok
        self.BK_15_dict = {
            "D1": 12.,
            "D2": 15.,
            "D3": 20,
            "D4": 15,
            "D5": 14.3,
            "L1": 20,
            "L2": 12,
            "L3": 40,
            "L4": 13,
            "L5": 10.15,
            "L6": 1.15,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  #ok
        self.BK_17_dict = {
            "D1": 15.,
            "D2": 17.,
            "D3": 20,
            "D4": 17,
            "D5": 16.2,
            "L1": 23,
            "L2": 17,
            "L3": 53,
            "L4": 16,
            "L5": 13.15,
            "L6": 1.15,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  #ok
        self.BK_20_dict = {
            "D1": 17.,
            "D2": 20.,
            "D3": 25,
            "D4": 20,
            "D5": 16.2,
            "L1": 25,
            "L2": 15,
            "L3": 53,
            "L4": 16,
            "L5": 13.35,
            "L6": 1.35,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  #ok
        self.BK_25_dict = {
            "D1": 20.,
            "D2": 25.,
            "D3": 30,
            "D4": 25,
            "D5": 23.9,
            "L1": 30,
            "L2": 18,
            "L3": 65,
            "L4": 20,
            "L5": 16.35,
            "L6": 1.35,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  # ok
        self.BK_30_dict = {
            "D1": 25.,
            "D2": 30.,
            "D3": 35,
            "D4": 30,
            "D5": 28.6,
            "L1": 38,
            "L2": 25,
            "L3": 72,
            "L4": 21,
            "L5": 17.75,
            "L6": 1.75,
            "C1": 0.5,
            "C2": 0.7,
            "C3": 1.0
        }  #ok
        self.BK_35_dict = {
            "D1": 30.,
            "D2": 35.,
            "D3": 40,
            "D4": 35,
            "D5": 33,
            "L1": 45,
            "L2": 28,
            "L3": 83,
            "L4": 22,
            "L5": 18.75,
            "L6": 1.75,
            "C1": 0.5,
            "C2": 1.0,
            "C3": 1.0
        }  # ok
        self.BK_40_dict = {
            "D1": 35.,
            "D2": 40.,
            "D3": 50,
            "D4": 40,
            "D5": 38,
            "L1": 50,
            "L2": 35,
            "L3": 98,
            "L4": 23,
            "L5": 19.95,
            "L6": 1.95,
            "C1": 0.5,
            "C2": 1.0,
            "C3": 1.0
        }  #ok
        self.BK_serise_dict = {
            "BKBF10": self.BK_10_dict,
            "BKBF12": self.BK_12_dict,
            "BKBF15": self.BK_15_dict,
            "BKBF17": self.BK_17_dict,
            "BKBF20": self.BK_20_dict,
            "BKBF25": self.BK_25_dict,
            "BKBF30": self.BK_30_dict,
            "BKBF35": self.BK_35_dict,
            "BKBF40": self.BK_40_dict
        }
        # -------------EKEF系列--------------------------
        self.EK_06_dict = {
            "D1": 8.,
            "D2": 6.,
            "D3": 6,
            "D4": 6,
            "D5": 5.7,
            "L1": 8,
            "L2": 10,
            "L3": 30,
            "L4": 9,
            "L5": 6.8,
            "L6": 0.8,
            "C1": 0.3,
            "C2": 0.3,
            "C3": 0.3
        }  # ok
        self.EK_08_dict = {
            "D1": 6.,
            "D2": 8.,
            "D3": 10,
            "D4": 6,
            "D5": 5.7,
            "L1": 9,
            "L2": 10,
            "L3": 35,
            "L4": 9,
            "L5": 6.8,
            "L6": 0.8,
            "C1": 0.3,
            "C2": 0.3,
            "C3": 0.3
        }  # ok
        self.EK_10_dict = {
            "D1": 8.,
            "D2": 10.,
            "D3": 12,
            "D4": 8,
            "D5": 7.6,
            "L1": 15,
            "L2": 11,
            "L3": 36,
            "L4": 10,
            "L5": 7.9,
            "L6": 0.9,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  # ok
        self.EK_12_dict = {
            "D1": 10.,
            "D2": 12.,
            "D3": 15,
            "D4": 10,
            "D5": 9.6,
            "L1": 15,
            "L2": 11,
            "L3": 36,
            "L4": 11,
            "L5": 9.15,
            "L6": 1.15,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  # ok
        self.EK_15_dict = {
            "D1": 12.,
            "D2": 15.,
            "D3": 18,
            "D4": 15,
            "D5": 14.3,
            "L1": 20,
            "L2": 11,
            "L3": 49,
            "L4": 13,
            "L5": 10.15,
            "L6": 1.15,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  # ok
        self.EK_20_dict = {
            "D1": 17.,
            "D2": 20.,
            "D3": 25,
            "D4": 20,
            "D5": 19,
            "L1": 25,
            "L2": 17,
            "L3": 64,
            "L4": 19,
            "L5": 15.35,
            "L6": 1.35,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  # ok
        self.EK_25_dict = {
            "D1": 20.,
            "D2": 25.,
            "D3": 32,
            "D4": 25,
            "D5": 23.9,
            "L1": 30,
            "L2": 18,
            "L3": 65,
            "L4": 20,
            "L5": 16.35,
            "L6": 1.35,
            "C1": 0.5,
            "C2": 0.7,
            "C3": 0.1
        }  # ok
        self.EK_serise_dict = {
            "EKEF06": self.EK_06_dict,
            "EKEF08": self.EK_08_dict,
            "EKEF10": self.EK_10_dict,
            "EKEF12": self.EK_12_dict,
            "EKEF15": self.EK_15_dict,
            "EKEF20": self.EK_20_dict,
            "EKEF25": self.EK_25_dict
        }
        # -------------FKFF系列--------------------------
        self.FK_08_dict = {
            "D1": 6.,
            "D2": 8.,
            "D3": 10,
            "D4": 6,
            "D5": 5.7,
            "L1": 9,
            "L2": 15,
            "L3": 25,
            "L4": 9,
            "L5": 6.8,
            "L6": 0.8,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  # ok
        self.FK_10_dict = {
            "D1": 8.,
            "D2": 10.,
            "D3": 12,
            "D4": 8,
            "D5": 5.6,
            "L1": 15,
            "L2": 11,
            "L3": 36,
            "L4": 10,
            "L5": 7.9,
            "L6": 0.9,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  # ok
        self.FK_12_dict = {
            "D1": 10.,
            "D2": 12.,
            "D3": 15,
            "D4": 10,
            "D5": 9.6,
            "L1": 15,
            "L2": 11,
            "L3": 36,
            "L4": 11,
            "L5": 9.15,
            "L6": 1.15,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  # ok
        self.FK_15_dict = {
            "D1": 12.,
            "D2": 15.,
            "D3": 18,
            "D4": 15,
            "D5": 14.3,
            "L1": 20,
            "L2": 13,
            "L3": 36,
            "L4": 13,
            "L5": 10.15,
            "L6": 1.15,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  # ok
        self.FK_20_dict = {
            "D1": 17.,
            "D2": 20.,
            "D3": 25,
            "D4": 20,
            "D5": 19,
            "L1": 25,
            "L2": 17,
            "L3": 64,
            "L4": 19,
            "L5": 15.75,
            "L6": 1.35,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  # ok
        self.FK_25_dict = {
            "D1": 20.,
            "D2": 25.,
            "D3": 32,
            "D4": 25,
            "D5": 23.9,
            "L1": 30,
            "L2": 20,
            "L3": 76,
            "L4": 20,
            "L5": 16.35,
            "L6": 1.35,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  # ok
        self.FK_30_dict = {
            "D1": 25.,
            "D2": 30.,
            "D3": 40,
            "D4": 30,
            "D5": 28.6,
            "L1": 38,
            "L2": 25,
            "L3": 72,
            "L4": 21,
            "L5": 17.75,
            "L6": 1.75,
            "C1": 0.5,
            "C2": 0.5,
            "C3": 0.5
        }  # ok
        self.FK_serise_dict = {
            "FKFF08": self.FK_08_dict,
            "FKFF10": self.FK_10_dict,
            "FKFF15": self.FK_15_dict,
            "FKFF20": self.FK_20_dict,
            "FKFF25": self.FK_25_dict,
            "FKFF30": self.FK_30_dict
        }

        #复合体初始化---------------------------------
        self.shape = TopoDS_Shape()
        self.new_build = TopoDS_Builder()  # 建立一个TopoDS_Builder()
        self.aCompound = TopoDS_Compound()  # 定义一个复合体
        self.new_build.MakeCompound(self.aCompound)  # 生成一个复合体DopoDS_shape