PDA

View Full Version : Open Source V-Carving



Pages : [1] 2

scorch
01-29-2012, 06:47 PM
There are a couple of relatively new open source projects on the web for doing v-carving:

Open Voronoi
- Uses Voronoi diagrams to determine the tool paths

and

F-Engrave
- Uses some less complex planer geometry to determine the tool paths (this results in the tool cutting some locations twice as the program steps around the geometry)

I have long thought v-carving was a missing capability in open source CNC software. Ironically it wasn't until after I finally sat down and wrote my own simple program (F-Engrave) that I found another project (Open Voronoi) in the works.

Both of these projects a Google-able. I can't link them because this is my first post on cnczone.

I am the author of F-engrave but I think Open Voronoi will have some definite advantages.

Scorch

txcncman
01-29-2012, 08:43 PM
Thanks.

scorch
02-05-2012, 01:23 AM
In an attempt to make F-engrave more accessible and useful I incorporated support for True Type Fonts (TTF) and DXF files. I also added a windows executable zip package.

To give F-Engrave a try you can download the windows executable zip package, unzip and run f-engrave by double clicking "f-engrave-XX.exe". Where XX is the current version of F-Engrave.

The program can be downloaded from the F-Engrave Home Page: F-Engrave (http://home.comcast.net/~sskroch/Fengrave/fengrave.html)
My next task will be some documentation so let me know if there are things that are unclear/confusing so I can address them first. Also, feel free to post or send a picture of something you made using F-Engrave.

Scorch

Vogavt
03-10-2012, 08:02 PM
This is freakin' insane!!

:banana:

How in the world did you write all this and then just toss it out there without even having anyone's input AND it come off flawless?!

I just wished I could program.

Revealing something like this for the world to use and giving it away redeems my faith in humanity?

Let me know what you might need help with regarding the manual. At least I do have some professional skills in that area.

Regards,
Vogavt

scorch
03-10-2012, 10:16 PM
@Vogavt, Thanks for the kind words. Flawless is definitely an overstatement but I am glad you like F-engrave.

I am starting to see a small uptick in the response from people using the program which hopefully will get me moving on the documentation side.

Scorch

marzetti
03-23-2012, 01:03 AM
Wouldn't ya know, just 2 weeks after I plop down $600 for V-carve Pro I find an open source solution! Great work Scorch!

epineh
03-23-2012, 07:02 AM
Nice work, looks like something else to add to my "to do" list :)

Russell.

Vogavt
03-23-2012, 03:02 PM
Okay, I've been working with this and it's fantastic!
I downloaded the Hershey cxf file and extracted it to the fonts folder, but it's not showing up. I've searched the web for what to do with the file, but I'm coming up empty.
I did note that the file is huge (~2,740kb) compared to the normal.cxf file which is 8kb.

What am I missing?

Jtheletter
03-23-2012, 03:47 PM
Scorch - I've been using F-engrave as one of the first test carves on the DIY 3-axis CNC I built. The letters come out great (Gothic fonts look fantastic) and it's been a breeze to use so far. I'm still getting the machine to its final working state so I haven't stressed F-engrave too hard but I'm very impressed so far.

Just wanted to say thanks for creating this! Hopefully I can help contribute to it in the future.

scorch
03-23-2012, 04:02 PM
@Vogavt
Based on the file size you quoted my guess is that you downloaded the cxf_fonts.tgz file and now have it unziped (gunziped). To access the cxf files you need untar the file after you unzip it. When you untar the file many individual .cxf files will be extracted.

If this is the case the file you have now should have a .tar extension.

Scorch

Vogavt
03-23-2012, 07:07 PM
Nope! I got it sorted out.

Once the file gets extracted, it fails to write the file extension.

Simple enough! I added the " .cxf " to the end of the file and reloaded F-Engrave and it found it! (of course after moving the file to the fonts folder)

I'm a happy camper now!

I suspected and figured it out after I download the qcad cxf files and saw one of the files with about the same file size (unicode.cxf). Knowing about unicode, I knew it has many more characters in its character set.

