Creating an Inlay of Text

A place to share learning material: written tutorials, videos, etc.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
CobraCat
Posts: 18
Joined: Sun Nov 20, 2022 11:07 pm

Creating an Inlay of Text

Post by CobraCat »

Note: 1. This is written in two parts due to image restrictions.
2. I am very much an amateur.

Aim:
To 3D print small plaques with inlays of text developed through FreeCad to use two colours with a single nozzle printer.
ABC_Plate.jpg
ABC_Plate.jpg (30.1 KiB) Viewed 1304 times



Background: I found little help within the Forum or even on YouTube to assist but somewhere I stumbled upon “WorkFeature” workbench, but even then there were issues which had to be resolved for comfort.
I used FreeCad2.0 operating under Windows 10 but assume with fixes mentioned in the link below will be valid for earlier recent FreeCad versions.

Requirements:
FreeCad with “WorkFeature” workbench installed. (Check this link if there are issues ... https://forum.freecadweb.org/viewtopic.php?f=3&t=73666)
Know where to access Font files. In my Windows installation they are at “C:\Windows\Fonts\”; I’m considering copying suitable fonts to an easier location (not sure where) as well as some that I found at “dafont.com”.
Slicer software such as “Cura”.
Access to a 3D printer.

To Begin:
Open and save a New Project as “TxtDraft.FCStd”.
Open the “Draft” workbench from the Top view.
Select the “S”hapeString button.
In the ComboView replace “default” with your text (“ABC”).
Adjust the height as you desire. (10mm is default)
Choose your font file after selecting the ellipsis […] box. (GOTHICB.ttf)

Note that the X, Y, Z coordinates change as the cursor moves over the Draft window.
Select “Reset Point”, press “OK” and the left most point of the “A” base moves very close to the Origin with a green bounding box surrounding the text.

The centre of that bounding box is to be relocated to the Origin.

Open the “WorkFeature” workbench.
While a diagonal may be the locations of the XY coordinate extremes of the text, it is most likely that the X and Y values will need to be ascertained separately as in the case of “ABC”.

Select the farthest left base point of the “A” and one of the extremes of the “C”. the chosen points turn green. Now select the “Point=centre(Points)” button [a yellow dot surrounded by 6 blue ones].
Draft_WorkFeatures.jpg
Draft_WorkFeatures.jpg (38.85 KiB) Viewed 1304 times
“WorkFeatures” immediately appears as a new listing in ComboView. Opening up that path yields NPointsPoint_P. When selected it will be noted that the X value in the Property area is 12.66mm, record that for later.
NPointsPoint_P.jpg
NPointsPoint_P.jpg (17.18 KiB) Viewed 1304 times
Now select “ShapeString” again and repeat the process for the height value; in this case only the “C” is required.

“NPointsPoint_P001” is now added to the ComboView tree. In its Property area the Y value is 4.33mm and so record it.

The centrepoint of the bounding box is therefore (12.66, 4.33).
Draft_Origin.jpg
Draft_Origin.jpg (37.48 KiB) Viewed 1304 times
Note that the X value IS actually negative, available space makes it look otherwise.
CobraCat
Posts: 18
Joined: Sun Nov 20, 2022 11:07 pm

Re: Creating an Inlay of Text

Post by CobraCat »

Part 2
Again select “ShapeString”. Under Base select the value of Placement and then select the ellipsis. In the Translation side of the Placement dialog box enter the Negative of the recorded X and Y values and press “OK”. With the text centred save the file. It will be used to create two more files.

Now, without closing that file resave it as “TxtExtrude.FCStd” and open the “Path” workbench. Note that the ComboView tree is exactly the same as for the Draft file except that the Header is that of the new file. “Part Design” will not allow “Pad” as “multiple solids are not supported” while “Path” will extrude all at the same time.

Now open the “Part” workbench and select the Extrude button. In the new dialog box set the Length/Along value to 0.4mm (which is the height of 2 layers of a 3D printer on a Standard profile) and select “OK”. Save the file and close.
TxtExtrude.jpg
TxtExtrude.jpg (17.15 KiB) Viewed 1297 times
For the third file, again open “TxtDraft.FCStd”, select “Part Design” and save it as “TxtPlate.FCStd”. Create a Body and Sketch on the XY plane. Draw rectangle around the text and constrain it equally around the Origin and close. Select Pad and set the length to 2mm (as a minimum).

If you select the BOTTOM view the outline of the text is visible cut one cannot create a Pocket as yet. In the ComboView select Model and then select and drag “ShapeString” down to Body. Now the “Pocket” button may be selected. Set the length to 0.4mm, the accommodate the depth of the extruded text, and check “Reversed”.
TxtPlate.jpg
TxtPlate.jpg (22.99 KiB) Viewed 1297 times
Save.

STL files and gcode:
Export “.stl” files of “TxtExtrude.FCStd” and “TxtPlate.FCStd” to a known location for access of your Slicer software. I like to edit the File name of my STLs back to the name of my FCStd file.

Start by opening TxtExtrude.stl and turn off Skirt/Brim/Raft to show None. The text however needs to be facing downwards. Select the ‘print’ and rotate 180 around the X axis. Save the gcode and clear build plate.
CuraABC.jpg
CuraABC.jpg (25.19 KiB) Viewed 1297 times
Now open TextPlate.stl. Again this object may need to be rotated 180 around the X axis. The Slicer settings need to be adjusted once again. As the gcode for the text will be printed first, and will remain on the bed, adjustments are required to allow for the second file to consider the Text object. Firstly, there is no need for Skirt/Brim/Raft but a skirt may be useful to ensure that all of the previous colour is gone. It is necessary to create z hop settings. A height of 0.5mm is sufficient to allow for clearance of the extrude text. Cura automatically sets filament extraction.
CuraPlate.jpg
CuraPlate.jpg (18.95 KiB) Viewed 1297 times
With both gcodes saved to an SD card print the Extrude code first, leave the text on the bed, change the filament and print the second file of code. Remember to restore your Slicer settings to your defaults.

Files:
TxtDraft.FCStd https://github.com/CobraCat/FC_LabelTag ... raft.FCStd
TxtExtrude.FCStd https://github.com/CobraCat/FC_LabelTag ... rude.FCStd
TxtPlate.FCStd https://github.com/CobraCat/FC_LabelTag ... late.FCStd
TxtExtrude.stl https://github.com/CobraCat/FC_LabelTag ... xtrude.stl
TxtPlate.stl https://github.com/CobraCat/FC_LabelTag ... tPlate.stl


Thoughts:
I find that I can add multiple “S”hapeStrings to Draft but while, for my purposes, the X coords must all be ‘0’, the Y coords must be different for each.
A SpreadSheet can manage some of that data but it seems that the SpreadSheet cannot be updated/altered by edits made in Draft.
With a SpreadSheet in place, I am yet to understand how link such data to create other files.
Post Reply