Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

acam

Resellers
  • Posts

    73
  • Joined

  • Last visited

Posts posted by acam

  1. Hello, I have a question about using the tool tables (like TOOL.T) in Heidenhain 530. Specifically, I would like to have multiple tooltable files (+.T files), where each file represents a collection of tools for a particular workpiece. Then, I would load the tool table onto the machine along with the program for this workpiece. If possible, I would call the specific tooltable file at the beginning of a G-code file.

    Is this possible? Has anyone already used this method of program preparation?

    If yes, I would greatly appreciate if you could explain to me the procedure how to do this.

    Best regards.

  2. I would also love to see it as a Mastercam feature.

    It's not that hard to make it work anyways.

    We have been forced to do  it in a postprocessor.

     

    And it works great on any kind of thread profile with rough and finish passes.

     

    The User simply creates rough or finish toolpath on a custom profile:

     

    aa.jpg

     

    Here are the settings the user can set up:

     

    287.jpg

     

    Here is the resulting toolpath (It is Sinumerik code):

    ;%_N_T_MPF
    ;$PATH=/_N_MPF_DIR
    N1 G18 G54
    N2 SETMS(4)
    N3 T3 ; DESNI ZUNANJI VNMG R0.8
    N4 TC(1)
    N5 LIMS=3600
    N6 G96 S550 M3
    N7 G0 X61.159 Z0.498
    N8 G95 G1 F0.5
    N9 X60.359
    N10 X59.559
    N11 X58.759
    N12 X57.959
    ;1
    N13 G0 Z0.498
    N14 G0 X57.159
    N15 G33 Z-200 K40 SF=90
    N16 G0 X77.159
    ;2
    N17 G0 Z0.203
    N18 G0 X56.655
    N19 G33 Z-200 K40 SF=90
    N20 G0 X76.655
    ;3
    N21 G0 Z-0.093
    N22 G0 X56.15
    N23 G33 Z-200 K40 SF=90
    N24 G0 X76.15
    ;4
    N25 G0 Z-0.388
    N26 G0 X55.646
    N27 G33 Z-200 K40 SF=90
    N28 G0 X75.646
    ;5
    N29 G0 Z-0.683
    N30 G0 X55.142
    N31 G33 Z-200 K40 SF=90
    N32 G0 X75.142
    ...
    

    Of course the verify and backplot do not really show the right result but at least we can do the code  :).

  3. Hello,

     

    we have done several posts like that before.

     

    It is all done by one postprocessor  which includes logic to change output between different configurations

     

    The method we use is the use of misc integer parameter to set the one of three configurations.

     

    This method also enables you to "mix" different configurations within one NC file.

     

    For instance:

     

    Mi5$ = 1 ==> XYZAB (C= 0)

    Mi5$ = 2 ==> XYZAC (B= 0)

    Mi5$ = 3 ==> XYZBC (A= 0)

     

    Of course it takes a lot of work to set it up (postprocessor must be practically rewritten from ground up)

    Probably the hardest thing is to  correctly switch on and off all machine functions when changing configurations within one NC file.

     

    One note: you will most probably not be able to achieve this by using Mastercams  Gen5ax because this postprocessor has some logic binned which prevents it to change configurations.

    At first we have tried to change the Gen5ax  to get the wanted output (the one with multiple configurations) but were unsuccessful. So we created our own generic 5axis postprocessor which enables us to use up to 3 configurations within one NC file.

     

    regards.

  4. You could also do it a little bit differently:

     

    - Have only one Machine definition/Control Definition/Post for the whole set of similar machines.

    - Add a question to a posprocessor, so it asks you during posting for which machine you want the output for.

     

    The question would be something like: "Select machine [1=Mori Seiki 1, 2 = Haas,....]"

     

    The advantage of this method is that you do not have to replace Machine before posprocessing.

    And the update to new versione of mastercam is easier because you only have one Machine/Control definition to update.

    We use this method a lot and we think it is more user friendly compared to multiple machine definitions and 1 postprocessor.

    • Like 1
  5. I have also taken some time to examine this issue.

     

    Mastercam has a C-hook called CreateBoundary.dll, which should create the necessary boundary:

     

    2410.jpg

     

    This Chook has never created correct boundaries which could be used as a tool contact point boundaries.

     

    I attached a MCX file which shows as a nice example of this issue:

     

    24102.jpg

     

    it would be really great if HST would be able to utilize such boundaries.

     

    Regards

    CREATE BOUNDARY BUG - SECOND EXAMPLE-1.MCX-7

  6. Hello,

     

    We have a Mastercam customer who owns a Micro-Vu Excel measuring center (http://www.microvu.com/excel.html).

    This machine already has special offline programming software installed. This software is called Micro-Vu Inspec (http://www.microvu.com/inspecvis.html).

    The main issue with this software is that currently it can not import any 3D geometry and program any measurements on such geometry.

     

    So we are very interested in any kind of support that would enable us to use this machine for 3D part measurements.

     

    Has anybody ever had any succes in ofline programming 3D geometry with this machine.

    I already mailed to Verisurf about this issue but I did not get an answer.

     

    Every help is greatly appreciated.

     

    Best regards.

  7. Hello

     

    I am trying to write a simple utility which would unselect ALL operations that are marked as Posting OFF:

     

    acidhafa.png

     

    Here is the code sample I wrote:

    public static MCamReturn RunPostingOffUnselect()

    {

    Operation[] FoundOperations = SearchManager.GetOperations(); // get all the operations

     

    foreach (Operation CurrentOperation in FoundOperations)

    {

    if ((CurrentOperation.Posting == false) && (CurrentOperation.Selected == true)) // find all operations that are POSTING OFF and SELECTED

    {

    CurrentOperation.Selected = false; // Change the SELECTED state to UNSELECTED

     

    CurrentOperation.Commit(); // !!!! THIS IS THE ISSUE - it commits the operation to unselected state (this part is OK)

    // but it also make it DIRTY (I do not want to have a dirty operation - this part is NOT OK)

    // If I do not use this line the operation does not get unselected

    }

    }

    OperationsManager.RefreshOperationsManager();

    return MCamReturn.NoErrors;

     

    }

     

    The issue is presented in the code (as a comment with a CurrentOperation.Commit() function.

     

    I would greatly appreciate if you could help me regarding this issue. I hope this can be solved just with .Nethook functions.

     

    Best regards.

  8. Hello,

     

    First of all I am not sure if this is possible so I have another idea to achieve the same result:

    I recommend that you load all necessary files by the nethook. So, Mastercam would load the nethook automatically through the command line and the nethook would then open the necessary files.

    By doing so you have much more control over the importing of the files (you can set the levels, etc).

    To get the paths of the files to open into the nethook I would use just a simple text file (which would be written by the original software prior to calling Mastercam command line and then read by the nethook)

     

    If you want that STL is loaded as lines you have to set it so in the configuration.

     

    Regards

  9. Hello,

     

    There are couple of options.

     

    One is to create a text file that could be later read by the post in the form of buffer file.

     

    The other is to use arguments in the dll() post function (as I know this method only works if the nethook is called from the postprocessor).

     

    I use this snippet of code to read the computer user name and pass it to the postprocessor:

     

     

             	
                   // PostingManager is a class that contains a single Property -
               	// 'PostProcessorArguments' and this property is a "ValueType".
               	// So we 'get' the data from this property.     	
               	ValueType postArgs = Mastercam.Posting.PostingManager.PostProcessorArguments;
               	// Now we cast postArgs (a ValueType) to 'PostProcessorArgumentsType'
               	// So we can access that data within...
               	// PostProcessorArgumentsType is a structure containing (3) strings.
               	Mastercam.Posting.Types.PostProcessorArgumentsType args = (Mastercam.Posting.Types.PostProcessorArgumentsType)postArgs;
               	args.Argument1 = MyUserName;
               	// We can also 'set' using this property to send data back to the PST !
               	Mastercam.Posting.PostingManager.PostProcessorArguments = args; // Update the values back to the PST

     

     

     

    But I am sure Roger will be able you to help you better :)

     

    regards

  10. My machine definiton has two separate axis combinations. I would like to know which of those is currently used in the operation.

    The problem is that both of these axis combinations use exactly the same machine components .

     

    axis.jpg

     

    The reason for this is that the machine has TWO upper left turrets which can achieve totally the same movements but are programed with two separate NC programs.

     

    By selecting appropriate axis combination by the user the postprocessor will then output the toolpath code to the approprite NC program using the subout$.

     

    Regards.

  11. Hello,

     

    I have a question about reading parameters in Mastercam posts.

     

    I have a problem getting the axis combination name from a 20601 prmcode:

     

     

    test.jpg

    The method I am using is this:

     

    pparameter$ #Information from parameters

    #"pparameter", ~prmcode$, ~sparameter$, e$

    if prmcode$ = 20601,

    [

    axis_combo = rparsngl(sparameter$, 4)

    ]

     

     

    saxis_combo : ""

     

    This method gives no results and I don't get the correct axis combination.

    I guess the problem is the combination of strings and numbers in a 20601 line (rpar probably can only read numbers), but the fourth parameter (name) is a string.

     

    Is there any other known method to read the current axis combination name?

     

     

    Best regards.

     

    Gorazd

  12. Hello,

     

    I am trying to run a nethook from a postprocessor. It runs fine with this code inside of a postprocessor:

     

    ppost$
     	result = dll(sDLL,sARGS)
    
    sDLL : "C:\Program Files\mcamx5\chooks\MyNethook.dll"
    sARGS : ' "Arg1" "Arg2" "Arg3" '
    

     

    The DLL runs OK from within the postprocessor.

     

    But I have a problem getting the arguments from the postprocessor into the Nethook.

     

    I use thisis code (but I already know that it not OK):

     

           	
          	Mastercam.Posting.Types.PostProcessorArgumentsType PostArgs = new Mastercam.Posting.Types.PostProcessorArgumentsType();
    
           	System.ValueType PostArgs = Mastercam.Posting.PostingManager.PostProcessorArguments;
    
          	string PostArgs1 = PostArgs.Argument1;
          	string PostArgs2 = PostArgs.Argument2;
          	string PostArgs3 = PostArgs.Argument3;
          	MessageBox.Show(PostArgs1 + PostArgs2 + PostArgs3, serror);
    

     

    Has anybody been succesful with this?

     

    Any code snippets would be greatly appreciated.

     

    Best regards

     

    Gorazd

  13. Yes, that's it.

     

    If the current graphic screen is 1052x897 (it depends on the size of the screen and the number of toolbars the user has ) I want to capture it into the image of the same size.

     

    I always wandered why the SaveToBitmap(String FilePath) didn't save to a large image.

    Ususaly we need printscreens bigger than 256x256.

     

    I want to have the same functionality as "Screen/Copy screen image to clipboard" does (it creates imege of the graphic screen in the original size).

     

    Best regards.

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...