How To Unblock A Block Reference In Autocad

Using blocks in AutoCAD has many benefits, as we covered here before: Why you should use AutoCAD blocks. However, there is one thing that people can find annoying: To insert a block, you must use the insertion point as reference. It works fine in many cases, but sometimes we need to use other point as reference. It could be when we insert the block, or when we need to move or rotate it.

For the last one, this tip would be useful if you like to use grips. If you use MOVE command, you can define any point as reference.

Click Insert tab Reference panel Edit Reference. Find From within the current drawing, select the reference that you would like to edit. If the object you select in the reference belongs to any nested references, all the references available for selection are displayed in the Reference Edit dialog box. In the Reference Edit dialog box, select the specific reference that you want to edit. I am using AutoCad 2007. As for msasu reply, by blocked objects I mean entities contained in a block definition. I will try bedit command. At first: which version of AutoCAD are you using? At tried your code on a german AutoCAD 2008. I created some simple blocks from polygons and inserted them into a new drawing. When I execute your code above and select one of those blocks, I always get valid coordinates. So this might be an issue, how you created the block?

So let’s see some tips to work with other reference points in blocks.

Add point parameters in block editor

Since AutoCAD 2006, Autodesk introduce Dynamic Block feature. You can use point parameter in block authoring palette to add invisible insertion points. When you insert a block, you can easily switch between insertion points by pressing CTRL key.

If you want to learn how to use it, Lynn Allen posted this tip on Cadalyst YouTube channel as embedded below. You can see how easy to do it.

If you can’t see the video above, you can see it here: Adding multiple insertion point for a block.

Enable grips within blocks

Above trick is very helpful when you insert a block. As mentioned before, if you prefer to move block by using grip you will only have option to select insertion point. In below example, this bed was created as a block. The insertion point is only at the left top corner of the bed.

You can show all the grips from the objects inside the block by activating Show grips within blocks in AutoCAD options, selection tab. Or set the GRIPBLOCK system variable to 1.

After you activate the option, you will see all grips when you select the block. You can select any grips to move the block.

Changing the base point

Showing grips within blocks isn’t always the best option. If you have complex geometry inside your block, you will see too many grips. It can be confusing.

The other option is to select the insertion point until you can see the grip turns to red and the block is at your pointer, right click and choose Base Point from context menu.

Now you can select any point as the new base point. Certainly, you can also choose Base Point from command line.

Cycling between commands

After you select a grip, the default action is to stretch the grip. In this case, it will move your block to new location.

You can press ENTER or SPACE to cycle between all other possible action. Check the command line, you will see the action is changing between stretch, move, rotate, scale and mirror.

** STRETCH **
Specify stretch point or [Base point/Copy/Undo/eXit]:
** MOVE **
Specify move point or [Base point/Copy/Undo/eXit]:
** ROTATE **
Specify rotation angle or [Base point/Copy/Undo/Reference/eXit]:
** SCALE **
Specify scale factor or [Base point/Copy/Undo/Reference/eXit]:
** MIRROR **
Specify second point or [Base point/Copy/Undo/eXit]:

You can also right click and change the action from context menu.

Bonus tip: Change GRIPBLOCK variable quickly with LISP

If you want to use grips within block and want to turn it on/off quickly, you can use this LISP program below. After you load it, just type GB then enter to change the variable quickly.

(defun c:GB (/ CURGRIPBLOCK)
(setq CURGRIPBLOCK (getvar 'GRIPBLOCK'))
(if (= CURGRIPBLOCK 0)
(setvar 'GRIPBLOCK' 1)
(setvar 'GRIPBLOCK' 0)
)
)

If you’re not familiar with using AutoLISP code, you can use the LISP program by following this article: Saving, using and managing your AutoLISP program.

Insertion point isn’t the only reference point in block!

As you can see above, insertion point isn’t the only reference point in block. You can change insertion point easily during insertion and you can use other points when you modify your block.

