Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/新增夹具功能

This commit is contained in:
jinling.yang
2023-06-29 17:14:48 +08:00
141 changed files with 20125 additions and 4856 deletions

View File

@@ -1,11 +1,9 @@
from . import base
from . import common
#from . import tool_base
#from . import fixture_base
from . import tool_base_new
from . import fixture
from . import functional_fixture
# from . import tool_base
from . import tool_base_new
#from . import fixture_base

View File

@@ -41,7 +41,7 @@ class FixtureModel(models.Model):
clamp_workpiece_height_max = fields.Char(string="夹持工件高度MAX[mm]")
clamp_workpiece_diameter_max = fields.Char(string="夹持工件直径MAX[mm]")
maximum_carrying_weight = fields.Char(string="最大承载重量[kg]")
Maximum_clamping_force = fields.Char(string="最大夹持力[n]")
maximum_clamping_force = fields.Char(string="最大夹持力[n]")
materials_model_id = fields.Many2one('sf.materials.model', string="材料型号")
driving_way = fields.Char(string="驱动方式")
apply_machine_tool_type = fields.Char(string="适用机床型号")

View File

@@ -15,5 +15,28 @@ class FunctionalFixture(models.Model):
_description = "功能夹具"
code = fields.Char(string='编码', readonly=True)
name = fields.Char(string="名称", size=15)
functional_fixture_type_id = fields.Many2one('mrs.functional.fixture.type', string="功能夹具类型" )
name = fields.Char(string="名称", size=15, required=True)
functional_fixture_type_id = fields.Many2one('sf.functional.fixture.type', string="功能夹具类型", required=True)
zero_chuck_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_zero_chuck', string="零点卡盘型号",
required=True,
domain=[('fixture_material_type', '=', '零点卡盘')])
transfer_tray_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_transfer_tray',
string="转接板(锁板)托盘型号",
domain=[('fixture_material_type', '=', '转接板(锁板)托盘')])
pneumatic_tray_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_pneumatic_tray',
string="气动托盘型号",
domain=[('fixture_material_type', '=', '气动托盘')])
magnetic_tray_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_magnetic_tray',
string="磁吸托盘型号",
domain=[('fixture_material_type', '=', '磁吸托盘')])
vice_tray_model_ids = fields.Many2many('sf.fixture.model', 'rel_fixture_model_vice_tray', string="虎钳托盘型号",
domain=[('fixture_material_type', '=', '虎钳托盘')])
def _get_fixture_model_ids(self, fixture_model_code):
fixture_model_ids = []
for item in fixture_model_code:
fixture_model = self.env['sf.fixture.model'].search([('code', '=', item)])
fixture_model_ids.append(fixture_model.id)
return [(6, 0, fixture_model_ids)]

View File

@@ -21,7 +21,7 @@ class FunctionalCuttingTool(models.Model):
code = fields.Char('编码')
name = fields.Char('名称')
mrs_cutting_tool_type_id = fields.Many2one('sf.cutting.tool.type', string='功能刀具类型')
mrs_cutting_tool_type_id = fields.Many2one('sf.functional.cutting.tool.model', string='功能刀具类型')
mrs_cutting_tool_model_id = fields.Many2one('sf.cutting.tool.model', string='刀具型号')
diameter = fields.Float('直径(mm)')
tool_grade = fields.Selection([('1', 'P1'), ('2', 'P2'), ('3', 'P3'), ('4', 'P4'), ('5', 'P5'), ('6', 'P6')],
@@ -68,6 +68,9 @@ class CuttingToolModel(models.Model):
# 整体式刀具特有字段
integral_code = fields.Char('整体式刀具编码')
integral_accuracy = fields.Float('精度(μm)')
integral_hardness = fields.Float('加工硬度(HRC)')
integral_coating_material = fields.Char('涂层材质')
integral_total_length = fields.Float('总长度(mm)')
integral_shank_length = fields.Float('柄部长度(mm)')
integral_blade_length = fields.Float('刃部长度(mm)')
@@ -81,6 +84,7 @@ class CuttingToolModel(models.Model):
# 刀片特有字段
blade_code = fields.Char('刀片编码')
blade_coating_material = fields.Char('涂层材质')
blade_length = fields.Float('长度L(mm)')
blade_width = fields.Float('宽度D(mm)')
blade_height = fields.Float('高度T(mm)')
@@ -90,6 +94,7 @@ class CuttingToolModel(models.Model):
blade_main_included_angle = fields.Float('主偏角(°)')
blade_r_angle = fields.Float('R角(°)')
blade_hardness = fields.Char('加工硬度')
blade_accuracy = fields.Char('精度等级')
blade_radius = fields.Float('刀尖半径(mm)')
blade_nut = fields.Float('配对螺母(mm)')
mrs_cutting_tool_model_blade_cutter_bar_ids = fields.Many2many(
@@ -112,7 +117,7 @@ class CuttingToolModel(models.Model):
)
# 刀杆特有字段
bar_code = fields.Char('刀杆编码', readonly=True)
bar_code = fields.Char('刀杆编码')
bar_c_diameter = fields.Float('C柄径(mm)')
bar_total_length = fields.Float('L总长(mm)')
bar_blade_number = fields.Integer('刃数')
@@ -134,7 +139,7 @@ class CuttingToolModel(models.Model):
bar_scope = fields.Char('适用范围')
# 刀盘特有字段
pad_code = fields.Char('刀盘编码', readonly=True)
pad_code = fields.Char('刀盘编码')
pad_c_diameter = fields.Float('C柄径(mm)')
pad_total_length = fields.Float('L总长(mm)')
pad_blade_number = fields.Integer('刃数')
@@ -156,10 +161,17 @@ class CuttingToolModel(models.Model):
pad_scope = fields.Char('适用范围')
# 刀柄特有字段
handle_code = fields.Char('刀柄编码', readonly=True)
handle_length = fields.Float('L(mm)')
handle_length1 = fields.Float('L1(mm)')
handle_diameter1 = fields.Float('D1(mm)')
handle_code = fields.Char('刀柄编码')
# 柄长L(mm)、法兰柄长L1(mm)、法兰直径D1(mm)
handle_length = fields.Float('柄长L(mm)')
handle_diameter = fields.Float('直径D(mm)')
handle_flange_length = fields.Float('法兰柄长L1(mm)')
handle_flange_diameter = fields.Float('法兰直径D1(mm)')
# 夹持直径min、夹持直径max、径跳精度、最大转速n/min、3D模型图
handle_clamping_diameter_min = fields.Float('夹持直径min')
handle_clamping_diameter_max = fields.Float('夹持直径max')
handle_jump_accuracy = fields.Float('径跳精度')
handle_max_speed = fields.Float('最大转速n/min')
handle_weight = fields.Float('重量(kg)')
handle_body_accuracy = fields.Float('本体精度(mm)')
handle_nut = fields.Float('配对螺母(mm)')
@@ -178,8 +190,11 @@ class CuttingToolModel(models.Model):
handle_standard_speed = fields.Float('标准转速')
# 夹头特有字段
chuck_code = fields.Char('夹头编码', readonly=True)
chuck_code = fields.Char('夹头编码')
chuck_accuracy = fields.Float('精度(mm)')
# 夹持直径min、夹持直径max、3D模型图
chuck_clamping_diameter_min = fields.Float('夹持直径min')
chuck_clamping_diameter_max = fields.Float('夹持直径max')
chuck_diameter = fields.Float('外径(mm)')
chuck_inner_diameter = fields.Float('内径(mm)')
chuck_height = fields.Float('高度(mm)')
@@ -197,6 +212,7 @@ class CuttingToolModel(models.Model):
chuck_feature = fields.Char('特性')
image = fields.Binary('图片')
three_d_model = fields.Many2one('ir.attachment', '3D模型')
hide_integral = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏整体式刀具')
hide_blade = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀片')
@@ -205,6 +221,12 @@ class CuttingToolModel(models.Model):
hide_handler = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏刀柄')
hide_chuck = fields.Boolean(compute='_compute_hide_model_number', default=False, string='隐藏夹头')
hide_model = fields.Boolean(compute='_compute_hide_model_number', default=True, string='隐藏型号')
image_is_visible = fields.Boolean(compute='_compute_image_is_visible', default=True, string='隐藏图片')
@api.depends('mrs_cutting_tool_material_id')
def _compute_image_is_visible(self):
for record in self:
record.image_is_visible = not (record.hide_handler or record.hide_chuck)
@api.depends('mrs_cutting_tool_material_id')
def _compute_hide_model_number(self):