Source code for vSCAD.io.new_project

import os

[docs] class vSCADProject(): def __init__(self, project_name): self.project_name = project_name self.root = os.path.join(os.getcwd(), project_name) self.create_project() pass
[docs] def create_project(self): ''' Create a new vSCAD project in the current working directory. ''' self.create_directories() self.create_vSCAD_python_file()
[docs] def create_vSCAD_python_file(self): ''' Create a vSCAD python file in the project root directory. ''' path = os.path.join(self.root, 'vscad.py') with open(path, 'w') as f: f.write(f'import numpy as np\n') f.write(f'import os\n') f.write(f'import sys\n\n') f.write(f'from vSCAD.Geometry import Vessel\n') f.write(f'from vSCAD.io import ImageJReader\n') f.write(f'from vSCAD.io import SCADFile\n\n') f.write(f'scad_file = \'{self.project_name}.scad\'\n') f.write(f'# Scad file written at scad/{self.project_name}.scad\n\n') return
[docs] def create_directories(self): ''' Create directories for a new vSCAD project. ''' directories = ['image_data', 'scad', 'scad-stl'] try: for directory in directories: os.makedirs(os.path.join(self.root, directory)) print(f'Project directories for \'{self.project_name}\' created successfully.') except Exception as e: print(f'An error occurred: {e}')
if __name__ == '__main__': ''' Executable script to create a new vSCAD project in the current working directory. ''' project_name = input('vSCAD project name: ') project = vSCADProject(project_name)