.NET

Reply
Valued Contributor
e.g.
Posts: 65
Registered: ‎07-23-2008
Message 1 of 6 (554 Views)

Modify a selected attribute value in a block

554 Views, 5 Replies
02-23-2011 09:17 AM

Hello,

 

I am trying to modify an attribute value in a block which I can select it on screen. The question is: when selecting the block, if the entity I pick is an attribute part of the block, can I get the attribute's tag? What I am trying to do is to update a revision block, changing one particular value but the attribute's tag it is not the same it can be different from drawing to drawing.

 

Thanks for your suggestions.

 

E.G.

*Expert Elite*
norman.yuan
Posts: 1,051
Registered: ‎04-27-2009
Message 2 of 6 (539 Views)

Re: Modify a selected attribute value in a block

02-23-2011 10:34 AM in reply to: e.g.

You can use Editor.GetNestedEntity() to allow user to directly pick an AttributeReference inside a BlockReference. Then update the Attributereference

 

Distinguished Contributor
Irvin
Posts: 112
Registered: ‎04-22-2009
Message 3 of 6 (517 Views)

Re: Modify a selected attribute value in a block

02-24-2011 12:52 AM in reply to: e.g.

Yuan,

 

About the getnestedentity()

 

My situation:

 

I'm standing in paperspace. This has one vp.

 

Can i use the above method to select an entity in the vp wich i've not opend. So i need to select an entity(drawn in modelspace) while standing in paperspace. I need the to get xrecord information so i can automate my annotation.

 

Hope you understand my problem.

 

Otherwise please let me know.

 

Kind regard,

 

Irvin

Valued Contributor
e.g.
Posts: 65
Registered: ‎07-23-2008
Message 4 of 6 (500 Views)

Re: Modify a selected attribute value in a block

02-24-2011 06:59 AM in reply to: norman.yuan

Thanks Norman,

 

it solved my problem.

 

E.G.

Valued Mentor
KerryBrown
Posts: 276
Registered: ‎11-29-2008
Message 5 of 6 (484 Views)

Re: Modify a selected attribute value in a block

02-24-2011 12:02 PM in reply to: e.g.
How ?
//-------------------------------------------------------

Everything will work just as you expect it to, unless your expectations are incorrect.

class keyThumper<T> : Lazy<T>;      another  Swamper

Valued Contributor
e.g.
Posts: 65
Registered: ‎07-23-2008
Message 6 of 6 (475 Views)

Re: Modify a selected attribute value in a block

02-24-2011 12:17 PM in reply to: KerryBrown

Here is the sample code(might need some adjusment): whatever text I have in the clipboard I'll paste it into attribute:

    <CommandMethod("44")> _
    Public Sub UpdateAttributeValue()


        Dim doc As Document = Application.DocumentManager.MdiActiveDocument
        Dim ed As Editor = doc.Editor
        Dim rs As PromptNestedEntityResult = ed.GetNestedEntity(vbLf & "Select attribute: ")
        Dim sTemp As String = String.Empty
        sTemp = My.Computer.Clipboard.GetText

        If sTemp = String.Empty Then
            MsgBox("There is no text in clipboard. Please copy some..")
            Return
        End If

        If rs.Status = PromptStatus.OK Then
            Dim oid As ObjectId = rs.ObjectId

            Using tr As Transaction = doc.TransactionManager.StartTransaction()

                Dim ent As Entity = DirectCast(tr.GetObject(oid, OpenMode.ForRead), Entity)

                If TypeOf ent Is AttributeReference Then
                    Dim attref As AttributeReference = DirectCast(ent, AttributeReference)
                    attref.UpgradeOpen()
                    attref.TextString = sTemp
                End If


                tr.Commit()

            End Using
        End If

    End Sub

 E.G.

Post to the Community

Have questions about Autodesk products? Ask the community.

New Post
Announcements
Are You Going To Be @ AU 2014? Feel free to drop by our AU topic post and share your plans, plug a class that you're teaching, or simply check out who else from the community might be in attendance. Ohh and don't forgot to stop by the Autodesk Help | Learn | Collaborate booths in the Exhibit Hall and meet our community team if you get a chance!