Scale Existing Block by Block Attribute

Hi all, I am very new to Dynamo so please forgive my noob questions.

I have 800 block references in a drawing. They are simple circles with the a few attributes. Each block has a different name, location, and generally different attribute values. I want to be able to take an attribute value currently (call it “ABC”) in the block and set that value to the “Scale X”, “Scale Y”, “Scale Z” geometry leaving everything else the same. Is this possible?

Any help is greatly appreciated.


@Paolo_Emilio_Serra1 I edited your code a bit to be able to work with a nested list.

@thomasm.wood here are some test files. See if they do what you need.

ScaleBlock.dwg (435.8 KB)
ScaleBlock.dyn (25.2 KB)


@Paolo_Emilio_Serra1 @mzjensen Thank you both for your help!

@mzjensen I cannot find how to add the last node in your program called “ObjectExtensions.SetParameterValueByName”. I have tried to install the “Civil3DToolkit” v.1.1.16 and no luck. Assuming i am missing something simple.

The warning comment on the node says “Warning: Node of type ‘Unresolved’ (C:\Program Files\Autodesk\AutoCAD 2020\C3D\Dynamo\Core\DynamoCore.dll) cannot be resolved”

Again, i appreciate your help!

What version of Civil 3D are you using?

Civil 3D 2020.2
Dynamo Core
Dynamo Civil 3D

2020.4 minimum

Im sorry. I didnt know that. I will try and update now. Thank you