44
Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: [email protected] PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ IDZ DO IDZ DO ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG KATALOG KSI¥¯EK KATALOG KSI¥¯EK TWÓJ KOSZYK TWÓJ KOSZYK CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWOŒCIACH ZAMÓW INFORMACJE O NOWOŒCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE SPIS TREŒCI SPIS TREŒCI DODAJ DO KOSZYKA DODAJ DO KOSZYKA KATALOG ONLINE KATALOG ONLINE AutoCAD. Automatyzacja zadañ grafiki za pomoc¹ Delphi Autorzy: Wojciech Czy¿ycki, Edward Lisowski ISBN: 83-7197-682-8 Format: B5, stron: 254 Zawiera CD-ROM Obecnie dokumentacja techniczna jest u¿ywana i przetwarzana najczêœciej w formie elektronicznej. Do zapisu konstrukcji stosuje siê ró¿norodne programy CAD. Mo¿liwoœci wyboru jednego spoœród nich s¹ du¿e, jednak¿e dla osi¹gniêcia wydajnej pracy programy te trzeba odpowiednio dostosowaæ do okreœlonych potrzeb. Jednym ze sposobów takiego dostosowania jest opracowanie specjalistycznych aplikacji pozwalaj¹cych na automatyzacjê procesu projektowania, np. w AutoCAD-zie. Program ten ma wbudowany interfejs automatyzacji OLE, który pozwala oddzia³ywaæ w sposób programowy na proces tworzenia rysunku. Ksi¹¿ka powsta³a w wyniku opracowania przez autorów (na potrzeby w³asne i innych u¿ytkowników) aplikacji do wspomagania projektowania w AutoCAD-zie. Jest ona adresowana do in¿ynierów, studentów i innych u¿ytkowników tego programu. Ksi¹¿ka zawiera wiele kodów, które mo¿na bezpoœrednio uruchomiæ i wykorzystaæ w swojej pracy projektowej. U¿ycie wiêkszoœci kodów znajduj¹cych siê na p³ycie CD wymaga jedynie przeprowadzenia instalacji. U¿ytkownik posiadaj¹cy pewne umiejêtnoœci programowania w Delphi mo¿e je rozbudowaæ lub adaptowaæ do swoich celów. Nawet zaawansowane aplikacje przedstawione w ksi¹¿ce s¹ ³atwe do uruchomienia i bezpoœredniego u¿ycia. Bardzo przydatne dla projektanta mog¹ byæ programy do automatycznego rysowania po³¹czeñ wpustowych w po³¹czeniu z automatycznymi obliczeniami, wspomagaj¹ce rysowanie oznaczeñ po³¹czeñ spawanych czy automatyzuj¹ce generowanie elementów po³¹czeñ œrubowych. Ksi¹¿ka adresowana jest do in¿ynierów, studentów i innych u¿ytkowników posiadaj¹cych wiedzê na temat programu AutoCAD. U¿ycie wielu programów za³¹czonych na p³ycie CD wymaga jedynie przeprowadzenia instalacji. Praca zawiera kod wielu programów do bezpoœredniego wykorzystania. U¿ytkownik posiadaj¹cy pewne umiejêtnoœci programowania w Delphi mo¿e programy te rozbudowaæ lub adaptowaæ do swoich celów. W podrêczniku zamieszczono te fragmenty kodów programów, które wymagaj¹ wyjaœnieñ (komentarza), kompletny kod przedstawionych programów znajduje siê na za³¹czonej do pracy p³ycie CD.

AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Embed Size (px)

Citation preview

Page 1: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Wydawnictwo Helion

ul. Chopina 6

44-100 Gliwice

tel. (32)230-98-63

e-mail: [email protected]

PRZYK£ADOWY ROZDZIA£PRZYK£ADOWY ROZDZIA£

IDZ DOIDZ DO

ZAMÓW DRUKOWANY KATALOGZAMÓW DRUKOWANY KATALOG

KATALOG KSI¥¯EKKATALOG KSI¥¯EK

TWÓJ KOSZYKTWÓJ KOSZYK

CENNIK I INFORMACJECENNIK I INFORMACJE

ZAMÓW INFORMACJEO NOWOŒCIACH

ZAMÓW INFORMACJEO NOWOŒCIACH

ZAMÓW CENNIKZAMÓW CENNIK

CZYTELNIACZYTELNIA

FRAGMENTY KSI¥¯EK ONLINEFRAGMENTY KSI¥¯EK ONLINE

SPIS TREŒCISPIS TREŒCI

DODAJ DO KOSZYKADODAJ DO KOSZYKA

KATALOG ONLINEKATALOG ONLINE

AutoCAD. Automatyzacja zadañ

grafiki za pomoc¹ Delphi

Autorzy: Wojciech Czy¿ycki, Edward Lisowski

ISBN: 83-7197-682-8

Format: B5, stron: 254

Zawiera CD-ROM

Obecnie dokumentacja techniczna jest u¿ywana i przetwarzana najczêœciej w formie

elektronicznej. Do zapisu konstrukcji stosuje siê ró¿norodne programy CAD. Mo¿liwoœci

wyboru jednego spoœród nich s¹ du¿e, jednak¿e dla osi¹gniêcia wydajnej pracy

programy te trzeba odpowiednio dostosowaæ do okreœlonych potrzeb. Jednym ze

sposobów takiego dostosowania jest opracowanie specjalistycznych aplikacji

pozwalaj¹cych na automatyzacjê procesu projektowania, np. w AutoCAD-zie. Program

ten ma wbudowany interfejs automatyzacji OLE, który pozwala oddzia³ywaæ w sposób

programowy na proces tworzenia rysunku.

Ksi¹¿ka powsta³a w wyniku opracowania przez autorów (na potrzeby w³asne i innych

u¿ytkowników) aplikacji do wspomagania projektowania w AutoCAD-zie. Jest ona

adresowana do in¿ynierów, studentów i innych u¿ytkowników tego programu. Ksi¹¿ka

zawiera wiele kodów, które mo¿na bezpoœrednio uruchomiæ i wykorzystaæ w swojej

pracy projektowej. U¿ycie wiêkszoœci kodów znajduj¹cych siê na p³ycie CD wymaga

jedynie przeprowadzenia instalacji. U¿ytkownik posiadaj¹cy pewne umiejêtnoœci

programowania w Delphi mo¿e je rozbudowaæ lub adaptowaæ do swoich celów.

Nawet zaawansowane aplikacje przedstawione w ksi¹¿ce s¹ ³atwe do uruchomienia

i  bezpoœredniego u¿ycia. Bardzo przydatne dla projektanta mog¹ byæ programy do

automatycznego rysowania po³¹czeñ wpustowych w po³¹czeniu z automatycznymi

obliczeniami, wspomagaj¹ce rysowanie oznaczeñ po³¹czeñ spawanych czy

automatyzuj¹ce generowanie elementów po³¹czeñ œrubowych.

Ksi¹¿ka adresowana jest do in¿ynierów, studentów i innych u¿ytkowników

posiadaj¹cych wiedzê na temat programu AutoCAD. U¿ycie wielu programów

za³¹czonych na p³ycie CD wymaga jedynie przeprowadzenia instalacji. Praca zawiera

kod wielu programów do bezpoœredniego wykorzystania. U¿ytkownik posiadaj¹cy

pewne umiejêtnoœci programowania w Delphi mo¿e programy te rozbudowaæ lub

adaptowaæ do swoich celów.

W podrêczniku zamieszczono te fragmenty kodów programów, które wymagaj¹

wyjaœnieñ (komentarza), kompletny kod przedstawionych programów znajduje siê na

za³¹czonej do pracy p³ycie CD.

Page 2: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Przedmowa ......................................................................................5

Rozdział 1. Wstęp ...............................................................................................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 ................................................................................................. 15Nawiązanie połączenia z serwerem OLE i ustawienia początkowe ................................17

Translacja współrzędnych ................................................................................................18

Metody generowania podstawowych elementów rysunku...............................................18

Wybrane metody modyfikacji obiektów................................................................. 38

Wybrane składniki obiektu Document i kolekcji Documents ................................ 48Kolekcja 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 właściwości obiektu Document .....................................................75

Paski menu i paski narzędziowe ............................................................................. 76Kolekcja MenuGroups i obiekt MenuGrup......................................................................76

Kolekcje MenuBar i PopUpMenu oraz obiekt PopUpMenuItem ....................................76

Kolekcja Toolbars oraz obiekty Toolbar i ToolbarItem...................................................78

Rozdział 3. Przykłady aplikacji ......................................................................... 83

Przygotowanie dokumentu — dodawanie warstw i typów linii ............................. 83

Generowanie składników rysunkowych ................................................................. 86Rysowanie otworów według zadanych współrzędnych...................................................86

Umieszczanie składników na ustalonej warstwie ............................................................89

Bloki składników..................................................................................................... 92

Atrybuty bloków ..................................................................................................... 97

Kreskowania............................................................................................................ 98

Działania na obiektach rysunku ............................................................................ 103

Rysunki 3D............................................................................................................ 109

Page 3: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

4 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Linia śrubowa — krzywe sklejane........................................................................ 117

Generowanie powierzchni 3D............................................................................... 121

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

Dostęp do obsługi zdarzeń — biblioteki typów.................................................... 127Importowane biblioteki typów .......................................................................................127

Nawiązanie połączenia z obiektami interfejsu OLE

przy użyciu modułu importowego ...............................................................................129

Obsługa zdarzeń programu AutoCAD.................................................................. 130

Rozdział 5. Aplikacje dla mechaników............................................................ 139

Oznaczenia połączeń spawanych .......................................................................... 139

Elementy połączeń śrubowych.............................................................................. 157