So.... :idea: I had a hunch and I was right. (don't get to say that very often).

Properly named the file and voila! :wee:


You can get the individual qcad cxf files here (http://www.gnu-darwin.org/www001/src/ports/cad/qcad/work/qcad-2.0.5.0-1-community.src/qcad/fonts/) or all of them here in zip format (http://www.mediafire.com/?qmxdu9l3t1qymm8). It appears to be public domain since the link says "community.src....."

Thanks again!

scorch
03-23-2012, 09:07 PM
@Vogavt
Great! I am glad you figured it out.

The web links you provided will be very useful for new users. Especially those using Windows.

I already added the links to the F-Engrave web page.

Scorch

geomagnet
05-27-2012, 08:51 AM
Wow...you must be a mathematical genious. I tried to do this about 4 years ago and spent 6 months trying to develope an algorithm (and failed). I wrote about 1,500 lines of code and could never get it to work with nested geometry. This is brilliant and extremely generous of you.

Thank you so much.

James

scorch
05-30-2012, 12:34 AM
@geomagnet
Thank you for the encouraging words.

I am slowly trying to make F-Engrave more useful. I now have at least some documentation on the home page and I am keeping a list of features people would like to see added. Until F-engrave is made obsolete by another more advanced open source program I will keep chipping away at improvements.

Scorch

caffeinatedjoe
06-12-2012, 10:13 AM
Scorch, F-Engrave is amazing! I finally finished my cheap, DIY CNC only to realize that there were very few open source software choices for generating g-code - especially with respect to v-carving. Finding and using your program with my machine made me feel like I actually had a legitimate CNC machine. So thank you.

A project that I have been trying to do now is to v-carve a long length of text (our wedding vows), but the program just stalls out. I'm assuming I am just asking too much of the program. Is there a solution to this? Maybe a way to line up multiple passes? Thanks for your help.

scorch
06-12-2012, 01:28 PM
...the program just stalls out. I'm assuming I am just asking too much of the program...

When F-engrave runs on a large design or a lot of text the display will stop updating. Generally F-engrave will continue the calculations and resume normal operation after it has finished. I have run v-carve calculations that have takes almost 30 minutes to complete. My best advice is to be patient and wait it out. I save my work before I run any v-carve calculations that I think will take a long time so I don't loose my work if I get sick of waiting. Then save the g-code file again after calculation is complete.

Making multiple smaller output files is also a good idea if F-Engrave really is freezing up. Using the origin setting will help break up the text into two parts pretty easy. On the first half of the lines set the origin to the bottom of the text (Bot-Left, Bot-Center or Bot-Right). Then for the second half of the lines set the origin to the top of the text (Top-Left, Top-Center or Top-Right). This way your zero position on your cnc machine can remain in the same place for the two sets of text.

Scorch

caffeinatedjoe
06-12-2012, 02:30 PM
The file I am trying to generate gcode for is actually a dxf from Inkscape. It seemed easier to format the text in Inkscape, but maybe dxf files require more computation than the native text in F-Engrave. Is that the case? I'm not 100% on how the whole thing works, but since both the text and the dxfs are treated as vector graphics I believed that an equivalent shape (a "T" entered in F-Engrave vs a "T" of the same font exported as a dxf from Inkscape) would require the same computation. Maybe you can shed some light on that if I am mistaken.
Anyways, I started the program on a Friday afternoon on my work computer, and when I came in on Monday it was still hung up (maybe still working, but I didn't let it keep going). I tried to attach the file to this post but I keep getting an error, so just picture 146 words accross 15 lines, scaled to a square about 18 inches by 18 inches. I know computers aren't supposed to care how many calculations they do and theoretically at some point it would finish processing, but I think the program is actually freezing up, not just thinking in the background. Any thoughts on how to fix this? Or maybe fixing it isn't the solution. Maybe there is simply a size limitation that we have to work around.
About the solution you proposed with resetting the zero location, would that cause my text to stack directly on top of itself with no space in between? My understanding was that the program created a bounding box around the content and so the space above or below would be ignored.
I know I am pestering you with a lot of questions. If you want you can tell me to go jump in a creek... I know this stuff takes a lot of work. V-carve isn't free for a reason.

scorch
06-15-2012, 10:39 AM
More calculation is required for text that has been put into a DXF file. The difference is that the v-carve algorithm can not determine which features are part of the current character in a DXF file so it checks every feature for every step (this is what makes it take forever). For the text typed into F-Engrave the individual characters are defined separately so F-Engrave only checks the features within each character. (Unless Check All in the v-carve settings is selected)

Your best option may be to break the text into chunks as you suggested. You do need to be careful of how the text is place as you pointed out. Adjusting the origin as I suggested might not work perfectly so you do need to double check to make sure the text is being placed as you want it.

Scorch

scorch
08-04-2012, 10:21 PM
As of V0.6 F-Engrave can read Portable Bitmap (PBM) image files with the help of Potrace. I have included potrace with the windows binary distribution of F-engrave. If you are using Linux you need to install potrace for the functionality to be enabled.

Potrace is available at: potrace - sourceforge (http://potrace.sourceforge.net/)

F-Engrave 0.6 is now available at: F-Engrave (http://home.comcast.net/~sskroch/Fengrave/fengrave.html)

scorch
08-13-2012, 12:32 AM
I have changed the v-carve algorithm to accommodate large DXF files like the one caffeinatedjoe was trying to carve. I even gave one of the Aztec/Mayan patterns a shot with F-Engrave. It took a long time for F-engrave to process ~6 hours and some of the details were lost when I carved it on my machine (I am limited to 5 inch diameter and my z-axis slipped a couple of times). I was hoping to get these changes into version 0.6 but wouldn't you know I had a moment of clarity the day after I released version 0.6. So to get the improved speed you need to download F-Engrave version 0.7.

Thanks to Vogavt for the tip on the "divide by zero" bug that slipped into version 0.5 and 0.6 :cheers:

Scorch

cyclestart
08-22-2012, 12:55 AM
Also, feel free to post or send a picture of something you made using F-Engrave.
A couple of simple things borrowed from inkscape's open clip art library. Test pieces #'s 1 & 2.

Thank you very much !

Vogavt
08-22-2012, 06:53 AM
Unless my eyes are deceiving me, these appear to be raised (embossed) and not carved down into the wood!
Looks great!

If so, I may have missed it in the documentation, but how did you pull this off?

cyclestart
08-22-2012, 08:50 AM
Unless my eyes are deceiving me, these appear to be raised (embossed) and not carved down into the wood!
A combination of glossy finish and poor photography skills, although I suspect this software can v-carve embossed letters in the right hands.

Has an example bitmap been posted somewhere ? Does it need to be straight black&white or grey scale is allowed ? The terminology of bitmap files is a bit confusing to the uninitiated.

marzetti
08-22-2012, 09:21 AM
The raised effect is a common optical illusion. The same thing happens with photos of moon craters making them appear as bumps rather than depressions.

scorch
08-22-2012, 07:43 PM
Has an example bitmap been posted somewhere ? Does it need to be straight black&white or grey scale is allowed ? The terminology of bitmap files is a bit confusing to the uninitiated.

@cyclestart Thanks for posting the pictures.

F-engrave input images should only be two colors (black and white). The PBM (Portable Bit Map) format only supports black and white images. Images can be converted to PBM using GIMP (GNU image Manipulation Program) or ImageMagick's convert. (PBM format is preferred but F-engrave will also accept black and white images in PBM, PGM, PPM, or BMP formats using: "File" - "Open PBM/DXF File" from the menu bar )

A couple of additional notes:
A key setting when v-carving images is the Flip Normals option in the V-Carve Settings. This setting will change whether the inside or outside of the image is carved.

For now F-Engrave treats images as a font character (specifically the character "F"). I am working on changing the interface for images and DXF files.

The attached BMP works with F-Engrave (The design is public domain from wikimedia)

Scorch

CaptainVee
08-25-2012, 02:48 AM
Very happy to have found this! It took me some time to figure out it could just be opened in linuxcnc which makes it very easy!

Found a small "spelling mistake" that lead to perplexing milling times.

When you make changes to the .py file self.funits.set("m/min") # Options are "in/min" and "m/min" (line 1181 in my case) it gave 1000's of minutes milling time.

Turns out m/min should be mm/min When I thought I gave the feed rate at 1 meter a minute I actually gave 1 mm a minute. That is a factor of 1000 too slow :)

cyclestart
08-26-2012, 07:45 AM
Thanks for the detailed explanation scorch


The attached BMP works with F-Engrave
Then I'm doing something wrong. (see attachment)

cyclestart
08-27-2012, 10:08 PM
A little tip for Ubuntu 10.04 users.
The Potrace n the repositories is old (I believe the problem is it doesn't support dxf)
Potrace 1.10 is needed for f-engrave.
Works as advertised now. :)

jm82792
08-28-2012, 01:32 AM
Being able to set your origin would be great.
I occasionally wrap text around say a quarter of a circle but I end up with a gcode file that spans the whole circle not just the text. It's difficult to set home when the file is "bigger" then what my machine can move; so I have to fudge things. Also, perhaps different text in one message would be awesome.
Overall I love what you've done, I just made an "Elan Brand" sign(He jokes that his name is found with many brands) up for a friend that used 2 different fonts and it turned out great.

CaptainVee
08-28-2012, 02:01 AM
I've been trying to v-carve an image made up of circles. Note: The attached image is bmp, not pbm.
Will not happen.

I've tried both dxf and pbm. Dxf does not show live plot but the time it takes to calculate seems normal. The file I can then save to axis is empty, no moves except for G0 Z#1 twice.

Opening it as a Pbm makes a different kind of image. It is nice but not the pattern of dots I'm after.

It seems sort of similar to something else I've noticed: In some areas of dxf files not all parts of letters/paths are carved, even though the detail seems big enough.

cyclestart
08-28-2012, 08:51 AM
Note: The attached image is bmp, not pbm.
The attachment appears to be png, making it kind of hard to play along at home. (Not that I'm confident of being any help, but maybe others ?)

By any chance are the dots part of a larger image, sort of like other carving programs imitate photographs using lines ? Playing a wild guess here as it's an idea I've been playing with.

scorch
08-28-2012, 06:08 PM
I have been on vacation so I am playing catch-up on the forum posts.

@cyclestart
- Great tip for users regarding the version of potrace. I am glad you were able to resolve the issue.

@jm82792
- I think the origin drop down menu might help your origin issues (the green and red axis will move on the display as you choose different options). You can set an offset for the origin in the general settings dialog. (the offset origin in the general settings is much more clumsy)

- Different fonts would be nice but it would be nontrivial the way the code is written right now. One other option would be to make the text as you would like it to look in Inkscape then export it as a DXF to F-engrave. (Note: you need to convert the text objects to paths in Inkscape for this to work correctly)

@CaptainVee
- Thanks for the catch on the typo in the .py file. I will correct it in the next revision.

- If you do pretty much anything after the v-carve calculation is complete (other than save the v-carve g-code tool path to g-code) the v-carve g-code data is reset and you need to recalculate the v-carve tool path).

- As cyclestart mentioned it is tough to troubleshoot without all or some of the image you are working with. The attached image is extremely low resolution so it would be tough to get any good results with it. I am guessing the size was reduced for posting. Depending on the software you use to export a DXF file you may get strange results. The potrace output is in the proper format and has an ordering convention compatible with F-engraves conventions so the results are predictable.

Scorch

CaptainVee
08-30-2012, 02:20 AM
Yes indeed, it is a picture made up of dots of various sizes.
It is done in inkscape. I found a tutorial on youtube explaining it

<iframe width="560" height="315" src="http://www.youtube.com/embed/aFCZhchGA4A" frameborder="0" allowfullscreen></iframe>

I found another way by searching for "half tone inkscape"

Edit: seems the "clone tile dots" way is the way to go if you want to go and drill a lot of holes with v-carving.

I think I got the calculation of the dxf going now, had to increase the size of the "text height" Will take a looooooong time to calculate... about 105 minutes.

CaptainVee
08-30-2012, 04:29 AM
I got the first result from my dotted picture.

It seems it only wanted to do the biggest circles. Here are two screenshots.

The first is the view in f-engrave, the second the view in axis.

It needed to have the "letter height" set very specifically or it would not start, In my case 220 mm.
It took about an hour to calculate.

Does it matter what sizes are set for the cutter or other parameters?

scorch
08-30-2012, 09:55 PM
I have not been able to recreate the problem with ignoring the small circles. Did the status bar say 100% complete when it stopped?

It is also interesting that you say the calculation didn't work with the size set too small. I was not able to recreate this problem either. :(

I would love to see the exact image and a .ngc file saved by F-Engrave so I could investigate further. If you don't mind you could send them to my e-mail address that is in the f-engrave help menu.

Additional long winded comments start here:
Yes the v-carve calculation can take a very long time for complex images. The v-carve algorithm uses a brute force approach. The one tip that can make things go a little faster is to set the v-carve bit diameter as small as you expect to need. The algorithm checks the distance from the current line segment to the other segments an ignores the segments greater than the max diameter away for the detailed calculations.

The text height is the output image height when dealing with DXF and PBMs. Most of the other setting on the main window (line thickness cut depth) do not need changing when dealing with images. You do need to make sure that the settings in the v-carve settings are correct. Also minimizing the safe height will reduce time during rapid moves during machining.

If you are using mm units you probably want to increase the sub-step length to something like .25. The "V-bit Angle" and "V-Bit Diameter" need to be set to match your bit (also see above comment in this post about the V-Bit Diameter)

Scorch

scorch
08-31-2012, 12:30 AM
Creating halftones in Inkscape has been an interesting diversion. Although I was able to create the g-code and cut a test image, in the end I thing a more specialized piece of software like the one featured on Hack A Day would give more efficient g-code output than F-engrave for this application.

Creating halftone pictures with a CNC machine - Hack a Day (http://hackaday.com/2011/07/28/creating-halftone-pictures-with-a-cnc-machine/)

Note: When exporting halftones to F-engrave from Inkscape it is better to saved to a DXF file rather than exporting to a bitmap file.

Scorch

CaptainVee
08-31-2012, 12:56 PM
Thanks Scorch. I'll look in to the halftone software later on. But I did use dxf, tried pbm for good measure.

The mystery of v-carving of circles deepens.

I wanted to generate the text "Af en toe walnootolie aanbrengen"
Letter height 20 mm, font kochiminco.cxf, 60 degree 3 mm bit.

In the situation above the i does not get its dot when generating gcode. If I delete the sentence and then write "walnootolie" it does!

Also, the "f" gets something added that is not present in the font.

"Walnootolie af en toe aanbrengen" gets no dotted I and the extra bit on the F.

"Walnootolie f" gets the I dotted but also the extra bit on the f.
"Walnootolie Walnootolie Walnootolie" gets the I dotted on all three I's.

Ah, "Wafnootolie f" gets the thing that should not be there on both f's, maybe that is a font thing.

scorch
08-31-2012, 01:56 PM
@CaptainVee
What version of F-engrave are you using? Version 0.7 is the latest and has some significant improvements over older versions. (this may account for the extra part on the "f")

In the first situation with "Af en toe walnootolie aanbrengen" does everything show up except the dot for the "i"? Did you write the g-code to a file and preview it in MACH or LinuxCNC (EMC2) to verify?

Are you using the windows executable ".exe" file or do you have python installed. If you have python installed which version of python is it?


I did notice that during the calculation it may appear that the dot on the "i" does not get filled in but after the calculation the dot is black indicating that the dot will be cut. This is probably not your issue because this happens in all cases for the dot in that font.

If anyone else can duplicate these issues please speak up.
Scorch

CaptainVee
08-31-2012, 02:25 PM
Q: In the first situation with "Af en toe walnootolie aanbrengen" does everything show up except the dot for the "i"?

Indeed, that is how it happens and so far only with that sentence. The dot does not show up in preview and also not in linuxcnc.

I run f-engrave 0.7 on xubuntu 12.04, from within linuxcnc-simulator.

In other sentences or words, the "i" allways shows up.
Edit:
I've tried "Af en toe walnootolie aanbrengen Af en toe walnootolie aanbrengen", it misses the dots too, in the code.

As far as I have noticed, if the dot misses in preview, it misses in the g-code.

I can not see if the extra bit on the "f" shows up in the code, I'd have to mill it to be able to see.


Edit:
Just did my first engraving instead of v-carving. Took me a while before I found out it was actually as simple as it was.

Scorch, you have done an amazing job, well done!

scorch
08-31-2012, 05:01 PM
If you could provide a screen shot of the extra part on the "f" that would help me look into that issue.

I will try to dig into the missing dots.

(I have not yet reproduced either of these issues. So fixing the problems will be very difficult.)

Scorch

scorch
08-31-2012, 07:27 PM
I have a couple of thoughts on the missing dots and the funky f:

1.) The accuracy setting in the general settings defaults to "0.001" if this is increased I can reproduce the missing dot and extra junk in the "f".
CaptainVee: Please verify that the setting is at the default value. If it is at the default value try setting the accuracy to a smaller value (i.e. .0001) to see if that resolves the issue.

2.) The other way to make the problem appear is by inserting extremely small values in for the text height (on the order of .02 mm).

I think the two problems (missing dot and funky f) are also related to the problem reported (by CaptainVee) a few day ago regarding v-carve not working with a text height less than 220 mm

Scorch

CaptainVee
09-02-2012, 04:58 AM
Thanks Scorch, with the walnootolie sentence, that did it! I had it set to 0.5 mm.

I also tried to do my halftone with it set to 0.0001 up to 0.01 but that gave calculation times of 300 minutes. After stopping the calculations and writing to axis it did seem to show many more of the smaller points so it does seem that this is the cause of my missing dots.

Is this accuracy number something that need just to be played with? And is it really a dimension or just a number?

scorch
09-02-2012, 12:36 PM
The accuracy setting tells F-engrave to treat points closer to each other than the Accuracy setting as a single point. This helps avoid some problems when a font file or DXF file has small gaps or overlaps between line segments. Setting the Accuracy to a value too large will result in some line segments, that are important to the design, to be treated as a single point resulting in missing features and v-carving outside of the lines (because the line was treated as a single point).

As a general rule the Accuracy setting should not be modified unless you are looking to resolve a specific problem with a particular design.

(This is a relatively new setting that has not been documented yet on the web page)

For very large designs it will take a long time (hours) to calculate the v-carve paths. Setting the v-bit diameter to the minimum diameter required to cut design will help speed things up a little.

Scorch

CaptainVee
09-22-2012, 05:40 AM
Found something curious.

Made a design in inkscape with a logo surrounded with an arrow.

Saved as dxf (required both spline options to be checked before saving, otherwise did not show in editor)

Then fiddled with the arrow to make it more compact. Then the file would not show in the editor!

Was able to revert to previous with ctrl-z and file showed again!

scorch
09-22-2012, 11:37 AM
I have a bug fix in yet to be released version 0.8 of F-Engrave that may fix the issue you are experiencing. I can not be sure unless you send the file that will not open so I can test it. If you want to wait I expect version 0.8 to be posted in a few days.

Scorch

CaptainVee
09-22-2012, 11:52 AM
After an afternoon of cycling I tried again and this time could change the arrow just fine.

Look forward to the new version, you are doing a great job!

scorch
10-27-2012, 12:18 PM
I have uploaded F-Engrave V0.9 to my web page. F-Engrave (http://home.comcast.net/~sskroch/Fengrave/fengrave.html)

New Features in 0.9:
- Added support for non-English characters (like: é à) This was my most requested feature.
- Added cleanup operations for removing islands in v-carve designs (see picture)
- Added arc fitting to g-code output (can be disabled in general settings)

Web page Updates:
- Detailed instructions for getting F-Engrave running under Linux F-Engrave Setup (http://home.comcast.net/~sskroch/Fengrave/fengrave_setup.html)
- Tutorial for v-carving from an image file V-Carve Tutorial (http://home.comcast.net/~sskroch/Fengrave/F-engrave_tutorial.htm)

Scorch

jm82792
10-27-2012, 09:57 PM
Hey I just noticed that if you wrap text around a circle then you go to image mode then it displays the DXF strangely.

I found also on a nice note how to "fit" text onto a plaque if you have features to engrave around. Essentially you create a rectangle in Inkscape, then size it to your plaque, import FEngrave's SVG, then fit it to where you want it, and manipulate whatever elements have already been cut or such.
It sounds pathetic but I was making stuff like like the following pictures, and it was a pain to do before.
http://imageshack.us/a/img155/1454/img0011eya.jpg

scorch
10-27-2012, 10:47 PM
@jm82792
Thanks for the tip on problems switching between modes when text on a circle is being used. I will make sure I fix it in the next version.

Sounds like you found a good use for the SVG export feature in F-Engrave. I added SVG output for no particular reason when I started F-Engrave but I have also found it useful in some cases.

P.S. I like how the islands really "pop" on your plaques.

Thanks for the input,
Scorch

arthurbughaw
10-27-2012, 11:00 PM
Hello!I need help!
I have cnc milling eucum vmc960 with mitsubishi M64 controller,
My machine down and not using for a long time and all parameter has been corrupted my problem is i do not know how to restore this parameter to my machine and I do not have back-up parameter of this machine.Please advise.Thank you very much!

jm82792
10-28-2012, 03:44 AM
Thanks Scorch :0
They are 3d profiled pieces that I glue on, and until I put a few things together lining everything up was a total pain. I have one I'm finishing up, then another one for my sister's boss since I owe her a favor.

CaptainVee
10-28-2012, 04:18 AM
Very cool scorch, keep up the good work!

Arbo
10-29-2012, 12:12 AM
Interesting stuff, will have to download and fiddle with it in under windows at some point. I'm interested that there is source, perhaps it's time to start learning a bit of programming on the Mac. Since the mac is so lacking in any good CNC stuff.

scorch
10-29-2012, 12:47 AM
@arbo
If you find F-Engrave useful, it may not be a stretch to get it running on a Mac. F-Engrave is written in python and python is available for the Mac.

Potential issues:
- Potrace is used for reading the image files (it is also available for the Mac)
- F-engrave uses TKinter for the graphic interface. I don't know how well Mac supports TKinter
- To use True Type font you also need ttf3cxf_stream. This is only available in C++ source code.


I would like to hear the details of any attempt you make the get F-Engrave running on a Mac.

Good Luck,
Scorch

jm82792
10-29-2012, 03:23 AM
FEngrave crashes on this DXF, if I mess with it it works but perhaps it would improve your bug fixing efforts. Download globe.dxf from Sendspace.com - send big files the easy way (http://www.sendspace.com/file/tjkgv1)

scorch
10-29-2012, 08:39 PM
@jm82792
I fixed both of the bugs you reported below.

"FEngrave crashes on this DXF..." and
" if you wrap text around a circle then you go to image mode then it displays the DXF strangely."

I uploaded a new subversion (0.91) to the F-Engrave web site.
Thanks for the bug reports.
Scorch

jm82792
10-30-2012, 02:34 PM
I have not made a dime specifically with FEngrave yet, but I've made several random gifts with it. This one was a bit warped, it's the stone age out here when it comes to flatness of wood, thickness, and such.
I also have another plaque, I just need to glue the islands on. It has a Ipe frame around it. That's going for a charity auction, I'm very curious to see what it goes for.
http://www.cnczone.com/forums/attachment.php?attachmentid=169993&stc=1&d=1351622134

CaptainVee
10-30-2012, 03:31 PM
Hi Scorch, I have a request, if you prefer I send it to your email, I'll do that next time.

There are a few things that can be set to a different default by simply changing the text in the python file.

F.i. mm in stead of inch. I'd like a few more that I have trouble finding in the py file:

I'd like my origin to be in the middle of the image as standard, I can't find where to change that.
Also, it it possible to change the default location where files are opened? It used to open in the location of the fonts directory, now it opens in home/user, I cant find where to change that.

But the changes you made are really nice!

jm82792
10-30-2012, 04:37 PM
Setting origin by specifying stock size then if you want it on the left corner, right corner, etc would be nice.
To make the globe thing work I had to combine the text and globe in inkscape, then remove the text, then add the text back in(VCarved, globe is engraved). If I just made the globe code then I wouldn't have my 0,0,0 at the right place when the text was added.

CaptainVee
10-30-2012, 04:53 PM
You can set the origin in the software, I want to change the default so that I do not forget to do it. (Could have phrased that better : )

scorch
10-30-2012, 07:03 PM
@CaptainVee
I don't have much of a preference how you send questions. I guess anything that may be of interest to others is good to post on the forum.
---------------------
The line for setting the origin (in the .py file) is this:
self.origin.set("Default")

The available Options are: "Top-Left","Top-Center","Top-Right","Mid-Left","Mid-Center","Mid-Right","Bot-Left","Bot-Center","Bot-Right","Default"
---------------------
The default file location for opening .ngc files:
self.NGC_FILE = (os.path.expanduser("~")+"/None")

The default file location for opening image files:
self.IMAGE_FILE = (os.path.expanduser("~")+"/None")

To change one of the default file locations you want to modify the line to something like this:
self.IMAGE_FILE = ("/home/my_image_files"+"/None")
---------------------

@jm82792
Nice work on the plaque. I know combining objects can be kind of a pain. I don't know if you are using the origin setting or not but that is the best way to adjust things for now.

Scorch

scorch
10-30-2012, 07:11 PM
If you have some default options that you want to have as the initial settings every time you open F-Engrave you can do the following:

1. Open F-Engrave
2. Change the settings to the settings you want to be the defaults
3. Select [File - Save G-Code File]
4. Save the file to config.ngc in you home directory (the default save location)

Every time you open up F-Engrave it will load the settings from that file.

Good Luck,
Scorch

Additional Notes:
For you old unix people the file location ~/.fengraverc also works
This process will not change the default save location for .ngc files

CaptainVee
10-31-2012, 07:54 AM
Thanks, will save me a lot of clicks!

scorch
11-01-2012, 10:01 PM
I put out another F-Engrave subversion rev (0.92). The cleanup buttons went missing depending on your computer configuration. They did not work for me in version 0.9 and 0.91 when I went to my Linux machine.

Now the buttons should be back to stay.

Sorry about the bug riddled version 0.9 release.
Scorch

bobsch
11-02-2012, 05:08 PM
Sorry about the bug riddled version 0.9 release.
Scorch

No need to apologize. That's what the zero before the decimal point is for. :D

jm82792
11-03-2012, 03:34 AM
Mango background, Ipe frame, Koa islands.
F-Engrave, notepad, Inkscape, and LinuxCNC :)
http://i.ebayimg.com/t/Hawaii-Island-Chain-Plaque-Locally-Grown-Mango-and-Koa-Made-in-Hawaii-/00/s/ODQwWDE2MDA=/$(KGrHqZHJCwFBops)RH-BQlMdTvB)g~~60_57.JPG

scorch
11-03-2012, 03:36 PM
@jm82792

What program are you using to create the 3d profiled island pieces? Are you using image-to-gcode in LinuxCNC?

Scorch

jm82792
11-03-2012, 07:53 PM
No it was DEM derived, it took half past forever to get it to work with several software packages. I couldn't find a heightmap.
I've had people ask me if you can do states other then here, yet you can but from my searching most of the data is per county basis or otherwise tons of small chunks.
But once you can get the points into Meshlab you can tessellate them to mesh. Then from there I used Meshcam.

scorch
11-07-2012, 07:31 PM
I uploaded F-Engrave Version 0.93 to my web page. There was a bug in the previous 0.9 releases that caused the g-code output to miss lines and generally produce junk g-code in some cases. (especially in engrave mode)

The new version is available Here: F-Engrave Homepage (http://home.comcast.net/~sskroch/Fengrave/fengrave.html)

Thanks to mmcp42 for reporting the bug.
Scorch

Vogavt
11-07-2012, 09:18 PM
Something else I noted when using the cursive.cxf font, there are line segments missing in places where I think they ought to be when selecting engrave. I even went back and loaded v0.7 and the issue was there too. As a side note, that font doesn't look like cursive fonts I'm used to using.

I should also mention I've never actually used that font, it just struck a thought when you mentioned missing lines. (I know you are talking about G-code lines and this is different)

scorch
11-07-2012, 10:36 PM
I looked into the missing lines in cursive.cxf... The format of that particular font file is different than the others so F-Engrave ignores some of the data.

The typical CXF file format has lines that start L's or A's:
- Lines that start with L define line segments in the font
- Lines that start with A define arc segments in the font

In the cursive.cxf file there is a third line type "AR" from what I can tell it is an arc in the opposite direction of the standard arc defined by the "A" line.

The bottom line is that the "AR" code is not supported by F-Engrave. I don't see any reason to add support for it because it only occurs in two font files that I know of. The two files are cursive.cxf and simplex.cxf (it only occurs in a single character ã in simplex.cxf).

Scorch

russell2
11-08-2012, 06:14 AM
Hi Scorch,

Can you help please?

I've been trying to instal f-engrave 093 under PCLinuxOS. When I try to run the Python script I get the following errors:
[russell@localhost F-Engrave-0.93_src]$ python f-engrave-093.py
Traceback (most recent call last):
File "f-engrave-093.py", line 6449, in <module>
app = Application(root)
File "f-engrave-093.py", line 1087, in __init__
frame.pack()
File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 1764, in pack_configure
+ self._options(cnf, kw))
_tkinter.TclError: cannot use geometry manager pack inside . which already has slaves managed by grid

The PCLinuxOS repository doesn't include python-tk but I have tkinter installed so I thought it should work.

Any ideas?

Russell

Vogavt
11-08-2012, 08:40 AM
I looked into the missing lines in cursive.cxf... The format of that particular font file is different than the others so F-Engrave ignores some of the data.

Scorch

Thanks for the quick response!
I'm glad I posted here for others to see your thorough explanation. This might be good to add to the documentation for techies like myself.

I'll just simply remove the cursive.cxf file from my available list of fonts since there are many others to chose from thanks to your wonderful program.

scorch
11-08-2012, 09:57 AM
@russell2

I don't know what is causing your errors. Sounds like your Python/TKinter installation could be the problem. Keep us updated. I may look into it but this may be one only you can solve. (because it may be specific to your installation)

Scorch

russell2
11-08-2012, 02:39 PM
Scorch,
Thanks for your reply. I'm wondering if it's a problem with the version of tkinter in PCLinux as opposed to Ubuntoo.

Version numbers I'm using:
Python 2.6.6
Tkinter __version__ = "$Revision: 73770 $"

Russell.

P.S. Not urgent as I can run the Windoze version on XP in Virtualbox.

scorch
11-08-2012, 06:04 PM
@Russell

I don't have access to my Unix box for a couple of days so I am not sure which version of python I am running under Linux. I am pretty sure it is in the 2.6.x series.

I have not looked in detail but the frame.pack() command may be a remnant from something that was removed and it may not be needed anymore.

Try this:
Go to line 1067 in the python file (f-engrave-093.py) and comment it out with a #. So it would look like this.

frame = Frame(master, width= self.w, height=self.h)
#frame.pack()
self.master = master

This seems to work under Windows.

When all else fails delete the line that gives the error. :D

Scorch

(Edit: Deleting the line is not as random as I made it sound. F-Engrave uses the Place geometry manager and the pack() command is used with the Pack geometry manager. F-Engrave is derived from the engrave program which used the Pack geometry manager. So the pack() was left over. I may need to add another place command to completely resolve the issue)

victorofga
11-08-2012, 06:52 PM
i have checked globe dxf...

i didnt tried in autocad yet..
it was written by inkscape..

in draftsigth, (has a great dxf interpreter) showing some bsplines, unconnected

in dwg trueview, a freee autodesk application to convert dxf and dwg forth n back between versions, showing straigth short segments...

also some other programs that working with eps and dxf too... like coreldrw..

what is common, lines are crossing each other... im not sure if any vcarving program will work well with this..
you can engrave following the lines, called on option in toolpathing..

so i think this also was part in the crash.. nice file... however for vcarvign in this form wont work..

the screenshot made with dwg trueview..

scorch
11-08-2012, 11:05 PM
@victorofga

The glode.dxf was linked by jm82792 as something that he was working on engraving. I don't think jm82792 intended to v-carve it.

You do bring up a good point that might not be obvious to everyone. In order to work well for v-carving DXF files need to be composed of closed sections and the lines and sections in the DXF file should not cross each other.

If you v-carve a DXF file with crossing lines the results are typically not pretty.

Scorch

jm82792
11-09-2012, 02:34 AM
http://www.cnczone.com/forums/attachment.php?attachmentid=169993&stc=1&d=1351622134

I engraved the DXF just fine :)
But I know what you mean, the DXFs need to be clean. This one was not but it worked good enough.

russell2
11-09-2012, 03:38 PM
Scorch,

Thanks for your suggestion. Unfortunately, although that error goes away, I get the same error at another point in the program.

I have installed Ubuntu in Virtualbox and there is no problem running f-engrave. Ubuntu is using Python 2.7 and Tkinter 81008 so I guess I need to put in a request to the PCLinux team for some updates.

Russell.

russell2
11-09-2012, 03:57 PM
I seem to be going backwards. I've installed python3 and tkinter3 and tried that. Python3 complains that there is a syntax error in line118: print "%s" %text

Russell.

scorch
11-09-2012, 11:22 PM
There are a lot of changes in Python 3.x. I have not even attempted to make F-Engrave run under Python 3.x.

The safest version to use with F-Engrave is 2.7.

I think making F-Engrave work with Python 3.x make sense so I will push it higher on the list of my things to do.

Russell, I am sorry you are having such trouble getting the program running under Linux. (this type of problem was the genesis of the windows executable version. I am glad that is working for you)

Scorch

russell2
11-10-2012, 02:08 PM
The safest version to use with F-Engrave is 2.7.

Unfortunately I don't have that option.


Russell, I am sorry you are having such trouble getting the program running under Linux. (this type of problem was the genesis of the windows executable version. I am glad that is working for you)

No problem. I'll have to stick to Windoze for now.

Thanks for all your effort in making this program available.

Russell.

jm82792
11-11-2012, 04:08 PM
I could have sworn you had a PayPal donation button but I can't find it.
I made a small sale and I'd like to donate.

scorch
11-11-2012, 08:50 PM
I could have sworn you had a PayPal donation button but I can't find it.
Nope, I don't have a donation button. No need to donate anything to me.


I made a small sale and I'd like to donate.
I am pleased to hear that you are making some money with the help of F-Engrave.

Thanks for the offer.
Scorch

jm82792
11-11-2012, 11:06 PM
Well I'll keep posting my work here then :)
If you want some wood I can send you some.

scorch
11-14-2012, 11:18 PM
_tkinter.TclError: cannot use geometry manager pack inside . which already has slaves managed by grid

OK, I was not reading Russell's error message as closely as I should have been. As I highlighted in bold above the error was due to the pack command after items were managed by grid. What! I don't use grid anywhere... Alas I found a grid call in F-Engrave. I did some digging and the grid call was a remnant from "engrave-11" I guess engrave used the grid manager not pack as I stated previously.

I made a live CD with PCLinux and tested F-engrave. With the lone grid() call I get the error that Russell reported. After I comment out the grid() call F-Engrave pops open no problem.

The Solution:
On line 1083 comment out the line self.grid() with a #. So the file will look like this.

Frame.__init__(self, master)
#self.grid()
self.w = 780

This will be fixed in the next release. Additionally while I was working on this problem I have made some changes (to be included in the next revision) which will make F-Engrave work in python versions 2.5 through 3.3.

Scorch

jm82792
11-15-2012, 02:32 AM
Too big for the machine, that didn't stop me.
http://imageshack.us/a/img5/580/img0105ik.jpg
I did something else but it didn't turn out.
FEngrave at times cuts the same place, and it fuzzes/messes things up.
Nothing a 3d milled inlay won't hide though :)

russell2
11-16-2012, 12:17 PM
Thanks Scorch. It now works in PCLinux there remains one problem ane one minor niggle.

First the niggle: Changing the font directory in Settings (to /usr/share/fonts/webcore) doesn't get saved and has to be done each time I start up. Not insurmountable as I can just copy the fonts to the default directory.

Now the problem: Opening a bitmap file produces the error message; "Unable To create path data from bitmap File." I have tried "potrace filename.bmp" in a terminal and it produces a working .eps file OK. PCLinux has Potrace version 1.8.

Any ideas on this.

Russell.

scorch
11-16-2012, 01:00 PM
@Russell

F-Engrave needs Potrace version 1.10. The previous versions of Portrace cannot output DXF format.

Here is how you save settings from one F-Engrave session to the next:

If you have some default options that you want to have as the initial settings every time you open F-Engrave you can do the following:

1. Open F-Engrave
2. Change the settings to the settings you want to be the defaults
3. Select [File - Save G-Code File]
4. Save the file to config.ngc in you home directory (the default save location)

Every time you open up F-Engrave it will load the settings from that file.


If you want the configuration file to be hidden you can rename it to .fengraverc

Scorch

russell2
11-16-2012, 03:21 PM
Thanks Scorch.

I'll have to see if I can get an update for Potrace.

Saving configuration - easy when you know how!

Russell.

scorch
11-16-2012, 06:54 PM
I uploaded a new version of F-Engrave (1.00) to the F-Engrave (http://home.comcast.net/~sskroch/Fengrave/fengrave.html) web site.

Changes in Version 1.00:
- Added support for DXF polyline entity "bulges" (CamBam uses polyline bulges in DXF exports)
- Modified code to be compatible with Python 3. (F-Engrave now works with Python 2.5 through 3.3)
- Removed stale references to the grid geometry manager (This fixes the PCLinux issue)
- Made minor user interface changes

Other Stuff:
If you have a program that exports DXF files and F-Engrave fails to import them for some reason feel free to send me a sample. There are a lot of entity types in the DXF standard. If I know someone wants a specific type added I will look into it to see how hard it would be to add.

FYI: I am using the tenths place (1.X0) in the version number for versions with new features and the hundredths place (1.0X) for bug fix releases. That is why I skipped 0.94 through 0.99.

Scorch

jm82792
11-17-2012, 03:34 AM
Awesome!
Will be making more things with FEngrave soon :D

CaptainVee
11-18-2012, 05:12 AM
Today I tried the windows version for the first time. Here are some remarks:

I tried changing the settings from inch to mm as I had done before. I fount the .py file and changed stuff as I did before. But f-engrave did not start with the changed parameters???
I tried the same changes on my ubuntu machine and it worked fine.

As you are working so quickly I need to change parameters quite often. Could you put them more at the top?
I'd also welcome more parameters marked with comments so f.i. I can change the default file locations.

Finally, calculating the v-carving was a lot quicker on the windows box than on ubuntu. like 2 minutes compared to 22 or more. Could that be because on ubuntu I open f-engrave through linc? I think I see less circles on windows, could that be part of it?

Edit: *** tried this self.v_step_len.set("2.54") #change for "inch" to "mm" from "0.01" to "2.54"
That gave the same behaviour/speed as when I tried on windows and was unable to get mm set as the base measurements.***

Keep up the good work Scorch!

jm82792
11-18-2012, 01:38 PM
I did some nice Ipe signs I'll post up shortly.
The only suggestion I have currently is an option to have "slower" Z movement so that I don't engage the bit too much on the cut-ins, since router bearings dislike plunges.... Perhaps a couple check boxes so you can change the post, or maybe I could just edit the post somewhere....

scorch
11-18-2012, 02:59 PM
I tried changing the settings from inch to mm as I had done before. I found the .py file and changed stuff as I did before. But f-engrave did not start with the changed parameters???
The windows executable file is made from the .py file but no longer references the .py file. So changing the .py has no effect. In both Linux and Windows changing the default values is best achieved by saving a "config.ngc" file in your home directory. See my post from a couple of days ago for more details.
(You can change the python file and get the results you are looking for under Windows but you need to have Python installed.)


As you are working so quickly I need to change parameters quite often. Could you put them more at the top?
I'd also welcome more parameters marked with comments so f.i. I can change the default file locations.

Changing a lot of values in the python file is like banging your head against the wall. You may feel better when you stop. It is much easier to save a config.ngc file. The only thing that can't be saved in the "config.ngc" file is the default file save location. I am considering adding a setting or command line option the default save location. I have not yet decided how I want to handle it.


Finally, calculating the v-carving was a lot quicker on the windows box than on ubuntu. like 2 minutes compared to 22 or more. Could that be because on ubuntu I open f-engrave through linc? I think I see less circles on windows, could that be part of it?

Edit: *** tried this self.v_step_len.set("2.54") #change for "inch" to "mm" from "0.01" to "2.54"
That gave the same behavior/speed as when I tried on windows and was unable to get mm set as the base measurements.***

A little explanation for people following along. The item CaptainVee changed in the python file "self.v_step_len.set("2.54")" is the variable that controls the "Sub-Step Length" value in the V-Carve Settings window. When using mm units the default value is extremely small .01 mm Changing this default to 0.254 mm is equivalent to the default value in inches (0.254mm = 0.01 in) so that is a more reasonable setting when using mm. Changing the setting to 2.54mm is a little too big but will work in some cases. More details on what this setting does is on the F-Engrave manual page.

Scorch

CaptainVee
11-18-2012, 03:15 PM
Thanks Scorch, I'll try to wrap my head around the config file (it may be simpler than it seems to be) and change the number to 0.254

scorch
11-18-2012, 03:24 PM
The only suggestion I have currently is an option to have "slower" Z movement so that I don't engage the bit too much on the cut-ins, since router bearings dislike plunges.... Perhaps a couple check boxes so you can change the post, or maybe I could just edit the post somewhere....

I changed the plunging behavior a while back so the bit plunges at an angle when V-Carving. I will have to think a little about how the plunge speed might be changed independent of the normal feed rate.

Is the plunge rate only an issue when you are starting a new cut after a rapid move or are there other times also?

Scorch

jm82792
11-18-2012, 08:21 PM
I found a bug, well I think it's one.
Write something like "oo" then save the file then write "HL" or some higher cap letters. Then combine the results into Linux CNC or a plotter, and you get strange scaling. It seems that if it's all a certain height then it's scaled to 3" or whatever you set. Then if it's involving caps and you combine it with something that's only lower case then you have issues.
I know it sounds kind of trivial, but I thought I'd point that out.

Ahaha posted when you did.
I see it as a potential issue when starting a cut, maybe other might have it when it's cutting downwards but I doubt it.
I did a bunch of signs(I'll post a picture in a while, they are solid Ipe/harder then ebony) just a bit ago, they turned out great but the feeds could have been higher if the first plunges were slower. Just a suggestion; I'm incredibly happy with the program right now as it is :D

jm82792
11-18-2012, 08:41 PM
Here is what I did.... (yep I removed a part of the address.. You have 1,000 combinations)
They were sticking out of the machine a bit... Umm around 1.5' :D
http://imageshack.us/a/img268/1453/blurredk.jpg
http://imageshack.us/a/img267/7146/img0130oj.jpg

scorch
11-18-2012, 08:53 PM
I found a bug, well I think it's one.
Write something like "oo" then save the file then write "HL" or some higher cap letters. Then combine the results into Linux CNC or a plotter, and you get strange scaling.

This is actually a feature :)
If you are typing something and you want the characters to be a certain height you input the height and voila they are the height you asked for. This is really important if you are trying to fit text into a defined space.

If you want the characters to be all the same scale, regardless of the characters used, you need to change the "Height Calculation" setting in the "General Settings" window to Max All. The Max all settings causes F-Engrave to determine the scaling factor by the highest point and lowest point for all of the characters in the currently selected font. (The tallest character might be something like an A with an accent "Á" and the lowest might be something like "j")

For your case it makes sense to change this setting since you are combining more than one set of F-Engrave output. The downside to the max all setting is that you will need to figure out what height to input to get the characters you are using to be the right size.

I hope that makes sense.
Scorch

jm82792
11-18-2012, 11:04 PM
Thanks Scorch that makes a ton of sense :)
Also the family that got the early Christmas gift are thrilled.
They are going to build a frame for the pieces since they are all builders.
I couldn't have done it without FEngrave.

scorch
11-18-2012, 11:16 PM
@jm82792

So it looks like those pieces were "engraved" not "v-carved". Am I correct?

If that is the case it makes a lot more sense that the plunge cuts were an issue. It would also be pretty straight forward to add another plunge feed input to the interface or editable variable in the .ngc file.

Scorch

jm82792
11-19-2012, 12:53 AM
They are V carved(it doesn't show it very well).
I used a 1/4" router bit with a 45* point.
I tried a wider 45* bit(2.5"), but it would go down .3" deep which is waaaay too deep for anything but I'm betting foam or pine. So it does a bit of height change to give it sharper and curlier looking letters, but it doesn't scream V carved.

CaptainVee
11-19-2012, 07:42 AM
Feature request:

I like to use engraving and v-carving in the same part/design. That is quite easy to program in the ngc when you know what is milled where.

But f-engrave jumps up and down the image in a way that seems random to me. Is there a way to make it more clear what is milled in what sequence?

jm82792
11-19-2012, 01:35 PM
I was thinking about that in regards to Meshcam's seemingly random rapiding around(I see a bit of improvements, not much past an advanced Gcode text editor though). From what I see the best thing would be if it would start looking for places to "plunge" from home then work it's way out to the end of the piece. But then if you are looking for clusters, place can be left out, and all that fun stuff... well I'm guessing that's the case from my brief contemplation of the matter :)

CaptainVee
11-19-2012, 05:18 PM
Ran in to some trouble, not sure if it has been covered yet.

Opened a dxf that I generated from a .eps (actually tried 2), wanted to do some v-carving on the inside.

Both logo's were carved both on the inside and the outside. Now that I am writing this, I think with both logo's the outside carves and inside carves were the same.

scorch
11-19-2012, 05:57 PM
f-engrave jumps up and down the image in a way that seems random to me. Is there a way to make it more clear what is milled in what sequence?
The short answer is no. F-Engrave moves to the next closest starting point in an attempt to reduce the number and distance of rapid motions. A lot of DXF generators do not generate the g-code in a way that would seem logical so trying to keep the order in the DXF file is not going to give the results you are looking for either. The only other option would be to try to use some other logic to group items together. I don't see any way to group the items that would always give results that would make sense.


Opened a dxf that I generated from a .eps (actually tried 2), wanted to do some v-carving on the inside.

Both logo's were carved both on the inside and the outside. Now that I am writing this, I think with both logo's the outside carves and inside carves were the same.

The program that generated the DXF file you are using did not always generate the closed loops in a consistent manner.

F-Engrave assumes that the font or image (DXF) file creates closed paths running clockwise around the shape to be carved and defaults to carving the internal space. Another way to think of this is if a line is drawn from point "A" to point "B" F-Engrave will v-carve to your right as you walk along the line from point "A" to point "B".

You can reverse which side is carved using the reverse normals option but if the DXF file has some of the loops clockwise and some counter-clockwise the results are going to be determined by which direction the lines are defined for each element of the design. You can fix the DXF file by editing the directions of the loops in Inkscape.

F-Engrave needs the input to be consistent to produce consistent results.

Scorch

scorch
11-19-2012, 08:37 PM
The comment about random jumping around the image reminded me of a comparison I made between version 0.7 and 0.8. The attached picture shows the rapid movements (in turquoise) generated by F-Engrave in version 0.7 and the right side of the image shows the rapids movements (in turquoise) as generated in version 0.8 and later. This shows how well searching for the next closest plunge works for reducing the rapid movements.

I cut this design using version 0.7 it would have taken a lot less time in version 0.8. The pain of watching tool rapid from one side to the other hundreds of times prompted me to make the change.

Scorch

CaptainVee
11-19-2012, 11:30 PM
Thanks scorch, I though I'd read about something similar but could not find it. I'll try it out!

Edit: After some trouble understanding Inkscape I now have it running.

As a result of this struggle I have a feature request (if you can call it that)

Edit 2:
I think the next request is already in place in preferences, would it be a good idea to move it to the main window?:

**Would it be possible to get a "reload" button Like Linc has?**

If you need to make many changes to a file when trying to generate gode from it you have to keep reopening the file. Reload would save a lot of mouse clicks

CaptainVee
11-20-2012, 06:43 AM
Ran in to a bug.

Made a sign with a rounded square to engrave and v-carve. V-carve went fine but engraving gave the next result:

The lines at the top and bottom of the square are straight in the drawing and the v-carve code but curved in the engrave code....
Huh?

scorch
11-20-2012, 07:10 AM
Ran in to a bug.
The lines at the top and bottom of the square are straight in the drawing and the v-carve code but curved in the engrave code....
Huh?

Looks like a problem. Turning off arc fitting in the General Settings window will probably give you good results.

I can work on the problem but I need your .dxf and .ngc file so I can recreate the problem. (You can email them to the address in the F-Engrave help menu.)

Scorch

CaptainVee
11-20-2012, 07:22 AM
Hi Scorch, thanks for the quick reply!

Turning off arc fitting did the trick!
What does arc fitting do?

scorch
11-20-2012, 07:14 PM
What does arc fitting do?
Arc fitting fits the lines in a design that form arcs to g-code arc commands g2 and g3. Fitting the line segments to arcs can make cutting the design faster because if the output has a bunch of short line segments the machine is never able to accelerate to the full feed rate along the short line segments. Arc fitting can also make the curve in a design look more smooth by removing the facets. F-Engrave breaks everything down into straight line segments upon import so arc fitting the output recovers some of the arcs as they were originally intended. As a small bonus to all of this the output file size is also smaller with arc fitting enabled.



I think the next request is already in place in preferences, would it be a good idea to move it to the main window?:

**Would it be possible to get a "reload" button Like Linc has?**

If you need to make many changes to a file when trying to generate gode from it you have to keep reopening the file. Reload would save a lot of mouse clicks
How about a keyboard shortcut. So you would just need to hit a key or key combination to reload the image like hold the control key and hit the r key or maybe one of the function keys. I am trying to keep the main window as clean as possible (The text mode window is already pretty cluttered).



I can work on the problem but I need your .dxf and .ngc file so I can recreate the problem.Scorch
Sven, Is there any chance you could get the .dxf and .ngc files to me. Attach them here, e-mail them or temporarily post them on your web page? I have an idea what might be causing the problem you found but I need to be able to test the solution.
Edit: If you can't/don't want to send the details in the design file you can delete out everything except the border and see if you get the same curved output. All I care about is getting a sample with the curved line where there should be a straight line.

Scorch

jm82792
11-24-2012, 02:13 PM
This is a problematic DXF that I autotraced from a clean logo, and further cleaned up by hand with no luck.

scorch
11-24-2012, 02:59 PM
This is a problematic DXF that I autotraced from a clean logo, and further cleaned up by hand with no luck.

The file attached to the message has a .zip extension but is not a zip file. The contents looked like a DXF file but I was not able to open it in inkscape or F-Engrave.

Was the problem that you could not open the file? I need more information than it is problematic.

Scott

Vogavt
11-25-2012, 09:37 AM
I can't get it to open either. Yes, it does look like a DXF file via notepad, but not sure what wrong.
I can see that it came from Inkscape so maybe try again.

jm82792
11-25-2012, 02:57 PM
Perhaps it's Inkscape's fault.
Here is the inkscape file and the bad DXF that came from it, properly zipped this time.

scorch
11-25-2012, 03:33 PM
@JM82792
The SVG file opened right up in Inkscape. I then saved the file as a DXF. The resulting DXF file opened up in F-Engrave no problem.

Investigating further:
The header in the file you posted indicated that it was created by a DXF export called "Better DXF Output". The DXF my Inkscape produced simply stated "DXF Created By Inkscape". It looks like your inkscape is configured to use a third party DXF export. This difference seems to be the source of the problem. The DXF file you posted does not open in any program that I have that reads DXF files (Including Inkscape).

FYI: To save a DXF from Inkscape I just go to:
[File]-[Save As] then set the "Save as type" to: [Desktop Cutting Plotter (R13)(*.dxf)]


This is the header from your DXF file:

999
Inkscape export via "Better DXF Output" (bob's email address)


This is the header in the DXF file created by my Inkscape (V 0.48)

999
DXF created by Inkscape

I hope this helps,
Scorch

jm82792
11-25-2012, 03:48 PM
Now I feel plain inept :)
Thanks, I think I was playing with things a few weeks ago, and forgot I did that.

CaptainVee
11-27-2012, 08:49 AM
Scorch, I'll email the files when I have a bit of restful time available.

But before then, here is my new business plank.

It has a v-carving and an engraving in one gcode file.

russell2
11-29-2012, 02:56 PM
Just bought a new laptop and installed PCLinuxOS. I thought others might be interested in the steps to get F-Engrave working on this distro.

Download and unpack F-Engrave.
You will need to install the following packages from the repository:
avr-gcc
avr-gcc-c++
gcc-c++
freetype
libfreetype6
libfreetype--devel
Then follow Scorch's instructions to install TTCXF_STREAM and run f-engrave.

To import .bmp files you will need to install potrace 1.10, unfortunately this is not in the repository yet but I'm assured it will be in a few days.

Russell

scorch
12-17-2012, 11:57 PM
Thanks Russell,
I am sure some users will find the PCLinuxOS info you posted useful.

Just a note: F-Engrave will work without TTF2CXF_STREAM. However TTF files would not be supported. Similarly F-Engrave will work without Potrace but bitmap images would not be supported.

F-Engrave version 1.01 has hit the street. Only a couple of minor changes.
- Additional restrictions have been added to arc fitting algorithm to avoid the problem identified by CaptainVee.
- Opening files under Python 3 has been fixed. (The text was not being read properly)

Scorch

CaptainVee
12-18-2012, 01:02 AM
That's great Scorch, I'll give it a go today!

Edit: works!
Thanks a lot!

CaptainVee
12-27-2012, 08:15 AM
Would it be possible to show the width of the image resulting from setting the height of the image that is going to be milled?

That way you could change the text going to be milled to fit an available space.

Vogavt
12-27-2012, 09:08 AM
You stated "image" in the first sentence but "text" in the second.

It's already there for both image and text.
Look the "Bounding Box" at the very bottom of the application's screen.

Make a couple of changes in the height and/or %width and watch F-Engrave recalculate the number for you. :D

CaptainVee
12-27-2012, 03:45 PM
Oops.
Guess you are right. Have to reset my English mind-dictonary.

Thanks!

CaptainVee
12-28-2012, 04:35 AM
Ran in to a smal/big problem.

In calculating v-carve somehow a very big circle got created, in todays case 163 billion mm... Which does not fit my mill. Or anybodies, I'm quite sure : )

I think I can remove it as it is in small areas but it is usually hard to find. There is some text in the generated code hinting on the anomaly but I can not find the actual location quickly.

I eventually found it by sifting through every line with a G2 in it and found the one line that had the huge arc. Added ; and it seemed fine.

scorch
12-28-2012, 10:19 AM
@CaptainVee

Sorry, I thought I had all of the funky circles worked out of the arc fitting routine.

Once again turning off arc fitting in the General Settings window is an easy way to get rid of any bad arcs. (at the cost of potentially slowing down the cutting and making the .ngc file longer)

I can work on the problem but I need your input file and .ngc file so I can recreate the problem. (You can post them here or e-mail them to the address in the F-Engrave help menu.)

If you can't share the full files you can just crop out the portion of the file that the big circle is created in.

Scorch

CaptainVee
12-28-2012, 12:41 PM
Hi Scorch, files sent by email.

You are giving awsome support!

scorch
12-28-2012, 02:18 PM
Hi Scorch, files sent by email.

You are giving awsome support!

I received them, thanks.
Scorch

woodworm
12-30-2012, 01:20 AM
Hi Scorch, Installed F-Engrave in ubuntu and it opens up ok. Tried to install fonts with no luck.
I have attached a screenshot of the install.
I clicked ok on the choose directory. No font come up. What is happening?
Gary

CaptainVee
12-30-2012, 05:04 AM
Until now every feature I asked for was already implemented, I think this one is not:

Could you add a button to copy the g-code (for v-carving in my case) to clipboard?

Vogavt
12-30-2012, 06:59 AM
In the Windows version a "fonts" directory gets created. Never used linux but it may be there as well.
Check and see. If so point your directory there.

woodworm
12-30-2012, 07:31 AM
Got my fonts installed. My linux download had the fonts missing so I copied the font folder from the windows package, now it works.
Thanks, Gary.

Vogavt
12-30-2012, 07:45 AM
.

scorch
12-30-2012, 12:11 PM
Until now every feature I asked for was already implemented, I think this one is not:

Could you add a button to copy the g-code (for v-carving in my case) to clipboard?

In the toolbar go to "Edit - Copy G-Code Data to Clipboard" :)

Scorch

CaptainVee
12-30-2012, 12:57 PM
Ok, have two options now.

1: Aaaargh! Not again! (That makes Scorch look good)
2: Say, yes I know (not true), but I'd like a button. (makes me look less of a mad scientist)

I have a big job comming up needing a lot of code to be generated. Having a button and save the clicks would mean a big improvement in work flow.

But still, just having it in the menu makes it a lot better :)
Thanks again Scorch.

scorch
12-30-2012, 11:52 PM
In calculating v-carve somehow a very big circle got created, in today's case 163 billion mm... Which does not fit my mill. Or anybodies, I'm quite sure : )

I think I have fixed the issues with arc fitting. Thanks to CaptainVee for the test files. You have no idea how much it helps to get sample files illustrating problems. The latest fixes are in F-Engrave Version 1.02 available here: F-Engrave 1.02 (http://home.comcast.net/~sskroch/Fengrave/fengrave.html#download)


1: Aaaargh! Not again! (That makes Scorch loog good)
2: Say, yes I know (not true), but I'd like a button. (makes me look less of a mad scientist)

Google translate does not convert "loog" but I will take that as a compliment! :) In Version 1.02 I added a key-binding for [CTRL-g] (hold down the control key and press "g") to copy the current G-code to the clipboard. I hope this is even better than a button for copy to clipboard for advanced users (i.e. CaptainVee).

Additionally, thanks to everyone that has been chipping in to answer questions before I have a chance (or before I wake up in the morning. :))

Keep the bug reports coming... Lets get the bugs worked out before I forget what I programmed.

Scorch

Vogavt
12-31-2012, 12:05 AM
Pitching in aids in providing you with more available programming time!

/Big Grin!/

CaptainVee
12-31-2012, 01:20 AM
"Loog" should have been "look". But again, you are one step ahead of me, ctrl+g is muuuuuch better!

Awsome job as always!

Winks
12-31-2012, 04:52 AM
I could not find a link to 1.02, but a little fiddling with address bar gets this.

http://home.comcast.net/~sskroch/Fengrave/F-Engrave-1.02_win.zip

CaptainVee
12-31-2012, 09:31 AM
After a little bit of fiddling, here is my new business plank. Again a combination of engraving and v-carving

scorch
12-31-2012, 10:14 AM
I could not find a link to 1.02, but a little fiddling with address bar gets this.


The link was there you just needed to refresh the web page.

Scorch

scorch
12-31-2012, 10:20 AM
"Loog" should have been "look".

That is funny. I was convinced "loog" was Dutch slang.

Scorch

CaptainVee
12-31-2012, 10:36 AM
Loog would be translated as "Lied" which of course is not what i did :)

Funny enough it would also be Lye (?) as in caustic soda.

CaptainVee
01-03-2013, 03:43 AM
So far I have been unable to install f-engrave in linux but made good use by opening it in axis (linuxcnc). You can then choose to "write to axis and exit"

If you have it installed, is it then possible to have the mill running whilst new code is being generated in f-engrave, and then have it "written to axis" when the mill is done?

That would save me some time in preparing and give incentive to actually get it installed.

scorch
01-03-2013, 07:40 AM
... is it then possible to have the mill running whilst new code is being generated in f-engrave, and then have it "written to axis" when the mill is done?

No, f-engrave always exits after "writing to axis". If you run f-engrave (independent from AXIS) you can keep overwriting the same file and use the re-read from file button in AXIS to update the input after the first job is finished.

Scorch

CaptainVee
01-11-2013, 01:13 AM
Please don't tell me this one has already been implemented :)

Would it be possible to add a third Z height variable which is used at the start end end of the code? I noticed that at the start it already has the safe z written twice.

I run the code with a low safe Z of less than 1/8th for speed but like to start and finish at about 2".

So something like:

G0 Z#3
G0 X Y ;starting point

; all the code for engraving

G0 Z#3
; Bonus: G0 end position

scorch
01-11-2013, 07:41 AM
@captainvee
You can add the z moves you want to the "G Code Header" and "G Code Postscript" in the settings window.

This isn't exactly what you asked for but it will get the result you are looking for.

Scorch

CaptainVee
01-11-2013, 09:47 AM
@captainvee
This isn't exactly what you asked for but it will get the result you are looking for.

Scorch

Maybe not but it IS exactly what I needed :) (when I change the main f-engrave file)

