|
CATIA V5 Programmierung : For-Schleife
Jens Hansen am 04.03.2010 um 16:41 Uhr (0)
Hallo,eine Schleife abfragen? Du kannst die Schleife nur durchlaufen lassen bzw. über einer Abbruchbedingung (if-Anweisung) vorzeitig beenden.Was genau soll denn gemacht werden? Kannst du die Schleife nicht mit einer If-Abfrage vorzeitig beenden?SGJens Hansen------------------Inoffizielle CATIA-HilfeseiteHomepage von Jens HansenKochbuch - CATIA V5 automatisieren
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : For-Schleife
DanielFr. am 04.03.2010 um 18:52 Uhr (0)
Hallo,von was hängen die Endbedingungen den ab? Ich würde die Schleife in eine Funktion packen. Diese wird z.B. durch die Hauptroutine aufgerufen. In der Hauptroutine machst du dir eine Select Case...End Select Anweisung und rufst innerhlab dieser, ja nach Endbedingungs-Kriterium die Funktion auf ------------------MFG DanielSysteminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : eine Fläche Benutzerunabhängig einfärben
RBB86 am 23.02.2010 um 15:29 Uhr (0)
Danke,Aber woher weist Catia welche Fläche ich einfärben möchte? Ich möchte es ohne dass ich eine mit der Maus auswählen muss
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : eine Fläche Benutzerunabhängig einfärben
HoBLila am 23.02.2010 um 15:32 Uhr (0)
An der Selection wirst du wohl nicht vorbei kommen.Die Selection kannst du aber auch ohne Maus füllen über Selection.AddDadruch, dass die VisProps von der Selection kommen weiß CATIA auch, was einzufärben ist.------------------Mit freundlichen Grüßen,Henry Schneideralias LilaEs gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,die Natur versucht, immer bessere Idioten zu bauenXing
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : eine Fläche Benutzerunabhängig einfärben
RBB86 am 24.02.2010 um 12:26 Uhr (0)
Hallo,habe es leider nach viel rumprobieren nicht geschaftCode:Dim Selection1 As Selection Dim Fläche As Reference Selection1 = CATIA.ActiveDocument.Selection Selection1.Clear() Selection1.Add(CATIA.ActiveDocument.Part.Mainbody) Selection1.VisProperties.SetVisibleColor(0, 255, 255, 0)Wenn ich es so schreibe, wird der gesammte Hauptkörper eingefärbt. Ist soweit verständlich.Was muss ich denn für "Mainbody" schreiben, damit nur eine bestimmte Fläche eingefärbt wird???Bitte um HilfeGruß
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : eine Fläche Benutzerunabhängig einfärben
RBB86 am 24.02.2010 um 17:34 Uhr (0)
Hallo nochmal,leider funktioniert es immer noch nicht. Die Fläche wird angewählt, aber die Farbe bleibt grau, unverändert.Code:Dim Selection1 As SelectionDim Fläche As ReferenceFläche = Mypart.CreateReferenceFromBRepName("RSur:(Face:(Brp:(Pad.1;2);None:();Cf11:());WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", Block1)Selection1 = CATIA.ActiveDocument.SelectionSelection1.Clear()Selection1.Add(Fläche)Selection1.VisProperties.SetVisibleColor(255, 0, ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : eine Fläche Benutzerunabhängig einfärben
Jens Hansen am 24.02.2010 um 21:28 Uhr (0)
Hallo,Ich denke der Haken liegt daran, dass der Selection eine Reference übergeben wird und kein Objekt.Ich habe gerade kein V5 greifbar daher folgender Code einfach mal blind getippt:Set Fläche = Mypart.CreateReferenceFromBRepName("RSur Face Brp Pad.1;2);None );Cf11 ));WithPermanentBody;WithoutBuildError;WithSelectingFeatureSupport;MFBRepVersion_CXR15)", Block1).ParentSet Selection1 = CATIA.ActiveDocument.SelectionSelection1.Clear()Selection1.Add(Fläche)Selection1.VisProperties.SetRealColor(255, 0, 0, 1) ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : eine Fläche Benutzerunabhängig einfärben
RBB86 am 24.02.2010 um 23:06 Uhr (0)
@Jens Hansen:danke für deinen Tipp, leider möchte es einfachn nicht funktionieren!Ich habe einen Würfel erzeugt und habe es dort auch mit der Farbe probiert, leider ohne Erfolg.Vieleicht kann jemand das Makro bei sich reinladen um zu überprügen woran es liegtCode:Dim CATIA As INFITF.Application Dim Mydoc As PartDocument Dim Mysel As Selection Dim Mypart As Part Dim Body1 As Body Dim ref1 As Reference Dim factory2d1 As Factory2D Dim Shapefactory1 As ShapeFact ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : eine Fläche Benutzerunabhängig einfärben
HoBLila am 25.02.2010 um 18:14 Uhr (0)
Der Code ist soweit in Ordnung.Die referenzierte Fläche wird auch eingefärbt.Das kann man sehen, wenn man im CATIA schaut und in der selection das Objekt ist gelb.Allerdings wirkt es so, als wäre das selektierte Objekt nur temporär.Ich vermute, da die Face nur Kurzzeitig für die Selection abgeleitet wird.Also klicke ich irgendwo hin, auch wenns die gleiche Fläche ist, dann ists vorbei.Die Referenz bleibt aber gleich.Das sieht gar nicht so trivial aus. Kann Dir daher leider im Moment auch nicht weiterhelfen ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : eine Fläche Benutzerunabhängig einfärben
HoBLila am 08.03.2010 um 11:02 Uhr (0)
Code:Public Sub CATMain() Dim bodyWork As MECMOD.Body Dim docPart As MECMOD.PartDocument Dim fact2DWork As MECMOD.Factory2D Dim partWork As MECMOD.Part Dim refWork As INFITF.Reference Dim selWork As INFITF.Selection Dim shFactWork As PARTITF.ShapeFactory Dim sketchesWork As MECMOD.Sketches Dim sketchWork As MECMOD.Sketch Dim padWork As PARTITF.Pad Dim hybBodiesWork As MECMOD.HybridBodies Dim hybBodyWork As MECMOD.HybridBody Dim hybShFactWork As HybridShapeTyp ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Geschwindigkeit Zugriff Produkt
wulfgang am 08.03.2010 um 11:06 Uhr (0)
Hallo, wenn ich auf ein Produkt zugreifen möchte, welcher Aufruf ist schneller? Oder ist das egal? Oder hängt es von der Zahl der Zugriffe ab?Code:Set Product1 = CATIA.ActiveDocuments.Productoderoder jedes Mal Code:CATIA.ActiveDocuments.Product aufrufen.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Instanz-Name in einer Komponente ändern
LargeAssy am 08.03.2010 um 06:51 Uhr (0)
Hallo Lusilnie,vielen Dank für den Hinweis. In der Richtung hatte ich auch rumprobiert. Irgendwie muß ich die Komponenten "aktivieren" im darin Instanzen umbenennen zu können.Hier die Lösung, wie sie momentan funktioniert. Zumindest bei den Produkten, welche ich getestet habe.......Sub scanProductStructure(theProducts As Products) Dim actProducts As Products Dim ii As Integer Dim goDeeper As Boolean On Error Resume Next For ii = 1 To theProducts.Count toDesignMode theProducts.Item(ii) If the ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Rückgabe aus externem Programm
DonYouAn am 08.03.2010 um 15:37 Uhr (0)
Hallo,ich versuche gerade über ein externes Programm (Visual Basic 2008) ein Array mit Werten an das aufrufende Makro zurückzugeben. Leider habe ich bisher keine Möglichkeit gefunden dies zu bewerkstelligen. Hat vielleicht jemand eine Idee wie das funktioniert oder ist dies tatschlich nur über temp. Files möglich?Hier mal der Code des CATScript-MakrosCode:Sub CATMain() Dim InputValues() as Variant Dim FileSelector as String FileSelector = "pfadCatia_FilePicker.exe" CATIA.SystemService.ExecuteProcessus(File ...
|
In das Form CATIA V5 Programmierung wechseln |