Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Formatierung von Drawing Texten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Formatierung von Drawing Texten (5781 mal gelesen)
Sven2010
Mitglied



Sehen Sie sich das Profil von Sven2010 an!   Senden Sie eine Private Message an Sven2010  Schreiben Sie einen Gästebucheintrag für Sven2010

Beiträge: 56
Registriert: 20.04.2010

V5R19SP3
Hotfix 50

erstellt am: 24. Mai. 2010 11:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

und direkt das nächste Riesenproblem.
Dieses Mal gehts um die Formatierung von Drawing Texten.
In folgendem Code funktioniert so gut wie nichts, ausser die Font Grösse...Alles was Formatierung angeht läuft entweder ohne Fehlermeldung durch (ohne etwas zu bewirken) oder ich bekomme Fehlermeldungen... der untenstehende Code läuft übrigens in einer Schleife ab; könnte das etwas damit zu tun haben?

Set oText = ocText.Add("-", -159, 9.3)  => OK
oText.Name = ("PART" + i)  => OK
oText.Justification = catRight => funktioniert nicht (steht aber so in der automation!)
oText.AnchorPoint = catMiddleLeft => funktioniert nicht (steht aber so in der automation!)
oText.SetFontSize 0, 0, 5  => OK
oText.catCharSpacing,0,0,50  => funktioniert nicht
oText.catRatio,0,0,80  => funktioniert nicht
oText.SetParameterOnsubString catCharSpacing,0,0,20  => funktioniert nicht (hab ich aus anderen Threads wo es anscheinend funktioniert hat!)
oText.SetParameterOnsubString catRatio,0,0,60 => funktioniert nicht (hab ich aus anderen Threads wo es anscheinend funktioniert hat!)

Kann mir einer weiterhelfen? Ich weiss nicht was da los ist... habe mit Tabellen schon ähnliche Probleme, jetzt gehts grad weiter bei den normalen Zeichnungstexten... 

Danke und Gruß
Sven

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bertel
Mitglied



Sehen Sie sich das Profil von Bertel an!   Senden Sie eine Private Message an Bertel  Schreiben Sie einen Gästebucheintrag für Bertel

Beiträge: 300
Registriert: 03.04.2002

CATIA V5 R26SP3HF21
Win10
Lenovo P52
Intel Xenon 16GB Ram
NVIDIA Quadro P2000
EUKLID V14
ViCADo 2015

erstellt am: 25. Mai. 2010 09:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sven2010 10 Unities + Antwort hilfreich

Hallo Sven,

hier mal zwei Eigenschaften, die bei mir so funktionieren:

MyText.SetParameterOnsubString catCharRatio,0,0,100
MyText.AnchorPosition = catBottomRight

Gruß
Bertel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sven2010
Mitglied



Sehen Sie sich das Profil von Sven2010 an!   Senden Sie eine Private Message an Sven2010  Schreiben Sie einen Gästebucheintrag für Sven2010

Beiträge: 56
Registriert: 20.04.2010

V5R19SP3
Hotfix 50

erstellt am: 26. Mai. 2010 19:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo bertel,

dies ist eben das Misteriöse!
Bei mir funktionieren diese Befehle eben nicht!

Stattdessen sorgen die beiden Befehle dafür, dass mein Text in "Bold" dargestellt wird, obwohl es dafür einen eigenen Befehl gibt welchen ich überhaupt nicht verwende!
Irgendwas geht da mächtig schief in R19 und ich habe keine Ahnung was... wenn man sich nicht mal auf die Befehle aus der automation.chm verlassen kann auf was denn dann bitte? Nervt mich tierisch...

Gruß
Sven

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 26. Mai. 2010 19:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sven2010 10 Unities + Antwort hilfreich

Servus
Kopiere mal deinen Code in ein VBA-Projekt, und schau mal welche Befehle dir mit IntelliSense (Befehlvervollständigung) angeboten werden. Vielleicht ist die Doku nicht aktuell.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sven2010
Mitglied



Sehen Sie sich das Profil von Sven2010 an!   Senden Sie eine Private Message an Sven2010  Schreiben Sie einen Gästebucheintrag für Sven2010

