Muy interesante el capítulo 1, aprovecho en solicitar si tuviera un Lisp para borrar objetos fuera del contorno de una polilinea, saludos desde Bolivia
Excelente trabajo, Espero que me sirva para diseño estructural y dibujos rutinarios. Seguiré con atención lo que tengas y complementaré como pueda lo que necesite.
@@javiLapina Genial. Hoy estuve todo el día, Logré el primer paso de lo que quería. Con una linea dibujar un cuadro que represente una trabe, la mide, pero quiero que la nombre Tn y la siguiente que nombre, que sea Tn+1. Y aprovechar esos datos para sacar algunos esquemas rapidamente. Me dedico al diseño Estructural.
@@javiLapina hola profe, buena noche, quisiera saber si va a continuar con las clases, están increíbles, me preguntaba si usted da cursos de autolisp ya un poco más directos como estudiantes de manera virtual?
Hola buen video, he tratado de hacer este ejemplo pero no me resulta, al parecer en mi CAD no me reconoce la función m2p. Cómo debo hacerlo para activarla??, gracias.
un abrazo querido Javi he aprendido mucho con tus tutoReales estoy muy agradecido Soy Geomensor... ¿ No habra alguna forma de asimilar el Lisp de autaCAD con el antiguo, bien ponderado, y querido BASIC....???? sin saber nada de programacion yo aprendi en una noche.....me basto con aprender el listado de comandos y yap...un abrazo desde Chile....!!!!
Muchas gracias, lo siento mucho pero basic y lisp no son compatibles, pero si puedes "compatibilizar" y lo pongo entre comillado, con visual basic para autocad, te dejo un link para que le eches un ojo. knowledge.autodesk.com/es/support/autocad/downloads/caas/downloads/downloads/ESP/content/download-the-microsoft-visual-basic-for-applications-module-vba.html
Buenas, ¿Cómo puedo hacer un comando en el que haga una línea que pinche el primer punto y me pregunte por el ángulo no por la distancia? quiero decir que en vez de darle al tabulador para cambiar de orden que lo haga por defecto. ^C^C_line (primer punto y tabulador)
Puedes sacar el angulo de la linea que haces y luego sumar 90 o 100 grados para hacer perpendicular al eje que has echo, pero ojo con los angulos que en lisp los da en radianes...
@@javiLapina si efectivamente lo estoy trabajando en radianes con polar lo resolvi sacando el ang12 y sacando el ang23 (setq ang12 (angle pt1 pt2)) (setq ang2s (+ ang12(/ pi 2)));;al angulo de la linea del pt1 y el pt2 que (setq ang2i (- ang12(/ pi 2)));;es ang12 se le suma 90 ya que un angulo de ;;90 en radianes es (/ pi 2) esta fue la manera que encontre claro estoy trabajando en encontrar coordenadas y me gustaria que me apoyaras en como llamar un archivo de puntos penzd
buenas noches Javi, me encanta tu canal. Porfavor llevo tieno intentando programar un lisp para un bloque de un circulo autonumerado y que del circulo salga una linea o lecha hasta indicar la posicion del elemento en el plano.SERIA POSIBLE INDICARME COMO LO PUEDO HACER . te estaria super agradecio pues para mi es vital en este momento. gracias
Buenas gracias por su aporte javi lapina tengo una duda en autocad 2021 ya hay que instalar el visual code para que corra visualisp pero al momento en que corro el programa que hiciste no pasa al autocad ¿como puedo solucionar el problema? gracias de antemano por la respuesta
Gracias por compartir con nosotros Javier. Quería hacerte una consulta. En vez de que la linea quede entre los 2 puntos que defino, como puedo hacer que quede a una distancia desde de esos 2 puntos? Ejemplo, hago el primer punto pero la linea debe estar 10 unidades mas abajo de donde marque y a 20 unidades mas arriba de donde marco el segundo punto? No soy programador pero descubrí esto del auto lisp y busco dibujar armaduras de hormigón armado mas automático. Conocerás tutoriales por el estilo?
Hola... Para poner el inicio de la línea en otro sitio del marcado, debes de sumar la distancia que necesites a la coordenada X e Y... Te paso una página con documentación... Un saludo www.afralisp.net/autolisp/tutorials/the-basics-part-1.php
hola Javi, tengo dos problemas errores rarisimos en autocad 2018 y aunque puedo reinstalar me come la curiosidad y cabezoneria de lo que pueda haber pasado, podrias ayudarme?
Tienes algo de macros para autocad? Viendo tu video me pareció una macro como de Excel pero veo que autocad también tiene macros, si tienes algo sería bueno verlo Gracias y saludos
Hola... Es editable ..?? Me refiero a la extensión que tiene la rutina..??? Si es .lsp se podría revisar.... ya que no es una rutina compilada, si por el contrario es .vlx o .fas no se puede hacer al ser la rutina compilada
Hola, esto es lo que debes poner para que cumpla lo que me indicas: (command "_text" "_m2p" pto1 pto2 1.0 (grados rg) "20.0") 1.0 seria altura de texto "20.0" seria el texto a rotular
Si, si se puede, lo que tienes que hacer de las coordenadas del getpoint es sacar otras coordenadas sumando la distancia que necesites, puedes sumar a las coordenadas X,Y o mediante un ángulo
Es raro... Lo tienes enlazado AutoCAD.... Si no puedes utiliza un editor de texto el Vlisp de AutoCAD Con la variable lispsys indicas que programa quieres abrir el Vlisp o VSCode
Buenas profesor, excelente video, tengo una consulta. Al trazar la linea si se hace de derecha (pto1) a izquierda (pto2) el texto sale rotado, podría por favor ayudarme a ponerlo sin en esta rotación sin importar si comienzo de derecha a izquiera o de arriba para abajo. Si no es mucha molestia: Como hago para que la linea tenga un texto arriba y uno abajo. Y para que estos textos tengan un espacio de separación de la linea. Agradecería enormemente su ayuda! Saludos, Agradecería enormemente su ayuda!
Saludos estimado Ramón, referente al texto rotado cuando se traza de diferente forma del punto 1 al punto 2, yo resolví este problema planteando condicionales que comparen el ángulo formado entre el punto 1 y el punto 2 con la función angle posterior se debe convertir en grados
Excelente video! Me gustaría consultarte cómo puedo hacer que AutoCAD recuerde el último valor numérico insertado en la línea de comandos al usar GETREAL en visual Lisp. Por ejemplo, cuando insertamos la distancia en el comando Offset, para la siguiente ejecución del mismo comando, este recuerda el último valor por defecto, y solo basta con darle enter. Me sería de mucha ayuda Javi, de antemano muchas gracias!!
@@javiLapina Gracias por tu respuesta Javi, iba a que si existía alguna manera de lograr que en la barra de ingreso de comandos de AutoCAD se muestre, POR DEFECTO, al ejecutar el defun, el último valor insertado en una ejecución anterior del mismo defun. La idea es que en caso quiera insertar nuevamente un mismo dato de entrada del defun, solo pique enter, algo parecido al comando Offset (paralelo) del AutoCad. Vale mencionar que el valor ingresado es una variable, si fuera constante no la colocaría como valor de ingreso con el getreal. Espero puedas ayudarme Javi. Estaré atento a tu respuesta
No te entendí bien la primera vez..... mira este código a ver si te sirve (prompt " PON AQUI EL TEXTO QUE QUIEREAS ") (setq variable_2 (getstring)) El valor de la variable_1 saldrá entre < > luego mira la variable_2 si tiene algún valor, si no tiene valor sigues con la variable_1, y si tiene valor sigues con variable_2 ya me comentas si te funciona
@@javiLapina disculpa la molestia solo que recién hoy vi tus videos tutoriales de autolisp y pensé que no tenias videos de esto y muchísimas gracias te pasaste crack :)
Saludos, ¡Que bestia!; justo lo que estaba esperando. Muchas gracias por este apreciado proyecto de clases virtuales de Autolisp, y digo clases en plural porque, ¿creo que va a seguir con esta ruta?; gracias de antemano por su gentileza, abrazos.
Excelente video, apenas estoy aprendiendo autolisp y este video me a servido mucho para introducirme de a poco en el tema. Profesor, quisiera que por favor me oriente sobre como puedo solucionar mi problema y es que estoy realizando una rutina que cree vértices de un polígono con solo 2 puntos, ya he logrado que cree lo principal lo cual es una linea un circulo y un texto por vértice, sin embargo, no quiero que todas estas entidades queden sueltas en mi dibujo, entonces decidí agrupar cada linea, circulo y texto perteneciente a un vértice con el comando _GROUP, pero no lo he podido conseguir, pido porfavor me oriente sobre como puedo llegar al resultado, adjunto código lisp: (DEFUN C:VRTC () (SETQ P1 (GETPOINT "\Punto uno:")) (SETQ P2 (GETPOINT "\Punto dos:")) (SETQ H 1.8) (SETQ M 12) (SETQ MILINEA (COMMAND "_line" p1 p2 "")) (SETQ CIRCULO1 (COMMAND "_circle" p2 H)) (COMMAND "_TRIM" (SSGET "_L") "" P2 "") (SETQ MITEXTO (COMMAND "_TEXT" "J" "M" P2 H 0 M "")) (COMMAND "_GROUP" (SSGET MILINEA CIRCULO1 MITEXTO "")) ) MUCHAS GRACIAS POR LA ATENCION PRESTADA !!!!
Hola, amigo. Te dejo el lisp con algunos cambios rapidos. Lo primero no puedes poner un SETQ con con la acción de COMMAND Lo que hecho en su lugar es crear un grupo o conjunto de entidades "conjunto_seleccion" y voy añadiendo en "conjunto_seleccion" las que se van creando con el comando "ssadd" y por ultimo el comando group cambia un poco de como lo tenias...... Espero te sirva de ayuda (DEFUN C:VRTC () (SETQ P1 (GETPOINT " Punto uno:")) (SETQ P2 (GETPOINT " Punto dos:")) (SETQ H 1.8) (SETQ M 12) (COMMAND "_line" p1 p2 "") (setq conjunto_seleccion (ssget "_L")) (COMMAND "_circle" p2 H) (ssadd (ssname (ssget "_L") 0) conjunto_seleccion) (COMMAND "_TRIM" "_L" "" P2 "") (COMMAND "_TEXT" "_J" "_M" P2 H 0 M) (ssadd (ssname (ssget "_L") 0) conjunto_seleccion) (COMMAND "_-GROUP" "_C" "*" "" conjunto_seleccion "") )
@@javiLapinaHola instructor, muchas gracias, es exactamente lo que buscaba, con esta gran ayuda me abre las puertas a otras rutinas lisp que tengo en mente. Agradezco la atención prestada !!!!.
Hola Javi, cómo estás, por favor me puedes ayudar con un lisp para realizar una línea y un offset a 10cm a cada lado de la misma, es para hacerme un lisp para dibujar paredes, la línea central es para definir el eje de la pared y las que están a cada lado es para dibujar la pared propiamente dicha. yo he avanzado hasta aqui: (DEFUN C:PAREDES ()
(SETQ PUNTO1 (GETPOINT " INICIO DEL EJE DE LA PARED:")) (SETQ PUNTO2 (GETPOINT " FIN DEL EJE DE LA PARED:")) (command "_line" PUNTO1 PUNTO2 "") (command "_offset" ) ) Luego del comando offset no se como realizar para que automáticamente dibuje ambas líneas de la pared. Muchas gracias por tu colaboración, saludos desde Ecuador.
Autocad tiene un comando para dibujar lineas con sus paralelas. El comando es MLINE (multi linea) y puedes configurar cuantas paralelas y a que distancia se desea. Usa el comando MLSTYLE para configurar las paralela, incluso puedes indicar que tipo de linea va en cada paralela, color, escala, etc. Tambien puedes editar las multilineas con el comando MLEDIT.
Hola Javi, perdona me gustaría comentarte algo, he encontrado en internet un código que hecho por LEE-MAC, y esta bastante interesante porque encuentra el momento de inercia de una sección cualquiera sea su forma. Me gustaría saber si tu me pudieras ayudar en modificar un poco las líneas del código, porque lo que me gustaría que haga el código es que inserte como texto en la pantalla de dibujo de AutoCAD este dato que arroja (El cual es el momento de inercia de una sección), me podrías ayudar por favor? el código es este: (defun c:mprop ( / *error* cmd m o s ) (defun *error* ( msg ) (if cmd (setvar 'CMDECHO cmd)) (if (not (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")) (princ (strcat " Error: " msg))) (princ)) (setq cmd (getvar 'CMDECHO)) (setvar 'CMDECHO 0) (if (setq s (ssget "_+.:E:S" '((0 . "REGION,3DSOLID")))) (progn (setq o (vlax-ename->vla-object (ssname s 0))) (command "_.ucs" "_origin" (vlax-get o 'centroid)) (setq m (vlax-get o 'momentofinertia)) (command "_.ucs" "_p") (print (mapcar '(lambda ( x ) (/ x 1)) m))))
(setvar 'CMDECHO cmd) (princ) ) (vl-load-com) (princ) muchas gracias de antemano, un saludo,
Esta bueno el curso, sin embargo recomendaría que mientras conversa no este apretando una serie de rutinas que no tienen que ver con el curso, es bastante molesto.
A ver si esto se puede hacer en Visual Lisp Desde hace muchos años, tenemos creado un bloque con 2 atributos para poner en las habitaciones o estancias en un plano de distribución. El bloque lo hemos llamado, sin más, “habitación”. Como he dicho el bloque está formado por dos atributos uno encima del otro. El superior es el nombre de la estancia. Aquí sin problema. Este atributo se edita como cualquier otro, bien con las propiedades rápidas o con doble click entrando en el editor de atributos. El atributo inferior es el que usamos para la superficie útil y aquí es donde viene el problema que os planteo. Lo que hacemos es al clicar en la polilínea y cuando aparecen las propiedades rápidas del objeto, consultar el dato de la superficie y atención, A MANO , editar el segundo atributo del bloque recordando el dato de área. Esto está sujeto a fallos humanos de transcripción, a que se olvide o deje atrás alguno de los bloque sin editar (ya que se copian y se van editando uno a uno). La idea que planteo es crear una rutina LISP en Autocad para que edite el atributo de la superficie. Que inserte un campo, en este caso el área de la polilínea designada, (y ya para nota con el prefijo Su: y el sufijo m2 ) Sería algo así como: 1. Clicar en el bloque 2. Se abre la ventana de propiedades rápidas donde se pueden editar los atributos 3. Definir nombre de la estancia o habitación 4. Y al editar el atributo de la superficie diga algo así como designar polilínea. 5. Se inserte automáticamente el campo del área de la polilínea selecciona en el atributo. La gran ventaja es, que si cambia la polilínea, con un simple regen, se actualiza el dato de todas las superficies. Muchas gracias y espero haberme explicado
Javier como siempre excelente video, yo encontré algo así por casualidad y es para el diseño de vías, th-cam.com/video/I48BtQ7p1XQ/w-d-xo.html míralo si te queda un tiempo, y nos sacas de dudas si esto se puede hacer gracias.
Al fin un video que me enseña sobre los lips y su funcionamiento , muchas gracias
EXCELENTE MAGNIFICO FANTASTICO
Gracias
He utilizado AutoCad desde 1989 y nunca encontré una forma de aprender AutoLisp hasta ahora contigo
Muchas gracias, tengo que sacar tiempo y continuar con el curso
Excelenta Javi, estos videos son oro puro!!
Gracias
Excelente clase amigo. Muchas gracias por compartir los conocimientos.
No hay de que
Volviendo a empezar con el visual Lisp. Un pendiente
Ánimo con ello
MUCHAS GRACIAS ESTA EXCELENTE LA EXPLICACION..ME HA SERVIDO BASTANTE
Me alegro 👌
GRACIAS POR COMPARTIR TUS CONONCIMIENTOS, UN EXCELENTE APORTE. NAMASTE
Muchas gracias 👍
Le dí su merecido like y me suscribí, gracias!!! Me ayudó en mi tarea jsjs
me alegro que te sirva de ayuda
excelente desde hace un tiempo he querido aprender lisp y me ha gustado mucho como explicas, gracias por compartir tus conocimientos
Muchas gracias 👍
Gracias javi excelente vídeo, por favor sigue con mas vídeos gracias.
Muchas gracias.... Si seguiré haciendo más 😜
Un video muy pedagógico.
Gracias
Muy interesante el capítulo 1, aprovecho en solicitar si tuviera un Lisp para borrar objetos fuera del contorno de una polilinea, saludos desde Bolivia
Muchas gracias, creo que sí dime un correo y te lo envío 👍
Excelente trabajo,
Espero que me sirva para diseño estructural y dibujos rutinarios.
Seguiré con atención lo que tengas y complementaré como pueda lo que necesite.
Cuando me liberé de tiempo.... Seguiré con el curso
@@javiLapina Genial.
Hoy estuve todo el día,
Logré el primer paso de lo que quería.
Con una linea dibujar un cuadro que represente una trabe, la mide, pero quiero que la nombre Tn y la siguiente que nombre, que sea Tn+1. Y aprovechar esos datos para sacar algunos esquemas rapidamente.
Me dedico al diseño Estructural.
Para ir sumado a una variable la expresión es asi
(setq nombre_variable (+ nombre_varkiable 1))
Muy buen aporte !!
Gracias
❤ justo lo que buscaba 🎉🎉❤
gracias
Excelente inicio de tutorial, muchas gracias por compartir conocimiento.
Saludos desde cuernavaca Morelos, México
no hay de que
Muchas gracias, muy clara tu explicación.
Muchas gracias 👍
Bien!, Buena clase!
Gracias
Gracias, siguiendo y a la espera de tu excelente material!!!
Gracias 👌
Gracias ya quedó, muchas gracias.
Oki... Perfecto
Excelente video
Gracias
muy claro
muchas gracias por su tiempo y esfuerzo
lo seguire
saludos
Muchas gracias
Mil gracias y muchos éxitos siempre
Muchísimas gracias amigo
Buenos días, muchas gracias por los vídeos.
No hay de que 😜
Buenas son muy buenas sus tutoriales consulta como bajar los de coordenadas para que reconozca
En la descripción de los vídeos hay un link para descargar los lisp
EXCELENTE VIDEO, MUCHAS GRACIAS
Muchas gracias 👍
@@javiLapina hola profe, buena noche, quisiera saber si va a continuar con las clases, están increíbles, me preguntaba si usted da cursos de autolisp ya un poco más directos como estudiantes de manera virtual?
@@manuelfernandoespinosacast7717 si voy a seguir con el curso, en cuanto saque tiempo. No doy clases particulares .... No me dedico a ello, lo siento
Gracias Javi por la aclaración
No hay problema amigo 😜
EXCELENTE APORTE SE LE AGRADECE MUCHISIMO
Muchas gracias
Javi... enorme...muchas gracias
muchas gracias
Buen video mes gustaría aprender a programar en Visual Lisp
Gracias por compartir
No hay de que 👍
Muy útil gracias Javi
Gracias a ti!
Muchas gracias por las herramientas Javi!!!
Muy utiles todas
Gracias a ti!!
Buen vídeo ... Saludos desde México
gracias
buenos dias se podría crear una aplicación cad para hacer distribuciones de vivienda automáticamente de acuerdo a las dimensiones del terreno?
Hola, con tiempo todo es posible, pero veo demasiados condicionantes a la hora de hacer una distribución
Gracias...Muy interesante...Conoces el editor texto Notepad++?..nada que ver con bloc de notas, lo recomiendo.
No lo conozco...le echaré un ojo muchas gracias
Excelente explicación, saludos y gracias.
Gracias a ti
buen video si tuvieras mas tutoriales, podrias sugerirme libros
Gracias, tengo un grupo de Telegram donde subimos lísp y manuales
@autocad_tutoriales_lisp
esta muy interesante el vídeo y por favor puede seguir con los siguientes capítulos de programación
Muchas gracias.... Si no te preocupes este próximo fin de semana tendrás otro 😜
Como siempre un excelente vídeo y muy bien explicado. Muchas gracias.
Muchas gracias
@@javiLapina hol haces programación? Para crear autolisp?
Si, autolisp es un lenguaje de programación para AutoCAD
Gracias Javi, por fin lo acabe de ver. Saludos
No hay de que....amigo
Muy bueno!! Saludos desde alicante
Muchas gracias...👍
Buenas noches disculpa donde puede conseguir el curso completo?
Visto!!, muy bien explicado, muchas gracias.
Muchas gracias
congratulations!!
Gracias
Hola buen video, he tratado de hacer este ejemplo pero no me resulta, al parecer en mi CAD no me reconoce la función m2p. Cómo debo hacerlo para activarla??, gracias.
Que versión de AutoCAD tienes..??
Muy interesante!!
Gracias Javi!!👍
Saludos desde Almería
Muchas gracias 😜👍
un abrazo querido Javi he aprendido mucho con tus tutoReales estoy muy agradecido Soy Geomensor... ¿ No habra alguna forma de asimilar el Lisp de autaCAD con el antiguo, bien ponderado, y querido BASIC....???? sin saber nada de programacion yo aprendi en una noche.....me basto con aprender el listado de comandos y yap...un abrazo desde Chile....!!!!
Muchas gracias, lo siento mucho pero basic y lisp no son compatibles, pero si puedes "compatibilizar" y lo pongo entre comillado, con visual basic para autocad, te dejo un link para que le eches un ojo.
knowledge.autodesk.com/es/support/autocad/downloads/caas/downloads/downloads/ESP/content/download-the-microsoft-visual-basic-for-applications-module-vba.html
Buenas, ¿Cómo puedo hacer un comando en el que haga una línea que pinche el primer punto y me pregunte por el ángulo no por la distancia? quiero decir que en vez de darle al tabulador para cambiar de orden que lo haga por defecto. ^C^C_line (primer punto y tabulador)
Hola! Realizas autolisps a medida? Requiero algunas para automatizar unos trabajos repetitivos.
Saludos
No, lo siento no me dedico a ello
hola javi me gustaria saber como darle yo el angulo de entrada
como grado minutos y segundo ejem. 10d30'15" de antemano gracias
pero en el lisp o en pantalla en autocad....????
Puedes sacar el angulo de la linea que haces y luego sumar 90 o 100 grados para hacer perpendicular al eje que has echo, pero ojo con los angulos que en lisp los da en radianes...
@@javiLapina si efectivamente lo estoy trabajando en radianes con polar lo resolvi sacando el ang12 y sacando el ang23
(setq ang12 (angle pt1 pt2))
(setq ang2s (+ ang12(/ pi 2)));;al angulo de la linea del pt1 y el pt2 que
(setq ang2i (- ang12(/ pi 2)));;es ang12 se le suma 90 ya que un angulo de
;;90 en radianes es (/ pi 2)
esta fue la manera que encontre claro estoy trabajando en encontrar coordenadas y me gustaria que me apoyaras en como llamar un archivo de puntos penzd
y gracias un saludos desde chiapas,mexico
buenas noches Javi, me encanta tu canal. Porfavor llevo tieno intentando programar un lisp para un bloque de un circulo autonumerado y que del circulo salga una linea o lecha hasta indicar la posicion del elemento en el plano.SERIA POSIBLE INDICARME COMO LO PUEDO HACER . te estaria super agradecio pues para mi es vital en este momento. gracias
Hola... Que necesitas exactamente..??
Me puedes enviar un correo si quieres, con un ejemplo y vemos que se puede hacer.
javilapina@gmail.com
Más de programación
Si..si, en cuanto libere tiempo seguiré con el curso
excelente, muchas gracias
Muchas gracias
javi hola, soy nuevo en esto me gustaría ver si me puedes asesorar como crear un lisp para arear secciones topograficas en autocad.
Si estás empezando... Te sugiero metas más pequeñas. Si quieres hacer perfiles lo más fácil y rápido es usar civil 3d en vez de programar en lisp
hola Javi ,, como puedo hacer para que aparesca esa barra de los lips como a tu lo tienes configurado en tu autocad,,, GRACIAS
Mira este vídeo para ver cómo se puede configurar una paleta de herramientas, que es lo que tengo yo.
th-cam.com/video/r2SCWww4vXg/w-d-xo.html
@@javiLapina gracias amigo.. Bendiciones
Hola Profesor! Muchas gracias por este tutorial. He improvisado algunas líneas para separar el texto de la lineal, pero por alguna razón a veces funciona y a veces no. Podría echarle un ojo.
(defun c:linea_ap ()
(defun grados (rg)
(* (/ rg pi) 180.0)
)
(setq pto1 (getpoint "
Primer Punto"))
(setq pto2 (getpoint "
Segundo Punto"))
(setq dista (distance pto1 pto2))
(setq dista (rtos dista 2 2))
(setq diam (getreal "
Diametro del Tubo"))
(setq ced (if (> diam 1) "26" "17"))
(setq diam (rtos diam 4))
(setq dista (strcat "Ø" diam" PVC SDR-"ced", L="dista"m"))
(setq rg (angle pto1 pto2))
(setq pto3 (list (/ (+ (car pto1) (car pto2))2) (/ (+ (cadr pto1) (cadr pto2))2)))
(setq rgt (+ rg (* 0.5 pi)))
(setq sepa (list (+ (car pto3) (* (cos rgt) 0.1)) (+ (cadr pto3) (* (sin rgt) 0.1))))
(command "_text" "_C" sepa "" (grados rg) dista)
)
Lo miro en cuanto tengo un hueco 👍
@@javiLapina muchas gracias estimado!
Buenas Profesor!! si deseo crear un plano desde una determinada zona, por donde comienzo? Saludos
Hola, que es lo que necesitas hacer, un poco más en concreto...??
Buenas gracias por su aporte javi lapina tengo una duda
en autocad 2021 ya hay que instalar el visual code para que corra visualisp pero al momento en que corro el programa que hiciste no pasa al autocad ¿como puedo solucionar el problema? gracias de antemano por la respuesta
Puedes utilizar el tradicional, pero te lo miro
Gracias por compartir con nosotros Javier. Quería hacerte una consulta. En vez de que la linea quede entre los 2 puntos que defino, como puedo hacer que quede a una distancia desde de esos 2 puntos? Ejemplo, hago el primer punto pero la linea debe estar 10 unidades mas abajo de donde marque y a 20 unidades mas arriba de donde marco el segundo punto? No soy programador pero descubrí esto del auto lisp y busco dibujar armaduras de hormigón armado mas automático. Conocerás tutoriales por el estilo?
Hola... Para poner el inicio de la línea en otro sitio del marcado, debes de sumar la distancia que necesites a la coordenada X e Y...
Te paso una página con documentación... Un saludo
www.afralisp.net/autolisp/tutorials/the-basics-part-1.php
hola Javi, tengo dos problemas errores rarisimos en autocad 2018 y aunque puedo reinstalar me come la curiosidad y cabezoneria de lo que pueda haber pasado, podrias ayudarme?
Hola, ya he visto tu correo...
Te contesto 👍
Tienes algo de macros para autocad?
Viendo tu video me pareció una macro como de Excel pero veo que autocad también tiene macros, si tienes algo sería bueno verlo
Gracias y saludos
puedes modificar un lisp para que funcione en la versión español e ingles
Si...si se puede hacer, si está en abierto
@@javiLapina me lo puedes modificar te lo mando
Si...claro cuando tenga un hueco le echo un ojo....
javilapina@gmail.com
Excelente vídeo, muchas gracias, solo una pregunta, ¿que paso con el angulo?, no aparece en en la línea.
Muchas gracias, El ángulo no lo pongo solo el texto con la longitud, el ángulo es para girar el texto con el mismo ángulo que tiene la linea
@@javiLapina Hola Javi, muchas gracias, excelente video. Saludos. Gracias
@@IvanOrdonezGeotechnical gracias, un saludo
EXCELENTE JAVI , ME GUSTARIA HACER UN LISP DE CUADRO DE COORDENADAS UTM Y GEOGRAFICAS - ES PARA TOPOGRAFIA
Echa un ojo a este vídeo th-cam.com/video/-EEt-ou3eac/w-d-xo.html
SALUDOS, NECESITO EMIGRAR UNA RUTINA QUE FUE CREADA PARA FUNCIONAR EN AUTOCAD 2011 Y NECESITO EMIGRARLA A AUTOCAD 2018
Hola... Es editable ..?? Me refiero a la extensión que tiene la rutina..???
Si es .lsp se podría revisar.... ya que no es una rutina compilada, si por el contrario es .vlx o .fas no se puede hacer al ser la rutina compilada
hola buen curso cuando el 2 capitulo
Este fin de semana subo nuevo video
Una consulta porque no me aparece la linea guía para dibujar el segundo punto. solo aparece la guía cuando introduzco el siguiente punto
tienes que poner el primer punto en el getpoint
Excelente video amigo podrias compartir textos, no puedo ingresar al grupo de Telegram gracias por todo
Hola, el link de la rutina está en la descripción del vídeo...
Como hago que la altura sea 1 siempre y el texto de siempre 20.0 por ejemplo
Hola, esto es lo que debes poner para que cumpla lo que me indicas:
(command "_text" "_m2p" pto1 pto2 1.0 (grados rg) "20.0")
1.0 seria altura de texto
"20.0" seria el texto a rotular
@@javiLapina hola muchas gracias
Javi tengo una gran duda existencial...se puede hacer insertar un texto utilizando un getpoint + una distancia??
Si, si se puede, lo que tienes que hacer de las coordenadas del getpoint es sacar otras coordenadas sumando la distancia que necesites, puedes sumar a las coordenadas X,Y o mediante un ángulo
HOLA JAVI COMO PUEDO CARGAR LIPS AL TOOL PALETTES DE AUTOCAD
En este vídeo te lo explico
th-cam.com/video/r2SCWww4vXg/w-d-xo.html
Hola y si quiero hacer una doble linea separadas entre si a .10cm o .15 cm entonces repito el primer comando carrito dos veces?
Hay varias formas de poder hacerlo, pero para el que está empezando es mejor en vez de la orden _line puedes utilizar el comamdo linea multiple
Buenas tardes.
Donde puedo llevar un curso básico de formación certificada en AUTOLISP
Sinceramente no lo sé.... Y menos que sea certificada
Intento crear la linea pero me pide los dos puntos y no genera la linea solo dice nil y nada mas pero las cordenadas de los puntos si las guarda
Copia y pega el código en un comentario y vemos a ver qué le pasa...
Estimado buenas tardes como puedo obtener sus clases, de lprograma autolist
Lo siento solo subí 2 episodios
como instalo el visual lip?
Visual viene por defecto instalado en AutoCAD se utiliza el comando vlisp
En lo particular utilizando el Visual Estudio Code me da un error, como lo tengo que escribir?
Es raro... Lo tienes enlazado AutoCAD....
Si no puedes utiliza un editor de texto el Vlisp de AutoCAD
Con la variable lispsys indicas que programa quieres abrir el Vlisp o VSCode
Buenas profesor, excelente video, tengo una consulta. Al trazar la linea si se hace de derecha (pto1) a izquierda (pto2) el texto sale rotado, podría por favor ayudarme a ponerlo sin en esta rotación sin importar si comienzo de derecha a izquiera o de arriba para abajo.
Si no es mucha molestia:
Como hago para que la linea tenga un texto arriba y uno abajo.
Y para que estos textos tengan un espacio de separación de la linea.
Agradecería enormemente su ayuda!
Saludos,
Agradecería enormemente su ayuda!
Saludos estimado Ramón, referente al texto rotado cuando se traza de diferente forma del punto 1 al punto 2, yo resolví este problema planteando condicionales que comparen el ángulo formado entre el punto 1 y el punto 2 con la función angle posterior se debe convertir en grados
intenta con este codigo, yo lo desarrolle
(defun c:rottext ()
(while
(setq p1 (getpoint "
Presiona el primer punto: "))
(setq p2 (getpoint "
Presiona el segundo punto: "))
(setq ang (angle p1 p2))
(setq ang (/ (* ang 180) pi))
(cond
((and (>= ang 0) (< ang 90));1er cond
(command "_text" "J" "mc" "m2p" p1 p2 1 ang "prueba")
);fin 1er cond
((and (>= ang 90) ( ang 270) (< ang 360));3er cond
(command "_text" "J" "mc" "m2p" p1 p2 1 ang "prueba")
);fin 3er cond
)
);fin whlie
)
Genial
@@javiLapina gracias maestro solo un poco de lo que nos enseña
@@javiLapina aprovechando que tengo su atención en nombre de varios le hacemos una petición de algún espacio para interactuar con usted cómo patreon
Excelente video! Me gustaría consultarte cómo puedo hacer que AutoCAD recuerde el último valor numérico insertado en la línea de comandos al usar GETREAL en visual Lisp. Por ejemplo, cuando insertamos la distancia en el comando Offset, para la siguiente ejecución del mismo comando, este recuerda el último valor por defecto, y solo basta con darle enter. Me sería de mucha ayuda Javi, de antemano muchas gracias!!
Gracias, tienes que rescatar el valor de la variable de getreal, si vas utilizar esa variable más veces no la pongas en el defun de inicio.
@@javiLapina Gracias por tu respuesta Javi, iba a que si existía alguna manera de lograr que en la barra de ingreso de comandos de AutoCAD se muestre, POR DEFECTO, al ejecutar el defun, el último valor insertado en una ejecución anterior del mismo defun. La idea es que en caso quiera insertar nuevamente un mismo dato de entrada del defun, solo pique enter, algo parecido al comando Offset (paralelo) del AutoCad. Vale mencionar que el valor ingresado es una variable, si fuera constante no la colocaría como valor de ingreso con el getreal. Espero puedas ayudarme Javi. Estaré atento a tu respuesta
No te entendí bien la primera vez..... mira este código a ver si te sirve
(prompt "
PON AQUI EL TEXTO QUE QUIEREAS ")
(setq variable_2 (getstring))
El valor de la variable_1 saldrá entre < >
luego mira la variable_2 si tiene algún valor, si no tiene valor sigues con la variable_1, y si tiene valor sigues con variable_2
ya me comentas si te funciona
Muchas gracias Javi, eres una crack!!!
Muchas gracias
buenos dias profesor necesitaba ayuda para un programa como podria contactarme con usted
Hola, este es mi correo javilapina@gmail.com
Alguno me puede ayudar, necesito cambiar la información del cajetin de varios archivos. Saben como hacerlo automatizado?
Hola, si el plano tiene varias presentación y los datos son bloques con atributos puedes utilizar los comandos del las express tools:
attout y attin
Excelente video, podrías realizar tutoriales o videos de como realizar o crear nuestra propia panel y/o paleta para autocad :)
Aquí tienes un vídeo donde indico como crear una paleta de herramientas th-cam.com/video/r2SCWww4vXg/w-d-xo.html
@@javiLapina disculpa la molestia solo que recién hoy vi tus videos tutoriales de autolisp y pensé que no tenias videos de esto y muchísimas gracias te pasaste crack :)
No hay problema 👍
Saludos, ¡Que bestia!; justo lo que estaba esperando. Muchas gracias por este apreciado proyecto de clases virtuales de Autolisp, y digo clases en plural porque, ¿creo que va a seguir con esta ruta?; gracias de antemano por su gentileza, abrazos.
Muchas gracias.... Si seguiré con el curso de Visual Lisp
DISCULPE NO TENDRA UN CURSO DE PROGRAMACION EN C# Y ENLAZARLO CON AUTOCAD. PROGRAMACION ORIENTADA A OBJETOS
No lo siento...
Gracias Javi! Sos un groso. Existen libros acerca de Visual Lisp?
Si, en el canal de telgram tengo algunos compartidos
t.me/autocad_tut
Excelente video, apenas estoy aprendiendo autolisp y este video me a servido mucho para introducirme de a poco en el tema.
Profesor, quisiera que por favor me oriente sobre como puedo solucionar mi problema y es que estoy realizando una rutina que cree vértices de un polígono con solo 2 puntos, ya he logrado que cree lo principal lo cual es una linea un circulo y un texto por vértice, sin embargo, no quiero que todas estas entidades queden sueltas en mi dibujo, entonces decidí agrupar cada linea, circulo y texto perteneciente a un vértice con el comando _GROUP, pero no lo he podido conseguir, pido porfavor me oriente sobre como puedo llegar al resultado, adjunto código lisp:
(DEFUN C:VRTC ()
(SETQ P1 (GETPOINT "\Punto uno:"))
(SETQ P2 (GETPOINT "\Punto dos:"))
(SETQ H 1.8)
(SETQ M 12)
(SETQ MILINEA (COMMAND "_line" p1 p2 ""))
(SETQ CIRCULO1 (COMMAND "_circle" p2 H))
(COMMAND "_TRIM" (SSGET "_L") "" P2 "")
(SETQ MITEXTO (COMMAND "_TEXT" "J" "M" P2 H 0 M ""))
(COMMAND "_GROUP" (SSGET MILINEA CIRCULO1 MITEXTO ""))
)
MUCHAS GRACIAS POR LA ATENCION PRESTADA !!!!
Hola, amigo. Te dejo el lisp con algunos cambios rapidos.
Lo primero no puedes poner un SETQ con con la acción de COMMAND
Lo que hecho en su lugar es crear un grupo o conjunto de entidades "conjunto_seleccion"
y voy añadiendo en "conjunto_seleccion" las que se van creando con el comando "ssadd"
y por ultimo el comando group cambia un poco de como lo tenias......
Espero te sirva de ayuda
(DEFUN C:VRTC ()
(SETQ P1 (GETPOINT "
Punto uno:"))
(SETQ P2 (GETPOINT "
Punto dos:"))
(SETQ H 1.8)
(SETQ M 12)
(COMMAND "_line" p1 p2 "")
(setq conjunto_seleccion (ssget "_L"))
(COMMAND "_circle" p2 H)
(ssadd (ssname (ssget "_L") 0) conjunto_seleccion)
(COMMAND "_TRIM" "_L" "" P2 "")
(COMMAND "_TEXT" "_J" "_M" P2 H 0 M)
(ssadd (ssname (ssget "_L") 0) conjunto_seleccion)
(COMMAND "_-GROUP" "_C" "*" "" conjunto_seleccion "")
)
@@javiLapinaHola instructor, muchas gracias, es exactamente lo que buscaba, con esta gran ayuda me abre las puertas a otras rutinas lisp que tengo en mente.
Agradezco la atención prestada !!!!.
@@manuelfernandoespinosacast7717 no hay de que 👍
Please use the english autocad version. Thank you.
no, but the lisp programs always put the commands in English with underscore so that they work in any language. Thank you
Hola Javi, cómo estás, por favor me puedes ayudar con un lisp para realizar una línea y un offset a 10cm a cada lado de la misma, es para hacerme un lisp para dibujar paredes, la línea central es para definir el eje de la pared y las que están a cada lado es para dibujar la pared propiamente dicha. yo he avanzado hasta aqui:
(DEFUN C:PAREDES ()
(SETQ PUNTO1 (GETPOINT "
INICIO DEL EJE DE LA PARED:"))
(SETQ PUNTO2 (GETPOINT "
FIN DEL EJE DE LA PARED:"))
(command "_line" PUNTO1 PUNTO2 "")
(command "_offset" )
)
Luego del comando offset no se como realizar para que automáticamente dibuje ambas líneas de la pared.
Muchas gracias por tu colaboración, saludos desde Ecuador.
Autocad tiene un comando para dibujar lineas con sus paralelas. El comando es MLINE (multi linea) y puedes configurar cuantas paralelas y a que distancia se desea. Usa el comando MLSTYLE para configurar las paralela, incluso puedes indicar que tipo de linea va en cada paralela, color, escala, etc. Tambien puedes editar las multilineas con el comando MLEDIT.
Hola Javi, perdona me gustaría comentarte algo, he encontrado en internet un código que hecho por LEE-MAC, y esta bastante interesante porque encuentra el momento de inercia de una sección cualquiera sea su forma. Me gustaría saber si tu me pudieras ayudar en modificar un poco las líneas del código, porque lo que me gustaría que haga el código es que inserte como texto en la pantalla de dibujo de AutoCAD este dato que arroja (El cual es el momento de inercia de una sección), me podrías ayudar por favor?
el código es este:
(defun c:mprop ( / *error* cmd m o s )
(defun *error* ( msg )
(if cmd (setvar 'CMDECHO cmd))
(if (not (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*"))
(princ (strcat "
Error: " msg)))
(princ))
(setq cmd (getvar 'CMDECHO))
(setvar 'CMDECHO 0)
(if (setq s (ssget "_+.:E:S" '((0 . "REGION,3DSOLID"))))
(progn
(setq o (vlax-ename->vla-object (ssname s 0)))
(command "_.ucs" "_origin" (vlax-get o 'centroid))
(setq m (vlax-get o 'momentofinertia))
(command "_.ucs" "_p")
(print (mapcar '(lambda ( x ) (/ x 1)) m))))
(setvar 'CMDECHO cmd)
(princ)
)
(vl-load-com) (princ)
muchas gracias de antemano, un saludo,
Si, claro. En cuanto tenga un hueco le echo un ojo
@@javiLapina gracias de antemano!
Buenas te paso el lisp modificado, espero que te sirva lo hice en plan rapido.
(defun c:mprop ( / error cmd m o s )
(defun error ( msg )
(if cmd (setvar 'CMDECHO cmd))
(if (not (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*"))
(princ (strcat "
Error: " msg)))
(princ))
(setq cmd (getvar 'CMDECHO))
(setvar 'CMDECHO 0)
(if (setq s (ssget "_+.:E:S" '((0 . "REGION,3DSOLID"))))
(progn
(setq o (vlax-ename->vla-object (ssname s 0)))
(command "_.ucs" "_origin" (vlax-get o 'centroid))
(setq m (vlax-get o 'momentofinertia))
(command "_.ucs" "_p")
(setq inercia (mapcar '(lambda ( x ) (/ x 1)) m))))
(setq pt0 (getpoint "\NPunto en pantalla para rotular texto : "))
(setq X (rtos (car inercia)))
(setq Y (rtos (cadr inercia)))
(command "_text" pt0 "" "" (strcat x "," y))
(princ inercia)
(setvar 'CMDECHO cmd)
(princ)
)
(vl-load-com) (princ)
@@javiLapina muchas gracias por tu gran ayuda amigo. Genial ha quedado perfecto! Un saludo y felices fiestas.
No hay de que 👍
Feliz navidad y próspero año nuevo
Esse video é sobre autolisp tradicional e não visual lisp. De visual lisp vc só usou o editor do visual lisp
i'm sorry
Muy bueno graciast
No hay de que
Esta bueno el curso, sin embargo recomendaría que mientras conversa no este apretando una serie de rutinas que no tienen que ver con el curso, es bastante molesto.
Si..si para la próxima 👍
A ver si esto se puede hacer en Visual Lisp
Desde hace muchos años, tenemos creado un bloque con 2 atributos para poner en las habitaciones o estancias en un plano de distribución. El bloque lo hemos llamado, sin más, “habitación”.
Como he dicho el bloque está formado por dos atributos uno encima del otro. El superior es el nombre de la estancia. Aquí sin problema. Este atributo se edita como cualquier otro, bien con las propiedades rápidas o con doble click entrando en el editor de atributos.
El atributo inferior es el que usamos para la superficie útil y aquí es donde viene el problema que os planteo.
Lo que hacemos es al clicar en la polilínea y cuando aparecen las propiedades rápidas del objeto, consultar el dato de la superficie y atención, A MANO , editar el segundo atributo del bloque recordando el dato de área. Esto está sujeto a fallos humanos de transcripción, a que se olvide o deje atrás alguno de los bloque sin editar (ya que se copian y se van editando uno a uno).
La idea que planteo es crear una rutina LISP en Autocad para que edite el atributo de la superficie. Que inserte un campo, en este caso el área de la polilínea designada, (y ya para nota con el prefijo Su: y el sufijo m2 )
Sería algo así como:
1. Clicar en el bloque
2. Se abre la ventana de propiedades rápidas donde se pueden editar los atributos
3. Definir nombre de la estancia o habitación
4. Y al editar el atributo de la superficie diga algo así como designar polilínea.
5. Se inserte automáticamente el campo del área de la polilínea selecciona en el atributo.
La gran ventaja es, que si cambia la polilínea, con un simple regen, se actualiza el dato de todas las superficies.
Muchas gracias y espero haberme explicado
Hola, estoy unos días de vacaciones, a la vuelta le echo un ojo, y vemos qué podemos hacer.
@@javiLapina Muchas gracias de verdad, sería la leche poderlo hacer
Manuel por aqui, Excelente gracias, funcionaria en CAD 2019? saludos desde Chile
Disculpa que te responda yo, pero si, te vale hasta para autocad 14 el que existia alla por el año 2000, o sea hace 20 años.
No hay problema, para eso estamos en ayudarnos unos a otros 😜👍
Un vídeo sin video
Le tienes que dar al Play..... 😬
0 24:40
??
@@javiLapina si
Vale
Javier como siempre excelente video, yo encontré algo así por casualidad y es para el diseño de vías, th-cam.com/video/I48BtQ7p1XQ/w-d-xo.html míralo si te queda un tiempo, y nos sacas de dudas si esto se puede hacer gracias.
Gracias, echaré un ojo y te cometo 👍
Amigo, no entiendo porque hablas y hablas y abres y abres ventanas mareando con el apuntador.
Pues debes de ser de los pocos que no lo entienden un abrazo