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)
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([
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')