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)) # simple_part in 3D BRep print("Generate {:s}/simple_part.brep".format(test_output_dir)) simple_part.exportBrep("{:s}/simple_part.brep".format(test_output_dir)) # simple_part in 2D DXF
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)) # simple_part in 3D BRep six.print_(("Generate {:s}/simple_part.brep".format(test_output_dir)))
# Extrude the outline to make it 3D ################################################################ ## extrude the outline to make a 3D part with FreeCAD my_freecad_part_outline = cnc25d_api.outline_arc_line(my_outline_for_cnc, "freecad") my_part_edges = my_freecad_part_outline.Edges my_part_wire = Part.Wire(my_part_edges) my_part_face = Part.Face(my_part_wire) my_part_solid = my_part_face.extrude(Base.Vector(0, 0, big_length)) # straight linear extrusion # short version: # my_part_face2 = Part.Face(Part.Wire(cnc25d_api.cnc_cut_outline_fc(cnc25d_api.outline_shift_y(my_outline, 4*big_length,0.5), 'freecad_short_version').Edges)) # my_part_solid2 = my_part_face2.extrude(Base.Vector(0,0,big_length)) # straight linear extrusion my_part2_B = cnc25d_api.cnc_cut_outline( cnc25d_api.outline_shift_y(my_outline, 4 * big_length, 0.5), "freecad_short_version" ) my_part_solid2 = cnc25d_api.figure_to_freecad_25d_part([my_part2_B], big_length) # creation of a circle with the cnc25d workflow # my_part_face3 = Part.Face(Part.Wire(cnc25d_api.outline_circle((100,100),40, 'freecad').Edges)) my_part_face3 = Part.Face(Part.Wire(cnc25d_api.outline_arc_line((100, 100, 40), "freecad").Edges)) my_part_solid3 = my_part_face3.extrude(Base.Vector(0, 0, big_length / 2)) # straight linear extrusion # visualize the part with the FreeCAD GUI # Part.show(my_part_solid) Part.show(my_part_solid2) Part.show(my_part_solid3) ################################################################ # Create a 3D assembly ################################################################
################################################################ # Extrude the outline to make it 3D ################################################################ ## extrude the outline to make a 3D part with FreeCAD my_freecad_part_outline = cnc25d_api.outline_arc_line(my_outline_for_cnc, 'freecad') my_part_edges = my_freecad_part_outline.Edges my_part_wire = Part.Wire(my_part_edges) my_part_face = Part.Face(my_part_wire) my_part_solid = my_part_face.extrude(Base.Vector(0,0,big_length)) # straight linear extrusion # short version: #my_part_face2 = Part.Face(Part.Wire(cnc25d_api.cnc_cut_outline_fc(cnc25d_api.outline_shift_y(my_outline, 4*big_length,0.5), 'freecad_short_version').Edges)) #my_part_solid2 = my_part_face2.extrude(Base.Vector(0,0,big_length)) # straight linear extrusion my_part2_B = cnc25d_api.cnc_cut_outline(cnc25d_api.outline_shift_y(my_outline, 4*big_length,0.5), 'freecad_short_version') my_part_solid2 = cnc25d_api.figure_to_freecad_25d_part([my_part2_B], big_length) # creation of a circle with the cnc25d workflow #my_part_face3 = Part.Face(Part.Wire(cnc25d_api.outline_circle((100,100),40, 'freecad').Edges)) my_part_face3 = Part.Face(Part.Wire(cnc25d_api.outline_arc_line((100, 100, 40), 'freecad').Edges)) my_part_solid3 = my_part_face3.extrude(Base.Vector(0,0,big_length/2)) # straight linear extrusion # visualize the part with the FreeCAD GUI #Part.show(my_part_solid) Part.show(my_part_solid2) Part.show(my_part_solid3) ################################################################ # Create a 3D assembly ################################################################