3d prints for blind in Prowadnica Foundation
Hello!I was wondering whether it's worth writing about this on the forums, but I guess I'll brag a little, because, at least I hope, there is something to brag about. 😀
We run a foundation in Poland called "Prowadnica Foundation". Its aim is to support blind people, and we ourselves, all members of the Board, are such people.There are many organisations helping visualy impaired by training guide dogs, organising the teaching of everyday activities and so on, besides, we decided to look around at how modern technology can help the blind. I am a programmer and have already developed many applications for blind people since 2013. That many of them developed more and more, the need for a legal personality arose, and this is the history of the organisation in a nutshell.Of course, in addition to technical solutions, we are also active in several other fields, including training, but in this case, however, the technological activity is the most important. 🙂
When you look for 3d printing for the blind, you will find a lot of information on the subject. Many universities have conducted research, various companies have done various projects, but there is not, at least in Poland, a single organisation that seriously deals with this issue.
3D printing in terms of blind people is a shot in the arm. There are various games or aids for the blind, but their prices are prohibitive. We decided to see what could be done about it.We bought our first 3d printer in October 2021, so I only have 14 months' experience in the subject of 3d printing, but I believe that we have nevertheless achieved a little, or even not only a little. 😉
First on the agenda were the door signages with Braille letters. The cost of making such signages was very high, and we thought that FDM might make it possible to make them much more cheaply. And, indeed, the prices turned out to be incomparably lower than engraving or UV overprinting used before.The signages made by us are already in use in more than a dozen places in Poland.
Then came the time for museum models, educational tools (rulers, protractors) and, finally, board games: we designed Reversi, Scrabble, among others.
It turns out that 3d printing can significantly reduce costs of products designed for the blind, as the demand for them is low and generates high costs in traditional production. The Foundation currently has two I3 MK3S+ 3d printers, including one with MMU2S. We are very short of equipment in the face of demand, but we are doing what we can and hopefully doing good and useful work.
And by the way, it turned out that a blind person can both design and print a 3d model by themselves, and even already my fingers don't get burned as often as in the beginning. :DAll it takes is imagination and OpenScad, which is a saviour!
If anyone is interested in this topic, I would be very happy to expand on it.
I attach some photos of our products.
With the hope that the topic will turn out to be somehow interesting and not suitable only for the trash, I enclose cordial greetings.
Dawid Pieper
RE:
Hello!I was wondering whether it's worth writing about this on the forums,but I guess I'll brag a little, because, at least I hope, there is something to brag about. 😀
We run a foundation in Poland called "Prowadnica Foundation". Its aim is to support blind people, and we ourselves, all members of the Board, are such people.There are many organisations helping visualy impaired by training guide dogs, organising the teaching of everyday activities and so on, besides, we decided to look around at how modern technology can help the blind. I am a programmer and have already developed many applications for blind people since 2013. That many of them developed more and more, the need for a legal personality arose, and this is the history of the organisation in a nutshell.Of course, in addition to technical solutions, we are also active in several other fields, including training, but in this case, however, the technological activity is the most important. 🙂
RE: 3d prints for blind in Prowadnica Foundation
Very nice
RE: 3d prints for blind in Prowadnica Foundation
Hello, I'm starting to get organized to do some accessibility work on PrusaSlicer (cf. https://forum.prusa3d.com/forum/prusaslicer/prusaslicer-accessibility-development/), and could start collecting input from blind users, and eventually testing of my development builds. Please let me know if you or someone you know might be interested.
Gary
RE: 3d prints for blind in Prowadnica Foundation
You can ask him directly over email: [email protected]
Or see the github account under
See my GitHub and printables.com for some 3d stuff that you may like.
RE: 3d prints for blind in Prowadnica Foundation
Hi,
one thought on the original post (I know, 2022) regarding openSCAD:
I would strongly recommend looking into FreeCAD with Python scripting instead.
First, the openSCAD language is very limited, in ways that aren't necessary or meaningful nowadays. Both have quirks but the ones in FreeCAD tend to make sense.
Second, and probably most importantly, Python code is - if used correctly - largely written for both a human reader and a machine. It supports me in writing code so it doesn't need a comment for every line but largely explains itself.
I put a 75 line example into the code block below (also attached as zip). It expects a font file and renders two signs. Changing the "if False:" line switches between embedded text for printing in a second color via MMU to embossed text.
AI is very good at supporting FreeCad / Python. For basic questions like creating spheres or cylinders, success is basically guaranteed.
import FreeCAD, Part, Draft, types
from FreeCAD import Vector
def createDoc(docname):
''' helper function to create a document. Put into library for reuse.'''
d = []
for n in FreeCAD.listDocuments():
doc = FreeCAD.getDocument(n)
if doc.Label == docname:
d.append(n)
for n in d:
FreeCAD.closeDocument(n)
doc = FreeCAD.newDocument()
doc.Label = docname
return doc
def show(doc, shape, name):
''' helper function to show an object. Put into library for reuse.'''
o = doc.addObject("Part::Feature", name);
o.Shape = shape
o.ViewObject.Transparency = 80
doc.recompute()
# Parameters for the signs are collected here
g = types.SimpleNamespace()
g.textHeight = 6
g.marginWE = 5
g.marginNS = 2
g.height = 1
g.textHeight = 0.5
g.textSize = 6.2
def makeSign(g, docName, text):
''' creates a single sign in its own FreeCAD document'''
doc = createDoc(docName)
script_dir = os.path.dirname(os.path.abspath(__file__))
font_file = os.path.join(script_dir, "LiberationSans-Regular.ttf")
text_obj = Draft.makeShapeString(
String=text,
Size=g.textSize,
Tracking=0,
FontFile = font_file
)
text_obj.ViewObject.Visibility = False
textH = 0.4
# create text shape via a temporary object and clean up
textShape = text_obj.Shape.extrude(FreeCAD.Vector(0, 0, g.textHeight))
doc.removeObject(text_obj.Name)
# retrieve text dimensions
bb = textShape.BoundBox
# make sign body with rounded edges
signShape = Part.makeBox(bb.XMax-bb.XMin+2*g.marginWE, bb.YMax-bb.YMin+2*g.marginNS, g.height).translate(Vector(bb.XMin-g.marginWE, bb.YMin-g.marginNS, 0))
signShape = signShape.makeFillet(0.3, signShape.Edges)
if False:
# embed text for printing in another color (flush with the surface)
textShape.translate(FreeCAD.Vector(0, 0, g.height-g.textHeight))
signShape = signShape.cut(textShape)
else:
# emboss text so it protrudes from the surface (try using a Braille typeset as font file for dots)
textShape.translate(FreeCAD.Vector(0, 0, g.height))
signShape = signShape.cut(textShape)
show(doc, signShape, "sign")
show(doc, textShape, "text")
if __name__ == "__main__":
# invoke the sign generator
makeSign(g, "docNameA", "this is my sign text")
makeSign(g, "docNameB", "this is the other sign text")
RE: 3d prints for blind in Prowadnica Foundation
Hi,
one thought on the original post (I know, 2022) regarding openSCAD:
I would strongly recommend looking into FreeCAD with Python scripting instead.
First, the openSCAD language is very limited, in ways that aren't necessary or meaningful nowadays. Both have quirks but the ones in FreeCAD tend to make sense.
Second, and probably most importantly, Python code is - if used correctly - largely written for both a human reader and a machine. It supports me in writing code so it doesn't need a comment for every line but largely explains itself.
. . .
I program in Python, and OpenSCAD. I also have used FreeCAD some -- I find all 3D editors (FreeCAD, SolveSpace, Blender, Maya) a steep learning curve. My favorite so far of those I've named is FreeCAD, but after spending roughly 40 hours with it, I still struggle to do simple things. I mostly used the FreeCAD library to incorporate validity-checking into my "STLwriter" Python program which reads XML files (my own DTD) to create extruded Bezier curves (extruding other geometries along cubic paths, and extruding paths containing cubics along linear or cubic paths).
Do I think blind 3D modelers ought to use FreeCAD over OpenSCAD? I have no opinion on that. I'm not blind. I was evaluated when I was in school (1970s) as having excellent spatial reasoning and I find thinking in 3D hard. I can't imagine how a blind person can do it.
Similarly, I don't know what might make it easier for a blind person to go from a concept to usable g-code. That was my purpose in posting here -- to solicit input from blind 3D modelers.
Also, PrusaSlicer doesn't care how you've modeled something. You could use TinkerCAD. Or 3D scanning of something sculpted with clay. And it's quite possible that accessibility improvements in the area which is compiled into Prusa GCode Viewer and interpreted by AI (with said AI giving subsequent viewing instructions) might be used in ways not yet imagined.
So, I will save your sample code to my Python folder. But will continue my search for blind 3D modelers who wish to collaborate on improving PrusaSlicer.
P.S. I imagine the image on the circular medallion sort of thing is not done in OpenSCAD, nor would I want to do it in FreeCAD, with Python or the GUI. It looks to me like a job for Inkscape, which imports into OpenSCAD with a single line of code.
RE: 3d prints for blind in Prowadnica Foundation
The freeCAD GUI I wouldn't recommend, it's a shipwreck. Instead run from the command line, or the hotkey for "run last macro".
I use it only as viewer that can hide shapes and occasionally measure a distance.
My point is, for describing geometry as text then exporting as .step, openSCAD is unnecessarily limited. It start with simple things as loops, variables, functions, which are incredibly clumsy in openSCAD, vs. Python in FreeCAD.
>> to create extruded Bezier curves (extruding other geometries along cubic paths, and extruding paths containing cubics along linear or cubic paths).
You need to beat FreeCAD's Python API into submission for that first but it's an easy fight: Simply look up how the "fasteners" bench implements screw threads. Now where FreeCAD would approximate at a given angular resolution, you get BREP representation (not unlike your cubic paths). For example, I generate 6-helix multithreads for jars with the body a filleted cube. The .step file is a mere 500 kB. The same exercise in openSCAD (without sacrificing accuracy), won't be pretty...
Now this isn't directly relevant for blind people, but as you brought up the cubic paths, it's an interesting "tip-of-the-iceberg" example with the different underlying geometric engines below the waterline.
Don't get me wrong - if it works, it works, just a tool, user experience matters most. But more often than not, I'd rather trade the swiss army knife for a chainsaw.
Inkscape import may be one of the exceptions where said "swiss army knife" is actually preferable, it is very straightforward in openSCAD.




