Autocad Sum Length Of Lines

/ Comments off

Feb 27, 2009 How to sum the lengths of multiple lines? AutoCAD LT 2015. Enter the length. Click on the next line. Repeat as necessary. 1 point 5 years ago. Dorus ) then use qselect to select the blocks and within seconds i get the sum of the blocks that exist in the drawing with that name,easy right, problem comes from the cable part, where i have to convert the lines into polylines then use the length command to get the length then write down on paper and at the end sum it all up to get the final.

Here is a lisp that collects the lengths of lines or polylines on selected layers:

Length

;;; LENLYR.LSP a program to find the length of all
;;; entities on any selected layer
;;;
(defun err (s)
(if (= s 'Function cancelled')
(princ 'nLENLYR - cancelled: ')
(progn (princ 'nLENLYR - Error: ') (princ s)
(terpri))
); if
(resetting)
(princ 'SYSTEM VARIABLES have been resetn')
(princ)
); err
(defun setv (systvar newval)
(setq x (read (strcat systvar '1')))
(set x (getvar systvar))
(setvar systvar newval)
); setv
(defun setting ()
(setq oerr *error*)
(setq *error* err)
(setv 'CMDECHO' 0)
(setv 'BLIPMODE' 0)
); end of setting
(defun rsetv (systvar)
(setq x (read (strcat systvar '1')))
(setvar systvar (eval x))
); restv
(defun resetting ()
(rsetv 'CMDECHO')
(rsetv 'BLIPMODE')
(setq *error* oerr)
); end of resetting

(defun dxf (code ename)
(cdr (assoc code (entget ename)))
); dxf

(defun lenlyr ( / LayerList EntityList EntityLengths)
(setq LayerList (get-lyrs)
EntityList (get-ents LayerList)
EntityLengths (do-len EntityList)
) ; setq
(prin1 (read (rtos EntityLengths 2 2)))
); lenlyr

Autocad Sum Length Of Lines Intersect

(defun get-lyrs ( / isent lyr-list ss i lname)
(setq isent nil lyr-list nil)
(prompt
'nSelect object(s) on required layer(s): ')
(setq ss nil)
(while (not ss)
(setq ss (ssget))
(if (not ss)
(prompt 'nNo entities were selected.')
); if
); while
(setq i (- 1))
(repeat (sslength ss)
(setq lname (dxf 8 (ssname ss (setq i (1+ i)))))
(if (not (member lname lyr-list))
(setq lyr-list (append lyr-list (list lname)))
); if
); repeat
lyr-list
); get-lyrs

AutoCAD doesn't have anything like that built in, but it's easily done with TLEN.lsp (Total LENgth of selected objects) If you're not familiar with how to use lisp, simply copy/paste (CTRL+V) ALL the text and characters in the above link into your command line and press Enter, then type TLEN into the command line and follow the command prompt (select the. Charl van der Merwe Building and Architectural Design autocad, count, lengths, sum, table The way to do this very efficiently is to create a table and add extract all the lengths from each line into the table and then add up all the segment lengths to get the total length.

(defun get-ents (LayerList / lstr lst lyr str
filtlist i ss ename elist)
(setq lstr (strcat (car LayerList) ','))
(setq lst (cdr LayerList))
(foreach lyr lst
(setq str (strcat lyr ',')
lstr (strcat lstr str)
); setq
); foreach
(setq lstr (substr lstr 1 (1- (strlen lstr))))
(setq filtlist (list
(cons 8 lstr)
'(-4 . '<or')
'(0 . 'LINE')
'(0 . 'ARC')
'(0 . 'CIRCLE')
'(0 . 'POLYLINE')
'(0 . 'LWPOLYLINE')
'(-4 . 'or>')
); list
); setq
(setq i (- 1) elist nil ss nil)
(setq ss (ssget 'X' filtlist))
(if ss
(progn
(repeat (sslength ss)
(setq ename (ssname ss (setq i (1+ i))))
(setq elist (append elist (list ename)))
); repeat
(princ (strcat 'nTotal length of all '
'entities on layer(s) ' lstr ': ')
); print
); progn
(progn
(alert (strcat 'No eligible entities on '
'layer(s) n' lstr 'naborting.'))
(exit)
); progn
); if
elist
); get-ents

(defun do-len (EntityList / TotalLength ent len)
(setq TotalLength 0 len 0)
(foreach ent EntityList
(setq len (ent-len ent))
(if len
(setq TotalLength (+ len TotalLength))
); if
); foreach
); do-len

