help finish modifying lisp

help finish modifying lisp

Edwin.Saez
Advisor Advisor
2,683 Views
30 Replies
Message 1 of 31

help finish modifying lisp

Edwin.Saez
Advisor
Advisor

 

Hello everyone,

 

I find myself modifying a lisp, but I have not been able to move forward anymore due to lack of knowledge of lisp, I hope you can help me improve it or finish it.
I will attach the dwg so you can see what I am doing.

1- The lisp what it does is get the length of each line, which are each in its layer. (Could you improve so that the lisp allows me to select the lines?
2- the output of the data is through the texts that they see there, where the quantities are seen (they could improve the output of the data so that I wonder if I want to take them to excel or place them inside the dwg as a table)
3- the output of the data is placed as a table within the dwg

 

(defun c:sumlp (/ p l e sxy exy sum1 sum2 sum3 sumpdp200 sumNpdp200 sumpdp300 sumNpdp300 sumpdp450 sumNpdp450 sumpdp600 sumNpdp600 sum1550 sum17200 sum17300 sum17450 sum17600 sum21200 sum21300 sum21450 sum21600 sum21750 sum21900)

(setq pick_pt_orig (getpoint "\nPunto de Insercion de Salida de datos:"))
   
(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")

                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_PD Perf 50")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)

         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sumpdp50 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_PD Perf 50: ")
         (princ (rtos sumpdp50))

(setq b (+ 0.05 0.6))
(setq h (+ 0.05 0.5))
(setq vgi (* b h))
(setq vcai (* 0.1 b))
(setq vri (* 0.2 b))
(setq vexi (+ vgi vcai))
(setq vexi (+ vexi vri))
(setq vg vgi)
(setq vca vcai)
(setq vr vri)
(setq vex vexi)
      
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sumpdp50 2 0) "M  tubería de HDPE de pared doble perforada de D=50 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vgi 2 2) "M3  volumen de grava por tubería de HDPE de pared doble perforada de D=50 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE de pared doble perforada de D=50 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE de pared doble perforada de D=50 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE de pared doble perforada de D=50 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))


)
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)




(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_PD Perf 100")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sumpdp100 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_PD Perf 100: ")
         (princ (rtos sumpdp100))

(setq b (+ 0.1 0.6))
(setq h (+ 0.1 0.5))
(setq vgi (* b h))
(setq vcai (* 0.1 b))
(setq vri (* 0.2 b))
(setq vexi (+ vgi vcai))
(setq vexi (+ vexi vri))
(setq vg (+ vg vgi))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
      
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sumpdp100 2 0) "M tubería de HDPE de pared doble perforada de D=100 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vgi 2 2) "M3  volumen de grava por tubería de HDPE de pared doble perforada de D=100 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE de pared doble perforada de D=100 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE de pared doble perforada de D=100 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE de pared doble perforada de D=100 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))




)
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)







(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_PD Perf 200")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sumpdp200 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_PD Perf 200: ")
         (princ (rtos sumpdp200))

(setq b (+ 0.2 0.6))
(setq h (+ 0.2 0.5))
(setq vgi (* b h))
(setq vcai (* 0.1 b))
(setq vri (* 0.2 b))
(setq vexi (+ vgi vcai))
(setq vexi (+ vexi vri))
(setq vg (+ vg vgi))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
     
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sumpdp200 2 0) "M tubería de HDPE de pared doble perforada de D=200 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vgi 2 2) "M3  volumen de grava por tubería de HDPE de pared doble perforada de D=200 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE de pared doble perforada de D=200 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE de pared doble perforada de D=200 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE de pared doble perforada de D=200 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))



 )
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)


(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_PD Nperf 200")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sumNpdp200 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_PD Nperf 200: ")
         (princ (rtos sumNpdp200))

(setq b (+ 0.2 0.6))
(setq h (+ 0.4 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
     
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sumNpdp200 2 0) "M tubería de HDPE de pared doble no perforada de D=200 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE de pared doble no perforada de D=200 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE de pared doble no perforada de D=200 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE de pared doble no perforada de D=200 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))


 )
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)


