Page 1 of 1

want adapted TeeChart 7.02 for surface with value

Posted: Tue Jul 22, 2008 1:02 pm
by 9340622
Dear friends,
some time ago I bought TeeChart 7.02.
Now I have a problem, which could be solved with your TeeChart.
I want to create a 3D suface with an attribute-value in the middle of the cell. (See PDF first file)
How can I adapt your source coude so that I have an array of values to draw the BASELINE in the middle of a surface cell.
If you would charge me some money, please tell me how much it would cost when you adapt the souce 7.02 (I have bought in the past from you) with that attribute-value for each cell.
Thanks a lot for your help.

http://festplatte.aon.at/a/filemanager. ... urface.pdf

This file shows the capabilities of Teechart 7.02 with the surface and the base line. http://festplatte.aon.at/a/filemanager. ... chart7.png

But my line should not be the line from the ground to the surface but from the surface up to a defined value. Like it is shown in the PDF (1st file).

Posted: Tue Jul 22, 2008 1:19 pm
by narcis
Hi wschrabi,

I'm sorry but we don't provide support for source code customizations. Anyway, I'll add your feature request to the wish-list to be considered for inclusion in future releases.

Also notice that latest v7 sources available at the client area is v7.12 release.

Regarding your technical inquiry, I can think of 2 options to achieve it using current TeeChart features:

1. Use TPoints3DSeries togheter with a TSurfaceSeries, for example:

Code: Select all

uses TeePoin3;

procedure TForm1.FormCreate(Sender: TObject);
var BaseLineSeries: TPoint3DSeries;
    i: Integer;
begin
  Series1.FillSampleValues();

  BaseLineSeries:=TPoint3DSeries.Create(self);
  BaseLineSeries.Pointer.Visible:=false;
  BaseLineSeries.BaseLine.Visible:=true;
  BaseLineSeries.LinePen.Visible:=false;

  Chart1.AddSeries(BaseLineSeries);

  for i:=0 to Series1.Count-1 do
  begin
    BaseLineSeries.AddXYZ(Series1.XValue[i], Series1.YValue[i], Series1.ZValue[i]);
  end;
end;
2. Custom draw the baseline:

Code: Select all

procedure TForm1.FormCreate(Sender: TObject);
begin
  Series1.FillSampleValues();
end;

procedure TForm1.Chart1AfterDraw(Sender: TObject);
var i: Integer;
begin
  for i:=0 to Series1.Count-1 do
  begin
    Chart1.Canvas.LineWithZ(Series1.CalcXPos(i), Chart1.ChartRect.Bottom,
                            Series1.CalcXPos(i), Series1.CalcYPos(i),
                            Series1.CalcZPos(i));
  end;
end;
If you want the baseline being plotted in the center of each cell you will need to perform some sort of interpolation as shown in the example here:

http://www.teechart.net/support/viewtopic.php?t=2828

Posted: Tue Jul 22, 2008 1:23 pm
by narcis
Hi wschrabi,
But my line should not be the line from the ground to the surface but from the surface up to a defined value. Like it is shown in the PDF (1st file).
Sorry but I misunderstood that. In that case, the only solution I can think of is that you create your own series style inheriting from TSurfaceSeries and add an additional ValueList for each cell baseline value. You'll also need to override surface's populating and drawing methods for supporting this.

tks

Posted: Tue Jul 22, 2008 1:47 pm
by 9340622
thank you, but what would you charge me, if you could program or adapt the source code to satisfy my problem? I have not the knowledge as you have, but I think you understand my demand. If you would add this wish to the furture realease of TeeChart, how long will it take to be released?
thanks anyway for your fast response.
walter

please give me a screenshot

Posted: Tue Jul 22, 2008 2:13 pm
by 9340622
Dear Narcis,
could you give me a screenshoot of your code when beeing plotted?
It would be easier for me to imagine the results.
Tks
Wschrabi