"""
    Onshape REST API

    The Onshape REST API consumed by all client. # Authorization The simplest way to authorize and enable the **Try it out** functionality is to sign in to Onshape and use the current session. The **Authorize** button enables other authorization techniques. To ensure the current session isn't used when trying other authentication techniques, make sure to remove the Onshape cookie as per the instructions for your particular browser. Alternatively, a private or incognito window may be used. Here's [how to remove a specific cookie on Chrome](https://support.google.com/chrome/answer/95647#zippy=%2Cdelete-cookies-from-a-site). - **Current Session** authorization is enabled by default if the browser is already signed in to [Onshape](/). - **OAuth2** authorization uses an Onshape OAuth2 app created on the [Onshape Developer Portal](https://dev-portal.onshape.com/oauthApps). The redirect URL field should include `https://cad.onshape.com/glassworks/explorer/oauth2-redirect.html`. - **API Key** authorization using basic authentication is also available. The keys can be generated in the [Onshape Developer Portal](https://dev-portal.onshape.com/keys). In the authentication dialog, enter the access key in the `Username` field, and enter the secret key in the `Password` field. Basic authentication should only be used during the development process since sharing API Keys provides the same level of access as a username and password.  # noqa: E501

    The version of the OpenAPI document: 1.143.3263-a9e651bcae07
    Contact: api-support@onshape.zendesk.com
    Generated by: https://openapi-generator.tech
"""


import re  # noqa: F401
import sys  # noqa: F401

from onshape_client.oas.api_client import ApiClient, Endpoint as _Endpoint
from onshape_client.oas.model_utils import (  # noqa: F401
    check_allowed_values,
    check_validations,
    date,
    datetime,
    file_type,
    none_type,
    validate_and_convert_types
)
from onshape_client.oas.model.bt_api_table_list1223 import BTApiTableList1223
from onshape_client.oas.model.bt_bounding_box_info import BTBoundingBoxInfo
from onshape_client.oas.model.bt_document_element_info import BTDocumentElementInfo
from onshape_client.oas.model.bt_export_model_bodies_response734 import BTExportModelBodiesResponse734
from onshape_client.oas.model.bt_export_tessellated_edges_response327 import BTExportTessellatedEdgesResponse327
from onshape_client.oas.model.bt_feature_api_base1430 import BTFeatureApiBase1430
from onshape_client.oas.model.bt_feature_definition_call1406 import BTFeatureDefinitionCall1406
from onshape_client.oas.model.bt_feature_definition_response1617 import BTFeatureDefinitionResponse1617
from onshape_client.oas.model.bt_feature_list_response2457 import BTFeatureListResponse2457
from onshape_client.oas.model.bt_feature_script_eval_call2377 import BTFeatureScriptEvalCall2377
from onshape_client.oas.model.bt_feature_script_eval_response1859 import BTFeatureScriptEvalResponse1859
from onshape_client.oas.model.bt_feature_specs_response664 import BTFeatureSpecsResponse664
from onshape_client.oas.model.btid_translation_info import BTIdTranslationInfo
from onshape_client.oas.model.btid_translation_params import BTIdTranslationParams
from onshape_client.oas.model.bt_mass_properties_bulk_info import BTMassPropertiesBulkInfo
from onshape_client.oas.model.bt_model_element_params import BTModelElementParams
from onshape_client.oas.model.bt_named_views_info import BTNamedViewsInfo
from onshape_client.oas.model.btp_module234 import BTPModule234
from onshape_client.oas.model.bt_root_diff_info import BTRootDiffInfo
from onshape_client.oas.model.bt_set_feature_rollback_response1042 import BTSetFeatureRollbackResponse1042
from onshape_client.oas.model.bt_shaded_views_info import BTShadedViewsInfo
from onshape_client.oas.model.bt_translate_format_params import BTTranslateFormatParams
from onshape_client.oas.model.bt_translation_request_info import BTTranslationRequestInfo
from onshape_client.oas.model.bt_update_features_call1748 import BTUpdateFeaturesCall1748
from onshape_client.oas.model.bt_update_features_response1333 import BTUpdateFeaturesResponse1333


