Anda di halaman 1dari 44

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE

AutoCAD. Automatyzacja zada


grafiki za pomoc Delphi
Autorzy: Wojciech Czyycki, Edward Lisowski
ISBN: 83-7197-682-8
Format: B5, stron: 254
Zawiera CD-ROM

ZAMW DRUKOWANY KATALOG

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl

Obecnie dokumentacja techniczna jest uywana i przetwarzana najczciej w formie


elektronicznej. Do zapisu konstrukcji stosuje si rnorodne programy CAD. Moliwoci
wyboru jednego spord nich s due, jednake dla osignicia wydajnej pracy
programy te trzeba odpowiednio dostosowa do okrelonych potrzeb. Jednym ze
sposobw takiego dostosowania jest opracowanie specjalistycznych aplikacji
pozwalajcych na automatyzacj procesu projektowania, np. w AutoCAD-zie. Program
ten ma wbudowany interfejs automatyzacji OLE, ktry pozwala oddziaywa w sposb
programowy na proces tworzenia rysunku.
Ksika powstaa w wyniku opracowania przez autorw (na potrzeby wasne i innych
uytkownikw) aplikacji do wspomagania projektowania w AutoCAD-zie. Jest ona
adresowana do inynierw, studentw i innych uytkownikw tego programu. Ksika
zawiera wiele kodw, ktre mona bezporednio uruchomi i wykorzysta w swojej
pracy projektowej. Uycie wikszoci kodw znajdujcych si na pycie CD wymaga
jedynie przeprowadzenia instalacji. Uytkownik posiadajcy pewne umiejtnoci
programowania w Delphi moe je rozbudowa lub adaptowa do swoich celw.
Nawet zaawansowane aplikacje przedstawione w ksice s atwe do uruchomienia
i bezporedniego uycia. Bardzo przydatne dla projektanta mog by programy do
automatycznego rysowania pocze wpustowych w poczeniu z automatycznymi
obliczeniami, wspomagajce rysowanie oznacze pocze spawanych czy
automatyzujce generowanie elementw pocze rubowych.
Ksika adresowana jest do inynierw, studentw i innych uytkownikw
posiadajcych wiedz na temat programu AutoCAD. Uycie wielu programw
zaczonych na pycie CD wymaga jedynie przeprowadzenia instalacji. Praca zawiera
kod wielu programw do bezporedniego wykorzystania. Uytkownik posiadajcy
pewne umiejtnoci programowania w Delphi moe programy te rozbudowa lub
adaptowa do swoich celw.
W podrczniku zamieszczono te fragmenty kodw programw, ktre wymagaj
wyjanie (komentarza), kompletny kod przedstawionych programw znajduje si na
zaczonej do pracy pycie CD.

Przedmowa ...................................................................................... 5
Rozdzia 1. Wstp ............................................................................................... 7
Automatyzacja........................................................................................................... 7
Struktura klienta automatyzacji................................................................................. 8
Klasy i obiekty .......................................................................................................... 9

Rozdzia 2. Interfejs automatyzacji OLE programu AutoCAD 2000 .................. 11


Obiekty interfejsu automatyzacji OLE.................................................................... 13
Kolekcja Blocks ...................................................................................................... 13
Obiekt Block ........................................................................................................... 14
Obiekt ModelSpace ................................................................................................. 15
Nawizanie poczenia z serwerem OLE i ustawienia pocztkowe ................................17
Translacja wsprzdnych ................................................................................................18
Metody generowania podstawowych elementw rysunku...............................................18

Wybrane metody modyfikacji obiektw................................................................. 38


Wybrane skadniki obiektu Document i kolekcji Documents ................................ 48
Kolekcja Dictionaries, obiekty Dictionary i XRecord .....................................................53
Kolekcja DimStyles i obiekt DimStyle ............................................................................57
Kolekcja Layers i obiekt Layer ........................................................................................58
Kolekcja Linetypes i obiekt Linetype ..............................................................................60
Kolekcje Groups i SelectionSets oraz obiekty Group i SelectionSet...............................61
Kolekcja TextStyles i obiekt TextStyle............................................................................65
Kolekcja UserCoordinateSystems i obiekt UCS..............................................................68
Obiekt Utility ...................................................................................................................69
Ustalanie aktywnych waciwoci obiektu Document .....................................................75

Paski menu i paski narzdziowe ............................................................................. 76


Kolekcja MenuGroups i obiekt MenuGrup......................................................................76
Kolekcje MenuBar i PopUpMenu oraz obiekt PopUpMenuItem ....................................76
Kolekcja Toolbars oraz obiekty Toolbar i ToolbarItem...................................................78

Rozdzia 3. Przykady aplikacji ......................................................................... 83


Przygotowanie dokumentu dodawanie warstw i typw linii ............................. 83
Generowanie skadnikw rysunkowych ................................................................. 86
Rysowanie otworw wedug zadanych wsprzdnych...................................................86
Umieszczanie skadnikw na ustalonej warstwie ............................................................89

Bloki skadnikw..................................................................................................... 92
Atrybuty blokw ..................................................................................................... 97
Kreskowania............................................................................................................ 98
Dziaania na obiektach rysunku ............................................................................ 103
Rysunki 3D............................................................................................................ 109

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi


Linia rubowa krzywe sklejane........................................................................ 117
Generowanie powierzchni 3D............................................................................... 121

Rozdzia 4. Zdarzenia ..................................................................................... 127


Dostp do obsugi zdarze biblioteki typw.................................................... 127
Importowane biblioteki typw .......................................................................................127
Nawizanie poczenia z obiektami interfejsu OLE
przy uyciu moduu importowego ...............................................................................129

Obsuga zdarze programu AutoCAD .................................................................. 130

Rozdzia 5. Aplikacje dla mechanikw............................................................ 139


Oznaczenia pocze spawanych .......................................................................... 139
Elementy pocze rubowych.............................................................................. 157
Obliczenia i rysowanie poczenia wpustowego .................................................. 179
Dobr i generowanie rysunkw profili zamknitych prostoktnych
na podstawie oblicze wytrzymaociowych...................................................... 190
Przetwarzanie informacji zapisanych w tabelce rysunku ..................................... 194
Automatyzacja rysowania schematw pneumatycznych i hydraulicznych .......... 196

Literatura ......................................................................................................... 201


Polskie Normy....................................................................................................... 202

Dodatek A Wykaz metod, zdarze i waciwoci interfejsu


automatyzacji OLE programu AutoCAD 2000............................... 203
Dodatek B Programy na pycie CD................................................................... 24
Skorowidz......................................................................................................... 251

W tym rozdziale przedstawiono zaawansowane programy wykorzystujce techniki programowania obiektowego, korzystajce z klas i dziedziczenia, posugujce si relacyjnymi bazami danych i jzykiem SQL. Podjte zadania dotycz automatyzacji:
oznaczania i generowania symboli pocze spawanych,
pocze rubowych przy zastosowaniu dziedziczenia do opisu rodzin elementw,
obliczenia i rysowania poczenia wpustowego,
doboru i generowania rysunkw profili zamknitych prostoktnych na podstawie
oblicze wytrzymaociowych, wyznaczanie linii wpywowej ugi dla dobranej belki,
przetwarzania informacji zapisanych w tabelce rysunku z automatycznym przesaniem
ich do arkusza kalkulacyjnego MS Excel,
rysowania schematw pneumatycznych i hydraulicznych.

Oznaczenia pocze spawanych


Przy projektowaniu konstrukcji spawanych niezbdne jest okrelenie wielu parametrw
dla zcza oraz narysowanie odpowiedniego symbolu na rysunku. W konstrukcji, w ktrej
wystpuje wiele rnego typu spoin, zautomatyzowanie procesu opisu zcza spawanego
moe znacznie uatwi wykonanie dokumentacji rysunkowej. Symbol oznaczenia buduje si z rnych skadnikw zdefiniowanych w przedmiotowej normie. Zautomatyzowanie opisu spoin zrealizowano programowo w ten sposb, e uytkownik w oknie
dialogowym wybiera waciwoci i parametry spoiny. W trakcie tej czynnoci w oknie
pojawia si automatycznie rysunek symbolu spoiny z oznaczeniami, ktre uytkownik
wprowadza. Po interaktywnym uzgodnieniu oznaczenia zcza spawanego skomponowany symbol jest generowany w programie AutoCAD we wskazanym miejscu na aktywnym rysunku. Symbole oznacze mog by rwnie wyeksportowane do pliku wmf.
Program nazwano PolSpaw, formatk tego programu przedstawiono na rysunku 5.1.
Umieszczono na niej nastpujce komponenty:
przyciski z ikonami  ,
grupy przyciskw
  ,
znaczniki ,
okienka edycji  ,
przyciski zmiany wartoci  ,

140

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi

Etykieta wymiaru
poprzecznego spoiny
(Label1:TLabel)

Formatka
(Form1:TForm)

Obramowanie
podgldu spoiny
(Panel1:TPanel)

Podgld spoiny
(Image1:TImage)

Etykieta
wymiaru
wzdunego
spoiny
(Label2:TLabel)

