Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
Jin Yong

Autocad.Net - Fix lỗi gán TextStyle cho các phiên bản AutoCad

Các bài được khuyến nghị

Trước đây CTK5 của mình bị vướng lỗi TextStyle do các phiên bản có khác nhau về cách thức sử dụng hàm này, với CAD2007-2009, thì hàm là TextStyle, nhưng với CAD2010 thì hàm này là TextStyleID, do đó CTK5 cần biên dịch ra 2 phiên bản khác nhau. Bạn Gia_Bach từng bàn luận vấn để này trong topic CTK (http://www.cadviet.c...ndpost&p=143944). Tuy nhiên gần đây Jin phát hiện ra một cách thức đơn giản hơn nhiều, đó là sử dụng đoạn mã "mù mờ" :D , cách thức như sau:

 

 

Sub Add_Text(ByVal X As Decimal, ByVal Y As Decimal, ByVal tText As String, ByVal tHeight As Decimal)

Dim acDoc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument

Dim acCurDb As Database = acDoc.Database

Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()

Dim acBlkTbl As BlockTable

acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId, Autodesk.AutoCAD.DatabaseServices.OpenMode.ForRead)

Dim acBlkTblRec As BlockTableRecord

acBlkTblRec = acTrans.GetObject(acBlkTbl(BlockTableRecord.ModelSpace), Autodesk.AutoCAD.DatabaseServices.OpenMode.ForWrite)

Dim acTextStyleTblRec As TextStyleTable

acTextStyleTblRec = acTrans.GetObject(acCurDb.TextStyleTableId, Autodesk.AutoCAD.DatabaseServices.OpenMode.ForRead)

Dim acText As DBText = New DBText()

acText.SetDatabaseDefaults()

acText.HorizontalMode = TextHorizontalMode.TextCenter

acText.AlignmentPoint = New Point3d(X, Y, 0)

SET_TEXT_STYLE(acText, acTextStyleTblRec.Item(SYS_TextStyle_VTS_SM))

acBlkTblRec.AppendEntity(acText)

acTrans.AddNewlyCreatedDBObject(acText, True)

acTrans.Commit()

End Using

End Sub

 

 

 

Sub SET_TEXT_STYLE(ByVal acText As Object, ByVal TextTypeTable As Object)

Try

acText.TextStyle = TextTypeTable

Catch ex As System.Exception

acText.TextStyleID = TextTypeTable

End Try

End Sub

 

 

Hy vọng giúp ích được cho mọi người :)

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay
Đăng nhập để thực hiện theo  

×