WWW.CAD.PL -- VBA dla AutoCAD-a -- kurs podstawowy
TEXTAREA {
FONT-FAMILY: verdana; FONT-SIZE: 10pt
}
INPUT {
FONT-FAMILY: verdana; FONT-SIZE: 10pt
}
SELECT {
FONT-FAMILY: verdana; FONT-SIZE: 10pt
}
OPTION {
FONT-FAMILY: verdana; FONT-SIZE: 10pt
}
PRE {
FONT-FAMILY: Courier; FONT-SIZE: 8pt
}
H2 {
FONT-FAMILY: Verdana, sans-serif; FONT-SIZE: 13pt
}
H3 {
FONT-FAMILY: Verdana, sans-serif; FONT-SIZE: 12pt
}
H4 {
FONT-FAMILY: Verdana, sans-serif; FONT-SIZE: 10pt
}
P {
FONT-FAMILY: Verdana, sans-serif; FONT-SIZE: 9pt
}
TD {
FONT-FAMILY: Verdana, sans-serif; FONT-SIZE: 9pt
}
XMP {
FONT-FAMILY: monospace; FONT-SIZE: 8pt
}
.ks {
FONT-FAMILY: Verdana, sans-serif; FONT-SIZE: 9pt
}
P.user {
COLOR: black; FONT-FAMILY: Verdana, sans-serif; FONT-SIZE: 8pt; TEXT-ALIGN: center
}
P.user A {
COLOR: black; FONT-FAMILY: Verdana, sans-serif; FONT-SIZE: 8pt; TEXT-ALIGN: center
}
LI {
COLOR: black; FONT-FAMILY: Verdana, sans-serif; FONT-SIZE: 8pt
}
.ll {
FONT-FAMILY: Verdana, sans-serif; FONT-SIZE: 8pt; MARGIN-BOTTOM: 3pt
}
.lll {
FONT-FAMILY: Verdana, sans-serif; FONT-SIZE: 8pt; MARGIN-BOTTOM: 0pt
}
.llll {
COLOR: black; FONT-FAMILY: Verdana, sans-serif; FONT-SIZE: 8pt; MARGIN-BOTTOM: 0pt; TEXT-ALIGN: right
}
.lllll {
FONT-FAMILY: Verdana, sans-serif; FONT-SIZE: 8pt; MARGIN-BOTTOM: 0pt; MARGIN-LEFT: 15pt
}
VBA dla AutoCAD-a -- kurs dla początkujących
Lekcja 15 -- Wymiarowanie
Wymiarowanie w VBA w AutoCAD-zie
Tematem dzisiejszej lekcji jest wymiarowanie obiektów rysunkowych
w AutoCAD-zie z poziomu VBA. Nie będziemy tworzyć nowego obiektu od
podstaw. Wykorzystamy w tym ćwiczeniu funkcję rysującą kątownik
nierównoramienny z lekcji 4. dotyczącej rysowania polilinii.
Funkcja ta, jak Państwo pamiętają, rysuje kątownik o wymiarach
jak na rysunku poniżej.
Rys. 1 Rysunek
kątownika
Pisanie procedury tworzącej nową warstwę w AutoCAD-zie
rozpoczynamy od zdefiniowania jej nazwy.
Sub wym_katownik()
Deklarujemy zmienną dimObj1 i dimObj2 jako nowe obiekty
AutoCAD-a. Dim dimObj1 As AcadDimAligned
Dim dimObj2 As AcadDimAligned
Deklarujemy punkty dpt1, dpt2, dpt3 jako zmienne typu double.
Dim dpt1(0 To 2) As Double
Dim dpt2(0 To 2) As Double
Dim dpt3(0 To 2) As Double
Deklarujemy zmienne lokation1, lokation2 jako nowe zmienne typu
double. Dim location1(0 To 2) As Double
Dim location2(0 To 2) As Double
Przypisujemy wartość do zmiennej, która określa początek
pierwszej linii wymiarowej. dpt1(0) = punkt1(0) 'X1
dpt1(1) = punkt1(1)
Przypisujemy wartość do zmiennej, która określa koniec pierwszej
linii wymiarowej. dpt2(0) = punkt1(0) + s 'X2
dpt2(1) = punkt1(1)
Przypisujemy wartość do zmiennej określającej położenie pierwszej
linii wymiarowejlocation1(0) = dpt1(0)
location1(1) = dpt1(1) - 5
location1(2) = 0
Tworzymy pierwszą linię wymiarową. Set dimObj1 = ThisDrawing.ModelSpace. _
AddDimAligned(dpt1, dpt2, location1)
Zmieniamy tekst napisu wymiarowego.
dimObj1.TextOverride = "s = <>"
Odświeżamy obiekt
dimObj1.Update
Rys. 2 Wymiar liniowy od punktu dpt1 do
punktu dpt2
Przypisujemy wartość do zmiennej dpt3, która określa koniec
drugiej linii wymiarowej. dpt3(0) = punkt1(0) 'X2 dpt3(1) =
punkt1(1) + h
Przypisujemy wartość do zmiennej określającej położenie drugiej
linii wymiarowej. location2(0) = dpt1(0) - 5
location2(1) = dpt1(1)
location2(2) = 0
Tworzymy drugą linię wymiarową. Set dimObj1 = ThisDrawing.ModelSpace.
AddDimAligned(dpt1, dpt3, location2)
Zmieniamy tekst napisu wymiarowego.
dimObj1.TextOverride = "h = <>"
Odświeżamy obiekt.
dimObj1.Update
Rys. 3 Wymiar liniowy od punktu dpt1 do
punktu dpt3
Deklarujemy zmienną dimrad jako nowy obiekt AutoCAD-a
Dim dimrad As AcadDimRadial
Rys. 4 Rysunek pomocniczy do stworzenia
wymiaru kątowego
Deklarujemy zmienną center jako zmienną typu double.
Dim center(0 To 2) As Double
Deklarujemy zmienną chordPoint jako zmienną typu Variant.
Dim chordPoint As Variant
Deklarujemy zmienną leaderLen jako zmienną typu Integer.
Dim leaderLen As Integer
Przypisujemy wartość do zmiennej center. Zmienna ta jest
potrzebna do przechowywania wartości współrzędnych punktu początku
wymiaru kątowego. center(0) = punkt1(0) + s - r1
'punkt1(0) + 40 - 3 = 37 - wsp. X
center(1) = punkt1(1) + r1
'punkt1(1) + 3 = 3 - wsp. Y
center(2) = 0
'wsp. Z
Przypisujemy wartość do zmiennej chordPoint. Zmienna ta jest
potrzebna do przechowywania wartości współrzędnych punktu środka
wymiaru kątowego.
Wiemy, że kąt pomiędzy osią X a prostą wyznaczoną przez punkty
center oraz chordpoint wynosi 45 stopni. Znamy także (lub możemy
sobie wyliczyć ) odległość pomiędzy tymi dwoma punktami. Do
wyznaczenia współrzędnych punktu chordpoint możemy więc użyć metody
PolarPoint.
Musimy pamiętać, że kąty podajemy w radianach 90 stopni = PI / 4
(funkcja obliczająca PI znajduje się na samym początku procedury).
chordPoint = ThisDrawing.Utility.PolarPoint
(center, PI / 4, r1) leaderLen = 5
Tworzenie wymiaru kątowegoSet dimrad = ThisDrawing.ModelSpace. _
AddDimRadial(center, chordPoint, leaderLen)
Odświeżenie obiektu
dimrad.Update
Rys. 5 Wymiar kątowy (zwymiarowanie
promienia zaokrąglenia)
Wyświetlenie w oknie typu MsgBox informacji.
MsgBox " Zmieniamy grot wymiaru kątowego na strzałkę"
Zmiana typu grota wymiaru kątowego na strzałkę.
dimrad.ArrowheadType = acArrowClosed
Odświeżenie obiektu
dimrad.Update
Koniec procedury
End Sub
Efekt działania procedury stworzonej przez nas na dzisiejszej
lekcji widoczny jest na rysunku poniżej.
Rys. 6 Zwymiarowany rysunek
kątownika
[Poprzednia
lekcja] [Spis
treści] [Następna
lekcja][Przykłady w postaci
elektroniczej]
Piotr Głębicki, ©
Wydawnictwo Helion
2001.
Wyszukiwarka
Podobne podstrony:
WWW?D PL AutoCAD kurs dla średniozaawansowanych14WWW?D PL AutoCAD kurs dla średniozaawansowanych12WWW?D PLWWW?D PLWWW?D PL AutoCAD kurs dla średniozaawansowanych6WWW?D PLWWW?D PLWWW?D PL AutoCAD kurs dla średniozaawansowanych4WWW?D PLWWW?D PL AutoCAD kurs dla średniozaawansowanych8WWW?D PL CATIA V5 Modelowanie kurs dla początkującyWWW?D PL AutoCAD kurs dla średniozaawansowanych1WWW?D PLWWW?D PLWWW?D PL AutoCAD kurs dla średniozaawansowanych11WWW?D PL AutoLISP FAQWWW?D PLwięcej podobnych podstron