|
CATIA V5 Programmierung : Update-Fehler bei UDF-VB Script
gladly am 31.10.2011 um 11:13 Uhr (0)
Guten Tag,ich versuche gerade ein Makro als UDF umzusetzen, damit dies automatisch ausgeführt wird, wenn es benötigt wird (Update der Geometrie). Leider stört mich eine Fehlermeldung, dessen Sinn mir leider Schleierhaft ist und ich es nicht schaffe diese zu entfernen.Vorab - Die Fehlermeldung erscheint nur bei automatischem Update! Stellt man auf Manuelles Update um und betätigt manuell den "Update All" Button erscheint der fehler nicht! Genausowenig wenn man lokal update auf das Auslösende Element macht.I ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : In VBA - Not auf Catia-Befehle nicht möglich
gladly am 22.03.2010 um 11:26 Uhr (0)
Guten Tag,ICH DANKE DIR VIELMALS. Wie schon weiter oben erwähnt kommt man nie auf die einfachsten Varianten.AlsoCode:Sub TestNotBoolV3() Dim b1 As Boolean Dim b2 As Boolean Dim i1 As Integer i1 = CInt(True) -1 = True i1 = CInt(False) 0 = False i1 = CInt(CATIA.FileSystem.FileExists("C: est.bat")) 1 = True i1 = CInt(CATIA.FileSystem.FileExists("C: est2.bat")) 0 = False b1 = CInt(CATIA.FileSystem.FileExists("C: est.bat")) = 1 Somit Prüfung auf True b2 = CInt(CATIA.FileSystem.FileExi ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : NoShow oder Show global gesehen
gladly am 29.09.2010 um 15:30 Uhr (0)
Auch wenn dieser Beitrag schon etwas in die Jahre gekommen ist hätte ich noch eine Lösung die meiner meinung nach weniger aufwendig ist.1. Selektiert das Object2. Das Übergeortnete Elemtent markieren3. Eine Suche Visibility=Shown in Current Selection (Der Übergeortnete HybridBody) - Shown zeigt wirklich nur Sichtbare Elemente. Visible hingegen ob sie selbst "an" oder "aus" sind.4. Schauen ob in Selektion dein Element ist! Leider geht die Suche nicht wenn man direkt das Element anwählt. Deshalb der umweg üb ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Late Binding mit Visual Basic 2008 Express Edition
gladly am 29.09.2010 um 16:17 Uhr (0)
Diese Umständlichkeit in C# ist auch in VB nötig. Der Unterschied warum du allerdings direkt auf Eingenschaten und Methoden in VB zugreifen kannst liegt daran, da der VB-Compiler automatisch den benötigten Code erzeugt. Der C#-Compiler nicht (bzw. soll er eigentlich seit .net 2010 auch können, habe ich aber nicht nicht getestet)Fals dir der .netReflector was sagt schau dir mal ein Programm an welches du mit VB geschrieben hast.Schreibe einfach mal folgendes in VB: Es bennent in einem Part nen PartBody um.D ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Late Binding mit Visual Basic 2008 Express Edition
gladly am 11.10.2010 um 15:54 Uhr (0)
Hallo nochmal,vorab schuldige, dass ich mich erst nun melde...So nun zum Problem:Ich musste es natürlichgleich Probieren mit deinem "InWorkObject" und ja es funktioniert (zumindest) unter .net 2005 als implizite Late-Binding tatsächlich nicht.Ich habe es somit per Hand gemacht und es funktioniert.Code sähe so aus:Code:Dim catia As Object = System.Runtime.InteropServices.Marshal.GetActiveObject("CATIA.Application")Dim oPart As ObjectoPart = CATIA.ActiveDocument.PartDim oBody As Object = oPart.HybridBodies.i ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Catia COM-Object serialisieren?
gladly am 01.11.2010 um 15:14 Uhr (0)
Guten Tag,vorab ich habe soetwas noch nicht gemacht und verstehe auch die Verwendung nicht. Zumal wäre zu klären wie das gemacht werden sollte.Unter .net vorhandene Serialisierungsmöglichkeiten benötgigen unterliegende Reflection-Eigenschaften die ein Com-Object nicht mitbringt.Zumal ein Object wie etwa das PartDocument, oder auch ein Hybridbody als Automatin-Object nur eine Refernenz eines Object im reellen CatPart darstellt sehe ich keinen Sinn darin ein Object zu speichern, da es nur mit dem einen Model ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Update-Fehler bei UDF-VB Script
gladly am 31.10.2011 um 13:22 Uhr (0)
Vorab, entschuldigt das Doppelposting, aber da dies nun die Lösung zu sein scheint, wollte ich diese hervorheben.Also... Mit folgendem Code habe ich es hinbekommen. Mir kam in den Sinn, dass man ja auch anders, als nur mit der Selection löschen kann. Diese möglichkeit erzeugt anscheinend kein erneutes Update!Folgend das korregierte VB ScriptCode:set mPart = Catia.ActiveDocument.PartSet mHybridShapeFactory = mPart.HybridShapeFactoryfor i = hb_work.hybridshapes.count to 1 Step -1 Set ref_mCrv = mPart.Create ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Parts erzeugen und hochzählen
gladly am 16.11.2011 um 17:40 Uhr (0)
Guten Tag,bei einem neuen Product lief Ihr Makro so bei mir durch und erzeugte Variante_01 - Variante_10.Bei dem zweiten Fehler kann ich nur sagen, das bei Erneutem Ausführen ja auch erneut Elemente mit gleichem Namen erzeugt werden.VORSICHT wenn Sie bei Tests Ihr Makro ausgeführt haben. Die Parts gelöscht haben und es erneut Probieren wollten. Die Part sind noch immer als Document in Catia Aktiv! Siehe Catia.Documents - diese dann erst schließen.If Err.Number 0 thendurch If Abfrage durchlaufen ohne was z ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Parameter aus Parts in Produktstruktur auslesen
gladly am 01.12.2011 um 21:46 Uhr (0)
Guten Tag,die Parameter sind ja im Part enthalten, also muss man diese auch dort lesen. Somit müsste (soweit mein Gedächnis mich bezüglich der Eigenschaften nicht täuscht) ausParameters1 = CATIA.Documents.Item(i).Product.ParametersParameters1 = CATIA.Documents.Item(i).Product.Part.Parameterswerden.Das Item(i).Product ist ein (bei PARTS!!) PartDocument, welches die Eigenschaft "Part" enthält, welche vom Typ "Part" ist. Dort kann man dann auf Bodies, Parameter usw. zugreifen.Es empfiehlt sich zuvor zu Prüfen ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : COMExeption wurde nicht behandelt
gladly am 05.12.2011 um 13:11 Uhr (0)
Guten Tag,also wenn ich Ihren Code so recht verstehe haben Sie einen groben Fehler... Sie übergeben Schlichtweg keinen Pfad zum Öffnen. Zitat:Code:string input = "";catiaDocument = catiaApplication.Documents.Open(ref input);Ein leerer String wird erzeugt und anschließend übergeben!Muss heißen (wenn man davon ausgeht, das der Ausgewählte Pfad zuvor genutzt werden soll!):Code:catiaDocument = catiaApplication.Documents.Open(dlg.FileName);Nochmal komplett von meinem Test (sorry - ist in VB, aber ist ja klar)Co ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : COMExeption wurde nicht behandelt
gladly am 06.12.2011 um 09:43 Uhr (0)
Guten Tag,du hast schlicht zwei Mal das Öffnen des Dialog in deinem Code!dlg.ShowDialog() ist eine Funktion mit dem Rückgabewert eines Enums DialogResult.Beim ersten rufst du einfach auf. Beim zweiten rufst du auf und prüft gleichzeitig auf den Rückgabewert (was ja gewollt ist).Ersten entfernen und fertig.Desweiteren denke ich ist die Doppelte zuweisung des catiaDocument unnötig. Der Rückgabewert des Open-Befehl ist ja das geöffnete Dokument, welches auch Active geschaltet wird. Somit weist du in der nächs ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Makro: Fehlerhafte Elemente Löschen/Deaktivieren
gladly am 07.12.2011 um 14:45 Uhr (0)
Guten Tag,ich hatte mich vor einiger Zeit an das selbe Problem gemacht. Ich hatte dies als Automatisches UDF-Feature erstellt, also wurden dort an das VB-Script die Parameter in der Reaction übergeben. Diese müsstest du manuell Jüst selektieren (SelectElements2 oder so... dir überlassen).Solltest du fragen dazu haben einfach melden. Habs noch halbwegs im gedächnis...Aufbau (Ordner sind mit + gekennzeichnet)Fuellfl+-Input+--Achse--NullPunkt--X-Line--Y-Line--Z-Line--Zu Schließende Fläche--Boundary der Fläche ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Spline aus Unterfunktion übergeben
gladly am 08.12.2011 um 11:57 Uhr (0)
Guten Tag,ich vermute ein Problem, bin aber nicht sicher, das es nur das ist...Also: Objekte müssen immer mit "set" einer Variable zugeornet werden. Auch die Catia-Objekte sind Objekte im Sinne von VBA. Änderungen an folgenden Stellen:Code:Function SplineAusAuswahl() as Object As Variant...set SplineAusAuswahl = SplineEnd FunctionCode:Dim Spline as Object Oder as Hybridshapespline damit man codevervollständigung hat As Variantset Spline = SplineAusAuswahl()mich wundert nur, das keine fehlermeldung bei der ...
|
In das Form CATIA V5 Programmierung wechseln |