DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

How to change the channels of an 2D-Axis report using script

D2ChnX(i),D2CChnX.... doesn't really work
Please a short example
Diadem 9.1 on WIN2000
0 Kudos
Message 1 of 5
(4,186 Views)
Hi PeterBR,

I hope the following script base functions may help you:

'-------------------------------------------------------------------------------
'-- VBS - Autosequenz - Datei
'-- Neu erstellt am 22/01/2002 11:26:43
'-- Ersteller:
'-- Kommentar:
'-------------------------------------------------------------------------------
Option Explicit

call SetNewParameter

'-------------------------------------------------------------------------------
'-------------------------------------------------------------------------------
'-------------------------------------------------------------------------------

Sub SetNewParameter
Dim iObjNo,sObjType

call NewParamFor_Main_Frame
For iObjNo = 1 To ObjectNoMax
if ( 0 < Len(PicObj(iObjNo)) ) Then
sObjType = Lcase(PicObjType(iObjNo))
Select Case sObjType

Case "freeframe"
Call NewParamFor_Frame_Obj(PicObj(iObjNo))

Case "textline"
Call NewParamFor_Text_Obj(PicObj(iObjNo))

Case "xy"
Call NewParamFor_XY_Obj(PicObj(iObjNo))

Case "xyz"
Call NewParamFor_XYZ_Obj(PicObj(iObjNo))

Case "xytab"
Call NewParamFor_XYTab_Obj(PicObj(iObjNo))

Case "xyztab"
Call NewParamFor_XYZTab_Obj(PicObj(iObjNo))

Case "polar"
Call NewParamFor_Polar_Obj(PicObj(iObjNo))

Case Else

End Select

End If
Next
End Sub

'-------------------------------------------------------------------------------
' Set for main frame to new colors
'-------------------------------------------------------------------------------
sub NewParamFor_Main_Frame
' do something
end sub

'-------------------------------------------------------------------------------
' Set for frame objects to new colors
'-------------------------------------------------------------------------------
Sub NewParamFor_Frame_Obj(sObjectName)
Call GRAPHObjOpen(sObjectName)
' do something
Call GRAPHObjClose(sObjectName)
End Sub

'-------------------------------------------------------------------------------
' Set for text objects to new colors
'-------------------------------------------------------------------------------
sub NewParamFor_Text_Obj(sObjectName)
Call GRAPHObjOpen(sObjectName)
' do something
Call GRAPHObjClose(sObjectName)
end sub

'-------------------------------------------------------------------------------
' Set for 2-D Axis system to new colors
'-------------------------------------------------------------------------------
Sub NewParamFor_XY_Obj(sObjectName)
call GraphObjOpen(sObjectName)
For iCurveNo = 1 To CurveNoMax
if D2CURVEOBJ(iCurveNo) <> "" then
call GraphObjOpen(D2CurveObj(iCurveNo))
' do something
call GraphObjClose(D2CurveObj(iCurveNo))
end if
Next
call GraphObjClose(sObjectName)
End Sub

'-------------------------------------------------------------------------------
' Set for 3-D Axis system to new colors
'-------------------------------------------------------------------------------
Sub NewParamFor_XYZ_Obj(sObjectName)
call GraphObjOpen(sObjectName)
For iCurveNo = 1 To CurveNoMax
if D3CURVEOBJ(iCurveNo) <> "" then
call GraphObjOpen(D3CurveObj(iCurveNo))
' do something
Call GRAPHObjClose(D3CurveObj(iCurveNo))
end if
next
call GraphObjClose(sObjectName)
End Sub

'-------------------------------------------------------------------------------
' Set for 2-D table system to new colors
'-------------------------------------------------------------------------------
Sub NewParamFor_XYTab_Obj(sObjectName)
call GraphObjOpen(sObjectName)
' do something
call GraphObjClose(sObjectName)
End Sub

'-------------------------------------------------------------------------------
' Set for 3-D table system to new colors
'-------------------------------------------------------------------------------
Sub NewParamFor_XYZTab_Obj(sObjectName)
call GraphObjOpen(sObjectName)
' do something
call GraphObjClose(sObjectName)
End Sub


'-------------------------------------------------------------------------------
' Set for Polar Axis system to new colors
'-------------------------------------------------------------------------------
Sub NewParamFor_Polar_Obj(sObjectName)
call GraphObjOpen(sObjectName)
For iCurveNo = 1 To CurveNoMax
If D2PolarCURVEOBJ(iCurveNo) <> "" Then
Call GRAPHObjOpen(D2PolarCURVEOBJ(iCurveNo))
' do something
Call GRAPHObjClose(D2PolarCURVEOBJ(iCurveNo))
end if
next
call GraphObjClose(sObjectName)
End Sub

Greetings

Walter Rick
0 Kudos
Message 2 of 5
(4,186 Views)
Hi Rick,
thanks for your quick answer!

But if i try to change the channel of a curve, it has no effect!
....in Sub NewParamFor_XY_Obj...
call GraphObjOpen(D2CurveObj(iCurveNo))
D2CChnX = "6" 'no effect!!!
D2CChnY = "8" 'no effect!!!
D2CurveColor = "yellow" 'works!!!
call GraphObjClose(D2CurveObj(iCurveNo))
.....

Is D2CChnX read only?

Greetings
Peter
0 Kudos
Message 3 of 5
(4,186 Views)
Hello Peter

This depends if you are working name oriented (default) or number oriented. This is set in Settings>>Layout parameters.

So if you use channel names it will work in the name oriented mode.
D2CCHNX = "[1]/MYch6"
D2CCHNY = "[1]/MYch8"

Or try this. This will work for all modes.

If CBool(PICDEFBYIDENT) Then
D2CCHNXNAME = CN(6)
D2CCHNYNAME = CN(8)
Else
D2CCHNX = 6
D2CCHNY = 8
End If

Hope this helps!
0 Kudos
Message 4 of 5
(4,186 Views)
Hello Rick,

now it works!
thanx a lot!!

Maybe you can add this last hint in your help under
Index --> "Objekte, DIAdem-REPORT"
D2CChnXName is not linked on this page!

Have a nice Week
Peter
0 Kudos
Message 5 of 5
(4,186 Views)