|
Autocad VBA : VBA vor einem Befehl ausführen
BloodyMess am 29.07.2004 um 15:35 Uhr (0)
Hallo, ist es möglich, vor einem AutoCAD-Befehl z.B. mapconfigdb, eine eigene VBA-Routine aufzurufen? Einen eigenen Werzeugkasten basteln möcht ich nicht! Vielleicht habt ihr ja eine bessere Idee. Gruß TP
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : VBA vor einem Befehl ausführen
BloodyMess am 30.07.2004 um 19:52 Uhr (0)
Hallo Nancy, das macht nix wegen dem Befehl, ist neu in AutoCAD Map 2005. Mir geht´s nur mal darum, ob das überhaupt möglich ist und ob ich das mit BoardMitteln erledigen kann oder ob ich da ein spezielles Werkzeug brauch. Ich probier das unter Excel mal aus. Erstmal einen Anfang finden und eventuell kommt ja dabei eine zündende Idee. Trotzdem Danke! Schönes Wochenende und Gruß TP [Diese Nachricht wurde von BloodyMess am 30. Jul. 2004 editiert.]
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Command Formulardaten abfragen
BloodyMess am 02.08.2004 um 15:12 Uhr (0)
Hallo Forum, ich bin mir nicht sicher ob das was ich möchte überhaupt zu realisieren ist, aber ich suche immer noch einen Ansatz und komme einfach nicht weiter. Wenn ich den Befehl _block zum Beispiel ausführe - kommt ein AutoCad Formular, welches aus Elementen besteht. Ich möchte gerne, wie auch immer, die Eingaben in den Listboxen, Textfeldern, usw. auslesen und bevor OK gedrückt wird ProgrammCode ausführen und dann erst soll das eigentliche Commando ausgeführt werden, welches hinter dem OK Button liegt. ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Command Formulardaten abfragen
BloodyMess am 03.08.2004 um 08:45 Uhr (0)
Hallo Markus, das es nicht einfach wird, hab ich mir ja schon gedacht, aber irgendwie muss es gehen. Hab jetzt was mit ObjArx gefunden, wo ich mir eine Arx-Datei kompilieren kann, leider fehlen mir dazu ein paar Header (acdb.h, usw.). Da bin ich gerade am suchen, wo ich die finde. Ich glaube zumindest auf dem richtigen Weg zu sein. Mal schauen, wie weit ich damit kommen werde. Gruß TP
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : DVBs laden
BloodyMess am 09.08.2004 um 08:10 Uhr (0)
Hallo, hab endlich eine Lösung gefunden, ohne VB installieren zu müssen. Unter VS .Net gibt es einen Ordner ExtrasVB6 Controls in dem befindet sich eine Reg-Datei, die einfach nur auf dem System, wo die Controls nicht funktionieren, ausgeführt werden muss. In der Readme steht, dass sie eigentlich dazu da ist um Controls von VB 6.0 in .Net zum laufen zu bringen. Gruß von einem glücklichen TP ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Autocad gestartet ?
BloodyMess am 25.08.2004 um 12:38 Uhr (0)
Hallo HJ, das von Nancy ist doch OK, sonst kannst auch das hier benutzen, ist etwas kürzer. Code: Option Explicit Private Declare Function FindWindow Lib user32 _ Alias FindWindowA _ (ByVal lpClassName As String, _ ByVal lpWindowName As String) As Long Private Declare Function IsWindow Lib user32 _ (ByVal hwnd As Long) As Long Sub test() Dim hWindow As Long hWindow = FindWindow(vbNullString, AutoCAD Map 2000i - [ ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Attribute aus Datei erstellen
BloodyMess am 25.08.2004 um 12:44 Uhr (0)
Hallo DoubleB, der Befehl ist in den ExpressTools enthalten. Die solltest Dir mal runterladen und installieren, das sollte funktionieren, auch unter dem normalen Autocad. Wenn Du sie schon installiert hast, dann probier mal noch _attin, das ruft in jedem falle den originalen Befehl auf. Gruß TP [Diese Nachricht wurde von BloodyMess am 25. Aug. 2004 editiert.]
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Autocad gestartet ?
BloodyMess am 25.08.2004 um 16:08 Uhr (0)
Hallo HJ, die Lösung die ich da gefunden hatte, hat mir nicht wirklich gefallen und hab ebend nochmal gesucht und bin über nachfolgenden Code gestolpert. Könnte evtl. besser sein nach der acad.exe zu suchen. Code: Public Declare Function CreateToolhelp32Snapshot Lib Kernel32 _ (ByVal lFlags As Long, ByVal lProcessID As Long) As Long Private Declare Function ProcessFirst Lib Kernel32 Alias _ Process32First (ByVal hSnapShot As Long, uProcess _ As PROCESSENTRY32) As Long Priva ...
|
| In das Form Autocad VBA wechseln |
|
AutoCAD VBA : Autocad gestartet ? Teil 2
BloodyMess am 26.08.2004 um 11:19 Uhr (0)
Hallo HJ, Zitat:Anmerkung : Verwenden Sie die GetObject-Funktion, wenn eine aktuelle Instanz des Objekts existiert oder wenn Sie das Objekt mit einer bereits geladenen Datei erstellen wollen. Wenn keine aktuelle Instanz existiert und Sie das Objekt nicht mit einer geladenen Datei starten wollen, verwenden Sie die CreateObject-Funktion.Daher kommt dein Fehler. Du versuchst ein Object zu händeln, welches garnicht existiert.Gruß TP
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Autocad gestartet ? Teil 2
BloodyMess am 26.08.2004 um 12:37 Uhr (0)
Hallo Ihr Zwei,jetzt muss ich auch nochmal.Wo ist das Problem?Möchtest Du sowas haben, oder ... Code:Public Sub ConnectToAcad()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 acadApp = CreateObject("AutoCAD.Application") acadApp.Visible = True End If Else MsgBox "ACAD ist gestartet" End IfEnd SubGruß TP
|
| In das Form AutoCAD VBA wechseln |
|
Autocad VBA : Acad2004
BloodyMess am 25.09.2004 um 18:30 Uhr (0)
Hallo CNC, ich tippe mal darauf, das Du statt Code: ... AutoCAD.Application ... schreiben solltest Code: ... AutoCAD.Application.15 Bin mir nicht sicher, ob 2004 die .15 hat sonst kuck mal in der Regedit unter HKEY_CLASSES_ROOT - AutoCAD.Application - CurVer was dort als wert eingetragen ist. Das musst Du dann in die Gänsefüsschen schreiben. Wenn dies nicht funktioniert, kannst mal deinen Fehler näher beschreiben und wo´s hängt. Gruß TP ------------------
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Maximieren eines geöffneten Programms
BloodyMess am 25.09.2004 um 19:23 Uhr (0)
Hallo Jürgen, zu 1 tens ... Benutze bitte diesen Link http://ww3.cad.de/foren/ubb/Forum259/HTML/000319.shtml .. und dann erweiterst Du einfach diesen Teil Code: If Left$(aa, InStr(aa, Chr$(0)) - 1) = acad.exe Then MsgBox AutoCAD läuft End If um eine Funktion oder Schleife oder was auch immer, was Dir halt zählt, wie oft das Programm läuft. 1 bekommst Du mindestens zurück, da dein Programm schon läuft, wenn er die Prozesse überprüft. zu 2 tens In meinem Falle war das Object Excel, bei Dir ist ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Auslesen von Blockeigenschaften mittels VBA möglich?
BloodyMess am 02.11.2004 um 11:46 Uhr (0)
Hallo kiltswitch, Ich habe vor, dieses Menü in AutoCAD anzulegen, in welchem ich die Blöcke ansprechen und die Attribute ändern kann. Wie wäre es, wenn Du auf den Block zoomst, dann muss der Benutzer nur noch einen Doppelklick auf den Block machen und hat automatisch die Attributbearbeitung offen. Du kannst Dich einmal per Einzelschritt durch den Code bewegen und diese Zeile auf true und false beobachten. If AcMapEntity.ObjectName = AcDbBlockReference Then Wird die Schleife aufgerufen, gibt es einen B ...
|
| In das Form Autocad VBA wechseln |