Autor
|
Thema: Problem bei Constraint-Erzeugung (3051 mal gelesen)
|
CAD.Student Mitglied Dualer Student
Beiträge: 8 Registriert: 16.03.2009
|
erstellt am: 26. Mrz. 2009 10:37 <-- editieren / zitieren --> Unities abgeben:
Hallo, Ich habe folgendes Problem. Ich lade zwei Parts in ein Product. Zwischen zwei bestimmten Ebenen möchte ich eine Kongruenz erzeugen. Dies funktioniert ja eigentlich mit :CatConstraintType.catCstTypeOn. Jedoch erhalte ich jedes mal ein Hresult fehler. Der code sieht an der Stelle folgendermaßen aus: oProductDoc.Activate() oProduct.Products.AddExternalComponent(oPartDoc) oProduct.Products.AddExternalComponent(Plaettung) Dim bRef As Reference = oProduct.Products.Item(2).CreateReferenceFromName("Product1/Plättung.1/!xy-Ebene") Dim aRef As Reference = oProduct.Products.Item(1).CreateReferenceFromName("Product1/Part1.1/!Ebene.10") Dim constraints1 As Constraints constraints1 = oProduct.Connections("CATIAConstraints") Dim constraint1 As MECMOD.Constraint constraint1 = constraints1.AddBiEltCst(CatConstraintType.catCstTypeOn, aRef, bRef) constraint1.Mode = CatConstraintMode.catCstModeDrivingDimension Kann mir jemand sagen wo ich den Fehler gemacht habe? Bin noch Anfänger und freue mich über jede Hilfe. MfG Andre Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 26. Mrz. 2009 12:28 <-- editieren / zitieren --> Unities abgeben: Nur für CAD.Student
Hallo Andre, ich würde sagen es liegt an folgender Zeile: Dim constraint1 As MECMOD.Constraint Es ich denke es gibt einen Zuweisungsfehler beim Zugreifen auf die API. Mit was programmierst du den? .NET? Also ich hab gerade mal mit diesem Codeschnipsel getestet und der funktioniert (im CATScript und CATVbs) Code:
Sub CATMain() Dim oDoc As Document Dim oProd As Product Dim oConstraints As Constraints Dim FirstRef As Reference Dim SecRef As Reference Dim newconstraint As Constraint Set oDoc = CATIA.ActiveDocument Set oProd = oDoc.Product Set oConstraints = oProd.Connections("CATIAConstraints") Set FirstRef = oProd.CreateReferenceFromName("Product5/Auflage Sitzfläche Bretter rechts.11/!xy-Ebene") Set SecRef = oProd.CreateReferenceFromName("Product5/Auflage Sitzfläche Bretter links.11/!yz-Ebene") Set newconstraint = oConstraints.AddBiEltCst(catCstTypeOn, FirstRef, SecRef) newconstraint.Orientation = catCstOrientSame oProd.Update End Sub
------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD.Student Mitglied Dualer Student
Beiträge: 8 Registriert: 16.03.2009
|
erstellt am: 26. Mrz. 2009 15:37 <-- editieren / zitieren --> Unities abgeben:
Danke schonmal für die Antwort. Ich programmiere mit VB 2005 express edition. Catia ist V5 R16. Das Problem ist das er mir immer sagt: Fehler 1 "Constraint" ist nicht eindeutig. Importiert aus den Namespaces oder Typen "MECMOD, System.Data". wenn ich das Mecmod vor dem Constraint weglasse. Deswegen habe ich das eingefügt. MfG Andre Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
makebeth Mitglied
Beiträge: 12 Registriert: 21.03.2009 Dell Precision T3400; Vista x64; CATIA V5 R16 32Bit;
|
erstellt am: 28. Mrz. 2009 05:42 <-- editieren / zitieren --> Unities abgeben: Nur für CAD.Student
hallo, vielleicht hilft dir dies weiter. ich hatte ein ähnliches problem beim fixen von parts/products innerhalb von unterprodukten. Parts und Products in Struktur Fixen VB.Net (catCstTypeReference) ich hatte das problem, dass die pfade zu den parts/produkten immer nur vom darüberliegenden produkt ausgehen. um parts/produkte in tiefer liegenden stukturen zu fixen habe ich das parent-produkt mit document.read() aktiv gesetzt (ob .activate() überhaupt eine funktion erfüllt konnte ich noch nicht herausfinden). dies klappte aber auch nur so gut, weil die komplette struktur noch new war. (ich arbeite im .net 2.0 mit sharpdevelop 2.1 portable) gruss makebeth [Diese Nachricht wurde von makebeth am 28. Mrz. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CatMike Mitglied
Beiträge: 16 Registriert: 04.09.2008
|
erstellt am: 01. Apr. 2009 18:33 <-- editieren / zitieren --> Unities abgeben: Nur für CAD.Student
Hallo, ich habe ein Problem mit der Methode AddBiEltCst (von Constraints) zur Erstellung eines Constraints. Ich glaube die Methode funktioniert mit VBA nicht ohne weiteres. Hat vielleicht jemand bereits Erfahrung damit gesammelt? PS: Anstatt CreateReferenceFromName nutze ich zur Sicherheit CreateReferenceFromObject. Vielen Dank. Gruß CatMike Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CatMike Mitglied
Beiträge: 16 Registriert: 04.09.2008
|
erstellt am: 02. Apr. 2009 15:53 <-- editieren / zitieren --> Unities abgeben: Nur für CAD.Student
Hallo, ich glaube letztes Mal war ich nicht ausführlich genug: Mein Problem liegt an folgende Zeile: Set newconstraint = oConstraints.AddBiEltCst(catConstraintType.catCstTypeOn, FirstRef, SecRef) Ich bekomme ständig die Meldung: the method AddBiEltCst failed, run-time error -2147467259. Es handelt sich um ein VBA-Makro. Kann mir jemand helfen? Gruß CatMike Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Goosnargh Mitglied
Beiträge: 80 Registriert: 30.11.2004
|
erstellt am: 25. Aug. 2011 13:37 <-- editieren / zitieren --> Unities abgeben: Nur für CAD.Student
Moin, ist mal wieder ein älterer Thread, aber da noch keine Antwort hier steht mal meine: Ich habs gelöst in dem ich direkt auf MECMOD zugegriffen hab. Dann gehts. newconstraint = oConstraints.AddBiEltCst(MECMOD.CatConstraintType.catCstTypeOn, FirstRef, SecRef) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
meisterlumpi Mitglied
Beiträge: 118 Registriert: 15.04.2011 Intel Core2 Quad Q6600 2.40 GHz | 4 GB RAM | Win7x64
|
erstellt am: 25. Aug. 2011 16:56 <-- editieren / zitieren --> Unities abgeben: Nur für CAD.Student
|