|
AutoCAD VBA : Zeichnung in einen Block laden klappt nicht immer
Arol am 05.07.2009 um 22:35 Uhr (0)
Guten Abend,Ich habe ein Problem und weiß nicht mehr weiter. Das Problem erscheint mit einfach unlogisch, weil es nur in ca. 50% der Fälle eintritt. Ich möchte eine Zeichnung als Block in einen Block laden und darstellen. Mein zuladender Block heißt insideBlock und ist unter C: abgelegt. Der aktuelle Block, in den insideBlock geladen werden soll, heißt mainBlock. Zusätzlich werden im mainBlock andere Zeichenobjekte erzeugt, die problemlos laufen. Der folgende Quellcode funktioniert eigentlich wunderbar, nu ...
| | In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Zeichnung in einen Block laden klappt nicht immer
Arol am 06.07.2009 um 20:31 Uhr (0)
Hallo,also an den Variablennamen liegt es nicht, die Verwirrung kam zustande, da ich nicht den gesamten Quelltext kopiert habe.Das Programm bricht bei der Zeile:Set insideBlockRef = mainBlock.InsertBlock(insidebpkt, insideSource, 1, 1, 1, 0)ab. Fehlermeldung:Laufzeitfehler -2145386445 (80200033)DateifehlerHabe dazu was im engl. Forum gefunden:On Error Resume NextSet myBlockObj = ThisDrawing.ModelSpace.InsertBlock(IPoint, BlockName, XScale, YScale, ZScale, Rotation)If Err = -2145386445 Then Block not yet in ...
| | In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Blockname automatisch generieren und Block einfügen/ersetzen
Arol am 14.02.2009 um 09:22 Uhr (0)
On Error Resume Next habe ich rausgenommen.Wenn ich das Programm in einer leeren Zeichnung, die noch keine Blöcke hat, starte, Zeigt er ein Fehler bei oder besser gesagt markiert er mir:Set Block = ThisDrawing.Blocks.Item(blockname)
| | In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Seiteneinrichtungen mit VBA importieren / Seiteneinrichtungs-Manager
Arol am 19.05.2009 um 13:08 Uhr (0)
Ich habe vor ein Programm zu schreiben, dass das Plotten erleichten soll.Es soll folgendermaßen funktionieren. Beim Starten des Programms im Layoutbereich sollen bestimmte (oder alle) Seiteneinrichtungen aus einer vorgefertigten Datei geladen werden (z.B. C:AcadSeiteneinrichtung.dwt). Danach soll das Programm den eingefügten Zeichnungsrahmen auslesen (Zeichnungsrahmen ist ein Block und hat bestimmten Namen, z.B. A4-quer). Je nachdem welcher Zeichnungsrahmen abgefragt wurde, soll bestimmte Seiteneinrichtung ...
| | In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Block im aktivem Layout suchen
Arol am 28.04.2009 um 22:06 Uhr (0)
Hallo Zusammen,ich habe im Layoutbereich einen Zeichnungsrahmen, der als Block abgespeichert ist und hat z.B. den Namen "A1-HOCH". In einem Layoutbereich darf immer nur ein Zeichnungsrahmen sein aber mehrere andere Blöcke, z.B. Schriftkopf, Schnittsymbol...Nun möchte ich ein VBA Programm schreiben, das den aktiven Layout nach Blocknamen durchsucht. Durch eine CASE Abfrage würde ich je nach Resultat bestimmte Ploteinstellungen zuweisen/festlegen.Mein Problem ist: ich habe einen Blocknamen und möchte wissen, ...
| | In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Blockname automatisch generieren und Block einfügen/ersetzen
Arol am 13.02.2009 um 20:25 Uhr (0)
Alfred,Danke für die sehr schnelle Antwort.Die Funktion replace funktioniert wunderbar. Ich verstehe aber nicht, wieso du sie doppelt einsezt. so funktioniert es bei mir auch:blockname = "Langloch " + Replace(laenge, ",", ".") + "x" + Replace(breite, ",", ".") + "_r" + Replace(radius, ",", ".")zu Punkt 2. mein Quellcode sieht in Moment so aus:Dim Block As AcadBlockDim blockname As StringDim BlockRef As AcadBlockReferenceDim text1 As String Dim IPoint As Variant ...blockname = "Langloch " + Replace(laenge, ...
| | In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Blockname automatisch generieren und Block einfügen/ersetzen
Arol am 13.02.2009 um 16:54 Uhr (0)
Hallo,ich habe ein kleines VBA-Programm geschrieben, das nach Vorgabe (Länge, Breite und Radius) ein Langloch zeichnet und als Block in die Zeichnung einfügt. Der Name von diesem Block wird automatisch erstellt.Nun habe ich 2 kleine Probleme, die ich bis jetzt mit der Suchfunktion und google nicht lösen konnte.1. Das automatische Erstellen des Blocknamens habe ich wie folgt gelöst:blockname = "Langloch " + laenge + "x" + breite + "_r" + radius Set Block = ThisDrawing.Blocks.Add(Bpkt, blockname)Das funktion ...
| | In das Form AutoCAD VBA wechseln |
|
Anzeige:
Anzeige: (Infos zum Werbeplatz)
 |