Gán thêm text vào acad từ 1 điểm

Liên hệ QC

N2NTrung

Thành viên mới
Tham gia
13/11/07
Bài viết
45
Được thích
4
Các bạn cho mình hỏi, mình đã gán 1 text "Giá trị 1" vào acad từ 1 điểm chọn. Vậy muốn gán thêm text "Giá trị 2" (vẫn từ 1 lệnh đó) vào acad và 2 text "GT1", "GT2" không trùng lên nhau thì phải viết marco thế nào nhỉ.
Rất mong được giúp đỡ.
 

File đính kèm

Ý bạn là GT1, xuống hàng rồi đến GT2 phải không?
Bạn hãy tham khảo đoạn code sau (mình lấy ngay trong help):
Mã:
Sub Ch4_FormatMText()
    Dim mtextObj As AcadMText
    Dim insertPoint(0 To 2) As Double
    Dim width As Double
    Dim textString As String
    insertPoint(0) = 2
    insertPoint(1) = 2
    insertPoint(2) = 0
    width = 4
    ' Define the ASCII characters for the control characters
    Dim OB As Long  ' Open Bracket  {
    Dim CB As Long  ' Close Bracket }
    Dim BS As Long  ' Back Slash    \
    Dim FS As Long  ' Forward Slash /
    Dim SC As Long  ' Semicolon     ;
    OB = Asc("{")
    CB = Asc("}")
    BS = Asc("\")
    FS = Asc("/")
    SC = Asc(";")
    ' Assign the text string the following line of control
    ' characters and text characters:
    ' {{\H1.5x; Big text}\A2; over text\A1;/\A0; under text}
    textString = "Big text" + Chr(CB) + Chr(BS) + "A2" _
    + Chr(SC) + "over text" + Chr(BS) + "A1" + Chr(SC) _
    + Chr(FS) + Chr(BS) + "A0" + Chr(SC) + "under text" _
    + Chr(CB)
    ' Create a text Object in model space
    Set mtextObj = ThisDrawing.ModelSpace.AddMText(insertPoint, width, textString)
    ZoomAll
End Sub
 
Upvote 0
Tôt quá rồi cám ơn bạn nvson nhiều.
Bạn cho mình hỏi thêm là có thể chỉ định ra vị trí để gán các text (cách xa điểm chọn 1 khoảng cách nào đó) được không
 
Upvote 0
À mình nghĩ ra rồi.

insertPoint1 = ThisDrawing.Utility.GetPoint(, "")
X1 = insertPoint1(0)
Y1 = insertPoint1(1)

insertPoint(0) = X1 + 10
insertPoint(1) = Y1 + 20
 
Upvote 0
bạn cho mình hỏi thêm là mình có 2 chuỗi :
"Big text" và "under text" phải viết textString thế nào để "giá trị 2" xuống dòng (như trong VB là dùng: "Big text" + vbCr + "under text")
Như bạn nvson hướng dẫn thì mình lược
textString = "Big text" + "over text" + Chr(BS) + "A0" + Chr(SC) + "under text" + Chr(CB)
thì có xuống dòng nhưng bỏ thêm 1 trong 2 "Big text" "over text" thì lại liền 1 dòng
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom