Creating a simple elevation block (no COGO point)

Creating a simple elevation block (no COGO point)

Wojty1
Advocate Advocate
540 Views
11 Replies
Message 1 of 12

Creating a simple elevation block (no COGO point)

Wojty1
Advocate
Advocate

Hi everyone,

 

I currently have a nested block which shows "0.00" as elevation and after exploding it gets the actual elevation (like "123.45"). Due to several reasons this behavior is not very handy so I'd like to get rid of this block and start from scratch.

 

The requirements, however, are a bit nasty since it also has to work when opened in Vanilla AutoCAD (not just Civil 3D), hence COGO points are off. Also I prefer not to have a nested Block again.

 

So I thought this would be a simple task, yet I just can't get it done.

Here's what I have: A set of crossing lines (an "X" for the position) and a Text (for the elevation).

But how can I tell the attribute to contain the Z-Coordinate of the Block itself? Is this even possible?

The screenshot shows my current process, but this seems to be the wrong way. As soon as the block is inserted, the attribute shows the static text "InsertionPoint".

Wojty1_0-1753737214251.png

I could need some help here, maybe I misunderstood this concept.

Windows 10 Pro 64-bit | Civil 3D 2024 / Revit 2024 (64-bit EN)
Intel Core i7-7700K / 2x 24" / 64 GB RAM / GeForce RTX 3060 OC V2

Windows 11 Pro 64-bit | All Autodesk Products 2023 - 2025
Intel Core i7-13850HX / 3x 24" / 128 GB RAM / nVidia RTX Ada 3500
0 Likes
541 Views
11 Replies
Replies (11)
Message 2 of 12

brian.strandberg
Advisor
Advisor

You have the option to add an object position – or in this case elevation as we are just using the Z.  The field expression, when creating it will only let you select a different object.  But You can copy the field expression and paste that into another object, in this case we want to refer to the same object.  It won’t let you do this when you are creating the text.

 

But I can create a second piece of text, and refer to the first piece of text.  Looking at the Field dialog box, copy the field code at the bottom and paste this into the first piece of text. Now I have text labeling the elevation of itself.  

brianstrandberg_0-1753741176202.png

 

Check out my Civil 3d blog at: http://c3dk.com/
Favorite Posts: Use Dynamo For Surface Analysis: https://youtu.be/eJNdX6guMP8
Fast Track your site grading with the new Corridor Workflow: https://youtu.be/Gg7u9-LgIL0
Message 3 of 12

Wojty1
Advocate
Advocate

Hi Brian, thanks for your help.

Could you upload some more screenshots showing the necessary steps?

I still can't figure it out.

Windows 10 Pro 64-bit | Civil 3D 2024 / Revit 2024 (64-bit EN)
Intel Core i7-7700K / 2x 24" / 64 GB RAM / GeForce RTX 3060 OC V2

Windows 11 Pro 64-bit | All Autodesk Products 2023 - 2025
Intel Core i7-13850HX / 3x 24" / 128 GB RAM / nVidia RTX Ada 3500
0 Likes
Message 4 of 12

tcorey
Mentor
Mentor

The key is the far left column on the Field dialog, where you set the Field Name, Object, then press the green button at the top of the second column. This lets you pick and object on the screen. This will make a direct one-to-one connection between the field and the object from which it is pulling the property.



Tim Corey
MicroCAD Training and Consulting, Inc.
Redding, CA
Autodesk Gold Reseller

New knowledge is the most valuable commodity on earth. -- Kurt Vonnegut
0 Likes
Message 5 of 12

Wojty1
Advocate
Advocate

Hello Tim, thanks for the update.

I'm aware of the "Object Picker" button, but I wonder what kind of objects I will need for my block. A simple text? An attribute? What object should be referenced and by which object?

Windows 10 Pro 64-bit | Civil 3D 2024 / Revit 2024 (64-bit EN)
Intel Core i7-7700K / 2x 24" / 64 GB RAM / GeForce RTX 3060 OC V2

