Autor
|
Thema: Parametrisches Textfeld im Drawing per VB? (2389 mal gelesen)
|
xDolmenX Mitglied
Beiträge: 8 Registriert: 31.07.2007
|
erstellt am: 31. Jul. 2007 08:53 <-- editieren / zitieren --> Unities abgeben:
|
toyo83 Mitglied CAD Application Engineer
Beiträge: 21 Registriert: 15.02.2007 Ok it works !! You forgot to put File in brackets :) Thanks and best REGARDS guys !!!!!!
|
erstellt am: 03. Aug. 2007 14:29 <-- editieren / zitieren --> Unities abgeben: Nur für xDolmenX
Das solte dir Helfen Code:
Sub dt() Dim DrwDocument As DrawingDocument Set DrwDocument = CATIA.ActiveDocument Dim DrwSheets As DrawingSheets Set DrwSheets = DrwDocument.Sheets Dim DrwSheet As DrawingSheet Set DrwSheet = DrwSheets.ActiveSheet Dim drawingTexts1 As DrawingTexts Dim drawingText1 As DrawingText Dim MyView As DrawingView Set MyView = DrwSheet.Views.Item(2) Dim MyText As DrawingTextDim param As String param = "DAS SOLTE DEIN PARAM SEIN !!" Set MyText = MyView.Texts.Add(param, 0#, 0#) End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
xDolmenX Mitglied
Beiträge: 8 Registriert: 31.07.2007
|
erstellt am: 07. Aug. 2007 12:14 <-- editieren / zitieren --> Unities abgeben:
Hallo toyo83, Danke für deine Hilfe, aber das Problem liegt nicht darin den "Startwert" eines Parameters in das Textfeld zu bekommen, das funktioniert einwandfrei. Das Problem ist, dass nach Veränderung des Parameters keine Aktualisierung des Textfeldinhaltes erfolgt. Ich benötige also eine Attributverknüpfung des Textfeldes zu dem Parameter. Händisch (recht Maus--> Attributverknüpfung) kann ich die im Textfeld auch erzeugen, aber dabei leider kein Makro mitzeichnen. Alternativ habe ich noch das Problem, dass ich schon seit längerer Zeit versuche aus den Eigenschaften eines Parts die aktuellen Werte für z.B. die Masse in einen Parameter zu übergeben, ich möchte hierbei aber nicht den Umweg über die "Trägheit messen -Schiene" gehen. Bin bei beiden Problemen für jede Hilfe dankbar. xDolmenX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Timberwolve Mitglied
Beiträge: 233 Registriert: 21.07.2006
|
erstellt am: 08. Aug. 2007 12:01 <-- editieren / zitieren --> Unities abgeben: Nur für xDolmenX
Die Masse eines Körpers kann per Formel in einen Parameter geschrieben werden. Im FormelEditor unter PartMeasures nachschauen, weiss nicht genau wie die Formel dazu heisst, ist aber erklärend wann man es vor den Augen hat. Dann einfach Doppelklick auf den Body --> Fertig Wenn du mehrere Bodies hast, dann einfach addieren. ------------------ Wenn alle Stricke reissen, nehm ich ein Drahtseil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
xDolmenX Mitglied
Beiträge: 8 Registriert: 31.07.2007
|
erstellt am: 08. Aug. 2007 12:27 <-- editieren / zitieren --> Unities abgeben:
Hallo Timberwolve, Leider funktioniert diese Verknüpfung nur, wenn ich vorher eine Messung durchgeführt habe, ich möchte aber diesen Weg umgehen und direkt die Werte auslesen, die in den Eigenschaften stehen. Die Masse kann man so aber nicht im Parametereditor finden. Ich würde ja auch das Produkt aus Dichte und Werkstoff nutzen, aber im Assembly ist keine Zuordnung zwischen den Werkstoffen und den Körpern gegeben. Gruß xDolmenX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Timberwolve Mitglied
Beiträge: 233 Registriert: 21.07.2006
|
erstellt am: 08. Aug. 2007 12:35 <-- editieren / zitieren --> Unities abgeben: Nur für xDolmenX
Die Parameter müssen direkt in den Parts angelegt werden. Und eine Messung brauchst du nicht zu machen. Bzw. willst du das ganze per Makro lösen oder kann es auch als Masse-Parameter im Part bereitgestellt werden??? Diesen kann man über die PartMeasure-Formeln (Keine CATIA-Messung) verknüpfen. Wenn du das ganze per Makro machen willst, dann müsste ich auch erstmal schauen was man da tun kann. Aber der manuelle weg wäre dieser Gruß Timber ------------------ Wenn alle Stricke reissen, nehm ich ein Drahtseil Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)
Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 08. Aug. 2007 12:46 <-- editieren / zitieren --> Unities abgeben: Nur für xDolmenX
Hallo toyo83, auf Partebene geht es so: einen Parameter Typ Masse erstellen und eine Formel sinngemäß zugeben: `Hauptkörper\Aluminium\Aluminium.1.1\Dichte` *smartVolume(`2D1\Hauptkörper` ) (Im Produkt kriege ich es momentan nicht hin, er meckert irgendeine Berechtigung an, ich check mal die OPtionen.) Im Produkt kann man einen ebenfalls Parameter Typ "Masse" erzeugen und die zuvor ausgerechneten Massen aus den Einzelteilen per Formel aufaddieren. Ist bestimmt ein Umweg, aber anders krieg ich es nicht hin.... Vielleicht kannst Du das in Deinem Script verwenden. Gruß Mörchen [Diese Nachricht wurde von Mörchen am 08. Aug. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
xDolmenX Mitglied
Beiträge: 8 Registriert: 31.07.2007
|
erstellt am: 13. Aug. 2007 11:13 <-- editieren / zitieren --> Unities abgeben:
Hallo Timberwolve, Ich möchte die aktuellen Werte in einem Makro auslesen und als Parameter (im selben Makro erstellt) bereitstellen. Dabei ist nicht nur der Massewert interessant, sondern auch z.B. die Schwerpunktkoordinaten. Es wäre super, wenn alle in den Parteigenschaften bereitgestellten Daten im Makro ausgelesen und als Parameter ausgegeben werden könnten. @Mörchen: Die "Krücke" über Volumen*Dichte funktioniert leider nur im Part, im Assembly bei Nutzung verschiedener Materialien gibt es Probleme bei der Materialzuordnung. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)
Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 13. Aug. 2007 13:15 <-- editieren / zitieren --> Unities abgeben: Nur für xDolmenX
[ Die "Krücke" über Volumen*Dichte funktioniert leider nur im Part, im Assembly bei Nutzung verschiedener Materialien gibt es Probleme bei der Materialzuordnung.[/B][/QUOTE] Hi, ich dachte ja auch, dass die Masse in jedem Part einzeln erzeugt wird und danach die Massen im Produkt in einer Formel addiert werden. Bzw in der Formel im Assembly <P>Masse gesamt = Volumen1*Dichte1+Assembly Volumen2*Dichte2+... So kann man die zugehörigen Dichten je Part verabeiten.<P>Gruß Ute [Diese Nachricht wurde von Mörchen am 13. Aug. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 13. Aug. 2007 21:28 <-- editieren / zitieren --> Unities abgeben: Nur für xDolmenX
Hallo xDolmenX, hast Du es bei der "Verlinkung" des Drawing-Textes mit einem Parameter schon mal mit ".InsertVariable" versucht, etwa in der Art: Code: MyText.InsertVariable 0, 0, iParameter
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 |