Looks like a handy program. I'll have a go at it.
'Rekd
Hey guys,
I've developed a freeware program that should be a help to some of you. I think it's really nice.
A comprehensive machining calculator - outputs suggested feeds and speeds along with estimated power requirements and cycle time. Interactive - you change one value, everything that depends on that value updates.
Configurable - comes with a database of feeds and speeds for twenty materials and eleven tool types. You can modify the existing material data and add up to thirty more materials.
A volume and weight calculator for a large variety of shapes and
materials.
A drill depth calculator for center drills, spot drills, countersinks,
and twist drills.
A surface finish calculator.
A detailed source of screw thread and tap drill information for 192
different threads.
A drill chart with over 700 commercially-available drills.
A hardness conversion chart.
A detailed user guide.
Three files, total of 500k, no registry modifications.
The program has inch and metric modes, and switches back and forth with a mouse click.
This is freeware, with no gimmicks. If you try it and it helps you out, or you don't like it, all I need is a little feedback to let me know.
Michael Rainey
rainey47@bellsouth.net
screenshot:
http://bellsouthpwp.net/r/s/rsnmar/MEConsultant20.jpg
program:
http://bellsouthpwp.net/r/s/rsnmar/MEConsultant20.zip
Similar Threads:
Looks like a handy program. I'll have a go at it.
'Rekd
Matt
San Diego, Ca
___ o o o_
[l_,[_____],
l---L - □lllllll□-
( )_) ( )_)--)_)
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
I like it thanks
It's pretty cool. A lot to look at on one page, but it's pretty functional. GJOriginally posted by mrainey
This is freeware, with no gimmicks. If you try it and it helps you out, or you don't like it, all I need is a little feedback to let me know.
If you're looking for ideas, suggestions etc, I'll hook ya up!
First thing I noticed is having to double click to select the values in the input boxes. Perhaps you could use a combination of Mouse_Down, Got_Focus and Key_Down events to select all. That way, when a user tabs between fields, it will select everything in the field. Or if they click on a field, etc etc.
Also, I'm on a different comp now, but from what I remember last nite (yeah, Rum & Cokes will break your concentration.. ), I believe you have the databases inside the exectuable. This makes it almost impossible for users to modify it.
I'll play with it some more..
GJ on the proggie! What did you use to make it? C++? VB?
'Rekd
Matt
San Diego, Ca
___ o o o_
[l_,[_____],
l---L - □lllllll□-
( )_) ( )_)--)_)
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
I'll have a go as well, thanx!
Klox
*** KloX ***
I'm lazy, I'm only "sparking" when the EDM is running....
I don't know of anything that has to be double clicked to be selected. I just drag over a value to select it.First thing I noticed is having to double click to select the values in the input boxes. Perhaps you could use a combination of Mouse_Down, Got_Focus and Key_Down events to select all. That way, when a user tabs between fields, it will select everything in the field. Or if they click on a field, etc etc.
Also, I'm on a different comp now, but from what I remember last nite (yeah, Rum & Cokes will break your concentration.. ), I believe you have the databases inside the exectuable. This makes it almost impossible for users to modify it.
I didn't provide for tabbing between controls, because I have no way of knowing which control a user would want to go to next.
The database is in the ASCII file ME.dat. The User Guide gives detailed instructions on how to modify or add to it.
The program was written with IBasic.
Easy on the rum & cokes
Mike
double click, CTRL+A, click and drag over, shift+arrow etc etc etc. What I'm saying is, it's easier on the user. I've made several programs that do this sort of thing, and if you use it for any length of time, having the ability to just have to start typing to enter values in a new field is paramount. (In other words, making it user friendly is more important than functionality some times.. )I don't know of anything that has to be double clicked to be selected. I just drag over a value to select it.
I generally start at top left and work down or across. Grouping 'like' fields helps with this. I'm not sure about IBasic, but I know with Visual Basic, it's automatic. It starts out defaulting to creation order, but you can change the TABIndex value to customize it. I seldome use my mouse. And when I'm forced to, it's a pain. Tabbing between fields is good.I didn't provide for tabbing between controls, because I have no way of knowing which control a user would want to go to next.
I just ran the exe from the zip file. So I was guessing on the database.The database is in the ASCII file ME.dat. The User Guide gives detailed instructions on how to modify or add to it.
Easy on the rum & cokes
'Rekd teh Inebriated
Matt
San Diego, Ca
___ o o o_
[l_,[_____],
l---L - □lllllll□-
( )_) ( )_)--)_)
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
Hrm, that's interesting.
Last nite at home I downloaded it, opened the .zip, and launched the executable. And it ran. Now, at work, I downloaded it, ran it, and it's yelling at me about not having the .dat file. Any ideas? Running Ecks Pee here, and ME at home.
I'm thinking I'd want to have a routine in there to create a new database if the old one gets corrupted, lost or deleted. That's what I did with my CNC sub program generator, M98 Px.
If the proggie gets run without the ini file it will create a new one and populate it with default values.
'Rekd
Matt
San Diego, Ca
___ o o o_
[l_,[_____],
l---L - □lllllll□-
( )_) ( )_)--)_)
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
I appreciate the feedback, but honestly don't see how tabbing could fit in with the concept of my program. When you run it, the fields are initialized for you, so there is no initial data entry. The idea is to change one or more values (out of the 15-20 active) to evaluate the impact on other values. So, how do I know if a tab should put the cursor in the SFM control or the HOLE QTY control or the FEED % control? I don't have any way of predicting what variables the user is going to want play with. Or am I missing your point entirely?I generally start at top left and work down or across. Grouping 'like' fields helps with this. I'm not sure about IBasic, but I know with Visual Basic, it's automatic. It starts out defaulting to creation order, but you can change the TABIndex value to customize it. I seldome use my mouse. And when I'm forced to, it's a pain. Tabbing between fields is good
I'll study your suggestions on selection methods. The more ways to do it, the merrier.
The ME.dat file has to be in the same directory as the executable. Beyond that, I can't say why you had problems running it. I never have. The program was developed on XP and NT, and has also been tested on 98 and 2000.
I hadn't considered automatic recreation of a missing data file, but will put it "on the list".
Thanks for your ideas (and more to come, I hope).
Mike
From a 'users' standpoint, I don't see how NOT tabbing could fit in with the concept of your program. IMNSHO, any 32 bit application that contains input boxes, lists or fields NEEDS to have tabbing capabilities. Many computer users prefer not to have to take their hands off the keyboard to grab the mouse and select a different field. Look at the Windows OS. You don't need a mouse to do 90% of the things you do in Windows. You can do it all from the keyboard.I appreciate the feedback, but honestly don't see how tabbing could fit in with the concept of my program. When you run it, the fields are initialized for you, so there is no initial data entry. The idea is to change one or more values (out of the 15-20 active) to evaluate the impact on other values. So, how do I know if a tab should put the cursor in the SFM control or the HOLE QTY control or the FEED % control? I don't have any way of predicting what variables the user is going to want play with. Or am I missing your point entirely?
It also works the other way.. letting go of the mouse to type something in. This is the reason I almost always use the mouse in my left hand. As a CNC programmer, I use the number pad 75% of the time along with the mouse. With the mouse in my left hand, I can keep my right hand on the number pad and program my little heart out.
I guess what I'm saying is that if it's there and not needed, that is better than NOT having it when you want it.
Mayhaps if you only did it with the fields that are most common? (flutes, DOC etc)
It's not that I had a problem, it's just that when I ran it last nite, it ran without the .dat file, (so it would seem). Today it did not. (Which concurrs with the way you programmed it)The ME.dat file has to be in the same directory as the executable. Beyond that, I can't say why you had problems running it. I never have. The program was developed on XP and NT, and has also been tested on 98 and 2000.
I believe what happened is I must have splashed a little rum on my monitor, and I clicked the Check Out button last nite instead of the Run button. (I ran the .exe from INSIDE Winzip on both machines, so the data file was not extracted)
I think any time you use a data file like that which you're supplying, you stand the chance of some user deleting it or otherwise rendering it un-usable. So instead of having to re-download the program to get the data file back, you could have it created automatically. (A simple test on the form_load event to check for the database will suffice)I hadn't considered automatic recreation of a missing data file, but will put it "on the list".
'Rekd teh 2-1/2 cents
Last edited by Rekd; 10-10-2003 at 01:27 PM.
Matt
San Diego, Ca
___ o o o_
[l_,[_____],
l---L - □lllllll□-
( )_) ( )_)--)_)
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
BTW, here's a (Visual Basic) example of how I did my routine to check for the config file. (Data file in your case)
Now just putPrivate Sub Check_cfg() ' check if the cfg file is present, if not, create it
On Error GoTo Hell
If Right(App.path, 1) <> "\" Then
AppPath = App.path & "\"
Else: AppPath = App.path
End If
If Len(Dir$(AppPath & "m98px.cfg")) = 0 Then 'Ensure ini file is present
filecount& = 0 'It's not.
Else: filecount& = 1
End If
If filecount& = 0 Then
Open AppPath & "m98px.cfg" For Output As #1
Print #1, "M98 Px Sub Program Generator's user configurable initialization file"
Print #1, "32 Bit Version: " & App.Major & "." & App.Minor
Print #1, ""
Print #1, "© 2000, 2001 Matt Finley, Specialized Web & Grafix. All Rights Reserved."
Print #1, ""
Print #1, "This file is automatically generated. You may change it manually."
Print #1, "Comments are in [ ]. Variables are placed after the : and are subject to certain"
Print #1, "criteria. You can add any comments by keeping them in [ ]."
Print #1, ""
Print #1, "If you find that the file no longer works, simply delete it and restart M98Px."
Print #1, "A new file, with default values, will be created automatically."
Print #1, ""
Print #1, "[Defaults for 1 Part All Tools]"
Print #1, ""
Print #1, "[Main Program File Name]"
Print #1, "DFileName:subs.ncf"
Print #1, "[Main Program Number]"
Print #1, "DMainProg:100"
Print #1, "[Sub Program Number]"
Print #1, "DSubProg:1"
Print #1, "[Number Of Work Offsets]"
Print #1, "DFixtures:4"
Print #1, "[Max Number Of Work Offsets]"
Print #1, "DMaxFixt:29"
Print #1, ""
Print #1, "[Defaults for 1 Tool All Parts]"
Print #1, ""
Print #1, "[Default Path]"
Print #1, "DSPath:c:\"
Print #1, "[Default FileType]"
Print #1, "DSFileType:*.nc*"
Print #1, "[Number Of Parts]"
Print #1, "DSNumberParts:4"
Print #1, "[High Speed Machining Commands (HSM)]"
Print #1, "DSHighSpeedOn:G187 E"
Print #1, "DSHighSpeedOff:G187"
Print #1, "DSEnableHSM:On"
Print #1, "[Enable File Backup on 1 Tool All Parts(On, Off)]"
Print #1, "DSBackup:Off"
Print #1, ""
Print #1, "[Work Offset Modifiers]"
Print #1, ""
Print #1, "[Extended Work Offset Modifying Character(J, ., etc.)]"
Print #1, "DSModifier:J"
Print #1, "[Extended Work Offsets Are G110-G132(Y or N)]"
Print #1, "DSUseG110:Y"
Print #1, ""
Print #1, "[Misc Defaults]"
Print #1, ""
Print #1, "[Max Line Numbers For N Words]"
Print #1, "DSMaxLineNum:9999"
Print #1, "[Program Number Identifier(O, :, etc.)]"
Print #1, "DSOWord:O"
Print #1, "[Un-needed Character Removal(At Beginning Of File)]"
Print #1, "DSRemoveChar:&HE"
Print #1, "[Add String To Beginning of File]"
Print #1, "DSAddChar:TA,1,2"
Print #1, "[Default Safty Block at Beginning of Program]"
Print #1, "DSSaftyBlock:G90 G0 G17 G40 G49 G80"
Print #1, "[Default Tool Return Code For Tool Change]"
Print #1, "DSReturnCode1:G91 G28 Z0"
Print #1, "DSReturnCode2:G91 G28 X0 Y0"
Close
End If
Exit Sub
:Hell
Close
MsgBox "An Error Occurred, please check output"
End Sub
into your Form_Load event.Check_cfg()
HTH
'Rekd
Last edited by Rekd; 10-10-2003 at 01:29 PM.
Matt
San Diego, Ca
___ o o o_
[l_,[_____],
l---L - □lllllll□-
( )_) ( )_)--)_)
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
Matt,
Appreciate all the help. Maybe I should consider contributing to your Bacardi Appreciation Fund or something - seems to bring out the best in you.
Tell you what on tabbing - I'll try it out and see how it feels. If I like it, I'll stick it into the next release. As you say, it can't hurt anything, even if the application isn't particularly well suited to it (my opinion) - I have this vision of always needing to get to the fifteenth control in the tab order.
Thanks for the sample code as well. Given that people tend not to read manuals or back up data, the regeneration feature might be a good idea.
Till later.
Mike
Glad I could shed some light. It's always good to have outside opinions, as they almost always see things at least a little differently. (Right or wrong is beside the point)Originally posted by mrainey
Matt,
Appreciate all the help. Maybe I should consider contributing to your Bacardi Appreciation Fund or something - seems to bring out the best in you.
Tell you what on tabbing - I'll try it out and see how it feels. If I like it, I'll stick it into the next release. As you say, it can't hurt anything, even if the application isn't particularly well suited to it (my opinion) - I have this vision of always needing to get to the fifteenth control in the tab order.
Thanks for the sample code as well. Given that people tend not to read manuals or back up data, the regeneration feature might be a good idea.
Till later.
Mike
And +1 on the regeneration feature. If it were a program just for myself, I likely wouldn't care. But people do the darndest things with computers.
'Rekd
p.s., Rainey, as in Wayne Rainey, is my all time hero.
Matt
San Diego, Ca
___ o o o_
[l_,[_____],
l---L - □lllllll□-
( )_) ( )_)--)_)
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
Is there a safe source to download the freeware version of this? Several of the file sites still have it, but I am always nervous about those places. I scan any files downloaded from them with both AVG and AVAST before I will even uncompress them.
I actually have the free version, as well as the not free Version 2.2 Pro, but I'ld like a safe place to point people when they ask.
Bob La Londe
http://www.YumaBassMan.com