furti / freecad-lithophane Goto Github PK
View Code? Open in Web Editor NEWFreeCAD Workbench to convert an image to a Lithophane for 3D Printing
License: MIT License
FreeCAD Workbench to convert an image to a Lithophane for 3D Printing
License: MIT License
We get the following error: 'Mesh.Feature' object has no attribute 'Proxy'
We should check if the selected object is a actual lithophane Image before accessing it.
Each command logs the steps performed and the time needed. We should improve the log to show the number of steps involved in the command.
e.g.
1/5 initializing
2/5 doing some stuff
...
Create geometry in the shape of a tube.
The make solid command can take a while. We should make it possible to cancel this command so that we don't have to close the FreeCAD instance when it takes too long for us to finish.
Should be tested with a 0.18 Build with Python 3 and QT5.
We should use multiple threads when parsing the image and creating the point data.
To create the box we iterate the image data 3 times. We should do this in a single loop to save some time.
Like image manipulation programs have a lock that can be opened to scale only in one direction
The nozzle size of a 3D Printer defines how wide a line is that gets drawn.
We might use this to calculate the average of pixels in this radius. So we can reduce the number of pixels drastically.
Document the General usage and available commands:
Describe the bug
When saving a File with a lithophane Image we get "Bytes" object not serializeable. Problem ist, that in py3 the 'base64ImageOriginal' is a Bytes object and not a Unicode string. have to encode it.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Saving should be possible with python 3
When creating the geometry we should Show some Timing Information so that we can see where we can improve our Code.
Describe the bug
The Width Box in the scale command has a Limit of 100 mm. Should be increased to 100m like in the Length box.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Width box should take Values up to 100 m
FreeCAD Version Info:
All versions
When no line is selected and the user clicks the select line button, we might start the draft line tool for him.
A command that calculates the dpi value based on the nozzle size, final height and width of the geometry.
Create Tests that can run automatically.
The import does not handle transparency right now.
Hi furti. First of all, thank you very much for putting in the time and effort to create and maintain this workbench. It is extremely useful! I am using FreeCAD version 0.18.4.
This is not an issue, but a feature suggestion. One possible feature of interest would be to add an option to arrange the Lithophane as a partial tube. This way, the final product can stand on its own like the full tube, but the entire picture can be seen from one viewing angle.
Use the Image Name to generate a Default Name for the Lithophane Image and the mesh and solid
3D Printers don't have infinite Resolution on the Z-Axis. So we can round the Pixel height to the nearest multiple of our Printers Resolution.
e.g. if our Printer can print layers of 0.1mm in height, it makes no sense for us to create Pixels at a height of 0.553. we should round this to 0.6.
A positive sideeffekt of this optimization is, that we can reduce a lot more Points because more Points share the same layer.
Describe the bug
When running the "Create Solid" command with no mesh selected the following error is displayed in the console:
Running the Python command 'Make_Solid' failed:
Traceback (most recent call last):
File "C:\Users\Daniel\AppData\Roaming\FreeCAD\Mod\FreeCAD-Lithophane\make_solid.py", line 81, in Activated
mesh, meshLabel = lithophane_utils.findSelectedMesh()
'NoneType' object is not iterableRunning the Python command 'Make_Solid' failed:
Traceback (most recent call last):
File "C:\Users\Daniel\AppData\Roaming\FreeCAD\Mod\FreeCAD-Lithophane\make_solid.py", line 81, in Activated
mesh, meshLabel = lithophane_utils.findSelectedMesh()
'NoneType' object is not iterable
Create icons for toolbar items and the workbench. See https://www.freecadweb.org/wiki/Artwork_Guidelines
Document that a double click on the LithophaneImage Shows the actual Image in a modal.
instead of -
If you want to use OpenSCAD for Boolean Operations, switch to the OpenSCAD Workbench and go to Edti > Preferences > OpenSCAD and set the OpenSCAD executable path.
should (probably because FC 0.19) -
If you want to use OpenSCAD for Boolean Operations, switch to the OpenSCAD Workbench and go to Edti > Preferences > Mod > OpenSCAD and set the OpenSCAD executable path.
In addition, I wrote a personal message on the forum.
Check https://forum.freecadweb.org/viewtopic.php?f=22&t=30962#p257189 for suggestions.
Describe the bug
When creating a Tube Lithophane the image is flipped along the y axis somewhere during the process.
This is not expected and as a result text as an expample will be backwards.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I was expecting that the image does not change the orientation when creating a tube lithophane.
This behaviour does not exist for the Box Lithophane
FreeCAD Version Info:
OS: Windows 10 Version 2009
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24276 (Git)
Build type: Release
Branch: releases/FreeCAD-0-19
Hash: a88db11e0a908f6e38f92bfc5187b13ebe470438
Python version: 3.8.6+
Qt version: 5.15.1
Coin version: 4.0.1
OCC version: 7.5.0
Locale: German/Germany (de_DE)
Maybe we can create the solid in multiple threads to save some time.
As some commands might take a while to complete, we should display a progress indicator. So the user knows that there is some progress.
Check this topic http://forum.freecadweb.org/viewtopic.php?t=29817&start=10
Describe the bug
When reloading a FreeCAD file containing a lithophane Image, it is not possible to create geometry from the selected Image.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The geometry should be created.
FreeCAD Version Info:
Same with 0.17, 0.18, 0.18 Py3/Qt5
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
FreeCAD Version Info:
Either:
The image is displayed in the 3D view now but can only be selected in the tree view. This is somewhat suboptimal when the task view is showbn and we want to select the image.
https://forum.freecadweb.org/viewtopic.php?f=9&t=30496&start=20#p282619
Something like in PartDesign where features are added or subtracted to/from the lithophane.
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.