Thanks!

CaptainVee
01-11-2013, 12:32 PM
Would it be possible to write the first line of engraved text as a comment at the top of the comments the output starts with?

And here is some work getting done:

<iframe width="640" height="480" src="http://www.youtube.com/embed/K3uInZ3r4m4?rel=0" frameborder="0" allowfullscreen></iframe>

scorch
01-11-2013, 09:47 PM
Would it be possible to write the first line of engraved text as a comment at the top of the comments the output starts with?

Yes, I can add that in the next release. In older versions the text was printed at the top of the output file. I deleted it at some point...I can't remember why :confused:

Scorch

CaptainVee
01-12-2013, 01:26 AM
Cool, I look forward to it.

russell2
01-12-2013, 10:10 AM
Hi Scorch,

I've just changed my OS from PClinuxOS to Linux Mint (a fork of Ubuntu). I've tried to install F-Engrave and everything works fine untill I get to TTF2CXF. When I try to install it I get the following errors:

russell@russell-SATELLITE-C870-13V ~/F-Engrave-1.02_src/TTF2CXF_STREAM $ make install
g++ -o ttf2cxf_stream -lm -I/usr/include/freetype2 -lfreetype ttf2cxf_stream.cpp
/tmp/ccKRmCrC.o: In function `convertGlyph(unsigned long)':
ttf2cxf_stream.cpp:(.text+0x47a): undefined reference to `FT_Get_Char_Index'
ttf2cxf_stream.cpp:(.text+0x492): undefined reference to `FT_Load_Glyph'
ttf2cxf_stream.cpp:(.text+0x4c7): undefined reference to `FT_Get_Glyph'
ttf2cxf_stream.cpp:(.text+0x543): undefined reference to `FT_Outline_Decompose'
/tmp/ccKRmCrC.o: In function `main':
ttf2cxf_stream.cpp:(.text+0x9cd): undefined reference to `FT_Init_FreeType'
ttf2cxf_stream.cpp:(.text+0xa0d): undefined reference to `FT_New_Face'
ttf2cxf_stream.cpp:(.text+0xdc2): undefined reference to `FT_Get_First_Char'
ttf2cxf_stream.cpp:(.text+0xdd8): undefined reference to `FT_Get_First_Char'
ttf2cxf_stream.cpp:(.text+0xe1b): undefined reference to `FT_Get_Next_Char'
collect2: error: ld returned 1 exit status
make: *** [linux] Error 1

I have the latest g++ and libfreetype6-dev installed. Any ideas?

Russell.

scorch
01-12-2013, 03:30 PM
I've just changed my OS from PClinuxOS to Linux Mint (a fork of Ubuntu).
...
When I try to install it I get the following errors:
...
$ make install
g++ -o ttf2cxf_stream -lm -I/usr/include/freetype2 -lfreetype ttf2cxf_stream.cpp
/tmp/ccKRmCrC.o: In function `convertGlyph(unsigned long)':
ttf2cxf_stream.cpp: (.text+0x47a): undefined reference to `FT_Get_Char_Index'
...


I don't have a solution but I can give a little insight. The errors that you are getting are the same errors that you would get if you did not link the freetype library (i.e. delete the text "-lfreetype" in the ttf2cxf_stream Makefile)

You are not getting an error that it can not find the freetype library so I assume it is present.

Good luck
Scorch

lagore
01-22-2013, 11:14 AM
Hi scorch,
First off great piece of software. I was wondering if there is a preferred way of drawing 'shapes' in auto cad (dxf) so that all the defined paths are clockwise and is there an easy way to change them in a drawing already completed. My problem is some of the line segments of an object are reversed so the individual line has to be reversed in inkscape as apposed to the complete object.
Edward

scorch
01-22-2013, 01:46 PM
...I was wondering if there is a preferred way of drawing 'shapes' in auto cad (dxf) so that all the defined paths are clockwise and is there an easy way to change them in a drawing already completed.
I don't use Autocad so I can't help you with that. You are already using Inkscape which is the best method I know of for an existing DXF file. Most of the images I carve start as images and are converted on the fly with Potrace. The output of Potrace is ideal for F-Engrave.

Maybe someone else will have better tips...
Scorch

voltsandbolts
01-27-2013, 08:14 PM
Scorch,


I have been on CNCzone for years, but surprisingly found F-Engrave on a Google search on engraving.


I down loaded unzipped and ran the program. I was able to produce a nice circular V-carving easily with only watching a few videos.



Thanks for making this available for us hobbyists without a lot of excess $$$. I look forward to seeing how F-Engrave grows.


Keep up the good work!


Thanks,
RW
<!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:"Times New Roman"; mso-fareast-theme-font:minor-fareast; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin;} </style> <![endif]-->

BMcCaskill
01-31-2013, 11:02 AM
I apologize if this is a dumb question but I am still very new to the CAD/CAM world.

Would it be possible to carve lithophanes with f-engrave by importing a bitmap of an image that has been embossed in Photoshop?

CaptainVee
01-31-2013, 11:46 AM
No, it can not.

If you have not yet decided on what system to use, linuxcnc can mill lithopanes "out of the box" but it is a bit of a learning curve.

scorch
01-31-2013, 11:57 AM
F-Engrave input images should be black and white. What is black will be cut and white will not be cut.

F-Engrave is not the right program to cut a lithophane with. To cut a lithophane you should use a program that can cut depthmap images. This capability is built into LinuxCNC.

Additionally when you make a lithophane with a depthmap cutting program you don't want to emboss the image in Photoshop. Just save the image as grayscale.


Scorch

BMcCaskill
01-31-2013, 01:47 PM
Gotcha. I guess I was just wondering if Photoshop was taking care of the depthmapping in a way that could be translated through f-engrave.

Anyhow, I still can't thank you enough for creating this program. It has been extremely tolerant of my CAD/CAM self education.

Vogavt
01-31-2013, 05:51 PM
@Vogavt
I already added the links to the F-Engrave web page.

Scorch

Might I suggest you also post a link to this cnczone thread on your website? Your call as I'm not certain how others are "finding" you on the web.

If they use a search engine for open source vector carving they may happen upon your site. If that works, I'd think this thread would be useful to them as well. I know it has been for me.

Cheers,
Vogavt

scorch
01-31-2013, 10:49 PM
Might I suggest you also post a link to this cnczone thread on your website?...

I have had a link to this thread on my web site for some time. At the top of the F-Engrave Manual Page (http://home.comcast.net/~sskroch/Fengrave/fengrave_doc.html). Your comment just solidifies my thought that my web site could use some reorganization to make things more user friendly. If it stays cold long enough here in Minnesota I will get around to reorganizing the web site.

Scorch

Vogavt
02-03-2013, 05:47 PM
I have had a link to this thread on my web site for some time. At the top of the F-Engrave Manual Page. Scorch

I'm sure I've seen it but I don't get to the documentation page very often to look for what you may or may not have added.

Maybe moving/copying it out to the homepage wouldn't be a bad idea for the newbies after all.

bevinp
02-04-2013, 05:45 AM
How do I select/input a special character that is listed in "show all characters",into the text I wish to engrave?
Bevin

scorch
02-04-2013, 07:53 AM
@bevinp
To input special characters you can use the ALT codes (hold down the ALT key and type in the numeric code for the character) or copy and paste the characters from another program that has a graphic interface for inserting special characters (i.e. a word processing program)

Scorch

Vogavt
02-04-2013, 08:09 AM
(Didn't see Scorch's post prior to me sending my response via Droid , but I'll leave it anyway)

You'll need to find it from the ASCII table more than likely.

Once you've figured out the symbol, you can put it in by holding down the Alt key and typing it in.

As an example, try this to get the degree symbol:
Open a new document, hold down the Alt key, type 167 and release the Alt key. The degree symbol should appear.

Tell me the font you're wanting to use and the name of the symbol and I'll see if I can help.

Sent from my DROID RAZR using Tapatalk 2

Vogavt
02-05-2013, 03:15 PM
Here's a useful site (http://www.irongeek.com/alt-numpad-ascii-key-combos-and-chart.html). There are others as well.

Try this (http://www.theasciicode.com.ar/) one.

Vogavt
02-09-2013, 06:09 PM
Is it me or is anyone having trouble getting the Scorch's website (http://home.comcast.net/~sskroch/Fengrave/fengrave.html)?

scorch
02-09-2013, 08:05 PM
Is it me or is anyone having trouble getting the Scorch's website (http://home.comcast.net/~sskroch/Fengrave/fengrave.html)?

A lot of the Comcast personal web pages have been down most of today. I have no idea why.

Scorch

bevinp
02-11-2013, 03:00 AM
Here's a useful site (http://www.irongeek.com/alt-numpad-ascii-key-combos-and-chart.html). There are others as well.

Try this (http://www.theasciicode.com.ar/) one.

Thanks,
I suspected that it would be the alt keystrokes but I was hoping for something more graphic/more select and print.
Actually, I wasn't sure that the mapping of Alt keying-to-symbol was standard.
Probably a defacto.
Anyway, thanks guys.
Bevin

Wade
03-04-2013, 02:35 AM
Very nice work. I've run several words / fonts, and it works great. The ability to disable arc fitting, allowed my old controller to work.

I have been watching it plot and run, and have kinda figured out how the algorithm must work. (yha I write embedded code for a living) Pretty slick. Also downloaded several fonts from FontsAddict - Download fonts for Windows and Mac (http://www.fontsaddict.com), and they seem to work fine.

One thing I'm gonna try is downloading a font that has really wide lobes, and see how it does. I'm guessing you will get two v cuts. Without any attempt to clean up the space between.

A suggestion for another idea, you could v-carve the outside of the letters, and then allow a tool change and flat route the bottom to create raised letters.

But believe me, I'm gonna be busy playing with your software for a while now. Have a bunch of oak left over from a flooring project. I can't think of a better use for it. :) Great work.

Dragonfly
03-04-2013, 04:21 AM
How do I select/input a special character that is listed in "show all characters",into the text I wish to engrave?
Bevin

You can use Windows Character map to select characters contained in a font and then copy/paste them into your text. If you work in Windows environment, of course.

scorch
03-04-2013, 07:20 PM
One thing I'm gonna try is downloading a font that has really wide lobes, and see how it does. I'm guessing you will get two v cuts. Without any attempt to clean up the space between.

A suggestion for another idea, you could v-carve the outside of the letters, and then allow a tool change and flat route the bottom to create raised letters.


F-Engrave has a cleanup option which will cleanup the remaining material inside of the "wide lobes" of a v-carving that you mentioned. There is a tutorial that includes the use of the cleanup options here: V-Carving Tutorial (http://home.comcast.net/~sskroch/Fengrave/F-engrave_tutorial.htm)

To change the v-carve side (to carve the outside of letters) you just need to select the "Flip Normals (V-Carve Side)" option in the "V-Carve Settings" window. You might want to add a bounding box in the "General Settings" window when you carve the outside of letters. The box will frame your text and limit the v-carving area.

Thanks for the positive remarks,
Scorch

Wade
03-04-2013, 10:53 PM
F-Engrave has a cleanup option which will cleanup the remaining material inside of the "wide lobes" of a v-carving that you mentioned. There is a tutorial that includes the use of the cleanup options here: V-Carving Tutorial (http://home.comcast.net/~sskroch/Fengrave/F-engrave_tutorial.htm)

To change the v-carve side (to carve the outside of letters) you just need to select the "Flip Normals (V-Carve Side)" option in the "V-Carve Settings" window. You might want to add a bounding box in the "General Settings" window when you carve the outside of letters. The box will frame your text and limit the v-carving area.

Thanks for the positive remarks,
Scorch

Dang, you thought of everything. I'll try that. Thanks Wade.

scorch
03-31-2013, 12:55 AM
Version 1.10 of F-Engrave has hit the street.

The new version is available at: F-Engrave (http://home.comcast.net/~sskroch/Fengrave/fengrave.html). Here are the highlights.

- Added Command line option to set the default directory (use -d to set the default directories for openin g and saving files. i.g. "-d ." sets the current directory as the default save/ open location)
- Added setting option for disabling the use of variable in the g-code output (Some g-code interpreters (e.g. GBRL) do no support the #1 and #2 used by F-Engrave so I have added this option in the settings to disable them.)
- Added option for b-carving (using a ball endmill in v-carve mode)
- Added the text to be engraved to the top of the ngc file
- Added max depth limit to the v-carve settings. this allows the user to limit the depth of cut during v-carving/b-carving.
- Eliminated failure to save g-code file when the image file name contains extended characters. The fix isn't perfect but it allows the file to save.
- Changed the default .ngc/.svg filename when saving. Now it always uses the base of the image file name.
- Changed the default behavior for v-carve step size. now the default in or mm value is always reset (0.010in or 0.25mm) when switching between unit types. This will ensure that metric users will start with a good default step size setting.

Happy Easter!
Scorch

Wade
04-15-2013, 01:19 AM
Minor stuff. When you save gpre, it puts it in the gcode comments correctly. But, when it gets loaded it parses it with a space in front of the string.


elif "gpre" in line:
gpre_tmp = ""
for word in line[line.find("gpre"):].split():
if word != ")" and word != "gpre":
gpre_tmp = gpre_tmp + " " + word
self.gpre.set(gpre_tmp)


Looks to me, that there shouldn't be a " " + word, unless string length is greater than zero.

Same for gpost.

Also, "Enable Arc Fitting" checkbox needs to be in the a gcode comments.

Is there a way to input escape characters in the gpre pre gcode initializer? You know, like "\n", or "\x015" or something? I need M3 on one line, and a delay line like "G04 P7.0" to let my spindle wind up, on another line. Controller doesn't understand it, in one line.

scorch
04-15-2013, 06:51 PM
@Wade

Thanks for the input. I totally forgot to add the arc fitting option status to the output file. I will add the arc fitting option and tweak the pre and post data space formatting in the next version.

There is not a way to include a carriage return in the G Code Header right now. I understand your need for it so I will think about how I will add the option.

Scorch

victorofga
04-15-2013, 09:41 PM
scorch

i just was discussing someone, and said him it can make pocketing, conturing and vcarving.. so looks like the all function works what really need for basic operations..
just keep going with your wonderful work..

Wade
04-15-2013, 10:53 PM
What python did you use to build this? I'm working on another problem, where it won't save cleanup g-code. Not sure what's causing it. But I'm trying to save cleanup after doing a calc v-carve, on a flip normals. It doesn't do anything, not even a message box.


Exception in Tkinter callback
Traceback (most recent call last):
File "Tkinter.pyc", line 1410, in __call__
File "f-engrave-110.py", line 2906, in Write_Clean_Click
File "f-engrave-110.py", line 3871, in menu_File_Save_clean_G_Code_File
File "f-engrave-110.py", line 2643, in WRITE_CLEAN_UP
TypeError: float argument required, not str

scorch
04-15-2013, 11:04 PM
I build the windows exe with Python 2.7.2.

scorch
04-15-2013, 11:14 PM
What python did you use to build this? I'm working on another problem, where it won't save cleanup g-code. Not sure what's causing it. But I'm trying to save cleanup after doing a calc v-carve, on a flip normals. It doesn't do anything, not even a message box.

I see the problem. I will get a fix out soon.

Scorch

Wade
04-15-2013, 11:34 PM
Yha, I just found it.

self.gcode.append("G1 Z%.4f" %(depth_val))

depth_val is a string everywhere else. :)

scorch
04-16-2013, 12:06 AM
I think I have fixed all of the issues you have posted today. Version 1.12 is available on my we page. F-Engrave Home (http://home.comcast.net/~sskroch/Fengrave/fengrave.html) You may need to refresh your browser to see the new links.

To get a new line in the g-code preamble or postamble insert a pipe character "|"

Let me know if anything else causes you problems. Thanks for being the Version 1.10 guinea pig.

(I switched the depth_val to a string in the latest version to fix some compatibility issues. I guess I missed one of them.)

EDIT: I rolled to version to 1.12 because I missed a couple of items in Version 1.11.

Scorch

Wade
04-16-2013, 01:00 AM
OK, clean save works now. Space before gpre works. Arc fitting enable works.

You pipe character works good on the g-code save, at line 2233. You just need to copy it down to 2599, clean up g-code save.

Interesting, I've never looked at python much. It's not too bad to read for a C++ guy. :)

scorch
04-16-2013, 01:06 AM
Yep, I saw that I missed the cleanup g-code stuff so V1.12 is already on my web page. I also added the pipe option to the g-code postamble for completeness.

(I was mad that I had messed up the cleanup code so I rushed a little to much getting the fix out.)

Scorch

Wade
04-20-2013, 10:04 PM
Did outside letter carve (flipped normals), then V cleanup, then cleanup with a 1/2 flat bottom end mill. I'd like to do a better job of cleaning up between the letters. Could I plot a clean up with 1/4 bit, and tell it to search only 1/2", so it doesn't retrace the 1/2" bit too much?

scorch
04-21-2013, 12:25 AM
Did outside letter carve (flipped normals), then V cleanup, then cleanup with a 1/2 flat bottom end mill. I'd like to do a better job of cleaning up between the letters. Could I plot a clean up with 1/4 bit, and tell it to search only 1/2", so it doesn't retrace the 1/2" bit too much?

Yes, That makes sense.
Scorch

hickory-Wa
04-26-2013, 12:25 PM
scorch
I have been using f-engrave-1.02 and dmap2gcode for several months now and I am very appreciative of your generosity. Earlier this week I downloaded f-engrave-1.12 hoping that the cleanup routines would work for me now. Unfortunately, they do not. I have opened a PBM file, performed the v-carve calculations and saved the .ngc file. When I push the calculate cleanup button the popup says the program is preparing to calculate the cleanup, works a little while (seconds) and then blinks as if done with the popup gone. When I then push the save cleanup button (either one it doesn't matter) a flag appears that says that cleanup must be calculated before it can be saved.

Do you have any ideas or suggestions that I might try, or am I doing something wrong? Thanks in advance.

scorch
04-26-2013, 02:54 PM
@hickory-Wa
I recently found out that the "Cut Depth Limit" option is messing the cleanup calculations. If you keep the "Cut Depth Limit" option set to zero and use the v-bit diameter to control the depth it should work. Just tweak the "V-Bit Diameter" value until the "Max Cut Depth" matches the depth you want.

I will put out a new version in the next day or so with the issue resolved.

If the cleanup options still do not work with the "Cut Depth Limit" option set to zero be sure to re-post so I know that there may be another problem.

Scorch

scorch
04-26-2013, 04:13 PM
F-Engrave Version 1.13 is now available: F-Engrave (http://home.comcast.net/~sskroch/Fengrave/fengrave.html#download)

(The only change for this version is the fix for cleanup operations when using the "Cut Depth Limit" setting.)

Scorch

hickory-Wa
04-27-2013, 10:50 AM
Scorch your support is amazing. I didn't try your suggested workaround to the problem of Cleanup functions not working when a max cut depth is specified as you had the Version 13 on the street before I saw your response. So, I loaded the new version and it appears to perform beautifully. I do have one more question. At the end of the cleanup calculations, the program plots a combined portrayal of the three tool paths. After you save all g-codes and close the session, is there a way to recall the combined tool path portrayal? It would be a help when deciding which version of a project you want to carve.

Thanks for your great support.

scorch
04-27-2013, 11:10 AM
@hickory-Wa

No, there is not any way to display the tool paths again in F-Engrave after they have been cleared from the screen (without running the calculations again).

You can open a previously saved .ngc file to recover all of the settings used to create the .ngc file. Then to generate the plots you would need to run the calculations again. The main .ngc file contains all of the settings including the cleanup operation settings. The cleanup "_clean" .ngc files do not contain the settings data so opening them will not import any settings

Scorch

hickory-Wa
04-27-2013, 12:29 PM
Thanks Scorch. I was afraid of that. Maybe I can print screen to save the ones I want. Again Thanks for your generousity and quick responses.
Hickory-WA out.

sliptonic
05-01-2013, 07:16 PM
Hi Scorch,

I've just changed my OS from PClinuxOS to Linux Mint (a fork of Ubuntu). I've tried to install F-Engrave and everything works fine untill I get to TTF2CXF. When I try to install it I get the following errors:

russell@russell-SATELLITE-C870-13V ~/F-Engrave-1.02_src/TTF2CXF_STREAM $ make install
g++ -o ttf2cxf_stream -lm -I/usr/include/freetype2 -lfreetype ttf2cxf_stream.cpp
/tmp/ccKRmCrC.o: In function `convertGlyph(unsigned long)':
ttf2cxf_stream.cpp:(.text+0x47a): undefined reference to `FT_Get_Char_Index'
ttf2cxf_stream.cpp:(.text+0x492): undefined reference to `FT_Load_Glyph'
ttf2cxf_stream.cpp:(.text+0x4c7): undefined reference to `FT_Get_Glyph'
ttf2cxf_stream.cpp:(.text+0x543): undefined reference to `FT_Outline_Decompose'
/tmp/ccKRmCrC.o: In function `main':
ttf2cxf_stream.cpp:(.text+0x9cd): undefined reference to `FT_Init_FreeType'
ttf2cxf_stream.cpp:(.text+0xa0d): undefined reference to `FT_New_Face'
ttf2cxf_stream.cpp:(.text+0xdc2): undefined reference to `FT_Get_First_Char'
ttf2cxf_stream.cpp:(.text+0xdd8): undefined reference to `FT_Get_First_Char'
ttf2cxf_stream.cpp:(.text+0xe1b): undefined reference to `FT_Get_Next_Char'
collect2: error: ld returned 1 exit status
make: *** [linux] Error 1

