Exemple #1
0
def render(extra_variables, skip_optimize, output_directory):
    renderer = Renderer(os.path.join(source_parts_dir, 'font_generator.scad'),
                        output_directory, extra_variables)
    renderer.clean()
    svg_output = renderer.render_svgs(panelize_quantity=1)

    processor = SvgProcessor(svg_output)

    if not skip_optimize:
        logging.info('Removing redundant lines')
        processor.remove_redundant_lines()

    processor.write(svg_output)
    logging.info('\n\n\nDone rendering to SVG: ' + svg_output)
Exemple #2
0
    laser_parts_directory = os.path.join('build', 'laser_parts')

    extra_variables = {
        'render_revision': rev_info.git_short_rev(),
        'render_date': rev_info.current_date(),
    }

    renderer = Renderer('splitflap.scad', laser_parts_directory,
                        extra_variables)
    renderer.clean()
    svg_output = renderer.render_svgs(panelize_quantity=args.panelize)

    logging.info('Removing redundant lines')
    processor = SvgProcessor(svg_output)
    redundant_lines = processor.remove_redundant_lines()
    processor.write(svg_output)

    # Export to png
    logging.info('Generating raster preview')
    raster_svg = os.path.join(laser_parts_directory, 'raster.svg')
    raster_png = os.path.join(laser_parts_directory, 'raster.png')
    processor.apply_raster_render_style()

    # Show which redundant lines were removed
    processor.add_highlight_lines(redundant_lines)

    processor.write(raster_svg)

    logging.info('Resize SVG canvas')
    subprocess.check_call([
Exemple #3
0
    if args.kerf is not None:
        extra_variables['kerf_width'] = args.kerf
    if args.thickness is not None:
        extra_variables['thickness'] = args.thickness

    renderer = Renderer(os.path.join(source_parts_dir, 'splitflap.scad'),
                        laser_parts_directory, extra_variables)
    renderer.clean()
    svg_output = renderer.render_svgs(panelize_quantity=args.panelize)

    logging.info('Removing redundant lines')
    processor = SvgProcessor(svg_output)

    redundant_lines, merged_lines = None, None
    if not args.skip_optimize:
        redundant_lines, merged_lines = processor.remove_redundant_lines()

    processor.write(svg_output)

    logging.info('\n\n\nDone rendering to SVG: ' + svg_output)

    if args.render_raster:
        # Export to png
        logging.info('Generating raster preview')
        raster_svg = os.path.join(laser_parts_directory, 'raster.svg')
        raster_png = os.path.join(laser_parts_directory, 'raster.png')
        processor.apply_raster_render_style()

        if not args.skip_optimize:
            # Show which redundant lines were removed and lines merged
            processor.add_highlight_lines(redundant_lines, '#ff0000')