| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
| |
 | Solid Edge 2025 First Look Online-Event 14.11.2025, eine Pressemitteilung
|
Autor
|
Thema: Schriftart ändern per journal (3525 mal gelesen)
|
muellertz Mitglied Technischer Zeichner
 
 Beiträge: 122 Registriert: 06.08.2010 NX 8.5.3.3 Teamcenter 8 Windows 7 64-bit
|
erstellt am: 20. Jan. 2016 16:22 <-- editieren / zitieren --> Unities abgeben:         
Hallo, Ich habe eine ältere Zeichnung mit Text und Bemassung. Dort ist die Schriftart noch blockfont. Gibt es die Möglichkeit die Schriftart aller Texte und Bemassung der Zeichnung mit einem journal zu ändern? Soll heißen die Grundeinstellung von: Beschriftungsvoreinstellung -> Beschriftung Bemaßung: blockfont Zeichengröße: 3.5 Textzeichen-Faktor: 0.6 Seitenverhältnis: 0.6 Faktor Zeilenabstand: 1.0 Bemaßung/Zeilenabstandsfaktor für Bemaßung: 0.5 Farbe: Schwarz (ID 216) Zusätzlicher Text: blockfont Zeichengröße: 3.5 Textzeichen-Faktor: 0.6 Seitenverhältnis: 0.6 Faktor Zeilenabstand: 1.0 Bemaßung/Zeilenabstandsfaktor für Bemaßung: 0.5 Farbe: Schwarz (ID 216) Toleranz: blockfont Zeichengröße: 2.0 Textzeichen-Faktor: 0.6 Seitenverhältnis: 0.6 Faktor Zeilenabstand: 1.0 Bemaßung/Zeilenabstandsfaktor für Bemaßung: 0.5 Farbe: Schwarz (ID 216) Allgemein: blockfont Zeichengröße: 3.5 Textzeichen-Faktor: 0.6 Seitenverhältnis: 0.6 Faktor Zeilenabstand: 1.0 Beschriftungswinkel: 0.0 Farbe: Schwarz (ID 216) umzuändern in
Bemaßung: blockfont Zeichengröße: 3.5 Textzeichen-Faktor: 0.0 Seitenverhältnis: 1.0 Faktor Zeilenabstand: 1.0 Bemaßung/Zeilenabstandsfaktor für Bemaßung: 0.5 Farbe: Schwarz (ID 216) Zusätzlicher Text: blockfont Zeichengröße: 3.5 Textzeichen-Faktor: 0.0 Seitenverhältnis: 1.0 Faktor Zeilenabstand: 1.0 Bemaßung/Zeilenabstandsfaktor für Bemaßung: 0.5 Farbe: Schwarz (ID 216) Toleranz: blockfont Zeichengröße: 2.0 Textzeichen-Faktor: 0.0 Seitenverhältnis: 1.0 Faktor Zeilenabstand: 1.0 Bemaßung/Zeilenabstandsfaktor für Bemaßung: 0.5 Farbe: Schwarz (ID 216) Allgemein: Arial Zeichengröße: 3.5 Textzeichen-Faktor: 0.0 Seitenverhältnis: 1.0 Faktor Zeilenabstand: 1.0 Beschriftungswinkel: 0.0 Farbe: Schwarz (ID 216) Für Infos oder codeschnipsel wäre ich sehr dankbar. Vielleicht hat sowas schon einmal jemand geändert. ------------------ MFG Thomas NX 8.5.3.3 Teamcenter 8 Windows 7 64-bit Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sirus Ehrenmitglied CAD Applikationsentwickler
    
 Beiträge: 1575 Registriert: 03.06.2004