I have the latest g++ and libfreetype6-dev installed. Any ideas?

Russell.

Was there ever a resolution to this? I'm seeing the same error on the new (13.04) Ubuntu.

scorch
05-01-2013, 07:36 PM
I was never able to duplicate the problem. I don't know if Russell was able to fix it or not. It appears that libfreetype6-dev is installed but there is some problem with linking the freetype library.

When I have time I will try downloading Ubuntu 13.04 to see if I can duplicate the problem.

Scorch

scorch
05-01-2013, 10:15 PM
Was there ever a resolution to this? I'm seeing the same error on the new (13.04) Ubuntu.
I was able to replicate the problem in Ubuntu 13.04 and now I have a solution. :banana: Wow, Ubuntu 13.04 is really different. I had to Google how to get a terminal window to open in 13.04. It kind of reminded me of Windows 8. I can't find things in Windows 8 either.

Here is the fix.

In the Makefile Change line number 10.
from:
" g++ -o ttf2cxf_stream -lm -I/usr/include/freetype2 -lfreetype ttf2cxf_stream.cpp"
to:
" g++ -o ttf2cxf_stream ttf2cxf_stream.cpp -lm -I/usr/include/freetype2 -lfreetype"

I will incorporate this into the next release to avoid future problems. I do not plan to make a new version just for this fix because I think is is needed rarely. (Also the people that need this fix are probably skilled enough to find it here via Google)

