def test_is_updated(): with CATIADocHandler(cat_part) as handler: part = handler.document.part() assert part.is_upated(part.part) with CATIADocHandler(cat_part_not_updated) as handler: part = handler.document.part() assert not part.is_upated(part.part)
def test_has_children(): with CATIADocHandler(cat_product) as handler: product = handler.document.product() assert product.has_children() with CATIADocHandler(cat_part) as handler: part_product = handler.document.product() assert not part_product.has_children()
def test_has_children(): with CATIADocHandler(cat_product) as caa: product = caa.document.product() assert product.has_children() with CATIADocHandler(cat_part_measurable) as caa: part_product = caa.document.product() assert not part_product.has_children()
def test_is_catproduct_is_catpart(): with CATIADocHandler(cat_product) as handler: product = handler.document.product() assert product.is_catproduct() assert not product.is_catpart() with CATIADocHandler(cat_part) as handler: part = handler.document.product() assert part.is_catpart() assert not part.is_catproduct()
def test_is_catproduct_is_catpart(): with CATIADocHandler(cat_product) as caa: product = caa.document.product() assert product.is_catproduct() assert not product.is_catpart() with CATIADocHandler(cat_part_measurable) as caa: part = caa.document.product() assert part.is_catpart() assert not part.is_catproduct()
def test_paper_size(): with CATIADocHandler(cat_drawing) as handler: catia = handler.catia drawing = DrawingRoot(catia) sheet_1 = drawing.sheets[0] assert sheet_1.paper_size == 2 sheet_1.paper_size = 5 assert sheet_1.paper_size == 5 with pytest.raises(CATIAApplicationException): with CATIADocHandler(cat_drawing) as handler: catia = handler.catia drawing = DrawingRoot(catia) sheet_1 = drawing.sheets[0] sheet_1.paper_size = 10
def test_is_up_to_date(): with CATIADocHandler(cat_part_measurable) as caa: part = caa.document.part() assert part.is_up_to_date(part) with CATIADocHandler(new_document="Part") as caa: part = caa.document.part() hsf = part.hybrid_shape_factory hbs = part.hybrid_bodies hb = hbs.add() point = hsf.add_new_point_coord(0, 0, 0) hb.append_hybrid_shape(point) assert not part.is_up_to_date(part)
def test_part(): with CATIADocHandler(cat_part) as handler: document = handler.document part = document.part() assert part.name in cat_part assert document.is_part assert not document.is_product
def test_add_documents(): with CATIADocHandler(new_document='Part') as handler: document = handler.document assert 'CATPart' in document.name with CATIADocHandler(new_document='Part') as handler: document = handler.document assert 'CATPart' in document.name with CATIADocHandler(new_document='Part') as handler: document = handler.document assert 'CATPart' in document.name with pytest.raises(ValueError): with CATIADocHandler(new_document='lala') as handler: document = handler.document
def test_get_products(): with CATIADocHandler(cat_product) as handler: product = handler.document.product() products = product.get_products() assert '(Product) part_number: CF_SubProduct1, file_name: CF_SubProduct1.CATProduct' == products[ 0].__repr__()
def test_get_points_on_curve(): with CATIADocHandler(cat_part_measurable) as caa: document = caa.document spa_workbench = document.spa_workbench() part = document.part() hybrid_bodies = part.hybrid_bodies hybrid_body = hybrid_bodies.get_item_by_name(geom_set_lines) line1 = hybrid_body.hybrid_shapes.item(1) line1_reference = part.create_reference_from_object(line1) line1_measurable = spa_workbench.get_measurable(line1_reference) points_on_curve = ( 0.0, 0.0, 0.0, 50.0, 50.0, 0, 100.0, 100.0, 0, ) catia_points_on_curve = line1_measurable.get_points_on_curve() catia_points_on_curve = round_tuple(catia_points_on_curve, 6) assert points_on_curve == catia_points_on_curve
def test_point_center(): length = 100 co_ord_1 = (0, 0, 0) co_ord_2 = (length, 0, 0) center = (length / 2, 0, 0) with CATIADocHandler(new_document='Part') as caa: document = caa.document part = document.part() hsf = part.hybrid_shape_factory hybrid_bodies = part.hybrid_bodies gs_new = hybrid_bodies.add() point = hsf.add_new_point_coord(co_ord_1[0], co_ord_1[1], co_ord_1[2]) gs_new.append_hybrid_shape(point) xy_plane = part.origin_elements.plane_xy circle = hsf.add_new_circle_ctr_rad(point, xy_plane, True, 50) gs_new.append_hybrid_shape(circle) point_center = hsf.add_new_point_center(circle) gs_new.append_hybrid_shape(point_center) part.update() assert point_center.get_coordinates() == point.get_coordinates()
def test_relations_count(): with CATIADocHandler(cat_part_measurable) as caa: document = caa.document part = document.part() relations = part.relations assert relations.count == 4
def test_centre_of_gravity(): with CATIADocHandler(measurable_part) as handler: catia = handler.catia document = handler.document spa_workbench = create_spa_workbench(document.document) part = document.part() bodies = part.get_bodies() body = bodies[0] reference = part.create_reference(body) measurable = create_measurable(spa_workbench, reference) catia_measurable = CATIAMeasurable(measurable) gx = 86.065202 gy = 81.364587 gz = 10.000000 centre_of_gravity = catia_measurable.get_cog(catia) assert (gx, gy, gz) == ( round(centre_of_gravity[0], 6), round(centre_of_gravity[1], 6), round(centre_of_gravity[2], 6))
def test_center(): """ :return: """ with CATIADocHandler(measurable_part) as handler: catia = handler.catia document = handler.document center = (-47.039, 83.488, 0.0) spa_workbench = create_spa_workbench(document.document) part = document.part() hybrid_body = part.get_hybrid_body_by_name('Arcs') arc = hybrid_body.HybridShapes.Item(1) arc_reference = part.create_reference(arc) arc_measurable = create_measurable(spa_workbench, arc_reference) catia_measurable_arc = CATIAMeasurable(arc_measurable) catia_center = catia_measurable_arc.get_center(catia) assert center == catia_center
def test_get_points_on_axis(): with CATIADocHandler(measurable_part) as handler: catia = handler.catia document = handler.document part = document.part() spa_workbench = create_spa_workbench(document.document) hybrid_body = part.get_hybrid_body_by_name('Cylinders') cylinder = hybrid_body.HybridShapes.Item(1) cylinder_reference = part.create_reference(cylinder) cylinder_measurable = create_measurable(spa_workbench, cylinder_reference) catia_measurable_cylinder = CATIAMeasurable(cylinder_measurable) cylinder = ( -92.049, 142.675, 10.000, -92.049, 142.675, 20.000, -92.049, 142.675, 0.000, ) catia_cylinder = catia_measurable_cylinder.get_points_on_axis(catia) catia_cylinder = round_tuple(catia_cylinder, 6) assert cylinder == catia_cylinder
def test_get_points_on_curve(): with CATIADocHandler(measurable_part) as handler: catia = handler.catia document = handler.document part = document.part() spa_workbench = create_spa_workbench(document.document) hybrid_body = part.get_hybrid_body_by_name('Lines') line1 = hybrid_body.HybridShapes.Item(1) line1_reference = part.create_reference(line1) line1_measurable = create_measurable(spa_workbench, line1_reference) catia_measurable_line1 = CATIAMeasurable(line1_measurable) points_on_curve = ( 0.0, 8.0, -4, 43.0, 17.5, -16.5, 86.0, 27, -29, ) catia_points_on_curve = catia_measurable_line1.get_points_on_curve(catia) catia_points_on_curve = round_tuple(catia_points_on_curve, 6) assert points_on_curve == catia_points_on_curve
def test_get_minimum_distance_points(): with CATIADocHandler(measurable_part) as handler: catia = handler.catia document = handler.document part = document.part() spa_workbench = create_spa_workbench(document.document) hybrid_body = part.get_hybrid_body_by_name('Points') point1 = hybrid_body.HybridShapes.Item(1) point1_reference = part.create_reference(point1) point1_measurable = create_measurable(spa_workbench, point1_reference) catia_measurable_point1 = CATIAMeasurable(point1_measurable) point2 = hybrid_body.HybridShapes.Item(2) point2_reference = part.create_reference(point2) minimum_distance_points = ( 0.000000, 8.000000, -4.000000, 86.000000, 27.000000, -29.000000, None, None, None ) catia_minimum_distance_points = catia_measurable_point1.get_minimum_distance_points(catia, point2_reference) assert minimum_distance_points == round_tuple(catia_minimum_distance_points, 6)
def test_get_points_on_axis(): with CATIADocHandler(cat_part_measurable) as caa: document = caa.document spa_workbench = document.spa_workbench() part = document.part() hybrid_bodies = part.hybrid_bodies hybrid_body = hybrid_bodies.get_item_by_name(geom_set_cylinders) cylinder = hybrid_body.hybrid_shapes.item(1) cylinder_reference = part.create_reference_from_object(cylinder) cylinder_measurable = spa_workbench.get_measurable(cylinder_reference) cylinder = ( 100, 100, 50, 100, 100, 100, 100, 100, 0, ) catia_cylinder = cylinder_measurable.get_points_on_axis() catia_cylinder = round_tuple(catia_cylinder, 6) assert cylinder == catia_cylinder
def test_find_object_by_name(): with CATIADocHandler(cat_part) as handler: part = handler.document.part() item = part.find_object_by_name('Extrude.1') assert item.name == 'Extrude.1'
def test_point_between(): co_ord_1 = (0, 0, 0) co_ord_2 = (100, 0, 0) r = (50, 0, 0) with CATIADocHandler(new_document='Part') as caa: document = caa.document part = document.part() hsf = part.hybrid_shape_factory hybrid_bodies = part.hybrid_bodies cg_points = hybrid_bodies.add() point_1 = hsf.add_new_point_coord(co_ord_1[0], co_ord_1[1], co_ord_1[2]) point_2 = hsf.add_new_point_coord(co_ord_2[0], co_ord_2[1], co_ord_2[2]) cg_points.append_hybrid_shape(point_1) cg_points.append_hybrid_shape(point_2) point_between = hsf.add_new_point_between(point_1, point_2, 0.5, 0) cg_points.append_hybrid_shape(point_between) part.update() assert point_between.get_coordinates() == r
def test_point_on_plane_reference(): co_ord_1 = (250, 100, 0) co_ord_2 = (100, 200) r = (co_ord_1[0] + co_ord_2[0], co_ord_1[1] + co_ord_2[1], co_ord_1[2]) with CATIADocHandler(new_document='Part') as caa: document = caa.document part = document.part() hsf = part.hybrid_shape_factory hybrid_bodies = part.hybrid_bodies gs_new = hybrid_bodies.add() xy_plane = part.origin_elements.plane_xy org_point = hsf.add_new_point_coord(co_ord_1[0], co_ord_1[1], co_ord_1[2]) gs_new.append_hybrid_shape(org_point) point = hsf.add_new_point_on_plane_with_reference( xy_plane, org_point, co_ord_2[0], co_ord_2[1]) gs_new.append_hybrid_shape(point) part.update() assert point.get_coordinates() == r
def test_path(): with CATIADocHandler(cat_part_measurable) as caa: part_product = caa.document.product() product_path = Path(os.getcwd(), cat_part_measurable) assert product_path == part_product.path()
def test_get_axis_system(): """ :return: """ with CATIADocHandler(cat_part_measurable) as caa: document = caa.document part = document.part() spa_workbench = document.spa_workbench() axis_systems = part.axis_systems axis = axis_systems.item(1) axis_reference = part.create_reference_from_object(axis) axis_measurable = spa_workbench.get_measurable(axis_reference) axis_system = (0.000, 0.000, 0.000, 1.000, 0.000, 0.000, 0.000, 1.000, 0.000000, 0.000000, 0.000000, 1.000000) catia_axis = axis_measurable.get_axis_system() assert axis_system == ( round(catia_axis[0], 6), round(catia_axis[1], 6), round(catia_axis[2], 6), round(catia_axis[3], 6), round(catia_axis[4], 6), round(catia_axis[5], 6), round(catia_axis[6], 6), round(catia_axis[7], 6), round(catia_axis[8], 6), round(catia_axis[9], 6), round(catia_axis[10], 6), round(catia_axis[11], 6), )
def test_count_parameters(): with CATIADocHandler(new_document='Part') as caa: document = caa.document part = document.part() parameters = part.parameters assert parameters.count == 5
def test_get_plane(): with CATIADocHandler(measurable_part) as handler: catia = handler.catia document = handler.document spa_workbench = create_spa_workbench(document.document) part = document.part() hybrid_body = part.get_hybrid_body_by_name('Planes') plane = hybrid_body.HybridShapes.Item(1) plane_reference = part.create_reference(plane) plane_measurable = create_measurable(spa_workbench, plane_reference) catia_measurable_plane = CATIAMeasurable(plane_measurable) plane = ( 86.0, 27.0, -29.0, 0.342977, -0.568381, 0.747870, 0.0, -0.796162, -0.605083 ) catia_plane = catia_measurable_plane.get_plane(catia) catia_plane = round_tuple(catia_plane, 6) assert plane == catia_plane
def test_circle3_points(): cord_1 = (40, 40, 0) cord_2 = (130, 70, 0) cord_3 = (210, 50, 0) with CATIADocHandler(new_document='Part') as caa: document = caa.document part = document.part() hsf = part.hybrid_shape_factory hbs = part.hybrid_bodies gs_new = hbs.add() points = hsf.add_new_point_coords([cord_1, cord_2, cord_3]) gs_new.append_hybrid_shapes(points) circle = hsf.add_new_circle3_points(points[0], points[1], points[2]) gs_new.append_hybrid_shape(circle) part.update() spa = document.spa_workbench() measurable = spa.get_measurable(circle) assert 158.597 == round(measurable.radius, 3)
def test_relations_item(): with CATIADocHandler(cat_part_measurable) as caa: document = caa.document part = document.part() relations = part.relations relation = relations.item(1) assert relation.name == 'formula_1'
def test_bodies(): with CATIADocHandler(cat_part_measurable) as caa: document = caa.document part = document.part() bodies = part.bodies assert bodies.com_object.Item(1).Name == 'PartBody'
def test_relations_create_set_of_relations(): with CATIADocHandler(new_document='Part') as caa: document = caa.document part = document.part() relations = part.relations relations.create_set_of_relations(part) assert relations.name == 'Relations'