Okienko edycji
wymiaru
wzdunego
spoiny
(Edit2:TEdit)

Wybr pooenia linii


identyfikacyjnej
(RadioButton1:
TRadioButton)

Wybr spoiny dooklnej


(CheckBox1:TCheckBox)

Okienko edycji
wymiaru
poprzecznego
spoiny
(Edit1:TEdit)

Wybr pooenia wymiaru


(RadioGroup2:
TRadioGroup)

Obramowanie
elementw wyboru
znakw dodatkowych
(GroupBox:
TGroupBox)

Wybr ksztatu lica spoiny


(RadioGroup3:
TRadioGroup3)
Wybr spoiny
wyk. w montau
(CheckBox2:TCheckBox)
Wybr znaku
dodatkowego dolnego
(RadioGroup4:
TRadioGroup4)
Okienko wprowadzania nr
pozycji
(Edit3:TEdit)

Przyciski zmiany nr poz.


(UpDown1:TUpDown)
Przycisk zapisu
do pliku WMF
(Button3:TButton)
Przycisk
zamknicia
programu
(Button2:TButton)
Obramowanie
obszaru wyboru
rodzaju spoiny
(Form1:TForm)

Etykieta okienka
technologii
(Label4:TLabel)

Przyciski wyboru
rodzaju spoiny
SpeedButton1..15:
TSpeedButton

Etykieta okienka
nr poz.
(Label3:TLabel)

Okienko wyboru technologii


(ComboBox1:TComboBox)

Dialog zapisu pliku WMF


(SaveDialog1:TSaveDialog)

Wybr programu CAD


(RadioGroup5:
TRadioGroup)

Przycisk uruchamiania procedury


rysowania w programie CAD
(Button1:TButton)

Rysunek 5.1. Formatka programu PolSpaw

obramowania grup ,


ramk  ,
etykiety tekstowe  ,
ilustracj  ,
dialog zapisu   ,
przyciski bez ikon  .
Opracowano take wymienione niej moduy:
OznaczFrm do obsugi formatki i interaktywnego ustawiania waciwoci spoiny,

Rozdzia 5. K Aplikacje dla mechanikw

141

SpoinaSpaw do przechowywania ustawie spoiny i aktualizacji podgldu oznaczenia


na formatce,
RysSpoina do zgromadzenia procedur rysowania oznaczenia spoiny w programach
CAD.
Komponentom zgromadzonym na formatce programu PolSpaw nadano odpowiednie
ustawienia. Tabela 5.1 zawiera zestawienie tych ustawie, ktre s rne od ustawie
domylnych komponentw.
Tabela 5.1.
Ustawienia komponentw programu PolSpaw

Obiekt

Waciwoci

Zdarzenia

Nazwa

Warto

Nazwa

Metoda

Caption

Oznaczenie spoiny

OnCreate

FormCreate

BorderStyle

bsSingle

OnDestroy

FormDestroy

biMaximize

False

Autosize

False

Panel1

BevelOuter

byLowered

Image1

Align

alClient

Caption

Wymiar
charakterystyczny
przekroju
poprzecznego spoiny

Label2

Caption

Wymiar
charakterystyczny
przekroju wzdunego
spoiny

Label3

Caption

Nr pozycji

Label4

Caption

Metoda spawania
OnChange

Edit1Change

OnChange

Edit2Change

OnChange

Edit3Change

Form1

Label1

Text
Edit1
MaxLength

Text
Edit2
MaxLength

Text

Associate

Edit3

Max

999

Button1

Caption

Rysuj

OnClick

Button1Click

Button2

Caption

Zakocz

OnClick

Button2Click

Edit3
UpDown1

142

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi

Tabela 5.1.
Ustawienia komponentw programu PolSpaw cig dalszy

Obiekt

Waciwoci

Zdarzenia

Nazwa

Warto

Nazwa

Metoda

Button3

Caption

Zapisz WMF

OnClick

Button3Click

CheckBox1

Caption

Dooklna

CheckBox2

Caption

W montau
OnChange

Edit3Change

Text
ComboBox1
Style

csDropDownList

GroupBox1

Caption

Znaki dodatkowe

GroupBox2

Caption

Rodzaj spoiny

RadioGroup1

Caption

Linia identyfikacyjna

OnClick

RadioGroup1Click

OnClick

RadioGroup2Click

OnClick

RadioGroup3Click

OnClick

RadioGroup4Click

powyej linii odn.


Items.Strings
poniej linii odn.
ItemIndex

Caption

Pooenie znaku
powyej linii odn.

RadioGroup2

Items.Strings
poniej linii odn.
ItemIndex

Caption

Ksztat lica
brak
paska
wklsa

RadioGroup3

Items.Strings
wypuka
usunicie nadlewu
usunicie karbw
ItemIndex

Caption

Znaki dodatkowe
brak

RadioGroup4

Items.Strings

peny przetop
podkadka

ItemIndex

Rozdzia 5. K Aplikacje dla mechanikw

143

Tabela 5.1.
Ustawienia komponentw programu PolSpaw cig dalszy

Obiekt

Waciwoci

Zdarzenia

Nazwa

Warto

Nazwa

Metoda

Caption

Wybierz program

OnClick

RadioGroup5Click

OnClick

SpeedButton1Click

OnClick

SpeedButton1Click

OnClick

SpeedButton1Click

OnClick

SpeedButton1Click

OnClick

SpeedButton1Click

OnClick

SpeedButton1Click

OnClick

SpeedButton1Click

OnClick

SpeedButton1Click

OnClick

SpeedButton1Click

OnClick

SpeedButton1Click

AutoCAD
RadioGroup5

Items.Strings
interCAD
ItemIndex

DefaultExt

wmf

Filter

*.wmf|*.wmf

Hint

Spoina brzena
przetop cakowity

GroupIndex

Hint

Spoina brzena
przetop czciowy

GroupIndex

Hint

Spoina I

GroupIndex

Hint

Spoina grzbietowa

GroupIndex

Hint

Spoina V

GroupIndex

Hint

Spoina 1/2 V

GroupIndex

Hint

Spoina Y

GroupIndex

Hint

Spoina 1/2 Y

GroupIndex

Hint

Spoina U

GroupIndex

Hint

Spoina 1/2 U (J)

GroupIndex

SaveDialog1

SpeedButton1

SpeedButton2

SpeedButton3

SpeedButton4

SpeedButton5

SpeedButton6

SpeedButton7

SpeedButton8

SpeedButton9

SpeedButton10

144

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi

Tabela 5.1.
Ustawienia komponentw programu PolSpaw cig dalszy
Waciwoci

Obiekt

Zdarzenia

Nazwa

Warto

Nazwa

Metoda

Hint

Spoina pachwinowa

OnClick

SpeedButton1Click

GroupIndex

Hint

Spoina otworowa
poduna

OnClick

SpeedButton1Click

GroupIndex

Hint

Spoina otworowa
okrga

OnClick

SpeedButton1Click

GroupIndex

Hint

Bezotworowa
punktowa

OnClick

SpeedButton1Click

GroupIndex

Hint

Bezotworowa liniowa

OnClick

SpeedButton1Click

GroupIndex

SpeedButton11

SpeedButton12

SpeedButton13

SpeedButton14

SpeedButton15

Obsuga elementw formatki umieszczona jest w module OznaczFrm.




 



 
     
    ! "#
 !  

 


$%#&'()*+*%) '

 
, -& 

., /
"#-0,"#

"#10,"#

#" -0,#"

2" -0,2"

2" 10,2"

*-0,*

+ -0,+ 

! #-0,! #

34-0,34

 -0, 

3410,34

 10, 

! #10,! #

"#50,"#

6 -0,6 

 4" -0, 4"

3450,34

3470,34

Rozdzia 5. K Aplikacje dla mechanikw


 50, 

-0,

! #50,! #

! #70,! #

#" 10,#"

 "#-0, "#

 "#10, "#

 "#50, "#

 "#70, "#

 "#80, "#

 "#90, "#

 "#:0, "#

 "#;0, "#

 "#<0, "#

 "#-=0, "#

 "#--0, "#

 "#-10, "#

 "#-50, "#

 "#-70, "#

 "#-80, "#

  "#1 2. 0,4>/

  2" - 2. 0,4>/

  2" 1 2. 0,4>/

   . 0,4>/

  ! #- 2. 0,4>/

   -. 0,4>/

   1. 0,4>/

  ! #1 2. 0,4>/

   5. 0,4>/

  "#5 2. 0,4>/

  ! #7 2. 0,4>/

  ! #5 2. 0,4>/

  "#- 2. 0,4>/

   "#- 2. 0,4>/

   . 0,4>/




 -0, -

 0, 

!0,! 

  


*?#?


 , -@"#1 2. 0,4>/

     
?  @, 



 , -@2" - 2. 0,4>/

! "!#!    $% &


 @20&2" -@2



 , -@2" 1 2. 0,4>/

! "!#!      &



 @ #0&2" 1@2



 , -@ . 0,4>/


 0&, @

   & % & "