(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_PD Perf 300")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sumpdp300 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_PD perf 300: ")
         (princ (rtos sumpdp300))

(setq b (+ 0.3 0.6))
(setq h (+ 0.3 0.5))
(setq vgi (* b h))
(setq vcai (* 0.1 b))
(setq vri (* 0.2 b))
(setq vexi (+ vgi vcai))
(setq vexi (+ vexi vri))
(setq vg (+ vg vgi))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
     
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sumpdp300 2 0) "M tubería de HDPE de pared doble perforada de D=300 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vgi 2 2) "M3  volumen de grava por tubería de HDPE de pared doble perforada de D=300 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE de pared doble perforada de D=300 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE de pared doble perforada de D=300 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE de pared doble perforada de D=300 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))



 )
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)



(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_PD Nperf 300")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sumNpdp300 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_PD Nperf 300: ")
         (princ (rtos sumNpdp300))
      
(setq b (+ 0.3 0.6))
(setq h (+ 0.5 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sumNpdp300 2 0) "M tubería de HDPE de pared doble no perforada de D=300 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE de pared doble no perforada de D=300 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE de pared doble no perforada de D=300 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE de pared doble no perforada de D=300 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))


)
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)


(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_PD Perf 450")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sumpdp450 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_PD Perf 450: ")
         (princ (rtos sumpdp450))

(setq b (+ 0.45 0.6))
(setq h (+ 0.45 0.5))
(setq vgi (* b h))
(setq vcai (* 0.1 b))
(setq vri (* 0.2 b))
(setq vexi (+ vgi vcai))
(setq vexi (+ vexi vri))
(setq vg (+ vg vgi))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
    
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sumpdp450 2 0) "M tubería de HDPE de pared doble perforada de D=450 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vgi 2 2) "M3  volumen de grava por tubería de HDPE de pared doble perforada de D=450 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE de pared doble perforada de D=450 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE de pared doble perforada de D=450 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE de pared doble perforada de D=450 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))


  )
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)



(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_PD Nperf 450")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sumNpdp450 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_PD NPerf 450: ")
         (princ (rtos sumNpdp450))

(setq b (+ 0.45 0.6))
(setq h (+ 0.65 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
      
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sumNpdp450 2 0) "M tubería de HDPE de pared doble no perforada de D=450 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE de pared doble no perforada de D=450 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE de pared doble no perforada de D=450 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE de pared doble no perforada de D=450 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))


)
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)

(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_PD Perf 600")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sumpdp600 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_PD Perf 600: ")
         (princ (rtos sumpdp600))


(setq b (+ 0.6 0.6))
(setq h (+ 0.6 0.5))
(setq vgi (* b h))
(setq vcai (* 0.1 b))
(setq vri (* 0.2 b))
(setq vexi (+ vgi vcai))
(setq vexi (+ vexi vri))
(setq vg (+ vg vgi))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
      

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sumpdp600 2 0) "M tubería de HDPE de pared doble perforada de D=600 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vgi 2 2) "M3  volumen de grava por tubería de HDPE de pared doble perforada de D=600 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE de pared doble perforada de D=600 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE de pared doble perforada de D=600 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE de pared doble perforada de D=600 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))


)
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)


(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_PD Nperf 600")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sumNpdp600 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_PD Nperf 600: ")
         (princ (rtos sumNpdp600))

(setq b (+ 0.6 0.6))
(setq h (+ 0.8 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
     
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sumNpdp600 2 0) "M tubería de HDPE de pared doble no perforada de D=600 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE de pared doble no perforada de D=600 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE de pared doble no perforada de D=600 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE de pared doble no perforada de D=600 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))


 )
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)


(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_S SDR15 50")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sum1550 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_S SDR15 50: ")
         (princ (rtos sum1550))

(setq b (+ 0.05 0.6))
(setq h (+ 0.25 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
    
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sum1550 2 0) "M tubería de HDPE sólida SDR 15 de D=50 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE sólida SDR 15 de D=50 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE sólida SDR 15 de D=50 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE sólida SDR 15 de D=50 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))



 )
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)


