Rekomendowane odpowiedzi

Opublikowano

Kolejny Bug  w VBA ( vernum=11574) 

Nie mozna zmieniać ilości verteksów obiektów 3dPolyline ( ZCad3dPolyline )

Dwa powazne błedy 
   - 3dPoly.AppendVertex   = Point3              ' ERROR
   - Poly3d.Coordinates     = ArrayOfPoints  ' ERROR

po A) MsgBox powinien podać 2 vertexy
po B) MsgBox powinien podać 3 vertexy
po C) MsgBox powinien podać 4 vertexy

W Autocad działa wszystko ok. w ZWCAD 2017 tylko A) czyli tworzenie od zera ...

Jesli nie będzie prostego obejścia ( moze lisp?) to błąd wg mnie brak poważny. Prosze o weryfikację i ew. zgłoszenie do ZWSOFT. 

Przykład  do sprawdzenia  niżej.
Pozdrawiam

J.

Sub Test3dPoly()  

Dim polyObj As Zcad3DPolyline
Dim pNew(0 To 2) As Double
Dim Points1(0 To 5) As Double
Dim Points2(0 To 11) As Double
Dim p As Variant
Dim RetCoord
ReDim RetCoord(0 To 8) As Double

Dim nvertices As Integer
Points1(0) = 0: Points1(1) = 0: Points1(2) = 0
Points1(3) = 10: Points1(4) = 10: Points1(5) = 10
    
' A) Create 3dPoly
Set polyObj = ThisDrawing.ModelSpace.Add3DPoly(Points1)
nvertices = (UBound(polyObj.Coordinates) + 1) / 3 ' for 3D polylines
MsgBox "Poly after create vertices = " & nvertices

' B) New Vertex by call Poly.AppendVertex (pNew)
pNew(0) = 40: pNew(1) = 30: pNew(2) = 40
polyObj.AppendVertex pNew                    ' ZWCAD Failed  / ACAD Ok
p = polyObj.Coordinate(2)                    ' Method 'Coordinate' of IZCad3dPolyline  failed
nvertices = (UBound(polyObj.Coordinates) + 1) / 3  '  ZWCAD Error / ACAD Ok
MsgBox "Poly After AppendVertex  Number of vertices = " & nvertices

' C) Set Size by Assign polyObj.Coordinates from Array of four Points
Points2(0) = 0: Points2(1) = 0: Points2(2) = 0
Points2(3) = 0: Points2(4) = 0: Points2(5) = 0
Points2(6) = 0: Points2(7) = 0: Points2(8) = 0
Points2(9) = 0: Points2(10) = 0: Points2(11) = 0
polyObj.Coordinates = Points2
nvertices = (UBound(polyObj.Coordinates) + 1) / 3 ' ZWCAD Error (type mismatch) / ACAD Ok
MsgBox "Poly After Assign Number of vertices = " & nvertices


End Sub

 

  • 2 miesiące temu...
  • dmatusz3 zmienił(a) tytuł na VBA ZCAD3dPolyline [rozwiązany]
  • dmatusz3 zablokował(a) ten temat
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.