Windows 11 Pro 64-bit | All Autodesk Products 2023 - 2025
Intel Core i7-13850HX / 3x 24" / 128 GB RAM / nVidia RTX Ada 3500
0 Likes
Message 6 of 12

brian.strandberg
Advisor
Advisor

Simple text is fine.  You don't need the block unless you want it. 

Check out my Civil 3d blog at: http://c3dk.com/
Favorite Posts: Use Dynamo For Surface Analysis: https://youtu.be/eJNdX6guMP8
Fast Track your site grading with the new Corridor Workflow: https://youtu.be/Gg7u9-LgIL0
0 Likes
Message 7 of 12

tcorey
Mentor
Mentor

Are you placing the block at an elevation, and then want an attribute (with field) to display that value? The block could be as simple as just the attribute, but it needs something, an object, from which to gather that z value. Keeping with the theme of simplicity, a Point works well here. You can set Pdmode = 1 and you won't even see it, but the Field can still use it.

 

 



Tim Corey
MicroCAD Training and Consulting, Inc.
Redding, CA
Autodesk Gold Reseller

New knowledge is the most valuable commodity on earth. -- Kurt Vonnegut
0 Likes
Message 8 of 12

samir.rezk
Autodesk Support
Autodesk Support

Hi @Wojty1 

To capture the properties of the block reference in drawing inside the block definition we need to use the BlockPaceholder Feilds, the attached drawing has a block which is using the z property of the block insertion point as the default value for the attribute. 

samirrezk_0-1753822418450.png

 

Hope this helps,




Samir Rezk
Technical Support Specialist

Message 9 of 12

tcorey
Mentor
Mentor

That's new to me. Thanks, Samir. 



Tim Corey
MicroCAD Training and Consulting, Inc.
Redding, CA
Autodesk Gold Reseller

New knowledge is the most valuable commodity on earth. -- Kurt Vonnegut
Message 10 of 12

Wojty1
Advocate
Advocate

Hi @samir.rezk many thanks! Your block works perfectly.

 

I tried to recreate this block in a new drawing, however, one of them doesn't work at all.

The "z2" block works, but the "elev" block doesn't even show a placeholder text even though I created them both the same way.

 

Nevertheless, none of my blocks update automatically with REGENALL although FIELDEVAL is set to 31,

 

Do you have any idea why or did you do some black magic?

 

Best regards.

Windows 10 Pro 64-bit | Civil 3D 2024 / Revit 2024 (64-bit EN)
Intel Core i7-7700K / 2x 24" / 64 GB RAM / GeForce RTX 3060 OC V2

Windows 11 Pro 64-bit | All Autodesk Products 2023 - 2025
Intel Core i7-13850HX / 3x 24" / 128 GB RAM / nVidia RTX Ada 3500
0 Likes
Message 11 of 12

samir.rezk
Autodesk Support
Autodesk Support

Hi @Wojty1 

They are working perfectly on my end. You just need to import the block in a new drawing. Currently the Attribute Tag is living in modelspace of a drawing, attribute definitions have to live inside a named block, so insert your drawing as block into another one. You're almost there, but you were on the right track all along 🙂 

Hope this helps




Samir Rezk
Technical Support Specialist

0 Likes
Message 12 of 12

Wojty1
Advocate
Advocate

@samir.rezk Unfortunately my block only updates manually when I enter the command UPDATEFIELD. I have inserted it via INSERT command / dialog box.

Even REGENALL does not update the field, only manual updating.

Why does mine not update automatically? I just can't figure it out.

 

 

Edit: Screen record showing the issue

BlockAttributeFieldUpdating.gif

Windows 10 Pro 64-bit | Civil 3D 2024 / Revit 2024 (64-bit EN)
Intel Core i7-7700K / 2x 24" / 64 GB RAM / GeForce RTX 3060 OC V2

Windows 11 Pro 64-bit | All Autodesk Products 2023 - 2025
Intel Core i7-13850HX / 3x 24" / 128 GB RAM / nVidia RTX Ada 3500
0 Likes