'
 @ 0&+ -@ 
  "     
 @A 0&+ -@A 

145

146

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi


 @  !0&+ -@6

 4" -@+ @3   .' @'/


%

   
 


" &  
!0&,! @

!@!%0&A%BC!!$,C!

!@%.$%#,#/


.   .!@!  .' '//
, "#/@0&,#

 "#-@ 2.   .!@!  .' '//

, "#/

  
 "#-@0&,#

 "#-@ 2. "#-/




!@



 -@, 0&''


 1@, 0&''

  !
 
$
 -@. -/
 1@. -/



 , -@! #- 2. 0,4>/

   % 


( & &
! #-@+ +  &=
 @  3 +0&,#


 @  3 +0&



 , -@ -. 0,4>/

 
)      
 @D  *0& -@, 



 , -@ 1. 0,4>/

 
)     
 @D   0& 1@, 



 , -@! #1 2. 0,4>/


    
! #1@+ +  &=
 @  D20&,#


 @  D20&



 , -@ 5. 0,4>/

!   %  


  &
* % 
.,+. 5@, /E=/ . 4" -@, FE''/
 @!  0&,#



 @!  0&

 @$*0&,+. 5@, /

 @, 0&. 4" -@, -*.'' 4" -@, /G-/



 , -@"#5 2. 0,4>/

   "%  %(


6 -@ #
 @6, .6 -@ $ /



 , -@! #7 2. 0,4>/


  
 %  

Rozdzia 5. K Aplikacje dla mechanikw


 @D 0&! #7@+ + 



 , -@! #5 2. 0,4>/


  
  $  
 @D 0&! #5@+ + 



 , -@"#- 2. 0,4>/

 & !         +,



!0&,? @

?  @  

.$H+ .? //    ! ! 


!@!#> 


!@



?  @!



 , -@ "#- 2. 0,4>/

   &   


 ) 
   
 & "#- @D20&-

 & "#1 @D20&1

 & "#5 @D20&5

 & "#7 @D20&7

 & "#8 @D20&8

 & "#9 @D20&9

 & "#: @D20&:

 & "#; @D20&;

 & "#< @D20&<

 & "#-= @D20&-=

 & "#-- @D20&--

 & "#-1 @D20&-1

 & "#-5 @D20&-5

 & "#-7 @D20&-7

 & "#-8 @D20&-8

 @! 4 (


    "%  


 , -@ . 0,4>/


 0+


    % 
!0&,! @

!@!%0&A%BC!!$,C!

!@%.$%#,#/

 0&=

 % ) 


     

 F # 
 I J
, "#
. I J
, "#/@
!@   .' ' I J@$ /

 0& #



+. /




!@

 @

147

148

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi






 
 
%  " 
# .  *.?  @ $ //

@

Ustawienia uproszczonego symbolu spoiny przechowywane s w polach klasy 


