Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Bestimmen der Koordinaten eines Referenzpunktes in Python

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:  Bestimmen der Koordinaten eines Referenzpunktes in Python (2546 mal gelesen)
MichaelSu25
Mitglied


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

Beiträge: 7
Registriert: 18.12.2013

erstellt am: 10. Jan. 2014 11:30    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


Skizze_Positionierung.PNG


Skizze_Positionierung_3D.PNG

 
Servus miteinander,

ich habe ein spezielles Problem bei der Bestimmung der Koordinaten eines Referenzpunktes in Python/Abaqus. Ich untersuche die Rückfederung eines Bleches beim freien Biegen und möchte hierfür den genauen Verfahrweg für einen Winkel über einen Referenzpunkt in das Python script einlesen um mit diesem die Simulation variieren zu können. Hierfür habe ich eine Skizze (siehe Bild) angelegt, die als Freiheitsgrad einen über Python steuerbaren Winkel Alpha besitzt, den ich am Anfang des scriptes einegeben kann. Durch die Tengentialität wird der Stempel fiktiv in die Endposition gefahren und ich habe einen Referenzpunkt auf die Unterseite des Stempels definiert (der dann mitläuft). Jetzt möchte ich die Koordinaten des Referenzpunktes, bzw. die y-Komponente, die wiederum den Verfahrweg darstellt. Diesen Wert will ich dann in Python weiterverwenden.

Ich habe verschiedene Befehle verwendet, hier ein kleiner Ausschnitt aus dem script:


#3D Shell Sketch
Pos3D_Sketch = Simu_3D.ConstrainedSketch(name='Positionierung3D', sheetSize=200.0)
Pos3D_Sketch.sketchOptions.setValues(gridOrigin=(0, 0))
Pos3D_Sketch.retrieveSketch(sketch=Positionierung_Sketch)
#3D Shell part
Pos3D_part = Simu_3D.Part(dimensionality=THREE_D, name='Positionierung', type=ANALYTIC_RIGID_SURFACE)
Pos3D_part.AnalyticRigidSurfExtrude(depth=0.01, sketch=Pos3D_Sketch)
del Pos3D_Sketch
#Instance and Surface, Set
Simu_3D.rootAssembly.DatumCsysByDefault(CARTESIAN)
Endpos_instance = Simu_3D.rootAssembly.Instance(dependent=ON, name='Positionierung-1', part=Pos3D_part)
Pos3D_part.Surface(name='Positionierung', side2Faces=Pos3D_part.faces.getSequenceFromMask(('[#1 ]', ), ))
#Reference point
Endpos_RP = Pos3D_part.ReferencePoint(point=Pos3D_part.InterestingPoint(Pos3D_part.edges[2], MIDDLE))
Endpos_set = Pos3D_part.Set(name='Enpos_RP_set', referencePoints=(Pos3D_part.referencePoints[3], ))
#vector = ('%g,%g,%g' % (Endpos_RP.coordinates[0], Endpos_RP.coordinates[1], Endpos_RP.coordinates[2]))

RP_dis_ID = Endpos_RP.id
RP_dis_ID_str = str(RP_dis_ID)
test1 = Simu_3D.rootAssembly.referencePoints.values('RP-4')
test2 = Simu_3D.rootAssembly.features.keys('RP-4')
test3 = Simu_3D.rootAssembly.referencePoints.keys()[0]
test4 = Simu_3D.rootAssembly.referencePoints[RP_dis_ID]
test5 = Simu_3D.rootAssembly.referencePoints.getCoordinates('RP-4')

Leider erhalte ich die Koordinaten nicht, nur Fehlermeldungen unterschiedlicher Art.

Kann mir jemand helfen den Fehler zu finden und die Koordinaten zu bestimmen?

MfG

Michael

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

Mustaine
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 3554
Registriert: 04.08.2005

Abaqus

erstellt am: 10. Jan. 2014 22:17    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 MichaelSu25 10 Unities + Antwort hilfreich

Gib im /CAE Python Interface mal ein:

print Simu_3D.rootAssembly.features['RP-4']

Dann siehst du mit welchen weiteren Befehlen du an die Koordinaten kommst. Also z.B.
x_Wert_RP-4 = Simu_3D.rootAssembly.features['RP-4'].xValue

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

MichaelSu25
Mitglied


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

Beiträge: 7
Registriert: 18.12.2013

erstellt am: 17. Jan. 2014 10: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


Unbenannt.PNG

 
Danke Mustaine für die Antwort,

ich habe das geschrieben umgesetzt und auch sowohl den Referenzpunkt auf Part als auch auf Assembly Ebene erstellt. Auf Assembly Ebene kamen auf die Befehle, die du mir geschrieben hast, folgende Fehlermeldung:

>>> print Simu_3D.rootAssembly.features['RP-1']
({'children': '', 'id': 4, 'isOutOfDate': False, 'name': 'RP-1', 'parents': '2&', 'path': 'unknown', 'sketch': 'unknown'})
>>> print (Simu_3D.rootAssembly.features['RP-1'].xValue)
AttributeError: 'Feature' object has no attribute 'xValue'

Was mache ich falsch? Hoffe du hast noch einen Lösungsvorschlag:-)

LG

Michi

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

MichaelSu25
Mitglied


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

Beiträge: 7
Registriert: 18.12.2013

erstellt am: 09. Feb. 2014 10:55    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

Hat noch jemand eine Idee?

LG

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

Mustaine
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 3554
Registriert: 04.08.2005

Abaqus

erstellt am: 10. Feb. 2014 10:14    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 MichaelSu25 10 Unities + Antwort hilfreich

Poste mal die cae-Datei oder eine, die vom Prinzip her ähnlich ist. Dann kann man daran konkret sagen wie es geht.

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

MichaelSu25
Mitglied


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

Beiträge: 7
Registriert: 18.12.2013

erstellt am: 13. Mrz. 2014 10: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


Simulation3D_Suess_Biegen_SB.txt

 
Servus,

ich war leider jetzt einen Monat nicht da. Ich hoffe es klappt trotzdem noch
CAE Anhänge akzeptiert die Seite nicht, ich habe von dem Python Skript eine txt.Datei erstellt, die die gesamte Simulation wiedergibt.

In dem Sketch Positionierung ist der Winkel hinterlegt, der verfahren werden soll. Die vertikale Linie links von Ansammlung an Bemaßungen ist die Distanz, die ich mit dem Skript auslesen und dann wiederum später einer Variablen als Verfahrweg zuordnen möchte.

Ich bin jetzt wieder täglich erreichbar und freue mich darauf das Problem endlich ad akta zu legen  

Liebe Grüße

Michi

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

A.Seidel
Mitglied
Projektingenieur


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

Beiträge: 45
Registriert: 30.06.2009

erstellt am: 19. Mrz. 2014 20:19    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 MichaelSu25 10 Unities + Antwort hilfreich

Mal ein anderer Vorschlag für die Vorgehensweise:

Mit

*NODE PRINT, NSET=RP-1
  U2

Die Verschiebung in Y-RIchtung für den Endzustand in die *.dat schreiben und mit Python einlesen.

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