|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
kiltswitch am 23.11.2004 um 13:14 Uhr (0)
Hallo Mapcar, mal zu Deinem Beitrag. Ich toleriere das, was Du schreibst, aber verstehe doch auch mal mich: ich will nichts weiter wissen als, wie ich das mit dem Drehwinkel hinbekomme. Den Code zum Auslesen habe ich ja da, aber es steckt nun mal ein Fehler drin, das mit RAD und DEG. Ich habe das mit DEG=RAD*180/Pi ja auch schon getestet, aber es klappt einfach nicht, dass die Werte richtig in Excel eingetragen werden. Ich will, dass die Grad-Werte des Drehwinkels vom Block - wie sie in AutoCAD im Eigensch ...
|
| 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 09:44 Uhr (0)
na ich will die Daten auf jeden Fall betrachten. Also ist wohl Excel dann eine Lösung. Ich dachte aber eben, es gäbe vielleicht direkt in VBA so eine Ausgabemöglichkeit in Tabellenform zum betrachten? Hast Du einen Tipp, warum das bei mir mit dem Drehwinkel der Blöcke nicht funktionieren tut? Erkennst Du einen Fehler im oben dargestellten Code? Zitat: Original erstellt von CADmium: wenn du mit deinem VBA-Programm die Daten in eine Datei schreibst, und später diese Daten mit deinem VBA-Programm wieder e ...
|
| 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 09:59 Uhr (0)
Natürlich habe ich mir eure Antworten durchgelesen! Und ich weiß auch, was ihr damit meint. Das Einzigste, was ich nicht weiß, ist, wie ich diese Erkenntnisse nun im Code verarbeite??? DAS ist mein Problem. Die Hilfe habe ich auch schon bemüht, aber noch nicht das Brauchbare gefunden. Zitat: Original erstellt von RoSiNiNo: Was soll ich nun noch sagen, Axel hat dir eigentlich schon erklärt waran es höschstwarscheinlich liegt. Auch ich habe dir diesen Hinweis schon etwas weiter oben angegeben. Meine er ...
|
| 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 13:56 Uhr (0)
Hier nochmal mein Code, was ist denn daran nur falsch, sodaß die Werte des Drehwinkels falsch übertragen werden...? Sub ReadBlockProperties() Dim AcMapEntity As AcadEntity Dim AcMapBlock As AcadBlockReference Dim fso As FileSystemObject Set fso = New FileSystemObject Dim TxtFile As TextStream Dim Pi As Double Pi = 3.141592654 Set TxtFile = fso.OpenTextFile("v:Praxis_KonstruktionsabteilungBlockauslesungausgabe.txt", ForWriting, True) TxtFile.WriteLine ("Blockname") & _ vbTab & ("Block-ID") & _ vbTab & ("X-K ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : mit variablen Werten eine komplette Zeichnung erstellen
RoSiNiNo am 11.08.2003 um 11:24 Uhr (0)
Gib einfach was du willst, und weil ich nicht so bin, gleich noch eine Funktion, dann sparst du dir die unnötige Arbeit. Code: Public Function InsertBlockEx(BlInsertPoint, BlName As String, Optional BlXScale As Double = 1, _ Optional BlYScale As Double = 1, Optional BlZScale As Double = 1, _ Optional BlRotation As Double = 0) As AcadBlockReference Dim BlNew As AcadBlockReference Select Case ThisDrawing.ActiveSpace Case ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : alle Blöcke (und deren Werte) einer Zeichnung in Datei auslesen
CADmium am 23.11.2004 um 09:38 Uhr (0)
Zitat: Original erstellt von kiltswitch: Na gut, dann wird es wohl bei Excel oder einer Textdatei bleiben. Ich dachte nur, dass es direkt in VBA auch eine Möglichkeit gibt, sich die Daten in tabellarischer Form ausgeben zu lassen. Weil mit diesen Daten in VBA weitergearbeitet werden soll, dann bräuchte man vielleicht kein externes Programm.[/B] wenn du mit deinem VBA-Programm die Daten in eine Datei schreibst, und später diese Daten mit deinem VBA-Programm wieder einlesen willst, kannst du das Format ...
|
| 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
mapcar am 24.11.2004 um 11:44 Uhr (0)
Tobias, hast schon gelesen, dass sich da einer beschwert hat, ja? Du löst Masseneimails aus (dieser Thread z.b. erstmal drei Postings von dir selber, bis du irgendwie auf den Punkt gekommen bist)! Es kann doch nicht sein, dass WIR hier rauskriegen müssen, dass bei dir ANGBASE verstellt ist - du hast bei dir bei jedem relevanten Befehl die Warnung auf dem Bildschirm! Das Umrechnungsproblem, das du jetzt noch hast, ist mit dem Mathestoff des 8. Schuljahrs locker abzudecken. Dieses Problem löst DU jetzt ganz ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Schrittweise Auswertung der Zeichnung mit SelectAtPoint
Sagu am 19.03.2007 um 09:28 Uhr (0)
Hallo Wissende,hab am WE mein Code vervollständigt, um danach festzustellen, dass mit der SelectAtPoint Methode im Acad Modellbereich, in dem keine Objekte an diesem Punkt gefunden werden, Objekte der näheren Umgebung herangezogen werden. Genau das sollte nicht passieren! Code:Dim xWert As Double Dim yWert As Double Dim streckeX As Double Dim streckeY As Double Dim rasterschritt As Double Dim lineObj As AcadLine Dim olLinePoint(0 To 2) As Double Dim orLinePoint(0 To 2) As Double Dim urLinePoint ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Schrittweise Auswertung der Zeichnung mit SelectAtPoint
Sagu am 16.03.2007 um 10:13 Uhr (0)
Guten Morgen Stelli1,die Tips die Du mir gegeben hast laufen in AutoCAD super. Das Problem entsteht, wenn ich die Sachen in mein Excel Makro übernehme. Mein Code sieht wie folgt aus:Sub X() Dim i As Integer Dim kx As Double Dim ky As Double Dim r As Double Dim ThisDrawing As AcadDocument Dim centerPoint(0 To 2) As Double Dim radius As Double Dim hatchObj As AcadHatch Dim kreis(0 To 0) As AcadEntity Dim patternName As String Dim PatternType As Long Dim bAssociativity As Boolean Daten der ...
|
| 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 14:22 Uhr (0)
@kiltswitch: Du hast ein erstaunliches Talent, die Leute dazu zu kriegen, deine Arbeit zu machen. Und wenn die Arbeit erledigt, ist bist du auch noch nicht zufrieden. Ich habe es zwar nicht ausprobiert, bin mir aber sehr sicher, dass Nancys Code ganz genau das macht, was du wolltest. Nancy benutzt aber die Pi-Konstante aus den Excel-Funtionen. Warum auch nicht, da gibt es ja eine Pi-Definition. Die gibt es aber nicht, wenn du in ein Textfile schreibst. In diesem Falle musst du Pi selber definieren. Allerdi ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : mit variablen Werten eine komplette Zeichnung erstellen
RoSiNiNo am 08.08.2003 um 13:28 Uhr (0)
zu 1: Code: Dim Radius as double Radius= ThisDrawing.Utility.GetInteger(vbCr & Radius: ) if Radius =0 then exit sub .... Dann mußt du den Einsetzpunkt und den Einsetzwinkel abfragen. Code: Dim EP as Variant Dim Winkel as double EP = Thisdrawing.utility.getpoint (vbcr & Einsetzpunkt: ) Winkel= Thisdrawing.utility.getangle (EP, vbcr & Einsetzwinkel: ) Aufpassen! Wenn du nicht im WKS bist, mußt du den EP auf dein aktuelles BKS umrechnen, und zwar mit ThisDrawing.Utility.TranslateCoordinates( ...
|
| 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 |