Red de conocimiento informático - Material del sitio web - ¿Cómo insertar bloques dwg en gráficos CAD usando la programación vb.net?

¿Cómo insertar bloques dwg en gráficos CAD usando la programación vb.net?

Dim?ppr?As?PromptPointResult?=?ed.GetPoint("Seleccione el punto de inserción:")

Dim?pt?As?Point3d?=?ppr.Value

utility.WriteToEditor(pt.ToString())

Dim?pidBlock?As?New?PIDBlock()

'Clase de bloque autodefinida, guardar ¿La ruta y el nombre del bloque?

pidBlock.Name?=?"sample"

pidBlock.Path?=?blockPath?&?"b_sample.dwg"

Usando?blkDb?As?New?Database(False,?True)

'¿leer?dibujo?

blkDb.ReadDwgFile(pidBlock.Path,?System.IO. FileShare .Read,?True,?Nothing)

blkDb.CloseInput(True)

Usando?docLock?As?DocumentLock?=?doc.LockDocument()

'¿Debe hacer esto primero para varios documentos; de lo contrario, se informará un error de comando?

Usando?t?As?Transaction?=?doc.TransactionManager.StartTransaction()

'¿insertar?it?como?un?nuevo?bloque?

Dim?idBTR?As?ObjectId?=?doc.Database.Insert(pidBlock.Name,?blkDb,?False)

'crear ?una?ref?para?el?bloque?

Dim?bt?As?BlockTable?=?DirectCast(t.GetObject(doc.Database.BlockTableId,?OpenMode.ForRead ),?BlockTable)

Dim?btr?As?BlockTableRecord?=?DirectCast(t.GetObject(bt(BlockTableRecord.ModelSpace),?OpenMode.ForWrite),?BlockTableRecord)

Usando?bref?As ?New?BlockReference(pt,?idBTR)

btr.AppendEntity(bref)

t.AddNewlyCreatedDBObject(bref,?True)

¿Finalizar?Usando

t.Commit()

¿Finalizar?Usar

¿Finalizar?Usar

Finalizar?Usar