How i can create DWG using .Net.
While creating DWG file, i have to choose one of the dwg template and
location for created DWG file.
Solved! Go to Solution.
do you want to have it opened in AutoCAD or do you just want to create a new file and open it just in memory?
'first lines in the class have to include: 'Imports Autodesk.AutoCAD Dim tTemplateFileName As String = "C:\TEMP\myTemplate.DWT" Dim tNewFileName As String = "C:\TEMP\newFile.DWG" 'open it in editor Dim tNewDoc As ApplicationServices.Document = ApplicationServices.Application.DocumentManager.Ad
d(tTemplateFileName) tNewDoc.CloseAndSave(tNewFileName) 'open it as database in memory Dim tDb As DatabaseServices.Database = New DatabaseServices.Database(False, True) tDb.SaveAs(tNewFileName, DatabaseServices.DwgVersion.Current)
- alfred -
Just I have to create a DWG with given template and and open it in AUTOCAD.
So, I have written below statements
'open it in editor
Dim tNewDoc As ApplicationServices.Document = ApplicationServices.Application.DocumentManager.Ad
But " tNewDoc.CloseAndSave(tNewFileName)" is not working ... means it is not creating file in given path
Then i changed to
tNewDoc.Database.SaveAs(tNewFileName, true, DwgVersion.Current, tNewDoc.Database.Security
and it is creating file in given location.
Thanks for helping me.....
>> But " tNewDoc.CloseAndSave(tNewFileName)" is not working
Have you started that by a self-defined command? If so have you added the "Session"-flag?
- alfred -
you can define your own commands in your DLL, these commands do work either in document-context or in application-context. If they are working in document-context you can't activate an other document then that and that may be a problem if you try to open and/or to save another document then that where you started the command.
So take care of the attribtutes for your command-definition, one sample including the .Session flag:
<Autodesk.AutoCAD.Runtime.CommandMethod("OOCLoad", Autodesk.AutoCAD.Runtime.CommandFlags.Redraw Or Autodesk.AutoCAD.Runtime.CommandFlags.UsePickSet Or Autodesk.AutoCAD.Runtime.CommandFlags.Session)> _ Public Shared Sub OOCLoad() '.... End Sub
HTH, - alfred -