|
CATIA V5 Programmierung : Parameter auslesen
Randle am 15.08.2009 um 17:34 Uhr (0)
Hallo IIYTII,folgender Code sollte auch bei dir gehen (R19 SP3, ohne Selection)Sub CATMain()Dim oPartDoc As PartDocumentSet oPartDoc = CATIA.ActiveDocument setzt vorraus das auch ein CATPart geöffnet und aktiv ist, ansonsten vorher über TypeName überprüfenDim oPart As PartSet oPart = oPartDoc.PartDim oParameter As ParameterDim I As IntegerFor I = 1 To oPart.Parameters.Count MsgBox oPart.Parameters.Item(I).Parent.Name & "" & oPart.Parameters.Item(I).Name & " - Value: " & oPart.Parameters.Item(I).ValueAs ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Parameter auslesen
Randle am 16.08.2009 um 11:05 Uhr (0)
Moin,falls der Tip von Daniel nicht geht, versuch doch mal statt Value, ValuateFromString (evtl. musst du die genaue Schreibweise mal in der Doku nachlesen, habe gerade keine zur Hand). Also so:oPart.Parameters.Item(I).ValuateFromString = Excel.Cells(I, 3)Ansonsten gebe ich Daniel recht. Du musst bei Parametern auf den Datentyp achten. Ausserdem musst du z.B. bei Dimensionparametern (Length, Angle usw.) auch immer die Einheit mit geben, sonst bekommst du teilweise abenteuerlicher Ergebnisse. Catia nimmt we ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : In VBA - Not auf Catia-Befehle nicht möglich
Randle am 06.11.2012 um 09:34 Uhr (0)
Hallo,auch wenn hier wohl schon eine Lösung existiert. Ich kenne das Problem im Zusammenhang mit der Abfrage IsDetail bei dem Objekt DrawingSheet.Hier habe ich mir immmer mit einer kleinen Funktion geholfen.Private Function IsMySheetADetail(t_oSheet As DrawingSheet) As Boolean If t_oSheet.IsDetail Then IsMySheetADetail = True Else IsMySheetADetail = False End IfEnd FunctionDer Aufruf sieht dann wie folgt aus.For i = 1 To oDrwDoc.Sheets.Count oDrwDoc.Sheets.Item(i).Activate If IsMySheetADetail(oDr ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : vbscript macro auf allen geöffneten zeichnungen ausführen
Randle am 04.03.2013 um 11:46 Uhr (0)
Hallo,das folgende müsste deinen Wünschen entsprechen (nicht getestet).Sub CATMain()For Each oDoc in CATIA.Documents If TypeName(oDoc) = "DrawingDocument" then Set drawingDocument1 = oDoc Set parameters1 = drawingDocument1.Parameters Set strParam1 = parameters1.Item("DrawingDESCRIPTION_01") strParam1.Value =Replace(Left(oDoc.Name,InStr(oDoc.Name,"-")-1), "_", " ") Set parameters2 = drawingDocument1.Parameters Set strParam2 = parameters2.Item("DrawingDESCRIPTION_02") strParam2.Value = ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Hintergrund ersetzen in einer Zeichnung
Randle am 23.11.2015 um 14:59 Uhr (1)
Hallo,also nicht alles was man in CATIA manuell macht/machen kann wird vom Makrorekorder (korrekt) aufgenommen.Ich denke du wirst hier nicht um eine Programmierung umzu kommen, es sei denn du machst das Ganze manuell.GrußRandle[Diese Nachricht wurde von Randle am 23. Nov. 2015 editiert.]
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA selection
Randle am 07.12.2015 um 12:16 Uhr (1)
Hallo,also von Hand durchgeführt und mit dem Makrorekorder aufgenommen, kommt folgendes bei raus:Language="VBSCRIPT"Sub CATMain()Dim partDocument1 As DocumentSet partDocument1 = CATIA.ActiveDocumentDim selection1 As SelectionSet selection1 = partDocument1.Selectionselection1.Search "CATProductSearch.MatMaterialType.Name=*16Mn*,all"End SubDaran denken das die Suche Sprachabhängig ist.GrußRandle[Diese Nachricht wurde von Randle am 07. Dez. 2015 editiert.]
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : CATIA selection
Randle am 07.12.2015 um 13:49 Uhr (1)
Hallo,Also die vom Makrorekorder genutzten Namen müsstest du dann natürlich noch "neutralisieren", es ging mir hier eher erst mal um das generelle Vorgehen.Zum Kopieren der Parts müsstest du das Suchergebnis (enthält ja nur Materialeinträge) innerhalb des Makros noch mal einzeln durchgehen und das jeweilige Elternobjekt (das Part) des Materialparameters zwischenspeichern (z.B. in einer Collection).Abschließend dann das Suchergebnis leeren (selection.clear) und die Objekte aus der Zwischenspeicherung der Se ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Parts eines Products schnell auslesen!
Randle am 09.12.2015 um 11:15 Uhr (1)
Hallo,man könnte auch alle geladenen Dokumente durchgehen.For each oDoc in CATIA.Documents Select Case TypeName(odoc) case "PartDocument": mach irgendwas mit dem Part case "ProductDocument": mach irgendwas mit dem Product case else: mach was anderes End SelectNextAllerdings sollte man dann bevor man das Makro auf eine Baugruppe loslässt die CATIA Sitzung neu starten, damit nicht noch andere (nicht zu der Baugruppe gehörenden) Teile mit ausgelesen werden.Bei deiner Vorgehensweise führst du unter Umstä ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Get Current Solid
Randle am 11.03.2016 um 10:14 Uhr (1)
Hallo,Kann man nicht mit/über "InWorkObject" irgendwie an das Parentobjekt rankommen? Der folgende Code liefert mir den Namen des Körpers (natürlich nur in meinem Testmodell) Hier müsste man noch eine Typenabfrage einbauen bis man das Solidobjekt hat.Sub CATMainDim oPart As PartDim oBody As BodySet oPart = CATIA.ActiveDocument.PartSet oBody = oPart.MainBodyMsgBox oPart.InWorkObject.Parent.Parent.NameEnd Suboder habe ich was falsch verstanden?GrußRandle
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro Linie senkrecht zur Fläche
Randle am 11.03.2016 um 09:56 Uhr (1)
Hallo,wenn es nur um ein paar (~30-50) Elemente geht, bzw. um eine immer mal wieder auftretende Anwendungsfall, wäre ein Powercopy sicherlich das Mittel der Wahl. Ansonsten wäre ein Makro sicher effektiver/komfortabler.Generell solltest du dir mal die Datei "DEIN INSTALLATIONSVERZEICHNIS VON CATIAintel_acodeinV5Automation.chm" ansehen, wenn du dich zukünftig mit Makroprogrammierung beschäftigen möchtest. Dort findest du ca. 70-80% aller Dinge die du im Bezug auf CATIA V5 und Programmierung brauchst, den R ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Instanzname mit Partname im gesamten Produkt abgleichen
Randle am 21.03.2016 um 14:24 Uhr (1)
Hallo,ich stimme deinen Anmerkungen ja zu, Programmierkomfort ist bei CATScript Mangelware. Aber man kann ja im VBA Editor programmieren, das Makro selber aber dann als CATScript bereitstellen.Zu den DLLs und Verweisen:Wenn man z.B. Steuerelemente nutzen will die im CATIA VBA (wie es von der CD installiert wird) nicht vorhanden sind, braucht man weitere DLLs oder OCXe. Diese müssen dann natürlich auf den CLientrechnern (möglichst in der richtigen Version) verfügbar sein. Windowsupdates können einem hier sc ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Change Drafting Standard
Randle am 05.04.2016 um 12:28 Uhr (1)
Hallo,es gibt da eine Möglichkeit, allerdings mit Einschränkungen.Aus der V5 Automation.chm (Eigenschaft des Objektes "DrawingDocument"):Property Standard( ) As CatDrawingStandard Returns or sets the drawing standard of the drawing document. Example: This example sets the drawing standard of the active document, supposed to be a drawing document, to ISO. CATIA.ActiveDocument.Standard = catISODie Einschränkung besteht darin das man hier nur aus einer Enumeration auswählen kann.Wiederrum aus der Automation. ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Hinweisfenster unterdrücken
Randle am 29.06.2016 um 12:03 Uhr (1)
Hallo,könntest du mal den kompletten Aufruf mit dem du CATIA startest posten?Der müsste ja in etwa so aussehen:C:optcatiav5r18win_b64codeinCNEXT.exe -batch -macro C:catiamacrosIGSExport.CATScriptGrußRandle[Diese Nachricht wurde von Randle am 29. Jun. 2016 editiert.]
|
In das Form CATIA V5 Programmierung wechseln |