.NET
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

creating a text style

2 REPLIES 2
SOLVED
Reply
Message 1 of 3
AcadApe
583 Views, 2 Replies

creating a text style

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 !
 

2 REPLIES 2
Message 2 of 3
Alexander.Rivilis
in reply to: AcadApe

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

Message 3 of 3
AcadApe
in reply to: AcadApe

Hi Alex,

 

nearly there then!

 

Dim

lock AsDocumentLock = Application.DocumentManager.MdiActiveDocument.LockDocument

 

etc....

 

lock.Dispose()

 

works fine, thank you for response

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th


Autodesk Design & Make Report

”Boost