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:

Composite NCI a VBS possibility?


Allan Brown
 Share

Recommended Posts

We have a customer who would uses separate NCI destinations for each operation in a single Mc9 file. They'd like a single .set style setup sheet to be created for all ops.

 

We've kicked around the idea of a C-Hook to create a single 'composite NCI' file to run through the .set setup sheet template. We were never able to get what we needed with the C-Hook.

 

The composite NCI file would need to include each NCI file in order as it appears in the Operations Manager. I would also need an NCI 1007 comment line for each source NCI containing originating NCI path to use as a comment.

 

Any VBS stars willing to take a stab at this?

Link to comment
Share on other sites

I'm talking about taking the contents of the Operations Manager and creating a single NCI file to use during posting/setup sheet creation. If posted normally, you'd get individual NC files, which is what they want. They however want a single setup sheet. We've done it in the past patching files back together, but I'd like to handle it right from a composite NCI.

Link to comment
Share on other sites

Dave -

 

This is something that we would be very interested in!

 

We post out multiple code files from different .nci files in the same Mastercam model, but need a single setup sheet. Right now I do this by naming and re-naming the .nci files. PITA.

 

Kathy

biggrin.gif

Link to comment
Share on other sites

This script might offer some ideas. Note that you will need the new update to mcamvb.dll chook available from your reseller to run this example.

 

The new update also allows setting the NCI name for an operation.

 

code:

'////////////////////////////////////////////////////////////////////////////////

'//

'// Author: Mick George [email protected]

'// Date: 06/11/2003 09:52 AM

'// File Name: GetJobInformation.vbs

'//

'// Description: Gets current job information and dumps it to an html file and

'// then, lord willing, loads up IE and displays it.

'//

'// Comments: Only tested under IE may look like craaaap in anything else

'//

'////////////////////////////////////////////////////////////////////////////////

 

' -- Start Script

Call Main()

 

 

' ////////////////////

' Sub Declaration

' ////////////////////

Sub Main()

 

Dim strCurrentFileName, strReportName

Dim strHTML, strOpComment

Dim FSO, fsoReport

Dim intOperations, intOpCount, strOperationName, ToolNumber, strToolComment

Dim dblTemp

Dim intOpTypeId

 

 

' -- Prompt for a report name

strReportName = AskString("Input name of report")

 

If Len(Trim(strReportName)) = 0 Then Exit Sub

 

' -- Check for EXT

If Len(strReportName) <= 5 Then

strReportName = strReportName & ".html"

Else

If Right(LCase(strReportName), 5) <> ".html" Then strReportName = strReportName & ".html"

End If

 

Call ClearPromptLines

Call WriteString("Generating report, please wait....")

 

Set FSO = CreateObject("Scripting.FileSystemObject")

 

' -- Get the file's name

strCurrentFileName = GetCurrentFileName

 

' -- Make sure we are in ISO view

Call SetGViewNumber(mcVIEW_ISO)

 

' -- Generate bitmap image of part

Call DoBitmapfile(vbNullString, GetPath & "IMAGE.BMP")

 

' -- Store path to out report

strHTML = GetPath & strReportName

 

' -- Create our html file

Set fsoReport = FSO.CreateTextFile(strHTML)

 

With fsoReport

.WriteLine "<!DOCTYPE HTML PUBLIC " & Chr(34) & "-//W3C//DTD HTML 4.0 Transitional//EN " & Chr(34) & ">"

.WriteLine "<HTML>"

.WriteLine "<HEAD>"

.WriteLine "<TITLE>Mastercam Job Setup Sheet</TITLE>"

.WriteLine "</HEAD>"

.WriteLine "<BODY BGCOLOR = " & Chr(34) & "white" & Chr(34) & "><BODY>"

 