You can quickly pick a grip if you set GRIPBLOCK to 1. Or you can change the base point later.

Using grips probably isn’t the preferred way for AutoCAD veterans, but many people do use it. Using grips allow you to remember less command, I think occasional users find this useful.

What about you? Which method do you prefer? Or you have other method that you can share with us?



Similar Messages:
ADVERTISEMENT

AutoCad 2D :: Rotate Block With Attributes - Messed Attributes

Jan 23, 2012

From the attached image you can see what I'm talking about.
(left=original, middle=ROTATE, right=PROPERTIES)
When I rotate blocks using ROTATE command everything is fine, but when I rotate blocks using PROPERTIES my attributes get messed.
I need to rotate several blocks at once with PROPERTIES, because I don't have time to rotate each one separately.
The same thing happens when scaling blocks, but this was resolved using the command BSCALE in the command line.

AutoCAD .NET :: Error While Changing Block Definition Of An Block Reference

Oct 21, 2013

I'm trying to change block the definition of an block reference.
I did something like this:
blockreference.BlockTableRecord = newBlock.ObjectId;
In most cases this works well. However I found a case that it not work as well. When I try to change the definition from a new block that I have created in my test DWG, it disappears from the model.

AutoCAD Civil 3D :: Create Block With Attributes That Automatically Complete X / Y And Z For Insertion Point Of Block?

Feb 14, 2013

Is there a way to create a block with attributtes that automatically complete x, y, z, lat, long for the insertion point of the block?
I am trying to complete text in paperspace that will automatically fill in the lat long of a point in model space without using a table. I have tried field insertion with reference to a cogo point, but it doesn't give options for position on a cogo point. If I pick a block with attributes, it will let me pick any attributes, and x,y position for the block.
Cogo points show all the information I need to propagate in the properties....but how do I get that to translate into the text using fields or some other method?
Dell Precision T3600 - Windows 7 64-bit
NVIDIA Quadro 600
Intel(R) Xenon(R) CPU E5-1607 0 @ 3.00GHz 3.00GHz
8 GB ram - Two 1TB raid

AutoCad :: Clicking Block Go To Block Editor And Not Allow To Change Its Attributes

Oct 26, 2012

When the block is in a drawing and I click it, it takes me to block editor.
However if I go to it in block editor and test block it allows me to change the attributes.
Why does clicking the block go to block editor and not allow me to change its attributes as it does when I test block.

AutoCad :: Update Sub Block Entities / Attributes With Dynamic Block

Oct 31, 2013

I would like to change sub block from a visibility after setting it. Here an example of code to get the right visibility, I don't really know how to update a sub block by name or by handle(seems to change inside dynamic block).
Dim Block As AcadBlock
Dim BlockRef As AcadBlockReference
Dim DynEntBlock As AcadEntity
Dim DynObjRefH As IAcadBlockReference
[Code]........

AutoCAD .NET :: Determine If A Block Reference Of The Block Exist

May 3, 2012

I have a block: “Block_A”. I am trying to determine if a block reference of the block exist.
Currently I would iterate every block Reference in the Block Table, and then dig deep into each block ref . . . . .
I was wondering if I could just take “Block_A” and see if it has reference and where the references are. Perhaps this is just wishful thinking but I was hoping for a faster way to obtain the references then to iterate thousands of blocks in each table record.

AutoCAD .NET :: Inserting A Block Defined With Block Attributes

Apr 8, 2013

