Dibujar en Autocad desde Visual basic

Juan Carlos
17 de Noviembre del 2003
Hola, necesito crear dibujos en Autocad pero desde Visual basic, como puedo mandar la orden ya sean coordenadas o lineas al autocad de tal forma que ya este dibujado en el Autocad

_jose_
17 de Noviembre del 2003
hola!!, nunca he programado algo asi pero se que puedes introducir elementos de autocad (com el escritorio ese negro donde se dibuja, las herramientas de dibujo etc...) en un formulario de visual... solo tienes que tener el autocad instalado y buscar los componentes ... investiga a ver k encuentras ^_^
Espero haberte ayudado... 1 saludo!!

David
17 de Noviembre del 2003
Aqui va el ejemplo de dibujar una linea desde el punto 0,0,0 al punto 500,500,0.

Option explicit
Dim AcadDoc as Object
Dim AcadDocEM as Object
Dim ObjLinea as Object
Dim Pt1 (1 to 3) as double
Dim Pt2 (1 to 3) as double

Private Sub Dibujar_Click()
Set AcadDoc=GetObject(,"Autocad.Application").ActiveDocument
Set AcadDocEM=AcadDoc.ModelSpace
Pt1(1)=0 : Pt1(2)=0 : Pt1(3)=0
Pt2(1)=500 : Pt2(2)=500 : Pt2(3)=0
Set ObjLinea=AcadDocEM.addLine(Pt1,pt2)
End Sub
Pruebalo que seguro que funciona.
Ahora va la pregunta: ¿Porque quieres dibujar objetos desde VBA pudiendolos hacer desde Lisp?
Si te das cuenta hemos tenido que escribir una cantidad considerable de codigo para dibujar una simple linea. Imaginate para hacer una matriz o un bloque.
Lo mejor es que desde VBA llames a un procedimiento escrito en Lisp.

Esto en VBA:
Private Sub Dibujar_Click()
ThisDrawind.SendCommand ("milinea ")
Me.Hide
End Sub

Y esto en Lisp:
(defun c:milinea()
(vl-cmdf "_line" "0,0,0" "500,500,0" "")
)