.WriteLine "<td width=" & Chr(34) & "287" & Chr(34) & "><a href=" & Chr(34) & "
& Chr(34) & "><img src=" & Chr(34) & "
& Chr(34) & " width=" & Chr(34) & "287" & Chr(34) & " height=" & Chr(34) & "65" & Chr(34) & " border=" & Chr(34) & "0" & Chr(34) & " align=" & Chr(34) & "left" & Chr(34) & " alt=" & Chr(34) & "Mastercam.com" & Chr(34) & "></a>"

.WriteLine "</table>"

.WriteLine "<font color=" & Chr(34) & "#A72934" & Chr(34) & ">"

.WriteLine "<MARQUEE id=Marquee3 style=" & Chr(34) & "WIDTH: 300px; HEIGHT: 13px" & Chr(34) & " trueSpeed scrollAmount=3 scrollDelay=3 behavior=slide Loop=1><SPAN Class=564313111-17052002>CNC Software, Inc</SPAN></MARQUEE><BR>"

.WriteLine "<MARQUEE id=Marquee3 style=" & Chr(34) & "WIDTH: 300px; HEIGHT: 13px" & Chr(34) & " trueSpeed scrollAmount=2 scrollDelay=3 behavior=slide Loop=1><SPAN Class=564313111-17052002>671 Old Post Road</SPAN></MARQUEE><BR>"

.WriteLine "<MARQUEE id=Marquee3 style=" & Chr(34) & "WIDTH: 300px; HEIGHT: 13px" & Chr(34) & " trueSpeed scrollAmount=1 scrollDelay=2 behavior=slide Loop=1><SPAN Class=564313111-17052002>Tolland, CT 06084</SPAN></MARQUEE><BR>"

.WriteLine "</font>"

.WriteLine "<BR><BR>"

.WriteLine strCurrentFileName

.WriteLine "<BR><BR>"

 

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & "><img src=" & Chr(34) & "IMAGE.BMP" & Chr(34) & " border=" & Chr(34) & "1" & Chr(34) & Chr(34) & " align=" & Chr(34) & "left" & Chr(34) & "></a></td>"

 

.WriteLine "<table width = " & Chr(34) & "50%" & Chr(34) & " border=" & Chr(34) & "1" & Chr(34) & " cellspacing=" & Chr(34) & "1" & Chr(34) & " cellpadding=" & Chr(34) & "0" & Chr(34) & " bordercolorlight=" & Chr(34) & "#C0C0C0" & Chr(34) & " bordercolordark=" & Chr(34) & "#A72934" & Chr(34) & ">"

.WriteLine "<tr>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & "><b>Material:</b></td>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & ">" & GetJobSetupMaterial & Chr(34) & "</td>"

.WriteLine "</tr>"

 

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & "><b><u>Origin</u></b></td>"

 

.WriteLine "<tr>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & "><b>X:</b></td>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & ">" & GetJobSetupStockOriginX & Chr(34) & "</td>"

.WriteLine "</tr>"

 

.WriteLine "<tr>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & "><b>Y:</b></td>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & ">" & GetJobSetupStockOriginY & Chr(34) & "</td>"

.WriteLine "</tr>"

 

.WriteLine "<tr>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & "><b>Z:</b></td>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & ">" & GetJobSetupStockOriginZ & Chr(34) & "</td>"

.WriteLine "</tr>"

 

.WriteLine "<tr>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & "><b><u>Size</u></b></td>"

.WriteLine "</tr>"

 

.WriteLine "<tr>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & "><b>X:</b></td>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & ">" & GetJobSetupStockSizeX & Chr(34) & "</td>"

.WriteLine "</tr>"

 

.WriteLine "<tr>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & "><b>Y:</b></td>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & ">" & GetJobSetupStockSizeY & Chr(34) & "</td>"

.WriteLine "</tr>"

 

.WriteLine "<tr>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & "><b>Z:</b></td>"

.WriteLine "<td align = " & Chr(34) & "right" & Chr(34) & ">" & GetJobSetupStockSizeZ & Chr(34) & "</td>"

.WriteLine "</tr>"

 

.WriteLine "</table>"

 

.WriteLine "<BR><BR><BR><BR><PRE>"