(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_S SDR17 200")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sum17200 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_S SDR17 200: ")
         (princ (rtos sum17200))

(setq b (+ 0.2 0.6))
(setq h (+ 0.40 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))

     
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sum17200 2 0) "M tubería de HDPE sólida SDR 17 de D=200 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE sólida SDR 17 de D=200 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE sólida SDR 17 de D=200 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE sólida SDR 17 de D=200 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))


 )
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)


(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_S SDR17 300")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sum17300 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_S SDR17 300: ")
         (princ (rtos sum17300))

(setq b (+ 0.3 0.6))
(setq h (+ 0.5 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
      

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sum17300 2 0) "M tubería de HDPE sólida SDR 17 de D=300 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE sólida SDR 17 de D=300 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE sólida SDR 17 de D=300 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE sólida SDR 17 de D=300 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))



)
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)


(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_S SDR17 450")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sum17450 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_S SDR17 450: ")
         (princ (rtos sum17450))

(setq b (+ 0.45 0.6))
(setq h (+ 0.65 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sum17450 2 0) "M tubería de HDPE sólida SDR 17 de D=450 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE sólida SDR 17 de D=450 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE sólida SDR 17 de D=450 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE sólida SDR 17 de D=450 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))



 )
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)



(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_S SDR17 600")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sum17600 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_S SDR17 600: ")
         (princ (rtos sum17600))

(setq b (+ 0.6 0.6))
(setq h (+ 0.8 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
     
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sum17600 2 0) "M tubería de HDPE sólida SDR 17 de D=600 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE sólida SDR 17 de D=600 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE sólida SDR 17 de D=600 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE sólida SDR 17 de D=600 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))


 )
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)




(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_S SDR21 200")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sum21200 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_S SDR21 200: ")
         (princ (rtos sum21200))

(setq b (+ 0.2 0.6))
(setq h (+ 0.4 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
     
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sum21200 2 0) "M tubería de HDPE sólida SDR 21 de D=200 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE sólida SDR 21 de D=200 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE sólida SDR 21 de D=200 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE sólida SDR 21 de D=200 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))


 )
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)


(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_S SDR21 300")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sum21300 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_S SDR21 300: ")
         (princ (rtos sum21300))

(setq b (+ 0.2 0.6))
(setq h (+ 0.4 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
    

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sum21300 2 0) "M tubería de HDPE sólida SDR 21 de D=300 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE sólida SDR 21 de D=300 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE sólida SDR 21 de D=300 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE sólida SDR 21 de D=300 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))



  )
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)


(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_S SDR21 450")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sum21450 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_S SDR21 450: ")
         (princ (rtos sum21450))

(setq b (+ 0.45 0.6))
(setq h (+ 0.65 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
      
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sum21450 2 0) "M tubería de HDPE sólida SDR 21 de D=450 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE sólida SDR 21 de D=450 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE sólida SDR 21 de D=450 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE sólida SDR 21 de D=450 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))



)
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)



(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_S SDR21 600")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sum21600 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_S SDR21 600: ")
         (princ (rtos sum21600))

(setq b (+ 0.6 0.6))
(setq h (+ 0.85 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
      
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sum21600 2 0) "M tubería de HDPE sólida SDR 21 de D=600 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE sólida SDR 21 de D=600 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE sólida SDR 21 de D=600 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE sólida SDR 21 de D=600 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))




)
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)

(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_S SDR21 750")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sum21750 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_S SDR21 750: ")
         (princ (rtos sum21750))


(setq b (+ 0.75 0.6))
(setq h (+ 0.95 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))
      
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sum21750 2 0) "M tubería de HDPE sólida SDR 21 de D=750 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE sólida SDR 21 de D=750 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE sólida SDR 21 de D=750 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE sólida SDR 21 de D=750 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))


)
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)


(setq p  (ssget  "X" (list (cons -4 "<or")
                              (cons 0 "LINE")
                              (cons 0 "LWPOLYLINE")
                              (cons -4 "<and")
                                 (cons 0 "POLYLINE")
                                 (cons -4 "<not")
                                    (cons -4 "&") (cons 70 (+ 16 32 64))
                                 (cons -4 "not>")
                              (cons -4 "and>")
                           (cons -4 "or>") (cons 8 "AA T_S SDR21 900")
                     )
            )
         sum1 0.0
         sum2 0.0
         sum3 0.0
   )
   ;check for null selection set
   (if p
      (progn
         (setq l 0)
         (repeat (sslength p)
            (cond
               ((= "LINE" (cdr (assoc 0 (setq e (entget (ssname p l))))))
                  (setq sxy (cdr (assoc 10 e))
                        exy (cdr (assoc 11 e))
                        sum1 (+ sum1 (distance sxy exy))
                  )
                  (terpri)
               )
               ((= "LWPOLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
               ((= "POLYLINE" (cdr (assoc 0 (entget (setq e (ssname p l))))))
                  (command "_.area" "_E" e)
                  (setq sum2 (+ sum2 (getvar "perimeter")))
                  (terpri)
               )
            )
            (setq l (1+ l))
         )
         (setq sum21900 (+ sum1 sum2))
                 (princ (rtos sum2))
         (princ "\nLa suma total de longitudes para lineas y/o polilineas es AA T_S SDR21 900: ")
         (princ (rtos sum21900))


(setq b (+ 0.90 0.6))
(setq h (+ 1.10 0.5))
(setq vcai (* 0.1 b))
(setq vri (* h b))
(setq vexi (+ vri vcai))
(setq vca (+ vca vcai))
(setq vr (+ vr vri))
(setq vex (+ vex vexi))

     
(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos sum21900 2 0) "M tubería de HDPE sólida SDR 21 de D=900 mm:") )

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vcai 2 2) "M3  volumen de cama de arena por tubería de HDPE sólida SDR 21 de D=900 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vri 2 2) "M3  volumen de relleno estructural por tubería de HDPE sólida SDR 21 de D=900 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vexi 2 2) "M3  volumen de excavación de zanja por tubería de HDPE sólida SDR 21 de D=900 mm:"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))


 )
      
(princ "\nNo has seleccionado ninguna linea o polilinea") 
   )
   (princ)


(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vca 2 2) "M3  volumen total de cama de arena"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vr 2 2) "M3  volumen total de relleno estructural"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))

(command "_text" "j" "c" pick_pt_orig 3.75 0 (strcat  (rtos vex 2 2) "M3  volumen total de excavación de zanja"))       

