.NET

Reply
Active Contributor
yuh0317
Posts: 47
Registered: ‎12-03-2009
Message 1 of 3 (544 Views)

How to use Export API for autocad document object?

544 Views, 2 Replies
09-12-2012 11:49 PM

 void Export([In, MarshalAs(UnmanagedType.BStr)] string FileName, [In, MarshalAs(UnmanagedType.BStr)] string Extension, [In, MarshalAs(UnmanagedType.Interface)] AcadSelectionSet SelectionSet);

 

Who can tell me how to use Export API?

 

Autodesk.AutoCAD.Interop.AcadApplicationClass acadApp = null;
try
{
acadApp = new Autodesk.AutoCAD.Interop.AcadApplicationClass();
if (acadApp != null)
{
string dwgFileName = @"C:\Test.dwg";
Autodesk.AutoCAD.Interop.AcadDocument document = acadApp.Documents.Open(dwgFileName);
document.Export(...);
document.Close(false);

}
}
catch (Exception ex)
{
Console.Write(ex.ToString());
}
finally
{
if (acadApp != null)
{
acadApp.Quit();
}
}

ADN Support Specialist
Balaji_Ram
Posts: 701
Registered: ‎03-21-2011
Message 2 of 3 (506 Views)

Re: How to use Export API for autocad document object?

09-18-2012 05:15 AM in reply to: yuh0317

Hello,

 

Here is a sample code directly migrated from the ActiveX documentation (acadauto.chm).

 

[CommandMethod("MyExport")]
public void ExportMethod()
{
	Document doc = Application.DocumentManager.MdiActiveDocument;
	Editor ed = doc.Editor;
	AcadDocument acadDoc = doc.AcadDocument as AcadDocument;

	// This example exports the current drawing to DXF format.
	// Note that a valid selection set must be provided, even
	// though the contents of the selection set are ignored.

	// Define the name for the exported file
	string exportFile = null;
	exportFile = "C:\\Temp\\DXFExprt.dxf";
	// Adjust path to match your system

	// Create an empty selection set
	AcadSelectionSet sset = default(AcadSelectionSet);
	sset = acadDoc.SelectionSets.Add("TEST");

	// Export the current drawing to the file specified above.
	acadDoc.Export(exportFile, "DXF", sset);
}

 Hope this helps.



Balaji
Developer Technical Services
Autodesk Developer Network

New Member
Juergen_Becker
Posts: 1
Registered: ‎04-24-2014
Message 3 of 3 (58 Views)

Re: How to use Export API for autocad document object?

08-25-2014 03:42 AM in reply to: Balaji_Ram

Hi,

 

I must export into a object, which are on specific layer.

 

I changed your code as followed:

 

Int16[] hFilterType = new Int16[1];
object[] hFilterData = new object[1];
hFilterType[0] = 8;
hFilterData[0] = "Kontur";
Document doc = Application.DocumentManager.MdiActiveDocument;
Editor ed = doc.Editor;
AcadDocument acadDoc = doc.GetAcadDocument() as AcadDocument;
string exportFile = null;
exportFile = "C:\\Temp\\DXFExport";
AcadSelectionSet sset = default(AcadSelectionSet);
sset = acadDoc.SelectionSets.Add("TEST");
sset.Clear();
sset.Select(Autodesk.AutoCAD.Interop.Common.AcSelect.acSelectionSetAll, Type.Missing, Type.Missing, hFilterType, hFilterData);
sset.Highlight(true);
acadDoc.Export(exportFile, "DXF", sset);

 The selectionset is ok, because the objects are highlighted, but the DXF-File is wrong. The DXF file contains all object objects of the drawing not only the ones on the layer "Kontur".

 

What is wrong with my code?

 

Best Regards Jürgen

Announcements
Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.
Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.