Autor
|
Thema: Parameter mit Typ Dichte erzeugen (4023 mal gelesen)
|
Tobse85 Mitglied Student
Beiträge: 15 Registriert: 30.05.2008
|
erstellt am: 03. Jun. 2008 15:17 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, ich möchte gerne ein Parameter erzeugen und diesen als Typ Density definieren. Dabei benutze ich folgenden Code: 'Neuen Parameter "Dichte_anpassen" erstellen Dim Params As Parameters Set Params = CATIA.ActiveDocument.Part.Parameters Dim Dichte_angepasst As Density Set Dichte_angepasst = Params.CreateDensity ("Dichte_angepasst", 0) Dabei muss aber in der letzten Zeile etwas falsch sein ich vermute bei "Params.CreateDensity". Kann mir dabei jemand weiterhelfen? Für Hilfe wäre ich sehr dankbar. mfg Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Moderator Manager
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: 03. Jun. 2008 18:19 <-- editieren / zitieren --> Unities abgeben: Nur für Tobse85
Hallo, ja da ist ein Fehler drinnen. das muss Code: Set Dichte_angepasst = Params.CreateDimension ("", "DENSITY", 0)
heißen. Zum umbenennen nimmst du dann noch Code: Dichte_angepasst.Rename "Dichte_angepasst"
.Dann sollte es funktionieren. ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tobse85 Mitglied Student
Beiträge: 15 Registriert: 30.05.2008
|
erstellt am: 03. Jun. 2008 19:41 <-- editieren / zitieren --> Unities abgeben:
|
Tobse85 Mitglied Student
Beiträge: 15 Registriert: 30.05.2008
|
erstellt am: 04. Jun. 2008 09:08 <-- editieren / zitieren --> Unities abgeben:
Hallo, das mit dem Paramter als Typ Dichte hat wunderbar geklappt. Nun stehe ich aber wieder vor einem Problem: Und zwar möchte ich die Dichte von den Properties ändern. Sie soll gleich dem Wert des neu erstellten Parameter "Dichte_angepasst" sein. Das müsste doch eigentlich über Relations gehen. Mein Code ist folgender: Dim MyPart As Part Set MyPart = Catia.ActiveDocument.Part Dim Relation As Relations Set Relation = Catia.ActiveDocument.Part.Relations Dim FName As CATBSTR FName = "Materialdichte" Dim Formel As Formula Set Formel = MyPart.Relations.CraeteFormula (FName, "", "MyPart.Density=Dichte_angepasst") Bisher habe ich es nicht geschafft MyPart.Density zu verändern. Konnte es zwar auslesen aber nicht ändern. Kann mir dabei jemand behilflich sein? Über eine Antwort wäre ich dankbar. mfg Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 04. Jun. 2008 09:19 <-- editieren / zitieren --> Unities abgeben: Nur für Tobse85
|
Tobse85 Mitglied Student
Beiträge: 15 Registriert: 30.05.2008
|
erstellt am: 04. Jun. 2008 10:14 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, vielen Dank für deine Antwort. Aber leider stimmt irgendwas immer noch nicht. Die Fehlermledung ist: Typen unverträglich: 'MyPart.Relations.CreateFormula'. Aber eigentlich sieht der folgende Code doch ganz gut aus ;-). Dim MyPart As Part Set MyPart = Catia.ActiveDocument.Part Dim Relation As Relations Set Relation = Catia.ActiveDocument.Part.Relations Dim FName As CATBSTR FName = "Materialdichte" Dim Formel As Formula Set Formel = MyPart.Relations.CreateFormula (FName, "", MyPart.Density, "Dichte_angepasst") Bin leider Anfänger was Makros in Catia angeht und weis deswegen nicht weiter. Hast du evtl. noch ein Tip? Danke im Voraus Gruß Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Trejan Mitglied
Beiträge: 4 Registriert: 15.02.2008
|
erstellt am: 04. Jun. 2008 10:22 <-- editieren / zitieren --> Unities abgeben: Nur für Tobse85
Hallo, ersetze Code: MyPart.Density
durch Code: Dichte_angepasst
wenn das Objekt immer noch so heisst.MfG Trejan [Diese Nachricht wurde von Trejan am 04. Jun. 2008 editiert.] [Diese Nachricht wurde von Trejan am 04. Jun. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tobse85 Mitglied Student
Beiträge: 15 Registriert: 30.05.2008
|
erstellt am: 04. Jun. 2008 10:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Trejan, wenn ich aber "MyPart.Density" durch "Dichte_angepasst" ersetze, dann habe ich doch aber kein Bezug mehr zur Dichte der Materialeigenschaften. Meinst du Folgendes?: Set Formel = MyPart.Relations.CreateFormula (FName, "", Dichte_angepasst, "Dichte_angepasst") Der dritte Parameter in der Klammer ist ja der Wert, der durch eine Formel verändert werden soll. Dann muss da doch irgendwie die Dichte von den Materialeigenschaften hinein, also MyPart.Density. Oder was meinst du mit Objekt? mfg Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Trejan Mitglied
Beiträge: 4 Registriert: 15.02.2008
|
erstellt am: 09. Jun. 2008 23:16 <-- editieren / zitieren --> Unities abgeben: Nur für Tobse85
|
Tobse85 Mitglied Student
Beiträge: 15 Registriert: 30.05.2008
|
erstellt am: 10. Jun. 2008 21:35 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 10. Jun. 2008 21:47 <-- editieren / zitieren --> Unities abgeben: Nur für Tobse85
|
Tobse85 Mitglied Student
Beiträge: 15 Registriert: 30.05.2008
|
erstellt am: 12. Jun. 2008 08:40 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, so hab ich's gemacht: 'Neue Parameter erzeugen Dim Params As Parameters Set Params = CATIA.ActiveDocument.Part.Parameters Dim Dichte_angepasst As Density Set Dichte_angepasst = Params.CreateDimension ("", "DENSITY", 0) Dichte_angepasst.Rename "Dichte_angepasst" . . . 'Parameter "Dichte_angepasst" mit Wert aus Konstruktionstabelle verknüpfen KTab.AddAssociation Dichte_angepasst, "Dichte_angepasst" 'erzeugten Parameter "Dichte_angepasst" mit Dichte der Catia Messung verknüpfen Dim Material As Parameter Dim Name As Parameter Dim MyPart As Part Set MyPart = Catia.ActiveDocument.Part Dim Relation As Relations Set Relation = Catia.ActiveDocument.Part.Relations Dim Para As Parameters Set Para = MyPart.Parameters Set Material = Para.Item("Material") Name = MyPart.Name+"\"+Material.Value+"\"+Material.Value+".1.1\Density" Dim Materialdichte As Parameter Set Materialdichte = Para.Item(Name) Dim FName As CATBSTR FName = "Materialdichte" Dim Formel As Formula Set Formel = MyPart.Relations.CreateFormula ("FName", "", Materialdichte, "Dichte_angepasst") Ich hoffe es hilft dir weiter mfg Tobi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nurix Mitglied Konstrukteur
Beiträge: 2 Registriert: 08.12.2017 Catia V5 R26
|
erstellt am: 08. Dez. 2017 12:22 <-- editieren / zitieren --> Unities abgeben: Nur für Tobse85
Hallo , der Beitrag ist schon älter ich hoffe das ich kein Ärger bekomme. Ich Suche eine Möglichkeit die Density auszulesen ohne das sich die Formel bei späteren Materialänderung löscht. Den Code hier bekomme ich nicht zum Laufen mit aktuellen Catia Versionen Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 08. Dez. 2017 12:37 <-- editieren / zitieren --> Unities abgeben: Nur für Tobse85
Servus Willkommen im Forum. Bitte Systeminfo ausfüllen. IMHO geht das nur wenn du eine Trägheitsmessung erzeugst (und diese behältst). ggf kann diese Messung aber die Aktualisierungszeit des Modells merklich erhöhen Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |