Street Frontage Calculation

Street Frontage Calculation

Anonymous
Not applicable
3,401 Views
5 Replies
Message 1 of 6

Street Frontage Calculation

Anonymous
Not applicable

I'm sure there must be a AUTOLISP for this but I am trying to find a way to calculate the street frontage of an entire subdivision without spending hours doing it manually.

 

I have regular Autocad 2010  (no Civil 3D).

 

In the past what I have been doing is just offset the the front lot line the required distance back, extend/trim as necessary and then add up the length of all of these lines after putting them on a different layer and isolating them. I have an AD & SUM LISP to do later part of that.

 

Any suggestions on a better, faster, more efficient, or automatic way to do this would be appreicated.

0 Likes
3,402 Views
5 Replies
Replies (5)
Message 2 of 6

Kent1Cooper
Consultant
Consultant

@Anonymous wrote:

... I am trying to find a way to calculate the street frontage of an entire subdivision without spending hours doing it manually.

.... what I have been doing is just offset the the front lot line the required distance back, extend/trim as necessary and then add up the length of all of these lines ....


Welcome to these Discussion Boards!

 

Some questions:

 

How are the lot boundaries drawn?  Are they Lines and Arcs, Polylines, or something else?  If Polylines, is each lot a closed boundary including all sides, or are the front lot lines separate pieces from internal lot lines?

 

Is "the required distance back" a front-yard setback?  If you're adding the lengths back there, that doesn't sound like street frontage, and it wouldn't be the same total length as the street frontages if there are arc portions, turning corners at street intersections, etc.  Or is the "lot line" at the center of the street, and the "required distance back" half the street right-of-way width?

 

A sample drawing or image showing what you're starting with and where the street frontage you want totaled falls in relation to it would be helpful.

Kent Cooper, AIA
0 Likes
Message 3 of 6

Anonymous
Not applicable

Thanks for your reply.

 

currently just lines and arcs (could be polylines if need be). 

 

So to clarify I am calculating "Saleable" Street Frotnage. This calculation is taken at anywhere between 4.5m-6m back from the front lot line because in some cases (like when there are bends and curves) the frontage will be smaller or larger than directly at the edge of the property line. In a perfect world I would like that calculation but I could live with the calculation minus the offset and then I would just manually take a percentage off after to account for things that dont actually count as frontage.

 

I created a very simple block design example with a street that bentley. The Pink is the ROW (or street edge), The Yellow is the back yard lot line, and the red is the manual saleable frontage (in this case 4.5m from the street edge). The only exception is that in the case of the street bending, the saleable has to be taken from the smaller radius because when you measure saleable is based on the smallest dimension of the Lot (which in this case would be the back yard). I am not too concerned about the back lot line vs. just using the front lot line. This is something I could quickly change or manual adjust after. The problem is that I have 200 parcels that are all various sizes and it takes forever.

 

Moving forward, I would really like to somehow automatically create and calculate the length of those red dashed saleable frontage lines. As I am typing this I am wondering if maybe there is a way to do this all in one command:

 

Offset the line, move it to another layer, measure the line and display this number.

 

Then I could just sum it all up with the sum command at the end.

 

Or a tool that will allow me to select all of these lines that are now on another layer and then automatically calculate the total length of them combined.

 

Any suggestions?

 

0 Likes
Message 4 of 6

Kent1Cooper
Consultant
Consultant

I would definitely make a separate Layer for each variety of Line/Arc, for a variety of reasons, but being able to isolate them for what you want to do would be the main one.  One thing that will then go a considerable way toward what you want is OffsetToLayer.lsp with its OL command, available here [there are other such routines out there].  And if you Search around here and other sources, you can find things that will sum up the lengths of multiple objects.  For instance, just on the same Cadalyst CAD Tips site, this will add up the lengths of all Polylines on a specified Layer [which would require you to convert them to Polylines, but that's not hard], and there are likely [I haven't Searched] similar things on this Forum that can work with any object type(s) with length.

Kent Cooper, AIA
Message 5 of 6

Anonymous
Not applicable
I have a lisp that the community has help me to develop that offsets the line and sets it to the layer I specified. I use this lisp for roof set backs for installing solar arrays. it also works on locked and frozen layer to help speed up drawing. It doesn't calculate though. Let me know if it helps and how it can be modified.



