This repository has been archived by the owner on Mar 4, 2023. It is now read-only.
/
Feature.py
2559 lines (2208 loc) · 101 KB
/
Feature.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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
from abaqusConstants import *
from ..BasicGeometry.Cell import Cell
from ..BasicGeometry.Edge import Edge
from ..BasicGeometry.Face import Face
from ..BasicGeometry.Vertex import Vertex
from ..Feature.Feature import Feature as BaseFeature
from ..Region.Region import Region
from ..Sketcher.ConstrainedSketch import ConstrainedSketch
class Feature(BaseFeature):
"""The following commands operate on Feature objects. For more information about the
Feature object, see Feature object.
Notes
-----
This object can be accessed by:
.. code-block:: python
import part
"""
def AutoRepair(self):
"""This method carries out a sequence of geometry repair operations if it contains invalid
entities. It is expected to improve the geometry, but it does not guarantee that the
number of invalid entities will decrease. In some cases, it can also increase the number
of invalid entities. Since a number of geometry repair operations and validity checks
are performed, it could be a slow operation depending on the complexity of the geometry.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Returns
-------
feature: Feature
A Feature object
"""
pass
def AddCells(self, faceList: tuple[Face], flipped: Boolean = OFF):
"""This method tries to convert a shell entity to a solid entity. The conversion is not
always successful.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
faceList
A sequence of Face objects specifying the faces bounding the cell to add.
flipped
A Boolean specifying the direction of feature creation. The possible values are True and
False. The default is True indicating that the direction is opposite to the face normal.
When multiple faces are selected, Abaqus attempts to create cells on both sides of the
selected faces and ignores the *flipped* argument.
Returns
-------
feature: Feature
A Feature object
"""
pass
def AnalyticRigidSurf2DPlanar(self, sketch: ConstrainedSketch):
"""This method creates a first Feature object for an analytical rigid surface by creating a
planar wire from the given ConstrainedSketch object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
sketch
A ConstrainedSketch object specifying the planar wire.
Returns
-------
feature: Feature
A Feature object
"""
pass
def AnalyticRigidSurfExtrude(self, sketch: ConstrainedSketch, depth: float = 1):
"""This method creates a first Feature object for an analytical rigid surface by extruding
the given ConstrainedSketch object by the given depth, creating a surface.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
sketch
A ConstrainedSketch object specifying the planar wire.
depth
A Float specifying the extrusion depth. The default value is 1.0.
Returns
-------
feature: Feature
A Feature object
"""
pass
def AnalyticRigidSurfRevolve(self, sketch: ConstrainedSketch):
"""This method creates a first Feature object for an analytical rigid surface by revolving
the given ConstrainedSketch object by 360° about the *Y*-axis.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
sketch
A ConstrainedSketch object specifying the surface to be revolved.
Returns
-------
feature: Feature
A Feature object
"""
pass
def AssignMidsurfaceRegion(self, cellList: tuple[Cell]):
"""This method assign a mid-surface property to sequence of Cell objects. If a reference
representation of the part does not exist, it creates one. It also copies the *cells* to
the reference representation and deletes the *cells* from the active representation of
the part.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
cellList
A sequence of Cell objects specifying the regions that will be used for mid-surface
construction. These regions will be copied to the reference representation of the part.
Returns
-------
feature: Feature
A Feature object
"""
pass
def BaseSolidExtrude(
self,
sketch: ConstrainedSketch,
depth: float,
draftAngle: float = None,
pitch: float = None,
):
"""This method creates a first Feature object by extruding the given ConstrainedSketch
object by the given depth, creating a solid. The ConstrainedSketch object must define a
closed profile.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
sketch
A ConstrainedSketch object specifying the plane shape to be extruded.
depth
A Float specifying the extrusion depth. Possible values are 10–5 ≤≤ *depth* ≤≤ 105.
draftAngle
A Float specifying the draft angle in degrees. Possible values are -90.0 ≤≤ *draftAngle*
≤≤ 90.0. By convention, for a positive draft angle an outer loop will draft outward and
an inner loop will draft inward. The opposite is true for a negative draft angle. The
default value, 0, implies a normal extrude. The arguments *draftAngle* and *pitch* are
mutually exclusive.
pitch
A Float specifying the pitch. The pitch is the distance traveled along the axial
direction by the sketch when the sketch has completed one full revolution about the
twist axis. Pitch can be specified as positive or negative to achieve right-handed or
left-handed twist about the twist axis, respectively. The default value, 0, implies a
normal extrude. Possible values are –105 ≤≤ *pitch* ≤≤ 105. The arguments *draftAngle*
and *pitch* are mutually exclusive.
Returns
-------
A Feature object.
"""
pass
def BaseSolidRevolve(
self,
sketch: ConstrainedSketch,
angle: float,
pitch: float = None,
flipRevolveDirection: Boolean = OFF,
flipPitchDirection: Boolean = OFF,
moveSketchNormalToPath: Boolean = OFF,
):
"""This method creates a first Feature object by revolving the given ConstrainedSketch
object by the given angle, creating a solid. The ConstrainedSketch object must define a
closed profile and an axis of revolution. The axis is defined by a single construction
line.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
sketch
A ConstrainedSketch object specifying the shape to be revolved.
angle
A Float specifying the revolve angle in degrees. Possible values are 10–4 ≤≤ *angle* ≤≤
360.Note:If *pitch* >>0, there is no upper limit for *angle*.
pitch
A Float specifying the pitch. The pitch is the distance traveled along the axial
direction, measured between corresponding points on the sketch when it has completed one
full revolution about the axis of revolution. Possible values are 0 ≤≤ *pitch* ≤≤ 105.
The default value, 0, implies a normal revolve.
flipRevolveDirection
A Boolean specifying whether to override the direction of feature creation. If
*flipRevolveDirection*=OFF, the default direction of revolution is used. If
*flipRevolveDirection*=ON, the revolve direction is reversed. The default value is OFF.
flipPitchDirection
A Boolean specifying whether to override the direction of translation. If
*flipPitchDirection*=OFF, the direction of translation is given by the direction of the
revolve axis. If *flipPitchDirection*=ON, the translation direction is reversed. The
default value is OFF.
moveSketchNormalToPath
A Boolean specifying whether to rotate the sketch so that it is normal to the path of
revolution when using the *pitch* option. If *moveSketchNormalToPath*=OFF, the sketch
plane remains parallel to the revolve axis. If *moveSketchNormalToPath*=ON, the sketch
is moved to match the angle created by the *pitch* before being revolved. The default
value is OFF.
Returns
-------
A Feature object.
Raises
------
RangeError
"""
pass
def BaseSolidSweep(self, sketch: ConstrainedSketch, path: ConstrainedSketch):
"""This method creates a first Feature object by sweeping the given profile
ConstrainedSketch object along the path defined by the path ConstrainedSketch object,
creating a solid. The profile ConstrainedSketch object must define a closed profile. The
origin of the profile sketch is positioned at the start of the sweep path and swept
perpendicular to the path. No checks are made for self-intersection.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
sketch
A ConstrainedSketch object specifying the profile to be swept.
path
A ConstrainedSketch object specifying the path of the sweep.
Returns
-------
feature: Feature
A Feature object
"""
pass
def BaseShell(self, sketch: ConstrainedSketch):
"""This method creates a first Feature object by creating a planar shell from the given
ConstrainedSketch object. The ConstrainedSketch object must define a closed profile.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
sketch
A ConstrainedSketch object specifying the planar shell.
Returns
-------
feature: Feature
A Feature object
"""
pass
def BaseShellExtrude(
self,
sketch: ConstrainedSketch,
depth: float,
draftAngle: float = None,
pitch: float = None,
):
"""This method creates a first Feature object by extruding the given ConstrainedSketch
object by the given depth, creating a shell. The ConstrainedSketch object can define
either an open or closed profile.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
sketch
A ConstrainedSketch object specifying the shape to be extruded.
depth
A Float specifying the extrusion depth. Possible values are Floats > 0.
draftAngle
A Float specifying the draft angle in degrees. Possible values are -90.0 ≤≤ *draftAngle*
≤≤ 90.0. By convention, for a positive draft angle an outer loop will draft outward and
an inner loop will draft inward. The opposite is true for a negative draft angle. The
default value, 0, implies a normal extrude. The arguments *draftAngle* and *pitch* are
mutually exclusive.
pitch
A Float specifying the pitch. The pitch is the distance traveled along the axial
direction by the sketch when the sketch has completed one full revolution about the
twist axis. Pitch can be specified as positive or negative to achieve right-handed or
left-handed twist about the twist axis, respectively. The default value, 0, implies a
normal extrude. Possible values are –105 ≤≤ *pitch* ≤≤ 105. The arguments *draftAngle*
and *pitch* are mutually exclusive.
Returns
-------
A Feature object.
Raises
------
RangeError
"""
pass
def BaseShellRevolve(
self,
sketch: ConstrainedSketch,
angle: float,
pitch: float = None,
flipRevolveDirection: Boolean = OFF,
flipPitchDirection: Boolean = OFF,
moveSketchNormalToPath: Boolean = OFF,
):
"""This method creates a first Feature object by revolving the given ConstrainedSketch
object by the given angle, creating a shell. The ConstrainedSketch object can define
either an open or closed profile and an axis of revolution. The axis is defined by a
single construction line.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
sketch
A ConstrainedSketch object specifying the shape to be revolved.
angle
A Float specifying the revolve angle in degrees. Possible values are 0 ≤≤ *angle* ≤≤
360.Note:If *pitch* >> 0, there is no upper limit for *angle*.
pitch
A Float specifying the pitch. The pitch is the distance traveled along the axial
direction, measured between corresponding points on the sketch when it has completed one
full revolution about the axis of revolution. Possible values are 0 ≤≤ *pitch* ≤≤ 105.
The default value, 0, implies a normal revolve.
flipRevolveDirection
A Boolean specifying whether to override the direction of feature creation. If
*flipRevolveDirection*=OFF, the default direction of revolution is used. If
*flipRevolveDirection*=ON, the revolve direction is reversed. The default value is OFF.
flipPitchDirection
A Boolean specifying whether to override the direction of translation. If
*flipPitchDirection*=OFF, the direction of translation is given by the direction of the
revolve axis. If *flipPitchDirection*=ON, the translation direction is reversed. The
default value is OFF.
moveSketchNormalToPath
A Boolean specifying whether to rotate the sketch so that it is normal to the path of
revolution when using the *pitch* option. If *moveSketchNormalToPath*=OFF, the sketch
plane remains parallel to the revolve axis. If *moveSketchNormalToPath*=ON, the sketch
is moved to match the angle created by the *pitch* before being revolved. The default
value is OFF.
Returns
-------
feature: Feature
A Feature object
"""
pass
def BaseShellSweep(self, sketch: ConstrainedSketch, path: ConstrainedSketch):
"""This method creates a first Feature object by sweeping the given section
ConstrainedSketch object along the path defined by the path ConstrainedSketch object,
creating a shell. The ConstrainedSketch object can define either an open or closed
profile. The origin of the profile sketch is positioned at the start of the sweep path
and swept perpendicular to the path. No checks are made for self-intersection.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
sketch
A ConstrainedSketch object specifying the section to be swept.
path
A ConstrainedSketch object specifying the path of the sweep.
Returns
-------
feature: Feature
A Feature object
"""
pass
def BaseWire(self, sketch: ConstrainedSketch):
"""This method creates a first Feature object by creating a planar wire from the given
ConstrainedSketch object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
sketch
A ConstrainedSketch object specifying the planar wire.
Returns
-------
feature: Feature
A Feature object
"""
pass
def BlendFaces(
self,
side1: tuple[Edge],
side2: tuple,
method: SymbolicConstant = None,
path: Edge = Edge(),
):
"""This method creates a Feature object by creating new faces that blends two sets of
faces.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
side1
A sequence of Edge objects specifying one side of the blend. The edges must form a
continuous chain without branches.
side2
A sequence of Edge or Face objects specifying the second side of the blend. If *side2*
contains Edge objects then they must form a continuous chain without branches.
method
A SymbolicConstant indicating a method for creating blends. This argument is a required
argument if *side2* contains Edge object and it is ignored if *side2* contains
Faceobjects. It can have one of the following values:TANGENT: The blend is tangent to
the sides.SHORTEST_PATH: The blend connects the two sides based on linear interpolation
between the two sides.SPECIFY_PATH: The blend connects the two sides along a specified
path.
path
An Edge object that connects *side1* to *side2* and specifies the path for creating the
blend. This argument is required if *method*=SPECIFY_PATH; otherwise, it is ignored.
Returns
-------
feature: Feature
A Feature object
"""
pass
def Chamfer(self, length: float, edgeList: tuple[Edge]):
"""This method creates an additional Feature object by chamfering the given list of edges
with a given length.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
length
A Float specifying the length of the chamfer.
edgeList
A sequence of Edge objects specifying the edges to chamfer.
Returns
-------
feature: Feature
A Feature object
"""
pass
def Mirror(
self,
mirrorPlane: str,
keepOriginal: Boolean,
keepInternalBoundaries: Boolean = OFF,
):
"""This method mirrors existing part geometry across a plane to create new geometry.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
mirrorPlane
A Datum plane object or a planar Face object.
keepOriginal
A boolean specifying whether or not the original part geometry should be retained.
keepInternalBoundaries
A Boolean specifying whether internal boundaries will be retained. The default value is
OFF.
Returns
-------
feature: Feature
A Feature object
"""
pass
def ConvertToAnalytical(self):
"""This method attempts to change entities into a simpler form that will speed up
processing and make entities available during feature operations.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Returns
-------
feature: Feature
A Feature object
"""
pass
def ConvertToPrecise(self, method: SymbolicConstant = RECOMPUTE_GEOMETRY):
"""This method attempts to change imprecise entities so that the geometry becomes precise.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
method
A SymbolicConstant specifying the method to be used to convert the part to precise.
Possible values are RECOMPUTE_GEOMETRY and TIGHTEN_GAPS. The default value is
RECOMPUTE_GEOMETRY.
Returns
-------
feature: Feature
A Feature object
"""
pass
def CoverEdges(self, edgeList: tuple[Edge], tryAnalytical: Boolean = False):
"""This method generates a face using the given edges as the face's boundaries. The
CoverEdges method generates a face by creating the geometry consisting of the underlying
surface, associated edges, and vertices.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
edgeList
A sequence of Edge objects specifying the edges that bound the new face.
tryAnalytical
A Boolean specifying whether the newly created face should be analytical or not. The
default is False.
Returns
-------
A Feature object.
Raises
------
- If the given boundary is not a closed loop:
Parterror: Cannot find a closed loop
- If the given boundary contains a zero length component:
Parterror: Cannot find a closed loop
- If the underlying surface is too difficult to fit:
Parterror: Cannot construct face geometry
"""
pass
def Cut(
self,
sketchPlane: str,
sketchPlaneSide: SymbolicConstant,
sketchUpEdge: Edge,
sketch: ConstrainedSketch,
sketchOrientation: SymbolicConstant = None,
):
"""This method creates an additional Feature object by cutting a hole using the given
ConstrainedSketch object.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
sketchPlane
A Datum plane object or a planar Face object.
sketchPlaneSide
A SymbolicConstant specifying the direction of feature creation. Possible values are
SIDE1 and SIDE2.
sketchUpEdge
An Edge object or a Datum axis object specifying the vertical (*Y*) direction of the
sketch.
sketch
A ConstrainedSketch object specifying the planar cut.
sketchOrientation
A SymbolicConstant specifying the orientation of *sketchUpEdge* on the sketch. Possible
values are RIGHT, LEFT, TOP, and BOTTOM.
Returns
-------
feature: Feature
A Feature object
"""
pass
def CutExtrude(
self,
sketchPlane: str,
sketchPlaneSide: SymbolicConstant,
sketchUpEdge: Edge,
sketchOrientation: SymbolicConstant,
sketch: ConstrainedSketch,
depth: float = None,
upToFace: str = "",
draftAngle: float = None,
pitch: float = None,
flipExtrudeDirection: Boolean = OFF,
):
"""This method creates an additional Feature object by extruding the given
ConstrainedSketch object by the given depth and cutting away material in the solid and
shell regions of the part. The ConstrainedSketch object must define a closed profile.
The CutExtrude method creates a blind cut (using *depth*), an up-to-face cut (using
*upToFace*), or a through-all cut (if *depth* and *upToFace* are not specified).
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
sketchPlane
A Datum plane object or a planar Face object.
sketchPlaneSide
A SymbolicConstant specifying the direction of feature creation. Possible values are
SIDE1 and SIDE2.
sketchUpEdge
An Edge object or a Datum axis object specifying the vertical (*Y*) direction of the
sketch.
sketchOrientation
A SymbolicConstant specifying the orientation of *sketchUpEdge* on the sketch. Possible
values are RIGHT, LEFT, TOP, and BOTTOM.
sketch
A ConstrainedSketch object specifying the planar sketch to be extruded.
depth
A Float specifying the extrusion depth. If *depth* is specified, the cut will be a blind
cut. The default is to not specify a depth.
upToFace
A Face specifying the face up to which to cut. If *upToFace* is specified, the cut will
be an up-to-face cut. The default is to not specify a face.Note:If neither *depth* nor
*upToFace* is specified, the cut will be a through-all cut.
draftAngle
A Float specifying the draft angle in degrees. Possible values are -90.0 ≤≤ *draftAngle*
≤≤ 90.0. By convention, for a positive draft angle an outer loop will draft outward and
an inner loop will draft inward. The opposite is true for a negative draft angle. The
default value, 0, implies a normal extrude. The arguments *draftAngle* and *pitch* are
mutually exclusive.
pitch
A Float specifying the pitch. The pitch is the distance traveled along the axial
direction by the sketch when the sketch has completed one full revolution about the
twist axis. Pitch can be specified as positive or negative to achieve right-handed or
left-handed twist about the twist axis, respectively. The default value, 0, implies a
normal extrude. Possible values are –105 ≤≤ *pitch* ≤≤ 105. The arguments *draftAngle*
and *pitch* are mutually exclusive.
flipExtrudeDirection
A Boolean specifying whether to override the direction of feature creation. If the value
is OFF, it means use the direction defined by the *sketchPlaneSide*; if the value is ON,
it means use the opposite direction to the one defined by *sketchPlaneSide*. The default
value is OFF.
Returns
-------
feature: Feature
A Feature object
"""
pass
def CutLoft(
self,
loftsections: tuple,
startCondition: SymbolicConstant = None,
endCondition: SymbolicConstant = None,
startTangent: float = None,
startMagnitude: float = None,
endTangent: float = None,
endMagnitude: float = None,
globalSmoothing: Boolean = OFF,
):
"""This method creates an additional Feature object by lofting between the given sections
and cutting away material from the part. You define the sections using a sequence of
edges from the part or an EdgeArray.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
loftsections
A sequence of sequences of edges specifying the cross-sections to be lofted. Each outer
sequence specifies a section through which the method will pass the loft feature. Each
outer sequence can be defined as a sequence of edges or as an EdgeArray. The edges
specifying a section must form a simple closed profile and must not contain multiple
loops.
startCondition
A SymbolicConstant specifying the tangent direction at the start section of the loft
feature. Possible values are NONE, NORMAL, RADIAL, and SPECIFIED. You can specify this
argument only if the start and end sections are planar. You cannot use this argument in
conjunction with the *path* argument. You must use the *startCondition* argument in
conjunction with the *endCondition* argument.
endCondition
A SymbolicConstant specifying the tangent direction at the end section of the loft
feature. Possible values are NONE, NORMAL, RADIAL, and SPECIFIED. You can specify this
argument only if the start and end sections are planar. You cannot use this argument in
conjunction with the *path* argument. You must use the *endCondition* argument in
conjunction with the *startCondition* argument.
startTangent
A Float specifying the angle in degrees of the tangent with respect to the plane in
which the start section lies. You must specify the *startTangent* argument if
*startCondition*=SPECIFIED. Possible values are 0.0 ≤≤ *startTangent* ≤≤ 180.0.
startMagnitude
A Float specifying the magnitude of the *startTangent*. You must specify the
*startMagnitude* argument if *startCondition*=SPECIFIED. Possible values are 0.0 <<
*startMagnitude* << 100.0.
endTangent
A Float specifying the angle in degrees of the tangent with respect to the plane in
which the end section lies. You must specify the *endTangent* argument if
*startCondition*=SPECIFIED. Possible values are 0.0 ≤≤ *endTangent* ≤≤ 180.0.
endMagnitude
A Float specifying the magnitude of the *endTangent*. This argument is to be used when
the *endCondition* argument has the value SPECIFIED. Possible values are 0.0 <<
*endMagnitude* << 100.0.
globalSmoothing
A Boolean specifying whether each path defined in the *paths* argument is applied
locally or globally.If the path is applied locally, its effect is felt only on faces
created from the edges on the *loftSections* through which the *paths* pass through.If
the path is applied globally, an averaging algorithm is applied over all the paths
defined and is distributed over all the faces created.The default value is ON
(globally).
Returns
-------
feature: Feature
A Feature object
"""
pass
def CutRevolve(
self,
sketchPlane: str,
sketchPlaneSide: SymbolicConstant,
sketchUpEdge: Edge,
sketchOrientation: SymbolicConstant,
sketch: ConstrainedSketch,
angle: float,
pitch: float = None,
flipRevolveDirection: Boolean = OFF,
flipPitchDirection: Boolean = OFF,
moveSketchNormalToPath: Boolean = OFF,
):
"""This method creates an additional Feature object by revolving the given
ConstrainedSketch object by the given angle and cutting away material from the part. The
ConstrainedSketch object must define a closed profile and an axis of revolution.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
sketchPlane
A Datum plane object or a planar Face object.
sketchPlaneSide
A SymbolicConstant specifying the direction of feature creation. Possible values are
SIDE1 and SIDE2.
sketchUpEdge
An Edge object or a Datum axis object specifying the vertical (*Y*) direction of the
sketch.
sketchOrientation
A SymbolicConstant specifying the orientation of *sketchUpEdge* on the sketch. Possible
values are RIGHT, LEFT, TOP, and BOTTOM.
sketch
A ConstrainedSketch object specifying the planar sketch to be revolved.
angle
A Float specifying the angle in degrees to be revolved.
pitch
A Float specifying the pitch. The pitch is the distance traveled along the axial
direction, measured between corresponding points on the sketch when it has completed one
full revolution about the axis of revolution. Possible values are 0 ≤≤ *pitch* ≤≤ 105.
The default value, 0, implies a normal revolve.
flipRevolveDirection
A Boolean specifying whether to override the direction of feature creation. If
*flipRevolveDirection*=OFF, the default direction of revolution is used. If
*flipRevolveDirection*=ON, the revolve direction is reversed. The default value is OFF.
flipPitchDirection
A Boolean specifying whether to override the direction of translation. If
*flipPitchDirection*=OFF, the direction of translation is given by the direction of the
revolve axis. If *flipPitchDirection*=ON, the translation direction is reversed. The
default value is OFF.
moveSketchNormalToPath
A Boolean specifying whether to rotate the sketch so that it is normal to the path of
revolution when using the *pitch* option. If *moveSketchNormalToPath*=OFF, the sketch
plane remains parallel to the revolve axis. If *moveSketchNormalToPath*=ON, the sketch
is moved to match the angle created by the *pitch* before being revolved. The default
value is OFF.
Returns
-------
feature: Feature
A Feature object
"""
pass
def CutSweep(
self,
path: str,
profile: str,
pathPlane: str = "",
pathUpEdge: Edge = Edge(),
pathOrientation: SymbolicConstant = None,
sketchPlane: str = "",
sketchUpEdge: Edge = Edge(),
sketchOrientation: SymbolicConstant = None,
draftAngle: float = None,
pitch: float = None,
profileNormal: Boolean = OFF,
flipSweepDirection: Boolean = OFF,
):
"""This method creates an additional Feature object by sweeping the given ConstrainedSketch
object along a path which may be a ConstrainedSketch or a sequence of Edge objects and
cutting away material from the part. If the profile section is a ConstrainedSketch
object, it must define a closed profile. The section sketch can be created at the normal
plane at the start of the sweep path or it may be created on a Datum plane or a planar
Face. No checks are made for self-intersection.
Notes
-----
This function can be accessed by:
.. code-block:: python
mdb.models[name].parts[*name*].AutoRepair
Parameters
----------
path
Path may either be a ConstrainedSketch object or a sequence of Edge objects specifying
the path of the sweep.
profile
Profile may either be a ConstrainedSketch object or a Face object specifying the section
to be swept.
pathPlane
A Datum plane object or a planar Face object. Only required when path is a
ConstrainedSketch object.
pathUpEdge
An Edge object or a Datum axis object specifying the vertical (*Y*) direction of the
path sketch. Only required when path is a ConstrainedSketch object.
pathOrientation
A SymbolicConstant specifying the orientation of *pathUpEdge* on the sketch. Possible
values are RIGHT, LEFT, TOP, and BOTTOM. Default value is RIGHT. Only required when path
is a ConstrainedSketch object.
sketchPlane
A Datum plane object or a planar Face object specifying the plane on which to sketch the
profile. Not required when profile is a Face object. When profile is chosen as a
ConstrainedSketch object, user may or may not give this as input. If user does not give
this as input, the normal plane at the start of the path will be the sketchPlane.
sketchUpEdge
An Edge object or a Datum axis object specifying the vertical (*Y*) direction of the
profile sketch. Only required when profile is a ConstrainedSketch object.
sketchOrientation
A SymbolicConstant specifying the orientation of *sketchUpEdge* on the sketch. Possible
values are RIGHT, LEFT, TOP, and BOTTOM. Default value is RIGHT. Only required when
profile is a ConstrainedSketch object.
draftAngle
A Float specifying the draft angle in degrees. Possible values are -90.0 ≤≤ *draftAngle*
≤≤ 90.0. By convention, for a positive draft angle an outer loop will draft outward and