.WriteLine "<BR></PRE>"

 

.WriteLine "<table align = " & Chr(34) & "left" & Chr(34) & "width =" & Chr(34) & "85%" & Chr(34) & "border=" & Chr(34) & "1" & Chr(34) & "cellspacing=" & Chr(34) & "2" & Chr(34) & " cellpadding=" & Chr(34) & "2" & Chr(34) & " bordercolorlight=" & Chr(34) & "#C0C0C0" & Chr(34) & " bordercolordark=" & Chr(34) & "#A72934" & Chr(34) & ">"

.WriteLine "<caption align=" & Chr(34) & "left" & Chr(34) & "><B>OPERATION TOOL LIST</B></caption>"

.WriteLine "<th>OP#</th>"

.WriteLine "<th>T#</th>"

.WriteLine "<th>TO</th>"

.WriteLine "<th>TLO</th>"

.WriteLine "<th>TDIA</th>"

.WriteLine "<th>TLEN</th>"

.WriteLine "<th>MIN Z</th>"

.WriteLine "<th>MAX Z</th>"

.WriteLine "<th>OPERATION TYPE</th>"

.WriteLine "<th>TOOL COMMENT</th>"

.WriteLine "<th>OPERATION COMMENT</th>"

 

' -- Get current files operation count

intOpCount = GetOperationCount(vbNullString)

 

 

' -- Iterate all operations

For intOperations = 1 To intOpCount

 

' -- Get our tool number

ToolNumber = GetToolNumberFromOperationID(vbNullString, intOperations)

 

.WriteLine "<tr>"

.WriteLine "<td align = " & Chr(34) & "center" & Chr(34) & ">" & intOperations & "</td>"

.WriteLine "<td align = " & Chr(34) & "center" & Chr(34) & ">" & ToolNumber & "</td>"

.WriteLine "<td align = " & Chr(34) & "center" & Chr(34) & ">" & GetToolDiameterOffsetNumber(ToolNumber) & "</td>"

.WriteLine "<td align = " & Chr(34) & "center" & Chr(34) & ">" & GetToolLengthOffsetNumber(ToolNumber) & "</td>"

.WriteLine "<td align = " & Chr(34) & "center" & Chr(34) & ">" & GetToolDiameter(ToolNumber) & "</td>"

.WriteLine "<td align = " & Chr(34) & "center" & Chr(34) & ">" & GetToolLength(ToolNumber) & "</td>"

.WriteLine "<td align = " & Chr(34) & "center" & Chr(34) & ">" & FormatValue(GetNciMinZFromOperationID(vbNullString, intOperations),4) & "</td>"

.WriteLine "<td align = " & Chr(34) & "center" & Chr(34) & ">" & FormatValue(GetNciMaxZFromOperationID(vbNullString, intOperations), 4) & "</td>"

 

 

' -- Get this operations type

intOpTypeId = GetOperationTypeFromID(vbNullString, intOperations)

 

' -- What type of operation is it?

Select Case intOpTypeId

 

Case mcOPERATION_CONTOUR: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">CONTOUR</td>"

Case mcOPERATION_DRILL: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">DRILL</td>"

Case mcOPERATION_POCKET: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">POCKET</td>"

Case mcOPERATION_ROUTER_BLOCK_DRILL: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">BLOCK DRILL</td>"

Case mcOPERATION_ROUTER_CNTR: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">ROUTER CONTOUR</td>"

Case mcOPERATION_ROUTER_CUTOFF: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">ROUTER CUTOFF</td>"

Case mcOPERATION_ROUTER_POCK: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">ROUTER POCKET</td>"

Case mcOPERATION_SRF_RGH_PARALLEL: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE ROUGH PARALLEL</td>"

Case mcOPERATION_SRF_RGH_RADIAL: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE ROUGH RADIAL</td>"

Case mcOPERATION_SRF_RGH_PROJECT: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE ROUGH PROJECT</td>"

Case mcOPERATION_SRF_RGH_FLOWLINE: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE ROUGH FLOWLINE</td>"

