Autor
|
Thema: Punkte mit Formeln aus Makro erstellen (2153 mal gelesen)
|
Oliver A Mitglied
Beiträge: 73 Registriert: 27.11.2002 Wer Fragen stellen will, muss schon etwas wissen
|
erstellt am: 11. Dez. 2007 00:02 <-- editieren / zitieren --> Unities abgeben:
Ich habe eine große Anzahl von Punkten, die parametrisiert werden sollen (siehe auch Part/Assembly-Subforum...). Jetzt würde ich gerne wissen ob und wie es möglich ist, ähnlich dem bekannten "PointImport.xls"-Makro Punkte aus einem Makro erzeugen, allerdings nicht mit gegebenen Koordinaten, sondern mit Formeln für die einzelnen Koordinaten, und idealerweise noch mit den richtigen Referenzen (Punkt, Achsensystem)? Ich stelle mir statt des
Code: Set Point = PtDoc.Part.HybridShapeFactory.AddNewPointCoord(X, Y, Z) myHBody.AppendHybridShape Point
ein
Code: Set Point = PtDoc.Part.HybridShapeFactory.AddNewPoint('x1*tiefe', 0, 'y1*tiefe', 'Drehen.2/Ursprung', 'Drehen.2') myHBody.AppendHybridShape Point
vor. Wie sieht da die Syntax genau aus? Oliver Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jens Hansen Mitglied Senior Consult
Beiträge: 1055 Registriert: 05.08.2000 Win7 CATIA V5 R19 VB.Net C#
|
erstellt am: 11. Dez. 2007 07:56 <-- editieren / zitieren --> Unities abgeben: Nur für Oliver A
Moin, die Syntax für eine Formel lautet besipeilhaft so: -------------------------- Set params = CATIA.ActiveDocument.Part.Parameters Set relation = CATIA.ActiveDocument.Part.Relations 'Erstellen eine Parameters vom Typ "Länge" Set length = params.CreateDimension("`Länge.14`", "LENGTH", 0.0) 'Zuweisen einer Formel an erstellen Parameter Set Ziel = "Geometrisches Set.2\Punkt.2\X" Set formel = relation.CreateFormula("Formel.17", "", length, Ziel) ----------------------------- SG Jens Hansen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oliver A Mitglied
Beiträge: 73 Registriert: 27.11.2002 Wer Fragen stellen will, muss schon etwas wissen
|
erstellt am: 11. Dez. 2007 23:01 <-- editieren / zitieren --> Unities abgeben:
Mmh, ein Stück weiter gekommen bin ich schon: Code: set part1 = CATIA.ActiveDocument.Part set punkt1 = part1.HybridShapeFactory.AddNewPointCoord(25,20,10) [Referenzen setzen, das hab ich mal aus einem selbst aufgenommenen Makro geklaut] set rel = part1.Relations set formel1 = rel.CreateFormula("Formel.1", "", part1.Parameters.Item("xo1"), punkt1.X)
Catia meckert bei der letzten Zeile wegen unvereinbarer Typen, ich muss also relativ nah dran sein ;-) Die Parameter existieren bereits alle, und er scheint das part1.Parameters.Item("xo1") auch zu schlucken, aber nun möchte ich diesen Parameter gerne der X-Koordinate des Punktes, den ich soeben erstellt habe (punkt1) zuweisen. Außerdem wüsste ich noch gerne wie ich ganze Formeln angeben kann und nicht nur Parameter zuweisen kann, also in der Art: Code: punkt1.X = "xo1 * tiefe_innen"
Herzlichen Dank schonmal für Eure Hilfe. Oliver Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oliver A Mitglied
Beiträge: 73 Registriert: 27.11.2002 Wer Fragen stellen will, muss schon etwas wissen
|
erstellt am: 11. Dez. 2007 23:24 <-- editieren / zitieren --> Unities abgeben:
Es ist alles viel einfacher als gedacht. Die letzte Zeile muss Code: set formel1 = rel.CreateFormula("Formel.1", "", punkt1.X, "xo1*`tiefe innen t_i`")
heißen. Damit weise ich der X-Koordinate des Punkts, den ich soeben erzeugt habe, die Formel "xo1 * tiefe innen" zu. "tiefe innen" ist ein Parameter des Typs Länge, "xo1" ist eine reelle Zahl. Noch ein Tipp: Die Formeln werden automatisch durchnummeriert wenn man statt '"Formel.1"' einfach '""' schreibt. Oliver Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|