Autor
|
Thema: Parameter von Bemaßung ändern (1408 mal gelesen)
|
KlausJ Mitglied
Beiträge: 1336 Registriert: 17.03.2003 CATIA V4.2.4 Ref 2 CATIA V5R16SP7 AIX 5.3 Windows 2000 und XP
|
erstellt am: 30. Sep. 2005 16:57 <-- editieren / zitieren --> Unities abgeben:
Hallo Programmier-Kollegen, ich bin dabei, mich ein wenig in das Programmieren mit VBScript (CATScript) auf Unix einzuarbeiten. Ich möchte einen Parameter von allen Bemaßungen in einer Zeichnung ändern (hier Gap). Dabei habe ich folgendes Programm erstellt : Code:
Dim MyDim As DrawingDimension Dim DimExtLine As DrawingDimExtLine Dim DrwDoc1 As Document Dim Sel1 As Selection Const Gap_Ext As Double = 2.0 Set DrwDoc1 = CATIA.ActiveDocument Set Sel1 = DrwDoc1.Selection Sel1.Search "CATDrwSearch.DrwDimension,all" for I = 1 to Sel1.Count Set MyDim = Sel1.Item(I).Value Set DimExtLine = MyDim.GetDimExtLine DimExtLine.SetGap 1, Gap_Ext DimExtLine.SetGap 2, Gap_Ext Next
Die Fehlermeldung ist : Object doesn't support this property or method: 'MyDim.GetDimExtLine' Ich möchte einfach nur die Pointer von allen selektierten Elementen bekommen. Das müßten dann Dimensions sein. Zu diesen müßte ich dann die Extension lines erhalten - oder habe ich da einen Denkfehler gemacht ??
------------------ in diesem Sinne Klaus 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: 04. Okt. 2005 14:52 <-- editieren / zitieren --> Unities abgeben: Nur für KlausJ
Hallo Klaus, du versuchst, über eine Selection auf ein Objekt zuzugreifen und im Anschluss die spezifischen Eigenschaften zu ändern. Das fumtioniert so nicht. Du kannst von Objekten aus einer Selection z.B. die Farbe oder die Sichtbarkeit verändern; nicht aber z.B. den Radius ändern. Grund dafür ist die Tatsache, dass die Seelction-Klasse nur allgemeine Objekte liefert ujnd kein spezifisches Objekt. Um in deinem Fall einen bestimmten Parameter zu ändern, musst du auch das Objekt spezifisch ansprechen; z.B: Set schaft1 = bodies1.Item("Hauptkörper").shapes.Item("Welle.1") Nunn könnte man die spezifischen Eigenschaen der Welle verändern. Entsprechend musst du nun mit du mit deiner Bemassung verfahren. Wann kommst du nach Stuttgart?? Jens Hansen ------------------ Inoffizielle CATIA-Hilfeseite http:\\catia.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlausJ Mitglied
Beiträge: 1336 Registriert: 17.03.2003 CATIA V4.2.4 Ref 2 CATIA V5R16SP7 AIX 5.3 Windows 2000 und XP
|
erstellt am: 04. Okt. 2005 15:04 <-- editieren / zitieren --> Unities abgeben:
Hallo Jens, das ist eigentlich doof - das mit dem Search war sehr elegant. Das von Dir vorgeschlagene Verfahren hatte ich schon, aber so schien es mir einfacher. Dann muß das Programm über alle Sheets, Views und Bemaßungen hecheln. Vielen Dank für Deine Hilfe (10U) ! Zu Stuttgart : dieses Jahr kann ich leider nicht, aber nächstes Jahr bestimmt wieder. ------------------ in diesem Sinne Klaus 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: 04. Okt. 2005 15:20 <-- editieren / zitieren --> Unities abgeben: Nur für KlausJ
Hallo Klaus, tja... so ist leider V5 gestrickt. Schade, dass du dieses jahr nicht kommen kannst.. wäre bestimmt wieder lustig geworden ;-) Bis bald mal wieder ... Jens Hansen ------------------ Inoffizielle CATIA-Hilfeseite http:\\catia.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlexE78 Mitglied Ing.
Beiträge: 49 Registriert: 29.08.2005
|
erstellt am: 04. Okt. 2005 15:20 <-- editieren / zitieren --> Unities abgeben: Nur für KlausJ
Hallo allerseits, also das Ansprechen des Objektes mit "SelectedElement.Value" sollte eigentlich funktionieren. Vielleicht bringt es ja was, wenn man erstmal testet, was für ein Objekt man da wirklich rausbekommt. Also in diesem Fall sowas wie MsgBox MyDim.Name & ": " & typename(MyDim) Habe nämlich schon mit Punkt-Objekten erlebt, daß CATIA die Typen manchmal durcheinander bringt. Und es schadet vielleicht auch nichts, das ganze mal als .catvbs zu probieren, da man hier variablen keine feste Objektklasse zuweist. mfg Alex
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlausJ Mitglied
Beiträge: 1336 Registriert: 17.03.2003 CATIA V4.2.4 Ref 2 CATIA V5R16SP7 AIX 5.3 Windows 2000 und XP
|
erstellt am: 04. Okt. 2005 15:31 <-- editieren / zitieren --> Unities abgeben:
Hallo Alex, ich muß auf UNIX programmieren, weshalb catvbs nicht in Frage kommt. Zu Deinem Vorschlag : es ergeben sich in meinem Test wie gefordert 3 Dimensions. Ich glaube nicht, daß es noch viel Sinn macht, dort weiterzuforschen. Ich weiß, daß Jens sehr viel Erfahrung in V5 programmieren hat. Vielen Dank für Deinen Versuch. ------------------ in diesem Sinne Klaus 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: 04. Okt. 2005 15:39 <-- editieren / zitieren --> Unities abgeben: Nur für KlausJ
Hallo Klaus, du kannst auch catvbs benutzen; du musst nur das catvbs-Makro in .CATScript umbenennen und nach UNIX kopieren. Du kannst sogar das Makro unter catvbs verschlüsseln (verdunkeln, obfuscate), in catscript umbenennen und nach UNIX kopieren. Läuft ... Jens Hansen ------------------ Inoffizielle CATIA-Hilfeseite http:\\catia.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlexE78 Mitglied Ing.
Beiträge: 49 Registriert: 29.08.2005
|
erstellt am: 04. Okt. 2005 16:02 <-- editieren / zitieren --> Unities abgeben: Nur für KlausJ
|