VBA
Publicado por José A. (38 intervenciones) el 01/01/2022 18:24:06
No me funciona.
En el vídeo de you tube de Emacro, funciona. Creo que tengo todo como en el vídeo, pero me salta error en
DIM StartPoint as Point y no puedo hacer nada.
El código es:
Public Sub DrawLineObjects()
Dim dblStart(2) As Double
Dim dblEnd(2) As Double
Dim startPoint As Point
Dim endPoint As Point
Dim objEnt As AcadLine
Dim points As Variant
Dim k As Integer
Set points = GetRectangle()
'Set points = getStar()
'Set points = getPolygon()
For i = 1 To points.Count
Set startPoint = points(i)
If (i = points.Count) Then
Set endPoint = points(i)
Else
Set endPoint = points(i + 1)
End If
dblStart(0) = startPoint.x: dblStart(1) = startPoint.y: dblStart(2) = 0
dblEnd(0) = endPoint.x: dblEnd(1) = endPoint.y: dblEnd(2) = 0
ThisDrawing.Utility.Prompt ("x: " & CStr(startPoint.x) & " y: " & CStr(startPoint.y)) & vbNewLine
Set objEnt = ThisDrawing.ModelSpace.AddLine(dblStar, dblEnd)
objEnt.Update
Next i
End Sub
Function GetRectangle() As Collection
Dim pnt1 As New Point
Dim pnt2 As New Point
Dim pnt3 As New Point
Dim pnt4 As New Point
Dim points As New Collection
pnt1.SetCoordinates 0, 0, 0
pnt1.SetCoordinates 0, 10, 0
pnt1.SetCoordinates 10, 10, 0
pnt1.SetCoordinates 10, 0, 0
points.Add pnt1
points.Add pnt2
points.Add pnt3
points.Add pnt4
Set GetRectangle = points
End Function
En el vídeo de you tube de Emacro, funciona. Creo que tengo todo como en el vídeo, pero me salta error en
DIM StartPoint as Point y no puedo hacer nada.
El código es:
Public Sub DrawLineObjects()
Dim dblStart(2) As Double
Dim dblEnd(2) As Double
Dim startPoint As Point
Dim endPoint As Point
Dim objEnt As AcadLine
Dim points As Variant
Dim k As Integer
Set points = GetRectangle()
'Set points = getStar()
'Set points = getPolygon()
For i = 1 To points.Count
Set startPoint = points(i)
If (i = points.Count) Then
Set endPoint = points(i)
Else
Set endPoint = points(i + 1)
End If
dblStart(0) = startPoint.x: dblStart(1) = startPoint.y: dblStart(2) = 0
dblEnd(0) = endPoint.x: dblEnd(1) = endPoint.y: dblEnd(2) = 0
ThisDrawing.Utility.Prompt ("x: " & CStr(startPoint.x) & " y: " & CStr(startPoint.y)) & vbNewLine
Set objEnt = ThisDrawing.ModelSpace.AddLine(dblStar, dblEnd)
objEnt.Update
Next i
End Sub
Function GetRectangle() As Collection
Dim pnt1 As New Point
Dim pnt2 As New Point
Dim pnt3 As New Point
Dim pnt4 As New Point
Dim points As New Collection
pnt1.SetCoordinates 0, 0, 0
pnt1.SetCoordinates 0, 10, 0
pnt1.SetCoordinates 10, 10, 0
pnt1.SetCoordinates 10, 0, 0
points.Add pnt1
points.Add pnt2
points.Add pnt3
points.Add pnt4
Set GetRectangle = points
End Function
Valora esta pregunta


0