| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY wird von NVIDIA zum Händler des Jahres gewählt - zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Warum funkt das nicht? (sendcommand) (3486 mal gelesen)
|
CB_ Mitglied Bauingenieur
 
 Beiträge: 163 Registriert: 20.01.2004 ACAD 2002, W2k, P4 1800Mhz, 512 MB RAM, 20GB HD, 2 Stck. TFT an Matrox G550
|
erstellt am: 14. Mrz. 2005 13:20 <-- editieren / zitieren --> Unities abgeben:         
Hallo, kann mir jmd sagen, warum dieser Code nicht funktioniert? Dim acadApp As AcadApplication
On Error GoTo error Set acadApp = GetObject(, "AutoCad.Application") error: If Err.Number = 429 Then If MsgBox("Acad ist nicht gestartet, möchten Sie es starten?", vbOKCancel) = vbOK Then Set acadpp = CreateObject("AutoCAD.Application") 'acadApp.Visible = True End If Else MsgBox "ACAD ist gestartet" End If acadApp.ActiveDocument.SendCommand ("filedia" & vbCr & "0" & vbCr) acadApp.ActiveDocument.SendCommand ("öffnen" & vbCr & "C:\tmp\test\1-250.dwg" & vbCr) acadApp.ActiveDocument.SendCommand ("filedia" & vbCr & "1" & vbCr) End Sub
Also ACAD startet mit einem leeren Dokument, aber danach ists aus. Entweder Acad stürzt ab (wenn ACAD bereits gestartet) oder derLaufzeitfehler 91," Objektvariable oder With-Blockvariable ist nicht festgelegt" tritt auf, sobald der erste sendcommand befehl gestartet wird.
MfG CB_ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Abele Mitglied

 Beiträge: 71 Registriert: 09.06.2004
|
erstellt am: 14. Mrz. 2005 13:49 <-- editieren / zitieren --> Unities abgeben:          Nur für CB_
|
CB_ Mitglied Bauingenieur
 
 Beiträge: 163 Registriert: 20.01.2004 ACAD 2002, W2k, P4 1800Mhz, 512 MB RAM, 20GB HD, 2 Stck. TFT an Matrox G550
|
erstellt am: 14. Mrz. 2005 13:53 <-- editieren / zitieren --> Unities abgeben:         
Weil ich die nicht kenne... (schäm) bin absoluter Acad-VB-Noob. Ich versuchs mal mit der open Methode. und wie stelle ich filedia auf 0? Ich muss für einen anderen Befehl alle Dialoge abschalten... hmmmm.. vielleicht stelle ich filedia über ein lisp auf 0???
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CB_ Mitglied Bauingenieur
 
 Beiträge: 163 Registriert: 20.01.2004 ACAD 2002, W2k, P4 1800Mhz, 512 MB RAM, 20GB HD, 2 Stck. TFT an Matrox G550
|
erstellt am: 14. Mrz. 2005 14:17 <-- editieren / zitieren --> Unities abgeben:         
So gehts besser.. acadApp.Documents.Open ("C:\tmp\test\1-250.dwg") acadApp.ActiveDocument.SendCommand ("filedia" & vbCr & "0" & vbCr) 'bis hierhin gehts acadApp.ActiveDocument.SendCommand ("-etransmit" & vbCr & "zip" & vbCr & "C:\tmp\test\1-250" & vbCr _ & vbCr & "j" & vbCr & "n" & vbCr & "n" & vbCr & "j" & vbCr & "n" & vbCr & vbCr) acadApp.Documents.Close ABER: VB ist zu schnell, der Befehl wird schneller übergeben als Acad ihn verarbeiten kann...
Kennt da jmd ne Lösung?? MfG
CB_ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator

 Beiträge: 2494 Registriert: 02.11.2001
|
erstellt am: 14. Mrz. 2005 14:27 <-- editieren / zitieren --> Unities abgeben:          Nur für CB_
@cb_ Ich kenne mich auch nicht sonderlich in VB aus, aber eines weiß ich: "SendCommand" sollte man sicher nur dann nehmen, wenn es anders nicht geht... Geh' mal bitte in den VBA-Editor und benutze die Suche aus dem Objektkatalog... Da kommt bei mir nach der Suche von setvar folgendes raus: Code:
Sub SetVariable(Name As String, Value) Element von AutoCAD.AcadDocument Sets the value of an AutoCAD system variable
Ein Tip: Steig erst mal durch die Objektstruktur und die grundlegende Bedienung des VBA-Editors durch bevor Du wild rum-"sendcommandest". Wenn schon VBA (und nicht lisp) dann einigermaßen richtig.
------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ollibaer2004 Mitglied Dipl. Ing. Versorgungstechnik

 Beiträge: 54 Registriert: 28.06.2004 Athlon 64 4000 Windows Xp ADT7 + Rocad 7 http://tga4acad.de.vu
|
erstellt am: 05. Apr. 2005 13:56 <-- editieren / zitieren --> Unities abgeben:          Nur für CB_
hi zusammen, @cb versuch es doch mal über eine externe script-datei (z.b. test.scr) i(st eine art batch-datei, in der du die befehle in der reihenfolge hinterlegt, wie du sie auch eingeben würdest) aufrufen kann man die dann wie folgt: Private Sub CommandButton5_Click() Dim acadApp As AcadApplication Set acadApp = GetObject(, "AutoCad.Application") 'Dialogboxen unterdrücken acadApp.ActiveDocument.SendCommand ("filedia 0 ") acadApp.ActiveDocument.SendCommand ("_script C:\test.scr" & vbCr) End Sub Inhalt der test.scr (text-datei) ---------------- filedia 1 -etransmit zip "C:\1-250" j n n n n ----------- Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CB_ Mitglied Bauingenieur
 
 Beiträge: 163 Registriert: 20.01.2004 ACAD 2002, W2k, P4 1800Mhz, 512 MB RAM, 20GB HD, 2 Stck. TFT an Matrox G550
|
erstellt am: 05. Apr. 2005 14:13 <-- editieren / zitieren --> Unities abgeben:         
|