Scorch

ocadmiral
05-25-2013, 01:52 AM
Scorch,
First off, a HUGE Thank You for this program! I have been learning with some signs for myself, and have found the program very easy to use. I am currently running the 1.13 on my windows machine (to generate the code from the .bmp files) and then save it to a flash and got to my mill in the garage. I am running LinuxCNC and love it. I have run across an issue that I think may be program related in the cleanup part. I did a house sign and set the v-carve to "flip-normal". I used a 1/4" 90deg. v-bit. For the cleanup i use a .125" square bit (works great for getting in to the smaller places). The issue is that the cleanup was spot on for parts and off (missed cleaning up the waste) by about .125" for other parts.

The second part of is that I am trying to figure out how to clean up only the inside of this sign and not the outside as that is just air or will be trimmed off.
I have tried this a could of times at different feed rates and there was no difference.

I have included the vcarve file and the clean file here.

Thanks for checking it and for the great would on this program.
Joe

scorch
05-25-2013, 12:31 PM
I have included the vcarve file and the clean file here.


From what I can see from the .ngc files it looks like you might need to increase the "Cleanup Search Distance" setting to clean up the areas that are being missed. (although it looks like you already increased this setting some so I may be wrong.)

In order to avoid cutting the outside of the image you may want to invert (negate) the bitmap colors before you bring the image into f-engrave.


