
;==========================================================================================================================================
;																																														 
;	 ( PIN-3DC3d2d-INTERSECCION-PROYECCION-VARIOS-PERFILES )																				09-11-2013			 	 
;																																														 
;		PINTA 3DCaras en 3D y 2D del SOLIDO Formado por la INTERSECCION de la PROYECCION-VECTOR de VARIOS PERFILES									 
;																																														 
;		PERFILES a PROYECCION-VECTOR -> VARIAS POLILINEAS-3D con VECTOR-PROYECCION									 											 
;																																														 


;																																														 
;==========================================================================================================================================




	;----------------------------------------------------------------------------------------------------------------------------------------
	;	LISTA de PUNTOS de POLILINEA-3D																																		  

	(DEFUN LIS-PUN-POLI-3D ( / )

		(SETQ LIS-PUNoPOL-3D  nil )
		(SETQ LISpO-3D-0 (ENTGET  NoPOL-3D-0 ))      ; Introducir lista entidad 
		(SETQ WW1 T )
		(WHILE WW1
			(SETQ NoPOL-3D-1 (ENTNEXT NoPOL-3D-0 ))   ; Siguiente 
			(SETQ LISpO-3D-1 (ENTGET  NoPOL-3D-1 ))   ; Introducir lista entidad 
			(SETQ ENDI  (CDR (ASSOC 0 LISpO-3D-1 )))  ; Nombre entidad 

			(IF (= ENDI "VERTEX" ) ; "VERTEX" 
				(PROGN
					(SETQ CORD (CDR (ASSOC 10 LISpO-3D-1 )))
					(SETQ LIS-PUNoPOL-3D (CONS CORD  LIS-PUNoPOL-3D ))
					(SETQ NoPOL-3D-0  NoPOL-3D-1 )
				) ; pro
				(PROGN
					(SETQ WW1 nil )
				) ; pro
			) ; if
		) ; WW1
	
		(SETQ LIS-PUNoPOL-3D (REVERSE LIS-PUNoPOL-3D ))

	) ; Defun LIS-PUN-POLI-3D

	;																																													 







	;----------------------------------------------------------------------------------------------------------------------------------------
	;	PINTA 3DCaras en 3D y 2D																																				  

	(DEFUN PIN-3DCaras ( / )

			(SETQ Nē1 -1 )
			(REPEAT (- NēNoIz 1 )
				(SETQ Nē1 (+ Nē1 1 ))

				(IF (= (REM (+ Nē1 1 ) 5 ) 0 )
					(SETQ COLO 5 )
					(SETQ COLO (REM (+ Nē1 1 ) 5 ))
				) ; if 

				(SETQ P1 (NTH    Nē1     LIS-PUN-1))			;      P4 o------------o P3       
				(SETQ P2 (NTH    Nē1     LIS-PUN-2))			;         |    3DC     |          
				(SETQ P3 (NTH (+ Nē1 1 ) LIS-PUN-2))			;  Lis1   |            |   Lis2   
				(SETQ P4 (NTH (+ Nē1 1 ) LIS-PUN-1))			; KK1  P1 o------------o P2  KK2  


				(COMMAND "SCP" "3P" P1 P2 P4 )
					(SETQ P1p (TRANS P1 0 1 ))
					(SETQ P2p (TRANS P2 0 1 ))
					(SETQ P3p (TRANS P3 0 1 ))
					(SETQ P4p (TRANS P4 0 1 ))

					(COMMAND "COLOR" COLO  "3DCARA" P1p P2p P3p P4p "")   ; 3D 

					(IF (= (REM Nē1 10 ) 1 ) (PROGN
					;	(SETQ P14p (CAL "PLT(P1p,P4p,0.5)"))							; PUNTO MEDIO P1 P2  ; plt(p1,p2,t)
					;	(SETQ P13p (CAL "PLT(P1p,P3p,0.5)"))
					;	(SETQ P23p (CAL "PLT(P2p,P3p,0.5)"))
					;	(SETQ NcaraNē (STRCAT Ncara "-" ( ITOA Nē1)))
					;	(SETQ ALT 0.6 )

					;	(COMMAND "COLOR" 7 )
					;	(COMMAND "TEXTO" "MI" P14p ALT 0.0 NēIzq  )    ; 2D
					;	(COMMAND "TEXTO" "MC" P13p ALT 0.0 NcaraNē)    ; 2D
					;	(COMMAND "TEXTO" "MD" P23p ALT 0.0 NēDer  )    ; 2D
					)) ; if 
				(COMMAND "SCP" "U" )


				(COMMAND "SCP" "3P" KK1 KK2 "" )
					(COMMAND "COLOR" COLO  "3DCARA" P1p P2p P3p P4p "")   ; 2D 

					(IF (= (REM Nē1 10 ) 1 ) (PROGN
					;	(COMMAND "COLOR" 7 )
					;	(COMMAND "TEXTO" "MI" P14p ALT 0.0 NēIzq  )    ; 2D
					;	(COMMAND "TEXTO" "MC" P13p ALT 0.0 NcaraNē)    ; 2D
					;	(COMMAND "TEXTO" "MD" P23p ALT 0.0 NēDer  )    ; 2D
					)) ; if 

					(SETQ KK1 (TRANS P4p 1 0 ))
					(SETQ KK2 (TRANS P3p 1 0 ))
				(COMMAND "SCP" "U" )

			) ; repe

	) ; Defun PIN-3DCaras

	;																																													 




;==========================================================================================================================================
;	  *** PROGRAMA *** PROGRAMA *** PROGRAMA *** PROGRAMA *** PROGRAMA *** PROGRAMA *** PROGRAMA *** PROGRAMA *** PROGRAMA *** 				 
;==========================================================================================================================================

(DEFUN C:PIN-3DC3d2d-INTERSECCION-PROYECCION-VARIOS-PERFILES (/ )

	;========================================================================================================================================
	;	(00) ARRANCANDO																																							  
	(SETVAR "blipmode" 0) (SETVAR "cmdecho" 0) (GRAPHSCR) (COMMAND "-REFENT" "DES"  "SCP" "U"  "ORTO" "DES")
	(IF (= CAL nil)(COMMAND "ARX" "L" "GEOMCAL.ARX"))			; CARGA CALCULADORA

	(TERPRI) (PROMPT " ============ INICIO ==========================================================")   (TERPRI)

	;----------------------------------------------------------------------------------------------------------------------------------------
	; (01) DATOS EXTERNOS														   																							  

	(TERPRI)
	(SETQ NēPer (GETINT "####################################### INTRUDOCIR Nēde PERFILES : ")) (TERPRI)

	(SETQ LIS-LIS-PUN-PERFI nil )
	(SETQ LIS-VECTOR-DIRECC nil )
	(SETQ Nēn 0 )
	(REPEAT NēPer
		(SETQ Nēn (+ Nēn 1 ))

		(TERPRI)
		(SETQ NomPerX (CAR (ENTSEL (STRCAT " (EN SENTIDO CONTRA del RELOJ) MARCA POLILINEA-3D Nē=(" (ITOA Nēn) ")")))) (TERPRI)	
		(SETQ NomVecX (CAR (ENTSEL (STRCAT " (EN SENTIDO CONTRA del RELOJ) MARCA DIREC-VECTOR Nē=(" (ITOA Nēn) ")")))) (TERPRI)	

		(SETQ NoPOL-3D-0  NomPerX )
		(LIS-PUN-POLI-3D)
		(SETQ LIS-LIS-PUN-PERFI (CONS LIS-PUNoPOL-3D  LIS-LIS-PUN-PERFI ))

		(SETQ PV1 (CDR (ASSOC 10 (ENTGET NomVecX ))))
		(SETQ PV2 (CDR (ASSOC 11 (ENTGET NomVecX ))))
		(SETQ VecX (CAL "VEC1( PV1 , PV2 )"))								; Calcula el vector UNITARIO desde el punto p1 al p2.
		(SETQ LIS-VECTOR-DIRECC (CONS VecX  LIS-VECTOR-DIRECC ))

	) ; repe NēPer 

	(SETQ LIS-LIS-PUN-PERFI (REVERSE LIS-LIS-PUN-PERFI ))				;	(LENGTH LIS-LIS-PUN-PERFI )
	(SETQ LIS-VECTOR-DIRECC (REVERSE LIS-VECTOR-DIRECC ))				;	(LENGTH LIS-VECTOR-DIRECC )


	;----------------------------------------------------------------------------------------------------------------------------------------
	; (02) COMPROBACION DE DATOS								   																											  

	(TERPRI) (PROMPT " ============ COMPROBACION DE DATOS ===========================================")   (TERPRI)

	(SETQ SEGUIR T )
	(TERPRI)
	(IF (/= NēPer (LENGTH LIS-LIS-PUN-PERFI ) (LENGTH LIS-VECTOR-DIRECC ))
		(PROGN (PROMPT "   El Nē de Listas Listas Perfiles y Vectores son DESIGUALES -> ( MAL )") (TERPRI) (SETQ SEGUIR nil )) ; pro
	) ;if 
	(TERPRI)

	(SETQ Lis1Ē (NTH 0 LIS-LIS-PUN-PERFI ))
	(SETQ NēLis 0 )
	(REPEAT (- NēPer 1 )
		(SETQ NēLis (+ NēLis 1 ))
		(SETQ Lisx (NTH NēLis  LIS-LIS-PUN-PERFI ))
		(IF (/= (LENGTH Lis1Ē ) (LENGTH Lisx ))
			(PROGN (PROMPT (STRCAT "   El Nē de Pun Lis1Ē-LisX de Perfiles son DESIGUALES -> ( MAL ) en ( " (ITOA 0 ) " - " (ITOA NēLis) " )")) (TERPRI) (SETQ SEGUIR nil ))
		) ;if
	) ; repe NēLis 

	(SETQ NēPPe1 0 )
	(REPEAT (- (LENGTH (NTH 0 LIS-LIS-PUN-PERFI )) 1 )
		(SETQ NēPPe1 (+ NēPPe1 1 ))
		(SETQ NēLis1 0 )
		(REPEAT (- NēPer 1 )
			(SETQ NēLis1 (+ NēLis1 1 ))
			(SETQ Z1Ē (CADDR (NTH NēPPe1 (NTH    0    LIS-LIS-PUN-PERFI ))))
			(SETQ Zx  (CADDR (NTH NēPPe1 (NTH NēLis1  LIS-LIS-PUN-PERFI ))))
			(IF (NOT (EQUAL Z1Ē Zx 0.0001 ))
				(PROGN (PROMPT (STRCAT "   Las (Z) Z1Ē-Zx  son DESIGUALES -> ( MAL ) en ( " (ITOA NēLis1 ) " - " (ITOA NēPPe1) " )")) (TERPRI) (SETQ SEGUIR nil ))
			) ;if
		) ; repe NēLis1 
	) ; repe NēPun 


	;----------------------------------------------------------------------------------------------------------------------------------------
	; (03) INTERSECCION DE PROYECCIONES																																		  

	(IF SEGUIR
		(PROGN
			(PROMPT " ============ TODOS LOS DATOS SON CORRECTOS ( BIEN ) ==========================" )   (TERPRI)

			(SETQ LIS-LIS-PUN-INTER nil )

			(SETQ NēLis2 -1 )
			(REPEAT  NēPer
				(SETQ NēLis2 (+ NēLis2 1 ))

				(IF (= NēLis2  (- NēPer 1 ))
					(PROGN (SETQ NēLis3       0     ))
					(PROGN (SETQ NēLis3 (+ NēLis2 1 )))
				) ;if

				(SETQ LIS-PUN-INTER nil )

				(SETQ NēPun2 -1 )
				(REPEAT (LENGTH (NTH 0 LIS-LIS-PUN-PERFI ))
					(SETQ NēPun2 (+ NēPun2 1 ))

					(SETQ PPe1 (NTH NēPun2 (NTH NēLis2  LIS-LIS-PUN-PERFI )))
					(SETQ PPe2 (NTH NēPun2 (NTH NēLis3  LIS-LIS-PUN-PERFI )))

					(SETQ VU1 (NTH NēLis2  LIS-VECTOR-DIRECC ))
					(SETQ VU2 (NTH NēLis3  LIS-VECTOR-DIRECC ))

  					(SETQ PV1 (CAL " PPe1 + VU1 "))    												; calcula el punto situado a [1,2,3] unidades del punto A.	
					(SETQ PV2 (CAL " PPe2 + VU2 "))

					(SETQ In12 (CAL "ILL( PPe1 , PV1 ,  PPe2 , PV2 )"))						; intersecciķn entre dos línea (p1,p2) y (p3,p4). 3D 			

					;(COMMAND "COLOR" 7  "PUNTO" In12 )

					(SETQ LIS-PUN-INTER (CONS In12  LIS-PUN-INTER ))

				) ; repe NēPun2 

				(SETQ LIS-PUN-INTER (REVERSE LIS-PUN-INTER ))
				(SETQ LIS-LIS-PUN-INTER (CONS LIS-PUN-INTER  LIS-LIS-PUN-INTER ))

			) ; repe NēLis2 

			(SETQ LIS-LIS-PUN-INTER (REVERSE LIS-LIS-PUN-INTER ))   ; ORDENADOS POR CARAS 


	;----------------------------------------------------------------------------------------------------------------------------------------
	; (04) PINTA 3DCARAS																																							  

			(SETQ LIS-PUN-TAPA-BASE nil )
			(SETQ LIS-PUN-TAPA-SUPE nil )

			(SETQ NēLisIn1 -1 )
			(REPEAT  NēPer
				(SETQ NēLisIn1 (+ NēLisIn1 1 ))

				(IF (= NēLisIn1 (- NēPer 1 ))
					(PROGN (SETQ NēLisIn2       0     ))
					(PROGN (SETQ NēLisIn2 (+ NēLisIn1 1 )))
				) ;if

				(SETQ NēIzq (STRCAT "---" (ITOA (+ NēLisIn1 1 ))))
				(SETQ Ncara (STRCAT "Cara" (ITOA (+ NēLisIn1 1 )) (ITOA (+ NēLisIn2 1 )))) 
				(SETQ NēDer (STRCAT (ITOA (+ NēLisIn2 1 )) "---" ))

				(SETQ ALTU 3 )

				(SETQ KK1 (LIST    (* 100 (+ NēLisIn1 1 ))     0 0 ))
				(SETQ KK2 (LIST (+ (* 100 (+ NēLisIn1 1 )) 1 ) 0 0 ))

				(SETQ NēPunIn1 -1 )
				(REPEAT (- (LENGTH (NTH 0 LIS-LIS-PUN-INTER )) 1 )
					(SETQ NēPunIn1 (+ NēPunIn1 1 ))
					(SETQ NēPunIn2 (+ NēPunIn1 1 ))

					;      P4 o------------o P3       
					;         |    3DC     |          
					;  Lis1   |            |   Lis2   
					; KK1  P1 o------------o P2  KK2  

					(SETQ P1 (NTH NēPunIn1 (NTH NēLisIn1  LIS-LIS-PUN-INTER )))
					(SETQ P2 (NTH NēPunIn1 (NTH NēLisIn2  LIS-LIS-PUN-INTER )))
					(SETQ P3 (NTH NēPunIn2 (NTH NēLisIn2  LIS-LIS-PUN-INTER )))
					(SETQ P4 (NTH NēPunIn2 (NTH NēLisIn1  LIS-LIS-PUN-INTER )))

					(COND			        ; PUNTOS TAPAS 
						((= NēPunIn1                           0               ) (SETQ LIS-PUN-TAPA-BASE (CONS P1  LIS-PUN-TAPA-BASE )))
						((= NēPunIn2 (- (LENGTH (NTH 0 LIS-LIS-PUN-INTER )) 1 )) (SETQ LIS-PUN-TAPA-SUPE (CONS P3  LIS-PUN-TAPA-SUPE )))
					) ; con 

				(IF (= (REM (+ NēPunIn1 1 ) 5 ) 0 )
					(SETQ COLO 5 )
					(SETQ COLO (REM (+ NēPunIn1 1 ) 5 ))
				) ; if 

				(COMMAND "SCP" "3P" P1 P2 P4 )
					(SETQ P1p (TRANS P1 0 1 ))
					(SETQ P2p (TRANS P2 0 1 ))
					(SETQ P3p (TRANS P3 0 1 ))
					(SETQ P4p (TRANS P4 0 1 ))

				;	(COMMAND "COLOR" COLO  "3DCARA" P1p P2p P3p P4p "")   ; 3D 

					(IF (= (REM NēPunIn1 10 ) 1 ) (PROGN
						(SETQ P14p (CAL "PLT(P1p,P4p,0.5)"))					; PUNTO MEDIO P1 P2  ; plt(p1,p2,t)
						(SETQ P13p (CAL "PLT(P1p,P3p,0.5)"))
						(SETQ P23p (CAL "PLT(P2p,P3p,0.5)"))
						(COMMAND "COLOR" 7 )
					; 	(COMMAND "TEXTO" "MI" P14p ALT 0.0 NēIzq )    		; 3D 
					;	(COMMAND "TEXTO" "MC" P13p ALT 0.0 Ncara )    		; 3D 
					;	(COMMAND "TEXTO" "MD" P23p ALT 0.0 NēDer )    		; 3D 
					)) ; if 
				(COMMAND "SCP" "U" )

				(COMMAND "SCP" "3P" KK1 KK2 "" )
					(COMMAND "COLOR" COLO  "3DCARA" P1p P2p P3p P4p "")   ; 2D 

					(IF (= (REM NēPunIn1 10 ) 1 ) (PROGN
						(COMMAND "COLOR" 7 )
						(COMMAND "TEXTO" "MI" P14p ALT 0.0 NēIzq )    		; 2D 
						(COMMAND "TEXTO" "MC" P13p ALT 0.0 Ncara )    		; 2D 
						(COMMAND "TEXTO" "MD" P23p ALT 0.0 NēDer )    		; 2D 
					)) ; if 

					(SETQ KK1 (TRANS P4p 1 0 ))
					(SETQ KK2 (TRANS P3p 1 0 ))
				(COMMAND "SCP" "U" )

				) ; repe NēPunIn1 
			) ; repe NēLisIn1 

			(SETQ LIS-PUN-TAPA-BASE (REVERSE LIS-PUN-TAPA-BASE ))     	; (LENGTH LIS-PUN-TAPA-BASE)
			(SETQ LIS-PUN-TAPA-SUPE (REVERSE LIS-PUN-TAPA-SUPE ))     	; (LENGTH LIS-PUN-TAPA-SUPE)



			;      PINTA TAPA-BASE y TEXTO                      	                      	         


			(SETQ QQ1 (LIST  200  -100  0 ))
			(SETQ QQ2 (LIST  201  -100  0 ))
			(SETQ SS1 (LIST  300  -100  0 ))
			(SETQ SS2 (LIST  301  -100  0 ))

			(SETQ NēT1 0 )
			(REPEAT  (- NēPer 2 )
				(SETQ NēT1 (+ NēT1 1 ))
				(SETQ NēT2 (+ NēT1 1 ))

				(SETQ B0 (NTH  0    LIS-PUN-TAPA-BASE ))					; 3D  PUN-TAPA-BASE 
				(SETQ B1 (NTH NēT1  LIS-PUN-TAPA-BASE ))
				(SETQ B2 (NTH NēT2  LIS-PUN-TAPA-BASE ))

				(COMMAND "SCP" "3P" B0 B1 B2 )
					(SETQ B0p (TRANS B0 0 1 ))
					(SETQ B1p (TRANS B1 0 1 ))
					(SETQ B2p (TRANS B2 0 1 ))
					(COMMAND "COLOR" 2  "3DCARA" B0p B0p B1p B2p "")   	; 3D  3DC-TAPA-BASE 
				(COMMAND "SCP" "U" )


				(COND	  ;   TEXTO TAPAS                               
					((AND (= NēT1 1 ) (= NēT2 2 ))												; con1 INICIO 
						(SETQ Txt1 (STRCAT (ITOA    NēT1 )    "/" (ITOA (+ NēT1 1 ))))
						(SETQ Txt2 (STRCAT (ITOA (+ NēT1 1 )) "/" (ITOA (+ NēT2 1 ))))
						(COMMAND "SCP" "3P" B0 B1 B2 )
							(SETQ P0pp (TRANS B0 0 1 ))
							(SETQ P1pp (TRANS B1 0 1 ))
							(SETQ P2pp (TRANS B2 0 1 ))
							(SETQ P01pp (CAL "PLT( P0pp , P1pp , 0.5 )"))
							(COMMAND "TEXTO" "MC" P01pp ALTU 0.0 Txt1 )
						(COMMAND "SCP" "U" )
						(COMMAND "SCP" "3P" B1 B2 B0 )
							(SETQ P1pp (TRANS B1 0 1 ))
							(SETQ P2pp (TRANS B2 0 1 ))
							(SETQ P12pp (CAL "PLT( P1pp , P2pp , 0.5 )"))
							(COMMAND "TEXTO" "MC" P12pp ALTU 0.0 Txt2 )
						(COMMAND "SCP" "U" )
					) ; con1 INICIO 

					((AND (= NēT1 (- NēPer 2 )) (= NēT2 (- NēPer 1 )))					; con2 FINAL 
						(SETQ Txt1 (STRCAT (ITOA (+ NēT1 1 )) "/" (ITOA (+ NēT2 1 ))))
						(SETQ Txt2 (STRCAT (ITOA (+ NēT2 1 )) "/" (ITOA       1    )))
						(COMMAND "SCP" "3P" B1 B2 B0 )
							(SETQ P0pp (TRANS B0 0 1 ))
							(SETQ P1pp (TRANS B1 0 1 ))
							(SETQ P2pp (TRANS B2 0 1 ))
							(SETQ P12pp (CAL "PLT( P1pp , P2pp , 0.5 )"))
							(COMMAND "TEXTO" "MC" P12pp ALTU 0.0 Txt1 )
						(COMMAND "SCP" "U" )
						(COMMAND "SCP" "3P" B2 B0 B1 )
							(SETQ P0pp (TRANS B0 0 1 ))
							(SETQ P2pp (TRANS B2 0 1 ))
							(SETQ P20pp (CAL "PLT( P2pp , P0pp , 0.5 )"))
							(COMMAND "TEXTO" "MC" P20pp ALTU 0.0 Txt2 )
						(COMMAND "SCP" "U" )
					) ; con2 FINAL 

						( T 																				; con3 INTERMEDIOS 
							(SETQ Txt3 (STRCAT (ITOA (+ NēT1 1 )) "/" (ITOA (+ NēT2 1 ))))
							(COMMAND "SCP" "3P" B1 B2 B0 )
								(SETQ P1pp (TRANS B1 0 1 ))
								(SETQ P2pp (TRANS B2 0 1 ))
								(SETQ P12p3 (CAL "PLT( P1pp , P2pp , 0.5 )"))
								(COMMAND "TEXTO" "MC" P12p3 ALTU 0.0 Txt3 )
							(COMMAND "SCP" "U" )
						) ; con3 INTERMEDIOS 
					) ; con 



	;-----------------------------------------------------------------------------------------------------------------------------



				(COMMAND "SCP" "3P" QQ1 QQ2 "" )
					(COMMAND "COLOR" 2  "3DCARA" B0p B0p B1p B2p "")   	; 2D  3DC-TAPA-BASE 
					(SETQ QQ1 (TRANS B0p 1 0 ))
					(SETQ QQ2 (TRANS B2p 1 0 ))
				(COMMAND "SCP" "U" )

				;      PINTA TAPA-SUPERIOR                                                       

				(SETQ S0 (NTH    0     LIS-PUN-TAPA-SUPE ))
				(SETQ S1 (NTH NēT1  LIS-PUN-TAPA-SUPE ))
				(SETQ S2 (NTH NēT2  LIS-PUN-TAPA-SUPE ))

				(COMMAND "SCP" "3P" S0 S1 S2 )
					(SETQ S0p (TRANS S0 0 1 ))
					(SETQ S1p (TRANS S1 0 1 ))
					(SETQ S2p (TRANS S2 0 1 ))

					(COMMAND "COLOR" 2  "3DCARA" S0p S0p S1p S2p "")		; 3D  3DC-TAPA-SUPE 
				(COMMAND "SCP" "U" )



				(COMMAND "SCP" "3P" SS1 SS2 "" )
					(COMMAND "COLOR" 2  "3DCARA" S0p S0p S1p S2p "")		; 2D  3DC-TAPA-SUPE 

					(SETQ SS1 (TRANS S0p 1 0 ))
					(SETQ SS2 (TRANS S2p 1 0 ))
				(COMMAND "SCP" "U" )

			) ; repe

		) ; pro  
	) ;if SEGUIR

	;=========================================================================================================================================
	;	(16) PARANDO																																									
	(SETVAR "blipmode" 1) (SETVAR "cmdecho" 1)

	(TERPRI) (PROMPT " ============ FIN =============================================================")   (TERPRI)

) ;CIERRE DEFUN  PIN-3DC3d2d-INTERSECCION-PROYECCION-VARIOS-PERFILES 
