Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Parameter verwenden

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Parameter verwenden (1072 mal gelesen)
Manrok
Mitglied



Sehen Sie sich das Profil von Manrok an!   Senden Sie eine Private Message an Manrok  Schreiben Sie einen Gästebucheintrag für Manrok

Beiträge: 23
Registriert: 13.11.2008

erstellt am: 18. Mrz. 2009 14:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo an alle,

habe hier ein großes Problem. Warscheinlich gibts eine einfache Lösung aber ich komme nicht darauf.
Ich habe einen Parameter erzeugt und will diesen nun mit einer Plane mit Offset verküpfen.
Hier der Code:

Set parameter1 = Parameter.CreateDimension("P46", "length", 4)


Set partDocument1 = CATIA.ActiveDocument

Set part1 = partDocument1.Part

Set hybridShapeFactory1 = part1.HybridShapeFactory

Set originElements1 = part1.OriginElements

Set hybridShapePlaneExplicit1 = originElements1.PlaneXY

Set reference1 = part1.CreateReferenceFromObject(hybridShapePlaneExplicit1)

Set hybridShapePlaneOffset1 = hybridShapeFactory1.AddNewPlaneOffset(reference1, P46#, False)

Set hybridBodies1 = part1.HybridBodies

Set hybridBody1 = hybridBodies1.Item("Input")

hybridBody1.AppendHybridShape hybridShapePlaneOffset1

part1.InWorkObject = hybridShapePlaneOffset1

wenn ich mit value arbeite geht die Plane um 4 aber ich habe nie eine Verknüpfung mit dem Parameter.

Bin um jede Hilfe dankbar.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

zoltan.bekesi
Mitglied



Sehen Sie sich das Profil von zoltan.bekesi an!   Senden Sie eine Private Message an zoltan.bekesi  Schreiben Sie einen Gästebucheintrag für zoltan.bekesi

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 18. Mrz. 2009 17:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manrok 10 Unities + Antwort hilfreich

Manrok
Mitglied



Sehen Sie sich das Profil von Manrok an!   Senden Sie eine Private Message an Manrok  Schreiben Sie einen Gästebucheintrag für Manrok

Beiträge: 23
Registriert: 13.11.2008

erstellt am: 19. Mrz. 2009 09:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo nochmals

leider steig ich da immer noch nicht durch. Ich will doch nur das der Offset der Plane mit dem Parameter verknüpft wird. Ändere ich den Parameter soll später im Modell die Plane parametrisch reagieren.
Bin um jede Hilfe dankbar

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

zoltan.bekesi
Mitglied



Sehen Sie sich das Profil von zoltan.bekesi an!   Senden Sie eine Private Message an zoltan.bekesi  Schreiben Sie einen Gästebucheintrag für zoltan.bekesi

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 19. Mrz. 2009 18:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manrok 10 Unities + Antwort hilfreich

Hallo Manrok,

der erste erwähnte Beitrag ändert den Radius einer Kugelfläche.
Wie du schon sagst, ist der Offset der Plane ein Parameter. Darauf kannst du zugreifen, wenn du mit der Befehl Sublist eine Liste der den Plane zugeordneten Parameter aufrufst.
Um den Wert dieser an ein existierender Parameter zu verknüpfen, brauchst du ein Relation zu erzeugen und den Ergebnis an die Offset Parameter zuweisen.
Ich würde lediglich die dort bemängelte Zeile um folgendes ersetzen, was zwar den gleichen Ergebnis bringt, aber viel verständlicher:

Code:
    'sTempFormula = "`" & Mid(oRadius1.Name, Len(oPart.Name) + 2) & "`" & " +1mm"
    sTempFormula = oPara.GetNameToUseInRelation(oRadius1) & " +1mm"


Andererseits habe ich jetzt eine Makroaufzeichnung gemacht, es würde auch einfacher gehen:
Code:
Dim parameters1 As Parameters
Set parameters1 = part1.Parameters

Dim length1 As Dimension
Set length1 = parameters1.CreateDimension("Length.1", "LENGTH", 0.000000)

length1.Value = 60.000000

part1.Update

Dim relations1 As Relations
Set relations1 = part1.Relations

Dim length2 As Length
Set length2 = hybridShapePlaneOffset1.Offset

Dim formula1 As Formula
Set formula1 = relations1.CreateFormula("Formula.1", "", length2, "Length.1 ")

formula1.Rename "Formula.1"

part1.Update 


Versuche etwas zu basteln, dann können wir weiter diskutieren.

Gruß,
Zoltan

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Manrok
Mitglied



Sehen Sie sich das Profil von Manrok  an!   Senden Sie eine Private Message an Manrok  Schreiben Sie einen Gästebucheintrag für Manrok

Beiträge: 23
Registriert: 13.11.2008

erstellt am: 20. Mrz. 2009 09:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Manrok 10 Unities + Antwort hilfreich


Public Sub catmain()

Set partDocument1 = CATIA.ActiveDocument

Set part1 = partDocument1.Part

Set hybridBodies1 = part1.HybridBodies

Set hybridBody1 = hybridBodies1.Add()

hybridBody1.Name = "Input"

Set hybridShapeFactory1 = part1.HybridShapeFactory

Set originElements1 = part1.OriginElements

Set hybridShapePlaneExplicit1 = originElements1.PlaneXY

Set reference1 = part1.CreateReferenceFromObject(hybridShapePlaneExplicit1)

Set hybridShapePlaneOffset1 = hybridShapeFactory1.AddNewPlaneOffset(reference1, 0#, False)

Set hybridBodies1 = part1.HybridBodies

Set hybridBody1 = hybridBodies1.Item("Input")

hybridBody1.AppendHybridShape hybridShapePlaneOffset1

part1.InWorkObject = hybridShapePlaneOffset1

part1.Update

Dim Params As Parameters

Set Params = CATIA.ActiveDocument.Part.Parameters

Dim Breite, Hoehe

Set Breite = Params.CreateDimension("Breite", "Length", 30)

Set Hoehe = Params.CreateDimension("Hoehe", "Length", 0)

Dim Rels

Set Rels = CATIA.ActiveDocument.Part.Relations

Dim FName, FKommentar, FInhalt

FName = "Berechnung Hoehe"

FKommentar = "Hoehe und Breite haben eine feste Abh"

FInhalt = "4 * Breite"

Dim length2 As Length
Set length2 = hybridShapePlaneOffset1.Offset

Dim Formel

Set Formel = Rels.CreateFormula(FName, "", length2, FInhalt)

part1.Update

End Sub

Das war die Lösung - aber vielen Dank für den Denkanstoss

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz