vasekx1
Automotive
- Nov 29, 2006
- 10
Hi everybody,
I'm creating a parametric model, which is going to be automatically optimized then, using the Python scripting language. I got stuck at an absolutely unbelievable point. I'm trying to do two things:
a) select whole rectangular face partition edges - I have now used the command PartitionCellBySketch and I want to use this partition to create a whole cell partition - the above partitions just the face, which I use for creating constraints and interactions. After this point, I need to select edges to create the cell partition, so I use the findAt(..) command with multiple points inserted as variable coordinates - see the "cut out" below:
....
rectFind = pEdge.findAt((rectWidthEau/2, rectHeightEau, eauWidth/2-(rectYGouv+enl_ABSY)),
(rectWidthEau/2-(rectXGouv+enl_ABSX) , rectHeightEau, eauWidth/2),
(rectWidthEau/2, rectHeightEau, eauWidth/2+(rectYGouv+enl_ABSY)),
(rectWidthEau/2+(rectXGouv+enl_ABSX) , rectHeightEau, eauWidth/2), )
thePartEau.PartitionCellByExtrudeEdge(line=dirEdgeFind, cells=selCell, edges=rectFind, sense=FORWARD)
....
What the script does then is, that he creates the partition just by using the first edge inserted in findAt parentheses.. Does anybody has a solution? I was trying to find it everywhere and this also corresponds to examples in Abaqus 6.6-1 manual...
b) second problem is, that I can't select the datum planes other way than using the option:
mdb.models[modelName].Part(name=partNameEau, dimensionality=THREE_D, type=DEFORMABLE_BODY).datums
which is not unfortunately the best way, while the id can change with version of Abaqus etc. findAt command doesn't work with this - I got a message from "Abaqus compiler", that says that. Any solution?
I'm really getting desperately angry about the Python-Abaqus guys after few days spent on solving these problems without any clear single-solution documentation and many absolutely undocumented commands...
Thanx for any advise.
I'm creating a parametric model, which is going to be automatically optimized then, using the Python scripting language. I got stuck at an absolutely unbelievable point. I'm trying to do two things:
a) select whole rectangular face partition edges - I have now used the command PartitionCellBySketch and I want to use this partition to create a whole cell partition - the above partitions just the face, which I use for creating constraints and interactions. After this point, I need to select edges to create the cell partition, so I use the findAt(..) command with multiple points inserted as variable coordinates - see the "cut out" below:
....
rectFind = pEdge.findAt((rectWidthEau/2, rectHeightEau, eauWidth/2-(rectYGouv+enl_ABSY)),
(rectWidthEau/2-(rectXGouv+enl_ABSX) , rectHeightEau, eauWidth/2),
(rectWidthEau/2, rectHeightEau, eauWidth/2+(rectYGouv+enl_ABSY)),
(rectWidthEau/2+(rectXGouv+enl_ABSX) , rectHeightEau, eauWidth/2), )
thePartEau.PartitionCellByExtrudeEdge(line=dirEdgeFind, cells=selCell, edges=rectFind, sense=FORWARD)
....
What the script does then is, that he creates the partition just by using the first edge inserted in findAt parentheses.. Does anybody has a solution? I was trying to find it everywhere and this also corresponds to examples in Abaqus 6.6-1 manual...
b) second problem is, that I can't select the datum planes other way than using the option:
mdb.models[modelName].Part(name=partNameEau, dimensionality=THREE_D, type=DEFORMABLE_BODY).datums
which is not unfortunately the best way, while the id can change with version of Abaqus etc. findAt command doesn't work with this - I got a message from "Abaqus compiler", that says that. Any solution?
I'm really getting desperately angry about the Python-Abaqus guys after few days spent on solving these problems without any clear single-solution documentation and many absolutely undocumented commands...
Thanx for any advise.