|
Autocad VBA : Block verändern
mapcar am 23.11.2004 um 15:28 Uhr (0)
sollte ich mich etwas mehr zurückhalten? Quatsch, deine Beiträge halte ich für ausgesprochen kompetent, nicht nur hier. Ich hab ja bei Bewusstsein ein ;-)dahintergesetzt. Mir fehlte eben genau der Hinweis auf Sendcommand oder dergl. So sah es eben aus wie ein Beitrag im Acad-Forum. Gruß, Axel ------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man s hat Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mei ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
kiltswitch am 23.11.2004 um 15:31 Uhr (0)
Also hier nochmal mein Code. Ich habe jetzt auch schon Bücher vor mir liegen und wälze darin rum, ob ich irgendwas zu dem Problem mit dem Drehwinkel finde - leider bisher ohne Erfolg. Mir ist es langsam unerklärlich, wieso das nicht richtig an die Datei übertragen wird. Es muß doch eine Lösung geben... :-( Sub ReadBlockProperties() Dim AcMapEntity As AcadEntity Dim AcMapBlock As AcadBlockReference Dim Pi As Double Dim fso As FileSystemObject Set fso = New FileSystemObject Pi = 3.141592654 Dim TxtFile As Te ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
startrek am 23.11.2004 um 16:45 Uhr (0)
Dein Winkelproblem kann ich nicht nachvollziehen, ebensowenig wie das was Du da zusammencodest. Prüfe mal die Werte im Direktfenster / Lokalfenster [elem] Die kannst Du ja ggf. via copypaste in Excel einfügen und dann Daten/Text in Spalten ... Code: Sub x() Const Pi# = 3.14159265358979 Dim elem As AcadEntity, ip For Each elem In ThisDrawing.ModelSpace If TypeOf elem Is IAcadBlockReference Then ip = elem.InsertionPoint Debug.Print ip(0), ip(1), ip(2), elem.Rotat ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
kiltswitch am 23.11.2004 um 16:55 Uhr (0)
Danke für den Tipp. Aber wieso denkt ihr denn alle, ich würde eure Tipps nicht beherzigen?Dein Code von vorhin habe ich z.B. auch ausprobiert - ich habe ALLES getestet und jeden Tipp angenommen. Nur habe ich eben damti noch nicht das Problem lösen können. Tschüs Tobias Zitat: Original erstellt von startrek: und versuche bitte bitte auch mal, das eine oder andere was hier gepostet wurde zu beherzigen. Mehr kann und will ich auch nicht dazu sagen. Nancy
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Probleme mit Excel
RalphRX8 am 23.11.2004 um 19:56 Uhr (0)
Hallo zusammen, ich habe bei meiner Arbeit ein Tool programmiert mit welchem von AutoCAD auf Excel zugegriffen wird. Öffnen der Tabelle mit folgender Methode: Dim Tabelle as workbook Set Tabelle = Workbooks.open("Pfad") Bei der Arbeit hat das prima funktioniert. Leider nicht bei mir zu Hause. Kann es daran liegen, das wir in der Arbeit die Objekt-Library Excel-9 haben und ich zu Hause die 8er Version. Wie greift Ihr aufs Excel zu?
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
mapcar am 23.11.2004 um 21:25 Uhr (0)
Tobias, bitte versuch mal, nur das zu zitieren, worauf du dich beziehst. Ich habe deinen letzten Beitrag dahingehend geändert (wie schon ein paarmal). Wiederholungen gibt es schon genug, und wenn Codepassagen dann auch immer noch in Zitaten wiederholt werden, wird das alles sehr schwer lesbar. ------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man s hat Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mei ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
kiltswitch am 24.11.2004 um 08:04 Uhr (0)
Hallo Mapcar, in Ordnung, ich werde mich daran halten. Tobias Zitat: Original erstellt von mapcar: Tobias, bitte versuch mal, nur das zu zitieren, worauf du dich beziehst. Ich habe deinen letzten Beitrag dahingehend geändert (wie schon ein paarmal). Wiederholungen gibt es schon genug, und wenn Codepassagen dann auch immer noch in Zitaten wiederholt werden, wird das alles sehr schwer lesbar.
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
kiltswitch am 24.11.2004 um 08:43 Uhr (0)
Guten Morgen Nancy, also ich habe jetzt mal Deinen Ratschlag befolgt und mit Deinem oben angegebenen Code die Werte im Direktfenster / Lokalfenster überprüft. Bei allen Blöcken (AcadBlockReference) stimmen die Werte der Rotation im Lokalfenster mit denen in der Exceltabelle überein. Das heißt ja dann wohl, die Werte werden richtig an Excel übertragen, oder...? Copy/Paste bringt mir nichts. Ich könnte zwar die Werte so in die Excel-Tabelle eintragen, aber das will ich ja nicht. Die Werte sollen automatisch ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
startrek am 24.11.2004 um 09:31 Uhr (0)
Moin Tobias, nen Tip hab ich nicht auf die Schnelle, ausser geh mal die Sub im Einzelschritt mit F8 durch. Im Lokalfenster schaust Du mal, sobald elem belegt wurde, was da unter Rotation steht und vergleichst mal mit den Werten im Direktfenster. Sorry, bin etwas in Eile, siehe Pic. Gruss Nancy
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
kiltswitch am 24.11.2004 um 09:48 Uhr (0)
Ok, habe das mal gemacht. Also aus dem Lokalfenster die Bogenmaßwerte werden über die Formel *180/Pi (im Code) in die Gradzahlen umgerechnet, welche dann im Direktfenster stehen. Diese Werte findet man dann auch in der Exceltabelle wieder, denn im Grunde ist diese Tabelle ja nur eine ähnliche Abbildung vom Direktfenster, könnte man so sagen. ABER: Was ich jetzt gerade geprüft habe, darum geht es mir ja jetzt gar nicht so richtig! Sondern ich will herausfinden, warum im AutoCAD-Menü "Eigenschaften" bei den ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
mapcar am 24.11.2004 um 09:55 Uhr (0)
Keine Ahnung, was du da machst. Ich habe diesen Code von Nancy ausprobiert: Code: Sub x() Const Pi# = 3.14159265358979 Dim elem As AcadEntity, ip For Each elem In ThisDrawing.ModelSpace If TypeOf elem Is IAcadBlockReference Then ip = elem.InsertionPoint Debug.Print ip(0), ip(1), ip(2), elem.Rotation * 180 / Pi End If Next End Sub Ein Block, sukzessive um 90° gedreht, ergibt dieses Ergebnis im DFenster: Code: 13,2 11,5 0 ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
kiltswitch am 24.11.2004 um 10:36 Uhr (0)
Hallo Axel, ich habe soeben mal eine neue Zeichnung geöffnet und einen Block eingefügt. Das mit dem Direktfenster, wie Du es oben gemacht hast, habe ich daran ausprobiert. Und da funktioniert das mit den Winkelwerten auch! Und ich weiß jetzt den Grund, warum das bei mir nicht geht! Wir konstruieren hier doch Mobilfunkmasten für den Mobilfunkanbieter. Und von dem gibt es eine Richtlinie, dass der Drehsinn IM UHRZEIGERSINN sein muß und der Basiswinkel im Menü "Format -- Einheiten" auf Nord (270°) gesetzt we ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
mapcar am 24.11.2004 um 10:45 Uhr (0)
Na ja, dafür braucht man doch nicht Mathe studiert haben: Für ANGDIR (360 - w) bzw. (2pi - w), und wenn ANGBASE hinzukommt, halt (270 - w) oder so. Auf jedenfall solltest du eine Umrechnung verwenden, die nicht über 360 hinausgeht - der Mod-Operator in VBA kann keine Kommazahlen. Dir sollte aber klar sein, dass ANGDIR nicht die Zeichnung selbst beeinflusst. Das ist nur eine Eingabehilfe. Du musst entscheiden, ob die Winkel auch so (UZ-Nord) in die Tabellen sollen. Dann musst du sie eben umrechnen. Gruß, A ...
|
| In das Form Autocad VBA wechseln |