Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
es:rhino:basicmacros [2023/10/27]
noemi
es:rhino:basicmacros [2026/05/18] (current)
noemi [Herramientas necesarias]
Line 1: Line 1:
-======Creating Macros======+======Creación de macros======
  
->A basic tutorial on creating macros (scripting together Rhino commands)+>Tutorial básico sobre cómo crear macros (scrips de comandos de Rhino)
  
-You can create **macros** in Rhino to automate many taskscustomize your commands, and improve your workflow.+Puede crear **macros** en Rhino para automatizar muchas tareaspersonalizar los comandos y mejorar su flujo de trabajo.
  
-There may be some confusion about the use of the term “scripting”.  It has been used to describe both the process of writing macros - what this section is about as well as writing more sophisticated scripts in either [[developer:rhinoscript|RhinoScript]], [[https://developer.rhino3d.com/guides/rhinopython/|Python]], or other programming languages.  +Puede haber cierta confusión sobre el uso del término "scripting”.  Se ha utilizado para describir tanto el proceso de escribir macros -de lo que trata esta seccióncomo para escribir scripts más sofisticados en [[https://developer.rhino3d.com/guides/rhinoscript/|RhinoScript]], [[https://developer.rhino3d.com/guides/rhinopython/|Python]] u otros lenguajes de programación.  
  
-//The two things are actually very different.// Writing functions in RhinoScript, Python or other programming languages is a lot more complex than creating macros, and requires some programming knowledge and skills.  //We don't cover that here.//+//En realidad, las dos cosas son muy diferentes.// Escribir funciones en RhinoScript, Python u otros lenguajes de programación es mucho más complejo que crear macros, y requiere ciertos conocimientos y habilidades de programación.  //No trataremos esta parte aquí.//
  
-I use the term “Macro” here exclusively to describe the putting together of strings of ordinary Rhino commands and their options to create an automated function.  This is scripting on its simplest of levelsand is easily accessible to the average Rhino usereven if they have no knowledge of programming.  All you need is a reasonable understanding of Rhino commands and their structureas well as a logical mind and a taste for a little experimentation and debugging.+Utilizaremos el término "Macro" aquí exclusivamente para describir la unión de cadenas de comandos de Rhino y sus opciones para crear una función automatizada.  Se trata de scripting en su nivel más simpley es fácilmente accesible para el usuario medio de Rhino, incluso si no tiene conocimientos de programación.  Lo que necesita es comprender los comandos de Rhino y su estructuraasí como una mente lógica y tener ganas de experimentar y depurar.
  
  
-=====The tools you need===== +=====Herramientas necesarias===== 
-  * Your brain :-P +  * Su cerebro :-P 
-  * The **Rhino Help file** -  lists all Rhino commands and their sub-optionsThis is your most important reference.  Pressing F1 (Windows) or the :?: toolbar button (Mac) will get you to the online help+  * El archivo **Ayuda de Rhino**: lista todos los comandos de Rhino y sus subopcionesEsta es la referencia más importante.  Si pulsa F1 (Windows) o la tecla :?: botón de la barra de herramientas (Mac), se abrirá la Ayuda en línea
-  * The Rhino **MacroEditor**, a built-in interface for creating and testing your macros. +  * El **EditorDeMacros** de Rhinouna interfaz integrada para crear y probar macros. 
-  * An understanding of how to add your macros to your workflow in the form of aliases or toolbar buttons (explained [[developer:macroscriptsetup|here]]) +  * Saber cómo añadir macros a su flujo de trabajo en forma de alias o botones de la barra de herramientas (se explica [[https://developer.rhino3d.com/guides/general/creating-command-macros/|aquí]]) 
-=====You've already used a macro or two...===== +=====Ya ha utilizado una o dos macros...===== 
-Firstif you are a user of Rhino, you are already a macro user even though you may not know it.  Many of the commands in Rhino are already “macroed” for youWhen you click toolbar button or call a command from the menuit is often a preset macro.  For examplethe toolbar button **Extrude Closed Planar Curve** from the "Solidtoolbar has the following macro: +En primer lugarsi es usuario de Rhino, ya es usuario de macros aunque no lo sepa.  Muchos de los comandos de Rhino ya están "macroprogramados" para ustedCuando hace clic en un botón de la barra de herramientas o llama un comando del menúsuele tratarse de una macro predefinida.  Por ejemploel botón **Extruir curva plana cerrada** de la barra de herramientas "Sólidotiene la siguiente macro: 
-//(shown: V6 for Windows)//+//(se muestra V6 para Windows)//
  
 {{:rhino:extrudestraightv6solid.png?400|}} {{:rhino:extrudestraightv6solid.png?400|}}
  
-It just calls the **ExtrudeCrv** command and sets it to make a closed solid.  We will see what the "Pausepart does later.+Simplemente llama al comando **ExtruirCrv** y lo configura para hacer un sólido cerrado.  Veremos lo que hace la parte "Pausamás adelante.
  
-This is an example of the simplest kind of macro, which just sets a series of options within a single command so that you don’t have to specify them time you use it. **ExtrudeCrv** has several buttons with preset options, **TaperedAlongCurveToPointSolid=Yes** (or No) etc.  Check out the macros under all the **ExtrudeCrv** buttons to see how they are laid out.+Este es un ejemplo del tipo más simple de macro, que establece una serie de opciones dentro de un único comando para que no tenga que especificarlas cada vez que lo utilice. **ExtruirCrv** tiene varios botones con opciones preestablecidas, **AhusadaPorCurvaHaciaUnPuntoSólido=** (No)etc.  Eche un vistazo a las macros de todos los botones de **ExtruirCrv** para ver cómo están dispuestas.
  
-In a senseyou’re doing the same thing as if you clicked or typed the options one at a time at the command line.  In factthat’s all macros really are -- just a set of instructions to repeat a sequence of commands that you would otherwise input manually one at a time.+En cierto sentidoestá haciendo lo mismo que si pulsara o tecleara las opciones de una en una en la línea de comandos.  De hecholas macros son esto: un conjunto de instrucciones para repetir una secuencia de comandos que, de otro modo, introduciría manualmente de uno en uno.
  
-This scripting of options for a single command can also be combined with data entry (i.e. coordinates or other numerical data). It is also possible to string together several commands in a rowfor an automated sequence of events to manipulate or create objects.+Esta programación de opciones para un único comando también puede combinarse con la introducción de datos (es decir, coordenadas u otros datos numéricos). También es posible encadenar varios comandos seguidospara una secuencia automatizada de eventos de manipulación o creación de objetos.
  
-> **Note:** //Why the _Underscores?  These tell Rhino that the command which follows is in English (no matter what the language you are running Rhino in), which will make your macro universal.  If you are running in English and don’t careyou can eliminate the underscores in your macros if you wishIt will not affect anything else.  Also, why the exclamation point (!)?  This cancels any previous command that might be runningfor safety's sake.//+> **Nota:** //¿Por qué el uso del guión bajo _?  El guión bajo Indica a Rhino que el comando que sigue está en inglés (independientemente del idioma en el que esté ejecutando Rhino) para que su macro sea universal.  Si está utilizando Rhino en inglés y no le importapuede eliminar los guiones bajos de sus macros si lo deseaNo afectará a nada.  ¿Por qué también el signo de exclamación (!)?  El sigo de exclamación cancela cualquier comando anterior que pudiera estar ejecutándosepor seguridad.//
  
-======Getting started======+======Para empezar======
  
-Say you have to place a series of 10x10x10 boxes with the center of the bottom face landing at the desired pointwith that point to be specified by either by a mouse click at the desired location or by entering the coordinates by the keyboard.+Digamos que tiene que colocar una serie de cajas de 10x10x10 con el centro de la cara inferior sobre un punto deseadoy con ese punto que tiene que especificarse ya sea mediante un clic del ratón en la ubicación deseada o introduciendo las coordenadas con el teclado.
  
-You could use the standard Box (**Corner to Corner Height**) commandbut by default this will place the insertion point at the first corner of the box.  To have the insertion point where we wantit is easier to use the BoxCenter command.   This is in reality just the Box command with the center optionso you will have to activate it in your macro.+Podría utilizar el comando estándar Caja (**Esquina a Esquina Altura**), pero por defecto se colocará el punto de inserción en la primera esquina de la caja.  Para tener el punto de inserción donde queremoses más fácil utilizar el comando CajaCentro.   Se trata del comando Caja con la opción Centropor lo que tendrá que activarlo en su macro.
  
-Open the **MacroEditor** and  type this in:+Abra el **EditorDeMacros** y escriba esto:
  
   ! _Box _Center    ! _Box _Center 
-//(This is actually the macro under the BoxCenter button if you check.)//\\  +//(Esto es la macro del comando Cajabotón Centro, si lo comprueba.)//\\  
-All entries (command words and numerical inputsneed to be separated by a single space.+Todas las entradas (palabras de comandos y entradas numéricasdeben ir separadas por un espacio.
  
-Now, we need to specify the center point.  To do thisyou need to tell Rhino to stop processing the command temporarily and wait for an input in the form of a click or a keyboard entry.  Do this by inserting the command Pause.+Ahora tenemos que indicar el punto central.  Para hacerlodebe indicar a Rhino que deje de procesar el comando temporalmente y espere una entrada en forma de clic o entrada de teclado.  Para ello, introduzca el comando Pausa.
  
   ! _Box _Center _Pause   ! _Box _Center _Pause
      
-Once the data has been enteredyou can specify the box size directly in the command.  Since the Center option in Box wants a corner of the box as a second inputyou can specify its X,Y coordinates:+Una vez introducidos los datospuede especificar el tamaño de la caja directamente en el comando.  Como la opción Centro del comando Caja quiere una esquina de caja como segunda entradapuede especificar sus coordenadas X,Y:
  
   ! _Box _Center _Pause r5,5   ! _Box _Center _Pause r5,5
      
-(Why the "r?  We want this coordinate to be relative to the last picked pointthat is to saythe box bottom center.  Otherwise the corner will always land at X5, Y5.)+(Por qué la "r"?  Queremos que esta coordenada sea relativa al último punto elegidoes decirel centro inferior de la caja.  De lo contrario, la esquina siempre caerá en X5, Y5.)
  
-At this point you can put in the heightwhich in this case is relative to the original starting point.+En este punto puede introducir la alturaque en este caso es relativa al punto de inicio original.
  
   ! _Box _Center _Pause r5,5 10   ! _Box _Center _Pause r5,5 10
      
-Since there is no further input necessary nor options possiblethe macro completes and our box is there.  Note that since we wanted height equal to the widthanother possibility  would just to have been to use Enter instead of 10 for the last entry.+Como no es necesaria ninguna otra entrada ni hay opciones posiblesla macro se completa y nuestra caja ya se ha creado.  Tenga en cuenta que como queríamos una altura igual la anchuraotra posibilidad habría sido utilizar Intro en lugar de 10 para la última entrada.
  
   ! _Box _Center _Pause r5,5 _Enter   ! _Box _Center _Pause r5,5 _Enter
-Now that the macro is running, [[rhino:macroscriptsetup|make a new toolbar button]] and paste the macro inGive it a recognizable namelike “10x10x10 bottom centered box”.  Noteonce the macro is executedright-clicking repeats the whole sequence of this macro, so you can use it many times in a row without clicking the button every time.+Ahora que la macro se está ejecutando, [[rhino:macroscriptsetup|cree un nuevo botón en la barra de herramientas]] y pegue la macro. Asígnele un nombre reconociblecomo "Caja centrada inferior 10x10x10”.  Tenga en cuenta queuna vez ejecutada la macro, al hacer clic con el botón derecho se repite toda la secuencia de esta macro, por lo que puede utilizarla muchas veces seguidas sin tener que hacer clic en el botón cada vez.
  
-> //Note on the Pause command://   In earlier versions of Rhino, for some command macros it was necessary to use one Pause for each screen pick needed.  This made it difficult to make macros for commands that had an indeterminate number of screen picks.  Much of that has been fixed in the latest versionshowever there are still some exceptions.  For these casesthere is now the Multipause command (V6 and later), which basically allows the user to make as many picks as needed without having to write multiple Pause commands in the macro.+> //Nota sobre el comando Pausa:// En versiones anteriores de Rhino, para algunas macros de comandos era necesario utilizar una Pausa por cada selección en pantalla que se necesitaba.  Esto dificultaba la creación de macros para comandos que tenían un número indeterminado de selecciones en pantalla.  Esto se ha solucionado en las últimas versiones en la mayoría de casosaunque sigue habiendo algunas excepciones.  Para estos casosahora existe el comando Multipausa (V6 y posteriores), que básicamente permite al usuario hacer tantas selecciones como necesite sin tener que escribir varios comandos de Pausa en la macro.
  
-For example the macro below+Por ejemplo, la siguiente macro
  
   ! _Polyline _Pause _SelLast   ! _Polyline _Pause _SelLast
  
-will work fine to make the polylinebut it will not be selected at the end.  Why?  Because the single Pause is 'eatenby the first pick in the polylineand thus the SelLast command gets executed just after the first pick while we're still making the polyline - and therefore does nothing.  The single pause //does// allow you to finish the polyline with as many points as you wantbut there is no longer a SelLast to be run at the end of it because it ran already and failed.  +funcionará bien para hacer la polilíneapero no se seleccionará al final.  ¿Por qué?  Porque la única Pausa es 'absorbidapor la primera selección en la polilíneapor lo que el comando SelLast se ejecuta justo después de la primera selección mientras aún estamos creando la polilínea, y, por lo tanto, no hace nada.  La pausa única //permite// terminar la polilínea con tantos puntos como deseepero ya no tiene que ejecutar SelLast al final de la misma porque ya se ejecutó y falló.  
  
-Howeverthe following macro+Sin embargola siguiente macro
  
   ! _Polyline _Multipause _SelLast   ! _Polyline _Multipause _SelLast
      
-works including selecting the polyline at the end because the Multipause includes //all// the picks for the polylineallowing the SelLast to be executed and work at the end.+funciona incluyendo la selección de la polilínea al final porque Multipause incluye //todas// las selecciones de la polilíneapermitiendo que SelLast se ejecute y funcione al final.
  
-=====OK, let’s get bit more complicated…=====+=====Vamos complicarnos un poco más…=====
  
-Some commands invoke dialog boxes with many options.  Normallythis stops your macro and waits for you to click the desired options, then continue.  Since you want to automateyou can bypass the dialog by putting a –hyphen (also known as a dashbefore the command.  Then you can script in all your options and the macro will run to completion without needing your intervention.  Some commands have several levels of sub-options.  If you want to see what’s availabletype the command at the command line with the hyphen and look at what’s proposed for options.  Click on the options and see if they have sub-options.+Algunos comandos invocan cuadros de diálogo con muchas opciones.  Normalmenteesto detiene la macro y espera a que seleccione las opciones deseadas para luego continuar.  Dado que desea automatizarpuede omitir el cuadro de diálogo anteponiendo un -guión (también conocido como rayaal comando.  A continuación, puede escribir todas sus opciones y la macro se ejecutará hasta el final sin que tenga que intervenir.  Algunos comandos tienen varios niveles de subopciones.  Si quiere ver lo que hay disponibleescriba el comando en la línea de comandos con el guión y mire las opciones que aparecen.  Haga clic en las opciones y compruebe si tienen subopciones.
  
-=====Loft two open curves=====+=====Transición de dos curvas abiertas=====
  
-Let’s say you would like to repetitively **Loft** two //OPEN// curves together to form a surface.  If you use the standard **Loft** commandyou always have to go through the dialog.  If you use the **//–Loft//** versionyou can avoid this and things go much faster.  Look at the following:+Pongamos que quiere realizar repetidamente una **Transición** de dos curvas //ABIERTAS// juntas para formar una superficie.  Si utiliza el comando estándar **Transición**, siempre tendrá que pasar por el cuadro de diálogo.  Si utiliza la versión **//-Transición//**, podrá evitarlo y todo irá mucho más rápido.  Vea lo siguiente:
  
 <code> <code>
Line 95: Line 95:
 </code> </code>
  
-Note that when you invoke the commandimmediately a pause lets you pick your curves.  If you remove the pausethe macro won’t work if you have not selected your curves before calling it.  If you have already preselected your curves the pause is intelligently ignored.  The command then sets all your specified optionsOnce that is doneit creates the surface and finishesTry it with two open curveseither pre or post selecting them.  Try modifying one or more of the optionslike substituting Closed=Yes or Simplify=Rebuild. (For this you also have to add a line with Rebuild=20 or some other value.)+Tenga en cuenta que cuando ejecuta el comandouna pausa le permite elegir sus curvas inmediatamente.  Si elimina la pausala macro no funcionará si no ha seleccionado sus curvas antes de ejecutarlo.  Si ya ha preseleccionado sus curvas, la pausa se ignora de forma inteligente.  A continuación, el comando establece todas las opciones especificadasUna vez hecho estocrea la superficie y finalizaPruébelo con dos curvas abiertasantes o después de seleccionarlas.  Intente modificar una o varias de las opcionescomo sustituir Cerrada=Sí o Simplificar=Reconstruir. (Para esto también hay que añadir una línea con Reconstruir=20 o algún otro valor.)
  
-=====Modifying it to use with closed curves=====+=====Modificación usar con curvas cerradas=====
  
-Nowtry it with two closed curves.  You have a problem.  WhyFor closed curvesLoft needs another input from you -– the seam location.  This is something that needs to be in the macro in the right sequence.  Soyou can either choose from various automatic seam options (which are on a sub-option levelor you can adjust it on screen.  Either wayyou need to modify the macro.+Ahorainténtelo con dos curvas cerradas.  Hay un problema.  ¿Por quéPara las curvas cerradasel comando Transición necesita otra información: la ubicación de la costura.  Esto es algo que tiene que estar en la macro en la secuencia correcta.  De este modopuede elegir entre varias opciones de costura automática (que están en un nivel de subopcióno puede ajustarla en pantalla.  En cualquier casotiene que modificar la macro.
  
-Adding a pause in the right place lets you check and adjust the seam on screen:+Añadir una pausa en el lugar adecuado permite comprobar y ajustar la costura en pantalla:
  
 <code> <code>
Line 113: Line 113:
 </code> </code>
  
-Adding an Enter instead of the Pause tells Rhino you don’t careJust leave the seam the way it is by default.+Añadir un Intro en lugar de la Pausa indica a Rhino que no le importaDeja la costura como está de manera predeterminada.
  
 <code> <code>
Line 125: Line 125:
 </code> </code>
  
-Or, you can specify another Loft seam option by stepping down into the seam sub-option level:+También puede especificar otra opción de costura de la Transición bajando al nivel de subopción de costura:
  
 <code> <code>
Line 138: Line 138:
 </code> </code>
  
-(The Enter after Natural is necessary to exit the “seam” option level and get back up to the Loft options level.)+(El Enter después de Natural es necesario para salir del nivel de opciones de "costura" y volver al nivel de opciones de Transición.)
  
-//Unfortunatelythe same macro will not work correctly for both open and closed curves because of the extra seam option required.  This is one of the limitations of the macro system and the way some Rhino commands have been written.//+//Desafortunadamentela misma macro no funcionará bien para curvas abiertas y para curvas cerradas debido a la opción extra de costura.  Esta es una de las limitaciones del sistema de macros y de la forma en que se han escrito algunos comandos de Rhino.//
  
  
-======Using macros to set your interface options quickly======+======Uso de macros para configurar rápidamente las opciones de la interfaz======
  
-Macros can also be used to set various GUI and Document Properties options automatically without having to go wading into the Options dialog.  I use the following to set the render mesh the way I want it. (Note the dash before -_DocumentProperties.)+Las macros también pueden utilizarse para establecer automáticamente varias opciones de la interfaz de usuario y de las propiedades del documento sin tener que entrar en el cuadro de diálogo Opciones.  Yo uso lo siguiente para configurar la malla de renderizado de la manera que quiero. (Fíjese en el guión delante de -_DocumentProperties.)
  
 <code> <code>
Line 159: Line 159:
 </code> </code>
  
-Why are there two Enters at the end?+¿Por qué hay dos Enter al final?
  
-You went down two levels in -_DocumentProperties, first to the Mesh levelthen to the Custom sublevel inside Mesh.  You need one Enter to exit the sublevel and go back to the main leveland one more to exit the command.  Some scripts might even need three enters.  +Se bajaron dos niveles en -_DocumentProperties, primero al nivel _Meshluego al subnivel _Custom dentro de _Mesh.  Se necesita un Enter para salir del subnivel y volver al nivel principaly otro más para salir del comando.  Algunos guiones pueden necesitar incluso tres Enter.  
  
-The following is from Jeff LaSor, for turning on or off the crosshair cursor:+Lo siguiente es de Jeff LaSor, para activar o desactivar el cursor en cruz:
  
-To script Crosshairs  ON or OFF put the following on a button:+Para activar o desactivar el cursor en cruz, ponga lo siguiente en un botón:
 <code> <code>
   -_Options _Appearance _Visibility   -_Options _Appearance _Visibility
   _Crosshairs _Enter _Enter _Enter   _Crosshairs _Enter _Enter _Enter
 </code> </code>
-Notice the reference to each individual command option name.  Specifying them inside the script is like clicking on them with the mouse.  Also note the three Enter entries.  Since each command option takes you down into new set of sub-level command optionsan Enter is required to take you back up.  Since this script went down three levelsit needs to specify three Enters to get all the way out of the command.+Fíjese en la referencia a cada nombre de opción de comando individual.  Especificarlos dentro del script es como hacer clic sobre ellos con el ratón.  Fíjese también en las tres entradas de Enter.  Dado que cada opción de comando lleva un nuevo conjunto de opciones de comando de subniveles necesario un Enter para volver a subir.  Como este script bajó tres nivelesnecesita especificar tres Enter para salir del todo del comando.
  
-**EnterEnd** is good way to 'back out' of a command without the need to keep track of how many levels deep you've gone  +**EnterEnd** es una buena manera de "retroceder" de un comando sin la necesidad de realizar un seguimiento de cuántos niveles de profundidad se ha ido  
  
 <code> <code>
Line 178: Line 178:
 </code> </code>
  
-Orif you just use an exclamation point **!** at the end (which in a script means “end now!”), it takes you all the way out regardless of how many sub-levels you're inNote, if you want to continue your macro with something elsedo not use !, use the Enters insteadotherwise your macro will always stop at the and terminate.+Osi usa un signo de exclamación **!** al final (que en un script significa "finaliza ahora"), le lleva hasta el final sin importar en cuántos subniveles estéTenga en cuenta que si quiere continuar la macro con algo másno use !, use los Enter en su lugarde lo contrario la macro siempre se detendrá en el y terminará.
  
-The script simply toggles the crosshairs ON and OFFBut if you wanted a script that always turned them ON and another that always turned them OFFhere's what they would look like:+El script simplemente activa y desactiva los cursores en cruzPero si quisiera un script que siempre los activara y otro que siempre los desactivaraserían así:
  
-Always ON version:+Versión activar siempre:
 <code> <code>
   -_Options _Appearance _Visibility   -_Options _Appearance _Visibility
   _Crosshairs=_Show !   _Crosshairs=_Show !
 </code> </code>
-Always OFF version:+Versión desactivar siempre:
 <code> <code>
   -_Options _Appearance _Visibility   -_Options _Appearance _Visibility
   _Crosshairs=_Hide !   _Crosshairs=_Hide !
 </code> </code>
-Note the use of the **!** hereAlsonote you can assign directly the values options can take on to that option using the '=' operator.  The Crosshairs option has two possible values, "Show" and "Hide", and thusthat's what is used in the assignment.+Fíjese en el uso del **!** aquíAdemástenga en cuenta que puede asignar directamente los valores que pueden tener las opciones en esa opción utilizando el operador '='.  La opción _Crosshairs tiene dos valores posibles, "Show" "Hide", y por lo tantoeso es lo que se utiliza en la asignación.
  
-(Thanks, Jeff)+(Gracias, Jeff)
  
-======Other useful macro writing tools and commands======+======Otras herramientas y comandos útiles para crear macros======
  
-There are some handy tricks for doing more complex macros.  One is the discriminating use of various selection filtersparticularly **SelLast**, which selects the last object created/transformed, **SelPrev**,  which selects the previous input objectand **SelNone**, which deselects everything.  There are also possibilities to name objectsgroup them (and name the groupand then recall them later by that object name or group name.+Hay algunos trucos útiles para crear macros más complejas.  Uno de ellos es el uso discriminado de varios filtros de selecciónen particular **SelLast**, que selecciona el último objeto creado/transformado, **SelPrev**, que selecciona el objeto de entrada anterior**SelNone**, que anula la selección de todo.  También existe la posibilidad de nombrar objetosagruparlos (y nombrar el grupoy recuperarlos más tarde por ese nombre de objeto o de grupo.
  
 <code> <code>
-Select +Seleccionar 
-SelLast +SelÚltimo 
-SelPrev +SelAnterior 
-SelNone +SelNinguno 
-SetObjectName +DefinirNombreDeObjeto 
-SetGroupName +DefinirNombreDeGrupo 
-SelGroup +SelGrupo 
-SelName +SelNombre 
-Group +Agrupar 
-Ungroup+Desagrupar
 </code> </code>
-To set a single object name (this in itself is a macro!):+Para definir un único nombre de objeto (esto en sí mismo es una macro):
 <code> <code>
   _Properties _Pause _Object _Name   _Properties _Pause _Object _Name
-  [put your object name here] _Enter _Enter+  [ponga aquí el nombre del ] _Enter _Enter
 </code> </code>
-To cancel a single object name (without deleting the object)+Para cancelar el nombre de un objeto (sin borrar el objeto)
 <code> <code>
   _Properties _Pause _Object _Name   _Properties _Pause _Object _Name
-  “ “ _Enter _Enter (quote space quote for the name)+  “ “ _Enter _Enter (espacio entre las comillas para el nombre)
 </code> </code>
  
-=====Examples using the above tools=====+=====Ejemplos en los que se utilizan las herramientas mencionadas=====
  
-Look at the following macro:+Mire la siguiente macro:
  
 <code> <code>
Line 236: Line 236:
 _Delete _Setredrawon _Delete _Setredrawon
 </code> </code>
-It creates an offset bounding box around an objectThe offset is input by the user.  See if you can follow the logical sequence.  The Setredrawoff/on stop/restart the screen refresheliminates the display flickering as all is executed and speeds up the process.  Bewareif you terminate the command before Setredrawon, you will think Rhino is deadas the screen no longer updates.  If this happensdon’t panictyping the command **Setredrawon** will restore the display refresh.+Crea un cuadro delimitador desfasado alrededor de un objetoEl usuario introduce el desfase.  Trate de seguir la secuencia lógica.  El Setredrawoff/on detiene/reinicia la actualización de la pantallaelimina el parpadeo de la pantalla mientras se ejecuta todo y acelera el proceso.  Cuidadosi termina el comando antes de Setredrawon, pensará que Rhino se ha bloqueadoya que la pantalla ya no se actualiza.  Si eso ocurreno se asusteescriba el comando **Setredrawon** para restablecer la actualización de la pantalla.
  
-**//As a final example,//** the following macro creates a point centered on a 2D planar or text object and grouped with itIt assumes that you're in the same view the text was created inand that the object is really 2D and planar. (Otherwise it will likely fail.)+**//Como ejemplo final,//** la siguiente macro crea un punto centrado en un objeto 2D plano o de texto y agrupado con élPresupone que está en la misma vista en la que se creó el textoy que el objeto es realmente 2D y plano. (De lo contrario, es probable que no funcione.)
  
-Note the use of a named group and various selection commands.  The **NoEcho** command temporarily stops the reporting of information to the command linewhichcombined with Setredrawoff/on makes the macro run without flashing and without too much info reported to command history.  It will run without those as wellthough.+Fíjese en el uso de un grupo con nombre y varios comandos de selección.  El comando **NoEcho** detiene temporalmente la información en la línea de comandoslo cualcombinado con Setredrawoff/on hace que la macro se ejecute sin parpadeos y sin demasiada información en el historial de comandos.  Sin embargotambién funcionará sin ellos.
  
 <code> <code>
Line 254: Line 254:
 </code> </code>
  
-//last edited: 28.08.19/msh// +//última edición: 28.08.19/msh//
- +
-**Please feel free to add to or edit this tutorial!** +
-This is a work in progress...+
  
 +**Puede añadir información o editar este tutorial**
 +Se trata de una versión en progreso...
es/rhino/basicmacros.1698402599.txt.gz · Last modified: 2023/10/27 by noemi