#Mark2 VBScript Command Version 1.00 '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ' ExportPart Ver 1.1 (2003/06/13) '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ' [ŠT—v] ' ƒOƒ‹[ƒv”FŽ¯‚µ‚½—v‘f‚ðAŽw’肳‚ꂽ}–ʃtƒH[ƒ}ƒbƒg‚Ŷ¬‚µ‚Ä ' Žw’肳‚ꂽƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ö“]‘—‚µ‚Ü‚·B ' “]‘—}–Ê‚Í Mark2 ‚Ì’¼‰º‚Ì ExportPart\Œ»Ý‚ÌŽž.Šg’£Žq ‚Æ‚µ‚Ä쬂³‚ê‚Ü‚·B ' ' [’ˆÓ] ' ‚±‚̃vƒƒOƒ‰ƒ€‚ðŽg—p‚µ‚Ķ‚¶‚½‚¢‚©‚È‚éáŠQ‚à•ÛØ‚Í’v‚µ‚Ü‚¹‚ñB ' Ž©ŒÈÓ”C‚É‚¨‚¢‚ÄŒäŽg—p‰º‚³‚¢B ' ' [’˜ìŒ ] ' ‚±‚̃vƒƒOƒ‰ƒ€‚É•t‚¢‚Ă͈ꉞu‚łׂë‚Á‚Ïv‚ª ’˜ìŒ ‚ð—L‚µ‚Ä‚¢‚é‚ÆA‚±‚±‚É錾‚µ‚Ü‚·B ' “]—pA‰ü‘¢A‚»‚Ì‘¼‚à‚ë‚à‚ëAu‚łׂë‚Á‚Ïv‚Ì‹–‰Â‚È‚­Ž©—R‚És‚Á‚Ä‚­‚¾‚³‚¢B ' ’A‚µAƒIƒŠƒWƒiƒ‹‚Ìó‘Ԃł̉c—˜–Ú“I‚Æ‚µ‚½”Ì”„sˆ×‚Í‹–‰Â‚µ‚Ü‚¹‚ñ‚Ì‚ÅB ' '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ '¡ ƒiƒrƒQ[ƒVƒ‡ƒ“ƒ^[ƒQƒbƒg '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ const SI_NAVI_POINT = &H0001 '¡ À•W const SI_NAVI_ELEM = &H0002 '¡ —v‘f const SI_NAVI_POINTELEM = &H0003 '¡ (SI_NAVI_POINT|SI_NAVI_ELEM) const SI_NAVI_CORNER = &H0004 '¡ ƒR[ƒi[ const SI_NAVI_PAPER = &H0009 '¡ ƒy[ƒp[À•WŒn“ü—Í(ƒŒƒCƒ„kŽÚ–³‚µ) const SI_NAVI_FREEPOINT = &H0011 '¡ FreeÀ•W“ü—Í const SI_NAVI_ALLLAY = &H0020 '¡ ˆÙkŽÚ(—v‘fE—v‘f‚ÌŒð“_E’[“_E’†S“_)‚à‘S‚Ä”FŽ¯ '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ '¡ ƒIƒyƒŒ[ƒVƒ‡ƒ“‘®« '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ const SI_OPE_OPERATIONBACK = &H0010 '¡ ƒIƒyƒŒ[ƒVƒ‡ƒ“ƒoƒbƒN‚Ì‹–‰Â const SI_OPE_OPERATIONFIXED = &H0020 '¡ ƒIƒyƒŒ[ƒVƒ‡ƒ“Šm’è‚Ì‹–‰Â const SI_OPE_OPERATIONRESTART = &H0040 '¡ ƒIƒyƒŒ[ƒVƒ‡ƒ“ăXƒ^[ƒg‚Ì‹–‰Â '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ '¡ —v‘fˆ—ŠÖ˜A’è‹` '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ const SI_PROC_PRLL = &H00010000 '¡ •½sˆ— '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ '¡ ƒvƒƒpƒeƒBƒAƒCƒeƒ€i•Ï”‘®«j '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ const SI_PEX_NON = 0 '¡ –¢’è‹` const SI_PEX_NUM = 1 '¡ ” const SI_PEX_DOUBLE = 2 '¡ ŽÀ” const SI_PEX_FLOAT = 3 '¡ ŽÀ”(’P¸“x) const SI_PEX_TEXT = 4 '¡ •¶Žš—ñ const SI_PEX_LENGTH = 5 '¡ ’·‚³ const SI_PEX_FSIZE = 6 '¡ ƒTƒCƒY(FLOAT) const SI_PEX_ANGLE = 7 '¡ Šp“x(“x) const SI_PEX_RADIUS = 8 '¡ ”¼Œa const SI_PEX_DIAMETER = 9 '¡ ’¼Œa '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ '¡ ƒvƒƒpƒeƒBƒAƒCƒeƒ€i€–Ú‘®«j '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ const SI_PCS_ADDBTN = &H0001 '¡ ƒvƒbƒVƒ…ƒ{ƒ^ƒ“‚̒ljÁ const SI_PCS_ADDCHK = &H0002 '¡ ƒ`ƒFƒbƒNƒ{ƒ^ƒ“‚̒ljÁ const SI_PCS_OWNERDRAW = &H0004 '¡ ƒI[ƒi[ƒhƒ[ const SI_PCS_BREAK = &H0008 '¡ ƒOƒ‹[ƒv‘®«‚ÌI‚í‚è const SI_PCS_EXPANDED = &H0010 '¡ ƒOƒ‹[ƒv€–Ú‚ªŠJ‚¢‚Ä‚¢‚é const SI_PCS_CHECKED = &H0020 '¡ €–ڂɃ`ƒFƒbƒN‚ª•t‚¢‚Ä‚¢‚é const SI_PCS_PUSHED = &H0040 '¡ €–ڂɃ`ƒFƒbƒN‚ª•t‚¢‚Ä‚¢‚é const SI_PCS_DISABLED = &H0080 '¡ €–Ú‚Í–³Œøó‘Ô const SI_PCS_READONLY = &H0100 '¡ €–Ú‚Í“Ç‚ÝŽæ‚èê—p const SI_PCS_NONIME = &H0200 '¡ ”’l•ÒWŽž‚É‚h‚l‚d‚Ì‹­§‚n‚e‚e‚ðs‚í‚È‚¢ const SI_PCS_RADIOCHK = &H4000 '¡ ƒ`ƒFƒbƒNƒ}[ƒN‚̓‰ƒWƒIƒ^ƒCƒv const SI_PCS_HIDE = &H8000 '¡ ”ñ•\Ž¦ƒAƒCƒeƒ€ '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Dim g_SvGroup const SID_GROUP = 100 Dim PID_FORMAT Dim PID_APP '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ' ƒRƒ}ƒ“ƒh‚Ì“ü‚èŒû•ŠJŽnƒCƒxƒ“ƒg '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Sub Cmd_OnRun() Set rProperty = Cmd.siProperty ' ƒOƒ‹[ƒsƒ“ƒO—pƒT[ƒo[ƒRƒ}ƒ“ƒh‚ÌÝ’è Set g_SvGroup = Cmd.CreateSvCommand( "AutSiSvGroup" ) g_SvGroup.ProcType = SI_PROC_PRLL ' ƒRƒ}ƒ“ƒhƒvƒƒpƒeƒB‚ÌÝ’è PID_FORMAT = rProperty.AddEdit( "Šg’£Žq", "", 0, SI_PEX_TEXT ) PID_APP = rProperty.AddEdit( "ƒAƒvƒŠ", "", SI_PCS_ADDBTN, SI_PEX_TEXT ) rProperty.SetColumn PID_APP, 16 rProperty.SetValue PID_FORMAT, "MND" rProperty.Load True, "ExportPart" rProperty.Modify ' ƒIƒyƒŒ[ƒVƒ‡ƒ“ŠJŽn Cmd.OutputInfoString vbCrlf & "<< ExportPart >>" & vbCrlf, 1 Cmd.SetOperationIndex 0 End Sub '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ' ƒRƒ}ƒ“ƒh‚ÌI—¹ƒCƒxƒ“ƒg '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Sub Cmd_OnTerminate() g_SvGroup.siGroupDtb.Close Set g_SvGroup = nothing ' ƒRƒ}ƒ“ƒhƒvƒƒpƒeƒB‚ð•Û‘¶ Set rProperty = Cmd.siProperty rProperty.Save "ExportPart" End Sub '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ' ƒIƒyƒŒ[ƒVƒ‡ƒ“‚̃CƒjƒVƒƒƒ‰ƒCƒYƒCƒxƒ“ƒg '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Sub Cmd_OnInitOperation( OpIndex ) Select Case OpIndex Case 0 g_SvGroup.siGroupDtb.Close Cmd.LaunchServer SID_GROUP, g_SvGroup Case 1 Set rNavi = Cmd.siNavi Set rElemMask = rNavi.siElemMask rElemMask.SetBitAllOn rNavi.SetTarget SI_NAVI_POINT, 0, 0 Cmd.Operation = SI_OPE_OPERATIONBACK Cmd.SetStatusString "}–ÊŒ´“_‚ðŽw’肵‚ĉº‚³‚¢" End Select End Sub Sub Cmd_OnCadEventChangedFigure() Cmd.SetOperationIndex -1 End Sub '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ' ƒvƒƒpƒeƒB€–ڂ̃{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽƒCƒxƒ“ƒg '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Sub Cmd_OnPropertyEventClickButton( nItem ) If nItem = PID_APP Then Set rProperty = Cmd.siProperty bRet = ShellExecute( rProperty.GetValue(PID_APP), empty ) End If End Sub '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ' ƒIƒyƒŒ[ƒVƒ‡ƒ“ƒoƒbƒNƒCƒxƒ“ƒg '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Sub Cmd_OnCadEventOperationBack( nID ) ' If nID = SID_GROUP Then Exit Sub Cmd.SetOperationIndex 0 End Sub '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ' ƒIƒyƒŒ[ƒVƒ‡ƒ“Šm’èƒCƒxƒ“ƒg '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Sub Cmd_OnCadEventFixed( nID ) If nID <> SID_GROUP Then Exit Sub Set rGroupDtb = g_SvGroup.siGroupDtb nCount = rGroupDtb.GetCount() 'ƒOƒ‹[ƒsƒ“ƒO” If nCount <= 0 Then MsgBox "ƒOƒ‹[ƒsƒ“ƒO—v‘f‚ª‘¶Ý‚µ‚Ü‚¹‚ñ" Cmd.SetOperationIndex 0 Exit Sub End If Cmd.SetOperationIndex 1 End Sub '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ' À•W“ü—Í '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Sub Cmd_OnCadEventInputCoord( iView, dspPoint ) Set rProperty = Cmd.siProperty szExt = rProperty.GetValue(PID_FORMAT) szApp = rProperty.GetValue(PID_APP) If Len(szExt) <= 0 Then szExt = ".MND" ElseIf Left(szExt,1) <> "." Then szExt = "." & szExt End If Set rGroupDtb = g_SvGroup.siGroupDtb ' ì‹Æ—p}–ʃIƒuƒWƒFƒNƒg‚ðì¬ Set rWorkFig = Cmd.CreateElement( "AutSiFig" ) Set rWorkDtbCtrl = rWorkFig.siDtbCtrl ' ƒOƒ‹[ƒsƒ“ƒO—v‘f‚ðì‹Æ—p}–Ê‚ÖƒRƒs[‚·‚é Set ptDir = Cmd.CreateElement( "AutSiDtPoint" ) ptDir.x = 0 ptDir.y = 0 Set rProcCtrl = Cmd.CreateElement( "AutSiProcCtrl" ) bRet = rProcCtrl.SetData( rGroupDtb, TRUE ) bRet = rProcCtrl.SetPrll( dspPoint, ptDir ) bRet = rProcCtrl.Copy( rWorkFig, -1, 1) ' —̈撷‚ðÅ“K‰» Set rcArea = rWorkDtbCtrl.RecordRect( -1, 0, False, -1 ) xMargin = 0.025 * (rcArea.Max.x - rcArea.Min.x) yMargin = 0.025 * (rcArea.Max.y - rcArea.Min.y) Set FigInfo = Cmd.siFig.siFigInt.GetAttr( "AutSiFigInfo" ) Set WorkFigInfo = rWorkFig.siFigInt.GetAttr( "AutSiFigInfo" ) WorkFigInfo.Area.Min.x = rcArea.Min.x - xMargin WorkFigInfo.Area.Min.y = rcArea.Min.y - yMargin WorkFigInfo.Area.Max.x = rcArea.Max.x + xMargin WorkFigInfo.Area.Max.y = rcArea.Max.y + yMargin WorkFigInfo.FigrName = FigInfo.FigrName WorkFigInfo.FigrNumber = FigInfo.FigrNumber WorkFigInfo.Designer = FigInfo.Designer rWorkFig.siFigInt.SetAttr( WorkFigInfo ) ' ˆø‚«“n‚µƒtƒ@ƒCƒ‹‚ðì‹ÆƒfƒBƒŒƒNƒgƒŠ‚É•Û‘¶‚·‚é Set rSupport = Application.siSupport Set rFigManager = Application.siFigManager strTempFile = rSupport.GetEnviron( "TemporarytDirectory" ) strTempFile = strTempFile & "ExportPart" & szExt bSts = rFigManager.DoSave( szExt, strTempFile , rWorkFig ) '}–Ê‘‚«o‚µ if bSts = false Then MsgBox "}–ʂ̶¬‚ÉŽ¸”s‚µ‚Ü‚µ‚½B" & vbCrlf & strTempFile Cmd.DoExit 'I—¹ Exit Sub End If ' }–ʃtƒHƒ‹ƒ_‚̶¬‚Æ}–ʃtƒ@ƒCƒ‹‚̃Rƒs[ Set rSystemEnv = Application.siSystemEnv Set fso = CreateObject( "Scripting.FileSystemObject" ) strFolder = rSystemEnv.SystemFolder & "ExportPart" If not( fso.FolderExists( strFolder ) ) Then fso.CreateFolder( strFolder ) End If strFolder = strFolder & "\" & Mid(szExt,2) If not( fso.FolderExists( strFolder ) ) Then fso.CreateFolder( strFolder ) End If CurDate = Now strFname = Year(CurDate) strFname = strFname & Month(CurDate) strFname = strFname & Day(CurDate) strFname = strFname & Hour(CurDate) strFname = strFname & Minute(CurDate) strFname = strFname & Second(CurDate) strFname = strFname & szExt strTargetFile = strFolder & "\" & strFname bRet = fso.CopyFile( strTempFile, strTargetFile, true ) fso.DeleteFile( strTempFile ) Cmd.OutputInfoString strTargetFile & vbCrlf, 0 ' ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì‹N“® bRet = ShellExecute( szApp, Chr(34) & strTargetFile & Chr(34) ) Cmd.SetOperationIndex 0 End Sub '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ' Žw’èƒvƒƒOƒ‰ƒ€‚ÌŽÀs '¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Function ShellExecute( szApp, szArg ) ShellRun = false If Len(szApp) > 0 Then Set WSHShell = CreateObject( "WScript.Shell" ) If IsObject(WSHShell) Then WSHShell.Run Chr(34) & szApp & Chr(34) & " " & szArg ShellRun = true End If End If End Function