(defun c:fsb (/ kw1 las las1 las2 las3 acDoc oLayer a b c layername OldLayer *error* errMarker errTempSelectionSet oldDny)

(vl-load-com)
(setvar "cmdecho" 0)

(setq oldDny (getvar "dynmode"))
(setvar "dynmode" 3)

(cond
(if (tblsearch "LAYER" "FireSetBack")
(setq OldLayer (getvar "CLAYER"))
(setq OldLayer (getvar "CLAYER"))
(command "_layer" "n" "FireSetBack" "" "")
)
)


(setq acDoc (vla-get-activedocument (vlax-get-acad-object)))

(setq oLayer (vla-add (vla-get-layers acDoc)
(setq layerName "FireSetBack")
)
)
(setq
oLayer2 (vla-add (vla-get-layers acDoc)
(setq layerName1 OldLayer)
)
)

(setq
a(vla-get-layeron oLayer)
b(vla-get-lock oLayer)

d(vla-get-layeron oLayer2)
e(vla-get-lock oLayer2)
)


(if
(/= OldLayer "FireSetBack")
(setq c(vla-get-freeze oLayer))
)


(defun *error* ( msg )

(setq *error* originalError)

(setvar "cmdecho" 0)
(setvar "dynmode" oldDny)

(while (setq errMarker (entnext errMarker))

(setq errTempSelectionSet (ssadd errMarker errTempSelectionSet ))

)

(command ".erase" errTempSelectionSet "")
(setvar "cmdecho" 1)
(setvar "filedia" 1)
(command "ucs" "p")
(setvar "CLAYER" OldLayer)
(setvar "OSMODE" oldsnap)
(vla-put-layeron oLayer a)
(vla-put-lock oLayer b)
(if
(/= OldLayer "MODULE")
(vla-put-freeze oLayer c)
)
(vla-put-layeron oLayer2 d)
(vla-put-lock oLayer2 e)






(or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")

(princ (strcat "\n** Error: " msg " **")))

(princ)

);end error defun


(setq las (entlast))
(command "_.pline")
(while (> (getvar 'cmdactive) 0)
(command pause)
); end while

(vla-put-layeron oLayer :vlax-true)
(vla-put-lock oLayer :vlax-false)
(if
(/= OldLayer "FireSetBack")
(vla-put-freeze oLayer :vlax-false)
)

(vla-put-layeron oLayer2 :vlax-true)
(vla-put-lock oLayer2 :vlax-false)

(if (= kw nil)(setq kw "36")
)
(setq kw1 kw)
(initget "36 18")
(setq kw (getkword (strcat"\nEnter setback distance in inches [36/18] <"kw">:")))
(if (= kw nil)
(setq kw kw1))
(command ".undo" "begin")
(cond
(if (not (eq (setq las1 (entlast)) las))
(vl-cmdf "_.offset" kw las1 pause "")
); if
); cond


(setq las2 (entlast))
(setq las3 (vlax-ename->vla-object las2))
(vlax-put-property las3 'layer "FireSetBack")
(command "explode" las1 )
(command "explode" las2 )
(command "_layer" "m" "FireSetBack" "c" 4 "" "")
(setvar "CLAYER" OldLayer)

(vla-put-layeron oLayer a)
(vla-put-lock oLayer b)
(if
(/= OldLayer "FireSetBack")
(vla-put-freeze oLayer c)
)
(vla-put-layeron oLayer2 d)
(vla-put-lock oLayer2 e)
(setvar "dynmode" oldDny)


(command ".undo" "end")
(princ)
)




0 Likes
Message 6 of 6

dbroad
Mentor
Mentor

I am not sure that I agree with your idea of what saleable street frontage is.  The street frontage is measured on the ROW line (the property line usually unless the property line extends to the centerline of the ROW.  It definitely should not account for setbacks.  Saleable vs. non-saleable is an issue that relates to whether the frontage is being sold or is part of the subdivision overhead (parks, land that cannot be sold due to insufficient land leftover after setbacks, etc).  The subdivisions total saleable street frontage should be the sum of the lengths of the property lines that are part of the ROW that are members of the lots for sale.

 

Here is a link that shows the concept graphically:

http://gimme-shelter.com/term-2/frontage-50043/

Architect, Registered NC, VA, SC, & GA.
0 Likes