I am guessing a little bit on these answers. To fully understand what is happening I also need the image file (dorman1.bmp).
Scorch

ocadmiral
05-25-2013, 01:34 PM
185890
In the clean file that I uploaded, I cut it down to 3/4". I had an earlier cleanup set to 3" and it would have done the inside of the "frame" and all the letters, but it also wanted to do the outside of the frame for 3" and that exceeded the limits of my travel. I have added the bmp that i used.

Thanks again.
Joe

scorch
05-25-2013, 04:19 PM
I think I understand better now.

The issue is that the cleanup was spot on for parts and off (missed cleaning up the waste) by about .125" for other parts.
For areas that are not getting cleaned up using the flat cleanup cutter you can try using the V-Bit cleanup. The v-bit cleanup will get into the areas the flat cutter can't get to. The v-carving tutorial (V-Carve Tutorial (http://home.comcast.net/~sskroch/Fengrave/F-engrave_tutorial.htm)) shows the use of the different cleanup operations.


The second part of is that I am trying to figure out how to clean up only the inside of this sign and not the outside as that is just air or will be trimmed off.
Inverting the image colors before you import the image will help you keep the cutting paths within your machine dimensions. You may have to use an image editing program to increase the distance between your design and the edge of the image to meet your needs.

I hope this helps.
Scorch

ocadmiral
05-28-2013, 11:06 AM
Scorch,
Thank you. I didn't think of inverting the image but that did the trick for the cleanup on the outside. I am still having an issue with the cleanup missing sections. If you refer to the image I posted in the previous note, as an example, about 1/16" on the right side of each 1 was missed while the left side was cleaned perfectly. This seems to hold true for almost every letter, the right side was not completely cleaned while the left side was perfect.

Just thinking out loud here, but is there a difference in the windows files .vs the Linux files? I do all the code generation on my Win XP Pro machine and then save the files to a flash drive to use on the linux machine in the garage. I am just asking because I loaded the latest 1.13 on the linux machine and when I go to the FILE I do not see the "Open DXF/Bitmap File" choice. It says "Open DXF File" and even though I have the .bmp files on the flash, it will not see them.

Is there somewhere in the files or program that I can try to tweak the setting that controls the cleanup standoff?
I did try this, and it helped some but not completely. When I set the cleanup bit size, even though I was using a .125 square end bit, I entered that I was using a .110 bit. My thinking was that the software takes 1/2 the diameter and then figures how close it can get. The results were that the uncleaned side was smaller but still needed hand cleaning and the cleaned side was slightly into the letter (but I can deal with the cleaned side if I have to).

The program is awesome, and it is working 97% as it should, but that 3% can still leave a bunch that has to be cleaned by hand.

Thank you again,
Joe

scorch
05-28-2013, 09:35 PM
Thank you. I didn't think of inverting the image but that did the trick for the cleanup on the outside.
There is also another way to limit cutting outside of the design that slipped my mind.:idea: Just add a bounding box in the general settings window. With the bounding box you can control the size of the gap between the design and outside box within F-Engrave.


I am still having an issue with the cleanup missing sections. If you refer to the image I posted in the previous note, as an example, about 1/16" on the right side of each 1 was missed while the left side was cleaned perfectly. This seems to hold true for almost every letter, the right side was not completely cleaned while the left side was perfect.
I don't know about this one. I will see if I can replicate it.


Just thinking out loud here, but is there a difference in the windows files .vs the Linux files? I do all the code generation on my Win XP Pro machine and then save the files to a flash drive to use on the linux machine in the garage. I am just asking because I loaded the latest 1.13 on the linux machine and when I go to the FILE I do not see the "Open DXF/Bitmap File" choice. It says "Open DXF File" and even though I have the .bmp files on the flash, it will not see them.
The Windows and Linux files are the same. If you don't have Potrace installed on your Linux system F-Engrave will show only options that are supported by F-Engrave directly (the same is true for TTF fonts and the ttf2cxf_stream executable)


Is there somewhere in the files or program that I can try to tweak the setting that controls the cleanup standoff?
No, there is no adjustment for the "cleanup standoff"

Scorch

scorch
05-28-2013, 10:04 PM
If you refer to the image I posted in the previous note, as an example, about 1/16" on the right side of each 1 was missed while the left side was cleaned perfectly. This seems to hold true for almost every letter, the right side was not completely cleaned while the left side was perfect.

I tried to find some indication of this in the .ngc files you posted. Here is a screen shot with both the base .ngc file paths and the _clean.ngc paths plotted. I filled the gap between the V-carve toolpath and the cleanup toolpath with red to highlight the distance between the two. It looks very consistent all the way around. I even spot checked the distance between the paths. The gap was .0625 plus or minus a hair which is correct for a .125 cleanup cutter.
186252

Scorch

scorch
05-30-2013, 05:58 PM
I thought I would give a public update to the recent discussion surrounding poor cleanup.

After discussing the cleanup issue with ocadmiral through private messages the bad cleanup was determined to be caused by factors other than the code generated by F-Engrave.

Scorch

CaptainVee
06-20-2013, 07:27 AM
Scorch, do you think there is a way for f-engave not to make multiple entries for the same segment that is to be engraved?

I engraved a 16.000 lines of code drawing last week and my machine spent most of its time accelerating and slowing down. Not having to enter the same segment several times would give a serious reduction of milling time.

scorch
06-20-2013, 08:54 AM
@CaptainVee
F-Engrave already groups cuts that are end to end or near each other. For simple engraving F-Engrave will cut each segment that is imported only once after grouping them.

For v-carving f-engrave may cut the same location more than once depending on the design.

There is potential for improvement in the v-carving but it would require significant effort. It is on my list of potential improvements already.

Scorch

scorch
06-20-2013, 04:42 PM
@CaptainVee
There is a chance that F-Engrave is not grouping your line segments because the default Accuracy setting is too small when working in mm.

Try setting the Accuracy in the general settings to .0025 or even .0250 to see if that helps.

If you give it a try please let me know if it helped or not.

Thanks,
Scorch

scorch
06-25-2013, 07:14 PM
Has anyone seen this error when trying to run F-Engrave on Windows?
"application configuration is incorrect"

Someone on another forum is getting this error. I have never had anyone report it before.

Thanks,
Scorch

lancut
06-25-2013, 07:57 PM
I run Vista and so far are no errors of this type.

Vogavt
06-28-2013, 06:01 PM
Scorch,
Did you develop this with C++?

If so, then since it's a fresh install of Windows, I'd suspect the runtime components may be missing.

