[ 40, 0, -5], # first segment: it's a line [ 20, 30, 0, 0, 0]] # second and last segment: it's an arc inner_shape_B = cnc25d_api.cnc_cut_outline(inner_shape_A, "inner_shape_A") # convert from format-A to format-B inner_circle1 = [-30, 0, 15] # circle of center (-30, 0) and radius 15 simple_figure = [outer_rectangle_B, inner_shape_B, inner_circle1] overlay_figure = [outer_rectangle_A, inner_shape_A, inner_circle1] simple_figure_info = """ Some info there that will appear in the parameter window """ # display the figure cnc25d_api.figure_simple_display(simple_figure, overlay_figure, simple_figure_info) simple_extrude_height = 20.0 # create a FreeCAD part simple_part = cnc25d_api.figure_to_freecad_25d_part(simple_figure, simple_extrude_height) # create the test_output_dir test_output_dir = "test_output" cnc25d_api.mkdir_p(test_output_dir) # write the SVG file with mozman svgwrite cnc25d_api.write_figure_in_svg(simple_figure, "{:s}/simple_part_mozman.svg".format(test_output_dir)) # write the DXF file with mozman dxfwrite cnc25d_api.write_figure_in_dxf(simple_figure, "{:s}/simple_part_mozman.dxf".format(test_output_dir))
] # second and last segment: it's an arc inner_shape_B = cnc25d_api.cnc_cut_outline( inner_shape_A, "inner_shape_A") # convert from format-A to format-B inner_circle1 = [-30, 0, 15] # circle of center (-30, 0) and radius 15 simple_figure = [outer_rectangle_B, inner_shape_B, inner_circle1] overlay_figure = [outer_rectangle_A, inner_shape_A, inner_circle1] simple_figure_info = """ Some info there that will appear in the parameter window """ # display the figure cnc25d_api.figure_simple_display(simple_figure, overlay_figure, simple_figure_info) simple_extrude_height = 20.0 # create a FreeCAD part simple_part = cnc25d_api.figure_to_freecad_25d_part(simple_figure, simple_extrude_height) # create the test_output_dir test_output_dir = "test_output" cnc25d_api.mkdir_p(test_output_dir) # write the SVG file with mozman svgwrite cnc25d_api.write_figure_in_svg( simple_figure, "{:s}/simple_part_mozman.svg".format(test_output_dir)) # write the DXF file with mozman dxfwrite
) # convert from format-A to format-B wfl_inner_circle1 = [30, 0, 15] wfl_inner_circle2 = [40, 0, 10] wfl_figure = [wfl_outer_rectangle_B, wfl_inner_square_B, wfl_inner_circle1, wfl_inner_circle2] wfl_overlay_figure = [wfl_outer_rectangle_A, wfl_inner_square_A, wfl_inner_circle1, wfl_inner_circle2] wfl_parameter_info = """ those lines will appers in the parameter window. Might be usefull to provide some info to the user! """ # display the figure cnc25d_api.figure_simple_display(wfl_figure, wfl_overlay_figure, wfl_parameter_info) wfl_extrude_height = 20.0 # create a FreeCAD part wfl_part = cnc25d_api.figure_to_freecad_25d_part(wfl_figure, wfl_extrude_height) # wfl_part in 3D BRep print("Generate {:s}/wfl_part.brep".format(l_output_dir)) wfl_part.exportBrep("{:s}/wfl_part.brep".format(l_output_dir)) # wfl_part in 2D DXF print("Generate {:s}/wfl_part.dxf".format(l_output_dir)) cnc25d_api.export_to_dxf( wfl_part, Base.Vector(0, 0, 1), wfl_extrude_height / 2, "{:s}/wfl_part.dxf".format(l_output_dir) ) # slice wfl_part in the XY plan at a height of wfl_extrude_height/2
wfl_inner_square_B = cnc25d_api.cnc_cut_outline(wfl_inner_square_A, "wfl_inner_square_B") # convert from format-A to format-B wfl_inner_circle1 = [30,0, 15] wfl_inner_circle2 = [40,0, 10] wfl_figure = [wfl_outer_rectangle_B, wfl_inner_square_B, wfl_inner_circle1, wfl_inner_circle2] wfl_overlay_figure = [wfl_outer_rectangle_A, wfl_inner_square_A, wfl_inner_circle1, wfl_inner_circle2] wfl_parameter_info = """ those lines will appers in the parameter window. Might be usefull to provide some info to the user! """ # display the figure cnc25d_api.figure_simple_display(wfl_figure, wfl_overlay_figure, wfl_parameter_info) wfl_extrude_height = 20.0 # create a FreeCAD part wfl_part = cnc25d_api.figure_to_freecad_25d_part(wfl_figure, wfl_extrude_height) # wfl_part in 3D BRep six.print_(("Generate {:s}/wfl_part.brep".format(l_output_dir))) wfl_part.exportBrep("{:s}/wfl_part.brep".format(l_output_dir)) # wfl_part in 2D DXF six.print_(("Generate {:s}/wfl_part.dxf".format(l_output_dir))) cnc25d_api.export_to_dxf(wfl_part, Base.Vector(0,0,1), wfl_extrude_height/2, "{:s}/wfl_part.dxf".format(l_output_dir)) # slice wfl_part in the XY plan at a height of wfl_extrude_height/2 ################################################################ # End of the script