Obliczenia i rysowanie połączenia wpustowego .................................................. 179

Dobór i generowanie rysunków profili zamkniętych prostokątnych

na podstawie obliczeń wytrzymałościowych...................................................... 190

Przetwarzanie informacji zapisanych w tabelce rysunku ..................................... 194

Automatyzacja rysowania schematów pneumatycznych i hydraulicznych .......... 196

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

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

Dodatek A Wykaz metod, zdarzeń i właściwości interfejsuautomatyzacji OLE programu AutoCAD 2000............................... 203

Dodatek B Programy na płycie CD................................................................... 24

Skorowidz......................................................................................................... 251

Page 4: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

W tym rozdziale przedstawiono zaawansowane programy wykorzystujące techniki pro-

gramowania obiektowego, korzystające z klas i dziedziczenia, posługujące się relacyj-

nymi bazami danych i językiem SQL. Podjęte zadania dotyczą automatyzacji:

� oznaczania i generowania symboli połączeń spawanych,

� połączeń śrubowych przy zastosowaniu dziedziczenia do opisu rodzin elementów,

� obliczenia i rysowania połączenia wpustowego,

� doboru i generowania rysunków profili zamkniętych prostokątnych na podstawieobliczeń wytrzymałościowych, wyznaczanie linii wpływowej ugięć dla dobranej belki,

� przetwarzania informacji zapisanych w tabelce rysunku z automatycznym przesłaniemich do arkusza kalkulacyjnego MS Excel,

� rysowania schematów pneumatycznych i hydraulicznych.

Oznaczenia połączeń spawanych

Przy projektowaniu konstrukcji spawanych niezbędne jest określenie wielu parametrów

dla złącza oraz narysowanie odpowiedniego symbolu na rysunku. W konstrukcji, w której

występuje wiele różnego typu spoin, zautomatyzowanie procesu opisu złącza spawanego

może znacznie ułatwić wykonanie dokumentacji rysunkowej. Symbol oznaczenia bu-

duje się z różnych składników zdefiniowanych w przedmiotowej normie. Zautomaty-

zowanie opisu spoin zrealizowano programowo w ten sposób, że użytkownik w oknie

dialogowym wybiera właściwości i parametry spoiny. W trakcie tej czynności w oknie

pojawia się automatycznie rysunek symbolu spoiny z oznaczeniami, które użytkownik

wprowadza. Po interaktywnym uzgodnieniu oznaczenia złącza spawanego skompono-

wany symbol jest generowany w programie AutoCAD we wskazanym miejscu na ak-

tywnym rysunku. Symbole oznaczeń mogą być również wyeksportowane do pliku wmf.

Program nazwano PolSpaw, formatkę tego programu przedstawiono na rysunku 5.1.

Umieszczono na niej następujące komponenty:

� przyciski z ikonami ����������,

� grupy przycisków ���� ����,

� znaczniki ��������,

� okienka edycji ����,

� przyciski zmiany wartości �����,

Page 5: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

140 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Formatka(Form1:TForm)

Obramowaniepodglądu spoiny(Panel1:TPanel)

Podgląd spoiny(Image1:TImage)

Etykietawymiaru

wzdłużnegospoiny

(Label2:TLabel)

Etykieta wymiarupoprzecznego spoiny

(Label1:TLabel)

Okienko edycjiwymiaru

wzdłużnegospoiny

(Edit2:TEdit)

Okienko edycjiwymiaru

poprzecznegospoiny

(Edit1:TEdit)

Obramowanieobszaru wyborurodzaju spoiny

(Form1:TForm)

Przyciski wyborurodzaju spoiny

SpeedButton1..15:TSpeedButton

Etykieta okienkatechnologii

(Label4:TLabel)

Okienko wyboru technologii(ComboBox1:TComboBox)

Etykieta okienkanr poz.

(Label3:TLabel)

Wybór położenia liniiidentyfikacyjnej(RadioButton1:TRadioButton)

Wybór położenia wymiaru(RadioGroup2:TRadioGroup)

Wybór kształtu lica spoiny(RadioGroup3:TRadioGroup3)Wybór spoiny dookólnej

(CheckBox1:TCheckBox)

Wybór spoinywyk. w montażu

(CheckBox2:TCheckBox)

Obramowanieelementów wyboru

znaków dodatkowych(GroupBox:TGroupBox)

Wybór znakudodatkowego dolnego

(RadioGroup4:TRadioGroup4)

Okienko wprowadzania nrpozycji

(Edit3:TEdit)

Przyciski zmiany nr poz.(UpDown1:TUpDown)

Wybór programu CAD(RadioGroup5:TRadioGroup)

Dialog zapisu pliku WMF(SaveDialog1:TSaveDialog)

Przyciskzamknięciaprogramu

(Button2:TButton)

Przycisk zapisudo pliku WMF

(Button3:TButton)

Przycisk uruchamiania proceduryrysowania w programie CAD

(Button1:TButton)

Rysunek 5.1. Formatka programu PolSpaw

� obramowania grup �������,

� ramkę ����,

� etykiety tekstowe �����,

� ilustrację �����,

� dialog zapisu ����������,

� przyciski bez ikon �����.

Opracowano także wymienione niżej moduły:

� OznaczFrm do obsługi formatki i interaktywnego ustawiania właściwości spoiny,

Page 6: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 141

� SpoinaSpaw do przechowywania ustawień spoiny i aktualizacji podglądu 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ń, które są różne od ustawień

domyślnych komponentów.

Tabela 5.1.

Ustawienia komponentów programu PolSpaw

Właściwości Zdarzenia

Obiekt

Nazwa Wartość Nazwa Metoda

Caption Oznaczenie spoiny OnCreate FormCreate

BorderStyle bsSingle OnDestroy FormDestroy

biMaximize FalseForm1

Autosize False

Panel1 BevelOuter byLowered

Image1 Align alClient

Label1 Caption

Wymiar

charakterystyczny

przekroju

poprzecznego spoiny

Label2 Caption

Wymiar

charakterystyczny

przekroju wzdłużnego

spoiny

Label3 Caption Nr pozycji

Label4 Caption Metoda spawania

Text OnChange Edit1ChangeEdit1

MaxLength 3

Text OnChange Edit2ChangeEdit2

MaxLength 5

Edit3 Text 0

Associate Edit3 OnChange Edit3ChangeUpDown1

Max 999

Button1 Caption Rysuj OnClick Button1Click

Button2 Caption Zakończ OnClick Button2Click

Page 7: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

142 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Tabela 5.1.

Ustawienia komponentów programu PolSpaw — ciąg dalszy

Właściwości Zdarzenia

Obiekt

Nazwa Wartość Nazwa Metoda

Button3 Caption Zapisz WMF OnClick Button3Click

CheckBox1 Caption Dookólna

CheckBox2 Caption W montażu

Text OnChange Edit3ChangeComboBox1

Style csDropDownList

GroupBox1 Caption Znaki dodatkowe

GroupBox2 Caption Rodzaj spoiny

Caption Linia identyfikacyjna OnClick RadioGroup1Click

Items.Stringspowyżej linii odn.

poniżej linii odn.

RadioGroup1

ItemIndex 0

Caption Położenie znaku OnClick RadioGroup2Click

Items.Stringspowyżej linii odn.

poniżej linii odn.RadioGroup2

ItemIndex 0

Caption Kształt lica OnClick RadioGroup3Click

Items.Strings

brak

płaska

wklęsła

wypukła

usunięcie nadlewu

usunięcie karbów

RadioGroup3

ItemIndex 0

Caption Znaki dodatkowe OnClick RadioGroup4Click

Items.Strings

brak

pełny przetop

podkładka

RadioGroup4

ItemIndex 0

Page 8: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 143

Tabela 5.1.

Ustawienia komponentów programu PolSpaw — ciąg dalszy

Właściwości Zdarzenia

Obiekt

Nazwa Wartość Nazwa Metoda

Caption Wybierz program OnClick RadioGroup5Click

Items.StringsAutoCAD

interCADRadioGroup5

ItemIndex 0

DefaultExt wmfSaveDialog1

Filter *.wmf|*.wmf

HintSpoina brzeżna —

przetop całkowity

OnClick SpeedButton1Click

SpeedButton1

GroupIndex 1

HintSpoina brzeżna —

przetop częściowy

OnClick SpeedButton1Click

SpeedButton2

GroupIndex 1

Hint Spoina I OnClick SpeedButton1ClickSpeedButton3

GroupIndex 1

Hint Spoina grzbietowa OnClick SpeedButton1ClickSpeedButton4

GroupIndex 1

Hint Spoina V OnClick SpeedButton1ClickSpeedButton5

GroupIndex 1

Hint Spoina 1/2 V OnClick SpeedButton1ClickSpeedButton6

GroupIndex 1

Hint Spoina Y OnClick SpeedButton1ClickSpeedButton7

GroupIndex 1

Hint Spoina 1/2 Y OnClick SpeedButton1ClickSpeedButton8

GroupIndex 1

Hint Spoina U OnClick SpeedButton1ClickSpeedButton9

GroupIndex 1

Hint Spoina 1/2 U (J) OnClick SpeedButton1ClickSpeedButton10

GroupIndex 1

Page 9: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

144 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Tabela 5.1.

Ustawienia komponentów programu PolSpaw — ciąg dalszy

Właściwości Zdarzenia

Obiekt

Nazwa Wartość Nazwa Metoda

Hint Spoina pachwinowa OnClick SpeedButton1ClickSpeedButton11

GroupIndex 1

HintSpoina otworowa

podłużna

OnClick SpeedButton1Click

SpeedButton12

GroupIndex 1

HintSpoina otworowa

okrągła

OnClick SpeedButton1Click

SpeedButton13

GroupIndex 1

