creating a text style

creating a text style

Anonymous
Not applicable
889 Views
2 Replies
Message 1 of 3

creating a text style

Anonymous
Not applicable

Hello Group, this is my attempt, taken from snippets given here, but i obviously havent got the whole picture:

 

PublicSharedSub CreateTextStyle(ByVal TextStyleName AsString, ByVal FontFileName AsString, ByVal OblAng AsDouble)

           

Dim DataB AsDatabase = Application.DocumentManager.MdiActiveDocument.Database

           

Dim MyTransaction AsTransaction = DataB.TransactionManager.StartTransaction()

           

Try

               

Dim MyBlockTable AsBlockTable = MyTransaction.GetObject(DataB.BlockTableId, OpenMode.ForRead)

               

Dim MyBlockTableRecord AsBlockTableRecord = MyTransaction.GetObject(MyBlockTable(BlockTableRecord.ModelSpace), OpenMode.ForWrite)

               

Dim MyTextStyleTable AsTextStyleTable = MyTransaction.GetObject(DataB.TextStyleTableId, OpenMode.ForRead)

               

'check to see if text style exists, and if not create text style

               

If MyTextStyleTable.Has(TextStyleName) = FalseThen

                    MyTextStyleTable.UpgradeOpen()

                   

Dim MyTextStyleTableRecord AsNewTextStyleTableRecord

                    MyTextStyleTableRecord.FileName = FontFileName

                    MyTextStyleTableRecord.Name = TextStyleName

                    MyTextStyleTableRecord.ObliquingAngle = OblAng

                    MyTextStyleTable.Add(MyTextStyleTableRecord)

                    MyTransaction.AddNewlyCreatedDBObject(MyTextStyleTableRecord,

True)

               

EndIf

           

Finally

                MyTransaction.Commit()

                MyTransaction.Dispose()

           

EndTry

       

EndSub

 

and i call it from sub:

 

Call CreateTextStyle("330", "romans.shx", DTR(330))

 

but error comes up

 

at Autodesk.AutoCAD.DatabaseServices.Transaction.GetObject(ObjectId id, OpenMode mode, Boolean openErased, Boolean forceOpenOnLockedLayer)

 

any help would be appreciated !
 

0 Likes
Accepted solutions (1)
890 Views
2 Replies
Replies (2)
Message 2 of 3

Alexander.Rivilis
Mentor
Mentor
Accepted solution

1. First of all let using Insert Code button:

01-03-2013 15-59-28.png

2. What kind of error happened (full description and error code)?  Maybe eLockViolation ?  If so you have to Lock/Unlock document.

Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"


Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Expert Elite Member

0 Likes
Message 3 of 3

Anonymous
Not applicable

Hi Alex,

 

nearly there then!

 

Dim

lock AsDocumentLock = Application.DocumentManager.MdiActiveDocument.LockDocument

 

etc....

 

lock.Dispose()

 

works fine, thank you for response

0 Likes