


;-----------------------------------------------------------------------------------------------------------------------------------------------------
;																									
;	( RADIO-C37 )																						
;																									
;-----------------------------------------------------------------------------------------------------------------------------------------------------
;																									
;	DETERMINA EJES PERPENDICULAR AL (PLANO-OSCULADOR) DE 3PUNTOS EL DEL MEDIO												
;																									
;	DEL TRIO DE PUNTOS ( A1Y A2C A3X ) DE PUNTOS EN QUE SE DIVIDE UNA CURVA CONTICUA-NO-PLANA (CON CURVATURA EN EL NISMO SENTIDO ?)			
;																									
;	CON EL ALGURIZMO IGUAL QUE ( COLOCA-SEC-01.lsp )																
;																									
;	CALCULA RADIO PERPENDICULAR TAG. (ANGULO MEDIO PLANO OSCULADOR)   PINTA 3DCARA ENTRE RADIOS CONSECUTIVOS							
;																									
;-----------------------------------------------------------------------------------------------------------------------------------------------------


;	SELECCION SECCION "X"  PUNTEANDOLA A Nē DIVISIONES (Nēdivi) => (LISTA-PX)													

(DEFUN PUNTOS-X (/ )
	(SETQ NA00 (NTH 0 SA00))										; Nombre Spline A 
	(SETQ AELES (MEMBER (ASSOC 10 (ENTGET NA00)) (ENTGET NA00)))				; Lista a partir del elemento (incluido)
	(SETQ A-primer (CDR (NTH 0 AELES)))									; Primer elemento
	(SETQ A-ultimo (CDR (NTH (- (LENGTH AELES) 1) AELES)))					; Ultimo elemento
	(COMMAND "-color" 1)											; ROJO
	(COMMAND "PUNTO" A-primer)
	(SETQ NPA0 (ENTLAST))					 						; Nombre ultima entidad principal 1ē punto
	(COMMAND "-color" 8)											; GRIS-8
	(COMMAND "DIVIDE" NA00 Nēdivi) 				 					; DIVIDE CON PUNTOS SPLINE
	(COMMAND "-color" 5) 					 						; AZUL
	(COMMAND "PUNTO" A-ultimo)

	;	PUNTOS SECCION X (PX1-PXn) =>  LISTA-PX  												
	(SETQ NPA1 nil)
	(SETQ LISTA-PX nil)
	(SETQ LISTA-PX (LIST (CDR (ASSOC 10 (ENTGET NPA0))))) 	 				;LISTA-PX => 1ē punto
	(SETQ WH-1 T)
	(WHILE WH-1
		(SETQ NPA1 (ENTNEXT NPA0))			 						;nombre entidad siguiente
		(IF (= NPA1 nil)
			(SETQ WH-1 nil)
			(PROGN
				(SETQ LISTA-PX (CONS (CDR (ASSOC 10 (ENTGET NPA1))) LISTA-PX))	;=> resto Puntos
				(SETQ NPA0 NPA1)
			) ;progn
		) ;if
	) ;While WH-1

	(SETQ LISTA-PX (REVERSE LISTA-PX))

) ;cierre DEFUN PUNTOS-X
;																									


;-----------------------------------------------------------------------------------------------------------------------------------------------------
;																									
;       *** PROGRAMA *** PROGRAMA *** PROGRAMA *** PROGRAMA *** PROGRAMA*** PROGRAMA*** 											
;																									
;-----------------------------------------------------------------------------------------------------------------------------------------------------
;	ENTRADAS: 
;	SALIDAS : 
;	INTERNAS: 

