|
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
kiltswitch am 22.11.2004 um 12:09 Uhr (0)
Hallo, ich habe eine Frage: wie kann ich mit VBA alle Blöcke einer Zeichnung in eine Datei auslesen? Wichtig sind mir dabei die Koordinaten der Referenz-(Basis-)Punkte von den Blöcken, ihre Drehwinkel sowie ihr Name. Denn mit denen will ich weiterarbeiten. Die Darstellung der Daten soll tabellarisch sein -gibts Alternativen zu Excel?. Ich habe hier schon ein bißchen in anderen Threads rumgeschaut, aber noch nicht das richtig passende gefunden. Hat irgendwer einen Tipp oder sogar einen Code? Thanx Tobias
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
kiltswitch am 22.11.2004 um 16:37 Uhr (0)
Hat irgendwer eine Idee, woran es liegen kann, dass die Koordinatenwerte so groß sind? Könnten das durch Rundungsfehler sein? Und was könnte der Grund sein, warum manche Drehwinkel-Werte nicht (korrekt) in die Datei übernommen werden? Bspw. hat ein Block in der Zeichnung die Verdrehung 90°, aber in der Excel-Datei steht der Wert 0 ?! Und meine letzte Frage, die habe ich vorhin schon einmal gestellt: kann ich mit VBA auch eine interne Datei - also keine eines externen Programmes wie Excel - erstellen, welch ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
kiltswitch am 22.11.2004 um 16:55 Uhr (0)
Die Kommawerte habe ich gar nicht beachtet, sondern lasse die Werte - ohne Einflüsse durch mich - einfach nach Excel übertragen. Der Tipp mit Round war gut, die Koordinaten stimmen jetzt. Nur bei dem Drehwinkel bin ich noch nicht im klaren, ob er stimmt. Ich vermute, der Wert in Excel (z.B. steht da 4,71) ist das umgerechnete Bogenmaß. Ich muß das mal zurückrechnen. Mich wundert nur, dass z.B. bei einer Angabe von 10° in der Zeichnung kein Wert in Excel eingetragen wird, da müßte doch wenigstens IRGENDWAS ...
|
| 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 14:08 Uhr (0)
Na aber Pi ist doch eine Variable, die ich weiter oben im Code deklariert habe? Zitat: Original erstellt von CADmium: ersetzte mal Pi durch 3.1415926 !
|
| 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 11:19 Uhr (0)
Zitat: Original erstellt von mapcar: 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. Genau, "oder so"... Ich habe das jetzt gerade probiert, probiert, probiert und trotzdem will es einfach nicht funktionieren. Das ist zum Haareraufen. Mir scheint, gerade mit dem "über ...
|
| 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 14:22 Uhr (0)
Also ich habe den Code gerade mal ausprobiert, aber irgendwie geht das mit der Datei nicht. Ich kann die Excel-Datei nämlich nicht öffnen bzw. beim Öffnen bleibt es hängen?
|
| 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:02 Uhr (0)
Oh, danke! Nun, das Thema ist ja nun sehr komplex und es gibt viele viele Fragen und Teilprobleme: Datenbanken, automatisches Mastzusammensetzen, Blockauslesen, Konzeptbildung.... Da können schon schnell über 100 Beiträge zusammenkommen. Zitat: Original erstellt von CADmium: Offtopic : @kiltswitch : Übrigens : Glückwunsch zum (über) 100. Post zum gleichen Thema!! Rekordverdächtig! [b]SCNR [/B]
|
| 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 08:44 Uhr (0)
Also hat es wie von mir schon vermutet mit dem Bogenmaß zu tun und Excel hat damit Probleme? Wie kann man denn dieses Problem lösen? Wie bekomme ich es hin, dass mir Excel die Werte richtig darstellt, am besten in Grad wie in der CAD-Zeichnung? Gibt es zu Excel eine Alternative? Mein Vorgesetzter meinte, in VBA direkt gäbe es evtl. auch die Möglichkeit, eine Datei zu schreiben - man bräuchte dann evtl. nicht Excel als externes Programm. Stimmt das und wenn ja, was für ein Dateityp wäre das dann und wie kan ...
|
| 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 10:57 Uhr (0)
Verdammt, ich bekomme es einfach nicht hin, dass die Werte der Drehwinkel der Blöcke mit ihrem korrekten Wert in Excel dargestellt werden. :-( Habe schon in der Hilfe rumgesucht, finde dort aber einfach nichts passendes. Auch im Internet schon rumgestöbert - nix brauchbares gefunden. :-( Kann mir keiner helfen? Oben steht ja mein Code da zum Anschauen, ob ein Fehler drin ist. Tobias
|
| 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 14:39 Uhr (0)
Also Nancy ihr Code funktioniert, wenn ich das mit der Pi-Funktion von Excel (WorksheetFunction.Pi) herausnehme und dafür die Variable Pi einsetze, die ich vorher mit dem Datentyp Double deklariert habe. ABER: Es passiert genau das Gleiche wie bei meinem Code, die Werte des Drehwinkels sind in der Exceldatei einfach falsch. Mich wundert, dass es 5 Blöcke gibt, da steht ein Wert drin, der wie bei den anderen Blöcken nicht dem Wert "0" entspricht. Mmh....
|
| 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 14:43 Uhr (0)
Nein, es funktioniert auch so nicht - genau das Gleiche: er legt die Datei an, aber ich kann sie nicht öffnen. Bzw. genauer: er will sie öffnen, aber Excel hängt sich auf. Zitat: Original erstellt von startrek: tja, dumm gelaufen ;-) versuchs mal mit Excelapp vor Worksheetfunction Code: .Cells(rownum, 4) = elem.Rotation * 180 / [b]ExcelApp .WorksheetFunction.Pi ansonsten bin ich für meinen Teil planlos. Nancy[/B]
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
kiltswitch am 22.11.2004 um 14:50 Uhr (0)
Zunächst Danke für Deine Antwort. Den Tipp, mal den Ordner Samples zu durchstöbern, werde ich gern annehmen. Mit ungeordnet meinte ich nur, dass die Werte nicht separat in eigene Spalten abgelegt worden, sondern hintereinanderweg da standen. Aber das Problem habe ich lösen können. Es sollen wie schon erwähnt alle Blöcke/Blockreferenzen der aktuellen Zeichnung in eine Datei ausgelesen werden. Dabei ist der Blockname, die Koordinaten seines Basispunktes sowie sein Drehwinkel von Interesse. Mein Code tut das ...
|
| In das Form Autocad VBA wechseln |