zdefiniowanej w module SpoinySpaw. Klasa  zawiera rwnie metody automatycznego rysowania podgldu symbolu spoiny. Sekcja !  moduu SpoinySpaw
przedstawia si nastpujco:
 

 



  

 
( & % -'  *&!&
     
  &!&
 

   &! "%   
   "   
    &  
, & 

.,( /
   
 (0,( 6

3 0,

"0,

D20+

20"

 #0"

 == 3 + D , D2D2  0+

*0+

  3 +0"

D  *0 

D   0 

!  0"

  D20"

=D2#0+

$*0+

, 0 

D 0+

D 0+


     "% " 
  !D2

  !2

  ! #

  !!  

  !3 +

  !D  

  !$*,

  !D 

  !D 



   ))
  D2.H#0+/

  2.H#0"/

   #.H#0"/

  *.H#0+/

    3 +.H#0"/

  D  *.H#0 /

  D   .H#0 /

  !  .H#0"/

Rozdzia 5. K Aplikacje dla mechanikw

149

    D2.H#0"/

  =D2#.H#0+/

  $*.H#0+/

  , .H#0 /

  D .H#0+/

  D .H#0+/

   


  ?!. 2220#4/

  *>D2

 

  !0,6

   D20+D2D2

   20"22

    #0" # #

   D 0+D D 

   !  0"!  !  

   *0+**

     D20"  D2  D2

   =D2#0+=D2#=D2#

     3 +0"  3 +  3 +

   D  *0 D  *D  *

   D   0 D   D  

   $*0+$*$*

   , 0 , , 

   D 0+D D 

  ! 4 (

 
 
  




  
@@@
@

Procedury rysowania symbolu spoiny w programie AutoCAD zgromadzone s w klasie


" zdefiniowanej w module RysSpoina.
! 

       "%  %   $,


+,

%  .       "%%  *
  $+,  *
 (& /01,
 
 



*?#??  3  

 
2% -+,'   
     "%     *+,
,? & 

   
 == ==3 +D2=D2#,* D
D2 %0#4

* %%+%D20+

? 4>03H 

   *

  ! 4?

  !2?

  !D2?

  !D2 ?

  !D2 ?

 

150

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi


 
  


  

 

  !#> 




!0,? 

  



   



$ &'3 '


  ,? @

  "

  !


*0&1
 0&G-
0&5@8
3 +0&-K5L

D20&
 D0&1LM=@:-LL3. @D  */

D2 0&3 +

 @  3 +


%+0&

%+0&G-

 @  D2


%D20&

%D20&G-

%  
( &    *
 *
 @  D2& @  3 +
=D2#0&%D2L.3 +M=@-L/

D2 0&=




=D2#0&%D2L=@-L
 "

 %  % !
D2 0&%+L3 +



    


* %  
. @, FE''/. @$*E=/
,0&G
*0&




,0&=
*0&=



!   


*D? &)% ! ! 
D >  

(  #> 

 >,3 

      


 
& 
 3+ >.$ /&)%  "
? @3@? .$ /


  
 &

?2 0&? @3@+ .$ /

? @? 630&?2 

? @? 63@0&!

  







  ,? @

Rozdzia 5. K Aplikacje dla mechanikw


   "
   
3
 H+ .? /
*  
&)%! ,
+," ! 




 ,? @ *

"% 3$ "%  


 =E =  $     
%0&-
 D0& D



  $    %
%0&G-
 D0&%L.G D/



D20&%D2LD2

  !


%   &!&  
%0&.. =G =/KN.N. =G =/MN.=G=///

=E=45.

%0&1L* G%



 ,? @!#> 

  &       %


! 4?



 ,? @! 4?


 2*20H 

    "%  


  
$  
! (      ). $
0&7LML.3. @D  */M3. @D   //

 D0&1LML3. @D  */

 2*20&H?.I=1J6#4/
"  
$
 2*20&? @  @* .' 2OPO P2 '/

 =0& 2*2I=J


=0& 2*2I-J

 2*20&? @  @* .' 2OPO QP2  4#'/

 =0& 2*2I=J


=0& 2*2I-J

 *

? @? 3 .1. ==/1. ==//

!2?
   
 
? @? 3 .1. ==/1. =M%L=//
$
%  
( &
? 4>0&? @? 3 .1. =M%L-K1L=M%+L3 +/
1. =M%L=M%+L3 +//

? 4>@3 ,0&'A+$'

!D2?
    
   
%D2E= $!
? @? , . @D  *1. =M DGL
.3. @D  */M-@8/=M-@-L=D2#//

? @? , . @D   1. =M DM1L=M-@-L=D2#//



 $!
? @? , . @D  *1. =M DGL
.3. @D  */M-@8/=M-@-L=D2#G//

? @? , . @D   1. =M DML


.3. @D  */G-@8/=M-@-L=D2#G//



!D2 ?
 
% 
!D2 ?
 
% 

151

152

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi


 @2  $%
? @?  .1. ==/-K5L/

 @ #* ! 


? @? 3 .1. ==/1. ==M1L//

? @? 3 .1. ==M1L/1. =G%LL.* K-1/


=M1LGL .* K9///

? @? 3 .1. ==M/1. =G%LL.* K-1/


=M1LGL .* K9///



 % %    


. @, FE''/ . @$*E=/
? @? 3 .1. =M%L=/1. =M%L
.ML.* K7//=ML .* K7///

? @? 3 .1. =M%L=/1. =M%L


.ML.* K7//=GL .* K7///



%E=  


* %  
. @, FE''/
? @? , . @, 1. =M%L.M/=M,GK1//

 @$*E= &


? @? , .+,. @$*/1. =M%L.M/
=M*G/-@7L/




. @, FE''/
? @? , . @, 1. =M%L
.ML3. @, //=M,GK1//

 @$*E= &


? @? , .+,. @$*/1. =M%L
.MML3.+,. @$*///=M*G/-@7L/



  
?  @!

.'* 2  #2#P 'M


R-5M'2Q P#SPT  3'MR-5M
R-5M'    #OQU@' I 4%J=/





 ,? @!2?

   
  "%  
? @? 3 .1. ==/1. =MK.* K17/L
.%M* K17/=MK.* K17/L .%M* K17///

? @? 3 .1. ==/1. =MK.* K17/L


.%G* K17/=MK.* K17/L .%G* K17///

? @? 3 .1. =MK.* K17/L.%M* K17/


=MK.* K17/L .%M* K17//1. =MK.* K17/L
.%G* K17/=MK.* K17/L .%G* K17///



 ,? @!D2?

        &  


  D2+

         67


  
&%  
? @?  .1. =M DGK7=MD2M=D2#/
1. =M DGK7=M=D2#//

? @?  .1. =M DMK7=MD2M=D2#/


1. =M DMK7=M=D2#//



  D2* 

Rozdzia 5. K Aplikacje dla mechanikw


         
 &
? @?  .1. =M DG=M=D2#/
1. =M DG=M=D2#MD2//

? @?  .1. =M DG=M=D2#MD2/


1. =M DM=M=D2#MD2//

? @?  .1. =M DM=M=D2#/1. =M DM=M=D2#MD2//

? @?  .1. =M DG=M=D2#/1. =M DM=M=D2#//




 
 @D2 
-04 ' "     
 
  
? @?  .1. =M DG=@1L=MD2M=D2#/
1. =M DG=@1L=M=@8LD2M=D2#//

? @?  .1. =M DM=@1L=MD2M=D2#/


1. =M DM=@1L=M=@8LD2M=D2#//

 @  D2 % )   


? @? ?.1. =M DG=@:L=M=D2#M=@8LD2/
=@8L5K1L* 1L* /

? @? ?.1. =M DM=@:L=M=D2#M=@8LD2/


=@8L* 5K1L* /




? @? ?.1. =M DG=@:L=M=D2#M=@8LD2/
=@8L=* K1/

? @? ?.1. =M DM=@:L=M=D2#M=@8LD2/


=@8L* K1* /





10D2+
' "    
 
 ).
50D2+
' 6
70D2+
'  "

804 ' 8
? @?  .1. =M DGKN.5/=MD2M=D2#/
1. =M D=M=D2#//

? @?  .1. =M D=M=D2#/


1. =M DMKN.5/=MD2M=D2#//



904 ' 9:8


? @? 3 .1. =M DGK1=MD2M=D2#/
1. =M DGK1=M=D2#//

? @? 3 .1. =M DGK1=M=D2#/


1. =M DGK1ML.* K7/=MD2M=D2#//



:04 ' ;
? @? 3 .1. =M D=M-K5LD2M=D2#/
1. =M D=M=D2#//

? @? 3 .1. =M DGN.5/=MD2M=D2#/


1. =M D=M=D2#M-K5LD2//

? @? 3 .1. =M D=M=D2#M-K5LD2/


1. =M DMKN.5/=MD2M=D2#//



;04 ' 9:;


? @? 3 .1. =M DGK1=MD2M=D2#/
1. =M DGK1=M=D2#//

? @? 3 .1. =M DGK1=M=D2#M-K5LD2/


1. =M DGK1ML.* K7/=MD2M=D2#//



<04 ' <

153

154

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi


? @? 3 .1. =M D=M-K7LD2M=D2#/
1. =M D=M=D2#//

 @  D2


? @? ?.1. =M D=MD2M=D2#/5K7L* 1L* /


? @? ?.1. =M D=MD2M=D2#/5K7L=* /



-=04 ' 9:<


? @? 3 .1. =M DG5K;L=MD2M=D2#/
1. =M DG5K;L=M=D2#//

 @  D2


? @? ?.1. =M DG5K;L=MD2M=D2#/
5K7L5K1L* 1L* /


? @? ?.1. =M DG5K;L=MD2M=D2#/
5K7L=* K1/



--04 '  * 


? @? 3 .1. =M DGK1=MD2M=D2#/
1. =M DGK1=M=D2#//

? @? 3 .1. =M DGK1=M=D2#/


1. =M DMK1=M=D2#//

? @? 3 .1. =M DMK1=M=D2#/


1. =M DGK1=MD2M=D2#//



-10D2* 
' 
-50D2* 
' 
   ! 
-70' "
   

? @?  .1. =M D=MD2K1M=D2#/K1/

-804 ' "


  % 
? @? 3 .1. =M DG5K7L=M7K9LD2M=D2#/
1. =M DM5K7L=M7K9LD2M=D2#//

? @? 3 .1. =M DG5K7L=M1K9LD2M=D2#/


1. =M DM5K7L=M1K9LD2M=D2#//

? @?  .1. =M D=MD2K1M=D2#/K1/







 ,? @!D2 ?

    


 %  

 @D  
=0
"  
-0  

? @? 3 .1. =M DGL.* K9/=MD2 /
1. =M DML.* K9/=MD2 //

 @  D2


? @? ?.1. =M D=MD2 MD2K1/:K9L* --K9L* /


? @? ?.1. =M D=MD2 MD2K1/* K98K9L* /



10 
? @? 3 .1. =M DGK1=MD2 /
1. =M DMK1=MD2 //

? @? 3 .1. =M DMK1=MD2 /


1. =M DMK1=MD2 GD2K1//

? @? 3 .1. =M DMK1=MD2 GD2K1/


1. =M DGK1=MD2 GD2K1//

? @? 3 .1. =M DGK1=MD2 GD2K1/

Rozdzia 5. K Aplikacje dla mechanikw


1. =M DGK1=MD2 //







 ,? @!D2 ?

    


  $  
 @D2FE--%    *  * 
 
 @D  
=0
" 
-04  
? @? 3 .1. =M DGK1=M=D2#M-@1LD2/
1. =M DMK1=M=D2#M-@1LD2//



104 % 
 @  D2
? @? ?.1. =M D=M=D2#M:K7LD2/K18K7L* :K7L* /


? @? ?.1. =M D=M=D2#M:K7LD2/K1* K75K7L* /



504 
 @  D2
? @? ?.1. =M D=M=D2#M5K7LD2/K1* K75K7L* /


? @? ?.1. =M D=M=D2#M5K7LD2/K1
8K7L* :K7L* /



704    %   $  * !"  


? @? 3 .1. =M DGK1=M=D2#M8K7LD2/
1. =M DMK1=M=D2#M8K7LD2//

? @?  .1. =M D=M=D2#M8K7LD2MD2K7/K7/



804   


3 "$=
 =
? @? 3 .1. =M D=M=D2#M<K7LD2/
1. =M D=M=D2#M9K7LD2//

 @  D2


? @? ?.1. =M DM-K7L=M=D2#M9K7LD2/K7* 1L* /

? @? ?.1. =M DG-K7L=M=D2#M9K7LD2/K7* 1L* /




? @? ?.1. =M DM-K7L=M=D2#M9K7LD2/K7=* /

? @? ?.1. =M DG-K7L=M=D2#M9K7LD2/K7=* /







%    * &   &   
 
 @D  
=0
" 
-04  
? @? 3 .1. =M DG.K1GK1L.* K7//=M=D2#
M5K1LD2L .* K7//1. =M DG.K1G5K1LL.* K7//
=M=D2#MD2K1L .* K7///



104 % 
 @  D2
? @? ?.1. =M DGK1M5K1LL.* K7/
=M=D2#M5K1LD2L .* K7//K1* 5K1L* /


? @? ?.1. =M DGK1M5K1LL.* K7/

155

156

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi


=M=D2#M5K1LD2L .* K7//K1* K1* /



504 
 @  D2
? @? ?.1. =M DGK1MK1L.* K7/
=M=D2#MD2K1L .* K7//K1=* K1/


? @? ?.1. =M DGK1M-K1LL.* K7/
=M=D2#M-K1LD2L .* K7//K15K1L* 1L* /



704    %   $  * !"  


? @? 3 .1. =M DG.K1GK1L.* K7//
=M=D2#M5K1LD2L .* K7//1. =M DG
.K1G5K1LL.* K7//=M=D2#MD2K1L .* K7///

? @?  .1. =M DGK1M8K7LL.* K7/


=M=D2#M8K7LD2L .* K7//K7/



804   


3 "$
? @? 3 .1. =M DG.K1G1LL.* K7//
=M=D2#M1LD2L .* K7//1. =M DG
.K1G8K7LL.* K7//=M=D2#M8K7LD2L .* K7///

 @  D2


? @? ?.1. =M DGK1ML.* K7/
=M=D2#M5K1LD2L .* K7//K75K7L* :K7L* /

? @? ?.1. =M DGK1M5K1LL.* K7/


=M=D2#MD2L .* K7//K75K7L* :K7L* /




? @? ?.1. =M DGK1ML.* K7/
=M=D2#M5K1LD2L .* K7//K7* K78K7L* /

? @? ?.1. =M DGK1M5K1LL.* K7/


=M=D2#MD2L .* K7//K7* K78K7L* /









@

Rysunek 5.2.
Okno programu
PolSpaw przy pracy
w programie AutoCAD

Rozdzia 5. K Aplikacje dla mechanikw

157

Elementy pocze rubowych


Przy projektowaniu urzdze czsto stosuje si poczenia gwintowe. Istnieje wiele ich
odmian przystosowanych do rnych zastosowa. Korzystna jest automatyzacja wykonywania rysunkw i doboru tych elementw. Majc na uwadze okrelon firm czy te
projektowanie konkretnych urzdze, mona programowo przygotowa selekcj elementw, preferujc ich unifikacj. Przedstawiony w tym punkcie przykad dotyczy automatycznego generowania rysunkw elementw pocze rubowych wraz z atrybutami przechowujcymi informacje o ich oznaczeniach.
Przy budowie programu PolaczGwint do opisu elementw pocze rubowych zastosowano podejcie obiektowe z wykorzystaniem dziedziczenia i metod abstrakcyjnych.
Dziki tym technologiom uzyskano wiksze moliwoci programu w zakresie kompletacji poczenia.
Przedstawiony przykad dotyczy elementw pocze rubowych, takich jak:
ruby z bem szecioktnym z gwintem na caej dugoci lub czciowym opisanych
w normach [33], [32],
ruby z bem walcowym opisane w normie [34],
nakrtki zwyke i zmniejszone opisane w normach [35], [36],
podkadki okrge zgrubne i dokadne opisane w normach [38], [39],
podkadki spryste zwyke i lekkie opisane w normach [40], [41],
gwinty zewntrzne i wewntrzne opisane w normie [37].
Przedstawiony program moe by rozszerzany o inne elementy i modyfikowany do wsppracy z rnymi programami CAD.
Program do pocze rubowych nazwano PolaczGwint i zbudowano go z nastpujcych
moduw: PGwintFrm, RysSruby, RysNakr, RysGwint, RysPodkl, ktre opracowano do
rysowania danego typu elementu.
Formatk programu PolaczGwint przedstawiono na rysunku 5.3. Umieszczono na niej
komponent   , w ktrym zdefiniowano odpowiednio cztery zakadki dla wyrnienia grup elementw. Rysunek 5.3 przedstawia zakadk dla elementw typu ruba
i zgromadzone odpowiednie komponenty, jak   ,
  , itp., suce do wyselekcjonowania elementu o okrelonych wymiarach. Dla pozostaych elementw przygotowano analogiczne zakadki i umieszczono na nich odpowiednie komponenty.
W dolnej czci formatki poza obszarem komponentu    umieszczono komponenty
   oraz ,  i  wsplne dla wszystkich zakadek,
pozwalajce na wybr sposobu rysowania elementu.
Wymiary i inne dane elementw zgromadzono w plikach relacyjnych baz danych z rozszerzeniem db (Paradox), natomiast dostp do tych danych zrealizowano za pomoc jzyka SQL obsugiwanego przez komponent #$.

158

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi

Tabela z nazwami elementw


(DBTable1:TDBTable)
Karty z zakadkami
(PageControl1:
TPageControl)

Panel, obramowanie rysunku


(Panel1:TPanel)

Etykieta tabeli
(Label1:TLabel)

Formatka
(Form1:TForm)

Etykieta wyboru dugoci


(Label2:TLabel)

Grupa przyciskw radiowych


wyboru rodzaju gwintu
(RadioGroup2:TRadioGroup)

Element poredniczcy
w przekazywaniu danych
(DataSource1:TDataSource)

Okno wyboru
dugoci
(ComboBox1:
TComboBox)

Okno wywietlania
rysunku elementu
(Image1:TImage)

Etykieta wyboru
wytrzymaoci
(Label4:TLabel)

Element pobierajcy dane


o elemencie z tabeli BD
(Query1:TQuery)

Etykieta wyboru
powoki
(Label3:TLabel)

Element pobierajcy
dane
o elemencie z tabeli
BD (Query2:TQuery)
Wybr widoku elementu
(RadioGroup1:TRadioGroup)

Grupa przyciskw
rad. wyboru elementu
(RadioGroup3:
TRadioGroup)

Rysowanie osi
(CheckBox1:TCheckBox)

Rysowanie
wskazanego elementu
(Button1:TButton)

Okno wyboru powoki


(ComboBox2:TComboBox)

Okno wyboru
wytrzymaoci
(ComboBox3:
TComboBox)

Wybr klasy dokadnoci


(RadioGroup4:TRadioGroup)

Rysunek 5.3. Formatka programu PolaczGwint


Tabela 5.2.
Ustawienia komponentw umieszczonych na zakadce ruby formatki programu PolaczGwint

Obiekt

Waciwoci

Zdarzenia

Nazwa

Warto

Nazwa

Metoda

Button2

Caption

&Zakocz

OnClick

Button2Click

CheckBox1

Caption

&Rysuj osie

ComboBox1
ComboBox2

Text
Fe-Zn
Fe-Cd
Items.Strings
Fe-Fg
Fe-Ox

ComboBox3
Caption

Widok
z &gry

RadioGroup1

Items.Strings
z &boku
ItemIndex

Rozdzia 5. K Aplikacje dla mechanikw

159

Tabela 5.2.
Ustawienia komponentw umieszczonych na zakadce ruby formatki programu PolaczGwint
cig dalszy
Waciwoci

Zdarzenia

Obiekt
Nazwa

Warto

Nazwa

Metoda

Caption

Rodzaj gwintu

OnClick

RadioGroup3Click

OnClick

RadioGroup4Click

OnClick

RadioGroup5Click

OnClick

DBGrid1CellClick

&zwyky
RadioGroup2

Items.Strings
&drobnozwojowy
ItemIndex

Caption

Rodzaj ruby
eb
&szecioktny

RadioGroup3

Items.Strings

&Caa
gwintowana
eb &walcowy

ItemIndex

Caption

Klasa dok.
I

Items.Strings
RadioGroup4

II
III

ItemIndex

Columns

Columns[0].FieldName

Nazwa

DataSource

DataSource1

dgEditing

False

dgColumn- Resize

False

DataSet

Query1

DBGrid1

Query1
Query2
DataSource1

Obsug formatki programu PolaczGwint i dostp do zgromadzonych danych zrealizowano w module PGwintFrm. Procedury do wykonywania rysunkw rub, nakrtek,
gwintw i podkadek umieszczono odpowiednio w moduach: RysSruby, RysNakr,
RysGwint i RysPodkl. Przedstawione zostan przykadowe moduy PolaczGwint i Rys
Sruby. Moduy dotyczce rysowania pozostaych elementw zbudowano podobnie jak
modu RysSruby; dostpne s one na pycie CD zaczonej do ksiki.

160

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi


Kod moduu PGwintFrm:
* 

 



      


   " 4",4 ! 
!#4!* 2!$2! 



$%#&'()*+*%) '

 
, -& 

., /
2" -0,2"

! #-=0,! #

3450,34

 4" 10, 4"

! #--0,! #

! #-10,! #

! #-50,! #

+ -0,+ 

*-0,*

*10,*

+ 10,+ 

*50,*

+ 50,+ 

*70,*

+ 70,+ 

  ! #< 2. 0,4>/

  ! #8 2. 0,4>/

  ! #-1 2. 0,4>/

  " 5 2.# 0,# /

  ! #-5 2. 0,4>/

  " 1 2.# 0,# /

   . 0,4>/

 

*-0,*

,4-0,,4

,410,,4

,450,,4

,470,,4

#-0,#

V#-0,V#

V#10,V#

" -0,"

"#-0,"#

! #10,! #

! #-0,! #

" 10,"

34-0,34

" 50,"

" 70,"

! #50,! #

3410,34

 4" -0, 4"

3470,34

 4" 50, 4"

3490,34

! #<0,! #

Rozdzia 5. K Aplikacje dla mechanikw


! #90,! #

! #80,! #

 4" 90, 4"

34;0,34

34-=0,34

 4" ;0, 4"

! #:0,! #

! #;0,! #

34--0,34

34-10,34

! #70,! #

  *-. 0,4>/

  ! #1 2. 0,4>/

   . 0,4>/

  ! #: 2. 0,4>/

  ! #9 2. 0,4>/

  ! #; 2. 0,4>/

  ! #5 2. 0,4>/

  " - 2.# 0,# /

  ! #7 2. 0,4>/

  "#- 2. 0,4>/

 
#!0 
  
 
 %    

#!* 0 
  
 
 %    
" 
  #!

  !;1-=-
) "
  !;1-=8

  !;15=1

  !;1-77
  

  !;1-98

  ! =1=-5


 
 
 
  !D=1=-5
 
 
 
  !;1==8
 
  !;1==9

  !;1==;

 



 -0, -

$,4  # 0 

!0,! 

  

  ,.0 /0#4
  &  3*$ %"
( &     &%"  * %"
>%" ?@A%" B        


*.'.'/FE=
0&.*.'.'/M-*.'/'/G1/


!#0&,./

  
. .'%>PW#X   P S@'IJ//

!#0&=





 , -@#!

161

162

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi



.V#-@? 6/.V#-@  "$ .'$'/@? FE''/

#!0&V#-@  "$ .'$'/@? 

*.' '#!/FE=  


&  
%  
#!* 0&.#!-*.' '#!/G-/ 9:C9D


#!* 0&#!
 9:
.*.' '#!/FE=/.*.'.'#!/FE=/
#!* 0&#!* M'/'
% )    % *




 , -@ . 0,4>/


 %
$  

 
 &


"  
!0&,! @

!@!%0&A%BC!!$,C!

!@%.$%#,#/


! #-@+ +  0&!@! +.' '/

  
! #-@+ +  0&=
 "




!@



#!0&'-='
  )% 
   
"  9E
*-@. -/



 , -@*-. 0,4>/

 
 %&  
 " & !  

V#-@? 60&

V#-@V3@
  
&!* 
3
V#-@V3@? .'L( 'M$,4 /
  

 
*-@? 6*@,4+   
=0! #5@ 2.*-/

-0! #8@ 2.*-/

10! #9@ 2.*-/

50! #:@ 2.*-/



! " %  


$
*-@? 6*@,4+  &1
 4" 1@4 0&


 4" 1@4 0&,#



 , -@! #9 2. 0,4>/



! #<@+ +  0&! #9@+ + 

! #1@+ +  0&! #9@+ + 

V#-@ 4
! )
%   $  
V#-@? 60&

! #9@+ +  &=


% 
)  'F0
V#-@V3I=J0& .'L( XX  2X'
I'Y") C=1=-5Y''$''YX XY'J/

Rozdzia 5. K Aplikacje dla mechanikw




V#-@V3I=J0& .'L( XX 2X'
I'Y") C=1=-5Y''$''YX XY'J/

V#-@? 60&,#

V#-@3.'$'#!IJ/

   
&&

V#-@4
! )
%   $  


! #-5@ 2.! #9/

" 5@ 2." 5@# I=J/



 , -@! #: 2. 0,4>/

    &   G 



! #;@+ @

! #:@+ +  &=


! #;@+ @? .'ZD#4'/

! #;@+ @? .'Z2P '/




! #;@+ @? .'ZD2P'/

! #;@+ @? .'Z322 '/



! #;@+ +  0&=

! #;@ 2.! #:/



 , -@! #; 2. 0,4>/



#!

V#-@ 4

V#-@? 60&

  !  " 


.! #:@+ +  &=/.! #;@+ +  &=/
! #-=@H  40&

! #--@H  40&

V#-@V3I=J0&'L( Y")* 22DC;1==8Y


'

+ 7@* #@3   .');1==8@4 '/



 !   
.! #:@+ +  &=/.! #;@+ +  &-/
! #-=@H  40&,#

! #--@H  40&,#

! #-=@+ +  &=   % 


V#-@V3I=J0&'L( Y")* 22C;1==9Y
'

 &  
V#-@V3I=J0&'L( Y")* 22C;1==9Y'M
'DD
 #
'

+ 7@* #@3   .');1==9@4 '/



  

! #:@+ +  &-
! #-=@H  40&

! #--@H  40&

! #;@+ +  &=


V#-@V3I=J0&'L( Y")* 2DC;1==;Y
'


V#-@V3I=J0&'L( Y")* 23C;1==;Y
'

163

164

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi


+ 7@* #@3   .');1==;@4 '/



V#-@? 60&,#

V#-@3.'$'#!* IJ/


V#-@4





 , -@! #1 2. 0,4>/


  0#4



 !  
*      & 

! #<@+ +  0&! #1@+ + 

! #9@+ +  0&! #1@+ + 

V#-@ 4

V#-@? 60&

  "  % %   )) "


 
! #7@+ +   
=0
 0&-@9
 0&-9=



-0
 0&5
 0&5<



10
 0&8
 0&81



  "% && 666% 
 0&8
 0&81




! #1@+ +  &=


V#-@V3I=J0& .'L( XX  2X'M
'E&XF&X
'
I$,4 '$''YX XY'  J/


V#-@V3I=J0& .'L( XX 2X'
I$,4 '$''YX XY'J/

V#-@? 60&,#

V#-@3.'$'#!IJ/


V#-@4





 , -@! #5 2. 0,4>/


"  
"% %       &) "
 
! #5@+ +   
=0$,4 0&'Y")#4C;1-=-Y'

-0$,4 0&'Y")#4C;1-=8Y'

10$,4 0&'Y")#4C;15=1Y'




 $) "
 
! #5@+ +   
=0+ -@* #@3   .');1-=-@4 '/

-0+ -@* #@3   .');1-=8@4 '/

10+ -@* #@3   .');15=1@4 '/

Rozdzia 5. K Aplikacje dla mechanikw




! #1@ 2.! #5/

! #7@ 2.! #5/

" -@ 2." -@# I=J/



 , -@! #< 2. 0,4>/

"  
"% %       &  


 !  
*      & 

! #1@+ +  0&! #<@+ + 

! #9@+ +  0&! #<@+ + 

V#-@ 4

V#-@? 60&

 ,BH 

.! #<@+ +  &=/..! #-1@+ +  &=/
 .! #-1@+ +  &-//
V#-@V3I=J0& .'L( XX  2X'
I$,4 '$''YX XY'J/



 ,BH 
 " &
.! #<@+ +  &-/..! #-1@+ +  &=/
 .! #-1@+ +  &-//
V#-@V3I=J0& .'L( XX 2X'
I$,4 '$''YX XY'J/



 + 

.! #<@+ +  &=/.! #-1@+ +  &1/
V#-@V3I=J0& .'L( XX  2X'M
'X
 #'I$,4 '$''YX XY''-'J/



 + 
 " &
.! #<@+ +  &-/.! #-1@+ +  &1/
.'$2S2 #42T2'M
'  2P @'/

! #<@+ +  0&=



V#-@? 60&,#

V#-@3.'$'#!IJ/


V#-@4





 , -@! #7 2. 0,4>/


% 
 )) " % )  ) 

! #7@+ +  &=
 4" 5@+ @

 4" 5@+ @ , 0&.'8@98@;9@;;@;-=@<-1@<'/



! #7@+ +  &-


 4" 5@+ @

 4" 5@+ @ , 0&.'8@98@;;@;-=@<-1@<'/



! #7@+ +  &1


 4" 5@+ @

 4" 5@+ @ , 0&.'5@97@;8@;'/

! #1@+ +  &-


.'[#4#42T2  2P @'/

165

166

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi


! #1@+ +  0&=




, 4" . /@$ FE' 4" 5'


 4" 5@, 0& 4" 5@+ I=J

! #1@ 2.! #7/



 , -@" - 2.# 0,# /

     % *%    &) "


) )
    )   
"%"  *+"HC
 &!  ).%


 0+


. 4" 5@, FE'7@9'/. 4" 5@, FE'8@9'/
. 4" 5@, FE';@;'/.V#-@  "$ .''/@?E81/
. -@*-@? 6*@,4+  &=/
 4" 5@+ @

 4" 5@+ @ , 0&.'7@98@9;@;'/

.' E81 # P\U07@98@9;@;'/



 
         )) "
V#1@? 60&
V#1@V3@

 
! #5@+ +   % ) "" %  66
10V#1@V3@? . .'#( X'M
' #F&X #E&X'
I'Y")++C##4Y'V#-@  "$ .'3  '/@?
V#-@  "$ .'3 '/@?J//


% 
*) "   6
V#1@V3@? . .'#( X'M
' #F&X #E&X'
I'Y")+C##4Y'V#-@  "$ .'3  '/@?
V#-@  "$ .'3 '/@?J//



V#1@? 60&,#
 4" -@+ @
V#1@ 

  0&= V#1@! #G- 


 4" -@+ @? .V#1@  "$ .'#'/@? /

V#1@$ 



)
% ) &
)%
 )
 4" -@, 0& 4" -@+ I!# . 4" -@+ @#K1/J

#!



 , -@" 1 2.# 0,# /


#!



 , -@! #-5 2. 0,4>/


 $ 
$
 
! #-5@+ +   
=0+ 5@* #@3   .') =1=-5@4 '/

-0+ 5@* #@3   .')D=1=-5@4 '/





 , -@" 5 2.# 0,# /


 0+



Rozdzia 5. K Aplikacje dla mechanikw


#!

V#1@? 60&
V#1@V3@

V#1@V3@? .'#( Y")+C##4Y'/

V#1@? 60&,#
 4" ;@+ @
V#1@ 

  0&= V#1@! #G- 


 4" ;@+ @? .V#1@  "$ .'#'/@? /

V#1@$ 



 4" ;@, 0& 4" ;@+ I!# . 4" ;@+ @#K1/J


 , -@! #8 2. 0,4>/

"$   &  



 
! #8@+ +   
=0$,4 0&'Y")$2C;1-77Y'

-0$,4 0&'Y")$2C;1-98Y'




 $  
7"
 
 
! #8@+ +   
=0+ 1@* #@3   .');1-77@4 '/

-0+ 1@* #@3   .');1-77@4 '/



! #<@ 2.! #</

! #-1@ 2.! #8/



 , -@! #-1 2. 0,4>/


%   % * )  

! #-1@+ +  &1
 4" 9@+ @

 4" 9@+ @ , 0&.'78'/




 4" 9@+ @

 4" 9@+ @ , 0&.'89;-=-1'/



, 4" . /@$ FE' 4" 9'


 4" 9@, 0& 4" 9@+ I=J

! #<@ 2.! #-1/



 , -@"#- 2. 0,4>/

   
 
*-@? 6*@,4+   "$   &%

=0) "
 
! #5@+ +   "$   &) "
=0!;1-=-
" )!

-0!;1-=8
" )!
 
  & )
10!;15=1
" %


-0  

 
! #8@+ +   "$   &  

=0!;1-77
  
  )!

-0!;1-98
  
  )!
 & 


10 

 
! #-5@+ +   "$   & 

=0! =1=-5
 
 
 
-0!D=1=-5
 
 
 


50 

167

168

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi


 
! #:@+ +   "$   & 
=0 ! 
 
! #;@+ +   
=0!;1==8
 !   "
-0!;1==9
 !   


-0!;1==;
  







 , -@!;1-=-


40#4


! #7@+ +  &1
0&V#-@  "$ .'! C+++'/@?


0&V#-@  "$ .'! '/@?

,. 4" -@, /F&-18


40&,.V#-@  "$ .'"'/@? /


,. 4" -@, /F&1==
40&,.V#-@  "$ .'"-18'/@? /


40&,.V#-@  "$ .'"1=='/@? /

  "


  
)
V#-
;1-=-0&,;1-=-@.  "$ .' '/@?
  "$ .'2'/@?  "$ .''/@?
,. 4" -@, /4  "$ .'$'/@? 
 4" 5@, ! #7@+ I! #7@+ +  J
 4" 1@, 2" -@2 /

 
! #-@+ +    
   
=0;1-=-@! 

-0;1-=-@! "




;1-=-@
%  "





 , -@!;1-=8


0#4


! #7@+ +  &1
0&V#-@  "$ .'?C+++'/@?

0&V#-@  "$ .'! C+++'/@?




0&V#-@  "$ .'?'/@?

0&V#-@  "$ .'! '/@?



  "


  
)
V#-
;1-=80&,;1-=8@.
  "$ .' '/@?
  "$ .'2'/@?  "$ .''/@?
,. 4" -@, /  "$ .'$'/@? 

Rozdzia 5. K Aplikacje dla mechanikw


 4" 5@, ! #7@+ I! #7@+ +  J
 4" 1@, 2" -@2 /

 
! #-@+ +    
   
=0;1-=8@! 

-0;1-=8@! "




;1-=8@
%  "





 , -@!;15=1


40#4


40&,.V#-@  "$ .'"'/@? /

,. 4" -@, /FV#-@  "$ .'3'/@?


40&,. 4" -@, /G=@-8LV#-@  "$ .' '/@
?GV#-@  "$ .'! '/@?
 
  & )
  "
  
)
V#-
;15=10&,;15=1@.  "$ .' '/@?
  "$ .'2'/@?  "$ .''/@?
,. 4" -@, /  "$ .'! '/@?
4  "$ .'34'/@?  "$ .'$'/@? 
 4" 5@, ! #7@+ I! #7@+ +  J
 4" 1@, 2" -@2 /

 
! #-@+ +    
   
=0;15=1@! 

-0;15=1@! "




;15=1@
%  "





 , -@!;1==8


  "
  
)
V#-
* ;1==80&,* ;1==8@.  "$ .' '/@?
  "$ .' '/@?  "$ .''/@?
 4" 1@, 2" -@2 /

 
! #-@+ +    
   
=0* ;1==8@! 

-0* ;1==8@! "




* ;1==8@
%  "





 , -@!;1==9


 (0#4


! #--@+ +  &=
 0&=
(0&=



169

170

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi




 0&V#-@  "$ .' '/@?

(0&V#-@  "$ .' '/@?



  "


  
)
V#-
! #-=@+ +  &=
* ;1==90&,* ;1==9@.  "$ .' '/@?
  "$ .' '/@?  "$ .''/@?
( '' 4" 1@, 2" -@2 /


* ;1==90&,* ;1==9@.  "$ .' '/@?
  "$ .' '/@?  "$ .''/@?
( 'D ' 4" 1@, 2" -@2 /

 
   
 
! #-@+ +   
=0* ;1==9@! 

-0* ;1==9@! "



 %  "



* ;1==9@





 , -@!;1==;


,#0 


! #;@+ +  &=
,#0&'D'


,#0&''
%
  "
  
)
V#-
* ;1==;0&,* ;1==;@.  "$ .' '/@?
  "$ .' '/@?  "$ .''/@?,#
 4" 1@, 2" -@2 /

 
! #-@+ +    
   
=0* ;1==;@! 

-0* ;1==;@! "




* ;1==;@
%  "





 , -@!;1-77


  "
  
)
V#-
 
! #-1@+ +   
 ,
=0$2;1-770&,$2;1-77@.  "$ .' '/@?
  "$ .''/@?  "$ .''/@?
  "$ .'-?"'/@?  "$ .'$'/@? 
 4" 1@, '?' 4" 9@, 2" -@2 /

 H
-0$2;1-770&,$2;1-77@.  "$ .' '/@?
  "$ .''/@?  "$ .''/@?

Rozdzia 5. K Aplikacje dla mechanikw


  "$ .'-?"'/@?  "$ .'$'/@? 
 4" 1@, '"' 4" 9@, 2" -@2 /

 +
10$2;1-770&,$2;1-77@.  "$ .' '/@?
  "$ .''/@?  "$ .''/@?
  "$ .'-'/@?  "$ .'$'/@? 
 4" 1@, '' 4" 9@, 2" -@2 /



 
! #-@+ +    
   
=0$2;1-77@! 

-0$2;1-77@! "




$2;1-77@
%  "





 , -@!;1-98


!;1-77



 , -@! =1=-5


  "
  
)
V#-
 =1=-50&,  @.  "$ .' '/@?,.
 4" ;@, /  "$ .'22'/@?  "$ .'$'/@
? 2" -@2 /

 
! #-@+ +    
   
=0 =1=-5@! 

-0 =1=-5@! "




 =1=-5@
%  "





 , -@!D=1=-5

 "
  
)

V#-
D=1=-50&, D@.  "$ .' '/@?,.
 4" ;@, /  "$ .'22'/@?  "$ .'$'/@
? 2" -@2 /

 
! #-@+ +    
   
=0D=1=-5@! 

-0D=1=-5@! "




D=1=-5@
%  "





 , -@ . 0,4>/


     &

!0&,! @

!@!%0&A%BC!!$,C!

!@%.$%#,#/

!@  +.' '! #-@+ +  /

171

172

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi



!@





 
 
%  " 
# .  *.?  @ $ //

@

W module RysSruby umieszczono definicj klasy    zawierajc pola i metody


wsplne dla wszystkich obiektw opisujcych elementy pocze rubowych uytych
w programie PolaczGwint, dziedziczc po nim klas %&, opisujc cechy wsplne
dla rub i wyprowadzone z niej klasy %&'(', %&'() i %&*(& okrelajce odpowiednio ruby z bem szecioktnym, ruby z bem szecioktnym z gwintem na caej
dugoci i ruby z bem walcowym. Struktur dziedziczenia dla obiektw elementw
pocze gwintowych przedstawiono na rysunku 5.4.
TElGwint
(pola, waciwoci i metody wsplne dla wszystkich
obiektw gwintowanych)

TSr82x
(ruby)

TSr82101
(ruby z bem
szecioktnym)

TNakr
(nakrtki)

TNak82144
(nakrtki szecioktne)

TSr82105
(ruby z bem
szecioktnym i gwintem
na caej dugoci)

TGwint
(gwinty metryczne)

TPodkl
(podkadki)

TGwinWewn
(gwinty wewntrzne)

TPod82005
(podkadki okrge
zgrubne)

TGwinZewn
(gwinty zewntrzne)

TPod82006
(podkadki okrge
dokadne)

TSr82302
(ruby z bem walcowym)

Rysunek 5.4. Hierarchia obiektw opisujcych elementy pocze gwintowych

Kod moduu RysSruby przedstawia si nastpujco:


!#4

 



*?#??  3  



2 &=@1
 $  )  

 
, & 

% "  B


% 
 ==   -1220#4

$"2#$$  #*20 

!#> 0"

"2!(4>!("203H 

4>$* 2 0+

TPod82008
(podkadki
spryste)

Rozdzia 5. K Aplikacje dla mechanikw


 
 
  . 0#4
***0 
! *0"/


  


  ! 

  ! "

   
  !? ". 0#4/

  !? . 0#4/

  !  ? 

  ! D? 

  !? 

   >

   4 2

  #$ .D$0 /0 

  "2+ >.$0 /0"

  !? 


 

  !? "




 

 
 0 

0#4

   .H#0 /

  .H#0#4/

   4 2?

   >?

 

    0   

   0#4



( &%  &!*) "&



% * -1%G

"  % 


*%  &!*) "I-' J:9E9B-' J:9EDB-' J:4E:
,;1 & 

., /
20#4

 %20 

  $% % ) "


  !34? "

  !, ? "

  !? ". 0#4/

 
 
  . 20#4
* %2
**0 
 *0"/

  !? 

    &!) " $ 


,;1-=-& 

.,;1 /) " " )!



 
40#4

  ! ? "

 
 
  . 240#4
* 
%20 
**0 
 *0"/

  !? "



      &!) "


,;1-=8& 

.,;1 /) " " )!


 

0#4
 & )
 
  ! ? "

 
 
  . 20#4
* %2
**0 
 *0"/

  !? "




173

174

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi




,;15=1& 

.,;1 /) " " %


 
3440#4

  ! ? "

 
 
  . 2434*0#4
* 
%2**0 
 *0"/

  !? 

K     &! $ 
  !? "





;1-=-0,;1-=-

;1-=80,;1-=8

;15=10,;15=1

  



   


  , @. 0#4
***0 

! *0"/
2

 % " &



 =0&G-==
=0&G-==
* 20&-
 0&G-

*20&**
 #0&#$ .*/
!#> 0&! *

 0& 
  0&=@1L K1L .* K7/
0&

*D? &)% ! ! 


D >  
(  #> 
 >,3 






  ,;1 @. 20#4
* %2
**0 
 *0"/
2

 % " &) "

. *** */

20&2
0&
0&

 0& .'[#4X XGXGXXX'I* %2


*2$$ J/




  ,;1-=-@. 240#4
* 
%2**0 
 *0"/
2

 ) "" )

