Database 属性 (ActiveX/ATO)
图形文件的数据库对象。 支持的平台:仅限 Windows 命名空间:传输塔利布 程序集: 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, 2024-12-16 00:00
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.