IDZ DO
         PRZYK£ADOWY ROZDZIA£

                           SPIS TRE CI   AutoCAD 2002 i 2004.
                      ...
Spis treści
                Przedmowa........................................................................................
4           AutoCAD 2002 i 2004. Tworzenie makr w VBA


Rozdział 4. Elementy modelu obiektu..................................
Spis treści                       5


Rozdział 7. Obiekty Utility ...........................................................
6           AutoCAD 2002 i 2004. Tworzenie makr w VBA


                 Line ...............................................
Spis treści                      7


Rozdział 11. Wymiary ...................................................................
8           AutoCAD 2002 i 2004. Tworzenie makr w VBA


Rozdział 14. Formularze i kontrolki .................................
Spis treści                       9


                Parametry u ytkownika..................................................
10         AutoCAD 2002 i 2004. Tworzenie makr w VBA


Rozdział 20. Model obiektu DWF .......................................
Rozdział 12.
Edycja
    W rozdziale tym przyjrzymy się kilku wbudowanym w VBA funkcjom AutoCAD-a
    związanym z edycją. O...
340        Część II   Zastosowanie modelu obiektu AutoCAD-a



Array
           Metoda #TTC[ ma dwie opcje: RQNCT (tablica...
Rozdział 12.   Edycja      341


           dynamicznie, poniewa musi on być w stanie przechować dowolny rodzaj obiektu do...
342       Część II    Zastosowanie modelu obiektu AutoCAD-a



Copy
          Aby za pomocą metody %QR[ przenieść nowo utw...
Rozdział 12.   Edycja       343


     Metoda %QR[1DLGEVU powiela kilka obiektów nale ących do tego samego dokumentu lub
 ...
344        Część II   Zastosowanie modelu obiektu AutoCAD-a


           Pętla (QT 'CEJ0GZV, zawarta w tej procedurze, prz...
Rozdział 12.   Edycja        345


          GetBoundingBox (metoda ogólna (39)). 4GVWTP8CNWG jako 1DLGEV =QDLGEV)GV$QWPFK...
346        Część II   Zastosowanie modelu obiektu AutoCAD-a


           Procedura z listingu 12.6 tworzy linię przecinają...
Rozdział 12.   Edycja   347


                 #FF.KPG
                 QQO#NN
                 KO PGY55GV #U #ECF5GNGEVKQ...
348        Część II   Zastosowanie modelu obiektu AutoCAD-a



Move
           Metodę /QXG zastosowaliśmy ju wcześniej w p...
Rozdział 12.   Edycja   349


Listing 12.10. Odsunięcie obiektu

            5WD 1HHUGV

                #FF'NNKRUG
      ...
350       Część II    Zastosowanie modelu obiektu AutoCAD-a


          Procedura z listingu 12.12 przystosowana jest do o...
PGY55GV+VGO
4QVCVG 2 2 4QV#PI
                QQO#NN
                6JKUTCYKPI5GNGEVKQP5GVU+VGO
 PGY5GN5GV GNGVG
        ...
Rozdział 12.   Edycja     351


          KO K #U +PVGIGT
          (QT K   6Q PGY55GV%QWPV  
              PGY55GV+VGO
K5...
352        Część II       Zastosowanie modelu obiektu AutoCAD-a


           wymaga równie , aby współczynniki skalowania ...
Rozdział 12.    Edycja     353


Listing 12.15. Przekształcenie macierzowe

            5WD 6TCPUHQTO$[

                $...
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
Upcoming SlideShare
Loading in …5
×

AutoCAD 2002 i 2004. Tworzenie makr w VBA

1,117 views

Published on


* Spraw, aby AutoCAD zrobił więcej, niż kiedykolwiek uważałeś za możliwe!
* Zautomatyzuj najbardziej złożone zadania konstrukcyjne
* Zintegruj dane rysunkowe z innymi systemami przedsiębiorstwa, bazami danych oraz Internetem
* Steruj obszarem rysunku, rzutniami oraz wydrukiem
* Zbuduj krok po kroku kompletną aplikację bazy danych dla AutoCAD-a


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 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. Kluczem do programowania za pomocą tego języka jest książka "AutoCAD 2002. Tworzenie makr w VBA"

Jej autorowi, jak nikomu innemu, udało się powiązać kluczowe narzędzia AutoCAD-a 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.

W kolejnych etapach czytelnik:

* Przejmie kontrolę nad AutoCAD-em: opanuje podstawy automatyzacji, COM oraz programowanie zorientowane obiektowo
* Zacznie swobodnie poruszać się po interaktywnym środowisku projektowania 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 (Data Access Objects) Microsoftu. Książka "AutoCAD 2002. Tworzenie makr w VBA" zawiera również zwięzłe opisy zmiennych systemowych i wyliczeniowych AutoCAD-a, dziedziczenia obiektów oraz elementów graficznych. Jeśli jesteś gotów okiełznać całą moc zawartą w AutoCAD-zie 2002, jest to książka której szukałeś!

O autorze:
Jeffrey E. Clark używa AutoCAD-a w swojej pracy od 15 lat, stworzył kilka komercyjnych aplikacji tego systemu. Jego prace publikowane były w wielu wydawnictwach [więcej...]

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,117
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

AutoCAD 2002 i 2004. Tworzenie makr w VBA

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×