• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Discussion Groups

    .NET

    Reply
    Valued Contributor
    RamanSBV
    Posts: 85
    Registered: ‎02-28-2012
    Accepted Solution

    Creating DWG using .Net

    279 Views, 5 Replies
    03-04-2012 08:36 PM

     

    Hi,

     

     

    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.

     

    Regards,

    Raman

    Please use plain text.
    *Expert Elite*
    Posts: 6,404
    Registered: ‎06-29-2007

    Re: Creating DWG using .Net

    03-04-2012 11:09 PM in reply to: RamanSBV

    Hi,

     

    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?

    Both samples:

          '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.Add(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 -

    -------------------------------------------------------------------------
    Alfred NESWADBA
    Ingenieur Studio HOLLAUS ... www.hollaus.at
    -------------------------------------------------------------------------
    Please use plain text.
    Valued Contributor
    RamanSBV
    Posts: 85
    Registered: ‎02-28-2012

    Re: Creating DWG using .Net

    03-05-2012 01:51 AM in reply to: alfred.neswadba

     

     

    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​d(tTemplateFileName)
          tNewDoc.CloseAndSave(tNewFileName)

    But " tNewDoc.CloseAndSave(tNewFileName)" is not working ... means it is not creating file in given path

     

    Then i changed to

     

      tNewDoc.Database.SaveAs(tNewFileName, trueDwgVersion.Current,                          tNewDoc.Database.SecurityParameters);

     

     

    and it is creating file in given location.

     

    Thanks for helping me.....



    Please use plain text.
    *Expert Elite*
    Posts: 6,404
    Registered: ‎06-29-2007

    Re: Creating DWG using .Net

    03-05-2012 09:35 AM in reply to: RamanSBV

    Hi,

     

    >> 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 -

    -------------------------------------------------------------------------
    Alfred NESWADBA
    Ingenieur Studio HOLLAUS ... www.hollaus.at
    -------------------------------------------------------------------------
    Please use plain text.
    Valued Contributor
    RamanSBV
    Posts: 85
    Registered: ‎02-28-2012

    Re: Creating DWG using .Net

    03-05-2012 08:36 PM in reply to: RamanSBV

     

     

    Sorry..I am not understanding what you are saying....can you please elaborate it.

     

    -Raman

    Please use plain text.
    *Expert Elite*
    Posts: 6,404
    Registered: ‎06-29-2007

    Re: Creating DWG using .Net

    03-07-2012 05:50 AM in reply to: RamanSBV

    Hi,

     

    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 -

    -------------------------------------------------------------------------
    Alfred NESWADBA
    Ingenieur Studio HOLLAUS ... www.hollaus.at
    -------------------------------------------------------------------------
    Please use plain text.