- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
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.

