Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 962

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
На делфи написана библиотека для построения подшипника. Выходит форма, задаются параметры, подшипник рисуется. Но при изменении параметров подшипник перерисывывается, оставляя старую версию.Подскажите пожалуйста, как можно очищать старый чертеж что бы заного не подключать библиотеку?

Приложение:
  1. unit former;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7. Dialogs, StdCtrls, LDefin2D, ksConstTLB, ksAuto, ksTLB, ExtCtrls;
  8.  
  9. type
  10. TMainForm = class(TForm)
  11. Button1: TButton;
  12. Button2: TButton;
  13. LabeledEdit1: TLabeledEdit;
  14. LabeledEdit2: TLabeledEdit;
  15. LabeledEdit3: TLabeledEdit;
  16. LabeledEdit4: TLabeledEdit;
  17. LabeledEdit5: TLabeledEdit;
  18. LabeledEdit6: TLabeledEdit;
  19. LabeledEdit7: TLabeledEdit;
  20. LabeledEdit8: TLabeledEdit;
  21. procedure Button2Click(Sender: TObject);
  22. procedure Button1Click(Sender: TObject);
  23. private
  24. { Private declarations }
  25. public
  26. { Public declarations }
  27. end;
  28.  
  29. var
  30. MainForm: TMainForm;
  31. Kompas1: KompasObject;
  32. iDocument2D1: ksDocument2D;
  33. implementation
  34.  
  35. {$R *.dfm}
  36.  
  37. procedure TMainForm.Button2Click(Sender: TObject);
  38. begin
  39. close;
  40. end;
  41.  
  42. procedure TMainForm.Button1Click(Sender: TObject);
  43. var d,d1,db,Hb,h,r,dw,z:real;
  44. begin
  45. d:=strtofloat(labelededit1.text);
  46. d1:=strtofloat(labelededit2.text);
  47. db:=strtofloat(labelededit3.text);
  48. hb:=strtofloat(labelededit4.text);
  49. h:=strtofloat(labelededit5.text);
  50. dw:=strtofloat(labelededit7.text);
  51. r:=strtofloat(labelededit6.text);
  52. z:=strtofloat(labelededit8.text);
  53. Kompas1 := KompasObject(CreateKompasObject);
  54.  
  55. iDocument2D1 := ksDocument2D(Kompas1.ActiveDocument2D());
  56.  
  57. iDocument2D1.ksLineSeg(hb/2,-(db/2-r),hb/2,(db/2-r),1);
  58. iDocument2D1.ksLineSeg(hb/2-h,-(db/2-r),hb/2-h,(db/2-r),1);
  59. iDocument2D1.ksArcByAngle (hb/2-r,(db/2-r),r, 0, 90, 1,1);
  60. iDocument2D1.ksArcByAngle (hb/2-h+r,(db/2-r),r, 90, 180, 1,1);
  61. iDocument2D1.ksArcByAngle (hb/2-r,-(db/2-r),r, 270, 360, 1,1);
  62. iDocument2D1.ksArcByAngle (hb/2-h+r,-(db/2-r),r, 180, 270, 1,1);
  63. iDocument2D1 := nil;
  64. Kompas1 := nil
  65. end;
  66.  
  67. end.
  68.  


Pomeha Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задала: Pomeha (статус: Посетитель)
Вопрос отправлен: 25 февраля 2012, 12:35
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 26 февраля 2012, 18:23; участников в обсуждении: 1.
Ерёмин А.А.

Ерёмин А.А. (статус: *Администратор), 26 февраля 2012, 18:23 [#1]:

Например, создавать новый документ типа ksDocument2D методами KompasObject. Там это довольно просто делается.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:59
Выполнено за 0.02 сек.