$$ 0&'*$G;1-=-'

. 2* %2** */

40&4



  

"
$-' J:9ED-' J:4E:

  , @
  "
   
3

*  





 , @ 4 2?


  "%  

?  @  
  % &    


"2!(0&? @+"2.? @  @* .

Rozdzia 5. K Aplikacje dla mechanikw


' 2O#2  '/$"2#---=/

"2!(@ 
) "%

?  @!
  $    


  
.'* 2  #2#P 'M
R-5M'2Q P#SPT  3'MR-5M
R-5M'    #OQU@' I 4%J=/





 , @ >?


     %
7

 03+


 0&? 4# +6  4

"
  
 
"2@? ? 4#.5@8 ''1. ==/'$' /

"2@? ? 4#.5@8 ''1. ==/'$!'$$ /



 , @! "



     "

$H+ .? /!? "



 , @! 

      $ 

$H+ .? /!? 



 , @ .H#0 /


 0&H#



 , @ 4 2


 4 2?



 ,;1 @!? ". 0#4/


  )% "  

!#> 
4>!(0&"2@? 3 .1. =G-@8L2=/1. =M =//

4>!(@0&?!
4>!(@3 0&''





 ,;1-=-@!? "
) " " )!
7"7

$"2#0& M'C "'

 "2+ >.$"2#/


"20&? @"2@? .1. ==/$"2#/

!34? "

!, ? "

! ? "

 >?



 4 2?



  

"
$-' J:9ED-' J:4E:
 ,;1-=-@! ? "
 
 
 " 7

175

176

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi



"2@? 3 .1. =MG4=G K1/1. =MG4=M K1//

4>!(0&"2@? 3 .1. =MG4=G K1M  /


1. =M=G K1M  //
%  

4>!(@0&!

 % "%
 
4>!(@ .1. ==/1. =M=//

"2@? 3 .1. =MG4=G K1M  /1.


 =MG4G.  K.* K9//=G K1//
"  

4>!(@0&!

4>!(@ .1. ==/1. =M=//



 ,;1-=8@! ? "


 
"

"2@? 3 .1. =M=G K1/1. =M=M K1//

4>!(0&"2@? 3 .1. =M=G K1M  /


1. =M=G K1M  //

4>!(@0&!
4>!(@ .1. ==/1. =M=//

4>!(0&"2@? 3 .1. =M=G K1M  /1.


 =MG.  K.* K9//=G K1//

4>!(@0&!
4>!(@ .1. ==/1. =M=//



 ,;15=1@! ? "


"2@? 3 .1. =MG4=G K1/1. =MG4=M K1//

4>!(0&"2@? 3 .1. =MG4=G K1M  /


1. =M=G K1M  //

4>!(@0&!
4>!(@ .1. ==/1. =M=//

4>!(0&"2@? 3 .1. =MG4=G K1M  /


1. =MG4G.  K.* K9//=G K1//

4>!(@0&!

4>!(@ .1. ==/1. =M=//



  , @#$ .D$0 /0 

      

>
C
?@A
C

D$0&, .D$/

.*.'.'D$/FE=/.*.'/'D$/FE=/
!#0&.D$*.'.'D$/M-*.'/'D$/G1/


!#0&D$



  , @"2+ >.$0 /0"


!#0&

"2!(0& 


"2!(0&? @"2@+ .$/
 $"    "%
!#0&,#

?  @!


 " 
"    % 
. .'"2X  >@'MR-5M'   'M
'  >T42'I$J/+(  I"%J=/

?  @  


     
  "%
  




 , @!  ? 


 
 
  $ 7

4>!(0&"2@? ?.1. ==/ K1,! .58/,! .5=8//

4>!(@0&!

"2@?  .1. ==/. K1/G  /

Rozdzia 5. K Aplikacje dla mechanikw




 , @! D? 


 
 
  $ 7

4>!(0&"2@? ?.1. ==/ K1G  ,! .58/
,! .5=8//

4>!(@0&!

"2@?  .1. ==/ K1/



 , @!? 
" )!
B $ 7

"2@?  .1. ==/K1/
 !
4>!(0&"2@? 3 .1. =MK1=/1.
 =MK1L.* K5/=MK1//@?*.91L* 1. ==//
 )!



 ,;1 @!34? "


" )% ) "7"7

"2@? 3 .1. ==GK1/1. ==MK1//
") "
"2@? 3 .1. =G2=GK1/1. =G2=MK1//

"2@? 3 .1. =G2=GK1/1. =G2M-=GK1//


 #%
"2@? 3 .1. ==GK1/1. =G2M-=GK1//

"2@? 3 .1. =G2=MK1/1. =G2M-=MK1//


 # $
"2@? 3 .1. ==MK1/1. =G2M-=MK1//

 ) 


"2@? 3 .1. ==GK1L.* K5//1. =G2M-=GK7//

"2@? 3 .1. ==MK1L.* K5//1. =G2M-=MK7//

"2@? ?.1. =G2M=@:8L=/=@:8L* G .-K5/


* M .-K5//

"2@? ?.1. =G2M1=G5K;L/1* G .=@-18LK
1/* M .=@-18LK1//

"2@? ?.1. =G2M1=M5K;L/1* G .=@-18LK


1/* M .=@-18LK1//



 ,;1 @!, ? "



3) "" 

"2@? ?.1. =M=G K1G/* K1* /
"
"2@? ?.1. =M=M K1M/* 5K1L* /

  
 
"2@? 3 .1. =M=G K1/1. =MG  =G K1//

"2@? 3 .1. =MG  =G K1/1. =M=G K1M  //

"2@? 3 .1. =M=G K1M  /1. =M=M K1G  //

"2@? 3 .1. =M=M K1G  /1. =MG  =M K1//

"2@? 3 .1. =M=M K1/1. =MG  =M K1//

"2@? 3 .1. =MG  =G K1/1. =MG  =M K1//

!? ".-@1L/
) 



 ,;1 @!? 

) " " )!


7 $ 7,
+,

$"2#0& M'C '

 "2+ >.$"2#/


"20&? @"2@? .1. ==/$"2#/

!? 

!? ./

 >?



 4 2?



 , @.H#0#4/

177

178

AutoCAD. Automatyzacja zada grafiki za pomoc Delphi



0&H#

0&K.* K9/

-0&=@:8LGN.N.=@:8L/GN.=@18L//

10&=@:8LL=@1:-779-



 , @!? ". 0#4/

) 
"7
!#> 
4>!(0&"2@? 3 .1. =G2 L =/
1. =M M2 L =//

4>!(@0&?!
4>!(@3 0&''





 , @!? . 0#4/

) 
 $ 7
!#> 
4>!(0&"2@? 3 .1. =G K1G2 L =/
1. =M K1M2 L =//

4>!(@0&?!
4>!(@3 0&'$,!'

4>!(@?*.1* K11. ==//





 , @ >

  %



 >?



@

Okno programu PolaczGwint pokazano na rysunku 5.5. W oknie wida wybr ruby
M16 wraz z jej waciwociami (wykonanie, wytrzymao, powoka itp.). Natomiast na
rysunku 5.6 pokazano okno tego programu otrzymane po wstawieniu uprzednio wybranej
ruby i przeczeniu na zakadk o nazwie Nakrtki. Program automatycznie zapamita
ostatni wybr ruby i wyselekcjonowa wstpnie do tej ruby odpowiedni nakrtk.
Rysunek 5.5.
Okno programu
PolaczGwint podczas
wyboru )ruby

Rysunek 5.6.
Okno programu
PolaczGwint podczas
wyboru nakr*tki

Rozdzia 5. K Aplikacje dla mechanikw


Rysunek 5.7.
Przykady elementw
wygenerowanych
za pomoc programu
PolaczGwint w oknie
programu AutoCAD

179

Anda mungkin juga menyukai