# Civil 3d Point Group by Description in Current dwg

**URL:** <https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514>\
**Category:** Civil 3D\
**Created:** [May 2, 2021, 3:10pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514 "2021-05-02T15:10:54Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![jcoon](https://avatars.discourse-cdn.com/v4/letter/j/b19c9b/32.png) [@jcoon](https://forum.dynamobim.com/u/jcoon)\
**Post date:** [May 2, 2021, 3:10pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/1 "2021-05-02T15:10:54Z")

</div>

All

Need help understand points, and work flow for cogo points

I’m trying to create point groups based on the cogo point descriptions.  
I’m able to create the point groups by name from the point description, however, I get a warning that a point groups already existing with that name. I’m not sure why. It also does not filter the points with matching descriptions to that point group. it places all the points in the named point groups. now to you filter for that?

I guess I need to find a way to filter cogo point objects by it’s description.

second, Does anyone have a sample cogo point selection inside closed polyline, that the next lesson.  
.  
[points with desc.dwg](https://forum.dynamobim.com/uploads/short-url/48hqrO2LzAfE3u9oszM89wQg57C.dwg) (1.2 MB) [ACTION-MAKE POINTGROUP-BY-DESC.dyn](https://forum.dynamobim.com/uploads/short-url/wFdE7OWQTXyu62EQ0T0SrsAaYmn.dyn) (49.8 KB) ![point groupCapture](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/8/8/88bd39bb5384aba72d8bd63305bb897bfd42ba75.jpeg)

Thank you for any help can provide,  
John

---

<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:** [May 2, 2021, 4:36pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/2 "2021-05-02T16:36:23Z")

</div>

Hi @jcoon,

Is this what you’re looking for?

> [@Create a PointGroup by Descriptions](https://forum.dynamobim.com/t/create-a-pointgroup-by-descriptions/57894):
>
> Hi I’m new to Dynamo, I’m trying to create a point group by similar descriptions. [image] for example I’d like to get all the SPTU in one point group and HDY points in another. I’ve been bumping my head with this for a day or so any help is welcomed Thanks Rich

> [@jcoon](#):
>
> Does anyone have a sample cogo point selection inside closed polyline

For this task, I can think of two methods:

1. Get the polycurve of the polyline
2. Get the COGO points as Dynamo points
3. Create a surface from the polycurve using _Surface.ByPatch_
4. Use _Geometry.DoesIntersect_ to get boolean values of the COGO points that intersect the surface and those that don’t
5. Filter the original list of COGO points using _List.FilterByBoolMask_

OR

1. Get the COGO points as Dynamo points
2. Get the vertices of the polyline
3. Create a Dynamo polygon using _Polygon.ByPoints_ with the polyline vertices
4. Use _Polygon.ContainmentTest_ with the COGO points to get a list of booleans for the points that are within the polygon
5. Filter the original list of COGO points using _List.FilterByBoolMask_

---

<div class="post-metadata">

**Author:** ![jcoon](https://avatars.discourse-cdn.com/v4/letter/j/b19c9b/32.png) [@jcoon](https://forum.dynamobim.com/u/jcoon)\
**Post date:** [May 3, 2021, 12:19pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/3 "2021-05-03T12:19:20Z")

</div>

mzensen,.

Thanks for the ideas. I did see the sample you linked, I think I got lost when he was stripping text values from the descriptions. maybe I can go back and use some of his to finalize my sample.

I’m going to try the polygon, bypoints. that looks more like what I think I need. in the end,  
the routine will sample points against surface to check if point is above the surface. The only remaining section would be finding the highest point above with 100 feet inside the selected polygon.

Thank you  
John

---

<div class="post-metadata">

**Author:** ![jcoon](https://avatars.discourse-cdn.com/v4/letter/j/b19c9b/32.png) [@jcoon](https://forum.dynamobim.com/u/jcoon)\
**Post date:** [May 3, 2021, 9:36pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/4 "2021-05-03T21:36:19Z")

</div>

Thanks for the help.

I’m now able to create the point groups based on the cogo points descriptions in the drawing.  
I current issue is, I don’t see a method to get the cogo point number points to be included to complete the points group container.

[ACTION-MAKE POINTGROUP-BY-DESC-works.dyn](https://forum.dynamobim.com/uploads/short-url/beRUsKtCh0zTWS9xocndLoLSiX1.dyn) (51.1 KB)

Thank you

---

<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:** [May 4, 2021, 3:09am UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/5 "2021-05-04T03:09:50Z")

</div>

Hi @jcoon,

I think you actually need to plug the ‘groups’ output into the ‘cogoPoints’ input. Otherwise you’ll be creating five different point groups with each group containing all of the points instead of only the points with each unique description. This shows the difference in the list structure:

 ![Groups](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/a/3/a35d037255fda9e59bfd1ada9c67dc6ee53842c4.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:** [May 4, 2021, 3:18am UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/6 "2021-05-04T03:18:26Z")

</div>

Here’s an updated file with the change I mentioned above, as well as an example of creating a point group by points within a polyline boundary.

[points with desc\_MZJ.dwg](https://forum.dynamobim.com/uploads/short-url/2PSe6vMfo34V8Uy2sHFdIqb4FG7.dwg) (1.2 MB)  
[ACTION-MAKE POINTGROUP-BY-DESC\_MZJ.dyn](https://forum.dynamobim.com/uploads/short-url/9Bi2QZKyMHEKNWpwVmfYQkVeJrt.dyn) (68.3 KB)

 ![Example](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/5/1/51dcb46f0fd5c30661fc296e124ce598a7a8b6db.png)

---

<div class="post-metadata">

**Author:** ![jcoon](https://avatars.discourse-cdn.com/v4/letter/j/b19c9b/32.png) [@jcoon](https://forum.dynamobim.com/u/jcoon)\
**Post date:** [May 4, 2021, 12:16pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/7 "2021-05-04T12:16:49Z")

</div>

Mzjensen,  
Thank you

Wow that’s fantastic. still trying to wrap my head around this application. I know what I want to do, it’s finding or understanding what tools to use or how to move the date around to get the results you need.

My goal would be to update most of my VB net routines to Dynamo. Do you know if they will add some type of drawing tools soon. having some type of select object or object endpoint or start point with the ability to draw 90 degree lines or polylines from those objects would be very helpful. maybe even driven from an excel file. I working in the aviation design industry. it would be great if I could identify a polyline as my runway and have approach surface move much like a parametric object, meaning they are connected in space relative to the location of the ends of the runway. increase or reduce and endpoint would propagate thru all setting relative to that line/polyline object.

Again, Thank you, I’ll take some time to review what you have done.

John

---

<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:** [May 4, 2021, 4:24pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/8 "2021-05-04T16:24:31Z")

</div>

> [@jcoon](#):
>
> Do you know if they will add some type of drawing tools soon.

Already got those 😉

> [@jcoon](#):
>
> it would be great if I could identify a polyline as my runway and have approach surface move much like a parametric object, meaning they are connected in space relative to the location of the ends of the runway. increase or reduce and endpoint would propagate thru all setting relative to that line/polyline object.

I do roadways and know next to nothing about runways, but here is an example for you to play around with. All of the inputs are driven from an Excel file. The plane is totally unnecessary, but it’s an example of dynamically placing a block reference.

[RunwayExample.dyn](https://forum.dynamobim.com/uploads/short-url/xhiOvd6YBmIelhGB7oSet1n7xdR.dyn) (151.6 KB)  
[RunwayExample.xlsx](https://forum.dynamobim.com/uploads/short-url/uoPTIYpLUPXndeWFhudoDzlsXeY.xlsx) (8.7 KB)  
[RunwayExample.dwg](https://forum.dynamobim.com/uploads/short-url/rGC8PCBAcmDqROo9Vd3KK7i00Xy.dwg) (3.4 MB)

![RunwayExample](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/0/6/06524015e616a98fad34845c1ddaf7c309b33b09.gif)

---

<div class="post-metadata">

**Author:** ![jcoon](https://avatars.discourse-cdn.com/v4/letter/j/b19c9b/32.png) [@jcoon](https://forum.dynamobim.com/u/jcoon)\
**Post date:** [May 4, 2021, 7:38pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/9 "2021-05-04T19:38:47Z")

</div>

Mzjensen,

Now you’re talking!  
let me see how you did that, hopefully I can figure it out and see if I can add to it for my needs.

Before I go crazy with this, can the centerline location push / pull associated data.  
Let say you had a building or a road that needs to be 200 feet beyond the runway end, can dynamo  
interact like that?

Thank you this is great.  
John.

---

<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:** [May 4, 2021, 7:58pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/10 "2021-05-04T19:58:47Z")

</div>

> [@jcoon](#):
>
> can the centerline location push / pull associated data.

In theory you should be able to come up with something. If there’s too much going on, eventually a graph might start to get a little unmanageable. But at that point you could always split it up into multiple files or start exploring custom nodes. So it’s pretty scalable.

---

<div class="post-metadata">

**Author:** ![jcoon](https://avatars.discourse-cdn.com/v4/letter/j/b19c9b/32.png) [@jcoon](https://forum.dynamobim.com/u/jcoon)\
**Post date:** [May 4, 2021, 8:27pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/11 "2021-05-04T20:27:54Z")

</div>

I see the plane does react to the runway end points, so that answers one of the question above.

This is going to take some time to understand all this. I mean, I’ve marked maybe 1000 runways  
and I have no idea yet how this sets the points for the marking… now the fun begins.

Thank you  
John

---

<div class="post-metadata">

**Author:** ![KirkWM](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/kirkwm/32/104406_2.png) [@KirkWM](https://forum.dynamobim.com/u/KirkWM)\
**Post date:** [May 5, 2021, 4:42am UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/12 "2021-05-05T04:42:16Z")

</div>

um…Polygon.ContainmentTest?! That saves tons of work trying to make patch surfaces from points from a polyline and then intersecting etc.

Pretty incredible work with the getting all the threshold striping points and using coordinate system point and working out from there with a cross product lacing 😮

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

I see that the striping is placed with a single coordinate system in its center and line drawn from point before and after; however this doesn’t work well for the runway outline if the centerline has multiple points or any curvature (likely wouldn’t be any for a runway). I added in a PolylineExtensions.Offset node for fun.

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/a/c/ac8f415e0b60904d4ebecf8290ad48318a5438cf.png)  
 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/1/4/1469cff1464c52d189e1c833a2cf27f3a096aca2.png)

The plane was a fun touch too, I’ll have to look into the the remaprange node.

Thanks for sharing!

---

<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:** [May 5, 2021, 5:08am UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/13 "2021-05-05T05:08:50Z")

</div>

> [@KirkWM](#):
>
> um…Polygon.ContainmentTest?! That saves tons of work trying to make patch surfaces from points from a polyline and then intersecting etc.

Yeah it works nicely for bounded shapes that are only made up of line segments. But if there are curved segments then you’d have to use the surface intersection method.

---

<div class="post-metadata">

**Author:** ![jcoon](https://avatars.discourse-cdn.com/v4/letter/j/b19c9b/32.png) [@jcoon](https://forum.dynamobim.com/u/jcoon)\
**Post date:** [May 5, 2021, 1:11pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/14 "2021-05-05T13:11:55Z")

</div>

Guys,  
yeah this is a wonderful start point for me. at my level is pretty daunting to understand.  
I’m going to try and pull just the line start and end point that then draws the runway outline, then the marking. That’s going to my first goal.

second will be the threshold stripes. I assume those stripes are controlled by or from the line.start point. and the length is coming from the excel file. in the real world I’d need to set additional points at 10 and 20 feet from the line.start point to set start the threshold and then the threshold marking stripes. is there a method to set points based on line direction?.

can you do something like this in a code block?

code block?  
point1.byCooridates (pt1.X, pt1.Y) = rw centerline line start point (x,y)  
point2.byCooridates (pt2.X, pt2.Y) = rw centerline line end point (x,y)  
get the vector direction so I can set new points 10 and 20 feet in the direction of of  
point1 and point2. let say I’m a surveyor, I setup at point1 siting point2 and I want to set points on that direction from point1 an point2, at 10, and 20 feet.

like:  
Dim pt10 As New Point2d(pt1.X, pt1.Y)  
Dim pt20 As New Point2d(pt2.X, pt2.Y)  
'Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Angle from XAxis: " & pt10.GetVectorTo(pt20).Angle.ToString())  
dblRot = pt10.GetVectorTo(pt20).Angle

newpt104 = PolarPoint(newpt101, (pi + dblRot), 10))  
newpt105 = PolarPoint(newpt104, (pi/2 + dblRot), runwaywidth / 2))  
newpt106 = PolarPoint(newpt104, (pi/2 + dblRot), runwaywidth / 2))  
Dim objline1 As Line = New Line(newpt105, newpt106

This is great stuff if I can ever figure it out.  
Thank you  
John

---

<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:** [May 5, 2021, 2:41pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/15 "2021-05-05T14:41:43Z")

</div>

I would do all of that with a coordinate system and then _Point.ByCartesianCoordinates_. There are a few places in the example script that show this.

Some other resources that might be helpful as you get going:

> **[About | The Dynamo Primer](https://primer.dynamobim.org/)**
>
> Download the Dynamo v1.3 Primer here

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

---

<div class="post-metadata">

**Author:** ![jcoon](https://avatars.discourse-cdn.com/v4/letter/j/b19c9b/32.png) [@jcoon](https://forum.dynamobim.com/u/jcoon)\
**Post date:** [May 5, 2021, 2:54pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/16 "2021-05-05T14:54:09Z")

</div>

mzjensen,

Thanks, I’m watch a code block video right now.

John

---

<div class="post-metadata">

**Author:** ![david\_licona](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/david_licona/32/123672_2.png) [@david\_licona](https://forum.dynamobim.com/u/david_licona)\
**Post date:** [May 5, 2021, 5:57pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/17 "2021-05-05T17:57:55Z")

</div>

I will really recommend going through the primer that @zachri.jensen suggested. It will really help understand core concepts. I’ve seen some users jump directly into workflows without the primer prework and then get stuck on something and frustrated.

---

<div class="post-metadata">

**Author:** ![jcoon](https://avatars.discourse-cdn.com/v4/letter/j/b19c9b/32.png) [@jcoon](https://forum.dynamobim.com/u/jcoon)\
**Post date:** [May 5, 2021, 6:14pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/18 "2021-05-05T18:14:30Z")

</div>

Thanks, I’m currently doing that

---

<div class="post-metadata">

**Author:** ![david\_licona](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/david_licona/32/123672_2.png) [@david\_licona](https://forum.dynamobim.com/u/david_licona)\
**Post date:** [May 5, 2021, 6:24pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/19 "2021-05-05T18:24:13Z")

</div>

Also, I may be advancing myself, but if you’re interested in airport design, one of the cases that we want to publish in this [AU class](https://forum.dynamobim.com/t/vote-for-au2021-class-proposals-deadline-may-12th/63354/3) (if chosen) is the creation of part 77 surfaces, so don’t hesitate to vote 🙂

---

<div class="post-metadata">

**Author:** ![KirkWM](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/kirkwm/32/104406_2.png) [@KirkWM](https://forum.dynamobim.com/u/KirkWM)\
**Post date:** [May 5, 2021, 6:26pm UTC](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514/20 "2021-05-05T18:26:42Z")

</div>

> [@david\_licona](#):
>
> some users

guilty 👋🏼 I haven’t gone through the whole primer yet but you can still learn a lot by studying and reverse engineering examples from other users which can be a little more accessible when you understand the goal of a script vs studying individual nodes.

[Next page](https://forum.dynamobim.com/t/civil-3d-point-group-by-description-in-current-dwg/63514.md?page=2)