class PartStudioApi(object):
    """NOTE: This class is auto generated by OpenAPI Generator
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    def __init__(self, api_client=None):
        if api_client is None:
            api_client = ApiClient()
        self.api_client = api_client
        self.add_part_studio_feature_endpoint = _Endpoint(
            settings={
                'response_type': (BTFeatureDefinitionResponse1617,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/features',
                'operation_id': 'add_part_studio_feature',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'bt_feature_definition_call1406',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'bt_feature_definition_call1406':
                        (BTFeatureDefinitionCall1406,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'bt_feature_definition_call1406': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )
        self.compare_part_studios_endpoint = _Endpoint(
            settings={
                'response_type': (BTRootDiffInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/compare',
                'operation_id': 'compare_part_studios',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'workspace_id',
                    'version_id',
                    'microversion_id',
                    'source_configuration',
                    'target_configuration',
                    'link_document_id',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'workspace_id':
                        (str,),
                    'version_id':
                        (str,),
                    'microversion_id':
                        (str,),
                    'source_configuration':
                        (str,),
                    'target_configuration':
                        (str,),
                    'link_document_id':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'workspace_id': 'workspaceId',
                    'version_id': 'versionId',
                    'microversion_id': 'microversionId',
                    'source_configuration': 'sourceConfiguration',
                    'target_configuration': 'targetConfiguration',
                    'link_document_id': 'linkDocumentId',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'workspace_id': 'query',
                    'version_id': 'query',
                    'microversion_id': 'query',
                    'source_configuration': 'query',
                    'target_configuration': 'query',
                    'link_document_id': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.create_part_studio_endpoint = _Endpoint(
            settings={
                'response_type': (BTDocumentElementInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/w/{wid}',
                'operation_id': 'create_part_studio',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wid',
                    'bt_model_element_params',
                ],
                'required': [
                    'did',
                    'wid',
                    'bt_model_element_params',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wid':
                        (str,),
                    'bt_model_element_params':
                        (BTModelElementParams,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wid': 'wid',
                },
                'location_map': {
                    'did': 'path',
                    'wid': 'path',
                    'bt_model_element_params': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )
        self.create_part_studio_translation_endpoint = _Endpoint(
            settings={
                'response_type': (BTTranslationRequestInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wv}/{wvid}/e/{eid}/translations',
                'operation_id': 'create_part_studio_translation',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wv',
                    'wvid',
                    'eid',
                    'bt_translate_format_params',
                ],
                'required': [
                    'did',
                    'wv',
                    'wvid',
                    'eid',
                    'bt_translate_format_params',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wv':
                        (str,),
                    'wvid':
                        (str,),
                    'eid':
                        (str,),
                    'bt_translate_format_params':
                        (BTTranslateFormatParams,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wv': 'wv',
                    'wvid': 'wvid',
                    'eid': 'eid',
                },
                'location_map': {
                    'did': 'path',
                    'wv': 'path',
                    'wvid': 'path',
                    'eid': 'path',
                    'bt_translate_format_params': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )
        self.delete_part_studio_feature_endpoint = _Endpoint(
            settings={
                'response_type': (BTFeatureApiBase1430,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/w/{wid}/e/{eid}/features/featureid/{fid}',
                'operation_id': 'delete_part_studio_feature',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wid',
                    'eid',
                    'fid',
                ],
                'required': [
                    'did',
                    'wid',
                    'eid',
                    'fid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wid':
                        (str,),
                    'eid':
                        (str,),
                    'fid':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wid': 'wid',
                    'eid': 'eid',
                    'fid': 'fid',
                },
                'location_map': {
                    'did': 'path',
                    'wid': 'path',
                    'eid': 'path',
                    'fid': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.eval_feature_script_endpoint = _Endpoint(
            settings={
                'response_type': (BTFeatureScriptEvalResponse1859,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/featurescript',
                'operation_id': 'eval_feature_script',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'link_document_id',
                    'configuration',
                    'rollback_bar_index',
                    'element_microversion_id',
                    'bt_feature_script_eval_call2377',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'link_document_id':
                        (str,),
                    'configuration':
                        (str,),
                    'rollback_bar_index':
                        (int,),
                    'element_microversion_id':
                        (str,),
                    'bt_feature_script_eval_call2377':
                        (BTFeatureScriptEvalCall2377,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'link_document_id': 'linkDocumentId',
                    'configuration': 'configuration',
                    'rollback_bar_index': 'rollbackBarIndex',
                    'element_microversion_id': 'elementMicroversionId',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'link_document_id': 'query',
                    'configuration': 'query',
                    'rollback_bar_index': 'query',
                    'element_microversion_id': 'query',
                    'bt_feature_script_eval_call2377': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )
        self.export_parasolid_endpoint = _Endpoint(
            settings={
                'response_type': None,
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/parasolid',
                'operation_id': 'export_parasolid',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'part_ids',
                    'version',
                    'include_export_ids',
                    'configuration',
                    'link_document_id',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'part_ids':
                        (str,),
                    'version':
                        (str,),
                    'include_export_ids':
                        (bool,),
                    'configuration':
                        (str,),
                    'link_document_id':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'part_ids': 'partIds',
                    'version': 'version',
                    'include_export_ids': 'includeExportIds',
                    'configuration': 'configuration',
                    'link_document_id': 'linkDocumentId',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'part_ids': 'query',
                    'version': 'query',
                    'include_export_ids': 'query',
                    'configuration': 'query',
                    'link_document_id': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [],
                'content_type': [],
            },
            api_client=api_client
        )
        self.export_part_studio_gltf_endpoint = _Endpoint(
            settings={
                'response_type': (file_type,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/gltf',
                'operation_id': 'export_part_studio_gltf',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'link_document_id',
                    'configuration',
                    'rollback_bar_index',
                    'element_microversion_id',
                    'part_id',
                    'angle_tolerance',
                    'chord_tolerance',
                    'precomputed_level_of_detail',
                    'output_separate_face_nodes',
                    'face_id',
                    'output_face_appearances',
                    'max_facet_width',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'link_document_id':
                        (str,),
                    'configuration':
                        (str,),
                    'rollback_bar_index':
                        (int,),
                    'element_microversion_id':
                        (str,),
                    'part_id':
                        ([str],),
                    'angle_tolerance':
                        (float,),
                    'chord_tolerance':
                        (float,),
                    'precomputed_level_of_detail':
                        (str,),
                    'output_separate_face_nodes':
                        (bool,),
                    'face_id':
                        ([str],),
                    'output_face_appearances':
                        (bool,),
                    'max_facet_width':
                        (float,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'link_document_id': 'linkDocumentId',
                    'configuration': 'configuration',
                    'rollback_bar_index': 'rollbackBarIndex',
                    'element_microversion_id': 'elementMicroversionId',
                    'part_id': 'partId',
                    'angle_tolerance': 'angleTolerance',
                    'chord_tolerance': 'chordTolerance',
                    'precomputed_level_of_detail': 'precomputedLevelOfDetail',
                    'output_separate_face_nodes': 'outputSeparateFaceNodes',
                    'face_id': 'faceId',
                    'output_face_appearances': 'outputFaceAppearances',
                    'max_facet_width': 'maxFacetWidth',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'link_document_id': 'query',
                    'configuration': 'query',
                    'rollback_bar_index': 'query',
                    'element_microversion_id': 'query',
                    'part_id': 'query',
                    'angle_tolerance': 'query',
                    'chord_tolerance': 'query',
                    'precomputed_level_of_detail': 'query',
                    'output_separate_face_nodes': 'query',
                    'face_id': 'query',
                    'output_face_appearances': 'query',
                    'max_facet_width': 'query',
                },
                'collection_format_map': {
                    'part_id': 'multi',
                    'face_id': 'multi',
                }
            },
            headers_map={
                'accept': [
                    'model/vnd.onshape.v1+gltf-binary;charset=UTF-8;qs=0.1'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.export_part_studio_stl_endpoint = _Endpoint(
            settings={
                'response_type': None,
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/stl',
                'operation_id': 'export_part_studio_stl',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'part_ids',
                    'mode',
                    'grouping',
                    'scale',
                    'units',
                    'angle_tolerance',
                    'chord_tolerance',
                    'max_facet_width',
                    'min_facet_width',
                    'configuration',
                    'link_document_id',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'part_ids':
                        (str,),
                    'mode':
                        (str,),
                    'grouping':
                        (bool,),
                    'scale':
                        (float,),
                    'units':
                        (str,),
                    'angle_tolerance':
                        (float,),
                    'chord_tolerance':
                        (float,),
                    'max_facet_width':
                        (float,),
                    'min_facet_width':
                        (float,),
                    'configuration':
                        (str,),
                    'link_document_id':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'part_ids': 'partIds',
                    'mode': 'mode',
                    'grouping': 'grouping',
                    'scale': 'scale',
                    'units': 'units',
                    'angle_tolerance': 'angleTolerance',
                    'chord_tolerance': 'chordTolerance',
                    'max_facet_width': 'maxFacetWidth',
                    'min_facet_width': 'minFacetWidth',
                    'configuration': 'configuration',
                    'link_document_id': 'linkDocumentId',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'part_ids': 'query',
                    'mode': 'query',
                    'grouping': 'query',
                    'scale': 'query',
                    'units': 'query',
                    'angle_tolerance': 'query',
                    'chord_tolerance': 'query',
                    'max_facet_width': 'query',
                    'min_facet_width': 'query',
                    'configuration': 'query',
                    'link_document_id': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_feature_script_representation_endpoint = _Endpoint(
            settings={
                'response_type': (BTPModule234,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/featurescriptrepresentation',
                'operation_id': 'get_feature_script_representation',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'link_document_id',
                    'configuration',
                    'rollback_bar_index',
                    'element_microversion_id',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'link_document_id':
                        (str,),
                    'configuration':
                        (str,),
                    'rollback_bar_index':
                        (int,),
                    'element_microversion_id':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'link_document_id': 'linkDocumentId',
                    'configuration': 'configuration',
                    'rollback_bar_index': 'rollbackBarIndex',
                    'element_microversion_id': 'elementMicroversionId',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'link_document_id': 'query',
                    'configuration': 'query',
                    'rollback_bar_index': 'query',
                    'element_microversion_id': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_feature_script_table_endpoint = _Endpoint(
            settings={
                'response_type': (BTApiTableList1223,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/fstable',
                'operation_id': 'get_feature_script_table',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'table_type',
                    'configuration',
                    'table_namespace',
                    'table_parameters',
                    'part_id',
                    'link_document_id',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'table_type',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'table_type':
                        (str,),
                    'configuration':
                        (str,),
                    'table_namespace':
                        (str,),
                    'table_parameters':
                        (str,),
                    'part_id':
                        (str,),
                    'link_document_id':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'table_type': 'tableType',
                    'configuration': 'configuration',
                    'table_namespace': 'tableNamespace',
                    'table_parameters': 'tableParameters',
                    'part_id': 'partId',
                    'link_document_id': 'linkDocumentId',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'table_type': 'query',
                    'configuration': 'query',
                    'table_namespace': 'query',
                    'table_parameters': 'query',
                    'part_id': 'query',
                    'link_document_id': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_part_studio_body_details_endpoint = _Endpoint(
            settings={
                'response_type': (BTExportModelBodiesResponse734,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/bodydetails',
                'operation_id': 'get_part_studio_body_details',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'configuration',
                    'link_document_id',
                    'rollback_bar_index',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'configuration':
                        (str,),
                    'link_document_id':
                        (str,),
                    'rollback_bar_index':
                        (int,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'configuration': 'configuration',
                    'link_document_id': 'linkDocumentId',
                    'rollback_bar_index': 'rollbackBarIndex',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'configuration': 'query',
                    'link_document_id': 'query',
                    'rollback_bar_index': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_part_studio_bounding_boxes_endpoint = _Endpoint(
            settings={
                'response_type': (BTBoundingBoxInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/boundingboxes',
                'operation_id': 'get_part_studio_bounding_boxes',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'include_hidden',
                    'include_wire_bodies',
                    'configuration',
                    'link_document_id',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'include_hidden':
                        (bool,),
                    'include_wire_bodies':
                        (bool,),
                    'configuration':
                        (str,),
                    'link_document_id':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'include_hidden': 'includeHidden',
                    'include_wire_bodies': 'includeWireBodies',
                    'configuration': 'configuration',
                    'link_document_id': 'linkDocumentId',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'include_hidden': 'query',
                    'include_wire_bodies': 'query',
                    'configuration': 'query',
                    'link_document_id': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_part_studio_edges_endpoint = _Endpoint(
            settings={
                'response_type': (BTExportTessellatedEdgesResponse327,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/tessellatededges',
                'operation_id': 'get_part_studio_edges',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'link_document_id',
                    'configuration',
                    'rollback_bar_index',
                    'element_microversion_id',
                    'part_id',
                    'angle_tolerance',
                    'chord_tolerance',
                    'precomputed_level_of_detail',
                    'edge_id',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'link_document_id':
                        (str,),
                    'configuration':
                        (str,),
                    'rollback_bar_index':
                        (int,),
                    'element_microversion_id':
                        (str,),
                    'part_id':
                        ([str],),
                    'angle_tolerance':
                        (float,),
                    'chord_tolerance':
                        (float,),
                    'precomputed_level_of_detail':
                        (str,),
                    'edge_id':
                        ([str],),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'link_document_id': 'linkDocumentId',
                    'configuration': 'configuration',
                    'rollback_bar_index': 'rollbackBarIndex',
                    'element_microversion_id': 'elementMicroversionId',
                    'part_id': 'partId',
                    'angle_tolerance': 'angleTolerance',
                    'chord_tolerance': 'chordTolerance',
                    'precomputed_level_of_detail': 'precomputedLevelOfDetail',
                    'edge_id': 'edgeId',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'link_document_id': 'query',
                    'configuration': 'query',
                    'rollback_bar_index': 'query',
                    'element_microversion_id': 'query',
                    'part_id': 'query',
                    'angle_tolerance': 'query',
                    'chord_tolerance': 'query',
                    'precomputed_level_of_detail': 'query',
                    'edge_id': 'query',
                },
                'collection_format_map': {
                    'part_id': 'multi',
                    'edge_id': 'multi',
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_part_studio_feature_specs_endpoint = _Endpoint(
            settings={
                'response_type': (BTFeatureSpecsResponse664,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/featurespecs',
                'operation_id': 'get_part_studio_feature_specs',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_part_studio_features_endpoint = _Endpoint(
            settings={
                'response_type': (BTFeatureListResponse2457,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/features',
                'operation_id': 'get_part_studio_features',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'include_geometry_ids',
                    'feature_id',
                    'link_document_id',
                    'no_sketch_geometry',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'include_geometry_ids':
                        (bool,),
                    'feature_id':
                        ([str],),
                    'link_document_id':
                        (str,),
                    'no_sketch_geometry':
                        (bool,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'include_geometry_ids': 'includeGeometryIds',
                    'feature_id': 'featureId',
                    'link_document_id': 'linkDocumentId',
                    'no_sketch_geometry': 'noSketchGeometry',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'include_geometry_ids': 'query',
                    'feature_id': 'query',
                    'link_document_id': 'query',
                    'no_sketch_geometry': 'query',
                },
                'collection_format_map': {
                    'feature_id': 'multi',
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_part_studio_mass_properties_endpoint = _Endpoint(
            settings={
                'response_type': (BTMassPropertiesBulkInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/massproperties',
                'operation_id': 'get_part_studio_mass_properties',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'link_document_id',
                    'configuration',
                    'rollback_bar_index',
                    'element_microversion_id',
                    'part_id',
                    'mass_as_group',
                    'use_mass_property_overrides',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'link_document_id':
                        (str,),
                    'configuration':
                        (str,),
                    'rollback_bar_index':
                        (int,),
                    'element_microversion_id':
                        (str,),
                    'part_id':
                        ([str],),
                    'mass_as_group':
                        (bool,),
                    'use_mass_property_overrides':
                        (bool,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'link_document_id': 'linkDocumentId',
                    'configuration': 'configuration',
                    'rollback_bar_index': 'rollbackBarIndex',
                    'element_microversion_id': 'elementMicroversionId',
                    'part_id': 'partId',
                    'mass_as_group': 'massAsGroup',
                    'use_mass_property_overrides': 'useMassPropertyOverrides',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'link_document_id': 'query',
                    'configuration': 'query',
                    'rollback_bar_index': 'query',
                    'element_microversion_id': 'query',
                    'part_id': 'query',
                    'mass_as_group': 'query',
                    'use_mass_property_overrides': 'query',
                },
                'collection_format_map': {
                    'part_id': 'multi',
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_part_studio_named_views_endpoint = _Endpoint(
            settings={
                'response_type': (BTNamedViewsInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/e/{eid}/namedViews',
                'operation_id': 'get_part_studio_named_views',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'eid',
                    'link_document_id',
                    'skip_perspective',
                    'include_section_cut_views',
                ],
                'required': [
                    'did',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'eid':
                        (str,),
                    'link_document_id':
                        (str,),
                    'skip_perspective':
                        (bool,),
                    'include_section_cut_views':
                        (bool,),
                },
                'attribute_map': {
                    'did': 'did',
                    'eid': 'eid',
                    'link_document_id': 'linkDocumentId',
                    'skip_perspective': 'skipPerspective',
                    'include_section_cut_views': 'includeSectionCutViews',
                },
                'location_map': {
                    'did': 'path',
                    'eid': 'path',
                    'link_document_id': 'query',
                    'skip_perspective': 'query',
                    'include_section_cut_views': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_part_studio_shaded_views_endpoint = _Endpoint(
            settings={
                'response_type': (BTShadedViewsInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/shadedviews',
                'operation_id': 'get_part_studio_shaded_views',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'view_matrix',
                    'output_height',
                    'output_width',
                    'pixel_size',
                    'edges',
                    'show_all_parts',
                    'include_surfaces',
                    'use_anti_aliasing',
                    'include_wires',
                    'configuration',
                    'link_document_id',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'view_matrix':
                        (str,),
                    'output_height':
                        (int,),
                    'output_width':
                        (int,),
                    'pixel_size':
                        (float,),
                    'edges':
                        (str,),
                    'show_all_parts':
                        (bool,),
                    'include_surfaces':
                        (bool,),
                    'use_anti_aliasing':
                        (bool,),
                    'include_wires':
                        (bool,),
                    'configuration':
                        (str,),
                    'link_document_id':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'view_matrix': 'viewMatrix',
                    'output_height': 'outputHeight',
                    'output_width': 'outputWidth',
                    'pixel_size': 'pixelSize',
                    'edges': 'edges',
                    'show_all_parts': 'showAllParts',
                    'include_surfaces': 'includeSurfaces',
                    'use_anti_aliasing': 'useAntiAliasing',
                    'include_wires': 'includeWires',
                    'configuration': 'configuration',
                    'link_document_id': 'linkDocumentId',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'view_matrix': 'query',
                    'output_height': 'query',
                    'output_width': 'query',
                    'pixel_size': 'query',
                    'edges': 'query',
                    'show_all_parts': 'query',
                    'include_surfaces': 'query',
                    'use_anti_aliasing': 'query',
                    'include_wires': 'query',
                    'configuration': 'query',
                    'link_document_id': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.translate_ids_endpoint = _Endpoint(
            settings={
                'response_type': (BTIdTranslationInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/idtranslations',
                'operation_id': 'translate_ids',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'btid_translation_params',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'btid_translation_params',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'btid_translation_params':
                        (BTIdTranslationParams,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'btid_translation_params': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )
        self.update_features_endpoint = _Endpoint(
            settings={
                'response_type': (BTUpdateFeaturesResponse1333,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/w/{wid}/e/{eid}/features/updates',
                'operation_id': 'update_features',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wid',
                    'eid',
                    'bt_update_features_call1748',
                ],
                'required': [
                    'did',
                    'wid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wid':
                        (str,),
                    'eid':
                        (str,),
                    'bt_update_features_call1748':
                        (BTUpdateFeaturesCall1748,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wid': 'wid',
                    'eid': 'eid',
                },
                'location_map': {
                    'did': 'path',
                    'wid': 'path',
                    'eid': 'path',
                    'bt_update_features_call1748': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )
        self.update_part_studio_feature_endpoint = _Endpoint(
            settings={
                'response_type': (BTFeatureDefinitionResponse1617,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/w/{wid}/e/{eid}/features/featureid/{fid}',
                'operation_id': 'update_part_studio_feature',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wid',
                    'eid',
                    'fid',
                    'bt_feature_definition_call1406',
                ],
                'required': [
                    'did',
                    'wid',
                    'eid',
                    'fid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wid':
                        (str,),
                    'eid':
                        (str,),
                    'fid':
                        (str,),
                    'bt_feature_definition_call1406':
                        (BTFeatureDefinitionCall1406,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wid': 'wid',
                    'eid': 'eid',
                    'fid': 'fid',
                },
                'location_map': {
                    'did': 'path',
                    'wid': 'path',
                    'eid': 'path',
                    'fid': 'path',
                    'bt_feature_definition_call1406': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )
        self.update_rollback_endpoint = _Endpoint(
            settings={
                'response_type': (BTSetFeatureRollbackResponse1042,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/partstudios/d/{did}/w/{wid}/e/{eid}/features/rollback',
                'operation_id': 'update_rollback',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wid',
                    'eid',
                    'body',
                ],
                'required': [
                    'did',
                    'wid',
                    'eid',
                    'body',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wid':
                        (str,),
                    'eid':
                        (str,),
                    'body':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wid': 'wid',
                    'eid': 'eid',
                },
                'location_map': {
                    'did': 'path',
                    'wid': 'path',
                    'eid': 'path',
                    'body': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )

    def add_part_studio_feature(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Add Feature  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.add_part_studio_feature(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            bt_feature_definition_call1406 (BTFeatureDefinitionCall1406): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTFeatureDefinitionResponse1617
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.add_part_studio_feature_endpoint.call_with_http_info(**kwargs)

    def compare_part_studios(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Compare Part Studios  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.compare_part_studios(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str): Document ID.
            wvm (str): One of w or v or m corresponding to whether a workspace or version or microversion was entered.
            wvmid (str): Workspace (w), Version (v) or Microversion (m) ID.
            eid (str): Element ID.

        Keyword Args:
            workspace_id (str): [optional]
            version_id (str): [optional]
            microversion_id (str): [optional]
            source_configuration (str): [optional]
            target_configuration (str): [optional]
            link_document_id (str): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTRootDiffInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.compare_part_studios_endpoint.call_with_http_info(**kwargs)

    def create_part_studio(
        self,
        did,
        wid,
        bt_model_element_params,
        **kwargs
    ):
        """Create Part Studio  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.create_part_studio(did, wid, bt_model_element_params, async_req=True)
        >>> result = thread.get()

        Args:
            did (str): Document ID.
            wid (str): Workspace ID.
            bt_model_element_params (BTModelElementParams):

        Keyword Args:
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTDocumentElementInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wid'] = \
            wid
        kwargs['bt_model_element_params'] = \
            bt_model_element_params
        return self.create_part_studio_endpoint.call_with_http_info(**kwargs)

    def create_part_studio_translation(
        self,
        did,
        wv,
        wvid,
        eid,
        bt_translate_format_params,
        **kwargs
    ):
        """Create Part Studio translation  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.create_part_studio_translation(did, wv, wvid, eid, bt_translate_format_params, async_req=True)
        >>> result = thread.get()

        Args:
            did (str): Document ID.
            wv (str): One of w or v corresponding to whether a workspace or version was specified.
            wvid (str): Workspace (w) or Version (v) ID.
            eid (str): Element ID.
            bt_translate_format_params (BTTranslateFormatParams):

        Keyword Args:
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTTranslationRequestInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wv'] = \
            wv
        kwargs['wvid'] = \
            wvid
        kwargs['eid'] = \
            eid
        kwargs['bt_translate_format_params'] = \
            bt_translate_format_params
        return self.create_part_studio_translation_endpoint.call_with_http_info(**kwargs)

    def delete_part_studio_feature(
        self,
        did,
        wid,
        eid,
        fid,
        **kwargs
    ):
        """Delete Feature  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.delete_part_studio_feature(did, wid, eid, fid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str): Document ID.
            wid (str): Workspace ID.
            eid (str): Element ID.
            fid (str): The id of the feature being updated. This id should be URL encoded and must match the featureId found in the serialized structure

        Keyword Args:
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTFeatureApiBase1430
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wid'] = \
            wid
        kwargs['eid'] = \
            eid
        kwargs['fid'] = \
            fid
        return self.delete_part_studio_feature_endpoint.call_with_http_info(**kwargs)

    def eval_feature_script(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """eval_feature_script  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.eval_feature_script(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            link_document_id (str): [optional] if omitted the server will use the default value of ""
            configuration (str): [optional] if omitted the server will use the default value of ""
            rollback_bar_index (int): [optional] if omitted the server will use the default value of -1
            element_microversion_id (str): [optional]
            bt_feature_script_eval_call2377 (BTFeatureScriptEvalCall2377): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTFeatureScriptEvalResponse1859
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.eval_feature_script_endpoint.call_with_http_info(**kwargs)

    def export_parasolid(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Export Part Studio to Parasolid  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.export_parasolid(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str): Document ID.
            wvm (str): One of w or v or m corresponding to whether a workspace or version or microversion was entered.
            wvmid (str): Workspace (w), Version (v) or Microversion (m) ID.
            eid (str): Element ID.

        Keyword Args:
            part_ids (str): IDs of the parts to retrieve. Repeat query param to add more than one (i.e. partId=JHK&partId=JHD). May not be combined with other ID filters. [optional]
            version (str): Parasolid version. [optional] if omitted the server will use the default value of "0"
            include_export_ids (bool): Whether topolgy ids should be exported as parasolid attributes. [optional] if omitted the server will use the default value of False
            configuration (str): Configuration string.. [optional]
            link_document_id (str): Id of document that links to the document being accessed. This may provide additional access rights to the document. Allowed only with version (v) path parameter.. [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            None
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.export_parasolid_endpoint.call_with_http_info(**kwargs)

    def export_part_studio_gltf(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Export glTF for parts in a part studio  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.export_part_studio_gltf(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            link_document_id (str): [optional] if omitted the server will use the default value of ""
            configuration (str): [optional] if omitted the server will use the default value of ""
            rollback_bar_index (int): [optional] if omitted the server will use the default value of -1
            element_microversion_id (str): [optional]
            part_id ([str]): [optional]
            angle_tolerance (float): [optional]
            chord_tolerance (float): [optional]
            precomputed_level_of_detail (str): [optional]
            output_separate_face_nodes (bool): [optional] if omitted the server will use the default value of False
            face_id ([str]): [optional]
            output_face_appearances (bool): [optional] if omitted the server will use the default value of False
            max_facet_width (float): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            file_type
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.export_part_studio_gltf_endpoint.call_with_http_info(**kwargs)

    def export_part_studio_stl(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Export Part Studio to STL  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.export_part_studio_stl(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str): Document ID.
            wvm (str): One of w or v or m corresponding to whether a workspace or version or microversion was entered.
            wvmid (str): Workspace (w), Version (v) or Microversion (m) ID.
            eid (str): Element ID.

        Keyword Args:
            part_ids (str): IDs of the parts to retrieve. Repeat query param to add more than one (i.e. partId=JHK&partId=JHD). May not be combined with other ID filters. [optional]
            mode (str): Type of file: text, binary. [optional] if omitted the server will use the default value of "text"
            grouping (bool): Whether parts should be exported as a group or individually in a .zip file. [optional] if omitted the server will use the default value of True
            scale (float): Scale for measurements.. [optional] if omitted the server will use the default value of 1.0
            units (str): Name of base unit (meter, centimeter, millimeter, inch, foot, or yard). [optional] if omitted the server will use the default value of "inch"
            angle_tolerance (float): Angle tolerance (in radians). This specifies the limit on the sum of the angular deviations of a tessellation chord from the tangent vectors at two chord endpoints. The specified value must be less than PI/2. This parameter currently has a default value chosen based on the complexity of the parts being tessellated.. [optional]
            chord_tolerance (float): Chord tolerance (in meters). This specifies the limit on the maximum deviation of a tessellation chord from the true surface/edge. This parameter currently has a default value chosen based on the size and complexity of the parts being tessellated.. [optional]
            max_facet_width (float): Max facet width. This specifies the limit on the size of any side of a tessellation facet.. [optional]
            min_facet_width (float): Max facet width. This specifies the limit on the size of any side of a tessellation facet.. [optional]
            configuration (str): Configuration string.. [optional]
            link_document_id (str): Id of document that links to the document being accessed. This may provide additional access rights to the document. Allowed only with version (v) path parameter.. [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            None
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.export_part_studio_stl_endpoint.call_with_http_info(**kwargs)

    def get_feature_script_representation(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """get_feature_script_representation  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_feature_script_representation(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            link_document_id (str): [optional] if omitted the server will use the default value of ""
            configuration (str): [optional] if omitted the server will use the default value of ""
            rollback_bar_index (int): [optional] if omitted the server will use the default value of -1
            element_microversion_id (str): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTPModule234
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_feature_script_representation_endpoint.call_with_http_info(**kwargs)

    def get_feature_script_table(
        self,
        did,
        wvm,
        wvmid,
        eid,
        table_type,
        **kwargs
    ):
        """get_feature_script_table  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_feature_script_table(did, wvm, wvmid, eid, table_type, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):
            table_type (str):

        Keyword Args:
            configuration (str): [optional]
            table_namespace (str): [optional]
            table_parameters (str): [optional]
            part_id (str): [optional]
            link_document_id (str): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTApiTableList1223
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        kwargs['table_type'] = \
            table_type
        return self.get_feature_script_table_endpoint.call_with_http_info(**kwargs)

    def get_part_studio_body_details(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Array of body information  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_part_studio_body_details(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            configuration (str): [optional]
            link_document_id (str): [optional]
            rollback_bar_index (int): [optional] if omitted the server will use the default value of -1
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTExportModelBodiesResponse734
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_part_studio_body_details_endpoint.call_with_http_info(**kwargs)

    def get_part_studio_bounding_boxes(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Mass properties of parts or a PartStudio.  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_part_studio_bounding_boxes(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str): Document ID.
            wvm (str): One of w or v or m corresponding to whether a workspace or version or microversion was entered.
            wvmid (str): Workspace (w), Version (v) or Microversion (m) ID.
            eid (str): Element ID.

        Keyword Args:
            include_hidden (bool): Whether or not to include bounding boxes for hidden parts.. [optional] if omitted the server will use the default value of False
            include_wire_bodies (bool): Whether to include wire bodies in the bounding box.. [optional] if omitted the server will use the default value of True
            configuration (str): Configuration string.. [optional]
            link_document_id (str): Id of document that links to the document being accessed. This may provide additional access rights to the document. Allowed only with version (v) path parameter.. [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTBoundingBoxInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_part_studio_bounding_boxes_endpoint.call_with_http_info(**kwargs)

    def get_part_studio_edges(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """get_part_studio_edges  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_part_studio_edges(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            link_document_id (str): [optional] if omitted the server will use the default value of ""
            configuration (str): [optional] if omitted the server will use the default value of ""
            rollback_bar_index (int): [optional] if omitted the server will use the default value of -1
            element_microversion_id (str): [optional]
            part_id ([str]): [optional]
            angle_tolerance (float): [optional]
            chord_tolerance (float): [optional]
            precomputed_level_of_detail (str): [optional]
            edge_id ([str]): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTExportTessellatedEdgesResponse327
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_part_studio_edges_endpoint.call_with_http_info(**kwargs)

    def get_part_studio_feature_specs(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Get Feature Specs  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_part_studio_feature_specs(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str): Document ID.
            wvm (str): One of w or v or m corresponding to whether a workspace or version or microversion was entered.
            wvmid (str): Workspace (w), Version (v) or Microversion (m) ID.
            eid (str): Element ID.

        Keyword Args:
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTFeatureSpecsResponse664
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_part_studio_feature_specs_endpoint.call_with_http_info(**kwargs)

    def get_part_studio_features(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Get Feature List  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_part_studio_features(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str): Document ID.
            wvm (str): One of w or v or m corresponding to whether a workspace or version or microversion was entered.
            wvmid (str): Workspace (w), Version (v) or Microversion (m) ID.
            eid (str): Element ID.

        Keyword Args:
            include_geometry_ids (bool): [optional] if omitted the server will use the default value of True
            feature_id ([str]): ID of a feature; repeat query param to add more than one. [optional]
            link_document_id (str): Id of document that links to the document being accessed. This may provide additional access rights to the document. Allowed only with version (v) path parameter.. [optional]
            no_sketch_geometry (bool): Whether or not to output simple sketch info without geometry. [optional] if omitted the server will use the default value of False
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTFeatureListResponse2457
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_part_studio_features_endpoint.call_with_http_info(**kwargs)

    def get_part_studio_mass_properties(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Mass properties of parts or a PartStudio.  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_part_studio_mass_properties(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            link_document_id (str): [optional] if omitted the server will use the default value of ""
            configuration (str): [optional] if omitted the server will use the default value of ""
            rollback_bar_index (int): [optional] if omitted the server will use the default value of -1
            element_microversion_id (str): [optional]
            part_id ([str]): [optional]
            mass_as_group (bool): If true, specified parts will be evaluated as a single object instead of individually. [optional] if omitted the server will use the default value of True
            use_mass_property_overrides (bool): If true, use the user mass property overrides when calculated mass properties. [optional] if omitted the server will use the default value of False
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTMassPropertiesBulkInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_part_studio_mass_properties_endpoint.call_with_http_info(**kwargs)

    def get_part_studio_named_views(
        self,
        did,
        eid,
        **kwargs
    ):
        """Get Named Views  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_part_studio_named_views(did, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            eid (str):

        Keyword Args:
            link_document_id (str): [optional] if omitted the server will use the default value of ""
            skip_perspective (bool): [optional] if omitted the server will use the default value of True
            include_section_cut_views (bool): [optional] if omitted the server will use the default value of False
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTNamedViewsInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['eid'] = \
            eid
        return self.get_part_studio_named_views_endpoint.call_with_http_info(**kwargs)

    def get_part_studio_shaded_views(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Get Shaded Views  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_part_studio_shaded_views(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str): Document ID.
            wvm (str): One of w or v or m corresponding to whether a workspace or version or microversion was entered.
            wvmid (str): Workspace (w), Version (v) or Microversion (m) ID.
            eid (str): Element ID.

        Keyword Args:
            view_matrix (str): 12-number view matrix (comma-separated), or one of the following named views: top, bottom, front, back, left, right The 12 entries in the view matrix form three rows and four columns, which is a linear transformation applied to the model itself. The matrix's first three columns maps the coordinate axes of the model to the coordinate axes of the view, and the fourth column translates the origin (in meters). The view coordinates have x pointing right, y pointing up, and z pointing towards the viewer, while a front view of the model has x pointing right, y pointing away from the viewer, and z pointing up. For example, the identity matrix viewMatrix=1,0,0,0,0,1,0,0,0,0,1,0 corresponds to the top view, and viewMatrix=0.612,0.612,0,0,-0.354,0.354,0.707,0,0.707,-0.707,0.707,0 corresponds (approximately) to the isometric view. The first three columns of the view matrix should be orthonormal and have a positive determinant.  If this is not the case, view behavior may be undefined.. [optional] if omitted the server will use the default value of "front"
            output_height (int): Output image height (in pixels). [optional] if omitted the server will use the default value of 500
            output_width (int): Output image width (in pixels). [optional] if omitted the server will use the default value of 500
            pixel_size (float): Height and width represented by each pixel (in meters). If the value is 0, the display will be sized to fit the output image dimensions.. [optional] if omitted the server will use the default value of 0.003
            edges (str): The treatment to be applied to edges in the display. Options are show: show visible edges, hide: hide visible edges.. [optional] if omitted the server will use the default value of "show"
            show_all_parts (bool): Whether or not all parts should be shown in the element, regardless of user setting. If false, the visibility setting made by the user will be reflected in the image. If true, all parts will be shown.. [optional] if omitted the server will use the default value of False
            include_surfaces (bool): Whether or not surfaces should be shown in the element. It is applicable only when showAllParts is true. If false, surfaces will be excluded. If true, all surfaces will be shown.. [optional] if omitted the server will use the default value of False
            use_anti_aliasing (bool): If true, an anti-aliasing factor will be used to smooth model boundaries in the final image result. If false, the image will be rasterized at the given resolution. Setting to true can have negative performance implications with respect to rendering time and memory usage. If a high-resolution image is requested and anti-aliasing is turned on, the server may not be able to fulfill the request.. [optional] if omitted the server will use the default value of False
            include_wires (bool): [optional] if omitted the server will use the default value of False
            configuration (str): Configuration string.. [optional]
            link_document_id (str): Id of document that links to the document being accessed. This may provide additional access rights to the document. Allowed only with version (v) path parameter.. [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTShadedViewsInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_part_studio_shaded_views_endpoint.call_with_http_info(**kwargs)

    def translate_ids(
        self,
        did,
        wvm,
        wvmid,
        eid,
        btid_translation_params,
        **kwargs
    ):
        """Id Translations  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.translate_ids(did, wvm, wvmid, eid, btid_translation_params, async_req=True)
        >>> result = thread.get()

        Args:
            did (str): Document ID.
            wvm (str): One of w or v or m corresponding to whether a workspace or version or microversion was entered.
            wvmid (str): Workspace (w), Version (v) or Microversion (m) ID.
            eid (str): Element ID.
            btid_translation_params (BTIdTranslationParams):

        Keyword Args:
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTIdTranslationInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        kwargs['btid_translation_params'] = \
            btid_translation_params
        return self.translate_ids_endpoint.call_with_http_info(**kwargs)

    def update_features(
        self,
        did,
        wid,
        eid,
        **kwargs
    ):
        """Update Features  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.update_features(did, wid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str): Document ID.
            wid (str): Workspace ID.
            eid (str): Element ID.

        Keyword Args:
            bt_update_features_call1748 (BTUpdateFeaturesCall1748): feature The serialized feature definition. [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTUpdateFeaturesResponse1333
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wid'] = \
            wid
        kwargs['eid'] = \
            eid
        return self.update_features_endpoint.call_with_http_info(**kwargs)

    def update_part_studio_feature(
        self,
        did,
        wid,
        eid,
        fid,
        **kwargs
    ):
        """Update Feature  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.update_part_studio_feature(did, wid, eid, fid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str): Document ID.
            wid (str): Workspace ID.
            eid (str): Element ID.
            fid (str): The id of the feature being updated. This id should be URL encoded and must match the featureId found in the serialized structure

        Keyword Args:
            bt_feature_definition_call1406 (BTFeatureDefinitionCall1406): feature The serialized feature definition. [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTFeatureDefinitionResponse1617
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wid'] = \
            wid
        kwargs['eid'] = \
            eid
        kwargs['fid'] = \
            fid
        return self.update_part_studio_feature_endpoint.call_with_http_info(**kwargs)

    def update_rollback(
        self,
        did,
        wid,
        eid,
        body,
        **kwargs
    ):
        """Update Feature Rollback  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.update_rollback(did, wid, eid, body, async_req=True)
        >>> result = thread.get()

        Args:
            did (str): Document ID.
            wid (str): Workspace ID.
            eid (str): Element ID.
            body (str): The index at which the rollback index should be placed. Features  with entry index (0-based) higher than or equal to the value are rolled back. Value of -1 is treated  as an alias for \"end of feature list\". Otherwise the value must be in the range 0 to the number of  entries in the feature list

        Keyword Args:
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTSetFeatureRollbackResponse1042
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wid'] = \
            wid
        kwargs['eid'] = \
            eid
        kwargs['body'] = \
            body
        return self.update_rollback_endpoint.call_with_http_info(**kwargs)

