Quiero extraer las estadísticas de área de todas las polilíneas cerradas en la capa "JMD" a través de este código CAD VBA, pero no sé dónde me estoy equivocando.
' Crea un nuevo conjunto de selección
Dim sset As AcadSelectionSet
Dim FilterType() Como Integer, FilterData() Como Variante
' p>
ReDim gpCode(2) como entero
ReDim dataValue(2) como variante
Establecer sset = ThisDrawing.SelectionSets.Add("ssl")
'Crear filtro
p> 'Este ejemplo filtra la polilínea cerrada de "JMD"
'Usar definición de matriz variable
'Filtro de polilínea p>
gpCode(0) = 0
dataValue(0) = "LWPolyline"
gpCode(2) = 70
dataValue(2) = 1
'Filtro de capa
gpCode(1) = 8
dataValue(1) = "JMD"
FilterType = gpCode
FilterData = dataValue
'Agregar al conjunto de selección para filtrar durante el proceso de selección
'Una vez completada la selección, presione Entrar.
sset.Select acSelectionSetAll, , , FilterType, FilterData
' Recorre el conjunto de selección y genera el recuento de área de cada objeto calificado.
Dim sum como doble
Dim i como entero
Dim s como variante
Dim PlineObj como AcadLWPolyline
suma = 0
Para cada PlineObj en sset
suma = suma PlineObj.Area
Siguiente PlineObj
ThisDrawing.Utility.Prompt "El área total de la mampostería demolida es:" amp; Str(Round(sum, 3)) amp "metros cuadrados"
sset.Delete
Fin Sub