I can insert a block with block attributes using the Inter op very easily:
Dim theBlock AsAcadBlockReference
Dim pickScreenVBA = myDoc.Utility.GetPoint(, 'insert the hydrant')
theBlock = myDoc.ModelSpace.InsertBlock(pickScreenVBA, 'Hydrant', 1.0#, 1.0#, 1.0#, 0)
Dim varAttributes AsObject
varAttributes = theBlock.GetAttributes
varAttributes(0).TextString ='3 Ports'
varAttributes(1).TextString ='Salt water'
Works great, but when I try using the non-inter op, all the example insert new Attributes and not add block with existing attribute (so I end up with duplicate attributes for each block - i.e 'Salt water' attribute is added to the block each time I run the code),
Are they any examples that does the same as above using the non-interop code?

AutoCad :: Add Some Attributes To Existing Block Using Block Editor

Dec 12, 2013

I'm trying to add some attributes to an existing block using the block editor, but after I save and close it I cannot see any 'placeholders' despite adding a default value and the attributes work fine when I double click the block.
I've tried using the ATTSYNC and BATTMAN commands but nothing works and there are no invisibility states applied to either the attribute or block and all layers are switched on.
I just tried making a quick block from scratch and it seems to have the same affect, except the default value will show, but no 'placeholder' shown if left blank.
I swear with previous version I could see the tag when a value hadn't been applied, so is it that the version I now use (2012) does not have this feature or it's disabled?

AutoCAD .NET :: Insert Block Reference Using Block Name

Nov 17, 2012

Drawing contains a block with 'BlkName'. I want to insert blockreferences of this existing block using .Net. All shows how to insert a new block and then use the BlockID returned by the insert function. In my case I only have the block name and there is no Block id. How to get it or how to create a block reference of an existing block?

AutoCAD .NET :: Getting Block Attributes From Title Block

Sep 19, 2011

I'm trying to chnage the text of the sheet number and total sheet number attributes for each layout in my drawing. I have code that adds and deletes the specified pages, now I need to edit the attributes to reflect the correct page and correct total amount of pages. Here is my code, based on my old VBA version.
I know there is a problem with the line:
For Each item In myBTR.ObjectId
I've used a number of websites and books, but I would really like to find something that teaches about block tables, block table references, block table IDs so I can get a better understanding of breaking stuff down to get the info I need.
Public Sub updatePageNumbers()
Dim myDWG As Autodesk.AutoCAD.ApplicationServices.Document
Dim myDB As Autodesk.AutoCAD.DatabaseServices.Database
Dim myTransManForPageNumbers As Autodesk.AutoCAD.DatabaseServices.TransactionManager
Dim myTransForPageNumbers As Transaction
[Code]....

AutoCad :: Global Edit / Block Attributes Rotation BACK To Match Block Rotation

Dec 13, 2012

using AutoCAD 2009 (vanilla)
I got too smart for myself today in bringing an old drawing up to current standards...Everyone seems to want their block attributes to be zero - I have blocks where the attributes are best when they match the rotations of each blocks.
I have an old drawing that was rotated (as it should be) at approx 2deg.
I used a lisp routine to global edit all the blocks that needed to be at zero. BUT for some reason (and after hundreds of blocks were corrected), I noticed I now have two blocks that should NOT have been in the set have had their attributes rotated to zero....and the attributes should be at the same rotation as their block's rotation.
Because those two blocks have a fixed tic mark, I can click on the mark to see what the block rotation is, then rotate its attribute to that rotation, but I have hundreds of blocks! One-at-a-time sucks....
Any chance there is a GLOBAL way to edit an attribute rotation to match its own block's rotation?

AutoCAD .NET :: Get Block Attributes

Feb 29, 2012

Function ReadDWG(ByVal DWGName As String)
Dim AcadApp As AcadApplication
Dim AcadDoc As AcadDocument
Dim Extracted_title As String RichTextBox1.AppendText(Path.GetFileName(DWGName)) RibbonLabel1.Text = 'Opening AutoCAD'
[Code]...
I am using the above code to read block attributes depending on the name. But now I need to read the active drawing (drawing will be open and should read from the active document). In the above code I have referenced interop.dll. without that can I retrieve the block attributes. How to read the block attributes from the active document.

AutoCAD .NET :: How To Get All Block Reference In A Drawing

Mar 29, 2013

I need to get list of all block reference in a drawing without iterating through all entities in the drawing.

AutoCAD .NET :: Polyline 3Ds In Block Reference

Jan 11, 2013

I have a weird problem with exploding block reference with vb.net as follows.
When I use BR.explode(DBObjectCollection), and append the entities in the object collection to model space,
the 3d Polylines inside the block reference do not get appended and I do not get any kind of error. The reason for this eludes me as of yet. (remember, simple polylines and lines and other objects do get appended to model space)
When I use BR.explodetoOwnerSpace(), the block reference explodes as it normally is expected to, but then I have no way to collect the objects from the exploded BR.

AutoCAD Map 3D :: Block Reference Scale

Sep 27, 2012

I'm working with two different drawings to import Layers for Lot Grading and when I'm importing the Block Reference from the origin file, it's setup as Linescale 0.5, but when I import into my regular basemap, which is setup for Linescale 1, the text size is double what it should be.

AutoCAD VB :: Block Reference Rotation

Oct 22, 2013

I'm trying to write a vb script to extract information from the CAD drawing. While testing, i found that for some drawing blocks, the corresponding AcadBlockReference Rotation returns 1.57, but when i look at the actual drawing, block properties, the rotation is 0.

AutoCAD .NET :: Selecting In Block Reference?

May 11, 2010

i need to use something with similar effect to Editor's method SelectCrossingWindow, but i need it to select object in Block Reference. How can i do that?

AutoCad :: Explode A Reference Block?

Jun 14, 2011

is ter any way to explode a reference block

AutoCAD LT :: Block Attributes With Variables?

Aug 7, 2013

Using ACAD2014LT. I want to use the first variable attribute value as a variable in subsequent attributes in the same block. This will be extracted and used for tag references in a PLC program.
Along the line, i know I can change the enclosed character ( ' ), but can I remove it?

AutoCAD .NET :: How To Get All Block Attributes And Change It

May 22, 2013

How Can I Get All Block Attributes and change it

How

AutoCAD .NET :: Insert One Block With 3 Attributes

Apr 24, 2013

I have this one file .txt with this features:
Point North East Z Description
1 8618063,68 312415,09 75,87 T1
2 8618138,38 312428,89 70,57 B_RIO SECO
3 8618132,23 312427,75 71,90 ARENAL
4 8618126,23 312426,64 72,50 ARENAL
5 8618112,22 312424,06 73,77 ARENAL
6 8618099,78 312421,76 75,35 ARENAL
7 8618089,51 312419,86 75,84 ARENAL
8 8618132,23 312427,75 71,94 J
9 8618112,23 312424,06 73,88 J
10 8618099,82 312421,78 75,36 ARENAL
11 8618089,48 312419,87 75,85 E_1
And I generated this code for read this file and insert one block with attributes for each line of text…..
If txtPath.Text() = ' Then
MsgBox('Select DB .txt.', MsgBoxStyle.Exclamation)
End If
On Error GoTo ControlErroresBD
Dim AcadDocPt As Document =
[Code] ....
‘To the end of this line I can insert the block, but I don’t know how to write the attributes…… I tried with the next code but it doesn’t work…. My bloque has 3 attributes and every tag named with “PN”, “CD” and “CT”
Dim AcadObj As Entity
For Each acObjId As ObjectId In AcadBlockRef.AttributeCollection
AcadObj = AcadTransPt.GetObject(acObjId, OpenMode.ForWrite)
Dim acAttDef As AttributeDefinition = TryCast(AcadObj, AttributeDefinition)
[Code] .....

AutoCAD Map 3D :: Saving Map To DWG With Block Attributes

Apr 20, 2012

I have used the FDO to connect to my SHP files. I have used one data attribute to get a rotation for my blocks. I have also used a feature Label to display the text I am interested in.
When I save to DWG, the feature labels come in as Text. I would like the text to go to the correct block attribute.
Is there a way to do this? I did not see anything in the Style Editor to use my blocks' attributes, only the geometry.
I am aware of using MAPIMPORT to set attributes from the data, but they do not come in rotated, and I have more conditions on which block to use, not just one field to decide the block name.

AutoCAD .NET :: Editing Attributes In A Block

Mar 15, 2012

I'm trying to edit the attributes in a titleblock using VB.net. The block name is 'Titleblock'. It is already inserted into a drawing. My program does not need to insert it. It only needs to find the reference, for all layouts, and update a couple attributes for the titleblock on everylayout. I know some of the basics, but get confused with blocktables, and blocktablerecords.
Here is a piece of code I was experimenting with. With this code, I'm trying to get to the attributes, and read an attribute value for a drawing number. It fails when I try to assign a value to the variable blkreftitle.
Dim
doc AsDocument = Application.DocumentManager.MdiActiveDocument
Using docLoc AsDocumentLock = doc.LockDocument
Dim db AsDatabase = HostApplicationServices.WorkingDatabase
[Code]....

AutoCAD VB :: 3 Attributes With Same Dynamic Block

May 10, 2011

I have 3 attribute in one block , i made 3 options for visibilty1
so i need in visibilty (1) i can show only the text 11
and i need in visibilty (2) i can show only the text 22
and i need in visibilty (3) i can show only the text 33

AutoCAD Map 3D :: Merging Block Attributes

Nov 5, 2012

I have a autocad file displaying room layout of a floor. Each room has two blocks. One for displaying the Fixture / Fitment data and second for Room details (Room no, Area).
Is there a way we can merge the two block attributes in a single block with both attributes.

AutoCAD .NET :: Get Mleader Block Attributes

Sep 27, 2011

How To Unblock A Block Reference In Autocad Software

I need reading the values from an Mleader object that contains a block. I can get attributes from normal blocks with no problem, but I am struggling with this.
I can get all the way up to casting the attributes, but when I try getting the Attribute Reference, the code crashes. How do I get the AttributeReference from the AttributeDefinition? As it is now, if I declare the AttributeDefinition, the values return as nothing.
Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument Dim acCurDb As Database = acDoc.Database Dim acEd As Editor = DocumentManager.MdiActiveDocument.Editor ' Start a transaction Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction() Try Dim acBt As BlockTable =
[code].........

AutoCAD .NET :: Inserting A Block With Attributes?

Aug 11, 2011

I have this code to insert a block (the block has Attirbutes) it bring in the block but strips the attributes. Here is the C#
[CommandMethod('PUTBLK')] static public void test() { string comp = 'C:test.dwg'; Document doc = acadApp.DocumentManager.MdiActiveDocument; //Editor ed = doc.Editor; Transaction tr =
[Code].....

AutoCAD .NET :: Inserting Block With Attributes

Dec 3, 2011

How To Unblock A Block Reference In Autocad Excel

I wish to insert a title sheet dwg, which has attribute definitions, as a block in another dwg. I can insert it, and if I explode it, the attribute definitions appear. Otherwise they are not added to the database.
I am using standard code, which I can attach. it starts
Dim btr As BlockTableRecord
..
Dim blk As BlockReference = New BlockReference(ip, blkid)
' insert block
..
btr.AppendEntity(blk)
If btr.HasAttributeDefinitions Then
ForEach attID As ObjectId In btr
etc.
but btr.HasAttributeDefinitions = False

AutoCAD .NET :: Edit Attributes Within A Block?

Oct 19, 2011

How To Unblock A Block Reference In Autocad Free

I'm trying to edit attributes of a block but is giving error.
private void ChangingAttibutes1(ObjectId[] objectIdList) { for (int i = 0; i < objectIdList.Length; i++) { ObjectId objectId = objectIdList[i]; BlockReference blockReference =
[Code].....

How To Unblock A Block Reference In Autocad Download

AutoCAD .NET :: Scaling Block Attributes

Autocad Block Reference Point

Jun 4, 2013

Autocad Create Block Reference

How can i scale a block have some attributes , with known factor ?