|
AutoCAD VBA : Doppelklick
CAD-Huebner am 10.11.2005 um 15:13 Uhr (0)
Komisch, bei mir gings auf Anhieb. Ich hab Interesse halber mal Stellis VBA Code in ein Dokumentenmodul Thisdrawing kopiert und sofort wurde mir der Objekttyp beim Doppelklick angezeigt, auch bei Blockreferenzen mit Attributen. Danach kam dann zusätzlich der EATTEDIT Dialog.Grundsätzlich kann man den Doppelklickmodus von AutoCAD ja auch abschalten.Code:Befehl: DPKLIBEARBDoppelklick-Bearbeitungsmodus eingeben [Ein/Aus] Ein:------------------Mit freundlichem GrußUdo Hübner
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Doppelklick
Stelli1 am 11.11.2005 um 10:25 Uhr (0)
Hallo Bernd,du brauchst den Code nicht in verschiedene dvb verteilen.Die Ereignisbehandlung (Doppelclick etc.) gehört in das Modul Thisdrawing. Die Function fgac_SelectionSet() gehört in ein normales Modul (fgac_ = Funktion Global AutoCAD).In diesem Modul definiertst du ein globales Objekt "ogac_Entity".Code:Public ogac_Entity as AcadEntityPublic Function fgac_SelectionSet() As AcadSelectionSetDim tmpSelSet As AcadSelectionSet On Error Resume Next...In der Ereignis Behandlung belegst du dieses Objekt mi ...
|
| In das Form AutoCAD VBA wechseln |
|
Autocad VBA : McadSymbolBBMgr in VB nach Start zuweisen
bassenc am 11.11.2005 um 10:47 Uhr (0)
Hallo,auf die Schnelle:Ich starte AutoCAD über VB und habe das Problem, dasser mir ne Fehlermeldung rausschmeisst dass das Objekt nicht zugewiesen werden kann. Sobald ich nach dem AutoCAD-start ein bischen warte und den SymbolManager dann "per Button" zuweise funzt es...Hier mal der Standard Beispielcode(Mein eigener Code ist ziemlich zerstreut, ich glaube ihr versteht trotzdem was ich will...):Code:Dim symbb As McadSymbolBBMgr Set symbb = ThisDrawing.Application.GetInterfaceObject("SymBBAuto.McadSymbolBBM ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : McadSymbolBBMgr in VB nach Start zuweisen
Stelli1 am 11.11.2005 um 12:41 Uhr (0)
Hallo,AutoCAD bedient die com Schnittstelle nur wenn es frei ist.Innerhalb von VBA hast du keine Probleme. Wenn du quasi von "aussen" von VB darauf zugreifst ist das unter Umständen (wie bei dir) ein Problem. Es gibt da eine Eigenschaft im Objektmodell die die Verfügbarkeit von AutoCAD angibt (In Befehl, Maske auf etc.). Finde sie aber auf die Schnelle nichtAutoCAD kann aber nur einen Wert zurückgeben wenn es frei ist.Vielleicht kleine Warteschleifenfunktion:(nicht getestet)Code:dim StartZeit as variantdim ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : McadSymbolBBMgr in VB nach Start zuweisen
bassenc am 11.11.2005 um 13:51 Uhr (0)
Hallo Stelli,Ich denke deine Antwort erklärt das Problem...Vielen Dank.Deine 2. Lösung hatte ich auch schon so ähnlich ins Auge gefasst, aber irgendwie gefällt mir das nicht so richtig... sorry Mal sehen vielleicht finde ich ja irgendwo die Eigenschaft bez. der Verfügbarkeit...(Ansonsten wird COM bzw. AutoCAD mich wohl zu den Umstand mit der Schleife zwingen..)Also Danke nochmal.Klasse Community....Gruß,cyplex
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Access -> AutoCAD
mahe01 am 04.11.2005 um 09:16 Uhr (0)
Hallo Stelli,das ging ja FIX, Danke vorerst mal.Aber mit VBA/Access hab ich bis jetzt nur "einfache" Dinge gemacht, wo ich nur ein oder zwei Befehle benötigte, und die Syntax recht einfach waren.(Bsp: Klick auf Button - addiere Feld1 + Feld2)."Teil des Access Objektmodelles" kenn ich leider nicht(kann mir aber vorstellen was das ist:VBA-Teil speziell für ACAD?).Ich benutze noch ein anderes Datenbankprogramm auf den PocketPC (SprintDB, super Programm übrigens), bei diesen Programm muß man sich um die Syntax ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Access -> AutoCAD
mahe01 am 07.11.2005 um 12:54 Uhr (0)
Hallo Stelli,ICH BIN BEGEISTERT, es funktioniert, vielen Dank.Kann man hier Bewertungen abgeben (ich hab mit Forums-Dingen nicht viel Erfahrung).Mit den Klassenmodulen (also für Formulare) und den "allg. Modulen" hast du gut erklärt, für den Einstieg hilft mir das auch weiter.Und das du die Verweise im VBA-Script erwähnt hast war auch Klasse.Ein paar Kleinigkeiten hätte ich noch, vielleicht kannst du nochmal 5 Minuten opfern:1. Ich möchte, daß nach dem "Zoom" oder "Zeichnen" mit deinen Button dieses ACAD ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Access -> AutoCAD
mahe01 am 08.11.2005 um 08:30 Uhr (0)
Also Danke nochmal, hat mir sehr weitergeholfen.Der Aufsatz benutzt SQL, da kenn ich mich einigermaßen aus, jedoch ist die Formularanpassung für die Eingabemasken (und sonst. Programmierung) dort sehr aufwendig (alles mit Editor, nicht wie in Access mit beinahe "Drag & Drop" und "Eigenschaften"),deshalb der ganze Aufwand.Da ich für verschiedene Situatuionen verschiedene Eingabemasken brauche, bin ich in Access schneller, also Access eigentlich nur als "Viewer".Systeminfo:Ich wusste nicht, daß man das angib ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Access -> AutoCAD
mahe01 am 11.11.2005 um 14:59 Uhr (0)
Hallo Stelli,mit topobase werd ich jetzt auf Umwegen zu tun haben, wir müssen einen Datenbestand von unseren GIS-System in das dortige importieren,was das heisst, brauch ich dir wahrscheinlich nicht zu erklären.Sieht aber gut aus, alles auf ORACLE-Ebene.Ich würde mich GERNE mit anderer GIS-Software befassen, aber mir fehlt vor allem die Zeit und die Kosten: was GIS-Software kostet brauch ich dir nicht sagen, außerdem muss man an Schulungen teilnehmen, die auch sehr teuer sind.Handbücher für GIS-Software si ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : GetEntity nicht immer möglich
bassenc am 12.11.2005 um 17:19 Uhr (0)
Hallo,kennt jemand folgendes Problem:Ich nutze GetEntity um ein Objekt (alter Genius14 Rahmen) auszuwählen.siehe Code:Code:Function GetBorderTypeByPick() As String Dim target As AcadObject Dim pt As Variant Dim Hinweis As String Hinweis = "Rahmen Auswählen:" On Error Resume NextACADApp.ACADApp.ActiveDocument.Utility.Prompt "Für Abbruch in Freiraum klicken" & vbNewLineRETRY: Basismodul.BringWindowToTop (ACADApp.ACADApp.hwnd) ACADApp.ACADApp.ActiveDocument.Utility.GetEntity target, pt, Hinweis Ba ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Combobox.rowsource
Stelli1 am 13.11.2005 um 19:03 Uhr (0)
Hallo Bernd,Ich weiss nicht wo der Code herkommt "DBEngine.Workspaces.." ?Sieht wie DAO oder CAO aus.Ich hab mir da eine Klasse gemacht die die Kennungslisten aus der Datenbank holt. Übergibst nur den Namen der Datenbank und fertig.Dann stehen die Listen in einer Collection zur Verfügung.Code: **** Klassenmodul cls_KennungenOption ExplicitPublic Kennung As VariantPublic Value As String *** Klassenmodul cls_Datenbank ***Option ExplicitDim vlst_VorlageMDB As StringPublic ogdb_Connection As New ADODB.Connecti ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Blockvoransicht
Stelli1 am 13.11.2005 um 19:22 Uhr (0)
Hallo Dirk,sollte doch kein Problem sein. Liest du ab einem Startverzeichnis alles DWG rekursiv durch und wendest die Funktion an.Die Dateien kannst du über das Filesystem Objekt ermitteln oder mit der Funktion DIR.Übrigens ist in deiner DVB der Fehler so:Code: Bei dir etwa soDatei = dir("C:TEMP*.WMF"While not Datei ="" Die Rückgabe von Dir ist nur der Dateiname Beim Öffnen fehlt dir der Pfad msgbox Datei Datei =Dirwend besserPfad = "C:Temp"Datei = dir(Pfad &"*.WMF"While not Datei ="" Die Rück ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Objekterstellung durch ActivX-Komponente nicht möglich?
Heiko76 am 14.11.2005 um 09:05 Uhr (0)
Hallo zusammen,ich habe ein Problem bei einem Rechner. Bei der Zeile:Set acad = GetObject(, "AutoCAD.Application")kommt folgende Fehlermeldung:Laufzeitfehler 429:Objekterstellung durch ActivX-Komponente nicht möglichWoran kann das liegen? Es ist AutoCAD Mechanical installiert, also kein reines AutoCAD, aber an anderen Rechnern wo auch kein reines AutoCAD istalliert ist, funktioniert das Tool ja.------------------ cuHeikoSchau mal rein www.mertens-bb.de
|
| In das Form Autocad VBA wechseln |