(defun ent-len (en / elength)
(setq elength
(cond
((= (dxf 0 en ) 'LINE') (do-line en))
((= (dxf 0 en ) 'ARC') (do-arc en))
((= (dxf 0 en ) 'CIRCLE') (do-circle en))
((= (dxf 0 en ) 'POLYLINE') (do-pline en))
((= (dxf 0 en ) 'LWPOLYLINE') (do-lwpline en))
); cond
); setq
elength
); ent-len

(defun do-line (en / p10 p11 len)
(setq p10 (dxf 10 en)
p11 (dxf 11 en)
len (distance p10 p11)
); setq
len
); do-line

Autocad Sum Length Of Lines Segment

(defun do-arc (en / rad sang eang theta len)
(setq rad (dxf 40 en)
sang (dxf 50 en)
eang (dxf 51 en)
theta (- eang sang)
); setq
(if (minusp theta)
(setq theta (+ theta pi pi))
); if
(setq len (* rad theta))
); do-arc

Total Length Command Autocad

(defun do-circle (en / rad len)
(setq rad (dxf 40 en)
len (* rad pi 2)
); setq
len
); do-circle

Lines

(defun do-pline (en / is-closed vlist vvlist len)
(setq is-closed (dxf 70 en))
(if (/= is-closed 100)
(progn
(setq en (entnext en))
(setq vlist nil
vvlist nil
); setq
(while (/= 'SEQEND' (dxf 0 en))
(setq vlist (dxf 10 en)
vlist (reverse vlist)
vlist (cdr vlist)
vlist (list (reverse vlist))
); setq
(setq vlist
(append vlist (list (dxf 42 en))))
(setq vvlist (append vvlist (list vlist)))
(setq en (entnext en))
); while
); progn
); if
(setq len (do-polylen vvlist is-closed))
); do-pline

Autocad Sum Length Of Lines Worksheet

(defun do-lwpline (en / num-vert is-closed elist
vlist vvlist len)
(setq num-vert (dxf 90 en)
is-closed (dxf 70 en)
elist (entget en)
elist (member (assoc 10 elist) elist)
vlist nil
vvlist nil
); setq
(repeat num-vert
(setq vlist (list (cdr (assoc 10 elist))))
(setq vlist
(append vlist (list (cdr (assoc 42 elist)))))
(setq vvlist (append vvlist (list vlist)))
(setq elist (cdr elist)
elist (member (assoc 10 elist) elist)
); setq
); repeat
(setq len (do-polylen vvlist is-closed))
); do-lwpline

Autocad Add Multiple Polyline Lengths

(defun do-polylen (vvlist is-closed / closed seglen
plen first p10 p11 bulge)
(setq closed (logand is-closed 1)
seglen 0
plen 0
); setq
(if (= closed 1)
(progn
(setq first (car vvlist)
vvlist (append vvlist (list first))
); setq
); progn
); if
(repeat (1- (length vvlist))
(setq p10 (caar vvlist)
p11 (caadr vvlist)
bulge (cadar vvlist)
); setq
(setq seglen (do-seg p10 p11 bulge))
(setq plen (+ plen seglen))
(setq vvlist (cdr vvlist))
); repeat
plen
); do-polylen

(defun do-seg (p1 p2 bulg / seglen ang4 ang dis rad)
(if (= bulg 0.0)
(progn
(setq seglen (distance p1 p2))
); progn
(progn
(setq ang4 (atan bulg)
ang (* 4.0 ang4)
dis (distance p1 p2)
rad (/ (/ dis 2.0) (sin (/ ang 2.0)))
seglen (* rad ang)
); setq
); progn
); if
seglen
); do-seg

(defun c:lnl ()
(setting)
(lenlyr)
(resetting)
(princ)
); c:lnl

Download Pokemon X and Y Rom in English for Free, Don't wait Till October & Be the First to Play it! Leaked Rom without No Survey. No, this isn't X and Y. It's a rom hack of Emerald on GBA made to imitate X and Y. Honestly, it looks unfinished, and it uses a lot of assets from Emerald. You have to have a GBA emulator to play this game. On Windows, VisualBoyAdvance works well. On Android phones and tablets, getting My Boy! Pokemon X Y GBA ROM is available at this page. Pokemon X Y GBA Download with high speed links for Free. Pokemon X & Y GBA ROM Hack. Pokemon X & Y GBA Download, Walkthrough, Cheats and Gameshark Codes. Pokemon X & Y GBA; ROM Download; Cheats & Gameshark Codes; Walkthrough. Pokemon gba x and y rom download iso. Download Pokemon X & Y GBA and Mega Emerald X & Y, a GBA Rom Hack, Latest Version: Final Version, patched and ready to play.

(prompt 'nEnter LNL to start')


Edited by msplcdykee69 - 27.Aug.2009 at 22:54