La "Nota universal" de NanoCAD Construction, es una herramienta con la que cualquier ingeniero puede convertirse en programador y crear un objeto destinado a facilitar el proceso de diseño.
Lo que más me gusta de mi trabajo es comunicarme con los ingenieros que ya trabajan con NanoCAD. En general, estos usuarios no se conforman con las primitivas y los bloques, y buscan formas de automatizar su trabajo y mejorar la velocidad y la calidad de sus dibujos. A menudo se plantean preguntas como: "¿Existe funcionalidad para...?", "¿NanoCAD permite...?" y la más importante: "¿Cómo puedo automatizar mi trabajo?".
Mi respuesta a esta última pregunta consta de dos partes. La primera parte trata de las herramientas de automatización clásicas del entorno CAD: uso de aplicaciones, tecnología de campo, etc. La segunda parte trata de las herramientas de automatización que sólo tiene NanoCAD: extracción automática de las propiedades de los objetos a una tabla de NanoCAD (creación de informes), creación de una relación entre una llamada o nota de NanoCAD y los datos de un elemento del plano.
Si el usuario de NanoCAD tiene módulo "Construction", mi respuesta sobre las herramientas de automatización se complementa con una descripción del “Asistente de Objetos” y del “Marcador universal”. El Asistente de objetos es una sofisticada herramienta de creación de objetos "inteligentes". Para dominarla, necesitarás conocimientos de programación. La herramienta Marcador universal es más comprensible y suficientemente eficaz para lograr resultados.
No se requieren conocimientos de programación para crear tu propio marcador y el resultado final es muy similar al de un objeto programado que automatiza el trabajo. El Marcador Universal puede ser dominado por cualquier usuario. Las principales características de esta herramienta se detallan en este artículo, utilizando el ejemplo de creación de una Nota con la categoría de seguridad contra incendios y explosiones. El ejemplo utiliza normas rusas, pero puede servir de base para comprender los principios de la creación de anotaciones inteligentes.
Nuestro marcador podrá "tomar" y "transformar (calcular)" propiedades de otro objeto, tendrá varias representaciones gráficas (ejecuciones) y su propio cuadro de diálogo (formulario personalizado). Además, crearemos una tabla de informes NanoCAD, que recibirá automáticamente los datos de nuestro marcador. De este modo, daremos un vistazo a la automatización en el entorno NanoCAD con el módulo Construction.
Dibujamos tres representaciones gráficas de nuestro marcador usando primitivas de NanoCAD: líneas, textos.
El texto que comience por "$" se reconocerá automáticamente como un Atributo de Marcador Universal y estará disponible para su edición en los diálogos Crear Marcador y Editar Formularios . Necesitaremos los siguientes atributos :
$sEX - Riesgo de Explosión
$sINC - Riesgo de Incendio
$sTe - Temperatura
$sHu - Humedad
Ejecute el comando SPCREATEUMARKER o haga clic en el botón Crear marcador (Add Marker).
Seleccione los elementos (textos y primitivas) en el dibujo y luego marque el punto de inserción en el centro de la diagonal.
Aparecerá el cuadro de diálogo "Crear marcador".
En la línea MarkerType indique un nombre coherente, que se mostrará en la Base de elementos y en el panel Propiedades, y una descripción para todos los atributos reconocidos (textos con el símbolo $). A continuación, guarde el marcador en la Base de elementos.
El Marcador Universal ya está disponible para trabajar.
En el cuadro de diálogo Crear marcador universal, haga clic en el icono Añadir implementación (Add implementation) .
Establezca un nombre aleatorio para la nueva implementación gráfica.
Seleccione la plantilla previamente preparada y asigne un punto de inserción para la segunda versión de nuestro marcador universal.
Añadimos la var3 de la misma manera. Nuestro marcador tiene ahora tres representaciones gráficas, que contienen un conjunto diferente de primitivas y atributos en el dibujo.
Nuestro marcador estará asociado a un objeto Espacio (Space). Para utilizar las propiedades de este objeto crearemos campos adicionales en nuestro marcador: rNumber (Número de habitación), rArea (Área de la habitación). Los nuevos atributos tendrán el tipo - "Añadir propiedad desde objeto."
La relación entre un atributo en el marcador y una propiedad de objeto puede ser de tres tipos:
Comunicación unidireccional: el cambio del valor del parámetro en el objeto afecta al valor del marcador.
Comunicación bidireccional - cambiar el valor del atributo en el marcador afecta al parámetro del objeto, y viceversa.
Comunicación básica - un parámetro de un objeto sólo puede modificarse desde un marcador. Si el parámetro es un valor de tabla en una relación básica, se
Nuestra nota tomará propiedades del objeto "Espacio", por lo que necesitamos dibujar previamente este objeto en el dibujo.
Utilice el comando spwalladd o el botón add wall para dibujar 4 paredes y, a continuación, cree una habitación con el comando Room
Empecemos a tomar propiedades. En nuestro Marcador seleccionamos Edit Marker Properties
Añadimos un nuevo atributo con el nombre rNumber ( numero de habitacion ) , hacemos clic en el icono "..." y seleccionamos Add property from object.
Apunte al objeto Room y seleccione la propiedad Number de la lista, la conexión por defecto es unidireccional.
Para poder cambiar el número de la habitación desde nuestro marcador, tenemos que cambiar el tipo de conexión a bidireccional , para eso apuntamos al icono de tipo de conexión y tocamos la tecla derecha del ratón
Creamos otro atributo con nombre rArea y repetimos de nuevo las operaciones asociándolo al área de la habitación, dejamos el tipo de relación unidireccional
Guardamos nuestro Marcador Universal en la base de elementos.
Para trabajar con campos calculados en el Marcador Universal es necesario conocer una sintaxis de concatenación sencilla. Los caracteres básicos de los campos calculados del marcador son los siguientes:
{} - inicio y fin del cálculo;
+ - adición de un parámetro, atributo;
" "- parámetro de texto (cadena);
Function() (función/argumento) - el marcador Universal utiliza las mismas funciones que el constructor de expresiones de las tablas de NanoCAD; los argumentos de la función pueden ser atributos definidos en el marcador.
Utilizando como ejemplo los atributos sTe (Temperatura) y sHu ( Humedad), veremos una aplicación muy sencilla para los atributos calculados. En nuestro ejemplo añadiremos un signo de grado celsius al final del parámetro temperatura y % para el valor Humedad
Vamos a definir atributos auxiliares: sTeField (campo para el valor de la Temperatura) y sTuField (campo para el valor de la Humedad ), que posteriormente se rellenarán en el cuadro de diálogo del marcador y pasarán sus datos a los campos sTe y sHu mostrados en la ejecución gráfica del marcador.
Asignamos a los atributos sTe (Temperatura) y sHu (Humedad) el tipo "Campo calculado"
En la casilla Valor para el atributo sTe introduzca {string(sTeField)+"°С"}, para el atributo sHu - {string(sHuField)+"%"}
Ahora, cuando introducimos datos numéricos simples en los campos TrField, sVrField, obtenemos 18° C y 60% en la implementación grafica de nuestro marcador
Añadamos otro atributo calculado rAreaInt (superficie aproximada, m2). Necesitaremos este atributo más adelante para formar una tabla de informe NanoCAD. Vamos a redondear la superficie medida obtenida del objeto Space en el atributo rArea, en la columna Valor introducimos : {Int(rArea*100)/100} {FmtText("м",FmtSuper("2"))}
int - es la función que acorta el número a enteros; *100/100 es la operación aritmética que nos permite "devolver" dos números después del punto decimal.
FmtText función de formateo de texto y control del índice de caracteres. Esta opción no sólo es adecuada para insertar caracteres (por ejemplo, metros cuadrados o centímetros cúbicos), sino también para gestionar el índice de una cadena completa.
Para obtener una lista completa de las funciones disponibles, consulte el manual del usuario de NanoCAD
Para terminar de configurar los atributos del Marcador Universal, añada un atributo de sistema mcDefLayer, que define la capa en la que se colocará nuestro marcador. En el Gestor de capas, cree una capa Markers luego asigne al atributo mcDefLayer el nombre de la capa.
La herramienta Marcador universal le permite crear cuadros de diálogo, que en el mundo de la programación se llaman "Formularios personalizados". En el editor de formularios puede asignar varias formas de entrada de valores y clases de control a los atributos del marcador:
tablas incorporadas al marcador;
tablas de otros marcadores universales y objetos paramétricos;
casillas de verificación (checkBox);
interruptores (radioButton);
campos de entrada (editBox);
listas y listas de la base de datos (listBox);
campos con listas y campos con listas de base de datos (comboBox).
El formulario de usuario es una herramienta opcional, en la mayoría de los casos se puede omitir. Sin embargo, como demuestra la práctica, es más cómodo gestionar los atributos del marcador Universal a través de una ventana de diálogo o un formulario de usuario.
El editor de formularios es una herramienta sencilla y fácil de usar, accesible al diseñador sin conocimientos de programación.
Vamos a crear un formulario personalizado. Para ello, cambie al modo de edición del marcador Universal y haga clic en el botón Mostrar editor de formularios.
Primero vamos a colocar los controles para los atributos que se muestran en los dibujos sEX, sTe, sHu, sINC.
En el panel Fields, seleccione Riesgo de Explocion ( sEX ) y manteniendo pulsada la tecla Ctrl, desplácelo al campo del formulario.
Como nuestro elemento tomará 4 valores : A, B, C , D, seleccionamos el Combo box para nuestro elemento sEX
A continuación, seleccione el campo blanco donde se especificarán los valores de nuestro parámetro. En la ventana Propiedades que se abre, busque la línea Data, haga clic en el icono con tres puntos e introduzca una lista de valores en la lista desplegable. Cuando haya terminado, pulse Ctrl+Intro..
Repetimos todas las operaciones anteriores para el atributo Riesgo de incendio (sINC) con los valores P-1, P-2,...P-4
Los campos sTrField, sVrField contendrán un número arbitrario, así que seleccione el tipo Edit al añadirlos. Vamos a editar los títulos de los atributos y añadir elementos decorativos C y % para luego combinar todos los elementos en un grupo utilizando el botón Group Box
Queda por añadir la posibilidad de cambiar entre las representaciones gráficas del marcador.
Para el control de las implementaciones gráficas en el formulario personalizado utilizaremos el control Switch (radioButton) para cambiar la variable mcImplementation en el dibujo.
Haga clic en el comando Radio button y colóquelo en el lugar deseado del campo de formulario.
Elegimos la variable mcImplementación en el campo Field Name con el valor Main correspondiente al 1 tipo de ejecución gráfica del marcador creado
A continuación usando CTRL+C CTRL-V creamos 2 copias mas de nuestro Interruptor y redactamos la descripción y el valor del atributo mcImplementation, en nuestro caso los dos valores faltantes son var2 y var3.
Guarde los cambios y compruebe que el marcador funciona. Cuando cambias el Interruptor, las ejecuciones graficas deben cambiar y cuando cambias los valores en los campos de texto del formulario, los valores en el dibujo deben cambiar.
Todos los atributos que hemos introducido en el marcador Universal se pueden mostrar en una tabla de informes de NanoCAD. Dicha tabla recogerá automáticamente todas las notas del dibujo y permitirá controlar los atributos de la ficha desde la celda en la Tabla. Procedamos a obtener una tabla generada automáticamente.
A continuación, vamos a dibujar un plano arbitrario con habitaciones y añadiremos nuestro marcador a cada habitación
Creamos una tabla NanoCAD de seis columnas con el título "Lista de categorías de seguridad contra incendios". Colocamos la tabla en nuestro dibujo
Haciendo doble clic en la tabla entramos en modo edición de tabla e insertamos una sección de informe
En la sección Report Template, inicie el filtro de objetos y seleccione el marcador universal denominado Riesgo de Explosión o incendio.
Seleccione una celda y haga clic con el botón derecho del ratón; aparecerá una lista desplegable con las propiedades y atributos del marcador. Seleccione sólo los atributos necesarios para la tabla
Crearemos una regla simple de agrupación de datos en la tabla. Haga clic en el botón Group and Merge para ordenar nuestra tabla por los números de habitación de la columna A
Para terminar borramos las líneas sobrantes en nuestra tabla.
Listo. Hemos generado un informe sobre la categoría de seguridad contra incendios en una tabla de NanoCAD.
Cualquier cambio en el plano actualizará automáticamente los datos de la tabla, y viceversa, editando los datos de la tabla se pueden modificar los valores mostrados en el plano.
P.D. El marcador creado es un ejemplo y no se ajusta a las normas de diseño, pero los métodos mostrados en este artículo le permitirán crear cualquier elemento para sus necesidades reales
Espero que este artículo haya conseguido demostrar que el Marcador Universal es una herramienta útil para automatizar el proceso de diseño en el entorno NanoCAD , disponible para todos los usuarios. Sabiendo utilizar correctamente dicha herramienta, un ingeniero de diseño será capaz de crear y programar su propio objeto inteligente sin conocimientos en programación. Junto con la tabla NanoCAD, el marcador universal considerablemente acelerará el proceso de elaboración de diversas listas y especificaciones.