|
AutoCAD VBA : dynamischer Block
rexxitall am 22.03.2022 um 23:32 Uhr (1)
Autocad setzt dynamische Block Instanzen als "*U" Blockreferenzen in die Zeichnung. Als Kopie mit allem was dazu gehört. Man kann die Parameter dieser Blöcke ja auslesen. Was bei statischen Blöcken nicht ginge. Wenn du die Blöcke speichern willst must du wenn die Blockdatenbank bemühen.Thisdrawing.blocks.item(...Die Blöcke haben übrigens auch die Eigenschaft "isdynamicBlock" Gehst du nur oberflächlich über die Zeichnung mittels der Blockreferenzen erwischt du Blöcke nicht die nicht in der Zeichnung abgeleg ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : dynamischer Block
rexxitall am 11.04.2022 um 20:55 Uhr (1)
Schieb mal die Zeichnung und deine Bereinigungsroutine hoch. Das scheint mir ein 20 Zeiler zu sein ------------------Wer es nicht versucht, hat schon verlorn Und bei 3 Typos gibts den vierten gratis ! not for sale !
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Copy&paste: objekte nach einfügen automatisch markieren
rexxitall am 22.01.2019 um 13:26 Uhr (1)
Ganz einfach Reaktoren muss man anschubsen. Die Tool Appliction läuft ja dann zwangsweise die ganze Zeit mit. Das will ich einfach nicht Im Gegensatz zu manch einem erstelle ich ja nebenbei auch noch reale Zeichnungen für reale Projekte. Und da ist es ungemein beruhigend, wenn man sicher sein kann, das da nix unerwartet noch mal ebenreinblutgrätscht Habe mal ne Zeichnung mit 500 K Entitys oder mehr.(Weil z.B. mal wieder ein Zulieferer nicht weis wie man mit Acad umgeht und man keine Zeit hat den Müll auch ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Block aus Bibliothekszeichnung einfügen.
rexxitall am 09.06.2013 um 22:02 Uhr (0)
Hi der debugger spinnt der Fehler ist nicht dort Dlockdefinitionen werden in einer tabelle innerhalb einer Zeichnung verwaltet.Das vba element heisst acadblockdefinition.wenn du also aus einer libraryzeichnung solch einen block einfuegen willst musst du die entsprechende blockdfinition dort finden und kopieren. Danach kann man Refrenzen erstellen.Wer es rustikal mag - die ganze zeichnung als block einfuegen und loeschen.Die Block Definitionen bleiben bis zum naechsten purge erhalten.Anbei ein paar zeilen c ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : eingebettes Projekt - Warum?
rexxitall am 13.05.2018 um 06:28 Uhr (1)
Irgendein MAkro was das tut ?Man kann VBA MAkros extern (gute idee) oder intern in der Zeichnung speichernLetzteres auch mit der Lizenz sowas auszuführen wenn die Zeichnug geladen wird.Ich würd mal die Makroausführung komplett abschlaten um zu guggen ob sowas der Fall ist.Wenn ja VBA editor öffenen, Makro suchen und abstellen.Lieben GrußThomas------------------Wer es nicht versucht, hat schon verlorn Und bei 3 Typos gibts den vierten gratis ! for sale !
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : polygon: parallele linie zu einzelnen segment
rexxitall am 08.03.2019 um 13:49 Uhr (1)
Ah, kleiner Fallstrick.Du solltest mit ERASE(POINTS)das Array für jede Polygonlinie zunächst zurücksetzen. Diese Routinen "sammeln" Punkte. Z.B. wenn der Vermesser mal wieder nur Texte in die Zeichnung gesetzt hat und davon träumt, das man damit was anfängt. For each entity in thisdrawing.pickfirstselectionset......Ergibt also EIN Array mit allen Textkoodrinaten um da anschließend Blöcke mit Koordinatenangaben rein zu setzen etc.Deswegen setzen diese Routinen das Array *nicht* selbst zurück.Lieben GrußThom ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Add entitys to block or change blockref insertationpoints
rexxitall am 29.09.2016 um 20:09 Uhr (1)
Wenn man sich den Code genauer angesehen hätte ...... hätt man auch gesehen das der Code genau diesse von Holger und Klak beschriebenen Sachen macht.Was mich bei solchen Sprüchen immer arg verwundert ist die Tatsache das man im ganzen Netz NICHTS brauchbares zu dem Thema findet.Wer also nen VBA Dreizeiler hstt, der das kann, immer her damit Der Hintergrund warum das so unglaublich aufgeblasen wirkt ist die Tatsache das das auch funktionieren soll, wennder Block schräg, verzerrt und gedreht auf der Zeichnu ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Rotated Dimension via Lisp auslesen
rexxitall am 26.01.2016 um 10:20 Uhr (1)
Hi, ich bin kein Lispler, Ich hab auch noch coe rumfliegen der Lisp direkt aufruft, muss nicht über die Uservars sein Mir gehen die Maßketten von Acad seit ewig auf den Zünder, das was die haben ist Steinzeit, das konnte Zeicon vor 30 Jahren schon besser. Ich will Masskettenzüge als ganzes anordnen, erzeugen, verschieben, Maßketten zusammenfassen, aufsplitten...Sprich mir endlich mal die Bemaßungsfunktionen bauen die ICH haben will seit 10 Jahren Geht alles na klar auch so ... Mit endlosem Zeitaufwand.Der ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : automatisch Polygon aus einzelnen Linien erstellen
rexxitall am 05.12.2018 um 14:31 Uhr (1)
Hi, sowas in der Art macht der Befehl JOIN. Nur ist der etwas wählerisch. 3d Polylinien mag der z.B. nicht. Für meine Höhenlinien ist sowas demnächst in der Mache. Haken an der Sache dort, von denen habe ich ein paar tausend in der Zeichnung. Anyhow. Was dem Menschen leicht fällt führt bei brute force Methoden (Enpunktevergleich) zu nicht annehmbaren Laufzeiten. Ich lese derzeit die Koordinaten der Elemente aus, speichere diese in Datensätzen und prüfe welche Endpunkt zusammen passen. Ne Linie oder Polylin ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Referenzen eines Blocks ermitteln
rexxitall am 17.12.2021 um 00:58 Uhr (1)
Layouts und Co sind auch nur Blöcke. Ob ein Block ein Layout ist dafür gibt es im Blockapi eine Eigenschaft isLayout. Nun kann man einmal über alle Blöcke und alle Entities in diesen laufen. So Blockref ist ja auch nur ein Entity(Wesen). Wenn diese dynamisch ist - auch dafür gibt es diesmal bei der Blockref eine Eigenschaft isdynamicBlock. So dies der Fall ist bekommt man den zugehörigen *Ursprungsblock* mit blockref.effective Name heraus. Also ist der Algo wie folgt: Wandere durch alle Blöcke die ein Layo ...
|
| In das Form AutoCAD VBA wechseln |