Beiträge: 56
Registriert: 20.04.2010

V5R19SP3
Hotfix 50

erstellt am: 26. Mai. 2010 19:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Bernd,

sorry, ich arbeite bisher nur mit CATScript und hab keinen Plan vom VBA Editor... 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Lusilnie
Mitglied



Sehen Sie sich das Profil von Lusilnie an!   Senden Sie eine Private Message an Lusilnie  Schreiben Sie einen Gästebucheintrag für Lusilnie

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 27. Mai. 2010 00:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sven2010 10 Unities + Antwort hilfreich

Hallo Sven2010,

mit welchem HotFix arbeitest Du?
Falls Du nur mit SP3 ohne HotFix arbeitest, solltest Du mal einen HotFix einspielen! Die großen OEM's arbeiten mittlerweile mit HotFix 48 (, 49, 50).

Nur zur Info: R19 ist aus meiner Sicht das instabilste CATIA seit R10! Hier ohne (hohen) HotFix zu arbeiten ist wie fahren mit 300 km/h bei Sicht von 20m!


mfg,
Lusilnie

------------------
Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sven2010
Mitglied



Sehen Sie sich das Profil von Sven2010 an!   Senden Sie eine Private Message an Sven2010  Schreiben Sie einen Gästebucheintrag für Sven2010

Beiträge: 56
Registriert: 20.04.2010

V5R19SP3
Hotfix 50

erstellt am: 01. Jun. 2010 14:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

ich bin es mal wieder...
Hab den Tip mit dem R19 Hotfix wahrgenommen und meine lokale Installation auf HotFix 50 upgedatet...

Leider läuft der ganze Kram immer noch nicht  

oText.AnchorPosition = MiddleLeft
Da passiert gar nix!

oText.AnchorPoint = catMiddleLeft
Da passiert auch nix!

oText.Justification = catCenter
Auch hier passiert nix!

An die wichtigen Dinge Ratio und Spacing komm ich überhaupt nicht ran.

Man muss wohl über SetParameterOnsubString gehen, also bspw.

oText.SetParameterOnsubString catCharSpacing, 0, 0, 20

Sobald ich jedoch SetParameterOnsubString benutze passiert nichts ausser dass bei sämtlichen Befehlen der Text auf Bold gesetzt wird.     

Hat irgendjemand noch eine Ahnung was ich machen könnte???
So wie es aussieht war die ganze Arbeit für die Katz und ich kann die Scripts in die Tonne schmeissen, und das wegen der Formatierung von Texten die nicht funktioniert. Ich könnte durchdrehen!

Gruß
Sven

