Open a drawing file programmatically

Open a drawing file programmatically

Anonymous
Not applicable
3,612 Views
7 Replies
Message 1 of 8

Open a drawing file programmatically

Anonymous
Not applicable

Dear. Developpers.

 

I am trying to open a drawing file programmatically(automatically).

So for example.

 

If I have a file name "test.dwg" and run some custom command like 'openfile", AutoCAD opens "test.dwg" without any prompt.

 

The following code DOESN'T do the job I want.

 

Application.DocumentManager.MdiActiveDocument.SendStringToExecute("OPEN", true, false, true)

 

The problem is I have to hit enter after the above code is run.

 

Would there be any way to do this?

0 Likes
Accepted solutions (2)
3,613 Views
7 Replies
Replies (7)
Message 2 of 8

Anonymous
Not applicable
Accepted solution

Use following code where DictionaryEntry.Key is the name of the drawing to be opened (full name incl. path)

ForEach DictionaryEntry In DictionaryDrawingNames

     If DictionaryEntry.Value = TrueThen

          CurrentDrawings.Open(DictionaryEntry.Key,False)

  EndIf

Next

Cheers

Message 3 of 8

Anonymous
Not applicable

Sorry: forgot to put in the definition for CurrentDrawings which is

Dim CurrentDrawings AsDocumentCollection = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager

Message 4 of 8

Anonymous
Not applicable

Great~! Thx.

 

Could I ask one more question?

 

Do you also know how to open on a currently opened document(window)?

For example, when you first run AutoCAD, "drawing1.dwg" document is opened by default.

So I want to place(or replace) my 'test.dwg" on that document.

 

The code above opens the file in a new window.

 

Thank you a lot for your help. 😃

0 Likes
Message 5 of 8

Alfred.NESWADBA
Consultant
Consultant

Hi,

 

>> The problem is I have to hit enter after the above code is run

You have not sent the "new line" to the commandline, you just sent "OPEN", if you want to work with SendStringToExecute (what I would not prefere if there is another solution available), then do it including sending the carridge-return:

Application.DocumentManager.MdiActiveDocument.SendStringToExecute("OPEN" & vbCr, true, false, true)

 

>> Do you also know how to open on a currently opened document(window)?

>> For example, when you first run AutoCAD, "drawing1.dwg" document is opened by default.

>> So I want to place(or replace) my 'test.dwg" on that document.

Activate the "test.dwg" and close the other drawing? But I'm not sure if that is what you are asking for?

 

- alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
ISH-Solutions GmbH / Ingenieur Studio HOLLAUS
www.ish-solutions.at ... blog.ish-solutions.at ... LinkedIn ... CDay 2026
------------------------------------------------------------------------------------

(not an Autodesk consultant)
0 Likes
Message 6 of 8

Anonymous
Not applicable

Thank you.

 

How can I active a document?

0 Likes
Message 7 of 8

Alfred.NESWADBA
Consultant
Consultant
Accepted solution

Hi,

 

depending on the session-flag in the command-definition when opening a drawing it will be made the active one.

 

If you have a list of drawings already opened and want to make a specific one the active one then set the Application.DocumentManager.MdiActiveDocument = newDoc

or use the COM-version like

ctype(newDoc,Interop.AcadDocument).Activate

 

- alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
ISH-Solutions GmbH / Ingenieur Studio HOLLAUS
www.ish-solutions.at ... blog.ish-solutions.at ... LinkedIn ... CDay 2026
------------------------------------------------------------------------------------

(not an Autodesk consultant)
Message 8 of 8

stevenh0616
Collaborator
Collaborator

This doesn't seem to work for 2013. Says that the CurrentDrawings.open is not a member of the DocumentCollection. Did they move it in the API??

Steve Hill, Civil Designer / .NET Developer / AutoCAD and AutoCAD Civil 3D Certified Professional
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

http://redtransitconsultants.com/
Autodesk Exchange Store
Twitter | LinkedIn | YouTube

0 Likes