HintBezotworowa

punktowa

OnClick SpeedButton1Click

SpeedButton14

GroupIndex 1

Hint Bezotworowa liniowa OnClick SpeedButton1ClickSpeedButton15

GroupIndex 1

Obsługa elementów formatki umieszczona jest w module OznaczFrm.

������������������������������������� �������� ������������������������������������������������������������������������ �������� �����������������!���������"#��������������������!����������� �������������������������������$����%�#���&'��(�����)*�+�*%)������'�� ���,���-�&���.,���/����"#����-0�,"#��������"#����10�,"#�����������#�"� -0�,���#�"� ��������2"� -0�,����2"� ��������2"� 10�,����2"� ����*����-0�,*��������+���-0�,+�������!� �����#�-0�,!� �����#�����3�4��-0�,3�4������� ��-0�,� ������3�4��10�,3�4������� ��10�,� ������!� �����#�10�,!� �����#�����"#����50�,"#����������6�������-0�,��6�������������4�"� -0�,��4�"� ����3�4��50�,3�4������3�4��70�,3�4��

Page 10: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 145

����� ��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>���/����������!�������"!�#����!�����������������������$%��&��������@���2����0&����2"� -@����2� ��� ��������,���-@����2"� 1����2.��� ��0�,�4>���/����������!�������"!�#����!�����������������������������&�����������������@������#0&����2"� 1@����2� ��� ��������,���-@���������.��� ��0�,�4>���/�������������0&,������@������������ ������������&�%����&���"�����'�������������@�� ��0&+���-@�� ������ ����������"�� ����� ���������������@A�����0&+���-@A�����

Page 11: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

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@+��+� � &=���������������@� ���D��20&,�#��������������������@� ���D��20&�������� ��������,���-@� ��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>���/�������������������������������� ����%�� �

Page 12: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 147

��������@D��� ���0&!� �����#�7@+��+� � ��� ��������,���-@!� �����#�5����2.��� ��0�,�4>���/�������������������������������� �� $ �� ���������@D��� ���0&!� �����#�5@+��+� � ��� ��������,���-@"#����-����2.��� ��0�,�4>���/�������������&����������!��������� ����������������� � �����+,����������!����0&,�?�������@����������?����������@��������������.$���H��+�����.?�� ���//�������� ���������������!���������!�����������!����@!��#>�������������������!����@�����������?����������@!��������� ��������,���-@���� "#����-����2.��� ��0�,�4>���/���������������� ����&����������������������������)���� ��� �������������� ��&���� "#����-���������������@D��20&-�������� ��&���� "#����1���������������@D��20&1�������� ��&���� "#����5���������������@D��20&5�������� ��&���� "#����7���������������@D��20&7�������� ��&���� "#����8���������������@D��20&8�������� ��&���� "#����9���������������@D��20&9�������� ��&���� "#����:���������������@D��20&:�������� ��&���� "#����;���������������@D��20&;�������� ��&���� "#����<���������������@D��20&<�������� ��&���� "#����-=��������������@D��20&-=�������� ��&���� "#����--��������������@D��20&--�������� ��&���� "#����-1��������������@D��20&-1�������� ��&���� "#����-5��������������@D��20&-5�������� ��&���� "#����-7��������������@D��20&-7�������� ��&���� "#����-8��������������@D��20&-8��������@!����4���(����� ����������"�%���������� ��������,���-@����������.��� ��0�,�4>���/���

���0+�����������

����������������������������%�����������!��0&,!�������@����������!��@!���%��0&A%�BC��!!�$,C���!����!��@����%��.$����%�#����,�#�/�����0&=�����%�����������)���� ��� ��������������������������������F�����������#�����������������������������I�J���,���� "#��������������������.���������I�J���,���� "#����/@�������������������������!��@�����������.'�������'����������I�J@$��/�����������0&����������#��������������������+��.�/��������������������!��@��������������@����

Page 13: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

148 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

��������������������������������������%� �� �"���� �������#��������.� ���������*���.?����������@� �$��//���@

Ustawienia uproszczonego symbolu spoiny przechowywane są w polach klasy �����zdefiniowanej w module SpoinySpaw. Klasa ����� zawiera również metody automa-tycznego rysowania podglądu symbolu spoiny. Sekcja ����!��� modułu SpoinySpawprzedstawia się następująco:

�����������������������

��

������������� ��������������������������� �

����(����&���%���-'������� ���*���&!��&����������������� ��������� �&!��&������������������� ��&!�����"�%����������������� � ��������������"�� ������ ��������������� ����&���������,������&��.,����(���/�� ������������(�0,����(������6�������3����0,����������"���0,����������D��20�+��������������2����0�"�����������������#0�"���������� =��=� ������3��+�� D���� �,� ����D��2��D��2�� ���������0+������������*�0�+������������ ���3��+�0�"�����������D���*��0������������D����� 0������������!���� �����0�"������������ ���D��20�"������������=D��2#0�+�����������$�*��0�+�����������,����������0������������D��� ���0�+�����������D��� ���0�+�������������� ����������"�%�����������"� ����� ��������!��D��2���� ��������!�����2������ ��������!��������#���� ��������!��!���� ��������� ��������!��3��+����� ��������!��D��������� ��������!��$�*��,������� ��������!��D��� ������� ��������!��D��� �����������������������)����)������ �����������D��2.������H��#�0�+������/���� ��������������2����.������H��#�0�"������/���� �����������������#.������H��#�0�"������/���� ������������*�.������H��#�0�+������/���� ������������ ���3��+�.������H��#�0�"������/���� �����������D���*��.������H��#�0�������/���� �����������D����� .������H��#�0�������/���� �����������!���� �����.������H��#�0�"������/

Page 14: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 149

���� ������������ ���D��2.������H��#�0�"������/���� ������������=D��2#.������H��#�0�+������/���� �����������$�*��.������H��#�0�+������/���� �����������,����������.������H��#�0�������/���� �����������D��� ���.������H��#�0�+������/���� �����������D��� ���.������H��#�0�+������/��� ���� ���������������� ��������?���!. �������2��220��#4��/���� ��������*����>�D��2���� ������������ ���!������0,���6������ �� �����D��20+�������������D��2����������D��2���� �� ��������2����0"����������������2�����������������2�������� �� �����������#0"�������������������#����������������#���� �� �����D��� ���0+�������������D��� �������������D��� ������� �� �����!���� �����0"�������������!���� ���������������!���� ��������� �� ������*�0+��������������*������������*����� �� ������ ���D��20"�������������� ���D��2����������� ���D��2���� �� ������=D��2#0+��������������=D��2#�����������=D��2#���� �� ������ ���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��+���D��2��=D��2#��,�����*��� D���������D��2�� �%��0��#4������*���%��%�+��%�D��20+����������?�� �4>0�3�H���������� ���������������*�������� ��������!����4��?�� ���� ��������!��������2�?�� ���� ��������!��D��2?�� ���� ��������!��D��2�� ���?�� ���� ��������!��D��2�� ���?�� �� ����

Page 15: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

150 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

�������������������������������������� ����������� ��������!��#>��������������

��!����0,�?��������� �����������

��

����������������������������������������

��$�����������&'�3�������'���������,�?�������@����������� �������"��������������������!���������

��*0&1���0&G-��0&5@8��3��+�0&-K5L����D��20&�� D�0&1L�M=@:-L�L3�����.������@D���*��/���D��2�� 0&�3��+������������@� ���3��+�����������%�+�0&-���������������%�+�0&G-�����������@� ���D��2���������%�D��20&-�������������%�D��20&G-��%����������(�����&�������������� ��������*� ����*�����������@� ���D��2&������@� ���3��+�����������������=D��2#0&%�D��2L.�3��+�M=@-L�/�����D��2�� 0&=�������������������������=D��2#0&%�D��2L=@-L������"����������%����������%���!�������D��2�� 0&%�+�L�3��+���������������������������������*��%� �����������������.������@,����������FE''/�����.������@$�*��E=/����������������,���0&G�����*��0&��������������������������,���0&=���*��0&=������������!���������� � ����������*�����D?�� ���������������&�)%������!��������!�������������D�������>�������������������(���#>��������������������>,���3������������������� ������������������������ �������&������������������������������3��+�����>�.$�����������/��������&�)%���������"�����������������������?�� ���@3�����@? .$�����������/��������������������������&��� �����������?2�����������0&?�� ���@3�����@+��.$�����������/���������?�� ���@?���6�3����0&?2��������������������?�� ���@?���6�3����@�����0&��!� ���������� �������������������������������,�?�������@����

Page 16: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 151

������������������"�������� ��� ������������3���������H��+�����.?�� ���/���������*���������������������&�)%�����!���������,��+,����"��������!�������������������������� ��������,�?�������@�������*��������������"%��������������3��$������"�%������������ =E =������������������ ������$������������������ ���������%�0&-�� D�0& D������������������������������� ������$�����������������%���������%�0&G-�� D�0&%�L.�G D�/����������D��20&%�D��2L�D��2���������������!��%����������&!��&��������%��0&������.. =G =�/K�N��.�N�. =G =�/M�N�.�=G�=�///������=�E�=���������4���5�.��� ������%��0&1L*�G%����� ��������,�?�������@!��#>������������������������������������&�� ����� �� �����������%���!����4��?�� ��� ��������,�?�������@!����4��?�� ���

����2�����*2�0���H�������������� ����������"�%��������������������$ ��������������!�� ����(�������������� ������� ���).�����$������0&7L�M�L.3�����.������@D���*��/M3�����.������@D����� //���� D�0&1L�M�L3�����.������@D���*��/������2�����*2�0&H��?����������.I=�1J�6����#4��/�����"�� ���������$�������2�����*2�0&?�� ���@�������@���*����.�'��2�O���P�O����������P2�'/���� =�0&��2�����*2�I=J���=�0&��2�����*2�I-J������2�����*2�0&?�� ���@�������@���*����.�'��2�O���P�O������QP2����4��#'/���� =0&��2�����*2�I=J���=0&��2�����*2�I-J�����������*��������?�� ���@? 3���.�1�. =���=�/��1�. =��=//����!��������2�?�� ���� �������� ���������?�� ���@? 3���.�1�. =��=/��1�. =M%�L���=//�����$�����%����������(�����&������?�� �4>0&?�� ���@? 3���.�1�. =M%�L-K1L���=M%�+�L�3��+�/��������1�. =M%�L���=M%�+�L�3��+�//����?�� �4>@3���,���0&'A+���$'����!��D��2?�� ���������������������������� ��������������%�D��2E=�������������������������$��!������?�� ���@? ,� �.������@D���*����1�. =M D�G�L��������.3�����.������@D���*��/M-@8/��=M-@-L�=D��2#/��/������?�� ���@? ,� �.������@D����� ��1�. =M D�M1L����=M-@-L�=D��2#/��/������������������������������������$��!��������?�� ���@? ,� �.������@D���*����1�. =M D�G�L����������.3�����.������@D���*��/M-@8/��=M-@-L�=D��2#G�/��/��������?�� ���@? ,� �.������@D����� ��1�. =M D�M�L����������.3�����.������@D���*��/G-@8/��=M-@-L�=D��2#G�/��/�������������!��D��2�� ���?�� ����������������������������������������%������!��D��2�� ���?�� ����������������������������������������%��

Page 17: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

152 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

�������������@���2��������������������������������������$%��������?�� ���@? ������.�1�. =��=/�-K5L�/�������������@�������#�������������������������*� ! �����������?�� ���@? 3���.�1�. =��=/��1�. =��=M1L�//������?�� ���@? 3���.�1�. =��=M1L�/��1�. =G%�L�L���.*�K-1/����������=M1L�G�L���.*�K9///������?�� ���@? 3���.�1�. =��=M�/��1�. =G%�L�L���.*�K-1/����������=M1L�G�L���.*�K9///��������� �����%�����%����������������������.������@,����������FE''/����.������@$�*��E=/�����������������?�� ���@? 3���.�1�. =M%�L���=/��1�. =M%�L��������.�M�L���.*�K7//��=M�L���.*�K7///������?�� ���@? 3���.�1�. =M%�L���=/��1�. =M%�L��������.�M�L���.*�K7//��=G�L���.*�K7///��������������%�E=����������������������������*��%� ���������������������.������@,����������FE''/�������������?�� ���@? ,� �.������@,������������1�. =M%�L.�M�/��=M�,���G�K1/��/���������������@$�*��E=���������� ������&���������?�� ���@? ,� �.+��,����.������@$�*��/��1�. =M%�L.�M�/������������=M�*��G�/�-@7L�/���������������������������������.������@,����������FE''/���������������?�� ���@? ,� �.������@,������������1�. =M%�L�����������.�M�L3�����.������@,����������//��=M�,���G�K1/��/�����������������@$�*��E=���������� ������&�����������?�� ���@? ,� �.+��,����.������@$�*��/��1�. =M%�L������������.�M�M�L3�����.+��,����.������@$�*��///��=M�*��G�/�-@7L�/�������������� �����?����������@!��������������������.'*��� ���2��������#�2�#�����P��������������'M������R-5M'2�Q�������� ���P��#����S���PT������������������3�'MR-5M������R-5M'�����������������#�����O������Q���U@'��������I4�%J�=/�������� ��������,�?�������@!��������2�?�� ��������� �������� ��������"�%���������?�� ���@? 3���.�1�. =���=�/��1�. =�M�K���.*�K17/L�������.%��M*�K17/��=�M�K���.*�K17/L���.%��M*�K17///��?�� ���@? 3���.�1�. =���=�/��1�. =�M�K���.*�K17/L�������.%��G*�K17/��=�M�K���.*�K17/L���.%��G*�K17///��?�� ���@? 3���.�1�. =�M�K���.*�K17/L���.%��M*�K17/������=�M�K���.*�K17/L���.%��M*�K17//��1�. =�M�K���.*�K17/L�������.%��G*�K17/��=�M�K���.*�K17/L���.%��G*�K17///��� ��������,�?�������@!��D��2?�� ���� �������������������� �� ����&��������� ��������D��2��+����������� ����� �� ��������������������67��������������&����%��� �������?�� ���@? ����.�1�. =M D�G�K7��=M�D��2M�=D��2#/��������1�. =M D�G�K7��=M�=D��2#//����?�� ���@? ����.�1�. =M D�M�K7��=M�D��2M�=D��2#/��������1�. =M D�M�K7��=M�=D��2#//������� ��������D��2��*� ����

Page 18: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 153

������������ ����� �� ����������������������� ���&����?�� ���@? ����.�1�. =M D�G���=M�=D��2#/��������1�. =M D�G���=M�=D��2#M�D��2//����?�� ���@? ����.�1�. =M D�G���=M�=D��2#M�D��2/��������1�. =M D�M���=M�=D��2#M�D��2//����?�� ���@? ����.�1�. =M D�M���=M�=D��2#/�1�. =M D�M���=M�=D��2#M�D��2//����?�� ���@? ����.�1�. =M D�G���=M�=D��2#/��1�. =M D�M���=M�=D��2#//����������

�����������@D��2�����-04��������'������" ��������� ����������������������� ������������������������?�� ���@? ����.�1�. =M D�G=@1L���=M�D��2M�=D��2#/����������1�. =M D�G=@1L���=M=@8L�D��2M�=D��2#//������?�� ���@? ����.�1�. =M D�M=@1L���=M�D��2M�=D��2#/����������1�. =M D�M=@1L���=M=@8L�D��2M�=D��2#//���������������@� ���D��2�����������������������%����)�����������������������������?�� ���@? ?��.�1�. =M D�G=@:L���=M�=D��2#M=@8L�D��2/�����������=@8L��5K1L*��1L*�/��������?�� ���@? ?��.�1�. =M D�M=@:L���=M�=D��2#M=@8L�D��2/�����������=@8L��*��5K1L*�/������������������������������������?�� ���@? ?��.�1�. =M D�G=@:L���=M�=D��2#M=@8L�D��2/�������������=@8L��=�*�K1/����������?�� ���@? ?��.�1�. =M D�M=@:L���=M�=D��2#M=@8L�D��2/�������������=@8L��*�K1�*�/����������������������10D��2��+����'������" ��������� ������������������� ��������������).�����50D��2��+����'������6����70D��2��+����'������ �"���������804�����������'������8��������?�� ���@? ����.�1�. =M D�G�K�N��.5/��=M�D��2M�=D��2#/������������1�. =M D���=M�=D��2#//��������?�� ���@? ����.�1�. =M D���=M�=D��2#/������������1�. =M D�M�K�N��.5/��=M�D��2M�=D��2#//�������������904�����������'������9�:8��������?�� ���@? 3���.�1�. =M D�G�K1��=M�D��2M�=D��2#/������������1�. =M D�G�K1��=M�=D��2#//��������?�� ���@? 3���.�1�. =M D�G�K1��=M�=D��2#/������������1�. =M D�G�K1M�L���.*�K7/��=M�D��2M�=D��2#//�������������:04�����������'������;��������?�� ���@? 3���.�1�. =M D���=M-K5L�D��2M�=D��2#/������������1�. =M D���=M�=D��2#//��������?�� ���@? 3���.�1�. =M D�G�N��.5/��=M�D��2M�=D��2#/������������1�. =M D���=M�=D��2#M-K5L�D��2//��������?�� ���@? 3���.�1�. =M D���=M�=D��2#M-K5L�D��2/������������1�. =M D�M�K�N��.5/��=M�D��2M�=D��2#//�������������;04�����������'������9�:;��������?�� ���@? 3���.�1�. =M D�G�K1��=M�D��2M�=D��2#/������������1�. =M D�G�K1��=M�=D��2#//��������?�� ���@? 3���.�1�. =M D�G�K1��=M�=D��2#M-K5L�D��2/������������1�. =M D�G�K1M�L���.*�K7/��=M�D��2M�=D��2#//�������������<04�����������'������<

Page 19: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

154 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

��������?�� ���@? 3���.�1�. =M D���=M-K7L�D��2M�=D��2#/������������1�. =M D���=M�=D��2#//�����������������@� ���D��2���������������?�� ���@? ?��.�1�. =M D���=M�D��2M�=D��2#/�5K7L��*��1L*�/�������������������������?�� ���@? ?��.�1�. =M D���=M�D��2M�=D��2#/�5K7L��=�*�/�������������-=04����������'������9�:<��������?�� ���@? 3���.�1�. =M D�G5K;L���=M�D��2M�=D��2#/������������1�. =M D�G5K;L���=M�=D��2#//������������������@� ���D��2����������������?�� ���@? ?��.�1�. =M D�G5K;L���=M�D��2M�=D��2#/��������������5K7L��5K1L*��1L*�/���������������������������?�� ���@? ?��.�1�. =M D�G5K;L���=M�D��2M�=D��2#/����������������5K7L��=�*�K1/��������������--04����������'���������*��������������?�� ���@? 3���.�1�. =M D�G�K1��=M�D��2M�=D��2#/������������1�. =M D�G�K1��=M�=D��2#//��������?�� ���@? 3���.�1�. =M D�G�K1��=M�=D��2#/������������1�. =M D�M�K1��=M�=D��2#//��������?�� ���@? 3���.�1�. =M D�M�K1��=M�=D��2#/������������1�. =M D�G�K1��=M�D��2M�=D��2#//��������������-10��D��2��*� ����������'������������������-50��D��2��*� ����������'��������� ������ ! ������-70����������������������'������"����� ��������������������?�� ���@? ������.�1�. =M D���=M�D��2K1M�=D��2#/��K1/����-804���������������������'������"����� ����%���������������?�� ���@? 3���.�1�. =M D�G5K7L���=M7K9L�D��2M�=D��2#/�������������1�. =M D�M5K7L���=M7K9L�D��2M�=D��2#//���������?�� ���@? 3���.�1�. =M D�G5K7L���=M1K9L�D��2M�=D��2#/�������������1�. =M D�M5K7L���=M1K9L�D��2M�=D��2#//���������?�� ���@? ������.�1�. =M D���=M�D��2K1M�=D��2#/��K1/������������������ ��������,�?�������@!��D��2�� ���?�� ��������� ���������������������� ����%�� ����������@D��� ��������=0����������" ����������-0������������������ �����������?�� ���@? 3���.�1�. =M D�G�L���.*�K9/��=M�D��2�� /�����������1�. =M D�M�L���.*�K9/��=M�D��2�� //����������������@� ���D��2��������������?�� ���@? ?��.�1�. =M D���=M�D��2�� M�D��2K1/���:K9L*��--K9L*�/�����������������������?�� ���@? ?��.�1�. =M D���=M�D��2�� M�D��2K1/���*�K9�8K9L*�/����������10��������������������������?�� ���@? 3���.�1�. =M D�G�K1��=M�D��2�� /����������1�. =M D�M�K1��=M�D��2�� //������?�� ���@? 3���.�1�. =M D�M�K1��=M�D��2�� /�����������1�. =M D�M�K1��=M�D��2�� G�D��2K1//�������?�� ���@? 3���.�1�. =M D�M�K1��=M�D��2�� G�D��2K1/�����������1�. =M D�G�K1��=M�D��2�� G�D��2K1//�������?�� ���@? 3���.�1�. =M D�G�K1��=M�D��2�� G�D��2K1/�

Page 20: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 155

����������1�. =M D�G�K1��=M�D��2�� //���������������� ��������,�?�������@!��D��2�� ���?�� ��������� ���������������������� �� $ �� ����������@D��2FE--����������%������������*��������*�����������������@D��� ���������=0���������������" �����-04������������������������?�� ���@? 3���.�1�. =M D�G�K1��=M�=D��2#M-@1L�D��2/����������1�. =M D�M�K1��=M�=D��2#M-@1L�D��2//����������104���������������%������������������@� ���D��2�������������?�� ���@? ?��.�1�. =M D���=M�=D��2#M:K7L�D��2/��K1�8K7L*��:K7L*�/���������������������?�� ���@? ?��.�1�. =M D���=M�=D��2#M:K7L�D��2/��K1�*�K7�5K7L*�/����������504�����������������������������������@� ���D��2�������������?�� ���@? ?��.�1�. =M D���=M�=D��2#M5K7L�D��2/��K1�*�K7�5K7L*�/�������������������������?�� ���@? ?��.�1�. =M D���=M�=D��2#M5K7L�D��2/��K1���������������8K7L*��:K7L*�/�����������704��������������������%���������� $����������� ��*��!�" �� ����������?�� ���@? 3���.�1�. =M D�G�K1��=M�=D��2#M8K7L�D��2/�������������1�. =M D�M�K1��=M�=D��2#M8K7L�D��2//���������?�� ���@? ������.�1�. =M D���=M�=D��2#M8K7L�D��2M�D��2K7/��K7/�����������804������������������������3����� "$��=������=�������?�� ���@? 3���.�1�. =M D���=M�=D��2#M<K7L�D��2/�����������1�. =M D���=M�=D��2#M9K7L�D��2//����������������@� ���D��2��������������������?�� ���@? ?��.�1�. =M D�M-K7L���=M�=D��2#M9K7L�D��2/��K7�*��1L*�/���������?�� ���@? ?��.�1�. =M D�G-K7L���=M�=D��2#M9K7L�D��2/��K7�*��1L*�/���������������������������������������?�� ���@? ?��.�1�. =M D�M-K7L���=M�=D��2#M9K7L�D��2/��K7�=�*�/�����������?�� ���@? ?��.�1�. =M D�G-K7L���=M�=D��2#M9K7L�D��2/��K7�=�*�/�������������������������

����������������%�����������*������&������ ��������������&�������������������������@D��� ��������=0��������" ����-04������������������?�� ���@? 3���.�1�. =M D�G.�K1G�K1L���.*�K7//��=M�=D��2#��������M5K1L�D��2L���.*�K7//��1�. =M D�G.�K1G5K1L�L���.*�K7//����������=M�=D��2#M�D��2K1L���.*�K7///���������104����������%����������������@� ���D��2�����������?�� ���@? ?��.�1�. =M D�G�K1M5K1L�L���.*�K7/��������������=M�=D��2#M5K1L�D��2L���.*�K7//��K1�*��5K1L*�/���������������������?�� ���@? ?��.�1�. =M D�G�K1M5K1L�L���.*�K7/�

Page 21: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

156 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

�������������=M�=D��2#M5K1L�D��2L���.*�K7//��K1�*�K1�*�/�������������504������������������������������@� ���D��2�������������?�� ���@? ?��.�1�. =M D�G�K1M�K1L���.*�K7/������������=M�=D��2#M�D��2K1L���.*�K7//��K1�=�*�K1/���������������������?�� ���@? ?��.�1�. =M D�G�K1M-K1L�L���.*�K7/��������������=M�=D��2#M-K1L�D��2L���.*�K7//��K1�5K1L*��1L*�/���������704��������������������%���������� $����������� ��*��!�" �� �������?�� ���@? 3���.�1�. =M D�G.�K1G�K1L���.*�K7//����������=M�=D��2#M5K1L�D��2L���.*�K7//��1�. =M D�G��������.�K1G5K1L�L���.*�K7//��=M�=D��2#M�D��2K1L���.*�K7///������?�� ���@? ������.�1�. =M D�G�K1M8K7L�L���.*�K7/����������=M�=D��2#M8K7L�D��2L���.*�K7//��K7/���������804������������������������3����� "$�������?�� ���@? 3���.�1�. =M D�G.�K1G1L�L���.*�K7//����������=M�=D��2#M1L�D��2L���.*�K7//��1�. =M D�G��������.�K1G8K7L�L���.*�K7//��=M�=D��2#M8K7L�D��2L���.*�K7///���������������@� ���D��2�������������������?�� ���@? ?��.�1�. =M D�G�K1M�L���.*�K7/������������=M�=D��2#M5K1L�D��2L���.*�K7//��K7�5K7L*��:K7L*�/��������?�� ���@? ?��.�1�. =M D�G�K1M5K1L�L���.*�K7/����������������=M�=D��2#M�D��2L���.*�K7//��K7�5K7L*��:K7L*�/��������������������������������?�� ���@? ?��.�1�. =M D�G�K1M�L���.*�K7/������������=M�=D��2#M5K1L�D��2L���.*�K7//��K7�*�K7�8K7L*�/��������?�� ���@? ?��.�1�. =M D�G�K1M5K1L�L���.*�K7/������������=M�=D��2#M�D��2L���.*�K7//��K7�*�K7�8K7L*�/���������������������������@

Rysunek 5.2.

Okno programuPolSpaw przy pracyw programie AutoCAD

Page 22: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 157

Elementy połączeń śrubowych

Przy projektowaniu urządzeń często stosuje się połączenia gwintowe. Istnieje wiele ich

odmian przystosowanych do różnych zastosowań. Korzystna jest automatyzacja wyko-

nywania rysunków i doboru tych elementów. Mając na uwadze określoną firmę czy też

projektowanie konkretnych urządzeń, można programowo przygotować selekcję ele-

mentów, preferując ich unifikację. Przedstawiony w tym punkcie przykład dotyczy au-

tomatycznego generowania rysunków elementów połączeń śrubowych wraz z atrybu-

tami przechowującymi informacje o ich oznaczeniach.

Przy budowie programu PolaczGwint do opisu elementów połączeń śrubowych zasto-

sowano podejście obiektowe z wykorzystaniem dziedziczenia i metod abstrakcyjnych.

Dzięki tym technologiom uzyskano większe możliwości programu w zakresie komple-

tacji połączenia.

Przedstawiony przykład dotyczy elementów połączeń śrubowych, takich jak:

� śruby z łbem sześciokątnym z gwintem na całej długości lub częściowym opisanych

w normach [33], [32],

� śruby z łbem walcowym opisane w normie [34],

� nakrętki zwykłe i zmniejszone opisane w normach [35], [36],

� podkładki okrągłe zgrubne i dokładne opisane w normach [38], [39],

� podkładki sprężyste zwykłe i lekkie opisane w normach [40], [41],

� gwinty zewnętrzne i wewnętrzne opisane w normie [37].

Przedstawiony program może być rozszerzany o inne elementy i modyfikowany do współ-

pracy z różnymi programami CAD.

Program do połączeń śrubowych nazwano PolaczGwint i zbudowano go z następujących

modułów: PGwintFrm, RysSruby, RysNakr, RysGwint, RysPodkl, które opracowano do

rysowania danego typu elementu.

Formatkę programu PolaczGwint przedstawiono na rysunku 5.3. Umieszczono na niej

komponent ����������, w którym zdefiniowano odpowiednio cztery zakładki dla wy-

różnienia grup elementów. Rysunek 5.3 przedstawia zakładkę dla elementów typu śruba

i zgromadzone odpowiednie komponenty, jak �� ���, ���� ����, itp., służące do wy-

selekcjonowania elementu o określonych wymiarach. Dla pozostałych elementów przy-

gotowano analogiczne zakładki i umieszczono na nich odpowiednie komponenty.

W dolnej części formatki poza obszarem komponentu ���������� umieszczono kom-

ponenty ���� ���� oraz ��������, �������� i ����� wspólne dla wszystkich zakładek,

pozwalające na wybór sposobu rysowania elementu.

Wymiary i inne dane elementów zgromadzono w plikach relacyjnych baz danych z roz-

szerzeniem db (Paradox), natomiast dostęp do tych danych zrealizowano za pomocą ję-

zyka SQL obsługiwanego przez komponent #���$.

Page 23: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

158 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Wybór widoku elementu(RadioGroup1:TRadioGroup)

Etykieta wyborupowłoki

(Label3:TLabel)

Rysowanie osi(CheckBox1:TCheckBox)

Okno wyboru powłoki(ComboBox2:TComboBox)

Rysowaniewskazanego elementu(Button1:TButton)Element pobierający

daneo elemencie z tabeliBD (Query2:TQuery)

Element pobierający daneo elemencie z tabeli BD

(Query1:TQuery)

Element pośredniczącyw przekazywaniu danych(DataSource1:TDataSource)

Okno wyświetlaniarysunku elementu(Image1:TImage)

Formatka(Form1:TForm)

Panel, obramowanie rysunku(Panel1:TPanel)

Karty z zakładkami(PageControl1:TPageControl)

Tabela z nazwami elementów(DBTable1:TDBTable)

Etykieta tabeli(Label1:TLabel)

Grupa przycisków radiowychwyboru rodzaju gwintu

(RadioGroup2:TRadioGroup)

Grupa przyciskówrad. wyboru elementu

(RadioGroup3:TRadioGroup)

Etykieta wyboru długości(Label2:TLabel)

Okno wyborudługości

(ComboBox1:TComboBox)

Etykieta wyboruwytrzymałości(Label4:TLabel)

Okno wyboruwytrzymałości(ComboBox3:TComboBox)

Wybór klasy dokładności(RadioGroup4:TRadioGroup)

Rysunek 5.3. Formatka programu PolaczGwint

Tabela 5.2.

Ustawienia komponentów umieszczonych na zakładce Śruby formatki programu PolaczGwint

Właściwości Zdarzenia

Obiekt

Nazwa Wartość Nazwa Metoda

Button2 Caption &Zakończ OnClick Button2Click

CheckBox1 Caption &Rysuj osie

ComboBox1

ComboBox2 Text

Items.Strings

Fe-Zn

Fe-Cd

Fe-Fg

Fe-Ox

ComboBox3

Caption Widok

Items.Stringsz &góry

z &bokuRadioGroup1

ItemIndex 0

Page 24: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 159

Tabela 5.2.

Ustawienia komponentów umieszczonych na zakładce Śruby formatki programu PolaczGwint— ciąg dalszy

Właściwości Zdarzenia

Obiekt

Nazwa Wartość Nazwa Metoda

Caption Rodzaj gwintu OnClick RadioGroup3Click

Items.Strings&zwykły

&drobnozwojowyRadioGroup2

ItemIndex 0

Caption Rodzaj śruby OnClick RadioGroup4Click

Items.Strings

Łeb

&sześciokątny

&Cała

gwintowana

Łeb &walcowy

RadioGroup3

ItemIndex 0

Caption Klasa dokł. OnClick RadioGroup5Click

Items.Strings

I

II

III

ItemIndex 0

RadioGroup4

Columns 3

Columns[0].FieldName Nazwa OnClick DBGrid1CellClick

DataSource DataSource1

dgEditing FalseDBGrid1

dgColumn- Resize False

Query1

Query2

DataSource1 DataSet Query1

Obsługę formatki programu PolaczGwint i dostęp do zgromadzonych danych zrealizo-wano w module PGwintFrm. Procedury do wykonywania rysunków śrub, nakrętek,gwintów i podkładek umieszczono odpowiednio w modułach: RysSruby, RysNakr,RysGwint i RysPodkl. Przedstawione zostaną przykładowe moduły PolaczGwint i RysSruby. Moduły dotyczące rysowania pozostałych elementów zbudowano podobnie jakmoduł RysSruby; dostępne są one na płycie CD załączonej do książki.

Page 25: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

160 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Kod modułu PGwintFrm:

�����*����������������

��

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

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

��,���-�&���.,���/��������2"� -0�,����2"� ����!� �����#�-=0�,!� �����#�����3�4��50�,3�4��������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���������,�4�����10�,,�4���������,�4�����50�,,�4���������,�4�����70�,,�4���������������#���-0�,������#�������V#���-0�,V#�������V#���10�,V#��������"��� -0�,�"��� ����"#����-0�,"#��������!� �����#�10�,!� �����#�����!� �����#�-0�,!� �����#������"��� 10�,�"��� ����3�4��-0�,3�4�������"��� 50�,�"��� �����"��� 70�,�"��� ����!� �����#�50�,!� �����#�����3�4��10�,3�4��������4�"� -0�,��4�"� ����3�4��70�,3�4��������4�"� 50�,��4�"� ����3�4��90�,3�4������!� �����#�<0�,!� �����#�

Page 26: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 161

����!� �����#�90�,!� �����#�����!� �����#�80�,!� �����#�������4�"� 90�,��4�"� ����3�4��;0�,3�4������3�4��-=0�,3�4��������4�"� ;0�,��4�"� ����!� �����#�:0�,!� �����#�����!� �����#�;0�,!� �����#�����3�4��--0�,3�4������3�4��-10�,3�4������!� �����#�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&���,������.���/����� ����������������.�����.'%������>��P�W�#����X����������� P����S@'�I���J//����!��#��0&=�������� ��������,���-@������#�����!��

Page 27: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

162 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

�����

�����.V#���-@?���6�/�����.V#���-@���� "�$��.'$����'/@?�������FE''/�����������������#�����!��0&V#���-@���� "�$��.'$����'/@?��������������*��.' '��#�����!��/FE=����������������&�������� ������%������������������#�����!��*� 0&����.�#�����!���-�*��.' '��#�����!��/G-/��������9:C9�D������������������#�����!��*� 0&�#�����!�����������9:�������.*��.' '��#�����!��/FE=/�����.*��.'.'��#�����!��/FE=/������������#�����!��*� 0&�#�����!��*� M'/'�����%��) �����������%������*�������� ��������,���-@���������.��� ��0�,�4>���/������������%����$���������������

�������������������� �&� ����������" ��� ������������!��0&,!�������@����������!��@!���%��0&A%�BC��!!�$,C���!����!��@����%��.$����%�#����,�#�/�������������!� �����#�-@+��+� � 0&!��@!�� +������.'�������'/������� �������!� �����#�-@+��+� � 0&=������ �����"�������������������������������!��@������������#�����!��0&'�-='����� � �������)%������������ � ����"����� ����9E��*����������-@��������.���-/��� ��������,���-@*����������-������.��� ��0�,�4>���/������%���&���������� �������" ���&���������!��������������

��V#���-@?���6�0&�������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#���-@?���6�0&������������!� �����#�9@+��+� � &=����������%����� �)������ �����'F0������V#���-@�V3I=J0&�����.'�������L�(���X��������X��������2��X�'���������I'Y�")������C=1=-5Y'�'$����'�'YX XY'J/

Page 28: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 163

�������������V#���-@�V3I=J0&�����.'�������L�(���X��������X����2��X�'���������I'Y�")������C=1=-5Y'�'$����'�'YX XY'J/����V#���-@?���6�0&,�#�����V#���-@3�����.'$����'��#�����!���IJ/����������������������&������&��������������V#���-@���4���������������!���������)���%����������$��������������������!� �����#�-5@������2.!� �����#�9/���"��� 5@����������2.�"��� 5@���#��I=J/��� ��������,���-@!� �����#�:����2.��� ��0�,�4>���/������������������������������&���������������������G ��������

��!� �����#�;@+���@����������!� �����#�:@+��+� � &=����������������!� �����#�;@+���@? .'ZD��#4��'/�����!� �����#�;@+���@? .'Z��2P� ��'/������������������������!� �����#�;@+���@? .'ZD��2P�'/������!� �����#�;@+���@? .'Z3�22��'/���������!� �����#�;@+��+� � 0&=��!� �����#�;@������2.!� �����#�:/��� ��������,���-@!� �����#�;����2.��� ��0�,�4>���/�����

���������������#�����!������V#���-@����4��������������V#���-@?���6�0&������������������� ! ���� �"���������.!� �����#�:@+��+� � &=/�����.!� �����#�;@+��+� � &=/�����������������!� �����#�-=@H���4��0&�����������!� �����#�--@H���4��0&�����������V#���-@�V3I=J0&'�������L�(���Y�")*� 2��2�DC;1==8Y'������+���7@*���#��@3�� �������.'���);1==8@4�'/����������� ! ������������������.!� �����#�:@+��+� � &=/�����.!� �����#�;@+��+� � &-/�����������������!� �����#�-=@H���4��0&,�#�������!� �����#�--@H���4��0&,�#����������!� �����#�-=@+��+� � &=����������� ��%����������V#���-@�V3I=J0&'�������L�(���Y�")*� 2��2��C;1==9Y'��������������������&��������������V#���-@�V3I=J0&'�������L�(���Y�")*� 2��2��C;1==9Y�������'M������������'��DD��������#��'������+���7@*���#��@3�� �������.'���);1==9@4�'/���������� �����������!� �����#�:@+��+� � &-�����������������!� �����#�-=@H���4��0&�����������!� �����#�--@H���4��0&���������������!� �����#�;@+��+� � &=�������������V#���-@�V3I=J0&'�������L�(���Y�")*� 2����DC;1==;Y'���������������������V#���-@�V3I=J0&'�������L�(���Y�")*� 2����3C;1==;Y'

Page 29: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

164 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

������+���7@*���#��@3�� �������.'���);1==;@4�'/�����������V#���-@?���6�0&,�#�����V#���-@3�����.'$����'��#�����!��*� �IJ/�������������V#���-@���4������������������ ��������,���-@!� �����#�1����2.��� ��0�,�4>���/���

����������� 0��#4�������

�������� ���!�������������*������������������������ ����&� ��������!� �����#�<@+��+� � 0&!� �����#�1@+��+� � ����!� �����#�9@+��+� � 0&!� �����#�1@+��+� � ����V#���-@����4��������������V#���-@?���6�0&�������������������"� ������� %��������%�����������)���) �"�������!� �����#�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�(���X��������X��������2��X�'�M������'������E&X�������F&X�'���������I$����,�4����'$����'�'YX XY'��������� J/�����������������V#���-@�V3I=J0&�����.'�������L�(���X��������X����2��X�'�����������I$����,�4����'$����'�'YX XY'J/����V#���-@?���6�0&,�#�����V#���-@3�����.'$����'��#�����!���IJ/�������������V#���-@���4������������������ ��������,���-@!� �����#�5����2.��� ��0�,�4>���/���������"�� ������������"�%������������%��������� �� ����&��) �"�����!� �����#�5@+��+� � �������=0�$����,�4���0&'Y�")��#4�C;1-=-Y'����-0�$����,�4���0&'Y�")��#4�C;1-=8Y'����10�$����,�4���0&'Y�")��#4�C;15=1Y'�����������������������$��) �"�����!� �����#�5@+��+� � �������=0�+���-@*���#��@3�� �������.'���);1-=-@4�'/����-0�+���-@*���#��@3�� �������.'���);1-=8@4�'/����10�+���-@*���#��@3�� �������.'���);15=1@4�'/

Page 30: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 165

�������!� �����#�1@������2.!� �����#�5/��!� �����#�7@������2.!� �����#�5/���"��� -@����������2.�"��� -@���#��I=J/��� ��������,���-@!� �����#�<����2.��� ��0�,�4>���/����������"�� ���������"�%������������%��������� �� ����&����� ����������� ���!�������������*������������������������ ����&� ��������!� �����#�1@+��+� � 0&!� �����#�<@+��+� � ����!� �����#�9@+��+� � 0&!� �����#�<@+��+� � ����V#���-@����4��������������V#���-@?���6�0&�����������������,BH� �����������������.!� �����#�<@+��+� � &=/�����..!� �����#�-1@+��+� � &=/��������.!� �����#�-1@+��+� � &-//����������������V#���-@�V3I=J0&�����.'�������L�(���X��������X��������2��X�'���������I$����,�4����'$����'�'YX XY'J/�������������������,BH� ����� �"�����&����������.!� �����#�<@+��+� � &-/�����..!� �����#�-1@+��+� � &=/���������.!� �����#�-1@+��+� � &-//�����������������V#���-@�V3I=J0&�����.'�������L�(���X��������X����2��X�'���������I$����,�4����'$����'�'YX XY'J/�������������������+� �����������������.!� �����#�<@+��+� � &=/�����.!� �����#�-1@+��+� � &1/�����������������V#���-@�V3I=J0&�����.'�������L�(���X��������X��������2��X�'M��������'�����X���������#��'�I$����,�4����'$����'�'YX XY'�'�-�'J/�������������������+� ����� �"�����&����������.!� �����#�<@+��+� � &-/�����.!� �����#�-1@+��+� � &1/����������������������������.'$�2�S�2�����#4�����2���������T����2����'M��������'�����������2P�@'/������!� �����#�<@+��+� � 0&=�����������V#���-@?���6�0&,�#�����V#���-@3�����.'$����'��#�����!���IJ/�������������V#���-@���4������������������ ��������,���-@!� �����#�7����2.��� ��0�,�4>���/����%������� ������)���) �"������%����)��������������)�����������������

�����!� �����#�7@+��+� � &=�����������������4�"� 5@+���@�����������4�"� 5@+���@���,� �0&.'8@9�8@;�9@;�;@;�-=@<�-1@<'/����������!� �����#�7@+��+� � &-�����������������4�"� 5@+���@�����������4�"� 5@+���@���,� �0&.'8@9�8@;�;@;�-=@<�-1@<'/����������!� �����#�7@+��+� � &1�����������������4�"� 5@+���@�����������4�"� 5@+���@���,� �0&.'5@9�7@;�8@;'/�������!� �����#�1@+��+� � &-����������������������������.'[�#4�����#4�����2���������T����2��������������2P�@'/

Page 31: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

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�,���#�/��� �������������������%���*��%���������&�) �"���� �)������ �)�������� � ����� �)���������� �����"%����"���������*����+��"�H�C��������&!�� ����� �).��%��������

���0+�����������

�����.��4�"� 5@,� �FE'7@9'/�����.��4�"� 5@,� �FE'8@9'/��������.��4�"� 5@,� �FE';@;'/�����.V#���-@���� "�$��.'�'/@?������E81/��������.���-@*����������-@?���6�*���@,�4+� � &=/�������������������4�"� 5@+���@�������������4�"� 5@+���@���,� �0&.'7@9�8@9�;@;'/�����������������.'���� E81� ��#����������������P�\U���0�7@9�8@9�;@;'/���������������������������� ����� ������� � ����� �)���) �"����V#���1@?���6�0&�������V#���1@�V3@������������!� �����#�5@+��+� � �������%��) �"����"�����%�������� ��66������10�V#���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@?���6�0&,�#�����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+�����������

Page 32: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 167

��������#�����!����V#���1@?���6�0&�������V#���1@�V3@�������V#���1@�V3@? .'���������#�����(���Y�")+C������#���#4Y'/��V#���1@?���6�0&,�#�����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�")$�2�C;1-77Y'����-0�$����,�4���0&'Y�")$�2�C;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&.'7�8'/��������������������������4�"� 9@+���@�������������4�"� 9@+���@���,� �0&.'8�9�;�-=�-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��������������

Page 33: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

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�"� -@,� �/��������� "�$��.'$����'/@?��������

Page 34: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 169

����������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&=�����

Page 35: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

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@������.���� "�$��.' '/@?���������������������� "�$��.'�'/@?����������� "�$��.'�'/@?�������

Page 36: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 171

��������������� "�$��.'�-?"'/@?����������� "�$��.'$����'/@?���������������������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�"� ;@,� �/����� "�$��.'�2�2'/@?����������� "�$��.'$����'/@������?������������2"� -@����2� /�������!� �����#�-@+��+� � ����������������������� �������������=0����=1=-5@!����������-0����=1=-5@!���"�����������������������=1=-5@�����������%��������"����������� ��������,���-@!��D=1=-5��������������������"�������� ����������� �)�����

�������V#���-���������D=1=-50&,�����D���@������.���� "�$��.' '/@?������������,������.��������4�"� ;@,� �/����� "�$��.'�2�2'/@?����������� "�$��.'$����'/@������?������������2"� -@����2� /�������!� �����#�-@+��+� � ����������������������� �������������=0���D=1=-5@!����������-0���D=1=-5@!���"����������������������D=1=-5@���������%��������"������������ ��������,���-@����������.��� ��0�,�4>���/�����

��������������������������� �&� �����!��0&,!�������@����������!��@!���%��0&A%�BC��!!�$,C���!����!��@����%��.$����%�#����,�#�/����!��@�����+������.'�������'�!� �����#�-@+��+� � /

Page 37: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

172 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

�������������!��@������������������������������������������%� �� �"���� �������#��������.� ���������*���.?����������@� �$��//���@

W module RysSruby umieszczono definicję klasy �� ��� zawierającą pola i metodywspólne dla wszystkich obiektów opisujących elementy połączeń śrubowych użytychw programie PolaczGwint, dziedziczącą po nim klasę ��%&�, opisującą cechy wspólnedla śrub i wyprowadzone z niej klasy ��%&'(', ��%&'() i ��%&*(& określające odpo-wiednio śruby z łbem sześciokątnym, śruby z łbem sześciokątnym z gwintem na całejdługości i śruby z łbem walcowym. Strukturę dziedziczenia dla obiektów elementówpołączeń gwintowych przedstawiono na rysunku 5.4.

TSr82105

(śruby z łbem

sześciokątnym i gwintem

na całej długości)

TSr82x

(śruby)

TElGwint

(pola, właściwości i metody wspólne dla wszystkich

obiektów gwintowanych)

TNakr

(nakrętki)

TPodkl

