This repository has been archived by the owner on Mar 4, 2023. It is now read-only.
/
ShapeRotationalSymmetry.py
148 lines (134 loc) · 5.9 KB
/
ShapeRotationalSymmetry.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
from abaqusConstants import *
from .GeometricRestriction import GeometricRestriction
from ..Region.Region import Region
class ShapeRotationalSymmetry(GeometricRestriction):
"""The ShapeRotationalSymmetry object defines a shape rotational symmetry geometric
restriction.
The ShapeRotationalSymmetry object is derived from the GeometricRestriction object.
Notes
-----
This object can be accessed by:
.. code-block:: python
import optimization
mdb.models[name].optimizationTasks[name].geometricRestrictions[name]
"""
def __init__(
self,
name: str,
clientDirection: tuple,
region: Region,
allowNonSymmetricMesh: Boolean = TRUE,
angle: float = 0,
csys: int = None,
mainPoint: str = None,
mainPointDetermination: SymbolicConstant = MAXIMUM,
presumeFeasibleRegionAtStart: Boolean = ON,
startPoint: float = None,
tolerance1: float = 0,
tolerance2: float = 0,
tolerance3: float = 0,
):
"""This method creates a ShapeRotationalSymmetry object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].optimizationTasks[name].ShapeRotationalSymmetry
Parameters
----------
name
A String specifying the geometric restriction repository key.
clientDirection
A VertexArray object of length 2 specifying the vector positioned at the *csys* origin,
used as the axis of symmetry. Instead of through a ConstrainedSketchVertex, each point might be specified
through a tuple of coordinates.
region
A Region object specifying the region to which the geometric restriction is applied.
When used with a TopologyTask, there is no default value. When used with a ShapeTask,
the default value is MODEL.
allowNonSymmetricMesh
A Boolean specifying whether to allow a nonsymmetric mesh for this geometric
restriction. The default value is TRUE.
angle
A Float specifying the segment size of the repeating pattern in degrees. If the *angle*
value is 0, no repeating pattern is created. The default value is 0.0.
csys
None or a DatumCsys object specifying the local coordinate system. If *csys*=None, the
global coordinate system is used. When this member is queried, it returns an Int. The
default value is None.
mainPoint
None or a Region object specifying the main point used when *mainPointDetermination* is
SPECIFY. The default value is None.
mainPointDetermination
A SymbolicConstant specifying the rule for determining the main node. Possible values
are MAXIMUM, MINIMUM, and SPECIFY. The default value is MAXIMUM.
presumeFeasibleRegionAtStart
A Boolean specifying whether to ignore the geometric restriction in the first design
cycle. The default value is ON.
startPoint
A tuple of Floats representing the coordinates of a start point of the rotational
symmetry.
tolerance1
A Float specifying the geometric tolerance in the 1-direction. The default value is
0.01.
tolerance2
A Float specifying the geometric tolerance in the 2-direction. The default value is
0.01.
tolerance3
A Float specifying the geometric tolerance in the 3-direction. The default value is
0.01.
Returns
-------
A ShapeRotationalSymmetry object.
"""
super().__init__()
pass
def setValues(
self,
allowNonSymmetricMesh: Boolean = TRUE,
angle: float = 0,
csys: int = None,
mainPoint: str = None,
mainPointDetermination: SymbolicConstant = MAXIMUM,
presumeFeasibleRegionAtStart: Boolean = ON,
startPoint: float = None,
tolerance1: float = 0,
tolerance2: float = 0,
tolerance3: float = 0,
):
"""This method modifies the ShapeRotationalSymmetry object.
Parameters
----------
allowNonSymmetricMesh
A Boolean specifying whether to allow a nonsymmetric mesh for this geometric
restriction. The default value is TRUE.
angle
A Float specifying the segment size of the repeating pattern in degrees. If the *angle*
value is 0, no repeating pattern is created. The default value is 0.0.
csys
None or a DatumCsys object specifying the local coordinate system. If *csys*=None, the
global coordinate system is used. When this member is queried, it returns an Int. The
default value is None.
mainPoint
None or a Region object specifying the main point used when *mainPointDetermination* is
SPECIFY. The default value is None.
mainPointDetermination
A SymbolicConstant specifying the rule for determining the main node. Possible values
are MAXIMUM, MINIMUM, and SPECIFY. The default value is MAXIMUM.
presumeFeasibleRegionAtStart
A Boolean specifying whether to ignore the geometric restriction in the first design
cycle. The default value is ON.
startPoint
A tuple of Floats representing the coordinates of a start point of the rotational
symmetry.
tolerance1
A Float specifying the geometric tolerance in the 1-direction. The default value is
0.01.
tolerance2
A Float specifying the geometric tolerance in the 2-direction. The default value is
0.01.
tolerance3
A Float specifying the geometric tolerance in the 3-direction. The default value is
0.01.
"""
pass