Case mcOPERATION_SRF_RGH_CONTOUR: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE ROUGH CONTOUR</td>"

Case mcOPERATION_SRF_RGH_POCKET: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE ROUGH POCKET</td>"

Case mcOPERATION_SRF_FIN_PARALLEL: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE FINISH PARALLEL</td>"

Case mcOPERATION_SRF_FIN_RADIAL: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE FINISH RADIAL</td>"

Case mcOPERATION_SRF_FIN_PROJECT: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE FINISH PROJECT</td>"

Case mcOPERATION_SRF_FIN_FLOWLINE: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE FINISH FLOWLINE</td>"

Case mcOPERATION_SRF_FIN_CONTOUR: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE FINISH CONTOUR</td>"

Case mcOPERATION_SRF_FIN_PENCIL: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE FINISH PENCIL TRACE</td>"

Case mcOPERATION_SRF_FIN_LEFTOVER: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE FINISH LEFTOVER STOCK</td>"

Case mcOPERATION_SRF_FIN_STEEP: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE FINISH STEEP</td>"

Case mcOPERATION_SRF_FIN_SHALLOW: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE FINISH SHALLOW</td>"

Case mcOPERATION_SRF_FIN_CONSCALOP: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE FINISH CONSTANT SCALOP</td>"

Case mcOPERATION_SRF_RGH_PLUNGE: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE ROUGH PLUNGE</td>"

Case mcOPERATION_SRF_FLOW5AX: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE FINISH 5AXIS FLOWLINE</td>"

Case mcOPERATION_SRF_4AX: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">SURFACE FINISH 4 AXIS</td>"

Case mcOPERATION_MERGED_NCI: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">MERGED IN ASCII NCI</td>"

Case mcOPERATION_5AX_SWARF: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">5 AXIS SWARF</td>"

Case mcOPERATION_5AX_ROLLDIE: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">5 AXIS ROLL DIE</td>"

Case mcOPERATION_FACE: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">FACE OPERATION</td>"

Case mcOPERATION_5AX_MSURF: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">5 AXIS MULTI SURFACE ROUGH</td>"

 

Case Else: .WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">*UNKNOWN OPId* -> " & intOpTypeId & "</td>"

 

End Select

 

strToolComment = GetToolComment(ToolNumber)

 

If Len(Trim(strToolComment)) = 0 Then

.WriteLine "<td> -//- </td>"

Else

.WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">" & strToolComment & "</td>"

End If

 

strOpComment = GetOperationNameFromID(vbNullString, intOperations)

 

If Len(Trim(strOpComment)) = 0 Then

.WriteLine "<td> -//- </td>"

Else

.WriteLine "<td align = " & Chr(34) & "left" & Chr(34) & ">" & strOpComment & "</td>"

End If

 

.WriteLine "</tr>"

 

Next

 

.WriteLine "</FONT>"

.WriteLine "</BODY>"

.WriteLine "</HTML>"

 

.Close

 

End With

 

Call RepaintScreen(True)

Call ClearPromptLines

Call WriteString("Launching report, please wait....")

Call ShowMe(strHTML)

Call ClearPromptLines

 

End Sub

 

' ////////////////////

' Function Declaration

' ////////////////////

Public Function ShowMe(sHTML)

 

On Error Resume Next

 

Dim objIE

 

' Create the IE object and sets some parameters

Set objIE = CreateObject("InternetExplorer.Application")

 

If objIE Is Nothing Then Exit Function

 

If Err Then

ShowString "Error loading Internet Explorer " & Err.Description

Exit Function

End If

 

With objIE

 

.Navigate sHTML

.ToolBar = True

.StatusBar = False

.Resizable = True

 

Do

' -- Zzzzzz....

Loop While .Busy

 

.Visible = True

 

End With

 

 

Set objIE = Nothing

 

 

End Function

 

[ 12-23-2003, 04:58 PM: Message edited by: Mick from CNC Software, Inc. ]

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.

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...