Message 1 of 7

Not applicable
01-23-2014
03:37 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
HI.
i want to save my drawing with the xref so i want to launch "-etransmit" here my code:
Application.SetSystemVariable("FILEDIA", 0) doc.SendStringToExecute("-etransmit" & vbCr & _ "CH" & vbCr & _ "archivage" & vbCr & _ "C" & vbCr & _ "" & Txt & "" & vbCr, True, False, True)
So the TXT contain my path+filename (.zip)
"archivage" is the config for etransmit.
i need to set to 0 the FILEDIA for force my path+name.
it work fine but how i can set to 1 the var ? FILEDIA.
the SendStringToExecute is execute after the end of my prog so i cant add the code after this.
Need to use event ?
I tryed to use this :
'*********************************************************************** '** Fonction Lancement d'une commande Synchrone sur la ligne ** '** de commande d'Autocad ** '*********************************************************************** '** ENTREE (exemple) ** '** Tracé une ligne : '** CommandeSync("_.line", New Point3d(10.0, 20.0, 0.0), New Point3d(80.0, 50.0, 0.0), "") '** Freeze du calque 0 '** CommandeSync("_.vplayer", "_freeze", "0", "_select", "\", "", "") '** '** Note: '** - an empty string ("") means a validation (Enter) '** - an anti-slash ("\" with VB or "\\" with C#) means a pause for user input. '** '** - Texte : Le texte à afficher ** '*********************************************************************** '** with A2013, replace "acad.exe" with "accore.dll" in the DllImport attribute arguments. '******************************************************************************************* <System.Security.SuppressUnmanagedCodeSecurity()> _ <System.Runtime.InteropServices.DllImport("acad.exe", _ EntryPoint:="acedCmd", _ CharSet:=System.Runtime.InteropServices.CharSet.Unicode, _ CallingConvention:=System.Runtime.InteropServices.CallingConvention.Cdecl)> _ Private Function acedCmd(ByVal resbuf As IntPtr) As Integer End Function '''<summary> ''' Call an AutoCAD command (runs synchronously). ''' </summary> ''' <param name="args">The command name followed by command inputs.</param> ''' Public Sub LigneCommandeImmediate(ByVal ParamArray args As Object()) Dim resbuf As New ResultBuffer() For Each obj As Object In args Select Case obj.GetType().Name Case "String" resbuf.Add(New TypedValue(CInt(Autodesk.AutoCAD.Runtime.LispDataType.Text), obj)) Exit Select Case "Int16" resbuf.Add(New TypedValue(CInt(Autodesk.AutoCAD.Runtime.LispDataType.Int16), obj)) Exit Select Case "Int32" resbuf.Add(New TypedValue(CInt(Autodesk.AutoCAD.Runtime.LispDataType.Int32), obj)) Exit Select Case "Double" resbuf.Add(New TypedValue(CInt(Autodesk.AutoCAD.Runtime.LispDataType.[Double]), obj)) Exit Select Case "Point2d" resbuf.Add(New TypedValue(CInt(Autodesk.AutoCAD.Runtime.LispDataType.Point2d), obj)) Exit Select Case "Point3d" resbuf.Add(New TypedValue(CInt(Autodesk.AutoCAD.Runtime.LispDataType.Point3d), obj)) Exit Select Case "ObjectId" resbuf.Add(New TypedValue(CInt(Autodesk.AutoCAD.Runtime.LispDataType.ObjectId), obj)) Exit Select Case "ObjectId[]" For Each id As ObjectId In DirectCast(obj, ObjectId()) resbuf.Add(New TypedValue(CInt(Autodesk.AutoCAD.Runtime.LispDataType.ObjectId), id)) Next Exit Select Case "ObjectIdCollection" For Each id As ObjectId In DirectCast(obj, ObjectIdCollection) resbuf.Add(New TypedValue(CInt(Autodesk.AutoCAD.Runtime.LispDataType.ObjectId), id)) Next Exit Select Case "SelectionSetDelayMarshalled", "SelectionSetFullyMarshalled" resbuf.Add(New TypedValue(CInt(Autodesk.AutoCAD.Runtime.LispDataType.SelectionSet), obj)) Exit Select Case Else Throw New InvalidOperationException("Unsupported type in Command() method") End Select Next acedCmd(resbuf.UnmanagedObject) End Sub
but not wotking. i need to execute de etransmit immediately and after set to 1 the FILEDIA. How i can do ?
Solved! Go to Solution.