Đến nội dung


Hình ảnh
- - - - -

[Hỏi] cách tạo style text bằng vba


  • Please log in to reply
7 replies to this topic

#1 huunhantvxdts

huunhantvxdts

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 366 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 26 December 2013 - 11:17 AM

Mình viết ứng dụng bằng vba nhưng vướng mắc cách thiết lập textstyle nhờ mọi người giúp với

đây là đoạn code 

Sub TaoTextStyle()
Dim TextStyleObj As AcadTextStyle
Set TextStyleObj = ThisDrawing.TextStyles.Add("chuhoa")
TextStyleObj.SetFont ".VnArial NarrowH", True, False, 0, 34
Set TextStyleObj = ThisDrawing.TextStyles.Add("chuso")
TextStyleObj.SetFont ".VnArial Narrow", True, False, 0, 34
Set TextStyleObj = ThisDrawing.TextStyles.Add("Text")
' lỗi ở dòng này
TextStyleObj.SetFont "vnsimple", True, False, 0, 34
End Sub

đoạn code ở trên chạy được với các font  ".VnArial NarrowH"

mình muốn chuyển sang font "vnsimple" thì bị lỗi 

mong mọi người giúp đỡ 

cám ơn nhiều


  • 0

#2 dinhvantrang

dinhvantrang

    biết lệnh copy

  • Members
  • PipPipPip
  • 117 Bài viết
Điểm đánh giá: 26 (tàm tạm)

Đã gửi 26 December 2013 - 02:56 PM

Mình viết ứng dụng bằng vba nhưng vướng mắc cách thiết lập textstyle nhờ mọi người giúp với

đây là đoạn code 

Sub TaoTextStyle()
Dim TextStyleObj As AcadTextStyle
Set TextStyleObj = ThisDrawing.TextStyles.Add("chuhoa")
TextStyleObj.SetFont ".VnArial NarrowH", True, False, 0, 34
Set TextStyleObj = ThisDrawing.TextStyles.Add("chuso")
TextStyleObj.SetFont ".VnArial Narrow", True, False, 0, 34
Set TextStyleObj = ThisDrawing.TextStyles.Add("Text")
' lỗi ở dòng này
TextStyleObj.SetFont "vnsimple", True, False, 0, 34
End Sub

đoạn code ở trên chạy được với các font  ".VnArial NarrowH"

mình muốn chuyển sang font "vnsimple" thì bị lỗi 

mong mọi người giúp đỡ 

cám ơn nhiều

Bạn kiểm tra lại trong Cad của bạn có loại Font đó ko nhé. CHứ mình chạy thử cái code của b ạn thì lỗi ngay dòng Set Font thứ nhất do trong máy mình ko có kiểu Font này


  • 0

Thanks and Best Regards

Skype : dinhvantrang73


#3 huunhantvxdts

huunhantvxdts

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 366 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 26 December 2013 - 03:06 PM

Bạn kiểm tra lại trong Cad của bạn có loại Font đó ko nhé. CHứ mình chạy thử cái code của b ạn thì lỗi ngay dòng Set Font thứ nhất do trong máy mình ko có kiểu Font này

Cad mình đã có font này rồi nhưng mình nghĩ chắc do cấu trúc của các kiểu font khác nhau nên lệnh set font vnsimple không set được

mình thấy trong cad font thế này

.VnArial NarrowH

Vnsimple.shx


  • 0

#4 hoanguct

hoanguct

    biết vẽ line

  • Members
  • PipPip
  • 23 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 26 December 2013 - 03:10 PM

Mình đã thử và củng không chay được đúng dòng code bạn bảo. Mình chuyển qua font một số font khác chay trơn tru.Thôi chuyển qua font khác cho nhanh bạn à.

nếu không ban có thể dùng  code để add text

 

 

Dim newAltFontFile As String
newAltFontFile = "C:/AutoCAD/Fonts/vnsimple.shx"
ThisDrawing.ActiveTextStyle.fontFile = newAltFontFile


  • 0

#5 huunhantvxdts

huunhantvxdts

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 366 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 26 December 2013 - 03:36 PM

Mình đã thử và củng không chay được đúng dòng code bạn bảo. Mình chuyển qua font một số font khác chay trơn tru.Thôi chuyển qua font khác cho nhanh bạn à.

nếu không ban có thể dùng  code để add text

 

 

Dim newAltFontFile As String
newAltFontFile = "C:/AutoCAD/Fonts/vnsimple.shx"
ThisDrawing.ActiveTextStyle.fontFile = newAltFontFile

Cám ơn bạn nhiều 


  • 0

#6 thinhtutn

thinhtutn

    biết zoom

  • Members
  • Pip
  • 17 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 26 September 2014 - 10:42 AM

Các bác cho em hỏi: cho để text nghiêng theo một góc thì làm thế nào? Ví dụ như khi điền độ dốc đường chẳng hạn.


  • 0

#7 huunhantvxdts

huunhantvxdts

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 366 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 26 September 2014 - 11:09 AM

Các bác cho em hỏi: cho để text nghiêng theo một góc thì làm thế nào? Ví dụ như khi điền độ dốc đường chẳng hạn.

Đây là đoạn code viết text

Set caodo = AcadApplication.ActiveDocument.ModelSpace.AddText(noidung, x, hchu)
        caodo.Alignment = acAlignmentMiddleCenter
        caodo.TextAlignmentPoint = x
gocnghieng = 0 / 180 * 3.14159
        caodo.Rotate x, gocnghieng

caodo.Update

noidung: là nội dung

x: tọa độ

hchu; chiều cao


  • 1

#8 thinhtutn

thinhtutn

    biết zoom

  • Members
  • Pip
  • 17 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 29 September 2014 - 09:33 AM

Đây là đoạn code viết text

Set caodo = AcadApplication.ActiveDocument.ModelSpace.AddText(noidung, x, hchu)
        caodo.Alignment = acAlignmentMiddleCenter
        caodo.TextAlignmentPoint = x
gocnghieng = 0 / 180 * 3.14159
        caodo.Rotate x, gocnghieng

caodo.Update

noidung: là nội dung

x: tọa độ

hchu; chiều cao

Em làm được rồi. Cám ơn bác!


  • 0