|
AutoCAD VBA : ein selektion mit eimem crossing
dw am 19.11.2008 um 15:46 Uhr (0)
Hallo,habe da ein problem mit das selectieren im autocad,ich kann nicht diverse objekten wahlen dürch eine crossing.das ist meine code....was mach ich da falsch??Private Sub selektzelf_Click()Call ExcelKoppelenDim O As AcadEntityDim P As VariantCall AutoCAD.ZoomAllMe.HideHier kommt meine fehler meldung.... Call ThisDrawing.Utility.GetEntity(O, P, "selekteer een block")Call ThisDrawing.Utility.GetEntity(O, P, "een tekst")Dim blok As AcadBlockReferenceSet blok = ODim attributen As VariantIf blok.HasAttribute ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Datei blockattr.xls/dwg funktioniert nicht
TS84W am 20.11.2008 um 12:58 Uhr (0)
Hallo AlfredBesten Dank für die prompte Antwort!zu a) die Zeichnung in der Anlage war die Originalzeichnung, die mit der xls-Tabelle so runtergeladen wurdezu b) xls97, siehe Profil (...der Anfänger lernt im Forum...)So wie ich (laienhaft) einiges aus dem Code zu verstehen glaube, könnte es tatsächlich dort liegen. Was jetzt gefragt wäre, ist ein Lösungsansatz für x attribute (können bis 30 Stk. sein) bzw. Spalten in xls bis keine Attribute mehr vorhanden sind und immer in "D" beginnen.Besten DankGruss Thom ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Datei blockattr.xls/dwg funktioniert nicht
TS84W am 19.11.2008 um 21:01 Uhr (0)
Guten Tag VBA-ProfisAuf der Suche nach einer Funktion, aus x 100 Blöcken Attribute auszulesen, zu ergänzen und wieder in die selbe Blockreferenz zurück zu schreiben, bin ich nach einigem Suchen auf die Datei blockattr.xls/dwg gestossen. Leider finde ich den entsprechenden Beitrag im Forum nicht mehr..... Das tool ist eigentlich genau, nach was ich gesucht habe. Das Problem ist, dass wenn der Block mehr als 10 Attribute aufweist, die Übergabe an Excel nicht richtig funktioniert, d.h. es werden nur ein Teil ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : InsertBlock langsam - Alternativen ?
alfred neswadba am 20.11.2008 um 16:38 Uhr (0)
Hi Klaus,was mir auffällt (aber nichts davon probiert):a) DoEvents == ist zwar nett von Dir anderen (Applikationen) gegenüber, aber damit gibst Du Rechenleistung herb) probier das mit UNDO ausschalten, wenn ich es richtig verstehe, brauchst Du das für Dich und es wird keine Applikation, die ausser Haus geht, dann kannst Du auch damit umgehenc) Du greifst mehrfach auf Texte(i) zu, bei jedem Zugriff rast Dein Prozessor das Memory/den Array durch, das geht am Anfang noch schnell, aber bei i=70000 muss er bei ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : InsertBlock langsam - Alternativen ?
KlaK am 20.11.2008 um 13:29 Uhr (0)
Hallo zusammen,muß auch mal wieder eine Frage stellen:Ich habe ein Programm, das Blöcke in eine Zeichnung einträgt. Aber: Es dauert ewig bis er damit fertig ist.Zu den Grundvoraussetzungen:DWG mit ca. 400 vordefinierten BlöckenBlöcke werden ohne Attribute aus einer im Speicher befindlichen Liste mittels der .InsertBlock Methode eingetragen.Bei 70 000 einzutragenden Punkte ist AutoCAD inzwischen 3 Stunden beschäftigt.Ein Versuch ohne BlockRefObj.Update bringt minimale Verbesserung.Wie macht Ihr das bei groß ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : InsertBlock langsam - Alternativen ?
alfred neswadba am 20.11.2008 um 13:51 Uhr (0)
Hi Klaus,für solche Fälle stehe ich grundsätzlich auf dotNET, da fahren wir in einer Applikation (Raumplanung) je Darstellung generieren (ein Großteil davon Blöcke) samt Berechnungsfunktionen wie Dissolve, ... in der Regel 100.000 Objekte und das in 2min.Mit VBA hast Du spätestens mit 64bit-Version von AutoCAD einen zusätzlichen Verlangsamungsfaktor von 10, damit fällt für mich VBA (ausser für schnelle, ganz kleine, nur wenige male verwendete Makros) raus.Ich nehme auch an, dass Du wohl schon bei den Blo ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : InsertBlock langsam - Alternativen ?
Stelli1 am 21.11.2008 um 12:14 Uhr (0)
Hallo Klaus,womit hast du dein Proggi denn gemacht? VB6/A oder AutoCAD VBA ?Wenn du AutoCAD von "aussen" z.B. aus VB6 über die AktivX Schnittstelle steuerst ist das ca. 100 mal langsamer als aus VBA in AutoCAD.Wilfried Stelberg------------------Warum lispeln wenns auch anders geht. www.ib-stelberg.de
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : InsertBlock langsam - Alternativen ?
KlaK am 22.11.2008 um 11:59 Uhr (0)
Hallo,Scheint ja wirklich an der Liste zu liegen, bin aber gerade noch am testen. Werde die Ergebnisse der Messungen später hier offenlegen.@Stelli: Prog ist momentan in AutoCAD VBA. Danke für den Hinweis, dass es über VB6 von außen soviel langsamer ist, dann brauche ich das ja gar nicht erst probieren.Hab noch mal nachgedacht und festgestellt, dass ich die Texte / Symbole (=Blöcke)- im gleichem Datensatz - ja gleich beim Einlesen zeichnen kann. Damit geht es schneller. Wie es dann bei ESRI läuft muß man s ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : InsertBlock langsam - Alternativen ?
KlaK am 22.11.2008 um 17:18 Uhr (0)
Hallo Wilfried, Zitat:.. dann mach doch ein Cross Grade von Map auf Autodesk Topobasewäre traumhaft, aber da spielt leider der Chef noch nicht mit. Schlage es ja regelmäßig seit zwei Jahren vor, aber wir Vermesser sind da bei den vielen BauIng leider auf verlorenem Posten. Für "normales" Einlesen haben wir zwei Programme, eines kann auch intern Datenbankverknüpfungen machen und die Gebäude schraffiert ausspielen. Diese dann wieder so exportieren, dass auch ArcView was damit anfangen kann ( Nein ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Datei blockattr.xls/dwg funktioniert nicht
TS84W am 23.11.2008 um 12:49 Uhr (0)
Hallo AlfredBesten Dank für den Hinweis. So wie ich das mittlerweile "lesen" kann, könnte es tatsächlich an einer Bereichsbegrenzung scheitern. Hast Du ev. einen Lösungsansatz, um diesen Bereich definiert zu erweitern bzw. unbegrenzt zu machen?Besten Dank schon im VorausGruss Thomas
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Datei blockattr.xls/dwg funktioniert nicht
alfred neswadba am 23.11.2008 um 14:30 Uhr (0)
Hi,leider nein, weil zum einen ich kein Acad2002 mehr habe (das könnte ich aber noch aus meinem Gedächtnis herauskrammen und zumindest halbwegs plausible Tips geben), aber bei Excel97 steig ich definitiv aus. Suchen würde ich an Deiner Stelle nach Adressierungsmöglichkeiten, die Spalten nicht per Buchstabe, sondern per Zahl anzugeben, aber eben dazu bräuchte ich es irgendwo installiert.- alfred -
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : InsertBlock langsam - Alternativen ?
alfred neswadba am 23.11.2008 um 15:12 Uhr (0)
Hi Klaus, Zitat:Großen Einfluß dagegen hat der Zeitpunkt der Ausführung. Nach dem Neustart von AutoCAD ist das Programm sehr schnell...ist normal, in Schulungen empfehle ich, AutoCAD (insbesondere wenn es sich um Map3D oder Civil3D handelt) alle 2 Stunden mal zu schliessen, im Taskmanager warten, bis es sich wirklich beendet hat, und dann neu zu starten.Begründung: Das Betriebssystem kann nicht alle Speicherreservierungen so freigeben, dass diese wieder vollständig genutzt werden können (so wächst der Spei ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Datei blockattr.xls/dwg funktioniert nicht
TS84W am 23.11.2008 um 16:16 Uhr (0)
Hallo AlfredMerci für die Tipps, werde entsprechend weiter suchen.Gruss Thomas
|
| In das Form AutoCAD VBA wechseln |