Installation & Licensing
Welcome to Autodesk’s Installation and Licensing Forums. Share your knowledge, ask questions, and explore popular Download, Installation, and Licensing topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Error HRESULT E_FAIL has been returned from a call to a COM component

0 REPLIES 0
Reply
Message 1 of 1
sandumariana7
1535 Views, 0 Replies

Error HRESULT E_FAIL has been returned from a call to a COM component

Hi All,

 

I get this error "Error HRESULT E_FAIL has been returned from a call to a COM component".

 

Error appeared at creating a new table, I think it is a problem with Autodesk.DatabaseServices.Table  can not understand where is my  mistake to write the code. Please help me how can i solve this errors.

Below I've posted some code if you need more details please write me. Thank You

/////////////////////////////

PublicSub ComponentsTable()

Dim doc AsDocument = Application.DocumentManager.MdiActiveDocument

Dim db AsDatabase = doc.Database

Dim ed AsEditor = doc.Editor

Dim t AsTransaction = doc.TransactionManager.StartTransaction

Dim sd AsDBDictionary = t.GetObject(db.TableStyleDictionaryId, OpenMode.ForRead)

Dim bt AsBlockTable

Dim btr AsBlockTableRecord

 

Try

Dim ld AsDBDictionary = t.GetObject(db.LayoutDictionaryId, OpenMode.ForRead)

Dim idLayout AsObjectId = ObjectId.Null

If ld.Contains("Doors - DP") Then

idLayout = ld.GetAt("Doors - DP")

Dim lm AsLayoutManager = LayoutManager.Current

lm.CurrentLayout = "Doors - DP"

EndIf

Dim tb AsNewTable()

Dim objId AsObjectId

If sd.Contains("Standard") Then

objId = sd.GetAt("Standard")

tb.TableStyle = objId

EndIf

tb.NumRows = 2 + arrAPHeight.Count + arrCCHeight.Count + arrMAPHeight.Count

tb.NumColumns = 13

tb.SetRowHeight(3)

tb.SetColumnWidth(30)

tb.Position = NewPoint3d(7.4, 8.5, 0)

tb.SetTextString(0, 0, "COIL COVERS/ACCESS PANELS/MULTI ACCESS PANELS")

tb.SetColumnWidth(9, 38)

tb.SetColumnWidth(4, 38)

tb.SetColumnWidth(12, 33)

For i AsInteger = 0 To 12

tb.SetTextHeight(1, i, 4.5)

tb.SetTextString(1, i, str(i))

tb.SetAlignment(1, i, CellAlignment.MiddleCenter)

Next

bt = CType(t.GetObject(HostApplicationServices.WorkingDatabase.BlockTableId, OpenMode.ForWrite), BlockTable)

btr = CType(t.GetObject(bt(BlockTableRecord.ModelSpace), OpenMode.ForWrite), BlockTableRecord)

Dim dyProp AsDynamicBlockReferenceProperty

Dim bts AsBlockTable

Dim btrs AsBlockTableRecord

Dim bref AsBlockReference

Dim dynamicBtr AsBlockTableRecord

Dim myEnt AsEntity

bts = CType(t.GetObject(HostApplicationServices.WorkingDatabase.BlockTableId, OpenMode.ForRead), BlockTable)

btrs = CType(t.GetObject(bts(BlockTableRecord.ModelSpace), OpenMode.ForRead), BlockTableRecord)

Dim myEnum AsBlockTableRecordEnumerator = btrs.GetEnumerator

While myEnum.MoveNext

myEnt = myEnum.Current.GetObject(OpenMode.ForRead)

IfTypeOf myEnt IsBlockReferenceThen

bref = myEnt

If bref.IsDynamicBlock = TrueThen

dynamicBtr = bref.DynamicBlockTableRecord.GetObject(OpenMode.ForWrite)

If dynamicBtr.Name.ToUpper = "OPENING"Or dynamicBtr.Name.ToUpper = "SIDE_OPENING"Then

ForEach insDynamicProp In bref.DynamicBlockReferencePropertyCollection

/////////////////////

0 REPLIES 0

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

Post to forums  

Administrator Productivity


Autodesk Design & Make Report