Hi,
Can anyone help me find a quicker way to rotate multiple text elevations from Topo survey data along a kerb? Feature line?
Currently, I have to rotate and move my text elevations individually to align with the kerb top and bottom in this instance.
attached image might help.
Thanks
Hi,
Can anyone help me find a quicker way to rotate multiple text elevations from Topo survey data along a kerb? Feature line?
Currently, I have to rotate and move my text elevations individually to align with the kerb top and bottom in this instance.
attached image might help.
Thanks
If you don't mind laying an arc over the top of the feature line curve, this LISP will do what you ask.
You might want to modify your point label style so that Plan Readable is turned off.
(defun c:go ( / a rp pts ctr len pt ang )
(vl-load-com)
(setq a (vlax-ename->vla-object (car (entsel "\nSelect arc: "))))
(setq rp (vlax-get a 'Center))
(while (not (= (vlax-get a 'ObjectName) "AcDbArc"))
(setq a (vlax-ename->vla-object (car (entsel "\nObject must be Arc. Try again: "))))
)
(prompt "\nSelect COGO Points: ")
(setq pts (ssget)
ctr 0
len (sslength pts))
(while (< ctr len)
(setq pt (vlax-ename->vla-object (ssname pts ctr)))
(if (= (vlax-get pt 'ObjectName) "AeccDbCogoPoint")
(progn
(setq ang (angle rp (vlax-get pt 'Location)))
(vlax-put pt 'Rotation ang)
(vlax-put pt 'LabelRotation ang)
)
)
(setq ctr (1+ ctr))
)
(princ)
)
If you don't mind laying an arc over the top of the feature line curve, this LISP will do what you ask.
You might want to modify your point label style so that Plan Readable is turned off.
(defun c:go ( / a rp pts ctr len pt ang )
(vl-load-com)
(setq a (vlax-ename->vla-object (car (entsel "\nSelect arc: "))))
(setq rp (vlax-get a 'Center))
(while (not (= (vlax-get a 'ObjectName) "AcDbArc"))
(setq a (vlax-ename->vla-object (car (entsel "\nObject must be Arc. Try again: "))))
)
(prompt "\nSelect COGO Points: ")
(setq pts (ssget)
ctr 0
len (sslength pts))
(while (< ctr len)
(setq pt (vlax-ename->vla-object (ssname pts ctr)))
(if (= (vlax-get pt 'ObjectName) "AeccDbCogoPoint")
(progn
(setq ang (angle rp (vlax-get pt 'Location)))
(vlax-put pt 'Rotation ang)
(vlax-put pt 'LabelRotation ang)
)
)
(setq ctr (1+ ctr))
)
(princ)
)
Thanks for the reply tim,
I will give that a go. My only issue is, the image was just small section example of the roadway im working on. How could i make the lisp work for the full length of my kerb line which is both curved and straight line in places?
thanks
Thanks for the reply tim,
I will give that a go. My only issue is, the image was just small section example of the roadway im working on. How could i make the lisp work for the full length of my kerb line which is both curved and straight line in places?
thanks
That's more difficult. If I get bored later, maybe I'll sit down again...
That's more difficult. If I get bored later, maybe I'll sit down again...
... work for the full length of my kerb line which is both curved and straight line in places?
Another third party add-on option, DotSoft's C3DTools will process a selection set of ElevationLabels and orient them in the direction of the underlying selected figures (polylines, featurelines, etc). Before and after example:
The same command lets you add ElevationLabels to a selection set of objects, convert existing node based geometry (inserts, points) to ElevationLabels, duplicate ElevationLabels on another surface, export to a file & import into another drawing, report highs, lows and other statistics of a selection set.
... work for the full length of my kerb line which is both curved and straight line in places?
Another third party add-on option, DotSoft's C3DTools will process a selection set of ElevationLabels and orient them in the direction of the underlying selected figures (polylines, featurelines, etc). Before and after example:
The same command lets you add ElevationLabels to a selection set of objects, convert existing node based geometry (inserts, points) to ElevationLabels, duplicate ElevationLabels on another surface, export to a file & import into another drawing, report highs, lows and other statistics of a selection set.
Can you cheat a little? If you use a feature line whose elevations match the points, you can label the elevation of the segment ends and have the labels rotated to match the 'feature' they label. There are some issues with not tangent intersections (line and curve, curve and curve) as well as line intersections if you try to bale start and end with a single label. If you only label the start of all segment in one style and use a different style only for the last segment to label the end of feature line it should be fairly simple. Short segments will wind up with overlapping labels even if they are rotated to perpendicular instead of parallels, which would also be an issue with all the other options suggested.
Can you cheat a little? If you use a feature line whose elevations match the points, you can label the elevation of the segment ends and have the labels rotated to match the 'feature' they label. There are some issues with not tangent intersections (line and curve, curve and curve) as well as line intersections if you try to bale start and end with a single label. If you only label the start of all segment in one style and use a different style only for the last segment to label the end of feature line it should be fairly simple. Short segments will wind up with overlapping labels even if they are rotated to perpendicular instead of parallels, which would also be an issue with all the other options suggested.
Hello @aaron_cotney ,
Just checking to see if your problem has been solved. Have you tried the suggestions from our experts above and did any of them work? If yes, please click on the "Accept as Solution" button in their reply so this helps other users in the community find the solution too. Thanks!
Hello @aaron_cotney ,
Just checking to see if your problem has been solved. Have you tried the suggestions from our experts above and did any of them work? If yes, please click on the "Accept as Solution" button in their reply so this helps other users in the community find the solution too. Thanks!
Can't find what you're looking for? Ask the community or share your knowledge.