Hi Gentlemen,
Can you please share me a code, to accomplish a list of drawings from a C# list view?
What I want is that,
1. Open each drawing from a list view.
2. Load a lisp file.
3. Save and close drawing.
I am using modeless dialog, Autocad 2013. I tried a lot, but I couldn't do.
I tried with the below code,
public class BatchProcess { [CommandMethod("BP", CommandFlags.Session)] public void GetVolume() { BatchProcessForm bpf = new BatchProcessForm(); Application.ShowModelessDialog(bpf); } } private void buttonStartProcess_Click(object sender, EventArgs e) { DocumentCollection acDocMgr = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager; Document doc; foreach (ListViewItem lvi in listViewDrawingList.Items) { string file = lvi.SubItems[1].Text + "\\" + lvi.Text + ".dwg"; if (File.Exists(file)) acDocMgr.Open(file, false); doc = acDocMgr.MdiActiveDocument; using (DocumentLock lockDoc = doc.LockDocument()) { string lispFile = "c:\Test\Test.lsp"; string commandString = "(load \"" + lispFile + "\") "; doc.SendStringToExecute(commandString, true, false, true); } doc.CloseAndSave(doc.Name); } }
Each file is opening one by one properly. Lisp file is not loading. File closes without saving.
Any help please?
HOLA AMIGO.
me resulte esto con sharpdevelop vb.net autocad 2015
saludos.
<CommandMethod("rvt1")> _
Public Sub formulario()
Dim form1 As Form1 = New Form1()
'Application.ShowModalDialog(form1)
Autodesk.AutoCAD.ApplicationServices.Application.ShowModelessDialog(form1)
End Sub
Sub Btn_actualizaClick(sender As Object, e As EventArgs)
If Listview2.Items.Count = 0 Then
MessageBox.Show("No hay Datos para actualizar")
Exit Sub
End If
Dim acDocMgr As DocumentCollection = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager
Dim Path As String
Dim I As Integer
Me.Hide
For I = 0 To Listview2.Items.Count - 1
Path= lbl_ruta.Text & (Trim(Listview2.Items(I).Text ))
acDocMgr.Open(Path, False)
Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.GetAcadDocument.ZoomExtents()
Dim acDoc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
acDoc.Database.SaveAs(acDoc.Name, True, DwgVersion.Current, acDoc.Database.SecurityParameters)
acDocMgr.MdiActiveDocument.CloseAndDiscard ()
Next I
Me.Show
Listview2.Items.Clear()
End Sub
End Class