|
erstellt am: 21. Jan. 2016 12:06 <-- editieren / zitieren --> Unities abgeben:          Nur für muellertz
codeschnipsel --------------- Option Strict Off Imports System Imports NXOpen Module NXJournal Sub Main (ByVal args() As String) Dim theSession As Session = Session.GetSession() Dim workpart As Part = theSession.Parts.Work() Dim theUI As UI = UI.GetUI() Dim worksheet As NXOpen.Drawings.DrawingSheet = workpart.DrawingSheets.CurrentDrawingSheet Dim allVisObjects As NXOpen.DisplayableObject() = worksheet.View.AskVisibleObjects() Dim letterPrefs As NXOpen.Annotations.LetteringPreferences = workpart.Annotations.Preferences.GetLetteringPreferences Dim lineArrowPrefs As NXOpen.Annotations.LineAndArrowPreferences = workpart.Annotations.Preferences.GetLineAndArrowPreferences Dim symbPrefs As NXOpen.Annotations.SymbolPreferences = workpart.Annotations.Preferences.GetSymbolPreferences For Each obj As NXOpen.DisplayableObject In allVisObjects Try Dim annotation As NXOpen.Annotations.Annotation = CType(obj, NXOpen.Annotations.Annotation) If (Not annotation Is Nothing) Then annotation.SetLetteringPreferences(letterPrefs) annotation.SetLineAndArrowPreferences(lineArrowPrefs) annotation.SetSymbolPreferences(symbPrefs) annotation.RedisplayObject() End If Dim dimension As NXOpen.Annotations.Dimension = CType(obj, NXOpen.Annotations.Dimension) If (Not dimension Is Nothing) Then Dim dimPrefs As NXOpen.Annotations.DimensionPreferences = dimension.GetDimensionPreferences Dim unitPrefs As NXOpen.Annotations.UnitsFormatPreferences = dimPrefs.GetUnitsFormatPreferences unitPrefs.DecimalPointCharacter = Annotations.DecimalPointCharacter.Comma dimPrefs.SetUnitsFormatPreferences(unitPrefs) dimension.SetDimensionPreferences(dimPrefs) dimension.RedisplayObject() End If Catch ex As Exception End Try Next End Sub End Module
------------------ gruss urs  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
muellertz Mitglied Technischer Zeichner
 
 Beiträge: 122 Registriert: 06.08.2010 NX 8.5.3.3 Teamcenter 8 Windows 7 64-bit
|
erstellt am: 21. Jan. 2016 16:02 <-- editieren / zitieren --> Unities abgeben:         
Hallo Urs Vielen Dank das funktioniert. Ich nehme mal an, das mit dem journal die Standard Einstellung der Beschriftung geladen wird? Und auch nur der Text und Bemassung den man Sieht geändert wird. Habe jetzt zwar das Problem, das ich beim ausgefüllten des Schriftfeld die Größe auch auf Standard gestellt wird, und ich dort eine kleinere Schrifgröße eingestellt habe (mit NX-Tools geregelt), aber man kann ja soweit Zoomen, das das Schriftfeld nicht sichtbar ist, dann wird das auch nichts am Schriftfeld geändert. Nochmals vielen Dank und beste Grüße
------------------ MFG Thomas NX 8.5.3.3 Teamcenter 8 Windows 7 64-bit Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sirus Ehrenmitglied CAD Applikationsentwickler
    
 Beiträge: 1575 Registriert: 03.06.2004
|
erstellt am: 22. Jan. 2016 14:34 <-- editieren / zitieren --> Unities abgeben:          Nur für muellertz
hallo thomas ja das zieht alle Standards drüber. es ist auch möglich wie gewünscht typ für typ, einstellung für einstellung zu ändern. sag bescheid, wenn du dazu Inputs und schnipsel benötigst.
------------------ gruss urs  Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
muellertz Mitglied Technischer Zeichner
 
 Beiträge: 122 Registriert: 06.08.2010 NX 8.5.3.3 Teamcenter 8 Windows 7 64-bit
