hexagon logo

CAD transform programmability

Dear Everyone!
I'm trying to write some sort of an automation that can determine the translation compensation of EDM electrodes. The compensation is the difference between the CAD model position and the actual machined electrode position (we are using EROWA fixtures for high precision repeatable positioning).
For this task I need to use the CAD transform window to reposition the electrode by some 0.1 mm-s after each measurement, but it's highly time consuming. Is there some way to:
1. call CAD transform actions via VBA or any other means?
2. translate measured features by a certain vector all at once?
Thanks for your help.
Dv
  • Hi David,
    there's nothing in the PCDMIS-object-library for "Transform CAD",
    but i'm actually working on a solution to fill the "Translate" and "Rotate Matrix"
    fields through a tool called AutoIt.
    Find attached what I've done so far.

    HTH

    PCD_TransformWindow_Test.zip
  • If I understand correctly, you're trying to compensate for the OVER BURN? If this is the case, simply use the THICKNESS setting in the AUTOFEATURES Dialog. -.1 will compensate for .1 of over burn and it will stay set at -.1 until you change it again. This way after you've aligned to the holder; I used to use the same holders, you can simply pick vector points off of the CAD and keep going.

    Bill
  • Hi David,
    there's nothing in the PCDMIS-object-library for "Transform CAD",
    but i'm actually working on a solution to fill the "Translate" and "Rotate Matrix"
    fields through a tool called AutoIt.
    Find attached what I've done so far.

    HTH



    Hi,
    I would worship you for that tool if that worked!
    I instantly dled it, trying to put it into action, but when I looked at the code I started wondering what language was it written in? Could you pls help me on that? I wasn't even familiar with the file extension.
    My automation would run from Excel, therefore I need to embed that code in some sort of VBA application.
    I would be really grateful for your support,
    many thanks
    Dv
  • If I understand correctly, you're trying to compensate for the OVER BURN? If this is the case, simply use the THICKNESS setting in the AUTOFEATURES Dialog. -.1 will compensate for .1 of over burn and it will stay set at -.1 until you change it again. This way after you've aligned to the holder; I used to use the same holders, you can simply pick vector points off of the CAD and keep going.

    Bill


    Hi,
    your guess is almost correct, but what I'm trying to do apart from compensating for overburn is to compensate the translation-type errors due to machining. That is e. g. the electrode is modeled to the centerline of the holder but when I receive the actually manufactured version, it is usually screwed up by a few tenths of millimeters to whatever direction. Therefore I need to find out the linear compensation to minimize that error.
    Anyway, your help is highly appreciated, since I never knew what for the thickness setting was, so now I can get to using it right away!
    thanks
    Dv
  • This is right in the AUTOFEATURES dialog within PCDmis itself (Vector Point Advanced in the MISC area.). I've not done anything with automation, so this may not work for you, but somewhere there has to be PCDmis code that does the checks, it's within PCDmis itself. It does work exactly the way I discribed as well. I've used it in the past to check trodes and compensate for over burn.

    Bill
  • Sorry can't help you with origin translation. Craiger MAY be able to in the main section. He's a bit of a VB GURU.

    Bill
  • Hi,
    the scripting-language is called AutoIt (freeware), you can find it here:
    http://www.autoitscript.com/
    Sorry, no way with vb/vba here, because the Transform-function
    is not in the PCDMIS-object-library.
    Big advantage of that tool here:
    you can automate the process of transferring the values
    to the proper input boxes in the Transform-dialog.
    The previously attached .au3-file contains the code, it can with
    AutoIt also be compiled to an exe-file.

    HTH
  • One last thought.. IF/WHEN ou use the THICKNESS feature, you have to MANUALLY turn it off or it WILL stay turned on, even if you close that program and start another. It even modifies features that it shouldn't. For instance if you used it for a trode check and then start a gage check and want to pick up tooling balls (sphere), it will STILL be turned on and the only place you can see it is in the Parameters of the feature in the edit window. You won't see it in the sphere autofeatures because it isn't an option there, but it WILL mess it up so be careful with this feature.

    Bill
  • Thanks to both of you for your help, it was really appreciated.

    According to AutoIt, can I pass data from excel to AutoIt, or can I call AutoIt object from within excel?
  • Hi,
    no, data-passing the direct way would not work (as far as i now),
    but here's what can be accomplished:
    1. i assume you have your "values" in the excel-sheet
    -> export/write that values with Excel-VBA to an external Textfile
    2. call with Excel-VBA your generated AutoIt-exefile (with the Shell-command in vba)
    3. the AutoIt-file then can gather the values from the textfile and send it
    to the transform-window

    Hope i was able to shed some light.
    Bye