Have them try to install the Microsoft Visual C++ 2005 Redistributable Package (x86) from Official Microsoft Download Center (http://www.microsoft.com/en-us/download/details.aspx?id=3387) which only installs the runtime components of Visual C++ Libraries required to run applications developed with Visual C++ on a computer that does not have Visual C++ 2005 installed.

Might be worth a shot!?

scorch
06-28-2013, 08:22 PM
@Vogavt

I think you are onto it. I didn't use C++ directly for F-Engrave (although TTF2CXF_STREAM is C++). However, I did use py2exe to make the windows executable. Py2exe was compiled using Microsoft Visual C so there is a dependency. I will check it out.

Thanks,
Scorch

(Based on the py2exe documentation the 2008 version would be needed rather than the 2005 version Vogavt linked.)

scorch
06-28-2013, 09:22 PM
F-Engrave V1.14 is now on my website. Here is a link: F-Engrave (http://www.scorchworks.com/Fengrave/fengrave.html#download)

Version 1.14 contains a fix for a bug that caused the Cut Depth Limit not work when using b-carving (ball end mill equivalent to v-carving). I also updated my website information in the Help Menu.

For those that have not noticed yet my website is now Scorch Works (scorchworks.com (http://www.scorchworks.com))

Scorch

scorch
08-18-2013, 09:45 PM
F-Engrave V1.20 is now on my website. Here is a link: F-Engrave (http://www.scorchworks.com/Fengrave/fengrave.html#download)

Version 1.20 allows the use of extended characters with character codes greater than 255 (F-Engrave V0.9 fixed them up to 255)

There is a new option in the "General Settings" window to enable extended characters. For extended character to work you will need the new version of ttf2cxf_stream. The new ttf2cxf_stream is included in the windows download and the source is in the SRC zip file for Linux users.

Scorch

sliptonic
08-25-2013, 04:05 PM
Scorch,
V1.20 looks great and fixed the problem I was having a couple months ago. Thanks.
One feature I'd really like to see is a simple way to use the app from the command line. I'd like to be able to launch it by passing in the path to an existing gcode file for settings, a new string to be engraved, and a parameter to cause the app to run 'headless'. In the headless flag is used, the new input string would be read and the gcode output dumped to stdout where it could be piped to a new file. The program would then terminate normally.

Ideally, the input string would take something for a newline character to allow multi line input.

I think this is pretty simple and I might give it a shot myself. Any guidance?

Thanks

scorch
08-25-2013, 11:21 PM
@sliptonic

I uploaded a new version 1.21. That has a batch mode (-b) and text input on the command line (-t "text"). To input a newline character just insert a pipe character "|" in the text.

The -f option can now be used to specify the font directory, font file or image file (BMP, DXF, etc).


This is a dump of the new command line options:
Usage: python f-engrave.py [-g file | -f fontdir | -d directory | -t text | -b ]
-g : f-engrave gcode output file to read (also --gcode_file)
-f : path to font file/directory or image file (also --fontdir)
-d : default directory (also --defdir)
-t : engrave text (also --text)
-b : batch mode (also --batch)
-h : print this help (also --help)

As always the new version is available on my web page: Download F-Engrave (http://www.scorchworks.com/Fengrave/fengrave.html#download)

Scorch

Miata2k
08-29-2013, 04:33 PM
Scorch,

I'm very impressed with your software. I only found it a few days ago and have been able to make some great looking signs. Okay, they have all been test runs, but they will look great when I'm finished. Just have to figure out all of the "Cleanup" settings.

I do have a few questions for you...

First, is there a reason that you limit the line spacing to 1.0?

I modified the code to change the lower limit to 0 and it still seems to render fine. I just haven't tested the G-code that was generated to see if it messed up when the text crossed over.




def Entry_Lspace_Check(self):
try:
value = float(self.LSPACE.get())
if value < 0.0:
self.statusMessage.set(" Line space should be greater or equal to 1 ")
return 2 # Value is invalid number
except:
return 3 # Value not a number
return 0 # Value is a valid number
def Entry_Lspace_Callback(self, varName, index, mode):
self.entry_set(self.Entry_Lspace, self.Entry_Lspace_Check() )

See the Attached Images, the first has the line spacing set to 1, the second one has the spacing set to 0.8
Line Spacing 1.0
198346

Line Spacing 0.8
198348

On this default font is not a huge difference, but some I've look at just leave too much white space. Some fonts I looked at only used Capital letters so there is no need to leave space below the line.

Second question.
Is there anyway to display the "Bounding Box" information again?

It show up in the status bar when you hit recalculate, but then is gone with the Calc V-Carve button press. This is very handy information to have around. Maybe you could find some area of the screen to leave it displayed, or on a about box. It would be really great if it would be in the G-code file, so you could know how big the sign will be when you open the g-code file up in future to make another sign.


Finally,
Where did you find the Aztec Calendar that you milled? I've found a few on line in different formats, but nothing that imports correctly. I'm not sure if this is a bug in the F-Engrave software, or a problem with the original image. I'm not sure that I'd ever take the 20 hours needed to generate the g-code for it, but it would be nice to know that it worked.
198350

Thanks
-Chuck

scorch
08-29-2013, 05:20 PM
First, is there a reason that you limit the line spacing to 1.0?
No, there is not a functional reason. You make a good case for changing the limit to zero. I will do that in the next release.



Is there anyway to display the "Bounding Box" information again?
No, but again you make good points. I will see if I can find a place to display the bounding box dimensions more permanently.



...It would be really great if it would be in the G-code file, so you could know how big the sign will be when you open the g-code file up in future to make another sign.
I am on the fence about adding the bounding box data to the output. If it is easy I might do it.



Where did you find the Aztec Calendar that you milled? I've found a few on line in different formats, but nothing that imports correctly.
I have no idea where I got it... It was an SVG originally but because F-Engrave is sensitive to how the DXF shapes are created (clockwise vs. counter-clockwise) I converted the image to a bitmap (instead of a DXF) and read it into f-engrave from the bitmap.



I'm not sure if this is a bug in the F-Engrave software, or a problem with the original image.

That is wacky looking. Does it open correctly in Inkscape? Or another program?

scorch
08-30-2013, 09:51 PM
Thanks to Miata2k for all of the help identifying issues with F-Engrave (on and off forum).

I have posted a new version F-Engrave V1.22 (http://www.scorchworks.com/Fengrave/fengrave.html#download) on my web page.

Changes in Version 1.22:
- Fixed three bugs associated with importing DXF files
- Fixed bug associated with cleanup calculations
- Changed minimum allowable line spacing from one to zero (adds more flexibility for users).


(I have to think more about how to keep the bounding box info displayed. That feature is no included yet.)

Scorch

scorch
10-05-2013, 10:32 PM
F-Engrave V1.30 is now available Here: F-Engrave Download (http://www.scorchworks.com/Fengrave/fengrave.html#download)

Here are the highlights:
- F-Engrave now can determine which side of the loops in a DXF design need to be cut when v-carving. Previously the input needed to be formatted so that the loops in the design were clockwise or counter clockwise to determine whether the inside or outside of the loop was cut.

- A new “V-Carve Accuracy” setting. This new setting can be used to ignore small features in a design. This is especially useful for small DXF design imperfections which result in bad v-carve tool paths. You can also get some speed improvement by increasing this value allowing F-Engrave to ignore tiny features.

A side note: I plan to continue to post updates here but I am also posting them and some other stuff on the Scorch Works Blog (http://www.scorchworks.com/Blog/) and on the Scorch Works Facebook (https://www.facebook.com/ScorchWorks) page.

Good luck,
Scorch

Vogavt
10-06-2013, 08:16 PM
My bad...

scorch
10-06-2013, 08:44 PM
The link is there. Your browser may have the page cached so you might need to reload the page (F5).

@Vogavt I'm glad to see my naming convention is consistent enough that you could make your own link :)

Scorch

Vogavt
10-06-2013, 08:53 PM
Oops!

So it is!

I'll remove the direct link. This way folks will see the whole page at your site instead.

I just thought I could help you out in the interim. ;)


Sent from my DROID RAZR using Tapatalk 2

scorch
12-01-2013, 10:29 PM
F-Engrave Version 1.32 is now available on the F-Engrave Web Page. (http://www.scorchworks.com/Fengrave/fengrave.html#download) This release includes a few minor items that I have had backlogged for a while. The items are listed below.

- Added limit to the length of the engraved text included in g-code file comment (to prevent error with long engraved text)
- Changed number of decimal places output when in mm mode to 3 (still 4 places for inches)
- Changed g-code format for G2/G3 arcs to center format arcs (generally preferred format)
- Hard coded G90 and G91.1 into g-code output to make sure the output will be interpreted correctly by g-code interpreters.

victorofga
12-02-2013, 01:13 AM
I found a few linx..

I think there are many more..

one of them autocad dwg with hatched areas..

next is a dxf

third is an ai file..

sure you can open ..

slipkid
12-11-2013, 09:26 PM
I wanted to thanks Scorch for the programs. Still in the build stage of my machine but have been playing with F-Engrave and am impressed! I have checked out countless free and otherwise programs and yours is one I'll stick with. Just want to encourage you to keep doing what you do.

Thanks
Mike

Sent from my Le Pan S using Tapatalk

scorch
12-12-2013, 01:17 AM
Thanks, Good luck with your CNC build.

Captain Chaos
12-22-2013, 11:14 PM
Hi Scorch

My latest little project with F-Engrave thanks for great program, the border I got from craftmanspace.com, free patterns, borders and 3D models etc.

Vogavt
12-23-2013, 03:24 AM
Awesome Chinook!
It looks to be pyrographed. Or did you do the wood burning after the v-carving?

I've been thinking about setting up something for that purpose to enable a hot tip to do that sort of thing. But there are so many variables to consider.

Sent from my DROID RAZR using Tapatalk

Captain Chaos
12-23-2013, 05:16 AM
Thanks Vogavt nice to share.

I discovered F-Engrave about a month or so ago, it is the most intuitive and simple Cam program I have come across and only found this thread about a week ago.

No pyrography it's all calved with V-Calve in F-Engrave I used a 45deg v cutter with 2mm dia gave +- 2.4 mm on Z. I then raised my Z touch off +- 1mm above the work plane and cut the Cleanup Path with the same 45deg V bit and no V Cleanup. The resultant calved timber is left rather rough so on rubbing with varnish the roughness soaks up a lot more varnish and is left a lot darker.

Vogavt
12-23-2013, 07:59 AM
So there's no staining? Just pure varnish?

To clarify: deeper cuts (-2mm) for outlines and shallower cuts (-1mm) for cleanup from the zero of the work surface. Correct?

Sent from my DROID RAZR using Tapatalk

Captain Chaos
12-24-2013, 01:15 AM
Correct and using the same v bit for cleanup
Cheers

scorch
12-29-2013, 10:22 PM
I uploaded version 1.33 of F-Engrave, it is available on my web page. (F-Engrave 1.33) (http://www.scorchworks.com/Fengrave/fengrave.html#download)

Changes in Version 1.33:
- Added option for scaling input image height as a percent of the input values (rather than imputing the height as a length unit). This new feature should help people that combine more than one image together in a project. The new option is "Set Height as %" which allows scaling the input image by a percentage rather than setting a size(in or mm) for the height. Setting the height % to 100 will result in the image being the same size as the imported DXF file.

- Fixed batch mode...again. (I should really check that it is working before each new release)


** Thanks to Captain Chaos for the helicopter picture posted below I always like to see things that people have cut using my programs. **

scorch
02-03-2014, 10:49 PM
For users of GRBL I put together a Blog Post (http://www.scorchworks.com/Blog/using-f-engrave-with-grbl/) describing the issues with F-Engrave and the settings needed to generate g-code that will work with GRBL. Below I listed the settings needed (without the long explanation from the blog post).


F-Engrave settings needed to generate g-code compatible with GRBL:

- Select the “Disable Variables” box in the F-Engrave Settings window

- un-select the “Enable Arc Fitting” box in the F-Engrave Settings window

- Use F-Engrave Version 1.34 (http://www.scorchworks.com/Fengrave/fengrave.html#download) or higher

WillAdams
06-12-2014, 07:21 AM
There's just one thing I'm not getting.

How does one determine what size a carving is going to be?

I see the option for setting it the text width to 100% --- 100% of what?

Vogavt
06-12-2014, 07:32 AM
There's a boundary information field at the bottom on the screen.

Sent from my DROID RAZR using Tapatalk

Vogavt
06-12-2014, 07:38 AM
Oh and the text width at 100% is normal size of character. Greater than 100% would stretch the characters out (elongate it) and less than 100% would compress them.

Sent from my DROID RAZR using Tapatalk

scorch
06-12-2014, 10:16 AM
How does one determine what size a carving is going to be?

I see the option for setting it the text width to 100% --- 100% of what?

One ore thing to add to Vogavt's answer: The text size is driven by the text height input. For a given text height the width of the text is determined by the shape of the characters. Changing the width input deforms the characters shape to be narrower or wider.

WillAdams
06-13-2014, 09:27 PM
OIC.

The size is determined by the first font property, Text height --- the text is set at that size, then the over-all size is displayed in the bottom status bar.

Thanks for your patience --- I've got it now. Thanks for the support and the program! Aside from a minor glitch w/ work-holding it allowed me to make a quite nice sign very quickly.

I don't suppose you'll be able to do SVG import?

scorch
06-13-2014, 11:13 PM
I have no plans to add SVG reading to F-Engrave. Inkscape can be used to convert SVG files to DXF so they can be read by F-Engrave. There are a few tutorials around the net on how to perform the conversion to DXF.

scorch
06-19-2014, 12:05 AM
Looks like I haven't been anouncing new versions here like I usually do. Here is a catchup post (including a release I made today)

Changes in Version_1.34
- Eliminated G91.1 code when arc fitting is disabled. When arc fitting is disabled the code (G91.1) is not needed and it may cause problems for interpreters that do not support that code (i.e. GRBL / ShapeOko).
- GRBL / ShapeOko users should use the settings discussed here Using F-Engrave with GRBL. See the F-Engrave manual for details on how to save these setting from F-Engrave session to session using a config.ngc file.

Changes in Version_1.35
- Fixed importing of ellipse features from DXF files. Ellipse end overlapped the beginning of the ellipse.
- Fixed saving long text to .ncg files. Long text was truncated when a .ngc file was opened.

Changes in Version_1.36
- Fixed saving problem created in v1.35.

Changes in Version_1.37
- Added logic to ignore very small line segments that caused problems v-carving some graphic input files.

Download: F-Engrave (V1.37) (http://www.scorchworks.com/Fengrave/fengrave.html#download)

Vogavt
06-19-2014, 09:07 AM
Scorch,

On my machine v1.36 loads in less than 3 seconds, but v1.37 takes right about 90 seconds.

Should we be expecting this longer load time?

I've timed them both several times now with consistent results.

---------------------------------

Different subject:

Did you ever get with Alan on the ball engrave app he'd developed.
(I sent a couple of emails in the past but didn't hear from either of you)

scorch
06-19-2014, 07:16 PM
On my machine v1.36 loads in less than 3 seconds, but v1.37 takes right about 90 seconds.
Should we be expecting this longer load time?

For me V1.37 loads in the same amount of time as V1.36. The changes were minimal so I wouldn't expect any difference in load time between the two versions.


Did you ever get with Alan on the ball engrave app he'd developed.

No, I never talked to Alan. His project (mapping g-code to a spherical surface) was interesting, but If I were to implement that feature (in G-Code Ripper) it would easier/faster to start from scratch. Rather than try to convert code from another programming language.

Vogavt
06-20-2014, 08:52 AM
For me V1.37 loads in the same amount of time as V1.36. The changes were minimal so I wouldn't expect any difference in load time between the two versions.

I rebooted with no change in load time. I re-unzipped the 1.37 file and still get the long load times.

Anyone else seeing this? Not the end of the world for me, but if others are having issues they might think something was hung up and exit out early (which is why I posted my issue here).

Odd....

zephyr9900
06-20-2014, 11:11 AM
Hey Scorch,

Thank you for the option to scale DXF to 100%. That is a great help. The second part of the request I have is to place the 0,0 origin based on the actual DXF geometry, rather than relative to the geometry's bounding box as it is now. I have a couple of odd-shaped pieces to v-carve (wedding cake knife and server) and have drawn their outlines in CAD and then laid out the engraving relative to those outlines. If I include the outline in the DXF for positioning, F-Engrave takes the outline as part of the engraving artwork (even if it is on a different layer than the actual engraving artwork). I've tried putting points at the corners of the bounding box of the piece (which is larger than the bounding box of the artwork) but F-Engrave complains about the point entities. I'd like to be able to work from the same DXF to machine the pockets for the pieces in my spoilboard and also the engraving so the positioning is exact, but can't see a way to do that now.

Is there a workaround you could suggest (short of just eyeballing the thing)? Or could you enable a way to place the 100% DXF in its natural coordinates?

BTW 1.37 loads quickly for me on Win7-64.

Thanks,

Randy

scorch
06-20-2014, 12:32 PM
Randy,
Thanks for your report on your V1.37 load time.

I thought I had changed the default zero position to the imported zero when the scale is set by scaling the input dimensions. I see now that I did not do that. Thanks for the reminder. I will look at it tonight.

Vogavt,
I am not sure why your load times are so long. Do you have a config file setup that is loading an image file? As a trouble shooting step you could try temporarily removing any config file you have setup.

Vogavt
06-20-2014, 01:54 PM
double post.

Vogavt
06-20-2014, 01:55 PM
Deleted my 1.37 folder, deleted the 1.37 zip file, re-downloaded the zip and extracted again.

Still not seeing any speedy launching.

WinXP Pro, SP3, 1 gig ram.

v1.36 still opening in just about 2 seconds.

v1.37 still opening in just about 90 seconds, using default configuration. Only change made later was the font directory location but that was after the long load time anyway so that shouldn't be an issue.


Dunno... not a big deal really but I just wanted to be sure the correct code is getting generated when needed, i.e., if something odd is not being handled correctly by its launching, would it effect the programs output.

No, I didn't even know I could load an image on startup.
Still loving it though...!!!

scorch
06-20-2014, 03:35 PM
If you have a image file open in F-Engrave when you make your config file F-Engrave will try to open the image every time you startup.

I have no idea why it is taking so long to load for you.

Vogavt
06-20-2014, 05:33 PM
I have never saved a G-Code file as "config.ngc" as instructed in the manual on your site.
I created one, in text mode and closed f-engrave and relaunched. Still taking the same time to load as before.
I even tried to massage the open f-engrave with various "compatibility settings" under the properties of the exe with no changes in load time.

I've still got v1.36 in a separate folder and will use it instead. If I get into an issue where the tweak for v1.37 was needed, I'll just load it instead of v1.36.

Don't worry about it. Seriously...

scorch
06-20-2014, 06:08 PM
I uploaded a new version that keeps the DXF file origin location the same if the image height is set by percentage and the origin is set to default.

F-Engrave V1.38 (http://www.scorchworks.com/Fengrave/fengrave.html#download)

(I didn't do anything to fix the potential load time issue for Vogavt but who knows this version may work better...)

Vogavt
06-20-2014, 06:59 PM
No joy. Disabled antivirus and still didn't help.

Will look at it again later and see if I can figure something out. Don't fret over it.

Sent from my DROID RAZR using Tapatalk

zephyr9900
06-20-2014, 07:08 PM
Wow, thanks for the quick update, Scorch! Import works perfectly on my test files.

Randy

scorch
06-20-2014, 10:01 PM
Vogavt, Could you try re-unzipping and running version 1.36 in a different folder? It would be interesting to see if a different copy of 1.36 would still open fast for you.

I don't mean to bother you but I can't test solutions to a problem I can not replicate. I am worried other people might have the same problem.

Vogavt
06-20-2014, 10:47 PM
Will do in the morning.

Sent from my DROID RAZR using Tapatalk

remon
06-20-2014, 11:23 PM
Will do in the morning.

Sent from my DROID RAZR using Tapatalk

help me

zephyr9900
06-21-2014, 08:37 AM
For me, 1.38 loads in less than 3 seconds on XP Pro 64 SP2.

Randy

Vogavt
06-21-2014, 08:45 AM
@remon ??


@others,
So after I'd retired for the evening yesterday, I began thinking about Scorch's request. For the past three hours this morning I've done some digging.
First off, installed v1.36 to Desktop (Avast complained and performed a DeepScan on the executable) and then v1.36 opened quickly.
I then installed v1.38 to Desktop (Avast also complained and performed a DeepScan on the executable) and then v1.38 OPENED QUICKLY!! Whoot!

For the techies:
I have 4 hard disks on this PC, years of work related and family stuff. Anyway, two of those drives are removable media, FAT32 drives, call them Drive E & Drive F. The other 2 drives are NTFS drives, we'll call them Drive C & Drive D.

My first issue with v1.37 was on Drive F. Since MicroSoft no longer supports XP and subsequently Microsoft Essentials Security (MES), I was forced back in April to abandon MES and chose anther type of security, hence Avast came into play. Well it appears that Avast isn't configured to "DeepScan" executables when they're created on removable media. I've been looking this morning to find out how. I did find I can scan removable media on demand but it doesn't seem to know that the file has had a DeepScan performed on it when I go to launch it afterwards, i.e., the long load time comes into play again.

I verified this by extracting v1.38 to Drive D (remember, NTFS) and once again Avast complained, performed a DeepScan on the executable and then v1.38 OPENED QUICKLY!!

The still lingering oddity here is the v1.36 installed on Drive F prior to moving to Avast opens quickly, as if Avast doesn't care about previously installed exe's.
So, I could disconnect from the internet, uninstall Avast, install v1.38 to Drive E or Drive F, reinstall Avast and see if it cares for certain.

I don't intend to do that just yet as I have more pressing things to do today since I now have the latest, fast loading version of the ever popular, beloved, and fabulous F-Engrave!!


Sorry for the long read, just wanted to be thorough and hope this may help others down the road.
Bottom line, thank you MicroSoft for making my day; nothing like being an abandoned working man with a so-called antiquated operating system and watching you cater to the new social media types OS's.

I guess it truly is "Go Big or Go Home".

(stepping off my soapbox now)

Vogavt
06-21-2014, 09:03 PM
Back in the house after a long day in the shop. Looking at this again.

Definitely the anti-virus (Avast!) was causing the delay. I set "f-engrave-138.exe" on Drive F as an "Exclusion" and BAM! Opens just as fast as previous versions.

Sorry to bore you all with this, but captured here for posterity! LOL!

Have a great weekend and thanks again, Scorch, for a great feat in programming.

scorch
06-22-2014, 03:35 PM
I had to bump the version again (now at V1.39) to fix a v-carving bug that I introduced in version 1.36.

AlphaSpan
06-24-2014, 08:43 AM
@all

Thats a great tool :) - first time I used it one month ago.
Does someone have photos of practical application in the metalworking. - I've only found examples from wood processing

thanks

AlphaSpan
06-24-2014, 08:43 AM
@all

Thats a great tool :) - first time I used it one month ago.
Does someone have photos of practical application in the metalworking. - I've only found examples from wood processing

thanks

OpaHoppenstedt
07-08-2014, 11:16 AM
@scorch

Thanks for this marvelous gem! Found it a few days ago and have been playing with it all the time. So far I tried a Harley Davidson logo and the Mayan Calendar and both came out great.

Now my wife wants me to make a door sign, but with letters standing out. Some dark wood as the base with letters cut from blond wood and glued on to it. I found the option to cut away from around the letters but they are still flat on top. Is there a way to make them pointy, something like a Z-axis mirror?

Thanks again,
Wilhelm

241906

scorch
07-08-2014, 02:58 PM
In order to make the tops of the letters all sharp you would need to start with a bitmap image with the letters represented as thin lines (like normal text). You would import the bitmap image and use the "Flip normals" option to cut the outside of the image. I assume this is the setting you found to cut the outside of the letters.

You will probably need to adjust the Bitmap Settings to accurately import an image made of thin lines.

This will result in only a very small flat on the top of your characters. (You could set your z-zero position slightly lower than the surface of your stock material to remove the small flat on the characters.)

Good luck

scorch
08-15-2014, 12:52 AM
I released F-Engrave V1.40. There were a few bug fixes and a change to the default coordinate system. The new default coordinate system makes putting multiple designs together easier because the origin stays in the lower left corner of the original image (not the lower left corner of the tool path).

The most significant change for V1.40 is the speed. You should notice a significant decrease in the time it takes to perform the v-carve calculations. Especially if you use the windows executable distribution (or an old version of Python with Psyco support)

There is more information on the changes on the Scorch Works Blog (http://www.scorchworks.com/Blog/a-much-faster-f-engrave-v1-40/) or you can just download the latest version from the F-Engrave (http://www.scorchworks.com/Fengrave/fengrave.html) web page and try it.

Good Luck

CaptainVee
08-15-2014, 01:32 AM
Cool Scorch, thanks a lot and keep up the good work!

scorch
02-14-2015, 01:44 AM
I posted a new version of F-Engrave (V1.45) to the F-Engrave web page.

Changes:
- Added multipass cutting to the v-carve options in the V-Carve Settings
- Removed "Inside Corner Angle" and "Outside Corner Angle" options from v-carve settings


These are the multipass options:
Finish Pass Stock is the amount of material that will be removed on the last pass
Max Depth per Pass is the maximum depth of material that can be removed in one cut.


The latest version is available here: F-Engrave (http://www.scorchworks.com/Fengrave/fengrave.html#download)

scott216
02-24-2015, 12:31 PM
I just started using F-Engrave with my ShapeOko, it's a great program, thanks for all the hard work. I wanted to let you know that Shapeoko gives me an error on G91.1 and G64 commands. I'm using a the GRBL board with Grbl Panel as my g-code sender.

scorch
02-24-2015, 12:45 PM
You can eliminate the G91.1 by turning off arc fitting in F-Engrave General Settings. You can get rid of the G64 in the G Code Header setting.

Then you can save your default settings for following sessions by saving a config.ngc file. (just change the settings as you want them to be, then save a .ngc file named "config.ngc" in the default save location.

scott216
02-24-2015, 01:26 PM
Thanks. I made those changes.

scott216
02-24-2015, 03:56 PM
I have a feature request for F-Engrave - somewhere display the height and width of the area to be engraved. Right now, I don't know how many inches my text till take up.

scorch
02-24-2015, 04:02 PM
The size of the engraving is displayed in the status bar at the bottom of the main window.

scott216
02-24-2015, 04:10 PM
The size of the engraving is displayed in the status bar at the bottom of the main window.
Thanks. I didn't notice it.

jschmitt
03-04-2015, 07:32 PM
Scorch I want to thank for your hard work and generosity for making available and continuing to improve f-engrave and your other software.

I made this bench top for my sister using f-engrave. She is the evil one Thanks again

271184

scorch
03-04-2015, 08:46 PM
@jschmitt, Thanks, I love to see what people are making.

scorch
03-08-2015, 03:47 PM
Here is some additional information about running F-Engrave output on a Shapeoko (using GRBL). You may get this error when trying to send g-code to the Shapeoko:

“Error while starting file stream: Command #3 too long: (55 > 50) ‘(Settings used in f-engrave when this file was created)’ ”

This error is generated because the #3 value set in GRBL is 50 and it need to be increased to allow longer g-code lines to be processed. Setting the #3 value in GRBL to 80 should be sufficient to accommodate the g-code generated by F-Engrave. I don't know the details of how to change this setting in GRBL (I don't have a Shapeoko) but I had an F-Engrave user point out that this was a problem for them when initially running F-Engrave on the Shapeoko.

There is a more complete post about F-Engrave with GRBL here: F-Engrave with GRBL Blog Post (http://www.scorchworks.com/Blog/using-f-engrave-with-grbl/)
I recently edited the linked post to include the additional information provided above.

Vogavt
03-08-2015, 03:50 PM
I noticed a v-carving I did yesterday cut the tool path twice. What setting am I missing?

scorch
03-08-2015, 04:56 PM
Looks like the new multipass cutting option (in V-Carve settings) was always active in V1.45. I put out a new version V1.46. It should be fixed now: F-Engrave (http://www.scorchworks.com/Fengrave/fengrave.html#download)

The multipass options allows users to limit the amount of materiel removed in each pass then perform a light cut for th finish pass. This is especially useful for people with light duty machines like the Shapeoko.

Thanks for pointing out the problem.

Vogavt
03-10-2015, 12:57 PM
We now have TTF, CXF, DXF, BMP, PBM at our disposal. Superb work Scorch!

I wonder if I could twist your arm a little to add some Python Spirograhing for embellishment around the perimeter of what you've given us already!

I've been playing with some of these already, one of which exports to GCODE but thought it would be really nice to have it bundled into F-Engrave.
If you don't want to reinvent the wheel I understand completely. Don't shoot me for asking though!

Mainly, I just wanted others to be aware of some more options for engraving and thought this would be a good place to add it. Dunno. Maybe I should have started a new thread.

Python Spirograph (http://sourceforge.net/projects/pythonspirograf/?source=typ_redirect) -25mb

Benjamin Joffe (http://www.benjoffe.com/code/toys/spirograph) Only saves as png file but fun nevertheless. (Java)

Spalm (http://www.cnczone.com/forums/general-off-topic-discussions/13277-cnc-10.html) A member here at cnczone, SAVES directly as GCODE!



PyroGraph (http://techreport.com/blog/14631/40-year-old-toy-meets-modern-scripting-language) Easiest option to incorporate in to F-Engrave, as it's simply "pyrograph-02.py"

Pyrograph-02.py Code


#!/usr/bin/python
# pyrograph.py - simple Python "Spirograph" demo
# Copyright (C) 2008 Michael Uchima
#
# History:
# v0.1 - 29Apr08 - Initial release
# v0.2 - 01May08 - Make it work properly whether it is executed directly or via Idle

from Tkinter import *
from math import *

# Window size, pattern resolution, etc.
windowSize = 600 # size of the window (both height and width)
resolution = 360 # number of points to plot for each revolution
pi = 3.14159265359 # mmm... pi

# Utility function to compute greatest common denominator
def gcd(x, y):
if x % y == 0:
return y
else:
return gcd(y, x % y)

# Our main window object
class MainWindow:

def __init__(self):
self.canvas = Canvas(self, width=windowSize, height=windowSize, bg="#ffffff",
cursor="crosshair", borderwidth=0)
self.canvas.grid(row=0, column=0)
self.canvas.xview_moveto(0)
self.canvas.yview_moveto(0)
self.Draw()

# Method to draw an arbitrary "Spirograph" pattern
#
# fixedRadius is the radius of the circle around which the moving wheel rotates
# movingRadius is the radius of the moving wheel; positive puts it is inside the fixed wheel, negative puts it outside
# penOffset is the offset of the pen from the center of the moving wheel
# rotationOffset is the rotation in degrees of the overall pattern; positive is counter-clockwise
# scaleFactor scales the pattern up or down without changing its shape
# penColor is the color to use for drawing, as 6 hexadecimal digits (#rrggbb)
def Pyro(self, fixedRadius, movingRadius, penOffset, rotationOffset, scaleFactor, penColor):
# check for impossible values
if fixedRadius == 0 or movingRadius == 0:
return
# log what we're doing to the console window
print "fixed=" + str(fixedRadius) + ", moving=" + str(movingRadius) \
+ ", offset=" + str(penOffset) + ", rotation=" + str(rotationOffset) \
+ ", scale=" + str(scaleFactor) + ", color=" + str(penColor)
# flip moving wheel radius around so that positive values are inside
movingRadius = -movingRadius
# figure out how many rotations we need, and how many total points to compute
turns = abs(movingRadius) / gcd(fixedRadius, abs(movingRadius))
points = turns * resolution
# scale the rotation value to be in radians
rotate = rotationOffset * pi * 2 / 360.0
# build list of points
pointList = []
for i in range(0, points + 1):
t1 = i * 2 * pi / resolution
t2 = t1 * (fixedRadius + movingRadius) / movingRadius
x = (fixedRadius + movingRadius) * sin(t1) + penOffset * sin(t2)
y = -(fixedRadius + movingRadius) * cos(t1) - penOffset * cos(t2)
x1 = floor((x * cos(rotate) + y * sin(rotate)) * scaleFactor + windowSize / 2 + 0.5)
y1 = floor((-x * sin(rotate) + y * cos(rotate)) * scaleFactor + windowSize / 2 + 0.5)
pointList.append((x1, y1))
# draw the pattern
self.canvas.create_line(pointList, fill = penColor)

# Draw the contents of the window - edit this method to change the pattern!
# Example #1: Simple hypotrochoid pattern, with the rolling circle fairly large and the pen near its edge
def Draw(self):
self.Pyro(300, 255, 220, 0, 1, "#0000c0")

# Our main application object
class Application(Frame, MainWindow):

def __init__(self, master=None):
Frame.__init__(self, master)
MainWindow.__init__(self)
self.grid()

# Create application object and go
app = Application()
app.master.title("Pyrograph v0.2")
# This check for Idle works in Python 2.5.2; haven't tested it in other versions
if not 'idlelib' in dir():
app.mainloop() # start tkinter main loop only if we weren't run from Idle environment

Vogavt
03-10-2015, 01:33 PM
We now have TTF, CXF, DXF, BMP, PBM at our disposal. Superb work Scorch!

I wonder if I could twist your arm a little to add some Python Spirograhing for embellishment around the perimeter of what you've given us already!

I've been playing with some of these already, one of which exports to GCODE but thought it would be really nice to have it bundled into F-Engrave as possibly an addition to the rectangle or the circle border.

If you don't want to reinvent the wheel I understand completely. Don't shoot me for asking though!


Also, I wanted others to be aware of some more options for engraving and thought this would be a good place to add it. Dunno. Maybe I should have started a new thread.

Python Spirograph (http://sourceforge.net/projects/pythonspirograf/?source=typ_redirect) -25mb

Benjamin Joffe (http://www.benjoffe.com/code/toys/spirograph) Only saves as png file but fun nevertheless. (Java)

Spalm (http://www.cnczone.com/forums/general-off-topic-discussions/13277-cnc-10.html) A member here at cnczone, SAVES directly as GCODE!



PyroGraph (http://techreport.com/blog/14631/40-year-old-toy-meets-modern-scripting-language) Easiest option to incorporate in to F-Engrave, as it's simply "pyrograph-02.py"

Pyrograph-02.py Code


#!/usr/bin/python
# pyrograph.py - simple Python "Spirograph" demo
# Copyright (C) 2008 Michael Uchima
#
# History:
# v0.1 - 29Apr08 - Initial release
# v0.2 - 01May08 - Make it work properly whether it is executed directly or via Idle

from Tkinter import *
from math import *

# Window size, pattern resolution, etc.
windowSize = 600 # size of the window (both height and width)
resolution = 360 # number of points to plot for each revolution
pi = 3.14159265359 # mmm... pi

# Utility function to compute greatest common denominator
def gcd(x, y):
if x % y == 0:
return y
else:
return gcd(y, x % y)

# Our main window object
class MainWindow:

def __init__(self):
self.canvas = Canvas(self, width=windowSize, height=windowSize, bg="#ffffff",
cursor="crosshair", borderwidth=0)
self.canvas.grid(row=0, column=0)
self.canvas.xview_moveto(0)
self.canvas.yview_moveto(0)
self.Draw()

# Method to draw an arbitrary "Spirograph" pattern
#
# fixedRadius is the radius of the circle around which the moving wheel rotates
# movingRadius is the radius of the moving wheel; positive puts it is inside the fixed wheel, negative puts it outside
# penOffset is the offset of the pen from the center of the moving wheel
# rotationOffset is the rotation in degrees of the overall pattern; positive is counter-clockwise
# scaleFactor scales the pattern up or down without changing its shape
# penColor is the color to use for drawing, as 6 hexadecimal digits (#rrggbb)
def Pyro(self, fixedRadius, movingRadius, penOffset, rotationOffset, scaleFactor, penColor):
# check for impossible values
if fixedRadius == 0 or movingRadius == 0:
return
# log what we're doing to the console window
print "fixed=" + str(fixedRadius) + ", moving=" + str(movingRadius) \
+ ", offset=" + str(penOffset) + ", rotation=" + str(rotationOffset) \
+ ", scale=" + str(scaleFactor) + ", color=" + str(penColor)
# flip moving wheel radius around so that positive values are inside
movingRadius = -movingRadius
# figure out how many rotations we need, and how many total points to compute
turns = abs(movingRadius) / gcd(fixedRadius, abs(movingRadius))
points = turns * resolution
# scale the rotation value to be in radians
rotate = rotationOffset * pi * 2 / 360.0
# build list of points
pointList = []
for i in range(0, points + 1):
t1 = i * 2 * pi / resolution
t2 = t1 * (fixedRadius + movingRadius) / movingRadius
x = (fixedRadius + movingRadius) * sin(t1) + penOffset * sin(t2)
y = -(fixedRadius + movingRadius) * cos(t1) - penOffset * cos(t2)
x1 = floor((x * cos(rotate) + y * sin(rotate)) * scaleFactor + windowSize / 2 + 0.5)
y1 = floor((-x * sin(rotate) + y * cos(rotate)) * scaleFactor + windowSize / 2 + 0.5)
pointList.append((x1, y1))
# draw the pattern
self.canvas.create_line(pointList, fill = penColor)

# Draw the contents of the window - edit this method to change the pattern!
# Example #1: Simple hypotrochoid pattern, with the rolling circle fairly large and the pen near its edge
def Draw(self):
self.Pyro(300, 255, 220, 0, 1, "#0000c0")

# Our main application object
class Application(Frame, MainWindow):

def __init__(self, master=None):
Frame.__init__(self, master)
MainWindow.__init__(self)
self.grid()

# Create application object and go
app = Application()
app.master.title("Pyrograph v0.2")
# This check for Idle works in Python 2.5.2; haven't tested it in other versions
if not 'idlelib' in dir():
app.mainloop() # start tkinter main loop only if we weren't run from Idle environment

g2rbs
03-10-2015, 02:11 PM
Hi.
I just started using F-Engrave with a Trend Mini CNC machine and it works a treat.

One question - is it possible to change the config so that files are either saved by default as .tap or can be 'Saved as' .tap rather than just the default .ngc?
The contents of the file are exactly the same.

Thanks for all your efforts Scorch!

scorch
03-10-2015, 06:06 PM
@Vogavt, I don't think a spirograph feature would be a good fit for F-Engrave. I see F-Engrave as converting designs to g-code rather than creating designs.

@g2rbs, There currently is not any way to save an extension as a default in F-Engrave. As a middle ground I might add a couple of extension options to the drop-down menu in the file select dialog.

g2rbs
03-11-2015, 05:06 AM
@Vogavt, I don't think a spirograph feature would be a good fit for F-Engrave. I see F-Engrave as converting designs to g-code rather than creating designs.

@g2rbs, There currently is not any way to save an extension as a default in F-Engrave. As a middle ground I might add a couple of extension options to the drop-down menu in the file select dialog.

Thank you Mr Scorch! - it would be really useful especially when, for example, I have 50+ slightly different files to do in one batch it would save an awful lot of extra clicking & typing .tap

mx270a
03-11-2015, 07:46 AM
...it would be really useful especially when, for example, I have 50+ slightly different files to do in one batch it would save an awful lot of extra clicking & typing .tap
Put them all in one folder. Go to Start, Run, then to the path of that folder. The bulk rename command is:

ren *.ngc *.tap

Vogavt
03-11-2015, 07:54 AM
I've sort of done that too but I use a batch file with this instead "ren *.ngc *.ngc.tap".

This gives me a heads up that the code was created in F-Engrave and can be reopened there as well. Not all of my GCodes are created in F-Engrave so it helps me to not have to open them just to see if I can pull them back in directly.

justinj
03-13-2015, 06:21 AM
Hi Scorch,

First I just wanted to say thanks for the work on F-Engrave! Secondly, I'm hoping you'll be able to give me some assistance with why I can't get F-Engrave to do this drawing properly. I've stuffed around with it for ages and haven't been able to work out the issue. It's the only drawing I've had issues with so far (I'm new to this so there hasn't been too many others but there's been a few) and I've checked for breaks etc. in the drawing but can't find any.
The issue:
272172

The drawing: 272174

Bashere
03-13-2015, 06:29 AM
Hi Scorch,

First I just wanted to say thanks for the work on F-Engrave! Secondly, I'm hoping you'll be able to give me some assistance with why I can't get F-Engrave to do this drawing properly. I've stuffed around with it for ages and haven't been able to work out the issue. It's the only drawing I've had issues with so far (I'm new to this so there hasn't been too many others but there's been a few) and I've checked for breaks etc. in the drawing but can't find any.
The issue:
272172

The drawing: 272174

Not sure what scorch would have to say, but first look to me suggests there is an open loop somewhere.

Second and just as likely there could be extra line segments hidden under another segment. You don't see it just looking but f-engrave will see it and screw up the engraving side.

I've had that happen many times with Autocad dxf's when converting text.

What I do to fix is watch f-engrave do it's thing and note where it jumps the line. I then go back into the dxf and look for any opens or duplicate lines in that area. Wash rinse and repeat.

Hope that helps.

Sent from my SAMSUNG-SM-N900A using Tapatalk

scorch
03-13-2015, 09:30 AM
Open loops are bad, but F-Engrave does it's best to fix those. The kiss of death for a v-carving is when loops cross over each other. It is like Ghost Busters "Don't Cross the Streams..." I see some clear crossing of loops in your DXF file. Bashere is right about some of the other potential pitfalls but the first task is to fix the clearly crossing loops. I highlighted a couple of the areas of concern in the attached picture.

272178

Good luck!

scorch
03-13-2015, 10:10 AM
I posted a new version of F-Engrave. Get it here F-Engrave Download (http://www.scorchworks.com/Fengrave/fengrave.html#download)

Changes in Version 1.47
- Added ability to read more types of DXF files (files using BLOCKS with the INSERT command)
- Fixed errors when running batch mode for v-carving.
- Added .tap to the drop down list of file extensions in the file save window

lagore
03-13-2015, 12:04 PM
Once again a great piece of software well done, any chance of getting it to produce raised letters, I know there are work arounds but they don't do the inside corners correctly.

scorch
03-13-2015, 12:26 PM
Using the flip normals option in the v-carve settings will produce raised text. You can also bring in an image with the raised text as white and the background a black then F-Engrave will cut the black away.

Both of these methods handle inside corners correctly.

justinj
03-13-2015, 06:15 PM
Open loops are bad, but F-Engrave does it's best to fix those. The kiss of death for a v-carving is when loops cross over each other. It is like Ghost Busters "Don't Cross the Streams..." I see some clear crossing of loops in your DXF file. Bashere is right about some of the other potential pitfalls but the first task is to fix the clearly crossing loops. I highlighted a couple of the areas of concern in the attached picture.

272178

Good luck!

I thought that may have been the case in the first place and I tried moving the segments around but got similar results which is why I thought maybe it had to do with the inside/outside angles or something else I may have missed. Case in point the segments you have highlighted that I have rearranged so there is no overlap:
272214272216
As you can see there is still a substantial escape? (I'm not sure what you call it) from the bounds of the lines, however it is not as severe as before but still too much for a flower engraving with many delicate lines.
Saving it as a bitmap and opening with F-Engrave did work but as it is part of a larger engraving (The rest of the engraving is fine) I don't want to have it separate from the rest in case something doesn't align quite right. I did try initially with Inkscape to put in a rastered version of the image instead of the original SVG I was using and then used Inkscape's trace bitmap option but I got a similar erroneous result as the original (Again like the above example it was slightly different).

scorch
03-13-2015, 06:45 PM
I don't have access to a computer right now but I am sure there are still lines crossing in the design. If the lines of an individual loop cross themselves it causes the same problem. Sometimes the individual lines that are crossing are difficult to find. You may need to use extreme levels of zoom.

You can try increasing the v-carve accuracy. If the crossing lines are smaller than the accuracy F-Engrave will skip them.

scorch
03-13-2015, 07:46 PM
272220

I looked into your DXF file. There are a bunch of places were lines are represented by triangles. The triangles are 3 points but the two of the points are coincident. This has the net effect of laying two lines on top of each other which throws F-Engrave for a loop.

Remember what Bashere said earlier about lines on top of each other? He was on to something...

justinj
03-13-2015, 10:03 PM
272220

I looked into your DXF file. There are a bunch of places were lines are represented by triangles. The triangles are 3 points but the two of the points are coincident. This has the net effect of laying two lines on top of each other which throws F-Engrave for a loop.

Remember what Bashere said earlier about lines on top of each other? He was on to something...
Thanks and sorry if that was a really basic thing, I haven't been doing this for too long. So that I can identify it easier in the future, what's the easiest way to work out these issues? Is there another program I can use that is better that highlights these? I've been using Inkscape and LibreCAD for drawings.

Bashere
03-13-2015, 10:10 PM
Thanks and sorry if that was a really basic thing, I haven't been doing this for too long. So that I can identify it easier in the future, what's the easiest way to work out these issues? Is there another program I can use that is better that highlights these? I've been using Inkscape and LibreCAD for drawings.

The best thing I have found is to edit the files directly by hand. Any auto trace will make mistakes, especially in more intricate designs.

Just get any good cad software that can edit dxf files directly. There may be some function in Autocad that I'm not ware of that can highlight conflicts, but normally it's just a quick to watch where the mistakes happen and fix them manually.

Sent from my SAMSUNG-SM-N900A using Tapatalk

scorch
03-13-2015, 10:39 PM
Fixing DXF files is not a trivial thing to do. Generally I avoid manually editing DXF files. When I do I edit DXF files I use Inkscape. I probably don't use Inkscape the most efficient way or to it's fullest capability.

Eventually I would like to incorporate more DXF error correction into F-Engrave. The concepts are pretty straight forward it is just going to suck a bunch of my time when I get into it. Looking at your file today actually helped me understand some of the different problems that can occur so when I do attack the error correction stuff I will be better prepared.

cyclestart
03-14-2015, 10:42 AM
There may be some function in Autocad that I'm not ware of that can highlight conflicts
I suspect Autocad's 'overkill' command can clean up that kind of thing ? Using free software... not sure what's available other than doing it the hard way.
There is an extension for inkscape that closes open loops but it doesn't fix overlaps or duplicates afaik.