(setq pick_pt_orig (mapcar '- pick_pt_orig (list 0 10)))
)

 

Thanks everyone for your help

Edwin Saez


LinkedIn / AutoCAD Certified Professional


EESignature


 


Si mi respuesta fue una solución para usted, por favor seleccione "Aceptar Solución", para que también sirva a otro usuarios.

0 Likes
Accepted solutions (1)
2,684 Views
30 Replies
Replies (30)
Message 21 of 31

dlanorh
Advisor
Advisor

This is for all pipes? Your initial lisp had a different height (+ 0.2) for Nperf and T_S pipes.

I am not one of the robots you're looking for

0 Likes
Message 22 of 31

Edwin.Saez
Advisor
Advisor

@dlanorh ,

It must have been an error of mine, but it must be just as you sent it in the dwg "checks". For "Nperf" & "Solid" pipes, the height (H) must be equal to the diameter of the pipe + 0.5.

* for all types of pipe the "B" (width) must be equal to the diameter of the pipe + 0.6

 

nperf&solid.png

 

Edwin Saez


LinkedIn / AutoCAD Certified Professional


EESignature


 


Si mi respuesta fue una solución para usted, por favor seleccione "Aceptar Solución", para que también sirva a otro usuarios.

Message 23 of 31

dlanorh
Advisor
Advisor

Please Find attached the lisp. This employs the dynamic prompt in dynamic mode. It is used for two questions

 

  (initget "None 0.2 0.5 0.75 1 Other")
  (setq a (cond ( (getkword "\nSelect Trench Slope Option : [None/0.2/0.5/0.75/1/Other] <None>")) ("None")))

This will allow you to select with the mouse one of the most common slopes.

 

None is no slope, the default  (vertical sides)

Other will allow you to enter the horizontal distance for a rise of 1 at a "getreal" prompt. You must enter a real number at this prompt, The initget will prevent enter, zero or a negative number.

 

The second prompt is for the structural cap on Perf pipes, and is a "Yes" or "No" (default "Yes")

 

The lisp checks the drawing for Table Style "T_CANT APILAM". If it not present it will alert you and exit when the OK button on the alert is pressed. If the table style is in the drawing it will set it as current automatically.

 

Please test on know data to ensure the calculations are correct. I have tested to the best of my ability to ensure the program runs correctly and that the output is correct.

 

 

I am not one of the robots you're looking for

0 Likes
Message 24 of 31

Edwin.Saez
Advisor
Advisor

@dlanorh ,

I have this error loading the lisp.

 

; error: malformed list on input

Edwin Saez


LinkedIn / AutoCAD Certified Professional


EESignature


 


Si mi respuesta fue una solución para usted, por favor seleccione "Aceptar Solución", para que también sirva a otro usuarios.

0 Likes
Message 25 of 31

dlanorh
Advisor
Advisor

@Edwin.Saez wrote:

@dlanorh ,

It must have been an error of mine, but it must be just as you sent it in the dwg "checks". For "Nperf" & "Solid" pipes, the height (H) must be equal to the diameter of the pipe + 0.5.

* for all types of pipe the "B" (width) must be equal to the diameter of the pipe + 0.6

 

nperf&solid.png

 


And is the Perf with structursl cap also correct

 

H for gravel and + 0.2 for cap?

I am not one of the robots you're looking for

0 Likes
Message 26 of 31

dlanorh
Advisor
Advisor
Accepted solution

😳  Sorry, attached correct lisp renamed, and not the inital test lisp.

I am not one of the robots you're looking for

0 Likes
Message 27 of 31

Edwin.Saez
Advisor
Advisor

 @dlanorh ,

Yes, all the sections you sent are correct. Just attach the image to be taken into account as varies "B" and "H" depending on the diameter of the pipe.

 

perf.png

Edwin Saez


LinkedIn / AutoCAD Certified Professional


EESignature


 


Si mi respuesta fue una solución para usted, por favor seleccione "Aceptar Solución", para que también sirva a otro usuarios.

Message 28 of 31

Edwin.Saez
Advisor
Advisor

@dlanorh ,

 

I have 1 comment,1- I compared the calculations of the tables with a calculator and they are all correct except for the calculation of "Gravel Volume - Pipe Volume". The value in my calculator is different.

 

Everything else is as I dreamed. Thank you very much for all your valuable time having been able to help me with this, thanks to you I can save a lot of time. 🤗😄

Edwin Saez


LinkedIn / AutoCAD Certified Professional


EESignature


 


Si mi respuesta fue una solución para usted, por favor seleccione "Aceptar Solución", para que también sirva a otro usuarios.

0 Likes
Message 29 of 31

Edwin.Saez
Advisor
Advisor

@dlanorh ,

 

I have 1 comment,

*I compared the calculations of the tables with a calculator and they are all correct except for the calculation of "Gravel Volume - Pipe Volume". The value in my calculator is different.

 

Everything else is as I dreamed. Thank you very much for all your valuable time having been able to help me with this, thanks to you I can save a lot of time. 🤗😄

Edwin Saez


LinkedIn / AutoCAD Certified Professional


EESignature


 


Si mi respuesta fue una solución para usted, por favor seleccione "Aceptar Solución", para que también sirva a otro usuarios.

0 Likes
Message 30 of 31

dlanorh
Advisor
Advisor

@Edwin.Saez 

Re gravel - pipe. Please see attached cut down test drawing. Polyline areas taken from AutoCAD Area command. Table produced by lisp

I am not one of the robots you're looking for

0 Likes
Message 31 of 31

dlanorh
Advisor
Advisor

Attached is updated lisp. I've simplified the calculations section.

 

I am not one of the robots you're looking for