| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Text ausrichten (2847 mal gelesen)
|
Balu206 Mitglied
Beiträge: 2 Registriert: 12.02.2012
|
erstellt am: 12. Feb. 2012 10:51 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte mir gern eine Word Clock bauen. Nun fehlt mir noch eine Frontplatte. Die wollte ich mit Inventor (2012) Zeichen. Mein Problem ist, dass ich die Buchstaben nicht ausgerichtet bekomm wie es auf dem bild zu sehen ist. Ist das möglich mit dem Textfeld? Wenn ja wie? Vielen Dank! MfG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lbcad Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau und CAD-Trainer
Beiträge: 3823 Registriert: 15.02.2001 DELL Precision 7520 Win10Pro-64 Inventor mit Vault Professional 2024 --------------------- Während man es aufschiebt, verrinnt das Leben. Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.)
|
erstellt am: 12. Feb. 2012 13:21 <-- editieren / zitieren --> Unities abgeben: Nur für Balu206
|
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 13. Feb. 2012 11:10 <-- editieren / zitieren --> Unities abgeben: Nur für Balu206
Hi, hier mal ein kleines Makro ( natürlich ohne Fehlerbehandlung - wir wollen es ja nicht übertreiben ): Code:
Sub CreateTextPattern() Dim oSketch As Inventor.Sketch Set oSketch = ThisApplication.ActiveDocument.ActivatedObject Dim x, y As Double ' TextBox Koordinaten x = 1 ' X offset y = 1 ' Y offset Dim Letters As String ' Buchstaben Letters = "ABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJK" Dim LetterPos As Integer ' text indexer LetterPos = 1 Dim i, j As Integer ' Rechteck größe For i = 1 To 10 For j = 1 To 11 Call oSketch.TextBoxes.AddByRectangle(ThisApplication.TransientGeometry.CreatePoint2d(i * x, j * y), _ ThisApplication.TransientGeometry.CreatePoint2d(i * x + 1, j * y + 1), _ Mid(Letters, LetterPos, 1)) LetterPos = LetterPos + 1 ' nächste Position Next Next End Sub
Ein Bauteil öffnen und eine leere Skizze aktivieren. Mit ALT+F11 den VBA Editor starten und den Code in das Module1 einfügen. Mit F5 das Makro starten... ------------------ Grüße Igor FX64 Software Solutions - Inventor Tools FX64 LambdaSpect - Lichtsimulation mit Autodesk Inventor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Balu206 Mitglied
Beiträge: 2 Registriert: 12.02.2012
|
erstellt am: 14. Feb. 2012 21:09 <-- editieren / zitieren --> Unities abgeben:
|
Harry G. Ehrenmitglied V.I.P. h.c. one-man-show
Beiträge: 4585 Registriert: 24.01.2003 PDSP2014.1.3; W7.1-64 E3-1240, 16 GB Quadro K2000
|
erstellt am: 14. Feb. 2012 22:25 <-- editieren / zitieren --> Unities abgeben: Nur für Balu206
Mit einem nichtproportionalen Zeichensatz (hier: Consolas) geht es auch so. (Ups, Datei vergessen) (Na, Durcheinander bei den Anhängen)
[Diese Nachricht wurde von Harry G. am 14. Feb. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
daywa1k3r Ehrenmitglied V.I.P. h.c. Softwareentwickler
Beiträge: 3497 Registriert: 01.08.2002 Desktop: 3.3GHz;8GB;SSD OCZ Vertex 3;Gainward Phantom GTX570 Laptop: Alienware m17x Win7, Inventor2012 64Bi
|
erstellt am: 15. Feb. 2012 09:01 <-- editieren / zitieren --> Unities abgeben: Nur für Balu206
Zitat: Original erstellt von Balu206: Hey cool danke Kann ich noch mit ein befehl die Schriftart verändern
Ja: Code:
Sub CreateTextPattern() Dim oSketch As Inventor.Sketch Set oSketch = ThisApplication.ActiveDocument.ActivatedObject Dim x, y As Double ' TextBox Koordinaten x = 1 ' X offset y = 1 ' Y offset Dim Letters As String ' Buchstaben Letters = "ABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJKABCDEFGHIJK" Dim LetterPos As Integer ' text indexer LetterPos = 1 Dim i, j As Integer ' Rechteck größe For i = 1 To 10 For j = 1 To 11 Call oSketch.TextBoxes.AddByRectangle(ThisApplication.TransientGeometry.CreatePoint2d(i * x, j * y), _ ThisApplication.TransientGeometry.CreatePoint2d(i * x + 1, j * y + 1), _ Mid(Letters, LetterPos, 1)) oSketch.TextBoxes(LetterPos).FormattedText = "<StyleOverride Font='Arial' FontSize='1'>" & oSketch.TextBoxes(LetterPos).Text & "</StyleOverride>" ' Hier Font und Größe eingeben LetterPos = LetterPos + 1 ' nächste Position Next Next End Sub
------------------ Grüße Igor FX64 Software Solutions - Inventor Tools FX64 LambdaSpect - Lichtsimulation mit Autodesk Inventor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |