|
CATIA V5 Programmierung : Fläche verschieben mit Formel - HybridShapeTranslate
Physimathi am 08.05.2007 um 18:57 Uhr (0)
Hallo,und wieder ein schweres Problem:Ich will eine Fläche verschieben, doch ich bekomme die Formel nicht zugewiesen:Fileskelett:-Produkt + neues Teil-Skizze-Füllen-Füllen kopieren-Einfügen Spezial - als Ergebnis-Füllen löschenDas Problem liegt bei "CreateFormula( CATBSTR iName, CATBSTR iComment, CATIAParameter iOutputParameter, CATBSTR iFormulaBody)Der CATIAParameter muss als Z As Double vorliegen um ihn dem "hybridShapeTranslate1.DistanceValue = Z".Doch ist Z As Double, dann gibt es einen "Type mismatch" ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Produkt nachbauen
elharry am 09.05.2007 um 12:37 Uhr (0)
Hallo,scheint schwerer zu sein als ich Dachte.Habe mich nun entschlossen, das Produkt nicht Parallel zum bestehenden aufzubauen sondern innerhalb des bestehenden Produktes ein neues Produkt anzuhängen und unter diesem die Parts zu kopieren.Das erzeugen eines Produktes klappt inkl. aktuellem Datum und Urzeit.Probleme macht mir noch das aufbauen der Selektion der Parts und dann das kopieren in das gerade erzeugte Produkt. Das habe ich mir mal mit dem Makro Recorder aufgezeichnet und versucht hier einzubauen ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Konstruktionselemente von Suche/Selektion ausschließen
YellowDevil am 09.05.2007 um 14:22 Uhr (0)
Eine ähnliche Frage hatten wir oben grade, da war es nur so das man den umgekehrten Fall hatte und zusätzlich was in die Suche einschliessen wollte.Sollte derselbe weg sein nur mit anderen Operanden.sSel.Search(" das zu suchende - das was ausgeschlosssen werden soll ")Getestet habe ich es ganz einfach an einem Part mit 3 Geo Sets "Test","Test1" und "Test2". Dann hab ich nach allen Geo Sets suchen lassen und das Geo Set "Test1" von der suche ausgeschlossen. Und es funktioniert.Hier der Code:Set selection1=C ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Fläche verschieben mit Formel - HybridShapeTranslate
Physimathi am 09.05.2007 um 14:26 Uhr (0)
Hallo,ich habe die Lösung. Es ist ja doch einfach gewesen. Nur draufkommen muss man.Erstellt man eine AddNewTranslate(Objekt, Richtung, Weite), dann kann man die Formel dem Wert der Eigenschaft "Distance" gleich zugewiesen werden.Erstellt man eine AddNewEmptyTranslate(), dann kann man die Formel dem Wert der Eigenschaft "Distance" erst zuweisen, wenn man einen Wert für "DistanceValue" zugeordnet hat.Danach kann man der Eigenschaft "Distance" eine Formel zuweisen.- ohne vorherige ""DistanceValue" Wertezuord ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : HybridShapeSplit - Beide Seitenflächen greifen
YellowDevil am 09.05.2007 um 14:34 Uhr (1)
Ich weiss es nicht ganz genau,aber ich glaube so funktioniert das nicht.Wenn mich nicht alles täuscht,dann unterscheidet CATIA am Ende nicht.Kannst Du nicht einfach zwei Splits erstellen lassen, den einen von der einen Seite und den anderen von der anderen. Dann müsstest du doch das gewünschte Ergebniss haben.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Winkel zwischen 2 Linien messen
dabaeda am 09.05.2007 um 15:40 Uhr (0)
Hm, werde das morgen gleich mal probieren und das Ergebnis hier dann posten.In der VB-Hilfe von Catia ist das ohne Get gestanden, deswegen hatte ich das nicht reingeschrieben.Vielen Danke nochmal für die Hinweise.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Produkt nachbauen
elharry am 08.05.2007 um 09:24 Uhr (0)
Hallo miteinander,ich habe folgendes Problem: ein Produkt muss in einer durch eine Kinematik angefahrenen Position verschickt werden. Wenn ich das Produkt nun mit der DF1 Lizenz bearbeite landen die Bauteile wieder in der Konstruktionslage.Das ganze lässt sich umgehen wenn man die Parts aus der Lage in ein neues Produkt kopiert.Das Produkt hat aber mehrere Ebenen und sollte die Struktur beibehalten.Da diese Aufgabe immer wieder auftritt, wollte ich hier ein Makro zum Einsatz bringen. Habe aber keine Ahnung ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Winkel zwischen 2 Linien messen
dabaeda am 10.05.2007 um 10:19 Uhr (0)
Nun hat es geklappt (fast).Mit dem Code: Zitat:Dim angle(100)Dim TheSPAWorkbench As Workbench Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench ( "SPAWorkbench" ) Dim TheMeasurable(100) As Measurable dim zaehler as doublefor zaehler=1 to 10 Hier liegt ein Problem Set TheMeasurable(zaehler) = TheSPAWorkbench.GetMeasurable(RefPtRichtung(zaehler)) angle(zaehler) = TheMeasurable(zaehler).GetAngleBetween(RefProjektionNormale(zaehler))nextHabe ich nun folgendes Problem:Schreibe ich: for zaehler=1 to 9, d ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Winkel zwischen 2 Linien messen
dabaeda am 10.05.2007 um 12:06 Uhr (0)
Habe den Fehler gefunden:scheinbar kommt Catia nicht mit RefPtRichtung(10) und RefProjektionNormale(10) in dem Ausdruck klar, auch nicht wenn ich in der ersten Schleife nur bis 9 zähle, und ein einer seperaten Schleife dann die 10 erzeuge.Lösung:RefPtRichtung(10) in RefPtRichtung(11) (bei anderer Referenz analog) umbenannt und folgenden Code eingefügt: Zitat:dim bThemeasurable as Measurableset bTheMeasurable = TheSPAWorkbench.GetMeasurable (RefPtRichtung(11))angle(10) = bTheMeasurable.GetAngleBetween(RefPr ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : NewFrom....
sestefanhome am 10.05.2007 um 13:56 Uhr (0)
Hallonoch eine Frage:ich möchte mit NewFrom... ein neues Part erzeugen.Set oNewPart = CATIA.Documents.NewFrom("....")Catia soll dabei aber nicht ein neues Fenster erzeugen, sondern das Part nur im Hintergrund laden/erzeugen.Gibt es eine Möglichkeit, dieses zu realisieren?Gruß Stefan
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : NewFrom....
YellowDevil am 10.05.2007 um 15:39 Uhr (0)
Ja gibt es,aber mit einem Nachteil. Es lässt sich dann nicht wie NewFrom abbilden.Dim newDoc As DocumentSet newDoc = CATIA.Documents.Read(filepath )Läd das ganze ohne es zu aktivieren.Zum aktivieren musst dann nochnewDoc.Activateangeben.Aber wie gesagt damit kannst Du nicht die NewFrom Funktion abbilden.
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : mehrere dxf-Daten gleichzeitig importieren
Lusilnie am 10.05.2007 um 23:20 Uhr (0)
Hallo Gaby75,die wirkliche Frage ist hier, was den die "anderen Faktoren" sind bzw. wie man diese aus der Datei herausfiltert. Normalerweise sollten DXF-Dateien ja reine Text-Dateien sein. Also könnte man ja nach einem bestimmten "String" die Dateien durchforsten. Entweder im UNIX oder, bei Windows, in der Kommandozeile. Das Ergebnis wird in eine Datei umgeleitet, in welcher dann pro Zeile ein Datei-Name (mit oder ohne Pfad) steht. Diese Listen-Datei liest man innerhalb eines CATIA-Makros ein, welches dann ...
|
In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Instancename umbenennen 2te Ebene
CAMiCADse am 14.05.2007 um 11:40 Uhr (0)
Hallo Leipziger,dann nimm noch diese Codezeilen von tomtom1972 dazu, dann klappts Zitat:Hallo zusammen,das geht einfacher.Das Part, dessen Instance umbenannt werden soll, muss nur über sein Parent (CATProduct) aufgerufen werden. Selectionen sind keine notwendig.Set oInstNameChangeProd = Catia.Documents.Item(oPartToRenameTheInstance.Parent.Parent.ReferenceProduct.Parent.Name)Set oInstNameChangeItem = oInstNameChangeProd.Product.Products.Item(oPartToRenameTheInstance.Name)oInstNameChangeItem.Name = sNewIns ...
|
In das Form CATIA V5 Programmierung wechseln |