ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Autoscaling algorithm

Solved!
Go to solution

Hallo Everyone,

I need to figure out the algorithm of the automatic Scaling in DIAdem for Diagramms.

Or at least if I put a Diagram on Autoscale to read min max and Tick-Step.

 

is this possible?

 

I need that for my Reports which are very high automatisated and depending on the size of the numbers other objects have to move.

 

Thanks in advance

 

STG82

0 Kudos
Message 1 of 5
(4,824 Views)

Hi STG82,

 

Would you please describe what you are wanting to accomplish?  If you are unsatisfied with DIAdem's automatic axis scaling, then you can apply your own algorithm-- do you know what approach would accomplish your scaling goals?

 

Brad Turpin

DIAdem Product Support Engineer

National Instruments

0 Kudos
Message 2 of 5
(4,800 Views)

Hallo Brad,

I´m fully satisfied with the Automatic Scaling itself.

 

My Problem is that I use a 2Y-Time Diagram in my Report (for all Channels the Same Report-Template) and that depending of the scaling 2 Objects have to move.

Like if my Left Y-Scale is from -2 to 0 to 2 the Object shall be closer to the diagram than if the Scale would be -1500 to 4500 for example.

 

So what I would like to do is taking the Auto-Scale algorithm and then read the numbers for TickStep, Min and Max

no matter if I read it out in the Report or in the script.

 

I hope u know what i mean and that it is possible. I work already on a autoscale algorithm by myself, but the NI algorithm is really nice already.

 

Thanks in advance and best regards

STG82

0 Kudos
Message 3 of 5
(4,790 Views)
Solution
Accepted by topic author STG82

Hi STG82,

 

You can reference the Y axes by either name or index-- here is the name method:

 

Dim Ystart(2), Ystop(2), Ystep(2)

Call PicUpdate
Call GraphObjOpen("2DAxis1")
  Call GraphObjOpen("2DAxis1_YAxis1")
    Ystart(1) = D2AxisYBegin
    Ystop(1)  = D2AxisYEnd
    Ystep(1)  = D2AxisYTick
  Call GraphObjClose("2DAxis1_YAxis1")
  Call GraphObjOpen("2DAxis1_YAxis2")
    Ystart(2) = D2AxisYBegin
    Ystop(2)  = D2AxisYEnd
    Ystep(2)  = D2AxisYTick
  Call GraphObjClose("2DAxis1_YAxis2")
Call GraphObjClose("2DAxis1")
Call PicUpdate

MsgBox Ystart(1) & vbTAB & Ystep(1) & vbTAB & Ystop(1) & vbCRLF & Ystart(2) & vbTAB & Ystep(2) & vbTAB & Ystop(2)

 

Brad Turpin

DIAdem Product Support Engineer

National Instruments

0 Kudos
Message 4 of 5
(4,782 Views)

Muchas de muchas Gracias.

Vielen Dank.

Thanks a lot.

 

That was exactly what I was looking for. In between i wrote an algorithm which is as exact as the DIAdem-Auto-Scale... but with just reading MIN MAX and TICK I´m more satisfied.

 

I tried a lot to read that numbers, but I didn´t get the right idea.

 

Thanks a lot

STG82

0 Kudos
Message 5 of 5
(4,770 Views)