AutoCad - save as dxf

 
Vista:
Imágen de perfil de guihe

save as dxf

Publicado por guihe (4 intervenciones) el 05/11/2009 14:47:34
Hola a todos,
estoy escribiendo un codigo en VB y no sé como guardar los archivos en dxf. solo me los guarda en dwg... ¿se os ocurre como puedo cambiarlos? No sé si tendra que ver con definir los objetos elipses como AcadApplication... en fin que estoy un poco perdido.
os transcribo el codigo. otra cosa que me ocurre es que en cada 'layer' me pinta dos elipses, la que dibuja en la 'layer' anterior y una nueva, y en la siguiente 'layer' repite la nueva (de la capa anterior) y pinta otra nueva.... ¿tendría que 'resetear' de alguna manera a ObjElip?
GRACIAS!
********************
Sub Dibuja_elip()
Dim aCaDaP As AcadApplication
Dim ArchSal As String
Dim CapaEl As AcadLayer
Dim ObjElip As AcadEllipse
Dim Centro(0 To 2) As Double
Dim EjeM(0 To 2) As Double
Dim PropRad As Double
Dim PI
PI = 4 * Atn(1)
Set aCaDaP = ConnToAcad
For i = 1 To 20
Centro(0) = Cells(i + 1, 15).Value: Centro(1) = Cells(i + 1, 16).Value: Centro(2) = 0
EjeM(0) = (Cells(i + 1, 11).Value / 2) * Cos(Cells(i + 1, 6) * (180 / PI))
EjeM(1) = (Cells(i + 1, 11).Value / 2) * Sin(Cells(i + 1, 6) * (180 / PI))
EjeM(2) = 0
diam1 = Cells(i + 1, 11).Value
diam2 = Cells(i + 1, 12).Value
If (diam1 / diam2) < 1 Then
PropRad = (diam1 / diam2)
Else
PropRad = (diam2 / diam1)
End If

'creamos las elipses en Model Space
'Set aCaDaP = ConnToAcad
aCaDaP.Visible = True
Set CapaEl = aCaDaP.ActiveDocument.Layers.Add("arb-" & i)
Set ObjElip = aCaDaP.ActiveDocument.ModelSpace.AddEllipse(Centro, EjeM, PropRad)
ObjElip.Layer = "arb-" & i
Next i
aCaDaP.ZoomExtents

'guarda el dibujo como un *.dxf
ArchSal = ThisWorkbook.Path & "/p_" & Cells(2, 3).Value & ".dwg"
aCaDaP.ActiveDocument.SaveAs ArchSal
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:save as dxf

Publicado por Marlon Barrios (11 intervenciones) el 06/11/2009 18:38:03
hola
he visto que en autocad utilizando visual basic, para grabar como DXF
solo es necesario agregar el formato,

aCaDaP.ActiveDocument.SaveAs ArchSal, ac2004_dxf

y listo (con ac2004 le indicas a que version de autocad vas a grabar)

y creo que necesitas cambiarte al layer despues de agregarla
y antes de crear la ellipse...

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de guihe

RE:save as dxf

Publicado por guihe (4 intervenciones) el 10/11/2009 09:50:01
Muchas gracias, pero quería confirmar una cosa. ¿se puede guardar como dxf version R12?
gracias de nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:save as dxf

Publicado por Marlon Barrios (11 intervenciones) el 11/11/2009 15:41:18
creo que puedes guardar hacia esa version, solo con un autocad 2000, ó 2002
las nuevas versiones ya no lo hacen...

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de guihe

RE:save as dxf

Publicado por guihe (4 intervenciones) el 12/11/2009 10:01:07
pues muchas gracias de todas maneras.
curioseando en 'Ayuda al desarrollador' parece ser que lo puedo exportar.
Pero vuelvo a tener problemas con el codigo, me da error en:

ThisDrawing.Export NombreArchivo, "DXF"
yo creo que es porque como partimos del Excel, el objeto ThisDrawing no lo entiende, pero no sé como arreglarlo. ¿alguna sugerencia?
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:save as dxf

Publicado por Marlon Barrios (11 intervenciones) el 12/11/2009 17:36:48
Excel????
bueno creo que debieras hacer referencia a la aplicacion de autocad
utilizando la variable donde asignaste la aplicacion
ejemplos

acadapp.export

acadapp.application.export

acadapp.thisdrawing.export

por ahi va la cosa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar