Skip to content

Technicus/ProjectDesignBuilder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProjectDesignBuilder

This is an attempt to design a graphical application with the Tkinter Pthon library for a custom CadQuery interface. I intend to develop it as a utility for creating technical drawings from models. The drawings can be exported as SVG, PNG, DXF, or perhaps other formats.

So far it consists of a root window, a menubar, a tool bar, a status bar, a mode bar, and a working frame, a background picture, and a toolbar icon.

Guidance for development

I have been asking for guidance in chat groups on Discord Python, Discord Tkinter, and Discord CadQuery. I been reading many resources, and reviewing numerous tutorials.

Tkinter

Tkinter is what I have decided to use because for this project because . . . I am not currently able to articulate why, and do not want to put any more effort in attempting to learn a different interface toolkit, regardless of how easy it might be. Perhaps I might try a different one after I actually make something with this one.

CadQuery

CadQuery is a very interesting library, and a significant reason for why I am creating ProjectDesignBuilder.

Current Status

Dynamically Add Methods to Classes

I am attempting to understand how methods can be added to classes while the program is being interpreted. This project I am working on is a sandbox for me to learn with. The class 'Project_Root' I am attempting to add methods to is for drawing a window with thinter. I am creating a status bar, which is a frame that has labels placed in it. The information, configuration, and other pertinant reference data that define the labels are in a dictionary defined as event_callback_assignmet in the module ./status/status_assignment.py. In the event_callback_assignmet dictionary there are references to functions which are defined in the module ./status/status_calls.py. My intent is to add that functions as methods in the Project_Root class. The reason I have adopted this approach is so that I can make changes to the dictionary file, and add functions to the function file, and import them rather them having them in the root window class. My reasoning for this approach is to manipulat the window elements with different configurations and make it extensible.

Dynamically Add Methods to Classes Update

I have since abandoned attempting to develop this operational behavior. Dynamically adding methods to classes seems to be a more complicated process than I am capable of writing, and at this point seems to not be worth the effort. Instead I will call the functions with an eval() statement.

Motivation

I am a novice, not a student, doing this as a hobby for my own interest, and am not employed as a programmer, nor do I have decades of experience programming sophisticated interfaces. I do not know best practices, optimal methods, nor am I interested in exestential philosophical discussions about why I am trying to program this way or why I am even doing it. This is really my first time actually trying to write a desktop application. I am doing this because I want to know how to make it, and I want to have it.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages