| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Alle Textstile in einer Zeichnung ändern (4738 mal gelesen)
|
Netwurm Mitglied Technische Zeichnerin (Elektrotechnik)
Beiträge: 37 Registriert: 29.08.2004 AutoCAD 2014 - Deutsch Windows 7 Professional 64-bit
|
erstellt am: 24. Sep. 2009 09:04 <-- editieren / zitieren --> Unities abgeben:
Hallo Ich bin (mal wieder ) ratlos und bräuchte Hilfe. In einer Zeichnung mit verschiedenen Textstilen möchte ich diese alle auf "Arial Narrow" und auf "kursiv" setzen. Aber wenn ich nach Durchlaufen des Makros mir die Textstile ansehe, dann ist zwar der Schriftfont und Schriftname richtig gesetzt, aber der Schriftstil steht immernoch auf Standard statt auf kursiv. Also muss ich trotzdem mit der Hand alles ändern und im Prinzip nix gewonnen. Nachstehend habe ich ma den Code gepostet. Für einen kleinen Denkanstoss wäre ich sehr dankbar. Viele Grüße Netwurm
Code: Sub run_Textstyles()Dim elem As Object Dim TextStyle As AcadTextStyle Dim allTextstyles As AcadTextStyles Set allTextstyles = ThisDrawing.TextStyles Dim FontFile As String FontFile = "C:\WINDOWS\Fonts\ARIALNI.TTF" Dim typeFace As String typeFace = "Arial Narrow" Dim Bold As Boolean Dim Italic As Boolean Italic = True Dim charSet As Long charSet = 0 Dim PitchandFamily As Long PitchandFamily = 34 Dim i As Long For i = 0 To allTextstyles.Count - 1 Set TextStyle = allTextstyles.Item(i) ThisDrawing.ActiveTextStyle = TextStyle ThisDrawing.ActiveTextStyle.SetFont typeFace, Bold, Italic, charSet, PitchandFamily ThisDrawing.Regen acAllViewports Next End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 ACAD 2008 Mechanical
|
erstellt am: 24. Sep. 2009 09:13 <-- editieren / zitieren --> Unities abgeben: Nur für Netwurm
du schaltest den aktiven Textstil um .... ist eigentlich nur 1x sinnvoll .. nicht mehrmals in einer Schleife ... vielleicht eher so ? For i = 0 To allTextstyles.Count - 1 Set TextStyle = allTextstyles.Item(i) TextStyle.SetFont typeFace, Bold, Italic, charSet, PitchandFamily Next
ThisDrawing.Regen acAllViewports
------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Netwurm Mitglied Technische Zeichnerin (Elektrotechnik)
Beiträge: 37 Registriert: 29.08.2004
|
erstellt am: 24. Sep. 2009 10:22 <-- editieren / zitieren --> Unities abgeben:
|
Ex-Mitglied
|
erstellt am: 24. Sep. 2009 10:40 <-- editieren / zitieren -->
Hi, nur vorsichtshalber, nachdem ich ARIALNI.ttf nicht kenne: es gibt Fonts, die keine Kursiv-Darstellung haben und da ist dann auch nicht's mit kursiv einschalten. Probier mal händisch im TextStil-Dialog, ob Du bei diesem TTF die Option 'Kursiv' überhaupt wählen kannst. - alfred - ------------------ www.hollaus.at |
Netwurm Mitglied Technische Zeichnerin (Elektrotechnik)
Beiträge: 37 Registriert: 29.08.2004
|
erstellt am: 24. Sep. 2009 11:14 <-- editieren / zitieren --> Unities abgeben:
|
Ex-Mitglied
|
erstellt am: 24. Sep. 2009 11:47 <-- editieren / zitieren -->
Hi, leider schlechte Nachricht, funktioniert auch nicht in 2010 (bug). Du erkennst auch, wenn Deine Schleife durchgelaufen ist und Du startest dann den Textstil-Dialog: jedesmal, wenn Du von einem Stil zum nächsten wechselst (ohne etwas zu ändern), fragt Dich AutoCAD, ob die Änderungen gespeichert werden sollen. Wird wohl auf 'SendCommand' und '_-style' hinauslaufen müssen. Sorry, - alfred - ------------------ www.hollaus.at |
Netwurm Mitglied Technische Zeichnerin (Elektrotechnik)
Beiträge: 37 Registriert: 29.08.2004
|
erstellt am: 24. Sep. 2009 12:04 <-- editieren / zitieren --> Unities abgeben:
|
Netwurm Mitglied Technische Zeichnerin (Elektrotechnik)
Beiträge: 37 Registriert: 29.08.2004 AutoCAD 2014 - Deutsch Windows 7 Professional 64-bit
|
erstellt am: 24. Sep. 2009 12:52 <-- editieren / zitieren --> Unities abgeben:
Nochmal ich Jetzt funktioniert es. Ich bin einfach nur ein bisschen betriebsblind gewesen. Hier der geänderte Code: Code: Sub run_Textstyles()Dim TextStyle As AcadTextStyle Dim allTextstyles As AcadTextStyles Set allTextstyles = ThisDrawing.TextStyles Dim FontFile As String FontFile = "C:\WINDOWS\Fonts\ARIALNI.TTF" Dim i As Long For i = 0 To allTextstyles.Count - 1 Set TextStyle = allTextstyles.Item(i) ThisDrawing.ActiveTextStyle = TextStyle TextStyle.FontFile = FontFile Next ThisDrawing.Regen acAllViewports End Sub
Viele Grüße Netwurm Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 24. Sep. 2009 12:55 <-- editieren / zitieren -->
Hi, aber das setzt nicht auf Italic, oder? - alfred - ------------------ www.hollaus.at |
Netwurm Mitglied Technische Zeichnerin (Elektrotechnik)
Beiträge: 37 Registriert: 29.08.2004
|
erstellt am: 24. Sep. 2009 14:30 <-- editieren / zitieren --> Unities abgeben:
|
bikerholic Mitglied Bauzeichner Straßenbau
Beiträge: 123 Registriert: 06.02.2009 XP Professional SP2 Intel Pentium x86 2.40GHz 1GB-Ram, Maxtor 60GB NVIDIA GeForce4 MX 420 mit 64MB AutoCAD 2005&2008&2010(Civil3D)+SP2+Expresstools google und ich san beste freunde ;)
|
erstellt am: 02. Okt. 2009 11:11 <-- editieren / zitieren --> Unities abgeben: Nur für Netwurm
hai netwurm hatte mal was in nem anderen forum über nen textstyle konverter gelesen vieleicht wäre ja das was für dich gugst du hier ---> textstyle konverter gruß björn ------------------ Wenn Arbeit etwas schoenes und erfreuliches waere, haetten die Reichen sie nicht den Armen ueberlassen. [Paul Lafargue] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
iphone747 Mitglied Studium
Beiträge: 1 Registriert: 21.11.2013
|
erstellt am: 21. Nov. 2013 19:45 <-- editieren / zitieren --> Unities abgeben: Nur für Netwurm
Guten Abend, ich bin neu hier im Forum und bin durch Zufall auf dieses Thema gestoßen, da ich gerade vor dem Selben Problem stehe. Ich habe auch unzählige Autocad Zeichnungen und würde gerne ohne großen Aufwand bei allen Zeichnungen die gleiche Schriftart haben. Das mit dem VB-Code sieht mir nach einer klasse Lösung aus könnte mir hier bitte jemand weiterhelfen wie ich diesen Code anwenden muss, bzw. wie das dann letzten endes funktioniert? Gruß und vielen Dank an alle! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2624 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 24. Nov. 2013 00:46 <-- editieren / zitieren --> Unities abgeben: Nur für Netwurm
Darf man fragen wieviel Erfahrung Du schon mit Programmierung und Autocad hast? Und was genau Dein Anliegen wäre? So wie hier alle Textstile auf den gleichen Wert stellen oder allen Texten den gleichen Textstil zuweisen (wie sieht es bei Blockattributen aus)? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |