Definición de contornos de sombreado

AutoCAD ActiveX

 
Definición de contornos de sombreado
 
 
 

Una vez creado el objeto Hatch, puede añadirle los contornos. Un contorno puede ser cualquier combinación de líneas, arcos, círculos, polilíneas 2D, elipses, splines y regiones.

El primer contorno añadido debe ser el exterior, que define los límites externos que se rellenarán con el sombreado. Para agregar el contorno exterior, utilice el método AppendOuterLoop.

Una vez definido el contorno exterior, puede añadir los interiores. Agregue contornos interiores con el método AppendInnerLoop.

Los contornos interiores definen islas dentro del sombreado, que el objeto Hatch maneja según los parámetros de la propiedad HatchStyle. La propiedad HatchStyle puede definirse con una de las siguientes condiciones:

Definiciones de estilos de sombreado

HatchStyle

Condición

Descripción

Normal

Especifica el estilo estándar o normal. Esta opción sombrea el interior desde el contorno del área más exterior. Si AutoCAD encuentra un contorno interno, desactiva el sombreado hasta que encuentra otro contorno. Este es el valor por defecto de la propiedad HatchStyle.

Exterior

Rellena solamente las áreas más externas. Este estilo sombrea también el interior desde el contorno del área, pero desactiva el sombreado si encuentra un contorno interno y no lo vuelve a activar.

Ignorar

Ignora la estructura interna. Esta opción sombrea todos los objetos internos.

Una vez terminada la definición del sombreado, debe evaluarse antes de que pueda verse. Utilice para ello el método Evaluate.

Creación de un objeto Hatch

Este ejemplo crea un sombreado asociado en espacio modelo. Una vez creado, puede cambiar el tamaño del círculo con el que está asociado el sombreado. El sombreado cambia para adaptarse al tamaño del círculo actual.

Sub Ch4_CreateHatch()
    Dim hatchObj As AcadHatch
    Dim patternName As String
    Dim PatternType As Long
    Dim bAssociativity As Boolean
      
    ' Define the hatch
    patternName = "ANSI31"
    PatternType = 0
    bAssociativity = True
      
    ' Create the associative Hatch object
    Set hatchObj = ThisDrawing.ModelSpace.AddHatch _
                   (PatternType, patternName, bAssociativity)
      
    ' Create the outer boundary for the hatch. (a circle)
    Dim outerLoop(0 To 0) As AcadEntity
    Dim center(0 To 2) As Double
    Dim radius As Double
    center(0) = 3: center(1) = 3: center(2) = 0
    radius = 1
    Set outerLoop(0) = ThisDrawing.ModelSpace. _
                       AddCircle(center, radius)
      
    ' Append the outerboundary to the hatch
    ' object, and display the hatch
    hatchObj.AppendOuterLoop (outerLoop)
    hatchObj.Evaluate
    ThisDrawing.Regen True
      
End Sub