|
Autocad VBA : Delphi
jörgT am 06.12.2004 um 14:22 Uhr (0)
Hallo Leute, folgende Probleme tun sich auf beim Zugriff auf Objekte in ACAD mit Delphi. Im VBA soll ein Zugriff folgendermaßen aussehen: Dim AuswahlP1 As Object Dim Prompt As String Dim PickedPoint As Variant . . Utility.GetEntity AuswahlP1, PickedPoint, Prompt Mit Delphi habe ich folgendes versucht: var PointP1, AuswahlA1 : Variant; begin ACADApp := GetActiveOleObject( AutoCad.Application.16 ); AcadApp.ActiveDocument.utility.getEntity (AuswahlA1, PointP1, Eingabe ); //dies soll in einer Zeile ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Dateiöffnendialog
BloodyMess am 06.12.2004 um 14:22 Uhr (0)
Hallo Gerd,kannst auch nachfolgenden Code in ein Modul kopieren und immer bei Bedarf aufrufen. Ein Beispiel, wie die Funktionen benutzt werden finden sich in DateiDialogStart().Code:Public Declare Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As LongPublic Type OPENFILENAME lStructSize As Long hwndOwner As Long hInstance As Long lpstrFilter As String lpstrCustomFilter As String nMaxCustFilter As Long nFilterIndex As Long lpst ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : X-Y-Z-Koordinaten eindeutig bestimmen
Proxy am 06.12.2004 um 12:56 Uhr (0)
Schon mal heute vor dem Posten F1-Taste gedrückt ? ------------------ " Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?" Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : VBA entladen
Proxy am 07.12.2004 um 12:48 Uhr (0)
Beim Beenden ist das BeginQuit event wichtig und die UnloadDvb-Methode entlädt dir dein Project . ------------------ Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language? Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : VBA entladen
Proxy am 07.12.2004 um 20:19 Uhr (0)
Zitat aus der Hilfe: Code: Sub Example_LoadDVB() This example loads a DVB file and runs a macro contained in the file using the RunMacro method. This example uses a DVB file named drawline.dvb. You should change the example to use a file on your computer. * Note: If you open a DVB file and then run the example to load it, there will be an error when the DVB file is unloaded. Dim FileName As String FileName = c:drawline.dvb Load a sample ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : VBA und Ansichtsfenster
mapcar am 08.12.2004 um 08:22 Uhr (0)
Na, da hast du dir ein schönes Thema für deinen ersten Beitrag hier ausgesucht;-) Um es kurz zu machen: Es geht wohl nicht. Man kann bei einem Viewport zwar viele Eigenschaften auslesen und setzen, aber eben genau die nicht, die du brauchst - den Ansichts-Mittelpunkt! Da fehlt die COM-Methode - und parallel dazu kann man in Lisp mit (entmod) jedes AutoCAD-Entity modifizieren - nur Ansichtsfenster nicht. Ältere AutoCAD-Versionen haben wesentliche Teile der Daten eines Viewports als XData verwaltet. Diese XD ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Vergleich von zwei sequentiellen Dateien
kiltswitch am 01.12.2004 um 09:47 Uhr (0)
Hallo alle miteinander, auch wenn heute noch nicht Donnerstag ist, will ich doch schon eine neue Frage stellen. ;-) Folgendes: ich habe zwei sequentielle Dateien anlegen lassen: "Blockauslesung" und "AP-Koordinaten". Nun will ich den Inhalt dieser beiden Dateien miteinander vergleichen. Treten Übereinstimmungen auf, dann sollen die in einer neuen sequentiellen Datei abgelegt werden. Folgenden Code habe ich mir ausgedacht: Code: Sub Vergleich() Dim Text1, Text2, Text3 Open "Blockauslesung" For Input As # ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Vergleich von zwei sequentiellen Dateien
kiltswitch am 01.12.2004 um 12:59 Uhr (0)
Mmh, so bin ich an die Sache noch gar nicht rangegangen. Ob das eine mögliche Variante ist, weiß ich noch nicht, ich muß mir dazu zunächst Gedanken machen. Wenn ich dann alle Daten in einer Datei hätte - wie finde ich denn dann die Übereinstimmungen heraus? Also wie kann ich in der Datei Vergleiche durchführen? Ich müßte ja einen Code schreiben, mit dem ich Zeilen in der Datei ansprechen kann, oder?
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Vergleich von zwei sequentiellen Dateien
kiltswitch am 01.12.2004 um 13:11 Uhr (0)
Ich habe es noch nicht rausgefunden, aber kann man einer sequentiellen Datei zuweisen, dass diese wieder von Beginn an durchlaufen wird? D.h., nachdem EOF (End of File) erreicht wurde, soll es wieder von Beginn losgehen. Gibt es einen entsprechenden Befehl oder eine Funktion dafür? Tobias
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Vergleich von zwei sequentiellen Dateien
marc.scherer am 01.12.2004 um 15:23 Uhr (0)
Hi, wer zum Teufel spricht von ner neuen Datei??? LIEST Du mal bitte!!! Ich würde in Lisp zwei Listen erstellen, denen Variablen zuweisen: Var1 = (1 2 3 4 5 6) Var2 = (2 5 7 9 10) Und dann deren Werte miteinander vergleichen. Nix neue Datei, Variablen im Speicher! ------------------ Ciao, Marc [Diese Nachricht wurde von marc.scherer am 01. Dez. 2004 editiert.]
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Vergleich von zwei sequentiellen Dateien
Brischke am 01.12.2004 um 17:18 Uhr (0)
Hallo Kiltswitch, Grundlagen! Mehr sage ich dazu nicht. In Anlehnung an Marc, denn was Marc dir schreibt, das sind Prinzipien, unabhängig davon mit welcher Programmiersprache du hantierst. Code: for each ItemVar1 in var1 for each ItemVar2 in var2 Vergleichen, oder was auch immer next next Holger ------------------ Holger Brischke (defun - Lisp over night! Autodesk User Group Central Europe AutoLISP-Programmierung für AutoCAD AUGCE Manager Deutschl ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Vergleich von zwei sequentiellen Dateien
fuchsi am 02.12.2004 um 08:44 Uhr (0)
ohne jetzt auf die variante einzugehen, die dateien zuerst einzulesen und dann erst zu vergleichen. du macht folgenden fehler: die innere schleife läuft bis eof(2). der dateizeiger steht dann natürlich am dateiende und rutscht nicht mehr bach vorne. du müsstest das folgendermassen umbauen: open ...... for input as #2 Do While Not EOF(2) .... Loop close #2 d.h immer erst vor dem inneren schleifendurchgang die datei öfnnen, und dann sofort wieder schlissen. damit steht der dateizeiger immer am schleifenan ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Vergleich von zwei sequentiellen Dateien
kiltswitch am 02.12.2004 um 09:03 Uhr (0)
@fuchsi: Ja, diese Lösung habe ich inzwischen rausbekommen, war aber noch nicht dazu gekommen, dass hier zu erwähnen. Bin heute früh nochmal logisch an die Sache rangegangen und da hat es dann geklappt. Nur das optische Resultat in der neuen Datei gefällt mir noch nicht, aber das ist ja noch optimierbar - die Programmierung stimmt jedenfalls jetzt. Trotzdem Danke für Deine Hilfe. Aber vielleicht kannst Du mir sagen, wie das mit dem Ansatz von Marc und Holger funktionieren würde, also wie der Code wäre? --- ...
|
| In das Form Autocad VBA wechseln |