[Diese Nachricht wurde von Sven2010 am 01. Jun. 2010 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EngineeredByRobberts
Mitglied
Ingenieur


Sehen Sie sich das Profil von EngineeredByRobberts an!   Senden Sie eine Private Message an EngineeredByRobberts  Schreiben Sie einen Gästebucheintrag für EngineeredByRobberts

Beiträge: 109
Registriert: 27.04.2010

Dell Precision 690
Windows XP
V5R19SP3 V5R17SP0

erstellt am: 01. Jun. 2010 15:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sven2010 10 Unities + Antwort hilfreich

du brauchst oText.TextProperties, suche einfach mal nach TextProperties in der V5Automation.chm

------------------
- Robert

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sven2010
Mitglied



Sehen Sie sich das Profil von Sven2010 an!   Senden Sie eine Private Message an Sven2010  Schreiben Sie einen Gästebucheintrag für Sven2010

Beiträge: 56
Registriert: 20.04.2010

V5R19SP3
Hotfix 50

erstellt am: 01. Jun. 2010 15:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

klar handelt es sich um Text Properties, aber laut automation sehen die Befehle aus wie von mir verwendet.
oder wie meinst das "ich brauche text properties"?

Gruß
Sven

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EngineeredByRobberts
Mitglied
Ingenieur


Sehen Sie sich das Profil von EngineeredByRobberts an!   Senden Sie eine Private Message an EngineeredByRobberts  Schreiben Sie einen Gästebucheintrag für EngineeredByRobberts

Beiträge: 109
Registriert: 27.04.2010

Dell Precision 690
Windows XP
V5R19SP3 V5R17SP0

erstellt am: 01. Jun. 2010 15:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sven2010 10 Unities + Antwort hilfreich

Property TextProperties( ) As CATIADrawingTextProperties (Read Only)

Returns the text properties of the drawing text. Allows to modify the whole text properties. To manage a sub part of the text use GetParameterOnSubString
Example:
This example retrieves in TextProperties the text properties of the MyText drawing text.
Dim TextProperties As DrawingTextProperties
Set TextProperties = MyText.TextProperties

------------------
- Robert

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sven2010
Mitglied



Sehen Sie sich das Profil von Sven2010 an!   Senden Sie eine Private Message an Sven2010  Schreiben Sie einen Gästebucheintrag für Sven2010

Beiträge: 56
Registriert: 20.04.2010

V5R19SP3
Hotfix 50

erstellt am: 01. Jun. 2010 15:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Robert,

diesen Abschnitt der automation kenne ich, aber was bedeutet es für meine Commands???

Sorry für die dummen Fragen aber ich bin noch immer blutiger Anfänger in der Macrprogrammierung.
Wäre super wenn mir helfen könntest!

Danke und Gruß
Sven

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EngineeredByRobberts
Mitglied
Ingenieur


Sehen Sie sich das Profil von EngineeredByRobberts an!   Senden Sie eine Private Message an EngineeredByRobberts  Schreiben Sie einen Gästebucheintrag für EngineeredByRobberts

Beiträge: 109
Registriert: 27.04.2010

Dell Precision 690
Windows XP
V5R19SP3 V5R17SP0

erstellt am: 01. Jun. 2010 15:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sven2010 10 Unities + Antwort hilfreich

Dim oTextProps As DrawingTextProperties

Set oTextProps = oText.TextProperties
oTextProps.Justification = catRight
u.s.w.

------------------
- Robert

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sven2010
Mitglied



Sehen Sie sich das Profil von Sven2010 an!   Senden Sie eine Private Message an Sven2010  Schreiben Sie einen Gästebucheintrag für Sven2010

Beiträge: 56
Registriert: 20.04.2010

V5R19SP3
Hotfix 50

erstellt am: 01. Jun. 2010 16:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

funktioniert leider auch nicht!

oTextProps.AnchorPosition = MiddleLeft
=> nicht unterstützt

oTextProps.AnchorPoint = catMiddleLeft
=> method anchorpoint failed

oTextProps.Justification = catCenter
=> keine Fehlermeldung, aber Ausrichtung bleibt auf links!

Der Zeichnungsstandard sollte ja keinen Einfluss haben oder? Ich benutze CEG1

Gruß
Sven

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EngineeredByRobberts
Mitglied
Ingenieur


Sehen Sie sich das Profil von EngineeredByRobberts an!   Senden Sie eine Private Message an EngineeredByRobberts  Schreiben Sie einen Gästebucheintrag für EngineeredByRobberts

Beiträge: 109
Registriert: 27.04.2010

Dell Precision 690
Windows XP
V5R19SP3 V5R17SP0

erstellt am: 01. Jun. 2010 18:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sven2010 10 Unities + Antwort hilfreich

Anchorposition ist ein Eigenschaft von DrawingText:
oText.Anchorposition

Anchorpoint und Justification sind beide Eigenschaften von TextProperties, ich habe auch keine Ahnung wieso es nicht funktioniert.
Ich habe aber gerade bemerkt das es TextProperties in V17 noch gar nicht gab im Automation.chm. Es kann sein das es einfach noch zu 'neu' ist, und deswegen nicht richtig funktioniert.

------------------
- Robert

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Lusilnie
Mitglied



Sehen Sie sich das Profil von Lusilnie an!   Senden Sie eine Private Message an Lusilnie  Schreiben Sie einen Gästebucheintrag für Lusilnie

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 02. Jun. 2010 02:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sven2010 10 Unities + Antwort hilfreich

Hallo Sven2010,

wollen wir doch mal dem Problem der Reihe nach auf den Grund gehen!

1.) Du hast den HotFix50 eingespielt.
2.) Du hast Deine (lokalen) Settings gelöscht bzw. die (globalen) Settings neu erstellt.
3.) Du hast immer noch die beschriebenen Probleme?

