SlideShare a Scribd company logo
1 of 33
Download to read offline
IDZ DO
         PRZYK£ADOWY ROZDZIA£

                           SPIS TRE CI   AutoCAD 2002 i 2004.
                                         Tworzenie makr w VBA
           KATALOG KSI¥¯EK               Autor: Jeffrey E. Clark
                                         T³umaczenie: Jacek Marzec
                      KATALOG ONLINE     ISBN: 83-7197-861-8
                                         Tytu³ orygina³u: VBA for AutoCAD 2002
       ZAMÓW DRUKOWANY KATALOG           Writing AutoCAD Macros
                                         Format: B5, stron: 672
              TWÓJ KOSZYK                AutoCAD 2002 jest nie tylko najpopularniejszym na wiecie narzêdziem do
                                         projektowania i kre lenia: to tak¿e potê¿na, programowalna platforma s³u¿¹ca do
                    DODAJ DO KOSZYKA     automatyzacji z³o¿onych zadañ projektowych integruj¹ca dane projektowe z firmowymi
                                         systemami informatycznymi i pozwalaj¹ca rozwi¹zaæ wiele problemów technicznych
                                         i biznesowych. Kluczem do tych mo¿liwo ci jest jêzyk Visual Basic for Applications.
         CENNIK I INFORMACJE             Z kolei klucz do programowania za pomoc¹ tego jêzyka trzymasz w³a nie w swoich
                                         rêkach, jest nim ksi¹¿ka „AutoCAD 2002. Tworzenie makr w VBA”
                   ZAMÓW INFORMACJE      Jej autorowi, jak nikomu innemu, uda³o siê powi¹zaæ kluczowe narzêdzia AutoCAD-a
                     O NOWO CIACH        z mo¿liwo ciami jêzyka VBA. Ukazuj¹c wspó³dzia³anie AutoCAD-a i VBA w warunkach
                                         rzeczywistej pracy pomagaj¹ czytelnikowi tworzyæ praktyczne aplikacje.
                       ZAMÓW CENNIK
                                         W kolejnych etapach czytelnik:
                                            • Przejmie kontrolê nad AutoCAD-em: opanuje podstawy automatyzacji, COM
                 CZYTELNIA                    oraz programowanie zorientowane obiektowo
                                            • Zacznie swobodnie poruszaæ siê po interaktywnym rodowisku projektowania
          FRAGMENTY KSI¥¯EK ONLINE            VBA dla AutoCAD-a
                                            • Wniknie w budowê pliku DXF, aby lepiej zrozumieæ strukturê bazy danych
                                              rysunku AutoCAD-a
                                            • Opanuje model obiektu AutoCAD-a: dokumenty, interfejs u¿ytkownika, zarz¹dzanie
                                              plikami, zbiory, obiekty i inne elementy
                                            • Zautomatyzuje obiekty graficzne 2D i 3D, zewnêtrzne odniesienia, elementy, bry³y,
                                              wymiary oraz zdarzenia
                                            • Zastosuje jêzyk VBA do sterowania obszarem papieru, rzutniami oraz wydrukiem
                                            • Poszerzy mo¿liwo ci AutoCAD-a o komunikacjê z innymi aplikacjami
                                         Pog³êbisz swoje umiejêtno ci ledz¹c powstawanie kompletnej aplikacji, integruj¹cej
                                         rysunek AutoCAD-a z baz¹ danych Microsoft Access za pomoc¹ technologii DAO
Wydawnictwo Helion                       (Data Access Objects) Microsoftu. Ksi¹¿ka „AutoCAD 2002. Tworzenie makr w VBA”
ul. Chopina 6                            zawiera równie¿ zwiêz³e opisy zmiennych systemowych i wyliczeniowych AutoCAD-a,
44-100 Gliwice                           dziedziczenia obiektów oraz elementów graficznych. Je li jeste gotów okie³znaæ ca³¹
tel. (32)230-98-63                       moc zawart¹ w AutoCAD-zie 2002, jest to ksi¹¿ka której szuka³e !
e-mail: helion@helion.pl
Spis treści
                Przedmowa............................................................................................13

Część I         Środowisko VBA AutoCAD-a................................................ 21
Rozdział 1. Przejęcie kontroli nad AutoCAD-em ........................................................23
                Komponenty i technologia Automation....................................................................................24
                   Podstawy.............................................................................................................................24
                   Spojrzenie ogólne ...............................................................................................................27
                   Szczegóły............................................................................................................................28
                Tworzenie rysunku za pomocą Visual Basica..............................................................................31
                   Ustawianie dostępnych odniesień.......................................................................................32
                   Tworzenie procedury ..........................................................................................................32
                Więcej na temat komponentów.................................................................................................33
                   Dziedziczenie w AutoCAD-zie ..........................................................................................33
                Tablice metod, właściwości i zdarzeń.......................................................................................35
                Podsumowanie ..........................................................................................................................37
Rozdział 2. Środowisko VBA ....................................................................................39
                Tworzenie i edycja makr...........................................................................................................39
                   Okna projektowania............................................................................................................40
                   Okna usuwania błędów.......................................................................................................42
                Zarządzanie makrami i ich wykonywanie ................................................................................47
                   Menad er VBA...................................................................................................................47
                   Okno dialogowe Open VBA Project ..................................................................................48
                   Okno dialogowe Macros.....................................................................................................49
                Wiersz poleceń AutoCAD-a .....................................................................................................50
                Podsumowanie ..........................................................................................................................51
Rozdział 3. DXF: Klucz do struktury rysunku ............................................................53
                Format DXF ..............................................................................................................................53
                   Sekcje Objects i Classes .....................................................................................................55
                   Stałe kody grup ...................................................................................................................55
                   Zmienne kody grup.............................................................................................................56
                   Znaczniki podkategorii .......................................................................................................57
                Oglądanie rysunku za pomocą VBA.........................................................................................58
                   Procedura GetSubclass odczytuje plik DWG .....................................................................58
                   Procedura DXFsearch odczytuje plik DXF ........................................................................61
                AutoLISP a VBA ......................................................................................................................65
                   Zalety VBA.........................................................................................................................66
                   Program narzędziowy VBA................................................................................................67
                Podsumowanie ..........................................................................................................................67
4           AutoCAD 2002 i 2004. Tworzenie makr w VBA


Rozdział 4. Elementy modelu obiektu.......................................................................69
                Interfejsy Automation ...............................................................................................................69
                Obiekt Application....................................................................................................................70
                Zbiór Documents.......................................................................................................................71
                    Zbiory ModelSpace i PaperSpace.......................................................................................71
                    Zbiory tabelaryczne ............................................................................................................72
                    Zbiory obiektowe................................................................................................................73
                Obiekt Document i jego elementy ............................................................................................74
                Obiekt Preferences ....................................................................................................................78
                Menu i paski narzędzi u ytkownika..........................................................................................79
                    Zbiór MenuBar ...................................................................................................................79
                    Zbiór MenuGroups .............................................................................................................80
                Podsumowanie ..........................................................................................................................81

Część II        Zastosowanie modelu obiektu AutoCAD-a ........................... 83
Rozdział 5. Dokumenty i interfejs użytkownika .........................................................85
                Metody i właściwości................................................................................................................87
                Zarządzanie plikami..................................................................................................................88
                    Tworzenie pliku rysunkowego ...........................................................................................88
                    Otwieranie, zapisywanie i zamykanie rysunku ..................................................................89
                    Metoda WBlock..................................................................................................................93
                    Eksportowanie i importowanie plików...............................................................................93
                    Inne narzędzia zarządzania plikami....................................................................................94
                Interfejs u ytkownika................................................................................................................95
                    Okna....................................................................................................................................95
                    Zoom...................................................................................................................................99
                    Widoki zdefiniowane przez u ytkownika ........................................................................100
                    Rzutnie..............................................................................................................................102
                Hiperłącza ...............................................................................................................................109
                Zmienne wyliczeniowe AutoCAD-a.......................................................................................110
                Tablice metod, właściwości i zdarzeń.....................................................................................111
                Podsumowanie ........................................................................................................................111
Rozdział 6. Zbiory i obiekty ...................................................................................121
                Obiekt Application..................................................................................................................121
                   Metody..............................................................................................................................121
                   Właściwości......................................................................................................................121
                Obiekt Document ....................................................................................................................123
                   Metody..............................................................................................................................123
                   Właściwości......................................................................................................................125
                   Zbiory ...............................................................................................................................130
                Zarządzanie zbiorami..............................................................................................................131
                   Metody..............................................................................................................................131
                   Właściwości......................................................................................................................134
                Zbiory tabelaryczne.................................................................................................................136
                   Zbiór Layers......................................................................................................................136
                   Zbiór LayerStateManager.................................................................................................138
                   Zbiór Linetypes.................................................................................................................140
                   Zbiór RegisteredApplications...........................................................................................141
                   Zbiór TextStyles ...............................................................................................................141
                   Lokalne układy współrzędnych ........................................................................................143
                Tablice metod, właściwości i zdarzeń.....................................................................................145
                Podsumowanie ........................................................................................................................145
Spis treści                       5


Rozdział 7. Obiekty Utility .....................................................................................153
                Zbiory wskazań, filtry i grupy.................................................................................................154
                   Zbiory wskazań.................................................................................................................154
                   Filtry .................................................................................................................................159
                   Grupy ................................................................................................................................160
                Obiekt Utility ..........................................................................................................................161
                   Pobieranie danych.............................................................................................................162
                   Konwersja danych ............................................................................................................169
                   Dostęp do Internetu...........................................................................................................174
                Słowniki i obiekt XRecord......................................................................................................177
                Tablice metod, właściwości i zdarzeń.....................................................................................179
                Podsumowanie ........................................................................................................................179
Rozdział 8. Bloki i zewnętrzne odnośniki..................................................................183
                Bloki........................................................................................................................................184
                   Korzystanie z bloków .......................................................................................................185
                   Dostęp do odnośników bloków ........................................................................................188
                Atrybuty i odniesienia do atrybutów.......................................................................................189
                   Właściwości......................................................................................................................190
                   Blok zawierający dane......................................................................................................191
                Obiekt MInsertBlock...............................................................................................................195
                   Właściwości......................................................................................................................195
                Obiekt Database ......................................................................................................................197
                   Metoda CopyObjects ........................................................................................................197
                   Właściwości obiektu Database .........................................................................................199
                Zewnętrzne odnośniki .............................................................................................................200
                   Metody..............................................................................................................................200
                   Redefinicja zewnętrznych odnośników ............................................................................202
                Arkusze ...................................................................................................................................205
                Tablice metod, właściwości i zdarzeń.....................................................................................205
                Podsumowanie ........................................................................................................................205
Rozdział 9. Elementy.............................................................................................213
                Wspólne metody i właściwości...............................................................................................213
                    Definicje ...........................................................................................................................214
                3DFace ....................................................................................................................................214
                    Metody..............................................................................................................................214
                    Właściwość .......................................................................................................................215
                3DPoly ....................................................................................................................................217
                    Metoda ..............................................................................................................................217
                    Właściwości......................................................................................................................217
                Arc...........................................................................................................................................218
                    Właściwości......................................................................................................................219
                Circle.......................................................................................................................................221
                    Właściwości......................................................................................................................221
                Ellipse......................................................................................................................................223
                    Właściwości......................................................................................................................223
                Hatch .......................................................................................................................................225
                    Metody..............................................................................................................................225
                    Właściwości......................................................................................................................226
                LightWeightPolyline...............................................................................................................228
                    Metody..............................................................................................................................228
                    Właściwości......................................................................................................................229
6           AutoCAD 2002 i 2004. Tworzenie makr w VBA


                 Line .........................................................................................................................................231
                     Właściwości......................................................................................................................231
                 MLine......................................................................................................................................232
                     Właściwości......................................................................................................................232
                 MText......................................................................................................................................235
                     Właściwości......................................................................................................................236
                 Point ........................................................................................................................................238
                 PolyfaceMesh..........................................................................................................................239
                     Właściwości......................................................................................................................240
                 PolygonMesh (3DMesh) .........................................................................................................243
                     Metoda ..............................................................................................................................243
                     Właściwości......................................................................................................................243
                 Polyline ...................................................................................................................................248
                     Metody..............................................................................................................................248
                     Właściwości......................................................................................................................248
                 Raster ......................................................................................................................................250
                     Metoda ..............................................................................................................................251
                     Właściwości......................................................................................................................251
                 Ray ..........................................................................................................................................253
                     Właściwości......................................................................................................................253
                 Region .....................................................................................................................................255
                     Metoda ..............................................................................................................................256
                     Właściwości......................................................................................................................256
                 Shape.......................................................................................................................................258
                     Metoda ..............................................................................................................................258
                     Właściwości......................................................................................................................258
                 Solid ........................................................................................................................................260
                 Spline ......................................................................................................................................261
                     Metody..............................................................................................................................262
                     Właściwości......................................................................................................................263
                 Text .........................................................................................................................................265
                     Właściwości......................................................................................................................265
                 Trace........................................................................................................................................268
                 XLine ......................................................................................................................................270
                     Właściwości......................................................................................................................271
                 Metody, właściwości i zdarzenia związane z elementami graficznymi..................................271
                 Podsumowanie ........................................................................................................................272
Rozdział 10. Bryły ...................................................................................................279
                 Box ..........................................................................................................................................280
                 Cone ........................................................................................................................................281
                 Cylinder...................................................................................................................................283
                 EllipticalCone..........................................................................................................................284
                 EllipticalCylinder ....................................................................................................................284
                 ExtrudedSolid..........................................................................................................................285
                 ExtrudedSolidAlongPath ........................................................................................................287
                 RevolvedSolid.........................................................................................................................289
                 Sphere......................................................................................................................................291
                 Torus .......................................................................................................................................292
                 Wedge .....................................................................................................................................293
                 Metody edycji brył ..................................................................................................................294
                 Właściwości masowe ..............................................................................................................298
                 Podsumowanie ........................................................................................................................301
Spis treści                      7


Rozdział 11. Wymiary ..............................................................................................303
                 Pojęcia.....................................................................................................................................303
                     Menad er stylów wymiarowania......................................................................................304
                     Zmienne wymiarowania, style i nadpisywanie.................................................................306
                     Asocjatywność..................................................................................................................306
                 Rodzaje wymiarów .................................................................................................................307
                     Dim3PointAngular............................................................................................................307
                     DimAligned ......................................................................................................................309
                     DimAngular ......................................................................................................................310
                     DimDiametric ...................................................................................................................312
                     DimOrdinate .....................................................................................................................313
                     DimRadial.........................................................................................................................315
                     DimRotated.......................................................................................................................316
                     Linia odniesienia...............................................................................................................317
                     Tolerancja .........................................................................................................................320
                 Właściwości wymiarowania ...................................................................................................322
                     Linie i strzałki ...................................................................................................................323
                     Tekst .................................................................................................................................326
                     Dopasowanie.....................................................................................................................326
                     Jednostki podstawowe ......................................................................................................327
                     Jednostki dodatkowe.........................................................................................................328
                     Tolerancje .........................................................................................................................329
                     Inne właściwości wymiarowe...........................................................................................330
                     Zmienne wymiarowe niezwiązane z właściwościami ......................................................332
                 Tablice metod, właściwości i zdarzeń.....................................................................................333
                 Podsumowanie ........................................................................................................................338
Rozdział 12. Edycja.................................................................................................339
                 Metody związane z edycją ......................................................................................................339
                     Array .................................................................................................................................340
                     Copy..................................................................................................................................342
                     Explode .............................................................................................................................343
                     GetBoundingBox ..............................................................................................................344
                     IntersectWith.....................................................................................................................345
                     Mirror................................................................................................................................346
                     Move .................................................................................................................................348
                     Offset ................................................................................................................................348
                     Rotate................................................................................................................................349
                     ScaleEntity........................................................................................................................350
                     TransformBy.....................................................................................................................351
                     Undo .................................................................................................................................353
                 Właściwości informacyjne......................................................................................................354
                 Dostęp do wiersza poleceń......................................................................................................359
                 Inne metody, właściwości i procedury związane z edycją......................................................360
                 Podsumowanie ........................................................................................................................361
Rozdział 13. AutoCAD i zdarzenia ............................................................................363
                 Zdarzenia obiektu Application................................................................................................363
                    Zdarzenia poziomu aplikacji.............................................................................................365
                 Zdarzenia obiektu Document ..................................................................................................366
                    Procedury zdarzeń obiektu AcadDocument .....................................................................367
                    Zdarzenia poziomu dokumentu ........................................................................................368
                 Zdarzenia obiektu Object ........................................................................................................369
                 Ograniczenia obsługi zdarzeń .................................................................................................371
                 Podsumowanie ........................................................................................................................372
8           AutoCAD 2002 i 2004. Tworzenie makr w VBA


Rozdział 14. Formularze i kontrolki ..........................................................................373
                Zdarzenia dotyczące poleceń ..................................................................................................376
                Zdarzenia dotyczące formularzy.............................................................................................378
                Kolejność zaznaczania ............................................................................................................379
                Narzędzie Relative ..................................................................................................................380
                   Moduł Relative .................................................................................................................381
                   Formularz frmRelative......................................................................................................386
                Metody i właściwości kontrolek .............................................................................................392
                Podsumowanie ........................................................................................................................392
Rozdział 15. Obszar papieru i plotowanie .................................................................397
                Interfejs plotowania.................................................................................................................397
                    Tabele stylów plotowania .................................................................................................397
                    Ustawienia plotera ............................................................................................................397
                    Arkusze obszaru papieru...................................................................................................398
                    Ustawienia systemowe......................................................................................................398
                Obiekty PlotConfiguration oraz Layout..................................................................................399
                    Ustawienia wydruku .........................................................................................................399
                    Arkusze .............................................................................................................................402
                    Wspólne metody i właściwości ........................................................................................402
                Rzutnie obszaru papieru..........................................................................................................410
                    Metody..............................................................................................................................412
                    Właściwości......................................................................................................................413
                Obiekt Plot ..............................................................................................................................414
                    Metody..............................................................................................................................414
                    Właściwości......................................................................................................................415
                Projekt BatchPlot ....................................................................................................................415
                    Moduł FrmPlotFiles..........................................................................................................416
                    Moduł BatchPlot...............................................................................................................424
                Metody i właściwości drukowania..........................................................................................428
                Podsumowanie ........................................................................................................................434
Rozdział 16. Ustawienia ..........................................................................................435
                Style programowania ..............................................................................................................436
                Pliki .........................................................................................................................................436
                    Metody..............................................................................................................................436
                    Właściwości......................................................................................................................437
                Ekran .......................................................................................................................................438
                    Wydajność wyświetlania ..................................................................................................439
                    Rozdzielczość wyświetlania .............................................................................................440
                    Elementy arkusza..............................................................................................................440
                    Elementy okna ..................................................................................................................441
                Otwieranie i zapisywanie plików............................................................................................443
                    Zewnętrzne odnośniki.......................................................................................................443
                    Środki ochrony pliku ........................................................................................................444
                    Otwieranie i zapisywanie plików......................................................................................444
                    Aplikacje ObjectARX.......................................................................................................445
                Wydruk....................................................................................................................................445
                    Standardowe ustawienia wydruku dla nowych rysunków................................................445
                    Standardowe zachowanie stylów wydruku dla nowych rysunków ..................................446
                    Ogólne ustawienia wydruku .............................................................................................447
                System.....................................................................................................................................447
                    Opcje połączenia baz danych............................................................................................448
                    Opcje ogólne.....................................................................................................................448
Spis treści                       9


                Parametry u ytkownika...........................................................................................................449
                    AutoCAD DesignCenter...................................................................................................450
                    Hiperłącze .........................................................................................................................450
                    Ustawienia szerokości linii ...............................................................................................451
                    Właściwości sortowania obiektów ...................................................................................451
                    Priorytet przy wprowadzaniu współrzędnych ..................................................................452
                    Standardowe zachowanie Windows .................................................................................452
                Pomoce rysunkowe .................................................................................................................453
                    AutoSnap ..........................................................................................................................453
                    AutoTrack .........................................................................................................................454
                Wybór......................................................................................................................................455
                    Uchwyty............................................................................................................................455
                    Tryby wyboru oraz wskaźnik zbioru wskazań .................................................................456
                Profile......................................................................................................................................456
                    Metody..............................................................................................................................457
                Metody i właściwości związane z ustawieniami.....................................................................458
                Podsumowanie ........................................................................................................................458
Rozdział 17. Menu ..................................................................................................463
                Menu u ytkownika i paski narzędziowe.................................................................................464
                   Spojrzenie na strukturę menu ...........................................................................................465
                   Metody..............................................................................................................................467
                   Właściwości......................................................................................................................470
                Menu rozwijane.......................................................................................................................472
                Paski narzędzi .........................................................................................................................474
                Zapisywanie modyfikacji........................................................................................................477
                Tablice metod i właściwości ...................................................................................................477
                Podsumowanie ........................................................................................................................477

Część III Komunikacja z innymi aplikacjami i Internetem.................. 481
Rozdział 18. Rozszerzalność ....................................................................................483
                Dane dodatkowe......................................................................................................................483
                    Metody..............................................................................................................................484
                    Wykorzystanie polilinii i danych dodatkowych ...............................................................488
                Interfejs VBA..........................................................................................................................499
                    Metody..............................................................................................................................499
                    Właściwości......................................................................................................................500
                    Zdalne uruchamianie VBA ...............................................................................................501
                Status braku dokumentów.......................................................................................................502
                Aplikacje ARX........................................................................................................................502
                    Metody..............................................................................................................................502
                Podsumowanie ........................................................................................................................503
Rozdział 19. Projekt przestrzeni biurowej .................................................................505
                Baza danych Microsoft Access ...............................................................................................505
                    Tabele, klucze oraz ograniczenia integralności ................................................................506
                    Tworzenie okna dialogowego u ytkownika .....................................................................507
                    Tworzenie zapytań w tle okna dialogowego ....................................................................509
                Interfejs AutoCAD — Access.................................................................................................513
                    Procedura cbo_Group_Change.........................................................................................516
                    Procedura lstDepartment_AfterUpdate ............................................................................518
                    Procedura lstProgDetail_Click .........................................................................................520
                    Przydział powierzchni ......................................................................................................520
                Podsumowanie ........................................................................................................................524
10         AutoCAD 2002 i 2004. Tworzenie makr w VBA


Rozdział 20. Model obiektu DWF .............................................................................525
               Drawing Web Format..............................................................................................................525
                  Struktura pliku ..................................................................................................................526
                  Kody operacji....................................................................................................................527
                  Współrzędne logiczne.......................................................................................................528
               Aplikacja odczytująca Excela .................................................................................................528
                  Moduł XLocate.................................................................................................................529
                  Formularz XLdwf .............................................................................................................530
               Opis obiektu Whip!.................................................................................................................538
                  Metody i właściwości ogólne ...........................................................................................538
                  Inne zbiory i obiekty.........................................................................................................546
                  Wbudowane zdarzenia aplikacji Whip!............................................................................547
               Metody i właściwości Whip! ..................................................................................................548
               Podsumowanie ........................................................................................................................551

Dodatki ...........................................................................................553
Dodatek A Zmienne systemowe AutoCAD-a 2002 .................................................555
Dodatek B Zmienne systemowe AutoCAD-a 2004 .................................................583
Dodatek C Wielkości wyliczeniowe (enum)............................................................613
Dodatek D Dziedziczenie w obiektach ...................................................................621
Dodatek E      Program narzędziowy formatowania pliku DXF ......................................625
               Skorowidz ...........................................................................................643
Rozdział 12.
Edycja
    W rozdziale tym przyjrzymy się kilku wbudowanym w VBA funkcjom AutoCAD-a
    związanym z edycją. Odejdziemy tu od naszej wcześniejszej praktyki pisania samowy-
    starczalnych przykładów, czyli tworzenia pewnego elementu i następnie zmieniania go
    w pewien sposób w tej samej procedurze. Aby zastosować omawiane metody edycji, tak
    jak robi się to zazwyczaj, utworzymy obiekty za pomocą procedur bazujących na listin-
    gach z wcześniejszych rozdziałów, a następnie zastosujemy metody zbioru 5GNGEVKQP5GV,
    by wskazać elementy i zmodyfikować je.

    U yjemy sześciu tego typu procedur: #FF2QN[, #FF'NNKRUG, #FF*CVEJ, #FF.KPG, #FF6GZV
    oraz $QQNG. (Nazwy tych procedur zaznaczyliśmy w listingach tego rozdziału kursywą).
    Procedury #FF'NNKRUG, #FF.KPG, oraz #FF6GZV zostały uproszczone dla celów tego roz-
    działu, a ich kod umieściliśmy na końcu tego rozdziału. Dodajmy jeszcze, e kody tych
    listingów, jak równie wszystkich innych zawartych w tej ksią ce, mo na ściągnąć ze
    strony internetowej wydawnictwa Prentice Hall pod adresem www.phptr.com.

    W związku z tym, e często stosujemy zbiory wskazań, a w listingach zazwyczaj u y-
    wamy nazwy PGY5GN5GV, zbiór wskazań o określonej nazwie jest wymazywany na końcu
    ka dego listingu. Jeśli z jakiegoś powodu dana procedura nie zadziała poprawnie, nale y
    wówczas ręcznie wymazać zbiór 5GNGEVKQP5GV, któremu nadano określoną nazwę; w prze-
    ciwnym razie jeśli spróbujemy u yć ponownie tej samej nazwy, AutoCAD wygeneruje
    komunikat o błędzie. W tym celu mo na zastosować podprogram 5GN5GVGNGVG z roz-
    działu 7. (patrz listing 7.6). (Jak wspomnieliśmy w rozdziale 7., mo na te ewentualnie
    opró nić zbiór wskazań i ponownie u yć go za pomocą metody %NGCT).



Metody związane z edycją
    Najczęściej u ywane polecenia AutoCAD-a związane z edycją, takie jak #TTC[, %QR[,
    'ZRNQFG, /KTTQT, /QXG, 1HHUGV, 4QVCVG, 5ECNG oraz 7PFQ, mają swoje odpowiedniki w me-
    todach VBA. Polecenia 'ZVGPF i 6TKO nie posiadają bezpośrednich odpowiedników, po-
    niewa funkcje te wykonuje się przez zmianę wektorów definiujących modyfikowane
    elementy. Istnieją równie trzy metody edycyjne, nieposiadające odpowiedników w inter-
    fejsie u ytkownika. Są to: )GV$QWFKPI$QZ, +PVGTUGEV9KVJ oraz 6TCPUHQTO. Jak będziemy
    mogli się przekonać, ostatnia z nich posiada wyjątkowo du e mo liwości.
340        Część II   Zastosowanie modelu obiektu AutoCAD-a



Array
           Metoda #TTC[ ma dwie opcje: RQNCT (tablica biegunowa) i TGEVCPIWNCT (tablica prosto-
           kątna), podobnie jak odpowiadające jej polecenie AutoCAD-a. Opcja biegunowa słu y
           do kopiowania wybranych obiektów określoną ilość razy, rozmieszczając je jednocześnie
           na okręgu wokół podanego punktu środkowego. Natomiast tablica prostokątna tworzy
           układ skopiowanych elementów uło onych w rzędy i kolumny o określonej odległości
           od obiektu oryginalnego, który definiuje jeden z naro ników tablicy.

           Metoda #TTC[2QNCT podczas kopiowania automatycznie obraca ka dy z obiektów, orien-
           tując go tak, e jego oś symetrii przechodzi przez punkt środkowy tablicy. Pod tym wzglę-
           dem metoda ta ró ni się od odpowiadającej jej komendy AutoCAD-a, która umo liwia
           wybór między obrotem obiektu a kopiowaniem bez obrotu.

           ArrayPolar (metoda ogólna (39)). 4GVWTP8CNWG jako tablica 8CTKCPV zmiennych 1DLGEV
           =QDLGEV#TTC[2QNCT (0WODGT1H1DLGEVU jako +PVGIGT [ 1, tylko wprowadzanie], #PING
           6Q(KNN jako QWDNG [tylko wprowadzanie], %GPVGT2QKPV jako 8CTKCPV [tylko wprowadzanie]).
           Kąt nale y podać w radianach; wartości ujemne wskazują na obrót w kierunku przeciw-
           nym do ruchu wskazówek zegara, natomiast zero powoduje błąd.

           Listing 12.1 rozpoczyna się od wywołania procedury #FF'NNKRUG słu ącej do utworzenia
           obiektu, który będziemy potem edytować. Mo emy tutaj zastosować dowolny element
           AutoCAD-a lub grupę wskazanych elementów. Natomiast zbiór wskazań 5GNGEVKQP5GV
           tworzony jest za pomocą metody narzędziowej 5GNGEV1P5ETGGP.