|
erstellt am: 22. Jan. 2016 15:45 <-- editieren / zitieren --> Unities abgeben:         
Ja das wäre seht nett. Punkt 1 Ich habe jetzt im Schriftfeld auch Schrift, die aber eigentlich nicht verändert werden soll. Bzw nur von blockfont auf Arial und Zeichenfaktor & Seitenverhältnis von 0.6 auf 1.0 gestellt werden soll. Die Schrift im Schriftfeld (es sind 8 Wörter als Hnweis) mit den Attributen BLATT1_SF_HBG BLATT1_SF_BAR_D BLATT1_SF_BAR_N BLATT1_SF_MASS BLATT1_SF_AUFTRAG BLATT1_SF_STK BLATT1_SF_BLATT BLATT1_SF_BLATTG Falls es 2 Blätter oder 3 Blätter gibt dann ist jeweils das Blatt1 in Blatt2 bzw. Blatt3 geändert. Kann man diese Schriftart ausklammern, das diese nicht mit geändert wird? Punkt2 Es kommt auch öfters vor, das wir die Bemaßung Hilfslinien bei dem Pfeil (Punkt F bei Linie/Pfeil) in einem Winkel von 25° und -25° ranziehen. Der Winkel sollte dann auch nicht mit berücksichtigt werden. Punkt3 Desweiteren haben wir auch noch ab und an Bemaßungen, wo der Zusatztext nicht 3.5 Zeichengröße hat, sondern nur 2.0. Könnte man in dem journal einstellen, das nur der Text von Blockfont in Arial und der Zeichenfaktor & Seitenverhältnis von 0.6 auf 1.0 geändert wird. Die Zeichengröße sollte also vom vorhandenen Maß beibehalten werden. Evtl. kann man dadurch ja auch das Problem beim Schriftfeld (siehe Punkt1) mit den unterschiedlichen Zeichengrößen lösen und Punkt 2 mit dem Winkel. Viele Grüße Thomas ------------------ MFG Thomas NX 8.5.3.3 Teamcenter 8 Windows 7 64-bit Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
UdoMM Mitglied Senior Consultant CAX
 
 Beiträge: 271 Registriert: 02.07.2004
|
erstellt am: 02. Apr. 2020 13:57 <-- editieren / zitieren --> Unities abgeben:          Nur für muellertz
Hallo Sirius, ich weiß, der Post ist schon etwas älter, aber ich bin gerade selbst dabei, so etwas Typ für Typ zu machen. Und jetzt gibt es da ein paar Typen, deren Code ich nicht herausfinden kann. Also z.B. um über alle ID Symbole drüber zu gehen, gibt es: Code: For Each IdSymbol As IdSymbol In displayPart.Annotations.IdSymbols
Das klappt prima. Aber was schreibt man, wenn man einen Hinweistext mit Hinweislinie hat, das ist dann kein "Note", sondern ein "Label" Ich hab's mit diesem hier versucht, funktioniert aber nicht:
Code: For Each Label As Label In displayPart.Annotations.Labels
Die Nixe sagt, "Label" sei nicht eindeutig. Oder wie komme ich an "Assorted Parts" ran (nur zum Strichstärke & Farbe ändern)? So ein Codeschnipsel würde mir bestimmt helfen...
------------------ Gruß UdoMM <>< Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
      
 Beiträge: 2723 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 03. Apr. 2020 14:12 <-- editieren / zitieren --> Unities abgeben:          Nur für muellertz
Hallo Udo, versuch's mal mit Code: For Each lbl As Label In displayPart.Annotations.Labels
Könnte sein, daß es ein Problem gibt, wenn der Variablenname dem Klasennamen entspricht. Wenn's das nicht war, würde ich's mal mit dem WorkPart anstatt displayPart versuchen. Gruß, Michael ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
UdoMM Mitglied Senior Consultant CAX
 
 Beiträge: 271 Registriert: 02.07.2004
