图形文件的数据库对象。 支持的平台:仅窗口 Namespace:传输利布 组装:acETransmit20.tlb 属性值只读:是的 类型:对象 (AcadDatabase) 言论对象在 AutoCAD 对象库中定义。AcadDatabse 发布信息释放:AutoCAD 2005 及更高版本 历史
例子VB.NET: ' Custom command that lists the file dependents
<CommandMethod("FileDependents")> _
Public Shared Sub FileDependents()
' Create a transmittal operation
Dim tro As TransmittalOperation = New TransmittalOperation()
' Setup the transmittal behavior
Dim ti As TransmittalInfo = TransInfo(tro.getTransmittalInfoInterface(), _
"C:\Users\Public\TransmittalAPITest\")
' Define file to add to the transmittal
Dim tf As TransmittalFile = Nothing
Dim dwgFile As String = "C:\AutoCAD\Sample\Sheet Sets\Architectural\A-01.dwg"
' Add file to transmittal and parse its information
If tro.addDrawingFile(dwgFile, tf) = AddFileReturnVal.eFileAdded Then
' Get each of the referenced files in the file being added
Dim tfg As TransmittalFilesGraph = tro.graphInterfacePtr()
Dim rootTF As TransmittalFile = tfg.getRoot()
Dim tfList As New List(Of TransmittalFile)()
tfList.Add(rootTF)
' Step through each of the referenced files identified
While tfList.Count > 0
tf = tfList(0)
tfList.RemoveAt(0)
Dim numberOfDependents As Integer = tf.numberOfDependents
For i As Integer = 0 To numberOfDependents - 1
Dim childTF As TransmittalFile = tf.getDependent(i)
tfList.Add(childTF)
' Get the current editor
Dim acEditor As Editor = Application.DocumentManager.MdiActiveDocument.Editor
acEditor.WriteMessage(Environment.NewLine + "Dependent file name:" & childTF.sourcePath)
' See if the dependent file is a drawing or not
If System.IO.Path.GetExtension(childTF.sourcePath).ToUpper() = ".DWG" Then
' Get the database of the drawing
Dim acDb As AcadDatabase = childTF.database
' If the drawing is not null, display the name sof the layers in the drawing
If Not acDb Is Nothing Then
acEditor.WriteMessage(Environment.NewLine & "Layer Names:")
' Step through each of the layers
For Each acLyr As AcadLayer In acDb.Layers
' Output the names of each layer
acEditor.WriteMessage(Environment.NewLine & " " & acLyr.Name)
Next
End If
End If
Next
End While
End If
End Sub
C#: // Custom command that lists the file dependents
[CommandMethod("FileDependents")]
public static void FileDependents()
{
// Create a transmittal operation
TransmittalOperation tro = new TransmittalOperation();
// Setup the transmittal behavior
TransmittalInfo ti = TransInfo(tro.getTransmittalInfoInterface(), @"C:\Users\Public\TransmittalAPITest\");
// Define file to add to the transmittal
TransmittalFile tf = null;
string dwgFile = @"C:\AutoCAD\Sample\Sheet Sets\Architectural\A-01.dwg";
// Add file to transmittal and parse its information
if (tro.addDrawingFile(dwgFile, out tf) == AddFileReturnVal.eFileAdded)
{
// Get each of the referenced files in the file being added
TransmittalFilesGraph tfg = tro.graphInterfacePtr();
TransmittalFile rootTF = tfg.getRoot();
List<TransmittalFile> tfList = new List<TransmittalFile>();
tfList.Add(rootTF);
// Step through each of the referenced files identified
while (tfList.Count > 0)
{
tf = tfList[0];
tfList.RemoveAt(0);
int numberOfDependents = tf.numberOfDependents;
for (int i = 0; i <= numberOfDependents - 1; i++)
{
TransmittalFile childTF = tf.getDependent(i);
tfList.Add(childTF);
// Get the current editor
Editor acEditor = Application.DocumentManager.MdiActiveDocument.Editor;
acEditor.WriteMessage(Environment.NewLine + "Dependent file name:" + childTF.sourcePath);
// See if the dependent file is a drawing or not
if (Path.GetExtension(childTF.sourcePath).ToUpper() == ".DWG")
{
// Get the database of the drawing
AcadDatabase acDb = childTF.database;
// If the drawing is not null, display the name sof the layers in the drawing
if (acDb != null)
{
acEditor.WriteMessage(Environment.NewLine + "Layer Names:");
// Sstep through each of the layers
foreach (AcadLayer acLyr in acDb.Layers)
{
// Output the names of each layer
acEditor.WriteMessage(Environment.NewLine + " " + acLyr.Name);
}
}
}
}
}
}
}
|
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-10-29 05:57
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.