# Surface Labels

**URL:** <https://forum.dynamobim.com/t/surface-labels/54923>\
**Category:** Civil 3D\
**Created:** [September 8, 2020, 7:21pm UTC](https://forum.dynamobim.com/t/surface-labels/54923 "2020-09-08T19:21:10Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![ctodd](https://avatars.discourse-cdn.com/v4/letter/c/ed655f/32.png) [@ctodd](https://forum.dynamobim.com/u/ctodd)\
**Post date:** [September 8, 2020, 7:21pm UTC](https://forum.dynamobim.com/t/surface-labels/54923/1 "2020-09-08T19:21:10Z")

</div>

Is it possible to bring add Surface labels to an object using Dynamo?

I’m guessing I would need to use the surface node to bring in the surface, then assign the locations of the label via making points that would read the elevation from the surface.

_Side note_ - Still new to Dynamo. Is there a list of all the nodes and what they do that I can download?

Thanks in advance,

Chris

---

<div class="post-metadata">

**Author:** ![mzjensen](https://avatars.discourse-cdn.com/v4/letter/m/b77776/32.png) [@mzjensen](https://forum.dynamobim.com/u/mzjensen)\
**Post date:** [September 8, 2020, 7:28pm UTC](https://forum.dynamobim.com/t/surface-labels/54923/2 "2020-09-08T19:28:30Z")

</div>

> [@ctodd](#):
>
> Is it possible to bring add Surface labels to an object using Dynamo?

If you mean actual Civil 3D surface labels, then the answer is not yet. You would need to build a custom Python node and dig into the Civil 3D API.

But you could do this using the steps you outlined and then just outputting Text into model space using the _Text.Create_ node.

> [@ctodd](#):
>
> Is there a list of all the nodes and what they do that I can download?

Not for AutoCAD/Civil 3D, at least not that I’ve found. Some of the core Dynamo nodes are here:

[https://dictionary.dynamobim.com/#/](https://dictionary.dynamobim.com/#/)

---

<div class="post-metadata">

**Author:** ![PankinAleksandr](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/pankinaleksandr/32/86724_2.png) [@PankinAleksandr](https://forum.dynamobim.com/u/PankinAleksandr)\
**Post date:** [September 8, 2020, 7:59pm UTC](https://forum.dynamobim.com/t/surface-labels/54923/3 "2020-09-08T19:59:30Z")

</div>

> [@ctodd](#):
>
> Is it possible to bring add Surface labels to an object using Dynamo?
> 
> I’m guessing I would need to use the surface node to bring in the surface, then assign the locations of the label via making points that would read the elevation from the surface.
> 
> _Side note_ - Still new to Dynamo. Is there a list of all the nodes and what they do that I can download?
> 
> Thanks in advance,

I tried to solve the same task. and found a way out by copying an already created label.  
it would be great to know how to get the coordinates of the label

[Explanation video with russian sound](https://youtu.be/IgySNOz6nN0?t=162&list=PL91XuKht-wvBkvNJvl4D66A4kUwzMVddA&index=7)

[CopyLabelToVertexAllObjectsOnLayer.dwg](https://forum.dynamobim.com/uploads/short-url/bXkLSSyK8a6BFlsGeTpMRSwtroS.dwg) (539.5 KB) [CopyLabelToVertexAllObjectsOnLayer.dyn](https://forum.dynamobim.com/uploads/short-url/pKtjkwBox83pF1Aq4sG3WO5RN0M.dyn) (74.3 KB)

 ![CopyLabelToVertexAllObjectsOnLayer_2020-09-08_10-57-08](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/4/a/4a55ef787f60f02216ffc419d6619caff67ff581.png)

---

<div class="post-metadata">

**Author:** ![ctodd](https://avatars.discourse-cdn.com/v4/letter/c/ed655f/32.png) [@ctodd](https://forum.dynamobim.com/u/ctodd)\
**Post date:** [September 8, 2020, 8:53pm UTC](https://forum.dynamobim.com/t/surface-labels/54923/4 "2020-09-08T20:53:14Z")

</div>

> [@ctodd](#):
>
> I’m guessing I would need to use the surface node to bring in the surface, then assign the locations of the label via making points that would read the elevation from the surface.

I am trying to do the process above however, the I can;t seem to bring in a surface to apply the points to. I brought in a surface using the Civil3d tool but it is not the correct type of surface?

 ![SurfaceDyn](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/0/6/06d912476041078a1b64c0184f83125c429e3de7.jpeg)

---

<div class="post-metadata">

**Author:** ![mzjensen](https://avatars.discourse-cdn.com/v4/letter/m/b77776/32.png) [@mzjensen](https://forum.dynamobim.com/u/mzjensen)\
**Post date:** [September 8, 2020, 9:07pm UTC](https://forum.dynamobim.com/t/surface-labels/54923/5 "2020-09-08T21:07:20Z")

</div>

> [@ctodd](#):
>
> it is not the correct type of surface?

Correct. That node is for a Dynamo surface, not a Civil 3D TIN surface. To get the elevation of a TIN surface at a point, use one of these nodes.

 ![TINSurface](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/d/c/dcc818c1da1ebe317362ee23ddb222d1aacc2f4d.jpeg)

---

<div class="post-metadata">

**Author:** ![ctodd](https://avatars.discourse-cdn.com/v4/letter/c/ed655f/32.png) [@ctodd](https://forum.dynamobim.com/u/ctodd)\
**Post date:** [September 8, 2020, 9:30pm UTC](https://forum.dynamobim.com/t/surface-labels/54923/6 "2020-09-08T21:30:47Z")

</div>

Adding the points by X/Y worked. However, when I added them back into the Text.Create; it is looking for a “point:double”… At least that is my assumption with this latest error

 ![TextDyn](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/3/2/32c19e3f9205dd1613855ef1c2a111f36fd4f8a0.jpeg) .

---

<div class="post-metadata">

**Author:** ![mzjensen](https://avatars.discourse-cdn.com/v4/letter/m/b77776/32.png) [@mzjensen](https://forum.dynamobim.com/u/mzjensen)\
**Post date:** [September 8, 2020, 10:21pm UTC](https://forum.dynamobim.com/t/surface-labels/54923/7 "2020-09-08T22:21:06Z")

</div>

The error message is telling you that the inputs provided do not match the inputs that it is looking for. So it first goes through and lists the input types that it expects (i.e. string, point, double, etc.) and then lists the inputs that it was provided. In this case, the text height of 20 that you are supplying is a string because it is in quotation marks in the code block. Remove the quotation marks so that it is passed as a number (i.e. double) instead of a text string.

---

<div class="post-metadata">

**Author:** ![mzjensen](https://avatars.discourse-cdn.com/v4/letter/m/b77776/32.png) [@mzjensen](https://forum.dynamobim.com/u/mzjensen)\
**Post date:** [October 6, 2021, 4:41pm UTC](https://forum.dynamobim.com/t/surface-labels/54923/8 "2021-10-06T16:41:01Z")

</div>

@PankinAleksandr @ctodd check out Camber, my new package for Civil 3D. There are some nodes for creating Surface labels.

> [@Camber - A New Package for Civil 3D](https://forum.dynamobim.com/t/camber-a-new-package-for-civil-3d/68941):
>
> Hello fellow Dynamo for Civil 3D users! I’ve just uploaded a new package called Camber to the package manager, and it has hundreds of new nodes for AutoCAD and Civil 3D. Here’s an overview of some of the features: Block attribute definitions MLeaders Catchments Styles Labels Sample Lines Profile Views Section Views Pipe Networks Pressure Pipe Networks Parts Lists Design Checks And lots more to come! There is some overlap with the Civil 3D Toolkit, but I tried to keep it to a minimum to avoid…

 ![SurfaceLabels](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/8/f/8fa72cbe644927c6cb9df53a91a491ac4a2e14c6.png)

---

<div class="post-metadata">

**Author:** ![PankinAleksandr](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/pankinaleksandr/32/86724_2.png) [@PankinAleksandr](https://forum.dynamobim.com/u/PankinAleksandr)\
**Post date:** [November 6, 2021, 6:02pm UTC](https://forum.dynamobim.com/t/surface-labels/54923/9 "2021-11-06T18:02:08Z")

</div>

@zachri.jensen Thank you for your work!  
I tried to work with label, now it’s possible to generate new label.  
But I didn’t found node to get labels previously placed in the drawing, to change them.  
Is it possible?

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/f/3/f332e6b8c7d049602dc196cf86e26dee1222421a.png)

---

<div class="post-metadata">

**Author:** ![mzjensen](https://avatars.discourse-cdn.com/v4/letter/m/b77776/32.png) [@mzjensen](https://forum.dynamobim.com/u/mzjensen)\
**Post date:** [November 6, 2021, 11:49pm UTC](https://forum.dynamobim.com/t/surface-labels/54923/10 "2021-11-06T23:49:12Z")

</div>

You’re welcome!

> [@PankinAleksandr](#):
>
> I didn’t found node to get labels previously placed in the drawing, to change them.  
> Is it possible?

Not yet. It’s a little more tricky to do that so I’ve left it out for now. I’ll do my best to add it in an upcoming release.

---

<div class="post-metadata">

**Author:** ![mzjensen](https://avatars.discourse-cdn.com/v4/letter/m/b77776/32.png) [@mzjensen](https://forum.dynamobim.com/u/mzjensen)\
**Post date:** [January 6, 2022, 7:05am UTC](https://forum.dynamobim.com/t/surface-labels/54923/11 "2022-01-06T07:05:13Z")

</div>

> [@PankinAleksandr](#):
>
> But I didn’t found node to get labels previously placed in the drawing

@PankinAleksandr this is fixed in Camber v2.0.0 with the _Convert to Camber Object_ node.

---

<div class="post-metadata">

**Author:** ![clas.kristiansen](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/clas.kristiansen/32/125076_2.png) [@clas.kristiansen](https://forum.dynamobim.com/u/clas.kristiansen)\
**Post date:** [January 13, 2022, 9:06am UTC](https://forum.dynamobim.com/t/surface-labels/54923/12 "2022-01-13T09:06:52Z")

</div>

Hi!

I think I have looked every ware Camber, C3D-Toolkit, Dynamo … but I can not find SurfaceElevationLabel.ByPoint , SurfaceSlopeLabel.ByPoint …

Probably due to the fact that my Dynamo is to old, does Camber require Civil 3D 2022?  
 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/4/9/49e757ff407f109d7ac8c05cdffdcf9abbe59b64.png)

---

<div class="post-metadata">

**Author:** ![mzjensen](https://avatars.discourse-cdn.com/v4/letter/m/b77776/32.png) [@mzjensen](https://forum.dynamobim.com/u/mzjensen)\
**Post date:** [January 13, 2022, 2:27pm UTC](https://forum.dynamobim.com/t/surface-labels/54923/13 "2022-01-13T14:27:22Z")

</div>

That particular warning doesn’t mean much, but the answer to your question is yes, Camber v2.0.0 requires Civil 3D 2022.1. But you can download v1.0.1 instead and you should see those nodes.

> [@Camber Feedback Thread](https://forum.dynamobim.com/t/camber-feedback-thread/68942/119):
>
> Hi all, Thanks to @shahid.shaikh_C3D and @hestingjj, I’ve become aware of an issue that will affect anyone using a version of Civil 3D less than 2022.1. You will likely see some type of error after installing Camber v2.0.0 that says “Failed to load library…” and portions of the Camber library may not show up as expected. This is because several of the nodes in Camber v2.0.0 rely on new additions to the Civil 3D API that were included in the 2022.1 update. For now, your options are to (1) upgra…

---

<div class="post-metadata">

**Author:** ![clas.kristiansen](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/clas.kristiansen/32/125076_2.png) [@clas.kristiansen](https://forum.dynamobim.com/u/clas.kristiansen)\
**Post date:** [January 14, 2022, 7:30am UTC](https://forum.dynamobim.com/t/surface-labels/54923/14 "2022-01-14T07:30:07Z")

</div>

Thank you, now I see the nodes. They look very good and useful.

There is always a balance between being backwards compatible and getting the time to do new stuff.

@zachri.jensen You are doing a great job, keep up the good work
