I try it like this,but also not work; the database can not change;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AcETransmit;
using AutoCAD;
using Autodesk.AutoCAD.Runtime;
namespace ETransmitDwg2022
{
internal class MyTransFileNotifier : TransmittalAddFileNotificationHandler
{
public void addFileNotificationHandler(TransmittalFile pFile, TransmittalOperation pTransmit)
{
if (pFile.database != null)
{
AcadDatabase acDb = pFile.database;
if (acDb != null)
{
foreach (AcadBlock block in acDb.Blocks)
{
if (block.IsXRef)
{
block.Bind(true);
}
}
}
}
}
public void beginFilesGraphCreation(TransmittalOperation pTransmit) { }
public void endFilesGraphCreation(TransmittalOperation pTransmit) { }
}
internal class datahandle : TransmittalDatabaseNotificationHandler
{
public int preDatabaseProcessing(object pDatabase, TransmittalFile pFile, TransmittalOperation pTransmit)
{
if (pDatabase != null)
{
AcadDatabase acDb = (AcadDatabase)pDatabase;
if (acDb != null)
{
foreach (AcadBlock block in acDb.Blocks)
{
if (block.IsXRef)
{
block.Bind(true);
}
}
}
}
return 1;
}
public int postDatabaseProcessing(object pDatabase, TransmittalFile pFile, TransmittalOperation pTransmit)
{
if (pDatabase != null)
{
AcadDatabase acDb = (AcadDatabase)pDatabase;
if (acDb != null)
{
foreach (AcadBlock block in acDb.Blocks)
{
if (block.IsXRef)
{
block.Bind(true);
}
}
}
}
return 1;
}
public int convertDatabase(object pDatabase, TransmittalFile pFile, TransmittalOperation pTransmit)
{
if (pDatabase != null)
{
AcadDatabase acDb = (AcadDatabase)pDatabase;
if (acDb != null)
{
foreach (AcadBlock block in acDb.Blocks)
{
if (block.IsXRef)
{
block.Bind(true);
}
}
}
}
return 1;
}
}
public class Class1
{
private static MyTransFileNotifier myTransFileNotifier = new MyTransFileNotifier();
private static datahandle datah = new datahandle();
[CommandMethod("TESTETRANSMIT2022")]
public static void ETransmitDwg2022()
{
TransmittalOperation tro = new TransmittalOperation();
tro.subscribeToAddFileNotification(myTransFileNotifier);
tro.subscribeDatabaseNotification(datah);
TransmittalInfo ti = tro.getTransmittalInfoInterface();
ti.BindType = BindType.eBind;
ti.depathXrefs = 1;
ti.destinationRoot = "D:\\TransmittalSet\\";
ti.saveVersion = SaveDwgFormat.eNoConversion;
ti.visualFidelity = 1;
ti.purgeDatabase = 1;
ti.resetPlotter = 1;
ti.includeDataLinkFile = 0;
ti.includeDGNUnderlay = 0;
ti.includeDWFUnderlay = 0;
ti.includeFontFile = 0;
ti.includeImageFile = 0;
ti.includeMaterialTextureFile = 0;
ti.includeNestedOverlayXrefDwg = 0;
ti.includePDFUnderlay = 1;
ti.includePhotometricWebFile = 0;
ti.includePlotFile = 0;
ti.includeUnloadedReferences = 0;
ti.includeUnloadedXrefDwg = 0;
ti.includeXrefDwg = 1;
TransmittalFile tf = null;
string dwgFile = @"D:\00\Drawing2.dwg";
AddFileReturnVal val = tro.addDrawingFile(dwgFile, out tf);
tro.createTransmittalPackage();
}
}
}