(DEFUN C:RADIO-C37 (/  )
	(SETVAR "blipmode" 0) (SETVAR "cmdecho" 0) (GRAPHSCR) (COMMAND "-REFENT" "DES"     "SCP" "U"    "ORTO" "DES")
  
;-----------------------------------------------------------------------------------------------------------------------------------------------------
;	FIJA PARAMETROS																						
;-----------------------------------------------------------------------------------------------------------------------------------------------------


	(SETQ Nēdivi 100)									; Nē de DIVISIONES de DIVIDIR

	(SETQ RADIO 10)									; SEMI-ANCHO CAMINO 11.336


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


;	LISTA PUNTOS SPLINE	(LISTA-PX)																	(LISTA-PX)		

	(SETQ SA00 (ENTSEL " ------------------------- SELECCIONE SPLINE  ")) (TERPRI)

	(PUNTOS-X)										; => (LISTA-PX)

;	ALGORIDMOS	( COLOCA-SEC-01.lsp )																			
  
	(SETQ N1 -1)
	(SETQ  K  1)
	(SETQ P0 (LIST 0 0 0))

	(REPEAT (- Nēdivi 2)

		(SETQ N1 (+ N1 1))

		(SETQ A1 (NTH (+ N1 0) LISTA-PX)) 									; Punto P1A-Y
		(SETQ A2 (NTH (+ N1 1) LISTA-PX)) 									; Punto P2A-Origen
		(SETQ A3 (NTH (+ N1 2) LISTA-PX)) 									; Punto P3A-X

		(SETQ B1 (NTH (+ N1 1) LISTA-PX)) 									; Punto P1B-Y
		(SETQ B2 (NTH (+ N1 2) LISTA-PX)) 									; Punto P2B-Origen
		(SETQ B3 (NTH (+ N1 3) LISTA-PX)) 									; Punto P3B-X


		(COMMAND "SCP" "3P" A2 A3 A1) 									; SCP=AA  (PLANO-OSCULADOR)

 			(SETQ A2x  (TRANS (LIST 0 0 K) 1 0))							; Punto-EJE-(Z) PLANO OSCULADOR (A)

 			(SETQ A2a  (TRANS A2 0 1))
 			(SETQ A1a  (TRANS A1 0 1))
			(SETQ AgA (+ PI (/ (ANGLE A2a A1a) 2)))

 			(SETQ A2y (TRANS (LIST (* K (COS AgA)) (* K (SIN AgA)) 0) 1 0))

		(COMMAND "SCP" "U")

		(COMMAND "SCP" "3P" A2 A2x A2y) 									; SCP=BA  (PLANO-SECCION)

			(SETQ XA+ (TRANS (LIST (+ RADIO) 0 0) 1 0))
			(SETQ XA- (TRANS (LIST (- RADIO) 0 0) 1 0))

			(SETQ YA0 (TRANS (LIST 0      0      0) 1 0))
			(SETQ YA1 (TRANS (LIST 0 (/ RADIO 2) 0) 1 0))

		(COMMAND "SCP" "U")



		(COMMAND "SCP" "3P" B2 B3 B1) 									; SCP=AB  (PLANO-OSCULADOR)

 			(SETQ B2x  (TRANS (LIST 0 0 K) 1 0))							; Punto-EJE-(Z) PLANO OSCULADOR (B)

 			(SETQ B2a  (TRANS B2 0 1))
 			(SETQ B1a  (TRANS B1 0 1))
			(SETQ AgB (+ PI (/ (ANGLE B2a B1a) 2)))

 			(SETQ B2y (TRANS (LIST (* K (COS AgB)) (* K (SIN AgB)) 0) 1 0))

		(COMMAND "SCP" "U")

		(COMMAND "SCP" "3P" B2 B2x B2y) 									; SCP=BB  (PLANO-SECCION)

			(SETQ XB+ (TRANS (LIST (+ RADIO) 0 0) 1 0))
			(SETQ XB- (TRANS (LIST (- RADIO) 0 0) 1 0))

			(SETQ YB0 (TRANS (LIST 0      0      0) 1 0))
			(SETQ YB1 (TRANS (LIST 0 (/ RADIO 2) 0) 1 0))

		(COMMAND "SCP" "U")


			(COMMAND "COLOR" 3  "3DCARA" YA0 YA1  YB1 YB0  "")					; ELICE
			(COMMAND "COLOR" 2  "3DCARA" XA+ XA-  XB- XB+  "")					; ELICE


	) ; cierre Repeat


;	PARANDO																							
	(SETVAR "blipmode" 1) (SETVAR "cmdecho" 1)
) ;cierre DEFUN RADIO-C37 
;																									