AutoCAD VBNET 当前文档保存

autocad,vbnet,当前,文档,保存 · 浏览次数 : 2

小编点评

```vbscript ' 获取当前文档的 AcadDocument 对象 Dim aCadDoc As DocumentExtension.AcadDocument ' 检查 DWGTITLED 变量是否为 0,如果为 0,表示不保存图纸 If Application.GetSystemVariable("DWGTITLED") = "0" Then ' 打开保存文件对话框 Dim sfd As New Autodesk.AutoCAD.Windows.SaveFileDialog("输入文件名称", "", "dwg", "另存为", Autodesk.AutoCAD.Windows.SaveFileDialog.SaveFileDialogFlags.NoFtpSites) ' 处理用户选择的结果 If sfd.ShowDialog() = System.Windows.Forms.DialogResult.OK Then ' 保存图纸 aCadDoc.SaveAs(sfd.Filename) ' 写消息到文档编辑器 doc.Editor.WriteMessage("save as complete... " & Environment.NewLine) Else ' 写消息到文档编辑器 doc.Editor.WriteMessage("save as failure ... " & Environment.NewLine) End If End If ' 清理 Com 对象 System.Runtime.InteropServices.Marshal.ReleaseComObject(aCadDoc) ``` **排版说明:** * 使用了简单的排版语法,包括缩进标题、使用圆括号和方括号等。 * 使用了空行和格式控制符等来优化代码可读性。 * 使用了 `System.Runtime.InteropServices.Marshal.ReleaseComObject()` 方法释放了 Com 对象。

正文

当前文档保存总出问题

现在借助com的方法实现了保存文件

    <CommandMethod(NameOf(TT_SaveDrawing))>
    Public Sub TT_SaveDrawing()
        Dim doc As Document = Application.DocumentManager.MdiActiveDocument
        Dim db As Database = doc.Database
        Dim aCadDoc = DocumentExtension.GetAcadDocument(doc) '获取当前文档的acadDocument com对象
        Try
            If Application.GetSystemVariable("DWGTITLED") = "0" Then
                'https://help.autodesk.com/view/ACD/2023/CHS/?guid=GUID-1CA841EC-0313-4A34-8829-0CC0B5FB6FEE
                Dim sfd As New Autodesk.AutoCAD.Windows.SaveFileDialog("输入文件名称", "", "dwg", "另存为", Autodesk.AutoCAD.Windows.SaveFileDialog.SaveFileDialogFlags.NoFtpSites)
                If sfd.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
                    aCadDoc.SaveAs(sfd.Filename)
                    doc.Editor.WriteMessage("save as complete..." + Environment.NewLine)
                Else
                    doc.Editor.WriteMessage("save as failure ..." + Environment.NewLine)
                End If
            Else
                aCadDoc.Save() '调用com的save方法,执行文件保存
                doc.Editor.WriteMessage("save complete..." + Environment.NewLine)
            End If
            'db.Save()==>前台打开图纸的时候(后台不会),使用保存函数db.Save(),无论如何都会出错., // 后台开图,用数据库保存;db.SaveAs(db.Filename, db.SecurityParameters); 
        Catch ex As System.Exception
            Application.ShowAlertDialog(ex.StackTrace)
        Finally
            System.Runtime.InteropServices.Marshal.ReleaseComObject(aCadDoc) '清理com对象
        End Try
        'Application.UpdateScreen()
    End Sub

 

与AutoCAD VBNET 当前文档保存相似的内容:

AutoCAD VBNET 当前文档保存

当前文档保存总出问题 现在借助com的方法实现了保存文件 Public Sub TT_SaveDrawing() Dim doc As Document = Application.DocumentManager.Mdi

AutoCAD VBNET 获取曲线在3个基本平面的投影

求取空间任意曲线在xoy/yoz/xoz平面的投影 Public Sub TT_CurveProjected() Dim doc As Document = Application.DocumentManager.

AutoCAD VBNET 曲线求交点

曲线求取点,利用几何库 Public Sub TT_PolyLineCrossCheck() Dim doc As Document = Application.DocumentManager.MdiAct

VBNET AUTOCAD 单行文字OBB有向包围盒的计算

遇到要求单行文字包围和的需求,发现AutoCAD自带的算法仅能求出正交包围盒,如下图所示的粉色矩形 我想获取下图下图所示蓝色矩形的部分及OBB 计算方法图形示例: 下面是完整的代码,其中求D点的坐标p1涉及到向量定比分点公式

AutoCAD VBA 获取字体样式列表

cad中的可用字体样式 获取windows标准字体 Dim winFontsdir As String winFontsdir = VBA.Environ("windir") & "\Fonts\" If winFontsdir <> vbNullString Then Dim shxfl As S

AutoCAD C# 程序插入OLE图片

参考博客地址 https://www.cnblogs.com/edata/p/17474704.html var fn = @"D:\NetDriveDir\OneDrive\软件工具\MNYT.png"; var bm = Bitmap.FromFile(fn); Clipboard.SetIma

C# AutoCAD 利用Editor.CommandAsync 同步监测自带命令的执行情况

#1官方文档并无相关解释:AutoCAD 2023 Developer and ObjectARX Help | Editor.CommandAsync Method | Autodesk #2 上例子,我用自带的命令画一个圆,画完后我要修改它的颜色,此时该如何操作呢,下面是可用的代码 [Comma