from odoo import models, fields class BasicParametersFixture(models.Model): _name = 'sf.fixture.materials.basic.parameters' _description = '夹具物料基本参数' fixture_model_id = fields.Many2one('sf.fixture.model', '夹具型号') name = fields.Char('物料号', size=20) length = fields.Float('长度(mm)', digits=(16, 2)) width = fields.Float('宽度(mm)', digits=(16, 2)) height = fields.Float('高度(mm)', digits=(16, 2)) diameter = fields.Float('直径(mm)', digits=(16, 2)) # '零点卡盘' 字段 weight = fields.Float('重量(mm)', digits=(16, 2)) orientation_dish_diameter = fields.Float('定位盘直径(mm)', digits=(16, 2)) clamping_diameter = fields.Float('装夹直径(mm)', digits=(16, 2)) clamping_num = fields.Selection([('1', '1'), ('2', '2'), ('4', '4'), ('6', '6'), ('8', '8')], string='夹装单元数') chucking_power_max = fields.Float('最大夹持力(KN)', digits=(16, 2)) repeated_positioning_accuracy = fields.Char('重复定位精度(mm)', size=20) boolean_transposing_hole = fields.Boolean('是否有转位孔') unlocking_method = fields.Selection( [('手动', '手动'), ('气动', '气动'), ('液压', '液压'), ('电动', '电动'), ('其他', '其他')], string='解锁方式') boolean_chip_blowing_function = fields.Boolean('是否有吹屑功能') carrying_capacity_max = fields.Float('最大承载重量(kg)', digits=(16, 2)) rigidity = fields.Integer('硬度HRC') materials_model_id = fields.Many2one('sf.materials.model', '夹具材质') machine_tool_type_id = fields.Many2one('sf.machine_tool.type', '适用机床型号') # ’零点托盘‘ 字段 connector_diameter = fields.Selection([('2', '2'), ('3', '3'), ('4', '4'), ('5', '5'), ('6', '6'), ('8', '8')], string='连接头直径(mm)') way_to_install = fields.Selection( [('接口式', '接口式'), ('螺栓固定', '螺栓固定'), ('磁吸式', '磁吸式'), ('其他', '其他')], string='安装方式') type_of_drive = fields.Selection( [('气动式', '气动式'), ('液压式', '液压式'), ('机械式', '机械式'), ('电动式', '电动式'), ('其他', '其他')], string='驱动方式') # ’气动夹具‘ 字段 gripper_length_min = fields.Float('夹持工件最小长度(mm)', digits=(16, 2)) gripper_width_min = fields.Float('夹持工件最小宽度(mm)', digits=(16, 2)) gripper_height_min = fields.Float('夹持工件最小高度(mm)', digits=(16, 2)) gripper_diameter_min = fields.Float('夹持工件最小直径(mm)', digits=(16, 2)) gripper_length_max = fields.Float('夹持工件最大长度(mm)', digits=(16, 2)) gripper_width_max = fields.Float('夹持工件最大宽度(mm)', digits=(16, 2)) gripper_height_max = fields.Float('夹持工件最大高度(mm)', digits=(16, 2)) gripper_diameter_max = fields.Float('夹持工件最大直径(mm)', digits=(16, 2)) rated_air_pressure = fields.Float('额定气压(Mpa)', digits=(16, 2)) interface_materials_model_id = fields.Many2one('sf.materials.model', '接口类型') # ‘虎钳夹具' 字段 transverse_groove = fields.Float('横向配合槽n(mm)', digits=(16, 2)) longitudinal_fitting_groove = fields.Float('纵向配合槽l(mm)', digits=(16, 2)) # '磁吸夹具' 字段 height_tolerance_value = fields.Char('高度公差(mm)') rated_adsorption_force = fields.Float('额定吸附力(N/cm²)', digits=(16, 2)) magnetic_field_height = fields.Float('磁场高度(mm)', digits=(16, 2)) magnetic_pole_plate_grinding_allowance = fields.Float('磁极板磨削余量(mm)', digits=(16, 2)) # '转接板夹具' 字段 screw_size = fields.Float('螺牙大小(mm)', digits=(16, 2)) via_hole_diameter = fields.Float('过孔直径(mm)', digits=(16, 2)) # '三爪卡盘' 字段 mounting_hole_depth = fields.Float('安装孔深度(mm)', digits=(16, 2)) centering_diameter = fields.Float('定心直径(mm)', digits=(16, 2))