AutoCAD

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

AutoCAD

Сообщение Niko » 04.04.2007 (Ср) 14:13

Не получается подключить автокад.
Был 2002 все работало, поставил 2004 не работает.
--
Dim Acad As New AcadApplication
Dim objDoc As Object
Dim sysVarName As String
Dim sysVarData As Variant
Dim osMode As Integer
Dim sdiMode As Integer
On Error Resume Next

PathACAD = "C:\Program Files\Autodesk Civil 3D 2006\acad.exe"
J = Shell(PathACAD, 1)

sStr = "C:\projects\niko\ãåîäåçèÿ\Ðèñóíîê1.dwg"

Set Acad1 = CreateObject("AutoCAD.Application")

If Err Then
Err.Clear
Set Acad1 = CreateObject("AutoCAD.Application")
If Err Then
MsgBox "Unable to connect to AutoCAD"
Exit Sub
End If
End If
Set objDoc = Acad1.ActiveDocument
If objDoc.FullName <> sStr Then
objDoc.Open sStr
End If
Acad1.Visible = True
--
Код взял давно и не помню где :(
--
акад запускается но выдает ошибку:
"Unhandled Exception C00000005 (.....) ........"
программа болго думает и в итоге выдает MsgBox "Unable to connect to AutoCAD"
--
В чем может быть ошибка?

VB-constructor
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.07.2006 (Пн) 21:37
Откуда: Ростов-на-Дону

Сообщение VB-constructor » 04.04.2007 (Ср) 22:07

1)
PathACAD = "C:\Program Files\Autodesk Civil 3D 2006\acad.exe"
J = Shell(PathACAD, 1)

sStr = "C:\projects\niko\ãåîäåçèÿ\Ðèñóíîê1.dwg"

Set Acad1 = CreateObject("AutoCAD.Application")
зачем автокад запускать два раза?

(ошибка скоре всего в этом)

2)

Set Acad1 = CreateObject("AutoCAD.Application")

If Err Then
Err.Clear
Set Acad1 = CreateObject("AutoCAD.Application")

это называется если ошибка - попробуем еще раз? :)

3)

sStr = "C:\projects\niko\ãåîäåçèÿ\Ðèñóíîê1.dwg"
это к чему?

P.S. У меня автокад запускается тремя строчками:
(а больше и не нужно)

Dim AppCAD As Object
Private Sub CommandButton1_Click()
Set AppCAD = CreateObject("AutoCAD.Application")
AppCAD.Visible = True

Set AppCAD = Nothing

End Sub

Успехов!
Человек рождён для того, чтобы достичь жизни...

Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Сообщение Niko » 05.04.2007 (Чт) 8:51

Действительно заработало :)
Спасибо.

Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Сообщение Niko » 05.04.2007 (Чт) 14:26

Подскажите плиз.
Как работать с уже открытым Автокадом, т.к. он грузится долго?

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Сообщение Vi » 06.04.2007 (Пт) 9:09

Код: Выделить всё
Set Acad1 = GetObject(,"AutoCAD.Application")
If Acad1 Is Nothing Then
     Set Acad1 = CreateObject("AutoCAD.Application")
End If

Или
Код: Выделить всё
Set Acad1 = GetObject("C:\niko\some.dwg", "AutoCAD.Application")
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26

    TopList