LibLathe is an opensource standalone python library for generating lathe paths and gcode for use with cnc lathes.
|
Python library for generating lathe paths and gcode
License: GNU General Public License v2.0
LibLathe is an opensource standalone python library for generating lathe paths and gcode for use with cnc lathes.
|
Simple drilling operation
Simplified output would discritise canned cycles to individual G0/1 moves for use on a basic controller. This would usually be done in a post processor but it might be a nice feature to build into the library.
Return shape of uncut areas to allow rest machining
multiple finishing passes cause bad path
Bug found in #66 means either rewrite or drop support.
Unit tests should be added first. Once complete, integration tests should be added.
Features:
Add constant surface speed (G96) as an option.
Review license suitability.
removing the groove fails for arch segments and allows the tool to continue around the arc.
calculate the point on the arc where the normal is == tool max angle
Update existing ''' docstring to python convention https://www.python.org/dev/peps/pep-0257/
LibLathe needs to handle the tool orientation
create a logging module to allow a consistent method to write to a logfile or print debug information
add human unstandable output such as 'Line Element', 'Clockwise Arc' and map the flow through each function:
from inspect import getframeinfo, stack
def debuginfo(message):
caller = getframeinfo(stack()[1][0])
print "%s - %s - lineno %d: %s" % (caller.filename, caller.function, caller.lineno, message)
[filename.py - functionname- lineno xx: message]
If the stock zmax is equal to part zmax, roughing passes fail to intersect with the finishing pass and violate the part segment.
Add python supported versions banner to top of readme.md - This can be done through PyPi API. Need account and release first.
Investigate and add imagedraw.
https://pillow.readthedocs.io/en/stable/reference/ImageDraw.html
Acceptance criteria
Review naming convention for methods, method variables (passed in) and variable inside of methods.
Also consider variable declaration.
LibLathe will be distributed using PyPi and installed using pip.
create a PyPi page for hosting the release packages.
Threading Operation:
Provide examples on how to use the library from a python app
The CodCov banner in the readme me file, when clicked return a 404 website error
Provide a FreeCAD plugin to aid testing of the library
LLPoint has been added.
This is to add shell unit tests for the others.
Define what the minimum viable product looks like to release. Once released a standard release cycle will be followed.
This should be handled by a post processor
Test suite and automated testing required for PRs
as title
compete the community profile to encourage and aid contribution
Add to current imagedraw functionality
The part outline is added to the finishing paths by default if finishing is set to true.
This is no good for facing or parting operations.
roughing passes should merge in to the next profile pass to ensure consistent tool engagement on the profile pass.
Create an overview document to give a pictoral example of the internal class stucture and what each class represents.
This should help with integration and on-boarding so it should be basic / simple to understand.
Support use if left hand cutting tools.
Cutting direction left to right.
Name the examples with the type of operation. i.e Profile, Face
I'm trying to load your lib on my debian testing machine with FreeCad 0.18.4. I copied the whole folder in my mod directory then i type in the python console:
import LibLathe
without errors, but i cannot find it anywhere. Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.