yuliang2477 发表于 2009-11-19 15:28:00

如何用代码控制CAD打开时的dwt模板

我自已做了一个dwt模板,想让程序执行打开CAd时选用这个模板,请高手指教如何可以实现。

yuliang2477 发表于 2009-11-20 14:56:00

没看明白
Public Sub CADConnect()      
On Error Resume Next
Set Obj_Acad = GetObject(, "autocad.application")
If Err Then
   Err.Clear
   On Error Resume Next
   Set Obj_Acad = CreateObject("autocad.application")
   If Err Then
      Err.Clear
      MsgBox "不能运行AutoCAD,请检查是否安装!", vbOKCancel, "警告!"
      Exit Sub
      End If
End If
Obj_Acad.Visible = True
Set Obj_Doc = Obj_Acad.ActiveDocument
Set Obj_ModelSpace = Obj_Doc.ModelSpace
Bool = True
Block_bool = False
End Sub
我这样打开的CAD都是CAD默认的acadiso.dwt
我是想用vb代码启动CAD,在每次启动时都启动我自己做的DWT(比如123.dwt),而不是CAD默认的acadiso.dwt。
能否给我一段代码参考一下。

wuyunpeng888 发表于 2009-11-22 14:43:00

在这里设置一下不就行了



设置Preferences对象
把那个无 改成你的模板不就行了嘛

yuliang2477 发表于 2009-11-23 21:00:00

能不能用代码在程序里做啊?

wuyunpeng888 发表于 2009-11-23 23:00:00

设置Preferences对象
Application.preferences.Files.TemplateDwgPath
指定“启动”向导所使用样板文件的路径。
语法
object.TemplateDWGPath
object
使用该属性的对象。
TemplateDWGPath
String[字符串]; 可读写
样板文件目录的驱动器名和路径。

wuyunpeng888 发表于 2009-11-23 23:03:00

Sub Example_PageSetupOverridesTemplateFile()
' 注意: 修改文件路径和名称为你系统中的有效文件。
      
      Dim MyFiles As IAcadPreferencesFiles2
      Set MyFiles = AcadApplication.Preferences.Files
      MyFiles.PageSetupOverridesTemplateFile = "C:\MyTemplate.dwt"
End Sub

wuyunpeng888 发表于 2009-11-23 23:05:00

设置 QNEW 命令的默认样板文件名称。
|
语法
object.QNewTemplateFile
Object
使用该属性的对象。
QNewTemplateFile
String[字符串]; 可读写
说明
该属性值控制用于命令的默认样板。要使用该属性,必须声明一个对象为 AcadPrefrencesFiles 对象。

yuliang2477 发表于 2009-11-25 08:38:00

太感谢大家了
我试一下

lwd899 发表于 2011-1-27 08:46:00

我用下面的代码打开的(vb2008):
'连接CAD并打开dwt模板
    Public Sub GetCadwithdwtfrw(ByVal opendwt As Boolean, ByVal dwtpath As String)
      Try
            AcadApp = GetObject("autocad.application")
      Catch ex As Exception
            Try
                AcadApp = CreateObject("autocad.application")
            Catch ex1 As Exception
                MsgBox("无法打开AutoCAD")
                Exit Sub
            End Try
      End Try
      AcadApp.Visible = True
      AppActivate(AcadApp.Caption)
      AcadApp.Documents.Close()   '关闭cad文档
      AcadApp.Documents.Add(dwtpath)'打开dwt模板
      ThisDrawing = AcadApp.ActiveDocument
    End Sub
但是又有这样一个问题,我的dwt模板是cad2007下另存的,昨天在别人的机子上试的时候(他用的是cad2006),发现打开后我设置的图层,文字样式等都没有了,是不是06打不开高版本的dwt?那么我如何做才能让所有版本的cad都能打开已经设置好的dwt模板呢?
页: [1]
查看完整版本: 如何用代码控制CAD打开时的dwt模板