# Rebar diameter

**URL:** <https://forum.dynamobim.com/t/rebar-diameter/7751>\
**Category:** Developers\
**Created:** [November 25, 2016, 1:32pm UTC](https://forum.dynamobim.com/t/rebar-diameter/7751 "2016-11-25T13:32:34Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![d.kelfkens](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/d.kelfkens/32/161060_2.png) [@d.kelfkens](https://forum.dynamobim.com/u/d.kelfkens)\
**Post date:** [November 25, 2016, 1:32pm UTC](https://forum.dynamobim.com/t/rebar-diameter/7751/1 "2016-11-25T13:32:34Z")

</div>

Hi everyone,

Is there anybody who can show me how to get the rebar diameter by API ?  
Seems like diameter is not a part of the rebar class. I think I need the rebarshape class.

Thx,  
Dennis

---

<div class="post-metadata">

**Author:** ![Einar\_Raknes](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/einar_raknes/32/8566_2.png) [@Einar\_Raknes](https://forum.dynamobim.com/u/Einar_Raknes)\
**Post date:** [November 25, 2016, 2:01pm UTC](https://forum.dynamobim.com/t/rebar-diameter/7751/2 "2016-11-25T14:01:02Z")

</div>

A rebar is made up of several families or element types. Rebar Shape, RebarBarType, RebarHook and so on. The diameter is a parameter of the RebarBarType. You can use GetParameterValueByName to access the parameters. Take a look at these node from BIM4Struc:  
 ![](https://cdck-file-uploads-us1.s3.dualstack.us-west-2.amazonaws.com/flex022/uploads/dynamobim/original/3X/a/a/aa589da3950d36fdd33b7750d37900045f0b85e3.png)

If you want to use python and access it directly from API, do something like this:

```
def getRebarDiameter(rebar):
	bartypeId = rebar.GetTypeId()
	type = doc.GetElement(bartypeId)
	diameter = type.BarDiameter
	return diameter
```

---

<div class="post-metadata">

**Author:** ![d.kelfkens](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/d.kelfkens/32/161060_2.png) [@d.kelfkens](https://forum.dynamobim.com/u/d.kelfkens)\
**Post date:** [November 25, 2016, 2:02pm UTC](https://forum.dynamobim.com/t/rebar-diameter/7751/3 "2016-11-25T14:02:54Z")

</div>

Thanks !

---

<div class="post-metadata">

**Author:** ![d.kelfkens](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/d.kelfkens/32/161060_2.png) [@d.kelfkens](https://forum.dynamobim.com/u/d.kelfkens)\
**Post date:** [November 29, 2016, 8:04pm UTC](https://forum.dynamobim.com/t/rebar-diameter/7751/4 "2016-11-29T20:04:07Z")

</div>

Hello Einar,

Is there a similar way to find the rebar shape code ?  
I’m having trouble to read that value using API.  
For example the Name / Shape code of a stirrup is 51

---

<div class="post-metadata">

**Author:** ![Einar\_Raknes](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/einar_raknes/32/8566_2.png) [@Einar\_Raknes](https://forum.dynamobim.com/u/Einar_Raknes)\
**Post date:** [November 29, 2016, 8:36pm UTC](https://forum.dynamobim.com/t/rebar-diameter/7751/5 "2016-11-29T20:36:13Z")

</div>

What have you tried so far?

Here is a suggestion:

```
def getRebarShapeName(rebar):
	shapeId = rebar.RebarShapeId
	element = doc.GetElement(shapeId)
	name = element.get_Parameter(BuiltInParameter.SYMBOL_NAME_PARAM).AsString()
	return name
```

---

<div class="post-metadata">

**Author:** ![d.kelfkens](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/d.kelfkens/32/161060_2.png) [@d.kelfkens](https://forum.dynamobim.com/u/d.kelfkens)\
**Post date:** [November 29, 2016, 8:49pm UTC](https://forum.dynamobim.com/t/rebar-diameter/7751/6 "2016-11-29T20:49:54Z")

</div>

mwah…I forgot the “BuiltInParameter” part… Staring too long at this screen.  
Thx Einar !!

---

<div class="post-metadata">

**Author:** ![d.kelfkens](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/d.kelfkens/32/161060_2.png) [@d.kelfkens](https://forum.dynamobim.com/u/d.kelfkens)\
**Post date:** [November 30, 2016, 6:42pm UTC](https://forum.dynamobim.com/t/rebar-diameter/7751/7 "2016-11-30T18:42:56Z")

</div>

Hi EInar,

Is there a similar way to get a curve list of a rebar (a,b,c,d, etc) ?  
I’ve tried the BIM4STRUC node but that didn’t work. It will be better if I find of piece of Python script to do this.

---

<div class="post-metadata">

**Author:** ![Kulkul](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/kulkul/32/49801_2.png) [@Kulkul](https://forum.dynamobim.com/u/Kulkul)\
**Post date:** [November 30, 2016, 6:52pm UTC](https://forum.dynamobim.com/t/rebar-diameter/7751/8 "2016-11-30T18:52:51Z")

</div>

Hi @d.kelfkens

You will find your answer here [How can we read a rebar set?](https://forum.dynamobim.com/t/how-can-we-read-a-rebar-set/7137/12/)

---

<div class="post-metadata">

**Author:** ![Einar\_Raknes](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/einar_raknes/32/8566_2.png) [@Einar\_Raknes](https://forum.dynamobim.com/u/Einar_Raknes)\
**Post date:** [November 30, 2016, 8:43pm UTC](https://forum.dynamobim.com/t/rebar-diameter/7751/9 "2016-11-30T20:43:21Z")

</div>

I don’t understand the question… What didn’t work with the node you tried?

---

<div class="post-metadata">

**Author:** ![d.kelfkens](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/d.kelfkens/32/161060_2.png) [@d.kelfkens](https://forum.dynamobim.com/u/d.kelfkens)\
**Post date:** [November 30, 2016, 8:59pm UTC](https://forum.dynamobim.com/t/rebar-diameter/7751/10 "2016-11-30T20:59:42Z")

</div>

I’m trying to read the values a to g (for a bar bending schedule) from a rebar family.

---

<div class="post-metadata">

**Author:** ![Einar\_Raknes](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/einar_raknes/32/8566_2.png) [@Einar\_Raknes](https://forum.dynamobim.com/u/Einar_Raknes)\
**Post date:** [November 30, 2016, 10:13pm UTC](https://forum.dynamobim.com/t/rebar-diameter/7751/11 "2016-11-30T22:13:33Z")

</div>

You can use the `GetParameters(name)` method or `get_Parameter(Guid)`.

```
aParameter = rebar.GetParameters("a")
aValue = aParameter[0].AsValueString()
```

---

<div class="post-metadata">

**Author:** ![d.kelfkens](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/d.kelfkens/32/161060_2.png) [@d.kelfkens](https://forum.dynamobim.com/u/d.kelfkens)\
**Post date:** [May 22, 2019, 5:58pm UTC](https://forum.dynamobim.com/t/rebar-diameter/7751/12 "2019-05-22T17:58:37Z")

</div>

> [@Einar\_Raknes](#):
>
> getRebarShapeName(rebar)

Is it possible that getRebarShapeName(rebar) changed in Revit 2019 ?  
My script (which I haven’t used for a while) isn’f functioning anymore.

---

<div class="post-metadata">

**Author:** ![Einar\_Raknes](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/einar_raknes/32/8566_2.png) [@Einar\_Raknes](https://forum.dynamobim.com/u/Einar_Raknes)\
**Post date:** [May 22, 2019, 8:49pm UTC](https://forum.dynamobim.com/t/rebar-diameter/7751/13 "2019-05-22T20:49:51Z")

</div>

Yes, things have changed since they introduced “free form rebar”. I guess you can use

`get_Parameter(BuiltinParameter.REBAR_SHAPE).AsValueString()`
