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 !
Solved! Go to Solution.
Solved by Alexander.Rivilis. Go to Solution.
1. First of all let using Insert Code button:
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
Hi Alex,
nearly there then!
Dim
lock AsDocumentLock = Application.DocumentManager.MdiActiveDocument.LockDocument
etc....
lock.Dispose()
works fine, thank you for response