.NET
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Batch Process

1 REPLY 1
Reply
Message 1 of 2
aliensinearth
493 Views, 1 Reply

Batch Process

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?

 

 

 

1 REPLY 1
Message 2 of 2
rodrigohbm
in reply to: aliensinearth

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

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th


Autodesk Design & Make Report

”Boost