|
erstellt am: 03. Apr. 2020 16:50 <-- editieren / zitieren --> Unities abgeben:          Nur für muellertz
Wenn ich schreibe: Code: For Each lbl As Label In displayPart.Annotations.Labels
, dann sagt die NiXe: "Label ist nicht eindeutig" und "Labels" ist kein Member von "NXOpen.AnnotoationManager". Mit workPart ist es genau gleich. Wäre echt hilfreich, ein IDE zu haben, das würde vielleicht Korrekturvorschläge bringen. Hab ich leider keines. Sorry. ------------------ Gruß UdoMM <>< Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mseufert Moderator Freiberuflicher CAD/CAM Ingenieur
      
 Beiträge: 2723 Registriert: 18.10.2005 HP Z420 WIN7 64 Win 10 UG NX6-2306 3D Printer Prusa MK2 S
|
erstellt am: 06. Apr. 2020 11:32 <-- editieren / zitieren --> Unities abgeben:          Nur für muellertz
Hallo Udo, für das nicht eindeutige Label gibt's wahrscheinlich eine einfache Erklärung: Falls du System.Windows.Forms importiert hast, gibt's tatsächlich zwei Klassen mit dem selben Namen. Das Label von NX und eines mit dem selben Namen in den Forms. Was das Arbeiten ohne IDE betrifft: Das ist wie Fahren mit platten Reifen. Der korrekte Luftdruck ist unbedingt zu empfehlen. Damit lässt sich auch einfacher herausfinden, in welcher Collection sich die gesuchten Objekte befinden. Gruß, Michael ------------------ Ein Mensch wird laut, wenn er was will; wenn er's erst hat, dann wird er still; Das "Danke" ist, nach alter Sitte, Weit selt'ner als das "Bitte, Bitte". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
UdoMM Mitglied Senior Consultant CAX
 
 Beiträge: 271 Registriert: 02.07.2004
|
erstellt am: 07. Apr. 2020 16:38 <-- editieren / zitieren --> Unities abgeben:          Nur für muellertz
Ja stimmt. Die Lösung ist: "Imports System.Windows.Forms" weglassen. Die brauche ich aktuell auch nicht mehr, seit ich auf die NX Messagebox umgestellt habe. Fragt sich nur, was der erfahrene .NET-Programmierer tut, wenn er so was dann doch mal zusätzlich benötigt. Aber für mich ist es so OK. Vielen Dank für die Unterstützung! ------------------ Gruß UdoMM <>< Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| Network Engineer (m/w/d) | Die Plus.line AG bietet über 400 Kunden Lösungen an, die genau auf deren Bedürfnisse abgestimmt sind. Mit den Schwerpunkten Managed Cloud / Kubernetes, Network Services & IT Outsourcing, eigenen Rechenzentren, einem Linux-, Netzwerk-, und Windows-Team sowie herausfordernden Projekten sind wir ein spannender Arbeitgeber für alle IT-Talente, die Lust auf eine steile Lernkurve haben.... | Anzeige ansehen | Systemadministration, Netzwerkadministration |
|
ThomasZwatz Ehrenmitglied V.I.P. h.c. cadadmin

 Beiträge: 5447 Registriert: 19.05.2000 (02-2025) --------------------------------------------- [stable] NX2007(2027.5020) + SE2023 U6 + TC13.3.0.3, RAC +AWC6.2.2 SingleSite 4Tier, DocMgt, Client4Office, MRO, ReqMgt, SchedMgt, T4S, TcVis Mockup, TcSSO, SEEC, Multi-CAD BCT-Inspector Neutral v22R2 --------------------------------------------- [testing] NX2007(2027.5020) + SE2023 U6 + TC13.3.0.3, RAC +AWC6.3.12 BCT-Inspector Neutral v22R2 @M7720 Win10 (22H2)
|
erstellt am: 07. Apr. 2020 17:35 <-- editieren / zitieren --> Unities abgeben:          Nur für muellertz
Zitat: Original erstellt von UdoMM: ... Fragt sich nur, was der erfahrene .NET-Programmierer tut, wenn er so was dann doch mal zusätzlich benötigt.
Den Namespace benennen ... Da schliesst sich der Kreis zur IDE ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |