|
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 |
 PLANAR_AUF_GEKRUEMMT.zip |
CATIA V5 Allgemein : Planare Fläche auf gekrümmte abwickeln
gladly am 09.12.2011 um 15:28 Uhr (1)
Moin,also Wrap Surface habe ich selber heute getestet und verworfen. Flächengröße lässt sich nicht berücksichtigen.Das einzige was mir einfallen würde - Automatisier die Schnitte mit einem Makro. Dürfte nicht allzuschwer sein.Wenn man von der Planaren den CenterOfGravity hat und eine H und eine V-Line erzeugt hat, könnte man diese im (z.B.) 1mm step abgehen und entsprechend den Punkt auf der gekrümmten fläche setzen.Falls du es aufbaust wie erst beschreiben, also mit der Formel, musst du im Marko nur den S ...
|
In das Form CATIA V5 Allgemein wechseln |
|
CATIA V5 Allgemein : Speichern z.b. als igs
gladly am 18.01.2012 um 15:13 Uhr (0)
Moin allesamt,auch wenn dies wenig produktiv für die eigentliche Frage ist...Generell sollten Punkte in Namen NICHTS ausmachen. Auch beim Speichern in IGES usw sollte dies ohne Probleme genutzt werden können. Catia ist mit sicherheit nicht das perfekte System (nicht mal annähernt ) aber einen Dateipfad mit leerzeichen, Punkten und Sonderzeichen ist kein Problem.Dies hat auch nichts mit Windows zu tun. Unter Unix würde es genau so laufen. Der Punkt ist ein Normales zeichen - lediglich das kürzel nach dem L ...
|
In das Form CATIA V5 Allgemein 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 |