Damit wir hier das Ganze nachvollziehen können, brauchen wir natürlich Deine Bestätigung für die erfolgreiche Abarbeitung der oben aufgelisteten Punkte und ebenfalls Deinen verwendeten Code. Reine Code-Schnipsel sind zwar gut für Testzwecke, doch liegt das Problem sehr oft in speziellen Deklarationen oder falschen Verwendungen von vordefinierten Funktionen.
Daher wäre es interessant, den vollständigen (relevanten) Code zu sehen und nicht nur 1 Code--Zeile.

Summa summarum: Zeige uns doch mal den relevanten Code-Abschnitt, der Deine Probleme verursacht. (Natürlich auch mit den zugehörigen Deklarationen!)
Vielleicht finden wir gemeinsam Dein Problem. Normalerweise funktioniert der Code!  

[Edit] Was ich vergaß: Du hast die Aktualisierung der Ansicht im Script nicht deaktiviert?! [/Edit]


mfg,
Lusilnie


------------------
Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

[Diese Nachricht wurde von Lusilnie am 02. Jun. 2010 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EngineeredByRobberts
Mitglied
Ingenieur


Sehen Sie sich das Profil von EngineeredByRobberts an!   Senden Sie eine Private Message an EngineeredByRobberts  Schreiben Sie einen Gästebucheintrag für EngineeredByRobberts

Beiträge: 109
Registriert: 27.04.2010

Dell Precision 690
Windows XP
V5R19SP3 V5R17SP0

erstellt am: 02. Jun. 2010 08:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sven2010 10 Unities + Antwort hilfreich

Ich hab's gerade noch mal auf R19 ausprobiert, bei mir funktionieren Justification und AnchorPoint; man muss aber zum schluss noch mal ein Update machen:
oTextProps.Update

------------------
- Robert

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 02. Jun. 2010 08:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sven2010 10 Unities + Antwort hilfreich

Hallo  ,

also ich habe das Ganze jetzt mal durchprobiert und bei mir (HF 34) funktioniert es wunderbar. Im CATScript bekomme ich Laufzeitfehler wenn ich versuche den Eigenschaften Justification, AnchorPoint, sowie der Routine SetParameterOnSubString die Konstanten aus der DRAFTINGITF Library zuweise. Jede Konstante erhält aber über die Enum auch einen Long Wert. Diesen weiße ich mit einer Hilfsfunktion den Eigenschaften bzw. der Routine zu und alles klappt wunderbar. D.h. es MUSS bei dir auch klappen.

Hier mal ein Beispielscript (Textfeld befindet sich in der "MainView" im ActiveSheet und wird über das .Item(1) angesprochen (d.h. erstes Textfelder der MainView)

Code:

Option Explicit

Sub CATMain()


    '***DEKLARATIONEN
    Dim intDRWDocObj As DrawingDocument
    Dim intDRWSheetsObj As DrawingSheets
    Dim intDRWSheetObj As DrawingSheet
    Dim intDRWViewsObj As DrawingViews
    Dim intDRWSViewObj As DrawingView
    Dim intDRWTextsObj As DrawingTexts
    Dim intDRWTextObj As DrawingText
    Dim intDRWTextProObj As DrawingTextProperties

    '***ALLGEMEINE OBJEKTE HOLEN
    Set intDRWDocObj = CATIA.ActiveDocument
    Set intDRWSheetsObj = intDRWDocObj.Sheets
    Set intDRWSheetObj = intDRWSheetsObj.ActiveSheet
    Set intDRWViewsObj = intDRWSheetObj.Views
    Set intDRWSViewObj = intDRWViewsObj.Item(1)
    Set intDRWTextsObj = intDRWSViewObj.Texts
   
    '***TEXT OBJEKT UND TEXTPROPERTIES HOLEN
    Set intDRWTextObj = intDRWTextsObj.Item(1)
    Set intDRWTextProObj = intDRWTextObj.TextProperties
   
    '***TEXTFORMATIERUNG
    intDRWTextProObj.Justification = EnumCatTextProp("catRight")
    intDRWTextProObj.AnchorPoint = EnumCatTextProp("catMiddleLeft")
    intDRWTextObj.SetFontSize 0, 0, 10
    intDRWTextObj.SetParameterOnSubString EnumCatTextProp("catCharSpacing"), 0, 0, 50
    intDRWTextObj.SetParameterOnSubString EnumCatTextProp("catCharRatio"), 0, 0, 80
   
    '***PROPERTIES UPDATEN
    intDRWTextProObj.Update


End Sub

'***FUNKTION DIE AUS DER CATENUM EINEN LONG WERT GENERIERT
Private Function EnumCatTextProp(ByVal uebConstNameStr As String) As Long
   
    Select Case uebConstNameStr
        Case "catRight"
            EnumCatTextProp = 2
        Case "catMiddleLeft"
            EnumCatTextProp = 2
        Case "catCharSpacing"
            EnumCatTextProp = 15
        Case "catCharRatio"
            EnumCatTextProp = 14
    End Select
       
End Function



------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sven2010
Mitglied



Sehen Sie sich das Profil von Sven2010 an!   Senden Sie eine Private Message an Sven2010  Schreiben Sie einen Gästebucheintrag für Sven2010

Beiträge: 56
Registriert: 20.04.2010

V5R19SP3
Hotfix 50

erstellt am: 02. Jun. 2010 11:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


title_block_neu.zip

 
Hallo Leute,

vielen vielen Dank für eure zahlreiche Hilfe!

Der Reihe nach:
Ich habe auf Hotfix 50 upgedatet
Ich habe meine CAT Settings gelöscht
Ich hatte die Probleme noch immer

ABER
Nun sind diese teilweise gelöst.
Mein erstes Problem war dass ich die Text Properties nach der Definition nicht aktualisiert habe. Dies habe ich nun hinzugefügt. Allerdings hatte ich die gleichen Probleme wie Daniel.
Bei direkter Zuweisung, bspw. von catMiddleCenter beim AnchorPoint, bekomme ich Laufzeitfehler. Auch bei mir funktioniert nur der direkte Wert aus der Enumeration (warum auch immer, ist aus der automation so für mich nicht erkenntlich!).

Anbei mal mein komplettes Script (Title Block Macro).
Ab Zeile 535 beginnt die Texterzeugung und Formatierung!

Anchor Point & Justification funktionieren jetzt einwandfrei, allerdings passiert bei catCharRatio und catCharSpacing noch immer nichts 

@Daniel,
laufen diese beiden Befehle bei dir auch???

Würd mich freuen wenn ihr in meinem Script evtl. den Fehler finden würdet warum die beiden Commands nicht laufen wollen!
Script ist ziemlich chaotisch bin eben noch Anfänger 

Danke euch und Gruß
Sven

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EngineeredByRobberts
Mitglied
Ingenieur


Sehen Sie sich das Profil von EngineeredByRobberts an!   Senden Sie eine Private Message an EngineeredByRobberts  Schreiben Sie einen Gästebucheintrag für EngineeredByRobberts

Beiträge: 109
Registriert: 27.04.2010

Dell Precision 690
Windows XP
V5R19SP3 V5R17SP0

erstellt am: 02. Jun. 2010 12:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sven2010 10 Unities + Antwort hilfreich

catCharRatio und catCharSpacing funktionieren deswegen nicht weil SetParameterOnSubString auf oText angewendet werden muss, und nicht auf oTextProps

------------------
- Robert

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sven2010
Mitglied



Sehen Sie sich das Profil von Sven2010 an!   Senden Sie eine Private Message an Sven2010  Schreiben Sie einen Gästebucheintrag für Sven2010

Beiträge: 56
Registriert: 20.04.2010

V5R19SP3
Hotfix 50

erstellt am: 02. Jun. 2010 13:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Robert,

super, jetzt läuft es, danke für den Tip!

Muss direkt auch mal an mein anderes Problem ran jetzt (Drawing Table), ich denke meine dortigen Probleme könnten ebenfalls an dem liegen, dass ich dort die Werte der Enumeration für AnchorPoint, Allignment verwenden muss anstatt des direkten String Wertes.

10 Unities gehen an alle die mir hier so geholfen haben, danke noch einmal dafür!!!

Gruß
Sven

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

jel
Mitglied
Engineering Analyst

Sehen Sie sich das Profil von jel an!   Senden Sie eine Private Message an jel  Schreiben Sie einen Gästebucheintrag für jel

Beiträge: 9
Registriert: 02.06.2005

OS: HP-UX, SunOS, Win XP,
Windows Vista Enterprise 64bit
OEM Environments: BMW,Chrysler,Daimler,
Ford,Honda,Hyundai,JaguarLandRover,
Mahindra&Mahindra,McLaren,Mitsubishi,
Porsche,PSA,Renault,Tata,Toyota,
VolvoTruck,VVehicle,VW_Group
V5 Releases: mehrere R18 und R19 levels

erstellt am: 19. Aug. 2010 10:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sven2010 10 Unities + Antwort hilfreich

Hallo zusammen,

ich muss das ganze hier noch mal aufgreifen: Kann es sein, dass das Problem mit den CatTextAnchorPosition Makros ein 64bit V5 Problem ist?

Wir sind gerade dabei 64bit V5 auf Vista einzufuehren und mussten dabei feststellen, dass unsere auf den Dassault Samples basierenden Titleblockscripte an der Stelle aussteigen, an der mittels Text.AnchorPosition die Position des Texts gesetzt werden soll.

Die Routine sieht folgendermassen aus (im Prinzip wie z.B. "CreateTextAF" aus dem Sample Titleblock script):

Code:
Sub CATFormatTBText(textName As String, anchorPosition As String, fontSize)
  '-------------------------------------------------------------------------------
  'How to format the texts belonging to the titleblock
  '-------------------------------------------------------------------------------
  Text.Name           = textName
  'Text.SetFontName      0, 0, "Courier10 BT"
MsgBox anchorPosition
  Text.AnchorPosition = anchorPosition
  Text.SetFontSize      0, 0, fontSize

End Sub


Sie wird folgendermassen aufgerufen:

Code:
CATFormatTBText "TitleBlock_Text_PartNumber", CATMiddleCenter, FontSize1

Auf unseren 32bit Windows XP Maschinen zeigt ein MsgBox catMiddleCenter, dass catMiddleCenter = 5 waehrend es auf 64bit - unabhaengig von der V5 Release - leer ist.

Nun koennte man sicher ueberall die Makros ersetzen, aber der feine Weg ist das sicher nicht.

Kennt jemand das Problem?

Gruss

Jens

[Diese Nachricht wurde von jel am 19. Aug. 2010 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 19. Aug. 2010 10:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sven2010 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von jel:

   

Code:
Sub CATFormatTBText(textName As String, anchorPosition As String, fontSize)
      '-------------------------------------------------------------------------------
      'How to format the texts belonging to the titleblock
      '-------------------------------------------------------------------------------
      Text.Name          = textName
      'Text.SetFontName      0, 0, "Courier10 BT"
    MsgBox anchorPosition
      Text.AnchorPosition = anchorPosition
      Text.SetFontSize      0, 0, fontSize

    End Sub


Sie wird folgendermassen aufgerufen:

   

Code:
CATFormatTBText "TitleBlock_Text_PartNumber", CATMiddleCenter, FontSize1

[/B]

Hallo,

ich weiß nicht ob´s an der 64bit Version liegt (hier gibt es in der Regel schon andere Libraries) aber das ist auch nicht sauber programmiert. Die Sub CATFormatTBText erwartet an zweiter Stelle einen String. Im Aufruf sieht mir das aber nicht nach einem String aus den dieser müsste in "" stehen. Ich würde die Sub CATFormatTBText ändern und die Variable anchorPosition gleich als CatTextAnchorPosition deklarieren. Damit ist der Aufruf auf jeden Fall sauber. Ein Test zweigt dann die Ergebnisse auf 64bit 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

jel
Mitglied
Engineering Analyst

Sehen Sie sich das Profil von jel an!   Senden Sie eine Private Message an jel  Schreiben Sie einen Gästebucheintrag für jel

Beiträge: 9
Registriert: 02.06.2005

OS: HP-UX, SunOS, Win XP,
Windows Vista Enterprise 64bit
OEM Environments: BMW,Chrysler,Daimler,
Ford,Honda,Hyundai,JaguarLandRover,
Mahindra&Mahindra,McLaren,Mitsubishi,
Porsche,PSA,Renault,Tata,Toyota,
VolvoTruck,VVehicle,VW_Group
V5 Releases: mehrere R18 und R19 levels

erstellt am: 19. Aug. 2010 12:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sven2010 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von DanielFr.:
Hallo,

ich weiß nicht ob´s an der 64bit Version liegt (hier gibt es in der Regel schon andere Libraries) aber das ist auch nicht sauber programmiert. Die Sub CATFormatTBText erwartet an zweiter Stelle einen String. Im Aufruf sieht mir das aber nicht nach einem String aus den dieser müsste in "" stehen. Ich würde die Sub CATFormatTBText ändern und die Variable [i]anchorPosition gleich als CatTextAnchorPosition deklarieren. Damit ist der Aufruf auf jeden Fall sauber. Ein Test zweigt dann die Ergebnisse auf 64bit  

[/i]


Hallo Daniel,

die Sub funktioniert so unter XP 32bit, HP-UX und Solaris.

CATMiddleLeft sollte lt. der Doku in enum_CatTextAnchorPosition.htm in der enum CatTextAnchorPosition definiert sein, ist's aber wohl unter Vista64 nicht:

Code:
enum CatTextAnchorPosition {
  catUnsusedValue1,
  catTopLeft,
  catMiddleLeft,
  catBottomLeft,
  catTopCenter,
  catMiddleCenter,
  catBottomCenter,
  catTopRight,
  catMiddleRight,
  catBottomRight,
  catUnsusedValue2,
  catCapLeft,
  catHalfLeft,
  catBaseLeft,
  catCapCenter,
  catHalfCenter,
  catBaseCenter,
  catCapRight,
  catHalfRight,
  catBaseRight
}

Ich hab's jetzt mal anders gemacht und so funktioniert's auch auf Vista64:
Im Header des Scripts:

Code:
Public Const CATMiddleCenter = "catMiddleCenter"
Public Const CATMiddleLeft  = "catMiddleLeft"
Public Const CATMiddleRight  = "catMiddleRight"
Public Const CATBottomLeft  = "catBottomLeft"

Dann noch eine Function:

Code:
Private Function EnumCatTextProp(ByVal uebConstNameStr As String) As Long
 
    Select Case uebConstNameStr
        Case "catRight"
            EnumCatTextProp = 2
        Case "catMiddleLeft"
            EnumCatTextProp = 2
      Case "catMiddleCenter"
            EnumCatTextProp = 5
      Case "catMiddleRight"
            EnumCatTextProp = 8
      Case "catBottomLeft"
            EnumCatTextProp = 3
        Case "catCharSpacing"
            EnumCatTextProp = 15
        Case "catCharRatio"
            EnumCatTextProp = 14
    End Select
     
End Function

Und die Sub

Code:
Sub CATFormatTBText(textName As String, anchorPosition As String, fontSize)
  '-------------------------------------------------------------------------------
  'How to format the texts belonging to the titleblock
  '-------------------------------------------------------------------------------
  Text.Name          = textName
  'Text.SetFontName      0, 0, "Courier10 BT"
  Text.AnchorPosition = EnumCatTextProp(anchorPosition)
  Text.SetFontSize      0, 0, fontSize

End Sub


Und der gleiche Aufruf von CATFormatTBText wie vorher.

Gruss

Jens

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz