Creating an STL

Started by jrayself, October 04, 2010, 12:18:54 AM

Previous topic - Next topic

jrayself

Whenever I take my scan data and process it into an STL I perform the same steps each time.  The only thing that ever changes are my units.  I'm sure most users are in the same boat.

I want to automate this process once I have all the PSLs exported to the workspace.  I was going to start from scratch but I imagine someone out there has completed several, if not all, the necessary macros to complete this.

Do I have any saviors out there?
Jason R. Self
Dimensional Engineering, Inc.

PW User

Here is a macro I wrote a little over a year ago to process multiple IMAlign projects in a Workspace treeview.  ::)

Beware of the parameters used for merging, they are NOT unit independant, they are hard coded to finish the macro within a 1/2 hour (I cut corners when I did this...). You could improve this macro with a multiple parameter input for these parameters (can somebody do it and post it?).

Here is the macro:



version "4.0"

#Macro for merging multiple IMAlign projects one after the other.
#Start the macro in the workspace you want to process. It needs to be active workspace.

# Works with the current workspace. Will create a polygonal model for each IMAlign project in the treeview. Polygonals models will match
# the same order. If it is stopped, it can resume to the next on the list. It can also be started from the Nth IMAlign project: just make sure
# the number of Polygonal models in the treeview is one less than where you want to start merging...
# 2009-01-08 PWuser


DECLARE nbimalignproj 0
DECLARE nbPoly 0
DECLARE workspaceid
DECLARE projcounter 1
DECLARE imaprojname

MACRO INTERACTIVITY ("Off")

WORKSPACE PROPERTIES FILENAME GET(,workspaceid )
TREEVIEW IMALIGN_PROJECT GET_NB (nbimalignproj)
TREEVIEW POLYGONAL_MODEL GET_NB (nbPoly)

WHILE $projcounter <= $nbimalignproj
    if $projcounter > $nbPoly
        TREEVIEW SELECT NONE
        TREEVIEW IMALIGN_PROJECT SELECT ($projcounter)
        TREEVIEW IMALIGN_PROJECT GET_NAME ($projcounter, imaprojname)
        MODULE IMMERGE MERGE_IMALIGN_PROJECT (, $imaprojname, 2, 0.2, "$imaprojname mesh",0.6, 0.18, 0.002,400,40,,,10,,,"Off")
        ++ projcounter
    else
        ++ projcounter
    endif
ENDWHILE

PW User

The line to change, if you want to make this macro aware of units, is the
MODULE IMMERGE MERGE_IMALIGN_PROJECT (, $imaprojname, 2, 0.2, "$imaprojname mesh",0.6, 0.18, 0.002,400,40,,,10,,,"Off")

All those values should be variables with user input. There is so many that a multiple parameter input is almost mandatory here...

Good luck!