(podkładki)

TGwint

(gwinty metryczne)

TSr82101

(śruby z łbem

sześciokątnym)

TNak82144

(nakrętki sześciokątne)

TGwinWewn

(gwinty wewnętrzne)

TPod82005

(podkładki okrągłe

zgrubne)

TGwinZewn

(gwinty zewnętrzne)

TPod82006

(podkładki okrągłe

dokładne)

TSr82302

(śruby z łbem walcowym)

TPod82008

(podkładki

sprężyste)

Rysunek 5.4. Hierarchia obiektów opisujących elementy połączeń gwintowych

Kod modułu RysSruby przedstawia się następująco:

�����!����#4������������*�����?#���?���?�� ��������������3����������2���&=@1������$������������ �)��������� ���� �,�������&�����%���"�����B��%���������������������� =��=� ������������-���1����2�20��#4�����$����"��2#�$�$������������#�*����2�0����������!��#>����0"����������"��2!�(��4>!�(�"���2���0�3�H�����������4>$��*���2��������0+������

Page 38: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 173

�� �����������������������. ����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 &��.,�������/����2����0��#4�������������%�����2�0�������� ���������������$%����%��) �"���� ��������!��3�4�����?�� �"���� ��������!��,������?�� �"���� ��������!����?�� �".�����0��#4��/�� �����������������������. ��2����������0��#4�������*�������%�����2��������*���*0����������*0"������/���� ��������!��?�� �������������� ����� �� ��&!���������) �"��� $ ����,��;1-=-&��.,��;1 /����) �"�����"�����)����!����� ����������40��#4������ ��������!�������?�� �"�� �����������������������. ��2�����������4�0��#4�������*�������������%�����2�0������*���*0����������*0"������/���� ��������!��?�� �"��������������������� ����� �� ��&!���������) �"���,��;1-=8&��.,��;1 /����) �"�����"�����)����!������ �������������0��#4�������������������&���� �)���� ���������� ��������!�������?�� �"�� �����������������������. ��2�������������0��#4�������*�������%�����2������*���*0����������*0"������/���� ��������!��?�� �"��������

Page 39: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

174 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

���,��;15=1&��.,��;1 /����) �"�����"�����%������� �����������34���40��#4������ ��������!�������?�� �"�� �����������������������. ��2�����������4���34�*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-��*����2�0&*���*����������#0&��#�$������.�����*/�!��#>����0&!������*�� 0& ����������0&=@1L K1L���.*�K7/��0&��������*�����D?�� ���������������&�)%������!��������!�������������D�������>�������������(���#>���������������>,���3������������������������,��;1 @������. ��2����������0��#4�������*�������%�����2����*���*0����������*0"������/����2�� ��� ��%���"�����&�) �"�����

������������������. ����������*�*���*�����*/��20&2���0&����0&��������������0&�����.'[�#4��X� X�GX�GX��X��X�'�I�����*���������%�����2������*����2��$�$���J/������������,��;1-=-@������. ��2�����������4�0��#4�������*���������%�����2��*���*0����������*0"������/���2�� ��� �) �"�����"�����)�������

��$�$���0&'*$G�;1-=-'������������������. ��2����������������*�������%�����2��*���*�����*/��40&4����

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

���������,�������@�������������������"�������� ��� ������������3�����

��*��������������������������������������� ��������,�������@������4��2�?�� ���������������"%������� � ���������

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

Page 40: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 175

��������'��2�O��#�2������������'/�$����"��2#��-��-��-��=/������"��2!�(@�� ��������������)���������"%��������������������?����������@!����������� ��� $������������ � ��������������� ���������������.'*��� ���2��������#�2�#�����P��������������'M������R-5M'2�Q�������� ���P��#����S���PT������������������3�'MR-5M������R-5M'�����������������#�����O������Q���U@'��������I4�%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#/���������������"���2���0&?�� ���@"���2�@? .�1�. =��=/�$����"��2#/����!��3�4�����?�� �"����!��,������?�� �"����!�������?�� �"������ �>������?�� �������������4��2�?�� ���

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

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

Page 41: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

176 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

�����

��"���2���@? 3���.�1�. =M�G4��=G K1/��1�. =M�G4��=M K1//���4>!�(0&"���2���@? 3���.�1�. =M�G4��=G K1M�������/������1�. =M���=G K1M�������//���%����� �������4>!�(@�����0&��!� ����������������%� ������"�����%� �������4>!�(@������.�1�. =��=/��1�. =M���=//��"���2���@? 3���.�1�. =M�G4��=G K1M�������/��1�.���� =M�G4G.�������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�.���� =M�G.�������K���.*�K9//��=G K1//���4>!�(@�����0&��!� ��4>!�(@������.�1�. =��=/��1�. =M���=//��� ��������,��;15=1@!�������?�� �"�������"���2���@? 3���.�1�. =M�G4��=G K1/��1�. =M�G4��=M K1//���4>!�(0&"���2���@? 3���.�1�. =M�G4��=G K1M�������/������1�. =M���=G K1M�������//���4>!�(@�����0&��!� ��4>!�(@������.�1�. =��=/��1�. =M���=//���4>!�(0&"���2���@? 3���.�1�. =M�G4��=G K1M�������/������1�. =M�G4G.�������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&,�#�����?����������@!����������"�����������"������������������ ������%������������������.�����.'"��2�X��������>�@'MR-5M'�������������������'M������'������>T���4��2'��I$����J/���+�(��������I�"�%J�=/����?����������@�������������������� ���������������������"%�������� ��������� ��������,�������@!����������?�� ����� ��������� ��������������� $ �7��������4>!�(0&"���2���@? ?��.�1�. =��=/� K1����,�!� .58/�����,�!� .5=8//���4>!�(@�����0&��!� ��"���2���@? ������.�1�. =��=/�. K1/G�������/

Page 42: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 177

��� ��������,�������@!�������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�. =M�K1��=/��1�.���� =M�K1L���.*�K5/��=M�K1//@?����*����.9�1L*���1�. =��=//�����)����!��� ��������,��;1 @!��3�4�����?�� �"�����"���)����%��) �"�7������"����7�����

��"���2���@? 3���.�1�. =��=G�K1/��1�. =��=M�K1//�����"�) �"���"���2���@? 3���.�1�. =G2��=G�K1/��1�. =G2��=M�K1//��"���2���@? 3���.�1�. =G2��=G�K1/��1�. =G2M�-��=G�K1//���� ����#���%����"���2���@? 3���.�1�. =��=G�K1/��1�. =G2M�-��=G�K1//��"���2���@? 3���.�1�. =G2��=M�K1/��1�. =G2M�-��=M�K1//���� ����#� $ ����"���2���@? 3���.�1�. =��=M�K1/��1�. =G2M�-��=M�K1//��� ��������) ��������"���2���@? 3���.�1�. =��=G�K1L���.*�K5//��1�. =G2M�-��=G�K7//��"���2���@? 3���.�1�. =��=M�K1L���.*�K5//��1�. =G2M�-��=M�K7//��"���2���@? ?��.�1�. =G2M=@:8L���=/�=@:8L��*�G������.-K5/�����*�M������.-K5//����������"���2���@? ?��.�1�. =G2M��1��=G5K;L�/���1�*�G������.=@-18L�K������1/�*�M������.=@-18L�K��1//��"���2���@? ?��.�1�. =G2M��1��=M5K;L�/���1�*�G������.=@-18L�K������1/�*�M������.=@-18L�K��1//��� ��������,��;1 @!��,������?�� �"��� ����3�) �"��������"����������

��"���2���@? ?��.�1�. =M���=G K1G�/���*�K1�*�/��������������"����"���2���@? ?��.�1�. =M���=M K1M�/���*��5K1L*�/���� �� ���������"���2���@? 3���.�1�. =M���=G K1/��1�. =M�G���������=G K1//��"���2���@? 3���.�1�. =M�G���������=G K1/���1�. =M���=G K1M�������//��"���2���@? 3���.�1�. =M���=G K1M�������/���1�. =M���=M K1G�������//��"���2���@? 3���.�1�. =M���=M K1G�������/���1�. =M�G���������=M K1//��"���2���@? 3���.�1�. =M���=M K1/��1�. =M�G���������=M K1//��"���2���@? 3���.�1�. =M�G���������=G K1/���1�. =M�G���������=M K1//��!����?�� �".-@1L�/����)���� ����� ��������,��;1 @!��?�� ����) �"�����"�����)����!���7��������� $ �7�,��+,������

��$����"��2#0&����������M'C��'���������"��2+�����>�.$����"��2#/���������������"���2���0&?�� ���@"���2�@? .�1�. =��=/�$����"��2#/����!�������?�� ������!����?�� ��.�/������ �>������?�� �������������4��2�?�� ��� ��������,�������@����.������H��#�0���#4��/

Page 43: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

178 AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

����������0&�H��#����0&�K���.*�K9/���-0&=@:8L�G�N��.�N�.=@:8L�/G�N�.=@18L�//����10&=@:8L�L=@1:-779-��� ��������,�������@!����?�� �".�����0���#4��/����������)� ����������������"���7�����!��#>��������������������4>!�(0&"���2���@? 3���.�1�. =G�2���L�������=/��������1�. =M�����M�2���L�������=//�����4>!�(@�����0&?�!� ��4>!�(@3�������0&'������'�������� ��������,�������@!����?�� ��.�����0���#4��/����������)� ���������������� $ �7�����!��#>��������������������4>!�(0&"���2���@? 3���.�1�. =G�����K1G�2���L�������=/������1�. =M�����K1M�2���L�������=//�����4>!�(@�����0&?�!� ��4>!�(@3�������0&'��$,�!'�����4>!�(@?����*����.1�*�K1��1�. =��=//�������� ��������,�������@�� �>���������������������������%��������� �>������?�� ������@

Okno programu PolaczGwint pokazano na rysunku 5.5. W oknie widać wybór śruby

M16 wraz z jej właściwościami (wykonanie, wytrzymałość, powłoka itp.). Natomiast na

rysunku 5.6 pokazano okno tego programu otrzymane po wstawieniu uprzednio wybranej

śruby i przełączeniu na zakładkę o nazwie Nakrętki. Program automatycznie zapamiętał

ostatni wybór śruby i wyselekcjonował wstępnie do tej śruby odpowiednią nakrętkę.

Rysunek 5.5.

Okno programuPolaczGwint podczaswyboru )ruby

Rysunek 5.6.

Okno programuPolaczGwint podczaswyboru nakr*tki

Page 44: AutoCAD. Automatyzacja zadań grafiki za pomocą Delphi

Rozdział 5. � Aplikacje dla mechaników 179

Rysunek 5.7.

Przykłady elementówwygenerowanychza pomocą programuPolaczGwint w oknieprogramu AutoCAD