Listing 12.1. Tworzenie biegunowej tablicy obiektów

            5WD #TTC[2QNCT

                #FF'NNKRUG
                KO PGY55GV #U #ECF5GNGEVKQP5GV
                5GV PGY55GV  6JKUTCYKPI5GNGEVKQP5GVU#FF
 PGY5GN5GV 
                PGY55GV5GNGEV1P5ETGGP

                 KO 0WO1DL #U +PVGIGT
                 KO (CPING #U QWDNG
                 KO %VT2PV
 6Q  #U QWDNG
                 0WO1DL  
                 (CPING  
                 %VT2PV
   %VT2PV
   %VT2PV
  

                 KO 1DLGEV #U #ECF'PVKV[
                 KO 0GY1DL #U 8CTKCPV
                 (QT 'CEJ 1DLGEV +P PGY55GV
                     0GY1DL  1DLGEV#TTC[2QNCT
0WO1DL (CPING %VT2PV
                 0GZV 1DLGEV

                QQO#NN
                6JKUTCYKPI5GNGEVKQP5GVU+VGO
 PGY5GN5GV GNGVG
            'PF 5WD


           Następnie deklarujemy i nadajemy wartości kilku obiektom, które mają zostać skopio-
           wane do tablicy, jak równie określamy kąt dopełnienia (w radianach) oraz współrzędne
           punktu środkowego. Deklarujemy równie nowy obiekt #FF'PVKV[, który jest kojarzony
Rozdział 12.   Edycja      341


           dynamicznie, poniewa musi on być w stanie przechować dowolny rodzaj obiektu doda-
           nego do zbioru wskazań. Po zadeklarowaniu zmiennej typu 8CTKCPV, słu ącej do przecho-
           wywania nowo utworzonych obiektów, wykorzystujemy pętlę (QT 'CEJ0GZV, aby do
           ka dego obiektu zastosować metodę #TTC[2QNCT. Na koniec za pomocą metody QQO#NN
           wykonujemy zmianę wielkości wyświetlanego obszaru, aby pokazać całą tablicę.

           ArrayRectangular (metoda ogólna (39)). 4GVWTP8CNWG jako tablica 8CTKCPV = QDLGEV#T
           TC[4GEVCPIWNCT (0WODGT1H4QYU jako +PVGIGT [ 1, tylko wprowadzanie], 0WODGT1H%QNWOPU
           jako +PVGIGT [ 1, tylko wprowadzanie], 0WODGT1H.GXGNU jako +PVGIGT [tylko wprowa-
           dzanie], KUV$GVYGGP4QYU jako QWDNG [tylko wprowadzanie], KUV$GVYGGP%QNWOPU jako
           QWDNG [tylko wprowadzanie], KUV$GVYGGP.GXGNU jako QWDNG [tylko wprowadzanie]).
           Oryginalny obiekt, z którego tworzona jest tablica, zajmuje w niej lewy dolny naro nik;
           natomiast ujemne parametry dotyczące kolumn i rzędów oznaczają, e tablica budowana
           jest w dół i na lewo.

           Metoda #TTC[4GEVCPIWNCT działa we wszystkich trzech osiach. U ytkownik podaje liczbę
           rzędów, kolumn i poziomów (dla osi Z) łącznie z odstępami omiędzy nimi. Natomiast
           znak u yty przy wprowadzaniu ka dego z odstępów oznacza kierunek w osiach X, Y i Z.

           Ustawienia w listingu 12.2 są bardzo podobne do tych z listingu 12.1. Natomiast do utwo-
           rzenia obiektu testowego mo emy u yć zarówno procedury #FF'NNKRUG, jak te wskazać
           obiekty z dowolnego rysunku. Najpierw deklarujemy wymagane zmienne i nadajemy war-
           tości ilościom elementów oraz odległościom między rzędami, kolumnami i poziomami.
           Potem przeprowadzamy iterację zbioru wskazań za pomocą metody#TTC[4GEVCPIWNCT,
           aby utworzyć nowy obiekt.

Listing 12.2. Tworzenie prostokątnej tablicy obiektów

             5WD #TTC[4GEVCPIWNCT

                 #FF'NNKRUG
                 KO PGY55GV #U #ECF5GNGEVKQP5GV
                 5GV PGY55GV  6JKUTCYKPI5GNGEVKQP5GVU#FF
 PGY5GN5GV 
                 PGY55GV5GNGEV1P5ETGGP

                 KO 4QY0WO #U .QPI
                 KO %QN0WO #U .QPI
                 KO .GX0WO #U .QPI

                 KO 4QYKU #U QWDNG
                 KO %QNKU #U QWDNG
                 KO .GXKU #U QWDNG
                 4QY0WO   4QYKU  
                 %QN0WO   %QNKU  
                 .GX0WO   .GXKU  

                 KO 1DLGEV #U #ECF'PVKV[
                 KO 0GY1DL #U 8CTKCPV
                 (QT 'CEJ 1DLGEV +P PGY55GV
                     0GY1DL  1DLGEV#TTC[4GEVCPIWNCT
4QY0WO %QN0WO .GX0WO 4QYKU %QNKU .GXKU
                 0GZV 1DLGEV

                 QQO#NN
                 6JKUTCYKPI5GNGEVKQP5GVU+VGO
 PGY5GN5GV GNGVG
             'PF 5WD
342       Część II    Zastosowanie modelu obiektu AutoCAD-a



Copy
          Aby za pomocą metody %QR[ przenieść nowo utworzony obiekt w inne miejsce, nale y
          zastosować ją wraz z metodą /QXG, nazwa %QR[ wprowadza tu w błąd. Oprócz utworzenia
          zbioru wskazań obiektów, które chcemy skopiować, w ustawieniach nale y dodać tak e
          dwa punkty słu ące jako wektor przemieszczenia. Funkcję tę spełniają dwa pierwsze
          paragrafy listingu 12.3.

          Copy (metoda ogólna (39)). 4GVWTP8CNWG jako 1DLGEV = QDLGEV%QR[. (Obiekt skopio-
          wany zostaje w tym samym miejscu).

          Procedura ta umo liwia wybranie dowolnej liczby obiektów rysunkowych. W operacji
          kopiowania wykorzystujemy pętlę (QT0GZV, słu ącą do iteracji zbioru wskazań, aby
          skopiować, przesunąć i zmienić kolor nowych obiektów. Aby zrealizować te czynności,
          musimy najpierw zadeklarować zmienną pętli (K) oraz nadać rozmiary tablicy 8CTKCPV
          (PGY1DL), bazując na właściwości %QWPV nale ącej do obiektu 5GNGEVKQP5GV. W ten sposób
          korzystamy z tej właściwości dwukrotnie, ale nie musimy deklarować dwóch zmiennych:
          jednej do zliczania elementów oraz obiektu #ECF'PVKV[ dla składników zbioru wskazań.
          Z kolei w listingu dotyczącym metody 'ZRNQFG (patrz listing 12.4) do wykonania podobnej
          czynności u ywamy alternatywnej konstrukcji (QT 'CEJ0GZV. Zastosowanie tej składni
          jest szybsze pod wieloma względami.

Listing 12.3. Prosta operacja kopiowania

            5WD %QR[

                KO PGY55GV #U #ECF5GNGEVKQP5GV
                5GV PGY55GV  6JKUTCYKPI5GNGEVKQP5GVU#FF
 PGY5GN5GV 
                PGY55GV5GNGEV1P5ETGGP

                KO 2
 6Q  #U QWDNG
                KO 2
 6Q  #U QWDNG
                2
   2
   2
  
                2
   2
   2
  
                /UI$QZ CUVQUWL YGMVQT RTGUWPKúEKC

                KO K #U +PVGIGT
                4GKO PGY1DL
 6Q PGY55GV%QWPV  #U 8CTKCPV
                (QT K   6Q PGY55GV%QWPV 
                    5GV PGY1DL
K  PGY55GV+VGO
K%QR[
                    0GY1DL
K/QXG 2 2
                    0GY1DL
K%QNQT  CE)TGGP
                0GZV K
                6JKUTCYKPI5GNGEVKQP5GVU+VGO
 PGY5GN5GV GNGVG
            'PF 5WD


          CopyObjects (metoda obiektu QEWOGPV, CVCDCUG). 4GVWTP8CNWG jako tablica 8CTKCPV
          zmiennych typu 1DLGEV = QDLGEV%QR[1DLGEVU. (1DLGEVU jako tablica 8CTKCPV zmiennych
          typu 1DLGEV [tylko wprowadzanie], 1YPGT jako pojedynczy obiekt 8CTKCPV [opcjonalnie,
          tylko wprowadzanie], +2CKTU jako tablica 8CTKCPV zmiennych typu +2CKT [opcjonalnie,
          tylko wprowadzanie]).
Rozdział 12.   Edycja       343


     Metoda %QR[1DLGEVU powiela kilka obiektów nale ących do tego samego dokumentu lub
     do ró nych dokumentów, u ywając w tym przypadku opcjonalnego parametru 1YPGT.
     Jeśli nie podano tego parametru, wówczas nowe obiekty tworzone są w tym samym do-
     kumencie co obiekt źródłowy. Tablicę 1DLGEVU tworzymy przy u yciu podstawowych
     obiektów, które mają zostać skopiowane, natomiast wszelkie drugorzędne obiekty, podle-
     głe lub związane z podstawowymi, równie zostaną skopiowane.

     Metodę %QR[1DLGEVU przedstawiliśmy ju w rozdziale 8. przy okazji omawiania obiektu
     CVCDCUG, a jej zastosowanie mo na było zobaczyć w listingu 8.10. Natomiast informacje
     dotyczące procesu kopiowania i przenoszenia zwracane są w tablicy obiektów +2CKT,
     jeśli były one zawarte w odwołaniu do metody %QR[1DLGEVU. Obiekt +2CKT posiada kilka
     właściwości.

     IsCloned. QDLGEV+U%NQPGF jako $QQNGCP (6TWG = obiekt źródłowy został sklonowany,
     (CNUG = obiekt źródłowy nie został sklonowany, tylko do odczytu).

     IsOwnerXlated. QDLGEV+U1YPGT:NCVGF jako $QQNGCP (6TWG = obiekt będący właścicielem
     został przeniesiony z jednej bazy danych do innej, (CNUG = obiekt będący właścicielem
     istnieje ju w nowym rysunku i nie został skopiowany, tylko do odczytu).

     IsPrimary. QDLGEV+U2TKOCT[ jako $QQNGCP (6TWG = obiekt źródłowy jest składnikiem
     podstawowego zbioru obiektów, (CNUG = pochodny obiekt źródłowy jest własnością pod-
     stawowego zbioru obiektów, tylko do odczytu).

     Key. QDLGEV-G[ jako .QPI (tylko do odczytu) zwraca identyfikator obiektu źródłowego.

     Value. QDLGEV8CNWG jako .QPI (tylko do odczytu) zwraca identyfikator nowego, skopio-
     wanego obiektu.

Explode
     Metoda 'ZRNQFG rozbija zło ony obiekt na jego elementarne składniki. W przeciwieństwie
     do odpowiadającego jej polecenia AutoCAD-a, metoda ta nie rozbija wymiarów, multilinii
     oraz większości obiektów 3D. Jeśli zastosujemy ją do obiektów, których nie dotyczy,
     system wygeneruje komunikat o błędzie QDLGEV FQGUP V UWRRQTV VJKU RTQRGTV[ QT
     OGVJQF („obiekt nie obsługuje tej własności lub metody”). Obiekty obsługujące metodę
     'ZRNQFG zostały wymienione poni ej. Nale y tak e pamiętać o wyraźnym wymazaniu roz-
     bitego obiektu, który pozostaje po utworzeniu nowego zbioru jego elementów składowych.

     Explode. 4GVWTP8CNWG jako tablica 8CTKCPV zmiennych typu 1DLGEV =QDLGEV'ZRNQFG
     0CYC obiektu(ów), który ma zostać rozbity. Dostęp do pojedynczych elementów zawar-
     tych w blokach mo liwy jest za pomocą metody +VGO, nie jest zatem konieczne rozbija-
     nie bloku w celu jego edycji. Metoda 'ZRNQFG obsługiwana jest przez obiekty: 2QN[,
     $NQEM4GH, .KIJV9GKIJV2QN[NKPG, /+PUGTV$NQEM, 2QN[IQP/GUJ, 2QN[NKPG oraz 4GIKQP.

     Listing 12.4 rozpoczyna się od utworzenia obiektu testowego 2QN[NKPG oraz prośby
     o wybranie zbioru wskazań. Jeśli chcemy, mo emy wybrać równie kilka obiektów.
     Natomiast drugi paragraf tej procedury przeprowadza faktyczne rozbicie. Deklarujemy
     równie kilka zmiennych, łącznie z U%QWPV, która dostosowana jest do liczby elementów
     w zbiorze wskazań (właściwość %QWPV zwraca liczbę o jeden większą od U%QWPV, poniewa
     numeracja rozpoczyna się od zera).
344        Część II   Zastosowanie modelu obiektu AutoCAD-a


           Pętla (QT 'CEJ0GZV, zawarta w tej procedurze, przeprowadza iterację zbioru wskazań.
           Potrzebna jest nam tak e dodatkowa zmienna (K), aby śledzić pozycję tablicy 'ZR1DL.
           Nale y jednak wspomnieć, e w tym przypadku bardziej efektywna byłaby tradycyjna
           pętla (QT0GZV. Kolejną czynnością jest usunięcie wszystkich obiektów ze zbioru wska-
           zań po tym, jak zostały rozbite.

           Trzeci paragraf tego listingu przeprowadza po prostu iterację elementów zbioru wskazań
           oraz zestawów rozbitych obiektów, zmieniając ich kolor na zielony, a następnie przywra-
           cając domyślny kolor warstwy po to, abyśmy mogli zobaczyć je na ekranie. (Aby prze-
           testować tę metodę, nie wska emy zapewne du ej ilości obiektów).

Listing 12.4. Rozbicie kilku obiektów

             5WD 'ZRNQFG

                 #FF2QN[
                 KO PGY55GV #U #ECF5GNGEVKQP5GV
                 5GV PGY55GV  6JKUTCYKPI5GNGEVKQP5GVU#FF
 PGY5GN5GV 
                 PGY55GV5GNGEV1P5ETGGP

                 KO 1DLGEV #U #ECF'PVKV[
                 KO K #U +PVGIGT
                 KO L #U +PVGIGT
                 KO U%QWPV #U +PVGIGT
                 U%QWPV  PGY55GV%QWPV  
                 4GKO 'ZR1DL
 6Q U%QWPV #U 8CTKCPV
                 (QT 'CEJ 1DLGEV +P PGY55GV
                     'ZR1DL
K  1DLGEV'ZRNQFG
                     1DLGEVGNGVG
                     K  K 
 
                 0GZV 1DLGEV

                 (QT K   6Q U%QWPV
                 /UI$QZ 'NGOGPV 5GN5GV     K     .$QWPF    .$QWPF
'ZR1DL
K   7$QWPF    A
                     7$QWPF
'ZR1DL
K
                     (QT L  .$QWPF
'ZR1DL
K 6Q 7$QWPF
'ZR1DL
K
                         'ZR1DL
K
L%QNQT  CE)TGGP
                         'ZR1DL
K
L7RFCVG
                         /UI$QZ 4QDKV[ QDKGMV      L         A
                                 'ZR1DL
K
L1DLGEV0COG
                         'ZR1DL
K
L%QNQT  CE$[.C[GT
                         'ZR1DL
K
L7RFCVG
                    0GZV L
                 0GZV K
                 6JKUTCYKPI5GNGEVKQP5GVU+VGO
 PGY5GN5GV GNGVG
             'PF 5WD



GetBoundingBox
           Metoda ta nie ma odpowiednika wśród poleceń AutoCAD-a. Jednak wszystkie elementy
           posiadają pewną ramkę ograniczającą, którą wykorzystywaliśmy, na przykład opisując
           geometrię brył w rozdziale 10. W listingu przedstawionym w tym rozdziale wykorzy-
           stujemy procedurę $QQNG, która tworzy zło ony obiekt przez połączenie dwóch brył. Pro-
           cedura z listingu 12.5 przeznaczona jest do przetwarzania jednocześnie tylko jednego
           obiektu. Jeśli więc wska emy większą liczbę obiektów, przetworzony zostanie tylko
           pierwszy z nich.
Rozdział 12.   Edycja        345


          GetBoundingBox (metoda ogólna (39)). 4GVWTP8CNWG jako 1DLGEV =QDLGEV)GV$QWPFKPI
          $QZ. /KP2QKPV jako 8CTKCPV (tylko odczyt), /CZ2QKPV jako 8CTKCPV (tylko odczyt).

          W listingu 12.5 deklarujemy dwie zmienne 8CTKCPV obsługujące dolną i górną granicę
          ramki ograniczającej. Parametry te zwracane są przez metodę )GV$QWPFKPI$QZ jako trój-
          elementowa tablica zmiennych QWDNG oraz wyświetlane na ekranie za pomocą okna dia-
          logowego. Natomiast w końcowym paragrafie stosujemy metodę #FF2QKPV, aby w tych
          miejscach umieścić widoczne punkty. W ten właśnie sposób wykonywaliśmy rysunki
          w rozdziale 10.

Listing 12.5. Ustalenie punktów obszaru ograniczającego

            5WD )GV$QWPFKPI$QZ

                $QQNG
                KO PGY55GV #U #ECF5GNGEVKQP5GV
                5GV PGY55GV  6JKUTCYKPI5GNGEVKQP5GVU#FF
 PGY5GN5GV 
                PGY55GV5GNGEV1P5ETGGP

                KO G/KP #U 8CTKCPV
                KO G/CZ #U 8CTKCPV
                0GY55GV+VGO
 )GV$QWPFKPI$QZ G/KP G/CZ
                /UI$QZ 2WPMV[ FGHKPKWLæEG QDUCT ITCPKEP[       G/KP
         G/KP
        A
                    G/KP
     
OKP     G/CZ
         G/CZ
         G/CZ
     
OCMU

                KO C2QKPV #U #ECF2QKPV
                5GV C2QKPV  6JKUTCYKPI/QFGN5RCEG#FF2QKPV
G/CZ
                5GV C2QKPV  6JKUTCYKPI/QFGN5RCEG#FF2QKPV
G/KP
                6JKUTCYKPI5GV8CTKCDNG 2/1'  
                6JKUTCYKPI5GNGEVKQP5GVU+VGO
 PGY5GN5GV GNGVG
            'PF 5WD



IntersectWith
          Jest to druga metoda związana z edycją, która nie posiada odpowiednika wśród poleceń
          AutoCAD-a. Zwraca ona punkty, w których przecinają się dane obiekty. Zadaniem pro-
          cedury z listingu 12.6 jest podanie punktów przecięcia tylko dwóch pierwszych wska-
          zanych obiektów.

          IntersectWith. 4GVWTP8CNWG jako tablica 8CTKCPV zmiennych typu QWDNG =QDLGEV+PVGT
          UGEV9KVJ (+PVGTUGEV1DLGEV [dowolny obiekt rysunkowy, tylko wprowadzanie], 'ZVGP
          F1RVKQP jako +PVGIGT [tylko wprowadzanie, enum CE'ZVGPF1RVKQP]). Metoda ta słu y do
          podania punktów, w których przecinają się wskazane obiekty rysunkowe (wszystkie z wy-
          jątkiem 28KGYRQTV i 2QN[IQP/GUJ). Natomiast parametr 'ZVGPF1RVKQP określa, który z prze-
          cinających się elementów ma zostać przedłu ony do miejsca ich teoretycznego przecię-
          cia. Obowiązujące wartości wielkości wyliczeniowej CE'ZVGPF1RVKQP są następujące:
               (0) CE'ZVGPF0QPG,
               (1) CE'ZVGPF6JKU'PVKV[,
               (3) CE'ZVGPF1VJGT'PVKV[,
               (4) CE'ZVGPF$QVJ.
346        Część II   Zastosowanie modelu obiektu AutoCAD-a


           Procedura z listingu 12.6 tworzy linię przecinającą w dwóch punktach elipsę, a następnie
           wyświetla kursor wyboru. Na początku deklarujemy tablicę 8CTKCPV, przeznaczoną do
           przechowywania punktów przecięcia (+PV2VU), która zapełniana jest za pomocą pierw-
           szego zbioru wskazań. Pętla w drugim paragrafie procedury wyświetla na ekranie punkty
           przecięcia, które przypisywane są do kolejnych trójpunktowych grup tablicy +PV2VU.

Listing 12.6. Znajdowanie punktów przecięcia

             5WD +PVGTUGEV9KVJ

                 #FF'NNKRUG
                 #FF.KPG
                 QQO#NN
                 KO PGY55GV #U #ECF5GNGEVKQP5GV
                 5GV PGY55GV  6JKUTCYKPI5GNGEVKQP5GVU#FF
 PGY5GN5GV 
                 PGY55GV5GNGEV1P5ETGGP

                 KO +PV2VU #U 8CTKCPV
                 +PV2VU  PGY55GV+VGO
+PVGTUGEV9KVJ
PGY55GV+VGO
 CE'ZVGPF0QPG
                 KO K #U +PVGIGT
                 KO L #U +PVGIGT
                 KO /UI #U 5VTKPI
                 (QT K  .$QWPF
+PV2VU 6Q 7$QWPF
+PV2VU 5VGR 
                     /UI$QZ  2WPMVGO RTGEKúEKC=    L    ? LGUV     +PV2VU
K       +PV2VU
K 
 A
                                 +PV2VU
K 
 
                     /UI$QZ /UI  2T[M CF +PVGTUGEV9KVJ
                     L  L 
 
                 0GZV K
                 6JKUTCYKPI5GNGEVKQP5GVU+VGO
 PGY5GN5GV GNGVG
             'PF 5WD



Mirror
           Dwie metody VBA związane z lustrzanym odbiciem odzwierciedlają odpowiadające im
           polecenia interfejsu u ytkownika w wersji 2D i 3D. Ka da z nich mo e być zastosowana
           do dowolnego elementu AutoCAD-a.

           Mirror (metoda ogólna (39)). 4GVWTP8CNWG jako odbity element typu 1DLGEV = QDLGEV/K
           TTQT (2QKPV jako 8CTKCPV [tylko odczyt], 2QKPV jako 8CTKCPV [tylko odczyt]. Metoda ta
           słu y do lustrzanego odbijania płaskich obiektów względem wskazanej osi. Zmienna sys-
           temowa /+446':6 steruje odbijaniem tekstu (0 = tekst pozostaje czytelny, (CNUG = tekst
           odbity dosłownie).

           W listingu 12.7 wykorzystaliśmy obiekty 'NNKRUG i .KPG do zaprezentowania lustrzane-
           go odbicia względem linii zdefiniowanej za pomocą dwóch punktów. Po wykonaniu tej
           czynności kolor odbitego obiektu zostaje zmieniony na czerwony. Procedura z omawia-
           nego listingu pozwala na wybranie wielu elementów. Nale y tak e dodać, e zarówno
           w przypadku wersji 2D, jak i 3D, jeśli chcemy wymazać oryginalny obiekt, musimy osobno
           zastosować metodę GNGVG.

Listing 12.7. Lustrzane odbicie w płaszczyźnie X-Y

             5WD /KTTQT

                 #FF'NNKRUG
Rozdział 12.   Edycja   347


                 #FF.KPG
                 QQO#NN
                 KO PGY55GV #U #ECF5GNGEVKQP5GV
                 5GV PGY55GV  6JKUTCYKPI5GNGEVKQP5GVU#FF
 PGY5GN5GV 
                 PGY55GV5GNGEV1P5ETGGP

                 KO 2
 6Q  #U QWDNG
                 KO 2
 6Q  #U QWDNG
                 2
   2
   2
  
                 2
   2
   2
  
                 /UI$QZ 1FDKL U[OGVT[EPKG DKÎT YUMCC 

                 KO 1DLGEV #U #ECF'PVKV[
                 KO 0GY1DL #U 8CTKCPV
                 (QT 'CEJ 1DLGEV +P PGY55GV
                     5GV 0GY1DL  1DLGEV/KTTQT
2 2
                     0GY1DL%QNQT  CE4GF
                 0GZV 1DLGEV

                 QQO#NN
                 6JKUTCYKPI5GNGEVKQP5GVU+VGO
 PGY5GN5GV GNGVG
             'PF 5WD


           Mirror3D (metoda ogólna (39)). 4GVWTP8CNWG jako odbity element typu 1DLGEV =QD
           LGEV/KTTQT (2QKPV jako 8CTKCPV [tylko odczyt], 2QKPV jako 8CTKCPV [tylko odczyt],
           2QKPV jako 8CTKCPV [tylko odczyt]). Metoda słu y do lustrzanego odbijania brył wzglę-
           dem wskazanej płaszczyzny.

           Procedura przedstawiona w listingu 12.8 pozwala na lustrzane odbicie jedynie pierw-
           szego wskazanego elementu. W naszym przypadku elementem tym jest obiekt $QQNG,
           odbijany symetrycznie względem płaszczyzny zdefiniowanej za pomocą trzech punk-
           tów. Po wykonaniu operacji odbicia dodatkowo zmieniany jest kolor nowego elementu.

Listing 12.8. Lustrzane odbicie w przestrzeni trójwymiarowej

             5WD /KTTQT

                 $QQNG
                 KO PGY55GV #U #ECF5GNGEVKQP5GV
                 5GV PGY55GV  6JKUTCYKPI5GNGEVKQP5GVU#FF
 PGY5GN5GV 
                 PGY55GV5GNGEV1P5ETGGP

                 KO 2
 6Q    #U   QWDNG
                 KO 2
 6Q    #U   QWDNG
                 KO 2
 6Q    #U   QWDNG
                 2
     2
     2
  
                 2
     2
     2
  
                 2
     2
     2
  

                 KO /KT1DL #U #ECF5QNKF
                 5GV /KT1DL  PGY55GV+VGO
/KTTQT
2 2 2
                 /KT1DL%QNQT  

                 QQO#NN
                 6JKUTCYKPI5GNGEVKQP5GVU+VGO
 PGY5GN5GV GNGVG
             'PF 5WD
348        Część II   Zastosowanie modelu obiektu AutoCAD-a



Move
           Metodę /QXG zastosowaliśmy ju wcześniej w połączeniu z metodą %QR[ (listing 12.3).
           Natomiast listing 12.9 przedstawia operację przesunięcia zbioru wskazań o określoną
           odległość X.

           Move (metoda ogólna (39)). 1DLGEV /QXG 2QKPV jako 8CTKCPV (tylko wprowadzanie),
           2QKPV jako 8CTKCPV (tylko wprowadzanie).

           W rozdziale 14. utworzymy narzędzie do przekształcania wybranych obiektów względem
           punktu początkowego lub bazowego, na przykładzie którego omówimy kilka odmian
           kopiowania i przesuwania obiektów o ró ne odległości oraz pod określonym kątem.

Listing 12.9. Przesunięcie kilku obiektów

             5WD /QXG

                 KO PGY55GV #U #ECF5GNGEVKQP5GV
                 5GV PGY55GV  6JKUTCYKPI5GNGEVKQP5GVU#FF
 PGY5GN5GV 
                 PGY55GV5GNGEV1P5ETGGP

                 KO 2
 6Q  #U QWDNG
                 KO 2
 6Q  #U QWDNG
                 KO KUV #U +PVGIGT
                 KO K #U +PVGIGT
                 KUV  6JKUTCYKPI7VKNKV[)GV+PVGIGT
 2QFCL QFNGI Q è : 
                 2
      2
   2
  
                 2
  KUV 2
   2
  

                 (QT K   6Q PGY55GV%QWPV  
                     0GY55GV+VGO
K/QXG 2 2
                 0GZV K
                 6JKUTCYKPI5GNGEVKQP5GVU+VGO
 PGY5GN5GV GNGVG
             'PF 5WD



Offset
           Metoda 1HHUGV tworzy równoległe krzywe i linie oraz współśrodkowe okręgi i elipsy.
           Jej zastosowanie jest ograniczone do wymienionych przed chwilą obiektów. Jeśli zasto-
           sujemy ją do obiektów, których ona nie dotyczy, system wygeneruje komunikat o błędzie
           „QDLGEV FQGUP V UWRRQTV VJKU RTQRGTV[ QT OGVJQF” („obiekt nie obsługuje tej właści-
           wości lub metody”).

           Offset. 4GVWTP8CNWG jako tablica 8CTKCPV zmiennych typu 1DLGEV  QDLGEV1HHUGV
           (KUVCPEG jako QWDNG [tylko wprowadzanie]). Metoda ta tworzy nowy obiekt odsunięty
           o określoną odległość (dodatnią lub ujemną, ale nie zerową) od istniejącego obiektu.
           Metodę tę mo na stosować wyłącznie z obiektami, takimi jak: #TE, %KTENG, 'NKRUG, .KPG,
           .KIJV9GKIJV2QN[NKPG, 2QN[NKPG, 5RNKPG oraz :.KPG.

           W listingu 12.10 tworzymy, a następnie wskazujemy pojedynczą elipsę, która zostaje po-
           wielona przez odsunięcie od oryginalnego obiektu o odległość jednej jednostki wymiarowej.
Rozdział 12.   Edycja   349


Listing 12.10. Odsunięcie obiektu

            5WD 1HHUGV

                #FF'NNKRUG
                KO PGY55GV #U #ECF5GNGEVKQP5GV
                5GV PGY55GV  6JKUTCYKPI5GNGEVKQP5GVU#FF
 PGY5GN5GV 
                PGY55GV5GNGEV1P5ETGGP
                /UI$QZ 1FUW DKÎT YUMCC 

                KO 0GY1DL #U 8CTKCPV
                0GY1DL  PGY55GV+VGO
1HHUGV
 
                0GY1DL
%QNQT  CE4GF

                QQO#NN
                6JKUTCYKPI5GNGEVKQP5GVU+VGO
 PGY5GN5GV GNGVG
            'PF 5WD



Rotate
          Metody obrotu w 2D i 3D mo na zastosować do dowolnego obiektu rysunkowego łącznie
          z odnośnikami atrybutów.

          Rotate (metoda ogólna (39)). QDLGEV4QVCVG $CUG2QKPV jako 8CTKCPV [tylko wprowa-
          dzanie], 4QVCVKQP#PING jako QWDNG (kąt w radianach, tylko wprowadzanie). Metoda ta
          słu y do obrotu obiektu wokół określonego punktu w dwóch wymiarach.

          Procedura z listingu 12.11 pozwala na jednoczesne wskazanie kilku obiektów. Definiuje
          ona tak e punkt bazowy (%VT2PV) oraz kąt obrotu wynoszący w tym przypadku 45 stopni
          (wyra ony w radianach).

Listing 12.11. Obrót w płaszczyźnie X-Y

            5WD 4QVCVG

                KO PGY55GV #U #ECF5GNGEVKQP5GV
                5GV PGY55GV  6JKUTCYKPI5GNGEVKQP5GVU#FF
 PGY5GN5GV 
                PGY55GV5GNGEV1P5ETGGP

                KO %VT2PV
 6Q  #U QWDNG
                KO 4CPING #U 8CTKCPV
                %VT2PV
   %VT2PV
   %VT2PV
  
                4CPING  

                KO K #U +PVGIGT
                (QT K   6Q PGY55GV%QWPV 
                    PGY55GV+VGO
K4QVCVG %VT2PV 4CPING
                0GZV K
                6JKUTCYKPI5GNGEVKQP5GVU+VGO
 PGY5GN5GV GNGVG
            'PF 5WD


          Rotate3D (metoda ogólna (39)). QDLGEV4QVCVG 2QKPV jako 8CTKCPV [tylko wprowadza-
          nie], 2QKPV jako 8CTKCPV [tylko wprowadzanie], 4QVCVKQP#PING jako QWDNG (kąt w radia-
          nach, tylko wprowadzanie). Metoda ta słu y do obrotu bryły wokół określonej linii.
350       Część II    Zastosowanie modelu obiektu AutoCAD-a


          Procedura z listingu 12.12 przystosowana jest do obsługi tylko pierwszego wskazanego
          obiektu, ale obydwie metody związane z obrotem mo na stosować do wielu elementów,
          jeśli w podprogramie umieścimy odpowiednią pętlę przetwarzającą wszystkie składniki
          zbioru wskazań. W omawianym listingu umo liwiliśmy wprowadzanie kąta obrotu w stop-
          niach, które są następnie konwertowane na radiany.

Listing 12.12. Obrót w przestrzeni trójwymiarowej

            5WD 4QVCVG

                $QQNG
                KO PGY55GV #U #ECF5GNGEVKQP5GV
                5GV PGY55GV  6JKUTCYKPI5GNGEVKQP5GVU#FF
 PGY5GN5GV 
                PGY55GV5GNGEV1P5ETGGP

                KO 2
 6Q  #U QWDNG
                KO 2
 6Q  #U QWDNG
                KO 4QV#PI #U QWDNG
                2
   2
   2
  
                2
   2
   2
  
                4QV#PI  
                4QV#PI  4QV#PI
PGY55GV+VGO
4QVCVG 2 2 4QV#PI
                QQO#NN
                6JKUTCYKPI5GNGEVKQP5GVU+VGO
 PGY5GN5GV GNGVG
            'PF 5WD



ScaleEntity
          Podobnie jak odpowiadające jej polecenie 5ECNG, metoda 5ECNG'PVKV[ powiększa lub po-
          mniejsza wszelkie elementy AutoCAD-a o podany współczynnik. Skalowanie odbywa
          się równomiernie we wszystkich trzech osiach.

          ScaleEntity. QDLGEV5ECNG'PVKV[ $CUG2QKPV jako 8CTKCPV (tylko wprowadzanie), 5ECNG
          (CEVQT jako QWDNG (tylko wprowadzanie). Metoda ta przeprowadza skalowanie równo-
          miernie we wszystkich trzech osiach.

          W procedurze z listingu 12.13 zastosowaliśmy metodę 5GNGEV, aby automatycznie wska-
          zać wszystkie widoczne obiekty na rysunku testowym. Wszystkie zaznaczone elementy
          zostają pomniejszone o dwie trzecie przy u yciu punktu początkowego rysunku jako
          punktu bazowego skalowania.

Listing 12.13. Skalowanie w przestrzeni trójwymiarowej

            5WD 5ECNG'PVKV[

                KO PGY55GV #U #ECF5GNGEVKQP5GV
                5GV PGY55GV  6JKUTCYKPI5GNGEVKQP5GVU#FF
 PGY5GN5GV 
                PGY55GV5GNGEV CE5GNGEVKQP5GV#NN

                KO $CUG2V
 6Q  #U QWDNG
                KO (CEVQT #U QWDNG
                $CUG2V
   $CUG2V
   $CUG2V
  
                (CEVQT
Rozdział 12.   Edycja     351


          KO K #U +PVGIGT
          (QT K   6Q PGY55GV%QWPV  
              PGY55GV+VGO
K5ECNG'PVKV[ $CUG2V (CEVQT
          0GZV K
          6JKUTCYKPI5GNGEVKQP5GVU+VGO
 PGY5GN5GV GNGVG
      'PF 5WD



TransformBy
     6TCPUHQTO$[ jest ostatnią z trzech metod edycyjnych, które nie posiadają odpowiedni-
     ków wśród poleceń AutoCAD-a. Umo liwia ona dokonywanie zmian geometrycznych,
     które mają fundamentalne znaczenie dla ka dej grafiki komputerowej. Nie będziemy
     zagłębiać się w teorię matematyczną transformacji macierzy 3D, ale nale y poznać cho-
     cia by podstawową notację, aby korzystać z metody 6TCPUHQTO$[, która posiada bardzo
     rozbudowane mo liwości.

     TransformBy (metoda ogólna (39)). QDLGEV6TCPUHQTO$[ 6TCPUHQTOCVKQP/CVTKZ jako
     8CTKCPV (tablica 4×4 zmiennych QWDNG). Metoda ta umo liwia jednocześnie przesunięcie,
     obrót oraz skalowanie obiektu za pomocą tablicy przekształceń o wymiarach 4×4. Jeśli
     metoda ta zostanie niewłaściwie sformułowana, AutoCAD zwraca komunikat o błędzie,
     a w niektórych przypadkach mo e to spowodować „ogólny błąd modelowania”, który
     uniemo liwia dalsze działanie programu.

     Jak mogliśmy zaobserwować przy okazji omawiania metody /QXG, przesunięcie reali-
     zowane jest po prostu przez określenie starego i nowego poło enia obiektu za pomocą
     punktów w układzie współrzędnych AutoCAD-a. Następnie odejmujemy od siebie współ-
     rzędne tych punktów, uzyskując wektor przesunięcia, który ma zastosowanie do dowol-
     nego punktu obiektu przesuwanego równolegle z jednego punktu do drugiego.

     Natomiast operacje obrotu i skalowania nie są ju tak proste, poniewa ka dy punkt
     obiektu musi zostać przemieszczony w odmienny sposób w stosunku do punktu odniesie-
     nia. W przypadku skalowania ka dy punkt obiektu odsuwany jest wzdłu osi zaczepionej
     w punkcie odniesienia. Reprezentacja obrotu mo e mieć podobną formę, zrealizowana
     za pomocą sinusa i cosinusa wymaganego kąta. Obydwie te funkcje mo na połączyć,
     mno ąc ka dy z punktów definicji obiektu przez tablicę o wymiarach 2×2, definiującą
     funkcję transformacji.

     Istnieje mo liwość zło enia (konsolidacji) operacji przesunięcia, skalowania i obrotu
     w dwóch wymiarach w tablicy o wymiarach 3×3. Reprezentację tę mo na rozszerzyć rów-
     nie na trzy wymiary, jeśli zastosujemy tablicę 4×4. Ogólna tablica metody 6TCPUHQTO$[
     AutoCAD-a przedstawiona została w listingu 12.14a. Parametr 4 oznacza tam kryteria
     obrotu, zdefiniowane za pomocą sinusa i cosinusa. Natomiast 5 i 6 odnoszą się odpowiednio
     do skalowania i przesunięcia. Wyra one są one jako współczynniki skalowania w pierw-
     szym przypadku oraz jako odległość — w drugim. Wszystkie one są liczbami rzeczywi-
     stymi (typ QWDNG).

     W listingach 12.14b, c i d przedstawiono odpowiednio obrót wokół osi X, Y i Z przy u yciu
     funkcji sinus i cosinus. Obrót wokół ka dej osi nale y skonfigurować za pomocą osobnej
     tablicy. Podobnie w przypadku skalowania, gdzie wykorzystywane są pozycje matryc
     R00, R11 i R22 (patrz listing 12.14a), którego nie mo na połączyć z obrotem. AutoCAD
352        Część II       Zastosowanie modelu obiektu AutoCAD-a


           wymaga równie , aby współczynniki skalowania miały jednakową wartość we wszyst-
           kich trzech kierunkach. Istnieje natomiast mo liwość połączenia przesunięcia z obrotem
           lub skalowaniem, poniewa wykorzystuje ono inne pozycje tablicy.

Listing 12.14. Tablice transformacji (4×4)

                 ^   45 4   4   6^
                 ^   4   45 45 6^
                 ^   4   4   45 6^
                 ^                   ^           
C

              ^%QU
4 5KP
4                 ^
                ^5KP
4 %QU
4                 ^
                ^                            ^
                ^                            ^   
D

             : ^                            ^
                ^           %QU
4   5KP
4   ^
                ^           5KP
4    %QU
4   ^
                ^                            ^   
E

             ; ^ %QU
4             5KP
4    ^
                ^                            ^
                ^5KP
4             %QU
4    ^
                ^                            ^   
F


           Procedura pokazana w listingu 12.15 przedstawia dwie funkcje przekształceń tablico-
           wych. Zaczynamy od utworzenia w nowym rysunku obiektu $QQNG. Następnie deklaru-
           jemy dwuwymiarową tablicę (/) jako zmienną matrycy 4×4 oraz zbiór wskazań i obiekt
           ogólny. Obiekt $QQNG (z rozdziału 10.) wskazywany jest automatycznie za pomocą opcji
           CE5GNGEVKQP5GV#NN nale ącej do metody 5GNGEV. Ten pojedynczy element przypisywany
           jest zmiennej obiektu ogólnego (która mo e przechowywać dowolny rodzaj elementu
           i jest wiązana dynamicznie), tak e konieczne jest tylko jednokrotne oszacowanie PGY5
           5GV+VGO
.

           Następnie tworzymy zmienne potrzebne do samego przekształcenia, czyli kąt obrotu (4)
           oraz punkt odniesienia (6). Kąt nale y podać w stopniach, które są potem zamieniane na
           radiany, wymagane przez metodę 6TCPUHQTO$[.

           W listingu tym wykonujemy dwa przekształcenia, z których ka de poprzedzone jest wy-
           świetleniem okna dialogowego pokazującego u ywane parametry. Najpierw obracamy
           obiekt o kąt 60 stopni (w kierunku zgodnym z ruchem wskazówek zegara) bez składni-
           ków translacji. Następnie zmieniamy skalę obiektu na mniejszą o połowę, jednocześnie
           przemieszczając go o –5 jednostek we wszystkich trzech osiach. Natomiast na koniec
           wymazujemy zbiór wskazań.

           Mo na tak e ściągnąć z Internetu drugą aplikację związaną z metodą 6TCPUHQTO$[ doty-
           czącą tego rozdziału, która obraca obiekt o niewielkie kąty, jednocześnie stopniowo zmniej-
           szając wyświetlany widok za pomocą polecenia QQO. Tworzy to interesujący efekt animacji,
           który daje bli sze pojęcie o zasadzie działania polecenia 1TDKV AutoCAD-a, a uzysku-
           jemy to przez zawarcie kilku funkcji transformacji w pętli (QT0GZV.
Rozdział 12.    Edycja     353


Listing 12.15. Przekształcenie macierzowe

            5WD 6TCPUHQTO$[

                $QQNG
                KO /
 6Q   6Q  #U QWDNG
                KO PGY55GV #U #ECF5GNGEVKQP5GV
                KO 1DLGEV #U 1DLGEV
                5GV PGY55GV  6JKUTCYKPI5GNGEVKQP5GVU#FF
 PGY5GN5GV 
                PGY55GV5GNGEV CE5GNGEVKQP5GV#NN
                5GV 1DLGEV  PGY55GV+VGO


                KO 4 #U QWDNG
                KO 6
 6Q  #U QWDNG
                6
   6
  
                4  
                4  4
AutoCAD 2002 i 2004. Tworzenie makr w VBA
AutoCAD 2002 i 2004. Tworzenie makr w VBA
AutoCAD 2002 i 2004. Tworzenie makr w VBA
AutoCAD 2002 i 2004. Tworzenie makr w VBA
AutoCAD 2002 i 2004. Tworzenie makr w VBA
AutoCAD 2002 i 2004. Tworzenie makr w VBA
AutoCAD 2002 i 2004. Tworzenie makr w VBA
AutoCAD 2002 i 2004. Tworzenie makr w VBA

More Related Content

What's hot

CorelDRAW 11. Vademecum profesjonalisty. Tom 2
CorelDRAW 11. Vademecum profesjonalisty. Tom 2CorelDRAW 11. Vademecum profesjonalisty. Tom 2
CorelDRAW 11. Vademecum profesjonalisty. Tom 2Wydawnictwo Helion
 
ABC grafiki komputerowej. Wydanie II
ABC grafiki komputerowej. Wydanie IIABC grafiki komputerowej. Wydanie II
ABC grafiki komputerowej. Wydanie IIWydawnictwo Helion
 
Modelowanie 3 d w programie autocad zbigniew krzysiak wnit
Modelowanie 3 d w programie autocad   zbigniew krzysiak wnitModelowanie 3 d w programie autocad   zbigniew krzysiak wnit
Modelowanie 3 d w programie autocad zbigniew krzysiak wnitWKL49
 
Programowanie obiektowe w Visual Basic .NET dla każdego
Programowanie obiektowe w Visual Basic .NET dla każdegoProgramowanie obiektowe w Visual Basic .NET dla każdego
Programowanie obiektowe w Visual Basic .NET dla każdegoWydawnictwo Helion
 
Programowanie w Excelu 2007 PL. Niebieski podręcznik
Programowanie w Excelu 2007 PL. Niebieski podręcznikProgramowanie w Excelu 2007 PL. Niebieski podręcznik
Programowanie w Excelu 2007 PL. Niebieski podręcznikWydawnictwo Helion
 
ABC grafiki komputerowej i obróbki zdjęć
ABC grafiki komputerowej i obróbki zdjęćABC grafiki komputerowej i obróbki zdjęć
ABC grafiki komputerowej i obróbki zdjęćWydawnictwo Helion
 
Visual Basic .NET. Bazy danych. Księga eksperta
Visual Basic .NET. Bazy danych. Księga ekspertaVisual Basic .NET. Bazy danych. Księga eksperta
Visual Basic .NET. Bazy danych. Księga ekspertaWydawnictwo Helion
 
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcie
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcieVisual C# 2008. Projektowanie aplikacji. Pierwsze starcie
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcieWydawnictwo Helion
 
Macromedia Flash MX 2004. Oficjalny podręcznik
Macromedia Flash MX 2004. Oficjalny podręcznikMacromedia Flash MX 2004. Oficjalny podręcznik
Macromedia Flash MX 2004. Oficjalny podręcznikWydawnictwo Helion
 
MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektami
MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektamiMS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektami
MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektamiWydawnictwo Helion
 
Excel 2007. Język VBA i makra. Rozwiązania w biznesie
Excel 2007. Język VBA i makra. Rozwiązania w biznesieExcel 2007. Język VBA i makra. Rozwiązania w biznesie
Excel 2007. Język VBA i makra. Rozwiązania w biznesieWydawnictwo Helion
 

What's hot (18)

CorelDRAW 11. Vademecum profesjonalisty. Tom 2
CorelDRAW 11. Vademecum profesjonalisty. Tom 2CorelDRAW 11. Vademecum profesjonalisty. Tom 2
CorelDRAW 11. Vademecum profesjonalisty. Tom 2
 
ActionScript 2.0. Od podstaw
ActionScript 2.0. Od podstawActionScript 2.0. Od podstaw
ActionScript 2.0. Od podstaw
 
ABC grafiki komputerowej. Wydanie II
ABC grafiki komputerowej. Wydanie IIABC grafiki komputerowej. Wydanie II
ABC grafiki komputerowej. Wydanie II
 
Modelowanie 3 d w programie autocad zbigniew krzysiak wnit
Modelowanie 3 d w programie autocad   zbigniew krzysiak wnitModelowanie 3 d w programie autocad   zbigniew krzysiak wnit
Modelowanie 3 d w programie autocad zbigniew krzysiak wnit
 
JavaScript i DHTML. Receptury
JavaScript i DHTML. RecepturyJavaScript i DHTML. Receptury
JavaScript i DHTML. Receptury
 
Programowanie obiektowe w Visual Basic .NET dla każdego
Programowanie obiektowe w Visual Basic .NET dla każdegoProgramowanie obiektowe w Visual Basic .NET dla każdego
Programowanie obiektowe w Visual Basic .NET dla każdego
 
Programowanie w Excelu 2007 PL. Niebieski podręcznik
Programowanie w Excelu 2007 PL. Niebieski podręcznikProgramowanie w Excelu 2007 PL. Niebieski podręcznik
Programowanie w Excelu 2007 PL. Niebieski podręcznik
 
Dreamweaver MX
Dreamweaver MXDreamweaver MX
Dreamweaver MX
 
SolidWorks 2006 w praktyce
SolidWorks 2006 w praktyceSolidWorks 2006 w praktyce
SolidWorks 2006 w praktyce
 
ABC grafiki komputerowej i obróbki zdjęć
ABC grafiki komputerowej i obróbki zdjęćABC grafiki komputerowej i obróbki zdjęć
ABC grafiki komputerowej i obróbki zdjęć
 
Visual Basic .NET. Bazy danych. Księga eksperta
Visual Basic .NET. Bazy danych. Księga ekspertaVisual Basic .NET. Bazy danych. Księga eksperta
Visual Basic .NET. Bazy danych. Księga eksperta
 
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcie
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcieVisual C# 2008. Projektowanie aplikacji. Pierwsze starcie
Visual C# 2008. Projektowanie aplikacji. Pierwsze starcie
 
ArchiCAD 10
ArchiCAD 10ArchiCAD 10
ArchiCAD 10
 
Macromedia Flash MX 2004. Oficjalny podręcznik
Macromedia Flash MX 2004. Oficjalny podręcznikMacromedia Flash MX 2004. Oficjalny podręcznik
Macromedia Flash MX 2004. Oficjalny podręcznik
 
MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektami
MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektamiMS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektami
MS Project 2007 i MS Project Server 2007. Efektywne zarządzanie projektami
 
Access. Programowanie w VBA
Access. Programowanie w VBAAccess. Programowanie w VBA
Access. Programowanie w VBA
 
Excel 2007. Język VBA i makra. Rozwiązania w biznesie
Excel 2007. Język VBA i makra. Rozwiązania w biznesieExcel 2007. Język VBA i makra. Rozwiązania w biznesie
Excel 2007. Język VBA i makra. Rozwiązania w biznesie
 
AutoCAD 2004
AutoCAD 2004AutoCAD 2004
AutoCAD 2004
 

Similar to AutoCAD 2002 i 2004. Tworzenie makr w VBA

Visual Basic .NET. Księga eksperta
Visual Basic .NET. Księga ekspertaVisual Basic .NET. Księga eksperta
Visual Basic .NET. Księga ekspertaWydawnictwo Helion
 
Microsoft Access. Podręcznik administratora
Microsoft Access. Podręcznik administratoraMicrosoft Access. Podręcznik administratora
Microsoft Access. Podręcznik administratoraWydawnictwo Helion
 
MS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBA
MS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBAMS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBA
MS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBAWydawnictwo Helion
 
Excel. Programowanie dla profesjonalistów
Excel. Programowanie dla profesjonalistówExcel. Programowanie dla profesjonalistów
Excel. Programowanie dla profesjonalistówWydawnictwo Helion
 
Microsoft Visual Basic .NET 2003. Księga eksperta
Microsoft Visual Basic .NET 2003. Księga ekspertaMicrosoft Visual Basic .NET 2003. Księga eksperta
Microsoft Visual Basic .NET 2003. Księga ekspertaWydawnictwo Helion
 
Excel 2007 PL. Programowanie w VBA
Excel 2007 PL. Programowanie w VBAExcel 2007 PL. Programowanie w VBA
Excel 2007 PL. Programowanie w VBAWydawnictwo Helion
 
C++. Wykorzystaj potęgę aplikacji graficznych
C++. Wykorzystaj potęgę aplikacji graficznychC++. Wykorzystaj potęgę aplikacji graficznych
C++. Wykorzystaj potęgę aplikacji graficznychWydawnictwo Helion
 
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla WindowsVisual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla WindowsWydawnictwo Helion
 
Visual Basic 2005. Zapiski programisty
Visual Basic 2005. Zapiski programistyVisual Basic 2005. Zapiski programisty
Visual Basic 2005. Zapiski programistyWydawnictwo Helion
 
Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalisty
Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalistyExcel 2003 PL. Programowanie w VBA. Vademecum profesjonalisty
Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalistyWydawnictwo Helion
 
Visual Basic .NET. Encyklopedia
Visual Basic .NET. EncyklopediaVisual Basic .NET. Encyklopedia
Visual Basic .NET. EncyklopediaWydawnictwo Helion
 
100 sposobów na Visual Studio
100 sposobów na Visual Studio100 sposobów na Visual Studio
100 sposobów na Visual StudioWydawnictwo Helion
 
Visual C# 2005 Express Edition. Od podstaw
Visual C# 2005 Express Edition. Od podstawVisual C# 2005 Express Edition. Od podstaw
Visual C# 2005 Express Edition. Od podstawWydawnictwo Helion
 
JavaScript. Zaawansowane programowanie
JavaScript. Zaawansowane programowanieJavaScript. Zaawansowane programowanie
JavaScript. Zaawansowane programowanieWydawnictwo Helion
 
Aplikacje w Visual C++ 2005. Przykłady
Aplikacje w Visual C++ 2005. PrzykładyAplikacje w Visual C++ 2005. Przykłady
Aplikacje w Visual C++ 2005. PrzykładyWydawnictwo Helion
 
Macromedia Flash MX 2004. Sztuka projektowania
Macromedia Flash MX 2004. Sztuka projektowaniaMacromedia Flash MX 2004. Sztuka projektowania
Macromedia Flash MX 2004. Sztuka projektowaniaWydawnictwo Helion
 
C++Builder i Turbo C++. Podstawy
C++Builder i Turbo C++. PodstawyC++Builder i Turbo C++. Podstawy
C++Builder i Turbo C++. PodstawyWydawnictwo Helion
 

Similar to AutoCAD 2002 i 2004. Tworzenie makr w VBA (20)

Visual Basic .NET. Księga eksperta
Visual Basic .NET. Księga ekspertaVisual Basic .NET. Księga eksperta
Visual Basic .NET. Księga eksperta
 
Microsoft Access. Podręcznik administratora
Microsoft Access. Podręcznik administratoraMicrosoft Access. Podręcznik administratora
Microsoft Access. Podręcznik administratora
 
AutoCAD 2004 PL
AutoCAD 2004 PLAutoCAD 2004 PL
AutoCAD 2004 PL
 
MS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBA
MS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBAMS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBA
MS Office 2000 i 2002/XP. Tworzenie własnych aplikacji w VBA
 
Excel. Programowanie dla profesjonalistów
Excel. Programowanie dla profesjonalistówExcel. Programowanie dla profesjonalistów
Excel. Programowanie dla profesjonalistów
 
Microsoft Visual Basic .NET 2003. Księga eksperta
Microsoft Visual Basic .NET 2003. Księga ekspertaMicrosoft Visual Basic .NET 2003. Księga eksperta
Microsoft Visual Basic .NET 2003. Księga eksperta
 
Excel 2007 PL. Programowanie w VBA
Excel 2007 PL. Programowanie w VBAExcel 2007 PL. Programowanie w VBA
Excel 2007 PL. Programowanie w VBA
 
AutoCAD 2005
AutoCAD 2005AutoCAD 2005
AutoCAD 2005
 
C++. Wykorzystaj potęgę aplikacji graficznych
C++. Wykorzystaj potęgę aplikacji graficznychC++. Wykorzystaj potęgę aplikacji graficznych
C++. Wykorzystaj potęgę aplikacji graficznych
 
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla WindowsVisual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
Visual C++ 2005 Express Edition. Tworzenie aplikacji dla Windows
 
Visual Basic 2005. Zapiski programisty
Visual Basic 2005. Zapiski programistyVisual Basic 2005. Zapiski programisty
Visual Basic 2005. Zapiski programisty
 
Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalisty
Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalistyExcel 2003 PL. Programowanie w VBA. Vademecum profesjonalisty
Excel 2003 PL. Programowanie w VBA. Vademecum profesjonalisty
 
Visual Basic .NET. Encyklopedia
Visual Basic .NET. EncyklopediaVisual Basic .NET. Encyklopedia
Visual Basic .NET. Encyklopedia
 
100 sposobów na Visual Studio
100 sposobów na Visual Studio100 sposobów na Visual Studio
100 sposobów na Visual Studio
 
Visual C# 2005 Express Edition. Od podstaw
Visual C# 2005 Express Edition. Od podstawVisual C# 2005 Express Edition. Od podstaw
Visual C# 2005 Express Edition. Od podstaw
 
ABC Delphi 2006
ABC Delphi 2006ABC Delphi 2006
ABC Delphi 2006
 
JavaScript. Zaawansowane programowanie
JavaScript. Zaawansowane programowanieJavaScript. Zaawansowane programowanie
JavaScript. Zaawansowane programowanie
 
Aplikacje w Visual C++ 2005. Przykłady
Aplikacje w Visual C++ 2005. PrzykładyAplikacje w Visual C++ 2005. Przykłady
Aplikacje w Visual C++ 2005. Przykłady
 
Macromedia Flash MX 2004. Sztuka projektowania
Macromedia Flash MX 2004. Sztuka projektowaniaMacromedia Flash MX 2004. Sztuka projektowania
Macromedia Flash MX 2004. Sztuka projektowania
 
C++Builder i Turbo C++. Podstawy
C++Builder i Turbo C++. PodstawyC++Builder i Turbo C++. Podstawy
C++Builder i Turbo C++. Podstawy
 

More from Wydawnictwo Helion

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyWydawnictwo Helion
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikWydawnictwo Helion
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczneWydawnictwo Helion
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieWydawnictwo Helion
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsWydawnictwo Helion
 
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IIWydawnictwo Helion
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuWydawnictwo Helion
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIWydawnictwo Helion
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningWydawnictwo Helion
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykWydawnictwo Helion
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaWydawnictwo Helion
 

More from Wydawnictwo Helion (20)

Tworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. ProjektyTworzenie filmów w Windows XP. Projekty
Tworzenie filmów w Windows XP. Projekty
 
Blog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnikBlog, więcej niż internetowy pamiętnik
Blog, więcej niż internetowy pamiętnik
 
Access w biurze i nie tylko
Access w biurze i nie tylkoAccess w biurze i nie tylko
Access w biurze i nie tylko
 
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktycznePozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
 
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesieE-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
 
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla WindowsMicrosoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
 
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie IICo potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
 
Makrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółuMakrofotografia. Magia szczegółu
Makrofotografia. Magia szczegółu
 
Windows PowerShell. Podstawy
Windows PowerShell. PodstawyWindows PowerShell. Podstawy
Windows PowerShell. Podstawy
 
Java. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie IIJava. Efektywne programowanie. Wydanie II
Java. Efektywne programowanie. Wydanie II
 
JavaScript. Pierwsze starcie
JavaScript. Pierwsze starcieJavaScript. Pierwsze starcie
JavaScript. Pierwsze starcie
 
Ajax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny treningAjax, JavaScript i PHP. Intensywny trening
Ajax, JavaScript i PHP. Intensywny trening
 
PowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktykPowerPoint 2007 PL. Seria praktyk
PowerPoint 2007 PL. Seria praktyk
 
Excel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktykExcel 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktyk
 
Access 2007 PL. Seria praktyk
Access 2007 PL. Seria praktykAccess 2007 PL. Seria praktyk
Access 2007 PL. Seria praktyk
 
Word 2007 PL. Seria praktyk
Word 2007 PL. Seria praktykWord 2007 PL. Seria praktyk
Word 2007 PL. Seria praktyk
 
Serwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacjaSerwisy społecznościowe. Budowa, administracja i moderacja
Serwisy społecznościowe. Budowa, administracja i moderacja
 
AutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PLAutoCAD 2008 i 2008 PL
AutoCAD 2008 i 2008 PL
 
Bazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcieBazy danych. Pierwsze starcie
Bazy danych. Pierwsze starcie
 
Inventor. Pierwsze kroki
Inventor. Pierwsze krokiInventor. Pierwsze kroki
Inventor. Pierwsze kroki
 

AutoCAD 2002 i 2004. Tworzenie makr w VBA

  • 1. IDZ DO PRZYK£ADOWY ROZDZIA£ SPIS TRE CI AutoCAD 2002 i 2004. Tworzenie makr w VBA KATALOG KSI¥¯EK Autor: Jeffrey E. Clark T³umaczenie: Jacek Marzec KATALOG ONLINE ISBN: 83-7197-861-8 Tytu³ orygina³u: VBA for AutoCAD 2002 ZAMÓW DRUKOWANY KATALOG Writing AutoCAD Macros Format: B5, stron: 672 TWÓJ KOSZYK AutoCAD 2002 jest nie tylko najpopularniejszym na wiecie narzêdziem do projektowania i kre lenia: to tak¿e potê¿na, programowalna platforma s³u¿¹ca do DODAJ DO KOSZYKA automatyzacji z³o¿onych zadañ projektowych integruj¹ca dane projektowe z firmowymi systemami informatycznymi i pozwalaj¹ca rozwi¹zaæ wiele problemów technicznych i biznesowych. Kluczem do tych mo¿liwo ci jest jêzyk Visual Basic for Applications. CENNIK I INFORMACJE Z kolei klucz do programowania za pomoc¹ tego jêzyka trzymasz w³a nie w swoich rêkach, jest nim ksi¹¿ka „AutoCAD 2002. Tworzenie makr w VBA” ZAMÓW INFORMACJE Jej autorowi, jak nikomu innemu, uda³o siê powi¹zaæ kluczowe narzêdzia AutoCAD-a O NOWO CIACH z mo¿liwo ciami jêzyka VBA. Ukazuj¹c wspó³dzia³anie AutoCAD-a i VBA w warunkach rzeczywistej pracy pomagaj¹ czytelnikowi tworzyæ praktyczne aplikacje. ZAMÓW CENNIK W kolejnych etapach czytelnik: • Przejmie kontrolê nad AutoCAD-em: opanuje podstawy automatyzacji, COM CZYTELNIA oraz programowanie zorientowane obiektowo • Zacznie swobodnie poruszaæ siê po interaktywnym rodowisku projektowania FRAGMENTY KSI¥¯EK ONLINE VBA dla AutoCAD-a • Wniknie w budowê pliku DXF, aby lepiej zrozumieæ strukturê bazy danych rysunku AutoCAD-a • Opanuje model obiektu AutoCAD-a: dokumenty, interfejs u¿ytkownika, zarz¹dzanie plikami, zbiory, obiekty i inne elementy • Zautomatyzuje obiekty graficzne 2D i 3D, zewnêtrzne odniesienia, elementy, bry³y, wymiary oraz zdarzenia • Zastosuje jêzyk VBA do sterowania obszarem papieru, rzutniami oraz wydrukiem • Poszerzy mo¿liwo ci AutoCAD-a o komunikacjê z innymi aplikacjami Pog³êbisz swoje umiejêtno ci ledz¹c powstawanie kompletnej aplikacji, integruj¹cej rysunek AutoCAD-a z baz¹ danych Microsoft Access za pomoc¹ technologii DAO Wydawnictwo Helion (Data Access Objects) Microsoftu. Ksi¹¿ka „AutoCAD 2002. Tworzenie makr w VBA” ul. Chopina 6 zawiera równie¿ zwiêz³e opisy zmiennych systemowych i wyliczeniowych AutoCAD-a, 44-100 Gliwice dziedziczenia obiektów oraz elementów graficznych. Je li jeste gotów okie³znaæ ca³¹ tel. (32)230-98-63 moc zawart¹ w AutoCAD-zie 2002, jest to ksi¹¿ka której szuka³e ! e-mail: helion@helion.pl
  • 2. Spis treści Przedmowa............................................................................................13 Część I Środowisko VBA AutoCAD-a................................................ 21 Rozdział 1. Przejęcie kontroli nad AutoCAD-em ........................................................23 Komponenty i technologia Automation....................................................................................24 Podstawy.............................................................................................................................24 Spojrzenie ogólne ...............................................................................................................27 Szczegóły............................................................................................................................28 Tworzenie rysunku za pomocą Visual Basica..............................................................................31 Ustawianie dostępnych odniesień.......................................................................................32 Tworzenie procedury ..........................................................................................................32 Więcej na temat komponentów.................................................................................................33 Dziedziczenie w AutoCAD-zie ..........................................................................................33 Tablice metod, właściwości i zdarzeń.......................................................................................35 Podsumowanie ..........................................................................................................................37 Rozdział 2. Środowisko VBA ....................................................................................39 Tworzenie i edycja makr...........................................................................................................39 Okna projektowania............................................................................................................40 Okna usuwania błędów.......................................................................................................42 Zarządzanie makrami i ich wykonywanie ................................................................................47 Menad er VBA...................................................................................................................47 Okno dialogowe Open VBA Project ..................................................................................48 Okno dialogowe Macros.....................................................................................................49 Wiersz poleceń AutoCAD-a .....................................................................................................50 Podsumowanie ..........................................................................................................................51 Rozdział 3. DXF: Klucz do struktury rysunku ............................................................53 Format DXF ..............................................................................................................................53 Sekcje Objects i Classes .....................................................................................................55 Stałe kody grup ...................................................................................................................55 Zmienne kody grup.............................................................................................................56 Znaczniki podkategorii .......................................................................................................57 Oglądanie rysunku za pomocą VBA.........................................................................................58 Procedura GetSubclass odczytuje plik DWG .....................................................................58 Procedura DXFsearch odczytuje plik DXF ........................................................................61 AutoLISP a VBA ......................................................................................................................65 Zalety VBA.........................................................................................................................66 Program narzędziowy VBA................................................................................................67 Podsumowanie ..........................................................................................................................67
  • 3. 4 AutoCAD 2002 i 2004. Tworzenie makr w VBA Rozdział 4. Elementy modelu obiektu.......................................................................69 Interfejsy Automation ...............................................................................................................69 Obiekt Application....................................................................................................................70 Zbiór Documents.......................................................................................................................71 Zbiory ModelSpace i PaperSpace.......................................................................................71 Zbiory tabelaryczne ............................................................................................................72 Zbiory obiektowe................................................................................................................73 Obiekt Document i jego elementy ............................................................................................74 Obiekt Preferences ....................................................................................................................78 Menu i paski narzędzi u ytkownika..........................................................................................79 Zbiór MenuBar ...................................................................................................................79 Zbiór MenuGroups .............................................................................................................80 Podsumowanie ..........................................................................................................................81 Część II Zastosowanie modelu obiektu AutoCAD-a ........................... 83 Rozdział 5. Dokumenty i interfejs użytkownika .........................................................85 Metody i właściwości................................................................................................................87 Zarządzanie plikami..................................................................................................................88 Tworzenie pliku rysunkowego ...........................................................................................88 Otwieranie, zapisywanie i zamykanie rysunku ..................................................................89 Metoda WBlock..................................................................................................................93 Eksportowanie i importowanie plików...............................................................................93 Inne narzędzia zarządzania plikami....................................................................................94 Interfejs u ytkownika................................................................................................................95 Okna....................................................................................................................................95 Zoom...................................................................................................................................99 Widoki zdefiniowane przez u ytkownika ........................................................................100 Rzutnie..............................................................................................................................102 Hiperłącza ...............................................................................................................................109 Zmienne wyliczeniowe AutoCAD-a.......................................................................................110 Tablice metod, właściwości i zdarzeń.....................................................................................111 Podsumowanie ........................................................................................................................111 Rozdział 6. Zbiory i obiekty ...................................................................................121 Obiekt Application..................................................................................................................121 Metody..............................................................................................................................121 Właściwości......................................................................................................................121 Obiekt Document ....................................................................................................................123 Metody..............................................................................................................................123 Właściwości......................................................................................................................125 Zbiory ...............................................................................................................................130 Zarządzanie zbiorami..............................................................................................................131 Metody..............................................................................................................................131 Właściwości......................................................................................................................134 Zbiory tabelaryczne.................................................................................................................136 Zbiór Layers......................................................................................................................136 Zbiór LayerStateManager.................................................................................................138 Zbiór Linetypes.................................................................................................................140 Zbiór RegisteredApplications...........................................................................................141 Zbiór TextStyles ...............................................................................................................141 Lokalne układy współrzędnych ........................................................................................143 Tablice metod, właściwości i zdarzeń.....................................................................................145 Podsumowanie ........................................................................................................................145
  • 4. Spis treści 5 Rozdział 7. Obiekty Utility .....................................................................................153 Zbiory wskazań, filtry i grupy.................................................................................................154 Zbiory wskazań.................................................................................................................154 Filtry .................................................................................................................................159 Grupy ................................................................................................................................160 Obiekt Utility ..........................................................................................................................161 Pobieranie danych.............................................................................................................162 Konwersja danych ............................................................................................................169 Dostęp do Internetu...........................................................................................................174 Słowniki i obiekt XRecord......................................................................................................177 Tablice metod, właściwości i zdarzeń.....................................................................................179 Podsumowanie ........................................................................................................................179 Rozdział 8. Bloki i zewnętrzne odnośniki..................................................................183 Bloki........................................................................................................................................184 Korzystanie z bloków .......................................................................................................185 Dostęp do odnośników bloków ........................................................................................188 Atrybuty i odniesienia do atrybutów.......................................................................................189 Właściwości......................................................................................................................190 Blok zawierający dane......................................................................................................191 Obiekt MInsertBlock...............................................................................................................195 Właściwości......................................................................................................................195 Obiekt Database ......................................................................................................................197 Metoda CopyObjects ........................................................................................................197 Właściwości obiektu Database .........................................................................................199 Zewnętrzne odnośniki .............................................................................................................200 Metody..............................................................................................................................200 Redefinicja zewnętrznych odnośników ............................................................................202 Arkusze ...................................................................................................................................205 Tablice metod, właściwości i zdarzeń.....................................................................................205 Podsumowanie ........................................................................................................................205 Rozdział 9. Elementy.............................................................................................213 Wspólne metody i właściwości...............................................................................................213 Definicje ...........................................................................................................................214 3DFace ....................................................................................................................................214 Metody..............................................................................................................................214 Właściwość .......................................................................................................................215 3DPoly ....................................................................................................................................217 Metoda ..............................................................................................................................217 Właściwości......................................................................................................................217 Arc...........................................................................................................................................218 Właściwości......................................................................................................................219 Circle.......................................................................................................................................221 Właściwości......................................................................................................................221 Ellipse......................................................................................................................................223 Właściwości......................................................................................................................223 Hatch .......................................................................................................................................225 Metody..............................................................................................................................225 Właściwości......................................................................................................................226 LightWeightPolyline...............................................................................................................228 Metody..............................................................................................................................228 Właściwości......................................................................................................................229
  • 5. 6 AutoCAD 2002 i 2004. Tworzenie makr w VBA Line .........................................................................................................................................231 Właściwości......................................................................................................................231 MLine......................................................................................................................................232 Właściwości......................................................................................................................232 MText......................................................................................................................................235 Właściwości......................................................................................................................236 Point ........................................................................................................................................238 PolyfaceMesh..........................................................................................................................239 Właściwości......................................................................................................................240 PolygonMesh (3DMesh) .........................................................................................................243 Metoda ..............................................................................................................................243 Właściwości......................................................................................................................243 Polyline ...................................................................................................................................248 Metody..............................................................................................................................248 Właściwości......................................................................................................................248 Raster ......................................................................................................................................250 Metoda ..............................................................................................................................251 Właściwości......................................................................................................................251 Ray ..........................................................................................................................................253 Właściwości......................................................................................................................253 Region .....................................................................................................................................255 Metoda ..............................................................................................................................256 Właściwości......................................................................................................................256 Shape.......................................................................................................................................258 Metoda ..............................................................................................................................258 Właściwości......................................................................................................................258 Solid ........................................................................................................................................260 Spline ......................................................................................................................................261 Metody..............................................................................................................................262 Właściwości......................................................................................................................263 Text .........................................................................................................................................265 Właściwości......................................................................................................................265 Trace........................................................................................................................................268 XLine ......................................................................................................................................270 Właściwości......................................................................................................................271 Metody, właściwości i zdarzenia związane z elementami graficznymi..................................271 Podsumowanie ........................................................................................................................272 Rozdział 10. Bryły ...................................................................................................279 Box ..........................................................................................................................................280 Cone ........................................................................................................................................281 Cylinder...................................................................................................................................283 EllipticalCone..........................................................................................................................284 EllipticalCylinder ....................................................................................................................284 ExtrudedSolid..........................................................................................................................285 ExtrudedSolidAlongPath ........................................................................................................287 RevolvedSolid.........................................................................................................................289 Sphere......................................................................................................................................291 Torus .......................................................................................................................................292 Wedge .....................................................................................................................................293 Metody edycji brył ..................................................................................................................294 Właściwości masowe ..............................................................................................................298 Podsumowanie ........................................................................................................................301
  • 6. Spis treści 7 Rozdział 11. Wymiary ..............................................................................................303 Pojęcia.....................................................................................................................................303 Menad er stylów wymiarowania......................................................................................304 Zmienne wymiarowania, style i nadpisywanie.................................................................306 Asocjatywność..................................................................................................................306 Rodzaje wymiarów .................................................................................................................307 Dim3PointAngular............................................................................................................307 DimAligned ......................................................................................................................309 DimAngular ......................................................................................................................310 DimDiametric ...................................................................................................................312 DimOrdinate .....................................................................................................................313 DimRadial.........................................................................................................................315 DimRotated.......................................................................................................................316 Linia odniesienia...............................................................................................................317 Tolerancja .........................................................................................................................320 Właściwości wymiarowania ...................................................................................................322 Linie i strzałki ...................................................................................................................323 Tekst .................................................................................................................................326 Dopasowanie.....................................................................................................................326 Jednostki podstawowe ......................................................................................................327 Jednostki dodatkowe.........................................................................................................328 Tolerancje .........................................................................................................................329 Inne właściwości wymiarowe...........................................................................................330 Zmienne wymiarowe niezwiązane z właściwościami ......................................................332 Tablice metod, właściwości i zdarzeń.....................................................................................333 Podsumowanie ........................................................................................................................338 Rozdział 12. Edycja.................................................................................................339 Metody związane z edycją ......................................................................................................339 Array .................................................................................................................................340 Copy..................................................................................................................................342 Explode .............................................................................................................................343 GetBoundingBox ..............................................................................................................344 IntersectWith.....................................................................................................................345 Mirror................................................................................................................................346 Move .................................................................................................................................348 Offset ................................................................................................................................348 Rotate................................................................................................................................349 ScaleEntity........................................................................................................................350 TransformBy.....................................................................................................................351 Undo .................................................................................................................................353 Właściwości informacyjne......................................................................................................354 Dostęp do wiersza poleceń......................................................................................................359 Inne metody, właściwości i procedury związane z edycją......................................................360 Podsumowanie ........................................................................................................................361 Rozdział 13. AutoCAD i zdarzenia ............................................................................363 Zdarzenia obiektu Application................................................................................................363 Zdarzenia poziomu aplikacji.............................................................................................365 Zdarzenia obiektu Document ..................................................................................................366 Procedury zdarzeń obiektu AcadDocument .....................................................................367 Zdarzenia poziomu dokumentu ........................................................................................368 Zdarzenia obiektu Object ........................................................................................................369 Ograniczenia obsługi zdarzeń .................................................................................................371 Podsumowanie ........................................................................................................................372
  • 7. 8 AutoCAD 2002 i 2004. Tworzenie makr w VBA Rozdział 14. Formularze i kontrolki ..........................................................................373 Zdarzenia dotyczące poleceń ..................................................................................................376 Zdarzenia dotyczące formularzy.............................................................................................378 Kolejność zaznaczania ............................................................................................................379 Narzędzie Relative ..................................................................................................................380 Moduł Relative .................................................................................................................381 Formularz frmRelative......................................................................................................386 Metody i właściwości kontrolek .............................................................................................392 Podsumowanie ........................................................................................................................392 Rozdział 15. Obszar papieru i plotowanie .................................................................397 Interfejs plotowania.................................................................................................................397 Tabele stylów plotowania .................................................................................................397 Ustawienia plotera ............................................................................................................397 Arkusze obszaru papieru...................................................................................................398 Ustawienia systemowe......................................................................................................398 Obiekty PlotConfiguration oraz Layout..................................................................................399 Ustawienia wydruku .........................................................................................................399 Arkusze .............................................................................................................................402 Wspólne metody i właściwości ........................................................................................402 Rzutnie obszaru papieru..........................................................................................................410 Metody..............................................................................................................................412 Właściwości......................................................................................................................413 Obiekt Plot ..............................................................................................................................414 Metody..............................................................................................................................414 Właściwości......................................................................................................................415 Projekt BatchPlot ....................................................................................................................415 Moduł FrmPlotFiles..........................................................................................................416 Moduł BatchPlot...............................................................................................................424 Metody i właściwości drukowania..........................................................................................428 Podsumowanie ........................................................................................................................434 Rozdział 16. Ustawienia ..........................................................................................435 Style programowania ..............................................................................................................436 Pliki .........................................................................................................................................436 Metody..............................................................................................................................436 Właściwości......................................................................................................................437 Ekran .......................................................................................................................................438 Wydajność wyświetlania ..................................................................................................439 Rozdzielczość wyświetlania .............................................................................................440 Elementy arkusza..............................................................................................................440 Elementy okna ..................................................................................................................441 Otwieranie i zapisywanie plików............................................................................................443 Zewnętrzne odnośniki.......................................................................................................443 Środki ochrony pliku ........................................................................................................444 Otwieranie i zapisywanie plików......................................................................................444 Aplikacje ObjectARX.......................................................................................................445 Wydruk....................................................................................................................................445 Standardowe ustawienia wydruku dla nowych rysunków................................................445 Standardowe zachowanie stylów wydruku dla nowych rysunków ..................................446 Ogólne ustawienia wydruku .............................................................................................447 System.....................................................................................................................................447 Opcje połączenia baz danych............................................................................................448 Opcje ogólne.....................................................................................................................448
  • 8. Spis treści 9 Parametry u ytkownika...........................................................................................................449 AutoCAD DesignCenter...................................................................................................450 Hiperłącze .........................................................................................................................450 Ustawienia szerokości linii ...............................................................................................451 Właściwości sortowania obiektów ...................................................................................451 Priorytet przy wprowadzaniu współrzędnych ..................................................................452 Standardowe zachowanie Windows .................................................................................452 Pomoce rysunkowe .................................................................................................................453 AutoSnap ..........................................................................................................................453 AutoTrack .........................................................................................................................454 Wybór......................................................................................................................................455 Uchwyty............................................................................................................................455 Tryby wyboru oraz wskaźnik zbioru wskazań .................................................................456 Profile......................................................................................................................................456 Metody..............................................................................................................................457 Metody i właściwości związane z ustawieniami.....................................................................458 Podsumowanie ........................................................................................................................458 Rozdział 17. Menu ..................................................................................................463 Menu u ytkownika i paski narzędziowe.................................................................................464 Spojrzenie na strukturę menu ...........................................................................................465 Metody..............................................................................................................................467 Właściwości......................................................................................................................470 Menu rozwijane.......................................................................................................................472 Paski narzędzi .........................................................................................................................474 Zapisywanie modyfikacji........................................................................................................477 Tablice metod i właściwości ...................................................................................................477 Podsumowanie ........................................................................................................................477 Część III Komunikacja z innymi aplikacjami i Internetem.................. 481 Rozdział 18. Rozszerzalność ....................................................................................483 Dane dodatkowe......................................................................................................................483 Metody..............................................................................................................................484 Wykorzystanie polilinii i danych dodatkowych ...............................................................488 Interfejs VBA..........................................................................................................................499 Metody..............................................................................................................................499 Właściwości......................................................................................................................500 Zdalne uruchamianie VBA ...............................................................................................501 Status braku dokumentów.......................................................................................................502 Aplikacje ARX........................................................................................................................502 Metody..............................................................................................................................502 Podsumowanie ........................................................................................................................503 Rozdział 19. Projekt przestrzeni biurowej .................................................................505 Baza danych Microsoft Access ...............................................................................................505 Tabele, klucze oraz ograniczenia integralności ................................................................506 Tworzenie okna dialogowego u ytkownika .....................................................................507 Tworzenie zapytań w tle okna dialogowego ....................................................................509 Interfejs AutoCAD — Access.................................................................................................513 Procedura cbo_Group_Change.........................................................................................516 Procedura lstDepartment_AfterUpdate ............................................................................518 Procedura lstProgDetail_Click .........................................................................................520 Przydział powierzchni ......................................................................................................520 Podsumowanie ........................................................................................................................524
  • 9. 10 AutoCAD 2002 i 2004. Tworzenie makr w VBA Rozdział 20. Model obiektu DWF .............................................................................525 Drawing Web Format..............................................................................................................525 Struktura pliku ..................................................................................................................526 Kody operacji....................................................................................................................527 Współrzędne logiczne.......................................................................................................528 Aplikacja odczytująca Excela .................................................................................................528 Moduł XLocate.................................................................................................................529 Formularz XLdwf .............................................................................................................530 Opis obiektu Whip!.................................................................................................................538 Metody i właściwości ogólne ...........................................................................................538 Inne zbiory i obiekty.........................................................................................................546 Wbudowane zdarzenia aplikacji Whip!............................................................................547 Metody i właściwości Whip! ..................................................................................................548 Podsumowanie ........................................................................................................................551 Dodatki ...........................................................................................553 Dodatek A Zmienne systemowe AutoCAD-a 2002 .................................................555 Dodatek B Zmienne systemowe AutoCAD-a 2004 .................................................583 Dodatek C Wielkości wyliczeniowe (enum)............................................................613 Dodatek D Dziedziczenie w obiektach ...................................................................621 Dodatek E Program narzędziowy formatowania pliku DXF ......................................625 Skorowidz ...........................................................................................643
  • 10. Rozdział 12. Edycja W rozdziale tym przyjrzymy się kilku wbudowanym w VBA funkcjom AutoCAD-a związanym z edycją. Odejdziemy tu od naszej wcześniejszej praktyki pisania samowy- starczalnych przykładów, czyli tworzenia pewnego elementu i następnie zmieniania go w pewien sposób w tej samej procedurze. Aby zastosować omawiane metody edycji, tak jak robi się to zazwyczaj, utworzymy obiekty za pomocą procedur bazujących na listin- gach z wcześniejszych rozdziałów, a następnie zastosujemy metody zbioru 5GNGEVKQP5GV, by wskazać elementy i zmodyfikować je. U yjemy sześciu tego typu procedur: #FF2QN[, #FF'NNKRUG, #FF*CVEJ, #FF.KPG, #FF6GZV oraz $QQNG. (Nazwy tych procedur zaznaczyliśmy w listingach tego rozdziału kursywą). Procedury #FF'NNKRUG, #FF.KPG, oraz #FF6GZV zostały uproszczone dla celów tego roz- działu, a ich kod umieściliśmy na końcu tego rozdziału. Dodajmy jeszcze, e kody tych listingów, jak równie wszystkich innych zawartych w tej ksią ce, mo na ściągnąć ze strony internetowej wydawnictwa Prentice Hall pod adresem www.phptr.com. W związku z tym, e często stosujemy zbiory wskazań, a w listingach zazwyczaj u y- wamy nazwy PGY5GN5GV, zbiór wskazań o określonej nazwie jest wymazywany na końcu ka dego listingu. Jeśli z jakiegoś powodu dana procedura nie zadziała poprawnie, nale y wówczas ręcznie wymazać zbiór 5GNGEVKQP5GV, któremu nadano określoną nazwę; w prze- ciwnym razie jeśli spróbujemy u yć ponownie tej samej nazwy, AutoCAD wygeneruje komunikat o błędzie. W tym celu mo na zastosować podprogram 5GN5GVGNGVG z roz- działu 7. (patrz listing 7.6). (Jak wspomnieliśmy w rozdziale 7., mo na te ewentualnie opró nić zbiór wskazań i ponownie u yć go za pomocą metody %NGCT). Metody związane z edycją Najczęściej u ywane polecenia AutoCAD-a związane z edycją, takie jak #TTC[, %QR[, 'ZRNQFG, /KTTQT, /QXG, 1HHUGV, 4QVCVG, 5ECNG oraz 7PFQ, mają swoje odpowiedniki w me- todach VBA. Polecenia 'ZVGPF i 6TKO nie posiadają bezpośrednich odpowiedników, po- niewa funkcje te wykonuje się przez zmianę wektorów definiujących modyfikowane elementy. Istnieją równie trzy metody edycyjne, nieposiadające odpowiedników w inter- fejsie u ytkownika. Są to: )GV$QWFKPI$QZ, +PVGTUGEV9KVJ oraz 6TCPUHQTO. Jak będziemy mogli się przekonać, ostatnia z nich posiada wyjątkowo du e mo liwości.
  • 11. 340 Część II Zastosowanie modelu obiektu AutoCAD-a Array Metoda #TTC[ ma dwie opcje: RQNCT (tablica biegunowa) i TGEVCPIWNCT (tablica prosto- kątna), podobnie jak odpowiadające jej polecenie AutoCAD-a. Opcja biegunowa słu y do kopiowania wybranych obiektów określoną ilość razy, rozmieszczając je jednocześnie na okręgu wokół podanego punktu środkowego. Natomiast tablica prostokątna tworzy układ skopiowanych elementów uło onych w rzędy i kolumny o określonej odległości od obiektu oryginalnego, który definiuje jeden z naro ników tablicy. Metoda #TTC[2QNCT podczas kopiowania automatycznie obraca ka dy z obiektów, orien- tując go tak, e jego oś symetrii przechodzi przez punkt środkowy tablicy. Pod tym wzglę- dem metoda ta ró ni się od odpowiadającej jej komendy AutoCAD-a, która umo liwia wybór między obrotem obiektu a kopiowaniem bez obrotu. ArrayPolar (metoda ogólna (39)). 4GVWTP8CNWG jako tablica 8CTKCPV zmiennych 1DLGEV =QDLGEV#TTC[2QNCT (0WODGT1H1DLGEVU jako +PVGIGT [ 1, tylko wprowadzanie], #PING 6Q(KNN jako QWDNG [tylko wprowadzanie], %GPVGT2QKPV jako 8CTKCPV [tylko wprowadzanie]). Kąt nale y podać w radianach; wartości ujemne wskazują na obrót w kierunku przeciw- nym do ruchu wskazówek zegara, natomiast zero powoduje błąd. Listing 12.1 rozpoczyna się od wywołania procedury #FF'NNKRUG słu ącej do utworzenia obiektu, który będziemy potem edytować. Mo emy tutaj zastosować dowolny element AutoCAD-a lub grupę wskazanych elementów. Natomiast zbiór wskazań 5GNGEVKQP5GV tworzony jest za pomocą metody narzędziowej 5GNGEV1P5ETGGP. Listing 12.1. Tworzenie biegunowej tablicy obiektów 5WD #TTC[2QNCT #FF'NNKRUG KO PGY55GV #U #ECF5GNGEVKQP5GV 5GV PGY55GV 6JKUTCYKPI5GNGEVKQP5GVU#FF PGY5GN5GV PGY55GV5GNGEV1P5ETGGP KO 0WO1DL #U +PVGIGT KO (CPING #U QWDNG KO %VT2PV 6Q #U QWDNG 0WO1DL (CPING %VT2PV %VT2PV %VT2PV KO 1DLGEV #U #ECF'PVKV[ KO 0GY1DL #U 8CTKCPV (QT 'CEJ 1DLGEV +P PGY55GV 0GY1DL 1DLGEV#TTC[2QNCT 0WO1DL (CPING %VT2PV 0GZV 1DLGEV QQO#NN 6JKUTCYKPI5GNGEVKQP5GVU+VGO PGY5GN5GV GNGVG 'PF 5WD Następnie deklarujemy i nadajemy wartości kilku obiektom, które mają zostać skopio- wane do tablicy, jak równie określamy kąt dopełnienia (w radianach) oraz współrzędne punktu środkowego. Deklarujemy równie nowy obiekt #FF'PVKV[, który jest kojarzony
  • 12. Rozdział 12. Edycja 341 dynamicznie, poniewa musi on być w stanie przechować dowolny rodzaj obiektu doda- nego do zbioru wskazań. Po zadeklarowaniu zmiennej typu 8CTKCPV, słu ącej do przecho- wywania nowo utworzonych obiektów, wykorzystujemy pętlę (QT 'CEJ0GZV, aby do ka dego obiektu zastosować metodę #TTC[2QNCT. Na koniec za pomocą metody QQO#NN wykonujemy zmianę wielkości wyświetlanego obszaru, aby pokazać całą tablicę. ArrayRectangular (metoda ogólna (39)). 4GVWTP8CNWG jako tablica 8CTKCPV = QDLGEV#T TC[4GEVCPIWNCT (0WODGT1H4QYU jako +PVGIGT [ 1, tylko wprowadzanie], 0WODGT1H%QNWOPU jako +PVGIGT [ 1, tylko wprowadzanie], 0WODGT1H.GXGNU jako +PVGIGT [tylko wprowa- dzanie], KUV$GVYGGP4QYU jako QWDNG [tylko wprowadzanie], KUV$GVYGGP%QNWOPU jako QWDNG [tylko wprowadzanie], KUV$GVYGGP.GXGNU jako QWDNG [tylko wprowadzanie]). Oryginalny obiekt, z którego tworzona jest tablica, zajmuje w niej lewy dolny naro nik; natomiast ujemne parametry dotyczące kolumn i rzędów oznaczają, e tablica budowana jest w dół i na lewo. Metoda #TTC[4GEVCPIWNCT działa we wszystkich trzech osiach. U ytkownik podaje liczbę rzędów, kolumn i poziomów (dla osi Z) łącznie z odstępami omiędzy nimi. Natomiast znak u yty przy wprowadzaniu ka dego z odstępów oznacza kierunek w osiach X, Y i Z. Ustawienia w listingu 12.2 są bardzo podobne do tych z listingu 12.1. Natomiast do utwo- rzenia obiektu testowego mo emy u yć zarówno procedury #FF'NNKRUG, jak te wskazać obiekty z dowolnego rysunku. Najpierw deklarujemy wymagane zmienne i nadajemy war- tości ilościom elementów oraz odległościom między rzędami, kolumnami i poziomami. Potem przeprowadzamy iterację zbioru wskazań za pomocą metody#TTC[4GEVCPIWNCT, aby utworzyć nowy obiekt. Listing 12.2. Tworzenie prostokątnej tablicy obiektów 5WD #TTC[4GEVCPIWNCT #FF'NNKRUG KO PGY55GV #U #ECF5GNGEVKQP5GV 5GV PGY55GV 6JKUTCYKPI5GNGEVKQP5GVU#FF PGY5GN5GV PGY55GV5GNGEV1P5ETGGP KO 4QY0WO #U .QPI KO %QN0WO #U .QPI KO .GX0WO #U .QPI KO 4QYKU #U QWDNG KO %QNKU #U QWDNG KO .GXKU #U QWDNG 4QY0WO 4QYKU %QN0WO %QNKU .GX0WO .GXKU KO 1DLGEV #U #ECF'PVKV[ KO 0GY1DL #U 8CTKCPV (QT 'CEJ 1DLGEV +P PGY55GV 0GY1DL 1DLGEV#TTC[4GEVCPIWNCT 4QY0WO %QN0WO .GX0WO 4QYKU %QNKU .GXKU 0GZV 1DLGEV QQO#NN 6JKUTCYKPI5GNGEVKQP5GVU+VGO PGY5GN5GV GNGVG 'PF 5WD
  • 13. 342 Część II Zastosowanie modelu obiektu AutoCAD-a Copy Aby za pomocą metody %QR[ przenieść nowo utworzony obiekt w inne miejsce, nale y zastosować ją wraz z metodą /QXG, nazwa %QR[ wprowadza tu w błąd. Oprócz utworzenia zbioru wskazań obiektów, które chcemy skopiować, w ustawieniach nale y dodać tak e dwa punkty słu ące jako wektor przemieszczenia. Funkcję tę spełniają dwa pierwsze paragrafy listingu 12.3. Copy (metoda ogólna (39)). 4GVWTP8CNWG jako 1DLGEV = QDLGEV%QR[. (Obiekt skopio- wany zostaje w tym samym miejscu). Procedura ta umo liwia wybranie dowolnej liczby obiektów rysunkowych. W operacji kopiowania wykorzystujemy pętlę (QT0GZV, słu ącą do iteracji zbioru wskazań, aby skopiować, przesunąć i zmienić kolor nowych obiektów. Aby zrealizować te czynności, musimy najpierw zadeklarować zmienną pętli (K) oraz nadać rozmiary tablicy 8CTKCPV (PGY1DL), bazując na właściwości %QWPV nale ącej do obiektu 5GNGEVKQP5GV. W ten sposób korzystamy z tej właściwości dwukrotnie, ale nie musimy deklarować dwóch zmiennych: jednej do zliczania elementów oraz obiektu #ECF'PVKV[ dla składników zbioru wskazań. Z kolei w listingu dotyczącym metody 'ZRNQFG (patrz listing 12.4) do wykonania podobnej czynności u ywamy alternatywnej konstrukcji (QT 'CEJ0GZV. Zastosowanie tej składni jest szybsze pod wieloma względami. Listing 12.3. Prosta operacja kopiowania 5WD %QR[ KO PGY55GV #U #ECF5GNGEVKQP5GV 5GV PGY55GV 6JKUTCYKPI5GNGEVKQP5GVU#FF PGY5GN5GV PGY55GV5GNGEV1P5ETGGP KO 2 6Q #U QWDNG KO 2 6Q #U QWDNG 2 2 2 2 2 2 /UI$QZ CUVQUWL YGMVQT RTGUWPKúEKC KO K #U +PVGIGT 4GKO PGY1DL 6Q PGY55GV%QWPV #U 8CTKCPV (QT K 6Q PGY55GV%QWPV 5GV PGY1DL K PGY55GV+VGO K%QR[ 0GY1DL K/QXG 2 2 0GY1DL K%QNQT CE)TGGP 0GZV K 6JKUTCYKPI5GNGEVKQP5GVU+VGO PGY5GN5GV GNGVG 'PF 5WD CopyObjects (metoda obiektu QEWOGPV, CVCDCUG). 4GVWTP8CNWG jako tablica 8CTKCPV zmiennych typu 1DLGEV = QDLGEV%QR[1DLGEVU. (1DLGEVU jako tablica 8CTKCPV zmiennych typu 1DLGEV [tylko wprowadzanie], 1YPGT jako pojedynczy obiekt 8CTKCPV [opcjonalnie, tylko wprowadzanie], +2CKTU jako tablica 8CTKCPV zmiennych typu +2CKT [opcjonalnie, tylko wprowadzanie]).
  • 14. Rozdział 12. Edycja 343 Metoda %QR[1DLGEVU powiela kilka obiektów nale ących do tego samego dokumentu lub do ró nych dokumentów, u ywając w tym przypadku opcjonalnego parametru 1YPGT. Jeśli nie podano tego parametru, wówczas nowe obiekty tworzone są w tym samym do- kumencie co obiekt źródłowy. Tablicę 1DLGEVU tworzymy przy u yciu podstawowych obiektów, które mają zostać skopiowane, natomiast wszelkie drugorzędne obiekty, podle- głe lub związane z podstawowymi, równie zostaną skopiowane. Metodę %QR[1DLGEVU przedstawiliśmy ju w rozdziale 8. przy okazji omawiania obiektu CVCDCUG, a jej zastosowanie mo na było zobaczyć w listingu 8.10. Natomiast informacje dotyczące procesu kopiowania i przenoszenia zwracane są w tablicy obiektów +2CKT, jeśli były one zawarte w odwołaniu do metody %QR[1DLGEVU. Obiekt +2CKT posiada kilka właściwości. IsCloned. QDLGEV+U%NQPGF jako $QQNGCP (6TWG = obiekt źródłowy został sklonowany, (CNUG = obiekt źródłowy nie został sklonowany, tylko do odczytu). IsOwnerXlated. QDLGEV+U1YPGT:NCVGF jako $QQNGCP (6TWG = obiekt będący właścicielem został przeniesiony z jednej bazy danych do innej, (CNUG = obiekt będący właścicielem istnieje ju w nowym rysunku i nie został skopiowany, tylko do odczytu). IsPrimary. QDLGEV+U2TKOCT[ jako $QQNGCP (6TWG = obiekt źródłowy jest składnikiem podstawowego zbioru obiektów, (CNUG = pochodny obiekt źródłowy jest własnością pod- stawowego zbioru obiektów, tylko do odczytu). Key. QDLGEV-G[ jako .QPI (tylko do odczytu) zwraca identyfikator obiektu źródłowego. Value. QDLGEV8CNWG jako .QPI (tylko do odczytu) zwraca identyfikator nowego, skopio- wanego obiektu. Explode Metoda 'ZRNQFG rozbija zło ony obiekt na jego elementarne składniki. W przeciwieństwie do odpowiadającego jej polecenia AutoCAD-a, metoda ta nie rozbija wymiarów, multilinii oraz większości obiektów 3D. Jeśli zastosujemy ją do obiektów, których nie dotyczy, system wygeneruje komunikat o błędzie QDLGEV FQGUP V UWRRQTV VJKU RTQRGTV[ QT OGVJQF („obiekt nie obsługuje tej własności lub metody”). Obiekty obsługujące metodę 'ZRNQFG zostały wymienione poni ej. Nale y tak e pamiętać o wyraźnym wymazaniu roz- bitego obiektu, który pozostaje po utworzeniu nowego zbioru jego elementów składowych. Explode. 4GVWTP8CNWG jako tablica 8CTKCPV zmiennych typu 1DLGEV =QDLGEV'ZRNQFG 0CYC obiektu(ów), który ma zostać rozbity. Dostęp do pojedynczych elementów zawar- tych w blokach mo liwy jest za pomocą metody +VGO, nie jest zatem konieczne rozbija- nie bloku w celu jego edycji. Metoda 'ZRNQFG obsługiwana jest przez obiekty: 2QN[, $NQEM4GH, .KIJV9GKIJV2QN[NKPG, /+PUGTV$NQEM, 2QN[IQP/GUJ, 2QN[NKPG oraz 4GIKQP. Listing 12.4 rozpoczyna się od utworzenia obiektu testowego 2QN[NKPG oraz prośby o wybranie zbioru wskazań. Jeśli chcemy, mo emy wybrać równie kilka obiektów. Natomiast drugi paragraf tej procedury przeprowadza faktyczne rozbicie. Deklarujemy równie kilka zmiennych, łącznie z U%QWPV, która dostosowana jest do liczby elementów w zbiorze wskazań (właściwość %QWPV zwraca liczbę o jeden większą od U%QWPV, poniewa numeracja rozpoczyna się od zera).
  • 15. 344 Część II Zastosowanie modelu obiektu AutoCAD-a Pętla (QT 'CEJ0GZV, zawarta w tej procedurze, przeprowadza iterację zbioru wskazań. Potrzebna jest nam tak e dodatkowa zmienna (K), aby śledzić pozycję tablicy 'ZR1DL. Nale y jednak wspomnieć, e w tym przypadku bardziej efektywna byłaby tradycyjna pętla (QT0GZV. Kolejną czynnością jest usunięcie wszystkich obiektów ze zbioru wska- zań po tym, jak zostały rozbite. Trzeci paragraf tego listingu przeprowadza po prostu iterację elementów zbioru wskazań oraz zestawów rozbitych obiektów, zmieniając ich kolor na zielony, a następnie przywra- cając domyślny kolor warstwy po to, abyśmy mogli zobaczyć je na ekranie. (Aby prze- testować tę metodę, nie wska emy zapewne du ej ilości obiektów). Listing 12.4. Rozbicie kilku obiektów 5WD 'ZRNQFG #FF2QN[ KO PGY55GV #U #ECF5GNGEVKQP5GV 5GV PGY55GV 6JKUTCYKPI5GNGEVKQP5GVU#FF PGY5GN5GV PGY55GV5GNGEV1P5ETGGP KO 1DLGEV #U #ECF'PVKV[ KO K #U +PVGIGT KO L #U +PVGIGT KO U%QWPV #U +PVGIGT U%QWPV PGY55GV%QWPV 4GKO 'ZR1DL 6Q U%QWPV #U 8CTKCPV (QT 'CEJ 1DLGEV +P PGY55GV 'ZR1DL K 1DLGEV'ZRNQFG 1DLGEVGNGVG K K 0GZV 1DLGEV (QT K 6Q U%QWPV /UI$QZ 'NGOGPV 5GN5GV K .$QWPF .$QWPF 'ZR1DL K 7$QWPF A 7$QWPF 'ZR1DL K (QT L .$QWPF 'ZR1DL K 6Q 7$QWPF 'ZR1DL K 'ZR1DL K L%QNQT CE)TGGP 'ZR1DL K L7RFCVG /UI$QZ 4QDKV[ QDKGMV L A 'ZR1DL K L1DLGEV0COG 'ZR1DL K L%QNQT CE$[.C[GT 'ZR1DL K L7RFCVG 0GZV L 0GZV K 6JKUTCYKPI5GNGEVKQP5GVU+VGO PGY5GN5GV GNGVG 'PF 5WD GetBoundingBox Metoda ta nie ma odpowiednika wśród poleceń AutoCAD-a. Jednak wszystkie elementy posiadają pewną ramkę ograniczającą, którą wykorzystywaliśmy, na przykład opisując geometrię brył w rozdziale 10. W listingu przedstawionym w tym rozdziale wykorzy- stujemy procedurę $QQNG, która tworzy zło ony obiekt przez połączenie dwóch brył. Pro- cedura z listingu 12.5 przeznaczona jest do przetwarzania jednocześnie tylko jednego obiektu. Jeśli więc wska emy większą liczbę obiektów, przetworzony zostanie tylko pierwszy z nich.
  • 16. Rozdział 12. Edycja 345 GetBoundingBox (metoda ogólna (39)). 4GVWTP8CNWG jako 1DLGEV =QDLGEV)GV$QWPFKPI $QZ. /KP2QKPV jako 8CTKCPV (tylko odczyt), /CZ2QKPV jako 8CTKCPV (tylko odczyt). W listingu 12.5 deklarujemy dwie zmienne 8CTKCPV obsługujące dolną i górną granicę ramki ograniczającej. Parametry te zwracane są przez metodę )GV$QWPFKPI$QZ jako trój- elementowa tablica zmiennych QWDNG oraz wyświetlane na ekranie za pomocą okna dia- logowego. Natomiast w końcowym paragrafie stosujemy metodę #FF2QKPV, aby w tych miejscach umieścić widoczne punkty. W ten właśnie sposób wykonywaliśmy rysunki w rozdziale 10. Listing 12.5. Ustalenie punktów obszaru ograniczającego 5WD )GV$QWPFKPI$QZ $QQNG KO PGY55GV #U #ECF5GNGEVKQP5GV 5GV PGY55GV 6JKUTCYKPI5GNGEVKQP5GVU#FF PGY5GN5GV PGY55GV5GNGEV1P5ETGGP KO G/KP #U 8CTKCPV KO G/CZ #U 8CTKCPV 0GY55GV+VGO )GV$QWPFKPI$QZ G/KP G/CZ /UI$QZ 2WPMV[ FGHKPKWLæEG QDUCT ITCPKEP[ G/KP G/KP A G/KP OKP G/CZ G/CZ G/CZ OCMU KO C2QKPV #U #ECF2QKPV 5GV C2QKPV 6JKUTCYKPI/QFGN5RCEG#FF2QKPV G/CZ 5GV C2QKPV 6JKUTCYKPI/QFGN5RCEG#FF2QKPV G/KP 6JKUTCYKPI5GV8CTKCDNG 2/1' 6JKUTCYKPI5GNGEVKQP5GVU+VGO PGY5GN5GV GNGVG 'PF 5WD IntersectWith Jest to druga metoda związana z edycją, która nie posiada odpowiednika wśród poleceń AutoCAD-a. Zwraca ona punkty, w których przecinają się dane obiekty. Zadaniem pro- cedury z listingu 12.6 jest podanie punktów przecięcia tylko dwóch pierwszych wska- zanych obiektów. IntersectWith. 4GVWTP8CNWG jako tablica 8CTKCPV zmiennych typu QWDNG =QDLGEV+PVGT UGEV9KVJ (+PVGTUGEV1DLGEV [dowolny obiekt rysunkowy, tylko wprowadzanie], 'ZVGP F1RVKQP jako +PVGIGT [tylko wprowadzanie, enum CE'ZVGPF1RVKQP]). Metoda ta słu y do podania punktów, w których przecinają się wskazane obiekty rysunkowe (wszystkie z wy- jątkiem 28KGYRQTV i 2QN[IQP/GUJ). Natomiast parametr 'ZVGPF1RVKQP określa, który z prze- cinających się elementów ma zostać przedłu ony do miejsca ich teoretycznego przecię- cia. Obowiązujące wartości wielkości wyliczeniowej CE'ZVGPF1RVKQP są następujące: (0) CE'ZVGPF0QPG, (1) CE'ZVGPF6JKU'PVKV[, (3) CE'ZVGPF1VJGT'PVKV[, (4) CE'ZVGPF$QVJ.
  • 17. 346 Część II Zastosowanie modelu obiektu AutoCAD-a Procedura z listingu 12.6 tworzy linię przecinającą w dwóch punktach elipsę, a następnie wyświetla kursor wyboru. Na początku deklarujemy tablicę 8CTKCPV, przeznaczoną do przechowywania punktów przecięcia (+PV2VU), która zapełniana jest za pomocą pierw- szego zbioru wskazań. Pętla w drugim paragrafie procedury wyświetla na ekranie punkty przecięcia, które przypisywane są do kolejnych trójpunktowych grup tablicy +PV2VU. Listing 12.6. Znajdowanie punktów przecięcia 5WD +PVGTUGEV9KVJ #FF'NNKRUG #FF.KPG QQO#NN KO PGY55GV #U #ECF5GNGEVKQP5GV 5GV PGY55GV 6JKUTCYKPI5GNGEVKQP5GVU#FF PGY5GN5GV PGY55GV5GNGEV1P5ETGGP KO +PV2VU #U 8CTKCPV +PV2VU PGY55GV+VGO +PVGTUGEV9KVJ PGY55GV+VGO CE'ZVGPF0QPG KO K #U +PVGIGT KO L #U +PVGIGT KO /UI #U 5VTKPI (QT K .$QWPF +PV2VU 6Q 7$QWPF +PV2VU 5VGR /UI$QZ 2WPMVGO RTGEKúEKC= L ? LGUV +PV2VU K +PV2VU K A +PV2VU K /UI$QZ /UI 2T[M CF +PVGTUGEV9KVJ L L 0GZV K 6JKUTCYKPI5GNGEVKQP5GVU+VGO PGY5GN5GV GNGVG 'PF 5WD Mirror Dwie metody VBA związane z lustrzanym odbiciem odzwierciedlają odpowiadające im polecenia interfejsu u ytkownika w wersji 2D i 3D. Ka da z nich mo e być zastosowana do dowolnego elementu AutoCAD-a. Mirror (metoda ogólna (39)). 4GVWTP8CNWG jako odbity element typu 1DLGEV = QDLGEV/K TTQT (2QKPV jako 8CTKCPV [tylko odczyt], 2QKPV jako 8CTKCPV [tylko odczyt]. Metoda ta słu y do lustrzanego odbijania płaskich obiektów względem wskazanej osi. Zmienna sys- temowa /+446':6 steruje odbijaniem tekstu (0 = tekst pozostaje czytelny, (CNUG = tekst odbity dosłownie). W listingu 12.7 wykorzystaliśmy obiekty 'NNKRUG i .KPG do zaprezentowania lustrzane- go odbicia względem linii zdefiniowanej za pomocą dwóch punktów. Po wykonaniu tej czynności kolor odbitego obiektu zostaje zmieniony na czerwony. Procedura z omawia- nego listingu pozwala na wybranie wielu elementów. Nale y tak e dodać, e zarówno w przypadku wersji 2D, jak i 3D, jeśli chcemy wymazać oryginalny obiekt, musimy osobno zastosować metodę GNGVG. Listing 12.7. Lustrzane odbicie w płaszczyźnie X-Y 5WD /KTTQT #FF'NNKRUG
  • 18. Rozdział 12. Edycja 347 #FF.KPG QQO#NN KO PGY55GV #U #ECF5GNGEVKQP5GV 5GV PGY55GV 6JKUTCYKPI5GNGEVKQP5GVU#FF PGY5GN5GV PGY55GV5GNGEV1P5ETGGP KO 2 6Q #U QWDNG KO 2 6Q #U QWDNG 2 2 2 2 2 2 /UI$QZ 1FDKL U[OGVT[EPKG DKÎT YUMCC KO 1DLGEV #U #ECF'PVKV[ KO 0GY1DL #U 8CTKCPV (QT 'CEJ 1DLGEV +P PGY55GV 5GV 0GY1DL 1DLGEV/KTTQT 2 2 0GY1DL%QNQT CE4GF 0GZV 1DLGEV QQO#NN 6JKUTCYKPI5GNGEVKQP5GVU+VGO PGY5GN5GV GNGVG 'PF 5WD Mirror3D (metoda ogólna (39)). 4GVWTP8CNWG jako odbity element typu 1DLGEV =QD LGEV/KTTQT (2QKPV jako 8CTKCPV [tylko odczyt], 2QKPV jako 8CTKCPV [tylko odczyt], 2QKPV jako 8CTKCPV [tylko odczyt]). Metoda słu y do lustrzanego odbijania brył wzglę- dem wskazanej płaszczyzny. Procedura przedstawiona w listingu 12.8 pozwala na lustrzane odbicie jedynie pierw- szego wskazanego elementu. W naszym przypadku elementem tym jest obiekt $QQNG, odbijany symetrycznie względem płaszczyzny zdefiniowanej za pomocą trzech punk- tów. Po wykonaniu operacji odbicia dodatkowo zmieniany jest kolor nowego elementu. Listing 12.8. Lustrzane odbicie w przestrzeni trójwymiarowej 5WD /KTTQT $QQNG KO PGY55GV #U #ECF5GNGEVKQP5GV 5GV PGY55GV 6JKUTCYKPI5GNGEVKQP5GVU#FF PGY5GN5GV PGY55GV5GNGEV1P5ETGGP KO 2 6Q #U QWDNG KO 2 6Q #U QWDNG KO 2 6Q #U QWDNG 2 2 2 2 2 2 2 2 2 KO /KT1DL #U #ECF5QNKF 5GV /KT1DL PGY55GV+VGO /KTTQT 2 2 2 /KT1DL%QNQT QQO#NN 6JKUTCYKPI5GNGEVKQP5GVU+VGO PGY5GN5GV GNGVG 'PF 5WD
  • 19. 348 Część II Zastosowanie modelu obiektu AutoCAD-a Move Metodę /QXG zastosowaliśmy ju wcześniej w połączeniu z metodą %QR[ (listing 12.3). Natomiast listing 12.9 przedstawia operację przesunięcia zbioru wskazań o określoną odległość X. Move (metoda ogólna (39)). 1DLGEV /QXG 2QKPV jako 8CTKCPV (tylko wprowadzanie), 2QKPV jako 8CTKCPV (tylko wprowadzanie). W rozdziale 14. utworzymy narzędzie do przekształcania wybranych obiektów względem punktu początkowego lub bazowego, na przykładzie którego omówimy kilka odmian kopiowania i przesuwania obiektów o ró ne odległości oraz pod określonym kątem. Listing 12.9. Przesunięcie kilku obiektów 5WD /QXG KO PGY55GV #U #ECF5GNGEVKQP5GV 5GV PGY55GV 6JKUTCYKPI5GNGEVKQP5GVU#FF PGY5GN5GV PGY55GV5GNGEV1P5ETGGP KO 2 6Q #U QWDNG KO 2 6Q #U QWDNG KO KUV #U +PVGIGT KO K #U +PVGIGT KUV 6JKUTCYKPI7VKNKV[)GV+PVGIGT 2QFCL QFNGI Q è : 2 2 2 2 KUV 2 2 (QT K 6Q PGY55GV%QWPV 0GY55GV+VGO K/QXG 2 2 0GZV K 6JKUTCYKPI5GNGEVKQP5GVU+VGO PGY5GN5GV GNGVG 'PF 5WD Offset Metoda 1HHUGV tworzy równoległe krzywe i linie oraz współśrodkowe okręgi i elipsy. Jej zastosowanie jest ograniczone do wymienionych przed chwilą obiektów. Jeśli zasto- sujemy ją do obiektów, których ona nie dotyczy, system wygeneruje komunikat o błędzie „QDLGEV FQGUP V UWRRQTV VJKU RTQRGTV[ QT OGVJQF” („obiekt nie obsługuje tej właści- wości lub metody”). Offset. 4GVWTP8CNWG jako tablica 8CTKCPV zmiennych typu 1DLGEV QDLGEV1HHUGV (KUVCPEG jako QWDNG [tylko wprowadzanie]). Metoda ta tworzy nowy obiekt odsunięty o określoną odległość (dodatnią lub ujemną, ale nie zerową) od istniejącego obiektu. Metodę tę mo na stosować wyłącznie z obiektami, takimi jak: #TE, %KTENG, 'NKRUG, .KPG, .KIJV9GKIJV2QN[NKPG, 2QN[NKPG, 5RNKPG oraz :.KPG. W listingu 12.10 tworzymy, a następnie wskazujemy pojedynczą elipsę, która zostaje po- wielona przez odsunięcie od oryginalnego obiektu o odległość jednej jednostki wymiarowej.
  • 20. Rozdział 12. Edycja 349 Listing 12.10. Odsunięcie obiektu 5WD 1HHUGV #FF'NNKRUG KO PGY55GV #U #ECF5GNGEVKQP5GV 5GV PGY55GV 6JKUTCYKPI5GNGEVKQP5GVU#FF PGY5GN5GV PGY55GV5GNGEV1P5ETGGP /UI$QZ 1FUW DKÎT YUMCC KO 0GY1DL #U 8CTKCPV 0GY1DL PGY55GV+VGO 1HHUGV 0GY1DL %QNQT CE4GF QQO#NN 6JKUTCYKPI5GNGEVKQP5GVU+VGO PGY5GN5GV GNGVG 'PF 5WD Rotate Metody obrotu w 2D i 3D mo na zastosować do dowolnego obiektu rysunkowego łącznie z odnośnikami atrybutów. Rotate (metoda ogólna (39)). QDLGEV4QVCVG $CUG2QKPV jako 8CTKCPV [tylko wprowa- dzanie], 4QVCVKQP#PING jako QWDNG (kąt w radianach, tylko wprowadzanie). Metoda ta słu y do obrotu obiektu wokół określonego punktu w dwóch wymiarach. Procedura z listingu 12.11 pozwala na jednoczesne wskazanie kilku obiektów. Definiuje ona tak e punkt bazowy (%VT2PV) oraz kąt obrotu wynoszący w tym przypadku 45 stopni (wyra ony w radianach). Listing 12.11. Obrót w płaszczyźnie X-Y 5WD 4QVCVG KO PGY55GV #U #ECF5GNGEVKQP5GV 5GV PGY55GV 6JKUTCYKPI5GNGEVKQP5GVU#FF PGY5GN5GV PGY55GV5GNGEV1P5ETGGP KO %VT2PV 6Q #U QWDNG KO 4CPING #U 8CTKCPV %VT2PV %VT2PV %VT2PV 4CPING KO K #U +PVGIGT (QT K 6Q PGY55GV%QWPV PGY55GV+VGO K4QVCVG %VT2PV 4CPING 0GZV K 6JKUTCYKPI5GNGEVKQP5GVU+VGO PGY5GN5GV GNGVG 'PF 5WD Rotate3D (metoda ogólna (39)). QDLGEV4QVCVG 2QKPV jako 8CTKCPV [tylko wprowadza- nie], 2QKPV jako 8CTKCPV [tylko wprowadzanie], 4QVCVKQP#PING jako QWDNG (kąt w radia- nach, tylko wprowadzanie). Metoda ta słu y do obrotu bryły wokół określonej linii.
  • 21. 350 Część II Zastosowanie modelu obiektu AutoCAD-a Procedura z listingu 12.12 przystosowana jest do obsługi tylko pierwszego wskazanego obiektu, ale obydwie metody związane z obrotem mo na stosować do wielu elementów, jeśli w podprogramie umieścimy odpowiednią pętlę przetwarzającą wszystkie składniki zbioru wskazań. W omawianym listingu umo liwiliśmy wprowadzanie kąta obrotu w stop- niach, które są następnie konwertowane na radiany. Listing 12.12. Obrót w przestrzeni trójwymiarowej 5WD 4QVCVG $QQNG KO PGY55GV #U #ECF5GNGEVKQP5GV 5GV PGY55GV 6JKUTCYKPI5GNGEVKQP5GVU#FF PGY5GN5GV PGY55GV5GNGEV1P5ETGGP KO 2 6Q #U QWDNG KO 2 6Q #U QWDNG KO 4QV#PI #U QWDNG 2 2 2 2 2 2 4QV#PI 4QV#PI 4QV#PI
  • 22. PGY55GV+VGO 4QVCVG 2 2 4QV#PI QQO#NN 6JKUTCYKPI5GNGEVKQP5GVU+VGO PGY5GN5GV GNGVG 'PF 5WD ScaleEntity Podobnie jak odpowiadające jej polecenie 5ECNG, metoda 5ECNG'PVKV[ powiększa lub po- mniejsza wszelkie elementy AutoCAD-a o podany współczynnik. Skalowanie odbywa się równomiernie we wszystkich trzech osiach. ScaleEntity. QDLGEV5ECNG'PVKV[ $CUG2QKPV jako 8CTKCPV (tylko wprowadzanie), 5ECNG (CEVQT jako QWDNG (tylko wprowadzanie). Metoda ta przeprowadza skalowanie równo- miernie we wszystkich trzech osiach. W procedurze z listingu 12.13 zastosowaliśmy metodę 5GNGEV, aby automatycznie wska- zać wszystkie widoczne obiekty na rysunku testowym. Wszystkie zaznaczone elementy zostają pomniejszone o dwie trzecie przy u yciu punktu początkowego rysunku jako punktu bazowego skalowania. Listing 12.13. Skalowanie w przestrzeni trójwymiarowej 5WD 5ECNG'PVKV[ KO PGY55GV #U #ECF5GNGEVKQP5GV 5GV PGY55GV 6JKUTCYKPI5GNGEVKQP5GVU#FF PGY5GN5GV PGY55GV5GNGEV CE5GNGEVKQP5GV#NN KO $CUG2V 6Q #U QWDNG KO (CEVQT #U QWDNG $CUG2V $CUG2V $CUG2V (CEVQT
  • 23. Rozdział 12. Edycja 351 KO K #U +PVGIGT (QT K 6Q PGY55GV%QWPV PGY55GV+VGO K5ECNG'PVKV[ $CUG2V (CEVQT 0GZV K 6JKUTCYKPI5GNGEVKQP5GVU+VGO PGY5GN5GV GNGVG 'PF 5WD TransformBy 6TCPUHQTO$[ jest ostatnią z trzech metod edycyjnych, które nie posiadają odpowiedni- ków wśród poleceń AutoCAD-a. Umo liwia ona dokonywanie zmian geometrycznych, które mają fundamentalne znaczenie dla ka dej grafiki komputerowej. Nie będziemy zagłębiać się w teorię matematyczną transformacji macierzy 3D, ale nale y poznać cho- cia by podstawową notację, aby korzystać z metody 6TCPUHQTO$[, która posiada bardzo rozbudowane mo liwości. TransformBy (metoda ogólna (39)). QDLGEV6TCPUHQTO$[ 6TCPUHQTOCVKQP/CVTKZ jako 8CTKCPV (tablica 4×4 zmiennych QWDNG). Metoda ta umo liwia jednocześnie przesunięcie, obrót oraz skalowanie obiektu za pomocą tablicy przekształceń o wymiarach 4×4. Jeśli metoda ta zostanie niewłaściwie sformułowana, AutoCAD zwraca komunikat o błędzie, a w niektórych przypadkach mo e to spowodować „ogólny błąd modelowania”, który uniemo liwia dalsze działanie programu. Jak mogliśmy zaobserwować przy okazji omawiania metody /QXG, przesunięcie reali- zowane jest po prostu przez określenie starego i nowego poło enia obiektu za pomocą punktów w układzie współrzędnych AutoCAD-a. Następnie odejmujemy od siebie współ- rzędne tych punktów, uzyskując wektor przesunięcia, który ma zastosowanie do dowol- nego punktu obiektu przesuwanego równolegle z jednego punktu do drugiego. Natomiast operacje obrotu i skalowania nie są ju tak proste, poniewa ka dy punkt obiektu musi zostać przemieszczony w odmienny sposób w stosunku do punktu odniesie- nia. W przypadku skalowania ka dy punkt obiektu odsuwany jest wzdłu osi zaczepionej w punkcie odniesienia. Reprezentacja obrotu mo e mieć podobną formę, zrealizowana za pomocą sinusa i cosinusa wymaganego kąta. Obydwie te funkcje mo na połączyć, mno ąc ka dy z punktów definicji obiektu przez tablicę o wymiarach 2×2, definiującą funkcję transformacji. Istnieje mo liwość zło enia (konsolidacji) operacji przesunięcia, skalowania i obrotu w dwóch wymiarach w tablicy o wymiarach 3×3. Reprezentację tę mo na rozszerzyć rów- nie na trzy wymiary, jeśli zastosujemy tablicę 4×4. Ogólna tablica metody 6TCPUHQTO$[ AutoCAD-a przedstawiona została w listingu 12.14a. Parametr 4 oznacza tam kryteria obrotu, zdefiniowane za pomocą sinusa i cosinusa. Natomiast 5 i 6 odnoszą się odpowiednio do skalowania i przesunięcia. Wyra one są one jako współczynniki skalowania w pierw- szym przypadku oraz jako odległość — w drugim. Wszystkie one są liczbami rzeczywi- stymi (typ QWDNG). W listingach 12.14b, c i d przedstawiono odpowiednio obrót wokół osi X, Y i Z przy u yciu funkcji sinus i cosinus. Obrót wokół ka dej osi nale y skonfigurować za pomocą osobnej tablicy. Podobnie w przypadku skalowania, gdzie wykorzystywane są pozycje matryc R00, R11 i R22 (patrz listing 12.14a), którego nie mo na połączyć z obrotem. AutoCAD
  • 24. 352 Część II Zastosowanie modelu obiektu AutoCAD-a wymaga równie , aby współczynniki skalowania miały jednakową wartość we wszyst- kich trzech kierunkach. Istnieje natomiast mo liwość połączenia przesunięcia z obrotem lub skalowaniem, poniewa wykorzystuje ono inne pozycje tablicy. Listing 12.14. Tablice transformacji (4×4) ^ 45 4 4 6^ ^ 4 45 45 6^ ^ 4 4 45 6^ ^ ^ C ^%QU 4 5KP 4 ^ ^5KP 4 %QU 4 ^ ^ ^ ^ ^ D : ^ ^ ^ %QU 4 5KP 4 ^ ^ 5KP 4 %QU 4 ^ ^ ^ E ; ^ %QU 4 5KP 4 ^ ^ ^ ^5KP 4 %QU 4 ^ ^ ^ F Procedura pokazana w listingu 12.15 przedstawia dwie funkcje przekształceń tablico- wych. Zaczynamy od utworzenia w nowym rysunku obiektu $QQNG. Następnie deklaru- jemy dwuwymiarową tablicę (/) jako zmienną matrycy 4×4 oraz zbiór wskazań i obiekt ogólny. Obiekt $QQNG (z rozdziału 10.) wskazywany jest automatycznie za pomocą opcji CE5GNGEVKQP5GV#NN nale ącej do metody 5GNGEV. Ten pojedynczy element przypisywany jest zmiennej obiektu ogólnego (która mo e przechowywać dowolny rodzaj elementu i jest wiązana dynamicznie), tak e konieczne jest tylko jednokrotne oszacowanie PGY5 5GV+VGO . Następnie tworzymy zmienne potrzebne do samego przekształcenia, czyli kąt obrotu (4) oraz punkt odniesienia (6). Kąt nale y podać w stopniach, które są potem zamieniane na radiany, wymagane przez metodę 6TCPUHQTO$[. W listingu tym wykonujemy dwa przekształcenia, z których ka de poprzedzone jest wy- świetleniem okna dialogowego pokazującego u ywane parametry. Najpierw obracamy obiekt o kąt 60 stopni (w kierunku zgodnym z ruchem wskazówek zegara) bez składni- ków translacji. Następnie zmieniamy skalę obiektu na mniejszą o połowę, jednocześnie przemieszczając go o –5 jednostek we wszystkich trzech osiach. Natomiast na koniec wymazujemy zbiór wskazań. Mo na tak e ściągnąć z Internetu drugą aplikację związaną z metodą 6TCPUHQTO$[ doty- czącą tego rozdziału, która obraca obiekt o niewielkie kąty, jednocześnie stopniowo zmniej- szając wyświetlany widok za pomocą polecenia QQO. Tworzy to interesujący efekt animacji, który daje bli sze pojęcie o zasadzie działania polecenia 1TDKV AutoCAD-a, a uzysku- jemy to przez zawarcie kilku funkcji transformacji w pętli (QT0GZV.
  • 25. Rozdział 12. Edycja 353 Listing 12.15. Przekształcenie macierzowe 5WD 6TCPUHQTO$[ $QQNG KO / 6Q 6Q #U QWDNG KO PGY55GV #U #ECF5GNGEVKQP5GV KO 1DLGEV #U 1DLGEV 5GV PGY55GV 6JKUTCYKPI5GNGEVKQP5GVU#FF PGY5GN5GV PGY55GV5GNGEV CE5GNGEVKQP5GV#NN 5GV 1DLGEV PGY55GV+VGO KO 4 #U QWDNG KO 6 6Q #U QWDNG 6 6 4 4 4