diff --git a/adsk/__init__.py b/adsk/__init__.py index bcb6efc..4708dae 100644 --- a/adsk/__init__.py +++ b/adsk/__init__.py @@ -1,12 +1,12 @@ - -def terminate(): - """Terminate this script. If defined, the module's 'stop' function will be called. If this module is debugging, the debugger is stopped. The script's module and any modules imported relative to this module are removed from sys.modules and released.""" - pass - -def autoTerminate(value): - """Get or set the autoTerminate flag for this module. The current value is returned when called with no arguments. Call with a single Boolean value to set this current value. When set to True (the default), the script will automatically terminate when code execution returns from the module's main block. When set to False, the script's module will remain loaded until 'terminate' is called or the script is externally stopped. Typically, a script that subscribes to events would set this to False after attaching event handlers to events before returning from it's 'run' function.""" - return bool() - -def doEvents(): - """Process any pending system events or messages. This allows the Fusion UI to update and perform any event or message driven operations. This may be useful to avoid blocking UI updates while performing a long operation, or while waiting for asynchronous operations to be processed.""" - pass + +def terminate(): + """Terminate this script. If defined, the module's 'stop' function will be called. If this module is debugging, the debugger is stopped. The script's module and any modules imported relative to this module are removed from sys.modules and released.""" + pass + +def autoTerminate(value): + """Get or set the autoTerminate flag for this module. The current value is returned when called with no arguments. Call with a single Boolean value to set this current value. When set to True (the default), the script will automatically terminate when code execution returns from the module's main block. When set to False, the script's module will remain loaded until 'terminate' is called or the script is externally stopped. Typically, a script that subscribes to events would set this to False after attaching event handlers to events before returning from it's 'run' function.""" + return bool() + +def doEvents(): + """Process any pending system events or messages. This allows the Fusion UI to update and perform any event or message driven operations. This may be useful to avoid blocking UI updates while performing a long operation, or while waiting for asynchronous operations to be processed.""" + pass diff --git a/adsk/cam.py b/adsk/cam.py index bac7b19..56d9662 100644 --- a/adsk/cam.py +++ b/adsk/cam.py @@ -2,35 +2,138 @@ # It does not reflect the actual implementation. from __future__ import annotations +from collections.abc import Iterator from . import core from . import fusion -class InspectionPointState(): +class AdditiveTechnologies(): """ - Summarize state of measured inspection point. - Compares the deviation from the nominal position, or the projected position - (if using projection), to the contact position relative to the upper or lower tolerances. - Further information can be found in the online help + List of technologies a additive machine could have """ def __init__(self): pass - WithinTolerance = 0 - AboveTolerance = 1 - BelowTolerance = 2 - Unprojected = 3 + FFFTechnology = 0 + DEDTechnology = 1 + MPBFTechnology = 2 + MFJTechnology = 3 + BinderJettingTechnology = 4 + SLATechnology = 5 + SLSTechnology = 6 + NATechnology = 7 + OtherTechnology = 8 -class LibraryLocation(): +class AutomaticGenerationModes(): + """ + Defines the automatic generation during the creation of an operation using OperationInput or createFromCAMTemplate2. + """ + def __init__(self): + pass + ForceGeneration = 0 + SkipGeneration = 1 + UserPreference = 2 + +class ExtensionMethods(): + """ + Enum for the types of extension methods for a chain selection. It defines how open curves are extended on their open end. + """ + def __init__(self): + pass + TangentExtensionMethod = 0 + ClosestBoundaryExtensionMethod = 1 + ParallelExtensionMethod = 2 + +class ExtensionTypes(): + """ + Enum for types of extension capping. + """ + def __init__(self): + pass + BoundaryExtensionType = 0 + DistanceExtensionType = 1 + +class FloatParameterValueTypes(): + """ + Defines the type of a FloatParameterValue. + """ + def __init__(self): + pass + UnspecifiedValueType = 0 + LengthValueType = 1 + AngleValueType = 2 + LinearVelocityValueType = 3 + RotationalVelocityValueType = 4 + TimeValueType = 5 + WeightValueType = 6 + PowerValueType = 7 + FlowRateValueType = 8 + AreaValueType = 9 + VolumeValueType = 10 + TemperatureValueType = 11 + +class GeneratedDataType(): + """ + Enum for the identifiers of generated results an OperationBase object can have + """ + def __init__(self): + pass + OptimizedOrientationGeneratedDataType = 0 + +class HoleSegmentType(): + """ + Represents the recognized geometric shape of a hole segment. + """ + def __init__(self): + pass + HoleSegmentTypeCylinder = 0 + HoleSegmentTypeCone = 1 + HoleSegmentTypeFlat = 2 + HoleSegmentTypeTorus = 3 + +class LibraryLocations(): """ List of locations representing folders in the library dialogs. """ def __init__(self): pass - Local = 0 - Cloud = 1 - Network = 2 - OnlineSamples = 3 - External = 4 + LocalLibraryLocation = 0 + CloudLibraryLocation = 1 + NetworkLibraryLocation = 2 + OnlineSamplesLibraryLocation = 3 + ExternalLibraryLocation = 4 + Fusion360LibraryLocation = 5 + +class LoopTypes(): + """ + Enum to define the type of loop for a face contour selection. + """ + def __init__(self): + pass + AllLoops = 0 + OnlyOutsideLoops = 1 + OnlyInsideLoops = 2 + +class MachineAnglePreferences(): + """ + Preference for rotary axis starting angles. + """ + def __init__(self): + pass + MachineAngleNoPreference = 0 + MachineAnglePreferNegative = 1 + MachineAnglePreferPositive = 2 + +class MachineAxisCoordinates(): + """ + Options to control which coordinate is used for post processing, independent of the axis direction. + Instructs the post processor to treat the axis as X, Y, or Z for linear and A, B, or C for rotary. + """ + def __init__(self): + pass + MachineCoordinate_None = 0 + MachineCoordinate_X_A = 1 + MachineCoordinate_Y_B = 2 + MachineCoordinate_Z_C = 3 class MachineAxisTypes(): """ @@ -52,6 +155,17 @@ def __init__(self): ToolAttachmentMachinePartType = 2 FixtureAttachmentMachinePartType = 3 +class MachineResetOptions(): + """ + Axis reset preference options for MachineAxisConfiguration.whenToReset. + """ + def __init__(self): + pass + MachineResetNever = 0 + MachineResetBeforeEveryOperation = 1 + MachineResetOnRewind = 2 + MachineResetBeforeOpAndOnRewind = 3 + class MachineTemplate(): """ List of the machine templates to create a machine from. @@ -65,9 +179,21 @@ def __init__(self): Generic5AxisHeadTable = 4 Generic5AxisTableTable = 5 +class ModifyUtilityTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Types of provided ModifyUtility. + """ + def __init__(self): + pass + AdditiveSetupModifyUtility = 0 + class OperationStates(): """ - The possible states of an operation + The possible states of an operation. Some operations do not generate toolpaths, their state ignores the potential toolpath states. """ def __init__(self): pass @@ -76,61 +202,6 @@ def __init__(self): SuppressedOperationState = 2 NoToolpathOperationState = 3 -class OperationStrategyTypes(): - """ - The valid options for the Strategy Type of an operation. - """ - def __init__(self): - pass - AdaptiveClearing2D = 0 - Pocket2D = 1 - Face = 2 - Contour2D = 3 - Slot = 4 - Trace = 5 - Thread = 6 - Bore = 7 - Circular = 8 - Engrave = 9 - AdaptiveClearing = 10 - PocketClearing = 11 - Parallel = 12 - Contour = 13 - Ramp = 14 - Horizontal = 15 - Pencil = 16 - Scallop = 17 - Spiral = 18 - Radial = 19 - MorphedSpiral = 20 - Projection = 21 - Drilling = 22 - Jet2D = 23 - TurningChamfer = 24 - TurningFace = 25 - TurningGroove = 26 - TurningPart = 27 - TurningProfile = 28 - TurningProfileGroove = 29 - TurningStockTransfer = 30 - TurningThread = 31 - SteepAndShallow = 32 - Flow = 33 - RotaryFinishing = 34 - Chamfer2D = 35 - Morph = 36 - MultiAxisContour = 37 - MultiAxisMorph = 38 - RestFinishing = 39 - Swarf = 40 - SurfaceInspection = 41 - ManualInspection = 42 - ProbeWCS = 43 - ProbeGeometry = 44 - PartAlignment = 45 - PathMeasure = 46 - ManualMeasure = 47 - class OperationTypes(): """ The valid options for the Operation Type of a Setup. @@ -142,6 +213,24 @@ def __init__(self): JetOperation = 2 AdditiveOperation = 3 +class PostCapabilities(): + """ + List of capabilities a post configuration can support. + These capabilities represent either a class of operations (milling, turning, etc.) or some additional functionality (e.g. machine simulation). + """ + def __init__(self): + pass + Undefined = 0 + Milling = 1 + Turning = 2 + SetupSheet = 4 + Intermediate = 8 + Jet = 16 + Cascading = 32 + Additive = 64 + Inspection = 128 + MachineSimulation = 256 + class PostOutputUnitOptions(): """ List of the valid options for the outputUnit property on a PostProcessInput object . @@ -152,6 +241,41 @@ def __init__(self): InchesOutput = 1 MillimetersOutput = 2 +class PostProcessExecutionBehaviors(): + def __init__(self): + pass + PostProcessExecutionBehavior_OmitInvalidAndEmptyOperations = 0 + PostProcessExecutionBehavior_Fail = 1 + PostProcessExecutionBehavior_PostAll = 2 + +class PrintSettingItemTypes(): + """ + Enum that represents the types of CAMParameters. + Represents the General and Exporter parameters type in PrintSetting. + """ + def __init__(self): + pass + GENERAL = 0 + EXPORTER = 1 + +class RecognizedPocketBottomType(): + """ + Types of pocket bottoms that can exist. Flat represents a standard flat bottom with sharp + edges at the walls. (Flat may also have some portions that are through, but may not have any + portions that are chamfered or filleted.) Through represents a pocket with no bottom + anywhere along the boundary and sharp edges at the walls. Chamfer and fillet represent pockets + where that type of feature goes around all edges of the boundary and islands, between the bottom + and the walls. Other represents any other cases, such as a mix of different bottom types for + different edges. + """ + def __init__(self): + pass + RecognizedPocketBottomTypeFlat = 0 + RecognizedPocketBottomTypeThrough = 1 + RecognizedPocketBottomTypeChamfer = 2 + RecognizedPocketBottomTypeFillet = 3 + RecognizedPocketBottomTypeOther = 4 + class SetupChangeEventType(): """ List of setup change event types. @@ -170,9 +294,195 @@ def __init__(self): HTMLFormat = 0 ExcelFormat = 1 +class SetupStockModes(): + """ + List of setup stock modes. + """ + def __init__(self): + pass + FixedBoxStock = 0 + RelativeBoxStock = 1 + FixedCylinderStock = 2 + RelativeCylinderStock = 3 + FixedTubeStock = 4 + RelativeTubeStock = 5 + SolidStock = 6 + PreviousSetupStock = 7 + +class SideTypes(): + """ + Enum for the order of loops. + """ + def __init__(self): + pass + AlwaysOutsideSideType = 0 + AlwaysInsideSideType = 1 + StartOutsideSideType = 2 + StartInsideSideType = 3 + +class SplitSupportTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Split support behavior depending on the type of support. + """ + def __init__(self): + pass + SolidOpenMergedSplitSupportType = 0 + SolidOpenSeparateSplitSupportType = 1 + +class CAM3MFExportMetadataOptions(core.Base): + """ + Class providing read and write access to meta data of a 3MF file. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CAM3MFExportMetadataOptions: + return CAM3MFExportMetadataOptions() + @property + def enabled(self) -> bool: + """ + Enable or disable the integration of Metadata in the 3mf. + This is true by default. + """ + return bool() + @enabled.setter + def enabled(self, value: bool): + """ + Enable or disable the integration of Metadata in the 3mf. + This is true by default. + """ + pass + @property + def title(self) -> str: + """ + Title of the 3MF File + """ + return str() + @title.setter + def title(self, value: str): + """ + Title of the 3MF File + """ + pass + @property + def designer(self) -> str: + """ + Designer of the 3MF File + """ + return str() + @designer.setter + def designer(self, value: str): + """ + Designer of the 3MF File + """ + pass + @property + def description(self) -> str: + """ + Description of the 3MF File + """ + return str() + @description.setter + def description(self, value: str): + """ + Description of the 3MF File + """ + pass + @property + def copyright(self) -> str: + """ + Copyright of the 3MF File + """ + return str() + @copyright.setter + def copyright(self, value: str): + """ + Copyright of the 3MF File + """ + pass + @property + def licenseTerms(self) -> str: + """ + License terms of the 3MF File + """ + return str() + @licenseTerms.setter + def licenseTerms(self, value: str): + """ + License terms of the 3MF File + """ + pass + @property + def creationDate(self) -> str: + """ + Creation date of the 3MF File + """ + return str() + @creationDate.setter + def creationDate(self, value: str): + """ + Creation date of the 3MF File + """ + pass + @property + def modificationDate(self) -> str: + """ + Modification date of the 3MF File + """ + return str() + @modificationDate.setter + def modificationDate(self, value: str): + """ + Modification date of the 3MF File + """ + pass + +class CAMAdditiveBuildExportFilter(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Export filter used by CAMAdditiveMachineBuildFileExportOptions. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CAMAdditiveBuildExportFilter: + return CAMAdditiveBuildExportFilter() + @property + def isMultiFileExport(self) -> bool: + """ + True if the export outputs multiple files. + If so, fullFilename should point to a directory, not a file. + """ + return bool() + @property + def extension(self) -> str: + """ + The extension of the file format, including a leading "." + """ + return str() + @property + def name(self) -> str: + """ + The name of the file format. Might indicate whether a file format is binary or not. + """ + return str() + @property + def id(self) -> str: + """ + The id of the file format. + """ + return str() + class CAMExportManager(core.Base): """ - Export manager used to export the setup's models in one of the formats defined the the ExportOptions objects. + Export manager used to export the setup's models in one of the formats defined the ExportOptions objects. The export is currently restricted to additive setups only and the availability of the export option and its settings depends on the chosen machine. """ def __init__(self): @@ -185,16 +495,23 @@ def execute(self, exportOptions: CAMExportOptions) -> bool: Executes an export based on the export options """ return bool() - def createFormlabsOptions(self) -> CAMFormlabsExportOptions: - """ - Creates a new Formlabs export option. - """ - return CAMFormlabsExportOptions() def create3MFOptions(self) -> CAM3MFExportOptions: """ Creates a new 3MF export option. + Returns new CAM3MFExportOptions. """ return CAM3MFExportOptions() + def createCAMAdditiveBuildExportOptions(self) -> CAMAdditiveBuildExportOptions: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Creates a new export option based on the print setting's export formats. + FFF and DED machines are not supported, their export files are generated using posts. + Returns new CAMAdditiveBuildExportOptions. + """ + return CAMAdditiveBuildExportOptions() class CAMExportOptions(core.Base): """ @@ -229,6 +546,34 @@ def exportObject(self, value: core.Base): The export object we want to export. Depending on the actual export option, this might be geometry, an operation or a setup. """ pass + @property + def thumbnailPath(self) -> str: + """ + Path to the thumbnail for the buildfile + """ + return str() + @thumbnailPath.setter + def thumbnailPath(self, value: str): + """ + Path to the thumbnail for the buildfile + """ + pass + @property + def isThumbnailSupported(self) -> bool: + """ + Method to check if the exporter implementation supports thumbnail + """ + return bool() + @property + def error(self) -> str: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets the last encountered error message. Returns an empty string if no errors have been found. + """ + return str() class CAMFolders(core.Base): """ @@ -239,6 +584,12 @@ def __init__(self): @staticmethod def cast(arg) -> CAMFolders: return CAMFolders() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CAMFolder: + return None + def __iter__(self) -> Iterator[CAMFolder]: + return None def item(self, index: int) -> CAMFolder: """ Function that returns the specified folder using an index into the collection. @@ -267,35 +618,74 @@ def count(self) -> int: """ return int() -class CAMInspectionResults(core.Base): +class CAMLibrary(core.Base): """ - Collection that provides access to the Measures in a results folder. + The CAMLibrary is the base-class for all other asset-specific libraries. """ def __init__(self): pass @staticmethod - def cast(arg) -> CAMInspectionResults: - return CAMInspectionResults() - def item(self, index: int) -> CAMMeasure: + def cast(arg) -> CAMLibrary: + return CAMLibrary() + def urlByLocation(self, location: LibraryLocations) -> core.URL: """ - Function that returns the specified measure using an index into the collection. - index : The index of the item within the collection to return. The first item in the collection has an index of 0. - Returns the specified item or null if an invalid index was specified. + Get the URL for a given LibraryLocations. + location : The LibraryLocations to be converted into an URL. + Returns the URL for given location. + """ + return core.URL() + def displayName(self, url: core.URL) -> str: + """ + Get the localized display name for a given URL. The URL must point to a folder. + url : The URL that defines the path to a folder. + Returns localized display name for the folder. Returns empty string for invalid URL. """ - return CAMMeasure() - def itemByName(self, name: str) -> CAMMeasure: + return str() + def childFolderURLs(self, url: core.URL) -> list[core.URL]: + """ + Get all library folders under given URL. + url : The URL to the parent folder. + Returns list of folder URLs at given location. + """ + return [core.URL()] + def childAssetURLs(self, url: core.URL) -> list[core.URL]: + """ + Get all assets under given URL. + url : The URL to the parent folder. + Returns list of asset URLs at given location. + """ + return [core.URL()] + def deleteFolder(self, url: core.URL) -> bool: + """ + Delete folder by URL from the library. Any content of the folder will also be deleted. + Throw an error if given URL does not point to a valid folder or the URL is read-only. + url : The URL to the folder that should be removed. + Returns true if folder was deleted successfully, false otherwise + """ + return bool() + def deleteAsset(self, url: core.URL) -> bool: """ - Returns the measure with the specified name (as appears in the browser). - name : The name (as it appears in the browser) of the measure. - Returns the specified measure or null in the case where there is no measure with the specified name. + Delete asset by URL from the library. + Throw an error if given URL does not point to a valid asset or the URL is read-only. + url : The URL to the asset that should be removed. + Returns true if asset was deleted successfully, false otherwise """ - return CAMMeasure() + return bool() + def createFolder(self, parentUrl: core.URL, folderName: str) -> core.URL: + """ + Create a new folder in the library. Create the folder under given parent URL with given folder name. Add counting suffix, in case a folder with given name already exists. + Throw an error if given URL does not point to a valid folder or the URL is read-only. Also throws an error if given folder name is empty. + parentUrl : The parent URL for the folder to be created. + folderName : Name of the new folder to be created. Must not be empty. + Returns the URL to the newly created folder + """ + return core.URL() @property - def count(self) -> int: + def assetTypeName(self) -> str: """ - The number of measures in the collection. + Get the name of the asset type which can be accessed by the library. """ - return int() + return str() class CAMLibraryManager(core.Base): """ @@ -308,40 +698,42 @@ def __init__(self): def cast(arg) -> CAMLibraryManager: return CAMLibraryManager() @property - def fusion360PostFolder(self) -> str: + def networkMachineFolder(self) -> str: """ - Gets the absolute path to the folder containing Fusion 360 posts. Fusion 360 posts - appear in the post library under the Fusion 360 tab. + Gets the absolute path to the folder containing network machines. Network machines + appear in the machine library under the network tab. """ return str() @property - def localPostFolder(self) -> str: + def machineLibrary(self) -> MachineLibrary: """ - Gets the absolute path to the folder containing local posts. Local posts appear - in post library under the local tab. + The MachineLibrary provides access to machines. """ - return str() + return MachineLibrary() @property - def fusion360MachineFolder(self) -> str: + def toolLibraries(self) -> ToolLibraries: """ - Gets the absolute path to the folder containing Fusion 360 machines. Fusion 360 - machines appear in the machine library under the Fusion 360 tab. + The ToolLibraries provides access to tools. """ - return str() + return ToolLibraries() @property - def localMachineFolder(self) -> str: + def templateLibrary(self) -> CAMTemplateLibrary: """ - Gets the absolute path to the folder containing local machines. Local Machines appear - in machine library under the local tab. + The CAMTemplateLibrary provides access to templates """ - return str() + return CAMTemplateLibrary() @property - def networkMachineFolder(self) -> str: + def printSettingLibrary(self) -> PrintSettingLibrary: """ - Gets the absolute path to the folder containing network machines. Network machines - appear in the machine library under the network tab. + The PrintSettingLibrary provides access to print settings. """ - return str() + return PrintSettingLibrary() + @property + def postLibrary(self) -> PostLibrary: + """ + The PostLibrary provides access to postConfigurations. + """ + return PostLibrary() class CAMManager(core.Base): """ @@ -377,30 +769,11 @@ def postEnginePath(self) -> str: @property def networkMachineIntegrationManager(self) -> NetworkMachineIntegrationManager: """ - NetworkMachineIntegrationManager provides access to properties and events needed to - integrate addins into the 'Find network machines' dialog, which enables users to add - machine configurations representing machines on the network to their machine library. + Gets the NetworkMachineIntegrationManager needed to integrate add-ins into the 'Find network machines' dialog. T Return a NetworkMachineIntegrationManager object or null if it failed. """ return NetworkMachineIntegrationManager() -class CAMMeasure(core.Base): - """ - Object that represents a Measure folder. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CAMMeasure: - return CAMMeasure() - @property - def inspectionPathResults(self) -> InspectionPathResults: - """ - Access all the surface inspection results from a measure - return a collection of surface inspection results from a measure or null if none found - """ - return InspectionPathResults() - class CAMParameter(core.Base): """ Base class for representing parameter of an operation. @@ -464,20 +837,6 @@ def isEditable(self) -> bool: def value(self) -> ParameterValue: """ Returns an object that allows you to get and set the value associated with the parameter. - Within CAM operations, floating point values (via FloatParameterValue) are returned - and set using a standardized set of "internal" units, rather than using the document units. - The units used depend on the type of parameter. For reference, the units used are: - Length - centimeters (cm) - Angle - radians (rad) - Linear velocity - millimeters/minute (mm/min) - Rotational velocity - revolutions per minute (rpm) - Time - seconds (s) - Weight - kilograms (kg) - Power - Watts (W) - Flow rate - liters/minute (l/min) - Area - square centimeters (cm²) - Volume - cubic centimeters (cm³) - Temperature - degrees celsius (C) """ return ParameterValue() @@ -490,6 +849,12 @@ def __init__(self): @staticmethod def cast(arg) -> CAMParameters: return CAMParameters() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CAMParameter: + return None + def __iter__(self) -> Iterator[CAMParameter]: + return None def item(self, index: int) -> CAMParameter: """ Function that returns the specified parameter using an index into the collection. @@ -520,6 +885,12 @@ def __init__(self): @staticmethod def cast(arg) -> CAMPatterns: return CAMPatterns() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CAMPattern: + return None + def __iter__(self) -> Iterator[CAMPattern]: + return None def item(self, index: int) -> CAMPattern: """ Function that returns the specified pattern using an index into the collection. @@ -548,23 +919,111 @@ def count(self) -> int: """ return int() -class ChildOperationList(core.Base): +class CAMTemplate(core.Base): """ - Provides access to the collection of child operations, folders and patterns of an existing setup. + Object that represents a template for a set of operations. These can be created from operations, + optionally stored to files or in a library. The template can be used to re-create those operations + in another document. """ def __init__(self): pass @staticmethod - def cast(arg) -> ChildOperationList: - return ChildOperationList() - def item(self, index: int) -> core.Base: + def cast(arg) -> CAMTemplate: + return CAMTemplate() + @staticmethod + def createFromXML(xml: str) -> CAMTemplate: """ - Returns the specified item using an index into the collection. - index : The index of the item within the collection to return. The first item in the collection has an index of 0. - Returns the specified item or null if an invalid index was specified. + Creates a CAMTemplate from an XML string. Invalid template XML will produce errors + xml : The XML representation to act as a base for creating a template. + Returns the newly created template. """ - return core.Base() - def itemByName(self, name: str) -> core.Base: + return CAMTemplate() + @staticmethod + def createFromOperations(operations: list[Operation]) -> CAMTemplate: + """ + Create a CAMTemplate from a list of Operations + operations : An array of operations to bundle into a template. + Returns the newly created template. + """ + return CAMTemplate() + @staticmethod + def createHoleTemplateFromOperations(operations: list[Operation]) -> CAMTemplate: + """ + Create a hole CAMTemplate from a list of hole operations. Hole templates may be used in Hole Recognition + operations : A list of operations to bundle into a template. Only 2D Adaptive, 2D Chamfer, 2D Contour, 2D Pocket, Bore, + Circular, Drill and Thread operations are allowed in hole templates. Passing in other operation types will throw an error. + Returns the newly created template. + """ + return CAMTemplate() + @staticmethod + def createFromFile(filePath: str) -> CAMTemplate: + """ + Create a CAMTemplate from a file on disk, i.e. Import the template file. Invalid files will produce errors + filePath : The path to a template file. + Returns the newly created template. + """ + return CAMTemplate() + def save(self, filePath: str) -> bool: + """ + Save the CAMTemplate to a file + filePath : The path to the file you wish to save + Returns true if the template was saved successfully, false otherwise. + """ + return bool() + @property + def name(self) -> str: + """ + Gets and sets the name of the template. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of the template. + """ + pass + @property + def description(self) -> str: + """ + Gets and sets the description of the template. + """ + return str() + @description.setter + def description(self, value: str): + """ + Gets and sets the description of the template. + """ + pass + @property + def isHoleTemplate(self) -> bool: + """ + Whether or not this is a hole template + """ + return bool() + +class ChildOperationList(core.Base): + """ + Provides access to the collection of child operations, folders and patterns of an existing setup. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ChildOperationList: + return ChildOperationList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> core.Base: + return None + def __iter__(self) -> Iterator[core.Base]: + return None + def item(self, index: int) -> core.Base: + """ + Returns the specified item using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return core.Base() + def itemByName(self, name: str) -> core.Base: """ Returns the operation, folder or pattern with the specified name (the name seen in the browser). name : The name of the operation, folder or pattern as seen in the browser. @@ -585,182 +1044,247 @@ def count(self) -> int: """ return int() -class CreateMachineConfigurationsEventHandler(core.EventHandler): +class CreateFromCAMTemplateInput(core.Base): """ - Event handler for the CreateMachineConfigurationsEvent. + Object that contains the settings used by createFromCAMTemplate. """ def __init__(self): pass @staticmethod - def cast(arg) -> CreateMachineConfigurationsEventHandler: - return CreateMachineConfigurationsEventHandler() - def notify(self, eventArgs: CreateMachineConfigurationsEventArgs) -> None: + def cast(arg) -> CreateFromCAMTemplateInput: + return CreateFromCAMTemplateInput() + @staticmethod + def create() -> CreateFromCAMTemplateInput: """ - The function called by Fusion 360 when the associated event is fired. - eventArgs : Returns an object that provides access to additional information associated with the event. + Creates an empty input object to be passed into createFromCAMTemplate + The newly created input object. + """ + return CreateFromCAMTemplateInput() + @property + def camTemplate(self) -> CAMTemplate: + """ + Gets and sets the template to be instantiated. + """ + return CAMTemplate() + @camTemplate.setter + def camTemplate(self, value: CAMTemplate): + """ + Gets and sets the template to be instantiated. + """ + pass + @property + def mode(self) -> AutomaticGenerationModes: + """ + Gets and sets the mode to be used for generation. Defaults to Skip Generation. + """ + return AutomaticGenerationModes() + @mode.setter + def mode(self, value: AutomaticGenerationModes): + """ + Gets and sets the mode to be used for generation. Defaults to Skip Generation. """ pass -class GenerateToolpathFuture(core.Base): +class CurveSelections(core.Base): """ - Used to check the state and get back the results of toolpath generation. + Collection for all curve selections to be passed to a CadContours2DParameterValue object. + This is a read-only container. It returns the curve selections associated with the parent parameter value object, but does not write to it. + To apply changes done to the collection and the selections it contains, CadContours2DParameterValue.applyCurveSelections(this) needs to be called. """ def __init__(self): pass @staticmethod - def cast(arg) -> GenerateToolpathFuture: - return GenerateToolpathFuture() - @property - def numberOfOperations(self) -> int: + def cast(arg) -> CurveSelections: + return CurveSelections() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CurveSelection: + return None + def __iter__(self) -> Iterator[CurveSelection]: + return None + def item(self, index: int) -> CurveSelection: + """ + Function that returns the specified curve selection object using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. """ - Returns a number of operations need to be generated. + return CurveSelection() + def clear(self) -> None: """ - return int() - @property - def numberOfCompleted(self) -> int: + Clears all entries. """ - Returns a number of operations whose toolpath generation are completed. + pass + def createNewChainSelection(self) -> ChainSelection: """ - return int() - @property - def operations(self) -> Operations: + Creates a new chain selection and adds it to the end of the collection. + Returns newly created ChainSelection. """ - Returns all operations that need to be generated. + return ChainSelection() + def createNewFaceContourSelection(self) -> FaceContourSelection: """ - return Operations() + Creates a new face contour selection and adds it to the end of the collection. + Returns newly created FaceContourSelection. + """ + return FaceContourSelection() + def createNewSilhouetteSelection(self) -> SilhouetteSelection: + """ + Creates a new silhouette selection and adds it to the end of the collection. + Returns newly created SilhouetteSelection. + """ + return SilhouetteSelection() + def createNewPocketSelection(self) -> PocketSelection: + """ + Creates a new pocket selection and adds it to the end of the collection. + Returns newly created PocketSelection. + """ + return PocketSelection() + def createNewSketchSelection(self) -> SketchSelection: + """ + Creates a new sketch selection and adds it to the end of the collection. + """ + return SketchSelection() + def createNewPocketRecognitionSelection(self) -> PocketRecognitionSelection: + """ + Creates a new pocket recognition selection and adds it to the end of the collection. + """ + return PocketRecognitionSelection() @property - def isGenerationCompleted(self) -> bool: + def count(self) -> int: """ - Returns true if all operations are generated. + The number of items in the collection. """ - return bool() + return int() -class InspectionPathResult(core.Base): +class GeneratedData(core.Base): """ - Class to represent measured results from an surface inspection path. + Parent class of all generated data classes. Acts like a void pointer for the entries in the OperationBase.GeneratedDataCollection property. """ def __init__(self): pass @staticmethod - def cast(arg) -> InspectionPathResult: - return InspectionPathResult() - @property - def pointResults(self) -> InspectionPointResults: - """ - return all the point results for the path. - """ - return InspectionPointResults() + def cast(arg) -> GeneratedData: + return GeneratedData() -class InspectionPathResults(core.Base): +class GeneratedDataCollection(core.Base): """ - collection of inspection paths results. + Collection can hold multiple GeneratedData results for a particular operation, setup or folder. + In the case of folders and setups, the data associated with the child operations is not added to the collection. + In most cases folders and setups will not have any items in the collection, whereas most operations will only have one. """ def __init__(self): pass @staticmethod - def cast(arg) -> InspectionPathResults: - return InspectionPathResults() - def item(self, index: int) -> InspectionPathResult: + def cast(arg) -> GeneratedDataCollection: + return GeneratedDataCollection() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> GeneratedData: + return None + def __iter__(self) -> Iterator[GeneratedData]: + return None + def item(self, index: int) -> GeneratedData: """ - Function that returns the specified InspectionPathResult using an index into the collection. - index : The index of the item within the collection to return. The first item in the collection has an index of 0. - Returns the specified item or null if an invalid index was specified. + Gets the desired generated data at the given index. + """ + return GeneratedData() + def itemByIdentifier(self, resultType: GeneratedDataType) -> GeneratedData: """ - return InspectionPathResult() + Gets the desired generated data. Generated result objects are unique for a given identifier, but may contain any number of child objects. + """ + return GeneratedData() @property def count(self) -> int: """ - The number of InspectionPathResult in the collection. + The number of items in the collection. """ return int() -class InspectionPointResult(core.Base): +class GenerateToolpathFuture(core.Base): """ - Class to represent an inspection point's measured result. - These are created as a result of probing a surface inspection path. - For each point on the surface inspection path, the nominal position is - the contact position on the CAD model. The measured 'contact point' is - recorded when probing and a notional projected point can be calculated - on the CAD model. The error is calculated as the deviation from the - nominal over and above the tolerance. - All values are in the Fusion's internal units which for positional and length values is CM. + Used to check the state and get back the results of an operation generation. """ def __init__(self): pass @staticmethod - def cast(arg) -> InspectionPointResult: - return InspectionPointResult() - @property - def nominalPosition(self) -> core.Point3D: - """ - get the nominal position of the inspection point. - """ - return core.Point3D() - @property - def projectedPoint(self) -> core.Point3D: - """ - get the projected position of the measured point. - """ - return core.Point3D() + def cast(arg) -> GenerateToolpathFuture: + return GenerateToolpathFuture() @property - def contact(self) -> core.Point3D: + def numberOfOperations(self) -> int: """ - get the contact position of the inspection point. + Returns the number of operations that need to be generated. """ - return core.Point3D() + return int() @property - def offset(self) -> float: + def numberOfCompleted(self) -> int: """ - get offset associated with the inspection point. + Returns the number of operations whose generation is complete. """ - return float() + return int() @property - def delta(self) -> core.Vector3D: + def operations(self) -> Operations: """ - get the deviation vector of the measured point from nominal. + Returns a collection of all operations that need to be generated. """ - return core.Vector3D() + return Operations() @property - def deviation(self) -> float: + def isGenerationCompleted(self) -> bool: """ - get the deviation of the measured point. + Returns true if all operations are generated. """ - return float() + return bool() @property - def error(self) -> float: + def numberOfTasks(self) -> int: """ - get the error of the measured point adjusting by the allowable tolerance. + Returns the number of tasks of operations that need to be generated. """ - return float() + return int() @property - def state(self) -> InspectionPointState: + def numberOfCompletedTasks(self) -> int: """ - Get the state of the result. + Returns the number of tasks of operations whose generation is complete. """ - return InspectionPointState() + return int() -class InspectionPointResults(core.Base): +class GeometrySelection(core.Base): """ - collection of inspection point results + Base parent class for all selection classes. All selections are currently restricted to B-Rep entities or sketches. """ def __init__(self): pass @staticmethod - def cast(arg) -> InspectionPointResults: - return InspectionPointResults() - def item(self, index: int) -> InspectionPointResult: + def cast(arg) -> GeometrySelection: + return GeometrySelection() + @property + def value(self) -> list[core.Base]: """ - Function that returns the specified InspectionPointResult using an index into the collection. - index : The index of the item within the collection to return. The first item in the collection has an index of 0. - Returns the specified item or null if an invalid index was specified. + Returns the resulting value of the selection. In general, this returns the input selection, but child classes can override the return value if needed. + Refer to the child classes comments for further details. The collection may contain duplicates. """ - return InspectionPointResult() + return [core.Base()] @property - def count(self) -> int: + def hasWarning(self) -> bool: """ - The number of InspectionPointResult in the collection. + Gets if warnings were encountered when applying the selection to a parent. """ - return int() + return bool() + @property + def hasError(self) -> bool: + """ + Gets if errors were encountered when applying the selection to a a parent. + """ + return bool() + @property + def warning(self) -> str: + """ + Gets the last warning string encountered after the selection was applied to a parent. + """ + return str() + @property + def error(self) -> str: + """ + Gets the last warning string encountered after the selection was applied to a parent. + """ + return str() class Machine(core.Base): """ @@ -780,7 +1304,7 @@ def createFromTemplate(machineTemplate: MachineTemplate) -> Machine: """ return Machine() @staticmethod - def createFromFile(location: LibraryLocation, filePath: str) -> Machine: + def createFromFile(location: LibraryLocations, filePath: str) -> Machine: """ Creates a Machine from a file. location : The location in the machine library. @@ -790,16 +1314,19 @@ def createFromFile(location: LibraryLocation, filePath: str) -> Machine: Returns the newly created machine with a valid kinematics tree. """ return Machine() - def save(self, location: LibraryLocation, filePath: str) -> bool: + @staticmethod + def create(machineInput: MachineInput) -> Machine: """ - Save the Machine to a file. - Any subsequent edits will need to be saved again. - location : The location in the machine library to save the machine to. - filePath : The path of the file to save the machine as. - The path is relative to the library location given, unless library location is External, - then the filePath is expected to be an absolute path. - .machine will be appended if no extension is given. - Returns true if the machine was saved successfully, false otherwise. + Creates a machine from a "MachineInput" input object + machineInput : Input object that is used to hold the details needed for creating a machine. + Returns the newly created machine in a valid state. + """ + return Machine() + def equivalentTo(self, machine: Machine) -> bool: + """ + Checks if the machine is equivalent to this one. + machine : The machine to compare this one to + True if the machines are equivalent """ return bool() @property @@ -852,11 +1379,32 @@ def capabilities(self) -> MachineCapabilities: """ return MachineCapabilities() @property - def kinematics(self) -> MachineKinematics: + def hasPost(self) -> bool: + """ + Checks if the machine has a post. + Returns a boolean telling if the Machine has a post assigned. + """ + return bool() + @property + def postURL(self) -> core.URL: + """ + Gets or sets the URL of the post assigned to the machine. + Returns a string with the URL of the post assigned to the machine. + """ + return core.URL() + @postURL.setter + def postURL(self, value: core.URL): + """ + Gets or sets the URL of the post assigned to the machine. + Returns a string with the URL of the post assigned to the machine. + """ + pass + @property + def elements(self) -> MachineElements: """ - Gets the kinematics tree of the machine. + Gets the list of elements that make up this machine. """ - return MachineKinematics() + return MachineElements() class MachineAxis(core.Base): """ @@ -892,53 +1440,171 @@ def hasLimits(self) -> bool: """ return bool() @property - def physicalMin(self) -> float: + def homePosition(self) -> float: """ - The minimum possible value for this axis (in mm/deg). - Must be less than physicalMax. - Set the value of this and physicalMax to 0 to remove - axis limits. + Specifies the value that this axis returns to when the machine is homed. + Units are cm for linear axes or radians for rotary axes. """ return float() - @physicalMin.setter - def physicalMin(self, value: float): + @homePosition.setter + def homePosition(self, value: float): + """ + Specifies the value that this axis returns to when the machine is homed. + Units are cm for linear axes or radians for rotary axes. + """ + pass + @property + def physicalRange(self) -> MachineAxisRange: + """ + Range of possible values for this axis. + Units are cm for linear axes or radians for rotary axes. + """ + return MachineAxisRange() + @physicalRange.setter + def physicalRange(self, value: MachineAxisRange): + """ + Range of possible values for this axis. + Units are cm for linear axes or radians for rotary axes. + """ + pass + +class MachineAxisConfiguration(core.Base): + """ + MachineAxisConfiguration holds controller settings that differ for each axis. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachineAxisConfiguration: + return MachineAxisConfiguration() + def deleteMe(self) -> None: + """ + Delete this axis configuration from the controller configuration. + """ + pass + @property + def partId(self) -> str: + """ + ID of the part in the KinematicsMachineElement that this axis configuration modifies. """ - The minimum possible value for this axis (in mm/deg). - Must be less than physicalMax. - Set the value of this and physicalMax to 0 to remove - axis limits. + return str() + @property + def type(self) -> MachineAxisTypes: + """ + The type of this axis configuration. Use this to inform a cast to the derived types. + """ + return MachineAxisTypes() + @property + def isReversed(self) -> bool: + """ + Does the axis move in the opposite direction to usual. For rotary axes this would mean it + uses the left hand rule, and for linear axes is moves in the opposite direction. + """ + return bool() + @isReversed.setter + def isReversed(self, value: bool): + """ + Does the axis move in the opposite direction to usual. For rotary axes this would mean it + uses the left hand rule, and for linear axes is moves in the opposite direction. """ pass @property - def physicalMax(self) -> float: + def maxNormalSpeed(self) -> float: """ - The maximum possible value for this axis (in mm/deg). - Must be less than physicalMin. - Set the value of this and physicalMin to 0 to remove - axis limits. + Specifies the maximum normal speed for this axis. + This would be called feedrate for a linear axis or rotary speed for a rotary axis. + Units are cm/s for linear axes or rad/s for rotary axes. """ return float() - @physicalMax.setter - def physicalMax(self, value: float): + @maxNormalSpeed.setter + def maxNormalSpeed(self, value: float): """ - The maximum possible value for this axis (in mm/deg). - Must be less than physicalMin. - Set the value of this and physicalMin to 0 to remove - axis limits. + Specifies the maximum normal speed for this axis. + This would be called feedrate for a linear axis or rotary speed for a rotary axis. + Units are cm/s for linear axes or rad/s for rotary axes. """ pass @property - def homePosition(self) -> float: + def maxRapidSpeed(self) -> float: """ - Specifies the value (in mm/deg) that this axis returns to when the machine is homed. + Specifies the maximum rapid speed for this axis. + This would be called feedrate for a linear axis or rotary speed for a rotary axis. + Units are cm/s for linear axes or rad/s for rotary axes. """ return float() - @homePosition.setter - def homePosition(self, value: float): + @maxRapidSpeed.setter + def maxRapidSpeed(self, value: float): + """ + Specifies the maximum rapid speed for this axis. + This would be called feedrate for a linear axis or rotary speed for a rotary axis. + Units are cm/s for linear axes or rad/s for rotary axes. + """ + pass + @property + def coordinate(self) -> MachineAxisCoordinates: + """ + Coordinate to use for post processing. """ - Specifies the value (in mm/deg) that this axis returns to when the machine is homed. + return MachineAxisCoordinates() + @coordinate.setter + def coordinate(self, value: MachineAxisCoordinates): """ + Coordinate to use for post processing. + """ + pass + +class MachineAxisConfigurations(core.Base): + """ + Collection of axis configuration objects. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> MachineAxisConfigurations: + return MachineAxisConfigurations() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MachineAxisConfiguration: + return None + def __iter__(self) -> Iterator[MachineAxisConfiguration]: + return None + def addLinear(self, partId: str) -> LinearMachineAxisConfiguration: + """ + Add a new linear axis configuration for a kinematics part. + partId : ID used to label this axis configuration and link to a part in the kinematics tree. + partID must match a part of type AxisMachinePartType in the kinematics tree and the part must be a linear axis. + Returns the newly created LinearMachineAxisConfiguration or null if creation failed. + """ + return LinearMachineAxisConfiguration() + def addRotary(self, partId: str) -> RotaryMachineAxisConfiguration: + """ + Add a new rotary axis configuration for a kinematics part. + partId : ID used to label this axis configuration and link to a part in the kinematics tree. + partID must match a part of type AxisMachinePartType in the kinematics tree and the part must be a rotary axis. + Returns the newly created RotaryMachineAxisConfiguration or null if creation failed. + """ + return RotaryMachineAxisConfiguration() + def item(self, index: int) -> MachineAxisConfiguration: + """ + Get the configuration at index in this collection + index : Index of configuration. + Returns the MachineAxisConfiguration at index. + """ + return MachineAxisConfiguration() + def itemById(self, id: str) -> MachineAxisConfiguration: + """ + Get the configuration with the given ID + id : The ID for the configuration to get. + Return the MachineAxisConfiguration with the given ID, or null if the given ID does not + match any configuration in the collection. + """ + return MachineAxisConfiguration() + @property + def count(self) -> int: + """ + Get the number of configurations in the collection. + """ + return int() class MachineAxisInput(core.Base): """ @@ -972,47 +1638,81 @@ def name(self, value: str): @property def homePosition(self) -> float: """ - Specifies the value (in mm/deg) that this axis returns to when the machine is homed. + Specifies the value that this axis returns to when the machine is homed. + Units are cm for linear axes or radians for rotary axes. """ return float() @homePosition.setter def homePosition(self, value: float): """ - Specifies the value (in mm/deg) that this axis returns to when the machine is homed. + Specifies the value that this axis returns to when the machine is homed. + Units are cm for linear axes or radians for rotary axes. """ pass @property - def physicalMin(self) -> float: + def physicalRange(self) -> MachineAxisRange: """ - The minimum possible value for this axis (in mm/deg). - Set the value of this and physicalMax to 0 to create an - unlimited axis. + Range of possible values for this axis. + Units are cm for linear axes or radians for rotary axes. """ - return float() - @physicalMin.setter - def physicalMin(self, value: float): + return MachineAxisRange() + @physicalRange.setter + def physicalRange(self, value: MachineAxisRange): """ - The minimum possible value for this axis (in mm/deg). - Set the value of this and physicalMax to 0 to create an - unlimited axis. + Range of possible values for this axis. + Units are cm for linear axes or radians for rotary axes. """ pass + +class MachineAxisRange(core.Base): + """ + Class representing limits of motion for a machine axis. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachineAxisRange: + return MachineAxisRange() + @staticmethod + def create(min: float, max: float) -> MachineAxisRange: + """ + Creates a new range object with limited extents. + Requires min to be less than or equal to max. + Types of the fields depend on where this range is being used. Centimeters are used for distances and radians for angles. + min : New minimum value for range. + max : New maximum value for range. + A new range object. Returns null if validation fails. + """ + return MachineAxisRange() + @staticmethod + def createInfinite() -> MachineAxisRange: + """ + Creates a new unbounded range object. + A new range object. + """ + return MachineAxisRange() @property - def physicalMax(self) -> float: + def min(self) -> float: """ - The maximum possible value for this axis (in mm/deg). - Set the value of this and physicalMin to 0 to create an - unlimited axis. + Minimum value of range. + Type depends on where this range is being used. Centimeters are used for distances and radians for angles. + Returns -infinity if this range is infinite. """ return float() - @physicalMax.setter - def physicalMax(self, value: float): + @property + def max(self) -> float: """ - The maximum possible value for this axis (in mm/deg). - Set the value of this and physicalMin to 0 to create an - unlimited axis. + Maximum value of range + Type depends on where this range is being used. Centimeters are used for distances and radians for angles. + Returns infinity if this range is infinite. """ - pass + return float() + @property + def isInfinite(self) -> bool: + """ + Is the range infinite. + """ + return bool() class MachineCapabilities(core.Base): """ @@ -1059,130 +1759,119 @@ def isCuttingSupported(self, value: bool): Gets and sets if the machine is capable of subtractive cutting. """ pass + @property + def isAdditiveSupported(self) -> bool: + """ + Gets and sets if the machine is capable of additive operations. + """ + return bool() + @isAdditiveSupported.setter + def isAdditiveSupported(self, value: bool): + """ + Gets and sets if the machine is capable of additive operations. + """ + pass + @property + def additiveTechnology(self) -> AdditiveTechnologies: + """ + Gets which additive technology the machine supports. + Return "NA" if the machine does not support Additive + """ + return AdditiveTechnologies() -class MachineDescription(core.Base): +class MachineElement(core.Base): """ - A description of a machine used to preview machines in the 'Find network machines' dialog + Base class for objects that compose a machine. """ def __init__(self): pass @staticmethod - def cast(arg) -> MachineDescription: - return MachineDescription() - @staticmethod - def create(vendor: str, model: str, ipAddress: str) -> MachineDescription: + def cast(arg) -> MachineElement: + return MachineElement() + @property + def elementId(self) -> str: """ - Creates a new MachineDescription. - vendor : The machine vendor. - model : The machine model. - ipAddress : The machine's ipv4 ip address. - Returns the newly created MachineDescription object, and allocates a unique id for the - object, or null if the creation failed. + Identifier for this element. Unique within an element type. """ - return MachineDescription() + return str() @property - def id(self) -> int: + def typeId(self) -> str: """ - Gets this MachineDescription's unique id. This id can be used to match - MachineDescription objects provided during the SearchNetworkMachinesEvent with those - requested to create machine configurations for during the CreateMachineConfigurations - event. - """ - return int() - @property - def vendor(self) -> str: - """ - Gets and sets the vendor name of the machine. - """ - return str() - @vendor.setter - def vendor(self, value: str): - """ - Gets and sets the vendor name of the machine. - """ - pass - @property - def model(self) -> str: - """ - Gets and sets the model name of the machine. - """ - return str() - @model.setter - def model(self, value: str): - """ - Gets and sets the model name of the machine. - """ - pass - @property - def ipAddress(self) -> str: - """ - Gets and sets the ip address of the machine. - """ - return str() - @ipAddress.setter - def ipAddress(self, value: str): - """ - Gets and sets the ip address of the machine. - """ - pass - @property - def control(self) -> str: - """ - Gets and sets the controller name of the machine. Controller info is not displayed if - not set. + Identifier for this type of machine element. """ return str() - @control.setter - def control(self, value: str): - """ - Gets and sets the controller name of the machine. Controller info is not displayed if - not set. - """ + +class MachineElements(core.Base): + """ + Collection of machine elements. + These elements contain the properties that define the machine. + """ + def __init__(self): pass - @property - def iconPath(self) -> str: - """ - Gets and sets the absolute path to the 128x128 png image of the machine. A default - image is used if not set. - """ - return str() - @iconPath.setter - def iconPath(self, value: str): - """ - Gets and sets the absolute path to the 128x128 png image of the machine. A default - image is used if not set. + @staticmethod + def cast(arg) -> MachineElements: + return MachineElements() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MachineElement: + return None + def __iter__(self) -> Iterator[MachineElement]: + return None + def item(self, index: int) -> MachineElement: + """ + Get the element at a particular index in the collection. + index : Index of element. + Returns the element at the given index. + """ + return MachineElement() + def defaultItemByType(self, typeId: str) -> MachineElement: + """ + Returns the default item of the given type. + In most cases this will be the element with an element ID of "default". + typeId : Element typeId to get the default for. See staticTypeId for the desired element type. + Returns the specified Element or null if no matching type ID is found. + """ + return MachineElement() + def itemsByType(self, typeId: str) -> list[MachineElement]: + """ + Gets the element of specified type. + typeId : Element typeId to filter. See staticTypeId for the desired element type. + Returns a list of elements filtered to the specified type or an empty array if there is no match with the specified typeId. + """ + return [MachineElement()] + def itemById(self, typeId: str, elementId: str) -> MachineElement: + """ + Gets an element of a specific type by ID. + typeId : Element typeId to filter. See staticTypeId for the desired element type. + elementId : Element ID to select. + Returns an element of the desired type with the specified ID or null in the case where no match is found. + """ + return MachineElement() + def countByType(self, typeId: str) -> int: + """ + Number of elements of specified type. + typeId : Element typeId to filter. See staticTypeId for the desired element type. + Returns the number of elements of the requested type. Returns zero if no elements match the specified type ID. """ - pass + return int() @property - def serial(self) -> str: - """ - Gets and sets the serial number of the machine. A serial number is not displayed if not - set. - """ - return str() - @serial.setter - def serial(self, value: str): + def count(self) -> int: """ - Gets and sets the serial number of the machine. A serial number is not displayed if not - set. + Total number of elements in collection. """ - pass + return int() -class MachineKinematics(core.Base): +class MachineInput(core.Base): """ - Object that represents the kinematics tree in the machine. + Base abstract class for inputs to be used when creating machines. + Used by Machine.create(MachineInput) method. + Implemented by "MachineFromFileInput" and "MachineFromLibraryinput" classes. """ def __init__(self): pass @staticmethod - def cast(arg) -> MachineKinematics: - return MachineKinematics() - @property - def parts(self) -> MachineParts: - """ - Get the root parts collection. - """ - return MachineParts() + def cast(arg) -> MachineInput: + return MachineInput() class MachinePart(core.Base): """ @@ -1211,7 +1900,7 @@ def parent(self) -> MachinePart: Get or set the parent of this part. Setting the parent will add this part to the end of the parent's children collection. Setting the parent will throw an error if the new parent is this - part or a child this part. + part or a child of this part. """ return MachinePart() @parent.setter @@ -1220,7 +1909,7 @@ def parent(self, value: MachinePart): Get or set the parent of this part. Setting the parent will add this part to the end of the parent's children collection. Setting the parent will throw an error if the new parent is this - part or a child this part. + part or a child of this part. """ pass @property @@ -1244,6 +1933,14 @@ def axis(self) -> MachineAxis: Only valid when partType is Axis, otherwise returns null """ return MachineAxis() + @property + def spindle(self) -> MachineSpindle: + """ + Get the spindle object for this part used to reference this part for other + operations. + Will return null if the part has no spindle assigned. + """ + return MachineSpindle() class MachinePartInput(core.Base): """ @@ -1258,17 +1955,23 @@ def cast(arg) -> MachinePartInput: return MachinePartInput() def createAxisInput(self, axisType: MachineAxisTypes) -> MachineAxisInput: """ - Create a new MachineAxisInput object to be used to create a new MachineAxis. + Creates a new MachineAxisInput object to be used to create a new MachineAxis. Set this object on to an axis type MachinePartInput to create a new MachineAxis with that part. axisType : The type of MachineAxisInput to create. Returns a LinearMachineAxisInput or RotaryMachineAxisInput, or null if the creation failed. """ return MachineAxisInput() + def createSpindleInput(self) -> MachineSpindleInput: + """ + Creates a new MachineSpindleInput object to be used to create a new MachineSpindle. + Returns new MachineSpindleInput object. + """ + return MachineSpindleInput() @property def id(self) -> str: """ - Get or set the internal ID of the part, used to reference this part for other + Gets or sets the internal ID of the part, used to reference this part for other operations. This ID can be any string. This must be unique with respect to other MachineParts in the Machine. """ @@ -1276,7 +1979,7 @@ def id(self) -> str: @id.setter def id(self, value: str): """ - Get or set the internal ID of the part, used to reference this part for other + Gets or sets the internal ID of the part, used to reference this part for other operations. This ID can be any string. This must be unique with respect to other MachineParts in the Machine. """ @@ -1290,36 +1993,56 @@ def partType(self) -> MachinePartTypes: @property def axisInput(self) -> MachineAxisInput: """ - Get or Set an axis input object to create a new MachineAxis with this part. + Gets or sets an axis input object to create a new MachineAxis with this part. Only valid when partType is Axis. """ return MachineAxisInput() @axisInput.setter def axisInput(self, value: MachineAxisInput): """ - Get or Set an axis input object to create a new MachineAxis with this part. + Gets or sets an axis input object to create a new MachineAxis with this part. Only valid when partType is Axis. """ pass + @property + def spindleInput(self) -> MachineSpindleInput: + """ + Gets or sets an spindle input object to create a new MachineSpindle with this part. + Only valid when partType is not Axis. + """ + return MachineSpindleInput() + @spindleInput.setter + def spindleInput(self, value: MachineSpindleInput): + """ + Gets or sets an spindle input object to create a new MachineSpindle with this part. + Only valid when partType is not Axis. + """ + pass class MachineParts(core.Base): """ Object that represents a collection of machine parts. - These parts are the children of another part or the collection of base parts from MachineKinematics + These parts are the children of another part or the collection of base parts from MachineKinematics. """ def __init__(self): pass @staticmethod def cast(arg) -> MachineParts: return MachineParts() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MachinePart: + return None + def __iter__(self) -> Iterator[MachinePart]: + return None def add(self, partInput: MachinePartInput) -> MachinePart: """ - Add a new part to this collection. The part's parent will be set to the the owner of + Add a new part to this collection. The part's parent will be set to the owner of this collection, or null if this is the root parts collection. If the passed MachinePartInput has a MachineAxisInput a new MachineAxis will be created. partInput : Part input object used to create the new MachinePart. - Returns the newly creted MachinePart or null if creation failed. + Returns the newly created MachinePart or null if creation failed. """ return MachinePart() def createPartInput(self, partType: MachinePartTypes) -> MachinePartInput: @@ -1352,6 +2075,166 @@ def count(self) -> int: """ return int() +class MachineQuery(core.Base): + """ + MachineQuery defines the query to access Machines. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachineQuery: + return MachineQuery() + def execute(self) -> list[Machine]: + """ + Executes the query for specific machines based on the query's properties. + Returns a list of `Machine`. Each returned machine matches this query. + """ + return [Machine()] + @property + def vendor(self) -> str: + """ + The case-insensitive vendor specifies the vendor of the machine. The default empty vendor applies to all machines. + """ + return str() + @vendor.setter + def vendor(self, value: str): + """ + The case-insensitive vendor specifies the vendor of the machine. The default empty vendor applies to all machines. + """ + pass + @property + def model(self) -> str: + """ + The case-insensitive model specifies the model of the machine. The default empty model applies to all machines. + """ + return str() + @model.setter + def model(self, value: str): + """ + The case-insensitive model specifies the model of the machine. The default empty model applies to all machines. + """ + pass + @property + def url(self) -> core.URL: + """ + The URL specifies the location and folder to search for in the machine library. + Setting the URL updates the location. + """ + return core.URL() + @url.setter + def url(self, value: core.URL): + """ + The URL specifies the location and folder to search for in the machine library. + Setting the URL updates the location. + """ + pass + @property + def location(self) -> LibraryLocations: + """ + The location specifies the location to search in the machine library. + Setting the location clears any previous specified URL. + """ + return LibraryLocations() + @location.setter + def location(self, value: LibraryLocations): + """ + The location specifies the location to search in the machine library. + Setting the location clears any previous specified URL. + """ + pass + +class MachineSpindle(core.Base): + """ + Object representing a spindle on the machine + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachineSpindle: + return MachineSpindle() + @property + def description(self) -> str: + """ + The description of this spindle. + """ + return str() + @description.setter + def description(self, value: str): + """ + The description of this spindle. + """ + pass + @property + def maxSpeed(self) -> float: + """ + Specifies the maximum speed (rpm) for this spindle. + """ + return float() + @maxSpeed.setter + def maxSpeed(self, value: float): + """ + Specifies the maximum speed (rpm) for this spindle. + """ + pass + @property + def minSpeed(self) -> float: + """ + Specifies the minimum speed (rpm) for this spindle. + """ + return float() + @minSpeed.setter + def minSpeed(self, value: float): + """ + Specifies the minimum speed (rpm) for this spindle. + """ + pass + +class MachineSpindleInput(core.Base): + """ + Object representing the set of inputs required to create a new MachineSpindle. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachineSpindleInput: + return MachineSpindleInput() + @property + def description(self) -> str: + """ + The description of this spindle. + """ + return str() + @description.setter + def description(self, value: str): + """ + The description of this spindle. + """ + pass + @property + def maxSpeed(self) -> float: + """ + Specifies the maximum speed (rpm) for this spindle. + """ + return float() + @maxSpeed.setter + def maxSpeed(self, value: float): + """ + Specifies the maximum speed (rpm) for this spindle. + """ + pass + @property + def minSpeed(self) -> float: + """ + Specifies the minimum speed (rpm) for this spindle. + """ + return float() + @minSpeed.setter + def minSpeed(self, value: float): + """ + Specifies the minimum speed (rpm) for this spindle. + """ + pass + class MachiningTime(core.Base): """ Object returned when using the getMachiningTime method from the CAM class. @@ -1405,611 +2288,2392 @@ def machiningTime(self) -> float: """ return float() -class NetworkMachineIntegrationInput(core.Base): +class ManufacturingModel(core.Base): """ - An input object required to register an addin for use in the 'Find network machines' - dialog. This input object defines properties of an addin and allows an addin to - customize its appearence in the 'Find network machines' dialog. + Represents a ManufacturingModel within a CAM design. A Manufacturing Model is a derive of the Design scene, which can be augmented without any effects of the original Design. """ def __init__(self): pass @staticmethod - def cast(arg) -> NetworkMachineIntegrationInput: - return NetworkMachineIntegrationInput() - @staticmethod - def create(displayName: str, description: str) -> NetworkMachineIntegrationInput: + def cast(arg) -> ManufacturingModel: + return ManufacturingModel() + def activate(self) -> bool: """ - displayName : The name that will be presented to the user in the 'Find network machines' dialog. - description : A description of the addin which appears as a tooltip alongside the display name. - Returns true if the addin was successfully registered. + Makes the ManufacturingModel the active edit target in the user interface. This is the same + as enabling the radio button next to the occurrence in the browser. + Returns true if the activation was successful. """ - return NetworkMachineIntegrationInput() - @property - def displayName(self) -> str: + return bool() + def duplicate(self) -> ManufacturingModel: """ - Gets and sets the display name of the addin that appears in the 'vendor' dropdown in - the 'Find network machines' dialog. + Creates and returns a copy of the ManufacturingModel, within its parent collection. + The newly created ManufacturingModel will have a new unique name assigned. + Returns the newly created ManufacturingModel copy. """ - return str() - @displayName.setter - def displayName(self, value: str): + return ManufacturingModel() + def deleteMe(self) -> bool: """ - Gets and sets the display name of the addin that appears in the 'vendor' dropdown in - the 'Find network machines' dialog. + Deletes this ManufacturingModel. If this is part of a setup, the reference to this will be lost. The deletion makes that reference invalid. + Returns true if the delete is successful. """ - pass + return bool() @property - def description(self) -> str: + def name(self) -> str: """ - Gets and sets the description of the addin + Gets or sets the display name of the ManufacturingModel. + This is the name that will be shown in the browser and other locations. """ return str() - @description.setter - def description(self, value: str): + @name.setter + def name(self, value: str): """ - Gets and sets the description of the addin + Gets or sets the display name of the ManufacturingModel. + This is the name that will be shown in the browser and other locations. """ pass - -class NetworkMachineIntegrationManager(core.Base): - """ - NetworkMachineManager provides access to properties and events needed to integrate - addins into the 'Find network machines' dialog, which enables users to add machine - configurations representing machines on the network to their machine library. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> NetworkMachineIntegrationManager: - return NetworkMachineIntegrationManager() - def registerNetworkMachineIntegration(self, networkMachineIntegrationInput: NetworkMachineIntegrationInput) -> bool: + @property + def id(self) -> str: """ - Registers an addin for use in the 'Find network machines' dialog. This dialog will fire - the SearchNetworkMachinesEvent and CreateMachineConfigurationsEvent, which the addin - must handle. See SearchNetworkMachinesEvent and CreateMachineConfigurationsEvent for - details. - networkMachineIntegrationInput : An object defining properties of an addin, also allowing an addin to customize its - appearence in the 'Find network machines' dialog. + Gets the unique identifier of the ManufacturingModel within the document. """ - return bool() + return str() @property - def searchNetworkMachinesEvent(self) -> SearchNetworkMachinesEvent: + def isActive(self) -> bool: """ - This event is fired from the 'Find network machines' dialog when the corresponding - addin is selected from the vendor dropdown, or when 'search all vendors' is - selected. This event will allow the addin to initiate an enumeration of machines on - the network, and populate the 'Find network machines' dialog with descriptions of each - machine found. See SearchNetworkMachinesEvent for details. + Gets whether this ManufacturingModel is active in the user interface. + This is the same as checking the state of the radio button next to the ManufacturingModel in the browser. + To activate the ManufacturingModel use the Activate method. """ - return SearchNetworkMachinesEvent() + return bool() @property - def createMachineConfigurationsEvent(self) -> CreateMachineConfigurationsEvent: + def occurrence(self) -> fusion.Occurrence: """ - This event is fired from the 'Find network machines' dialog when MachineDescription(s) - previously provided during the handling of the SearchNetworkMachines event are selected - to add to the user's Machine Library. This event will allow the addins to create - machine configurations corresponding to the selected MachineDescription objects. - See CreateMachineConfigurationsEvent for details. + Returns the occurrence for that ManufacturingModel. + Returns true Occurrence for the current ManufacturingModel. """ - return CreateMachineConfigurationsEvent() + return fusion.Occurrence() -class OperationBase(core.Base): +class ManufacturingModelInput(core.Base): """ - Base class object representing all operations, folders, patterns and setups. + This class defines the methods and properties that pertain to the definition of a ManufacturingModel. """ def __init__(self): pass @staticmethod - def cast(arg) -> OperationBase: - return OperationBase() + def cast(arg) -> ManufacturingModelInput: + return ManufacturingModelInput() @property def name(self) -> str: """ - Gets and sets the name of the operation as seen in the browser. This name is unique as compared - to the names of all other operations in the document. + Name of the new ManufacturingModel. + The name is displayed in the browser tree. """ return str() @name.setter def name(self, value: str): """ - Gets and sets the name of the operation as seen in the browser. This name is unique as compared - to the names of all other operations in the document. + Name of the new ManufacturingModel. + The name is displayed in the browser tree. """ pass - @property - def isProtected(self) -> bool: - """ - Gets and sets the "protected" property value of the operation. - Gets/sets true if the operation is protected. - """ - return bool() - @isProtected.setter - def isProtected(self, value: bool): - """ - Gets and sets the "protected" property value of the operation. - Gets/sets true if the operation is protected. - """ + +class ManufacturingModels(core.Base): + """ + Referenced from CAM product to access manufacturing models in document. + """ + def __init__(self): pass - @property - def isOptional(self) -> bool: + @staticmethod + def cast(arg) -> ManufacturingModels: + return ManufacturingModels() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ManufacturingModel: + return None + def __iter__(self) -> Iterator[ManufacturingModel]: + return None + def item(self, index: int) -> ManufacturingModel: """ - Gets and sets the "Optional" property value of the operation. - Gets/sets true if the operation is optional. + Get ManufacturingModel by index in collection. + Returns ManufacturingModel at given index. """ - return bool() - @isOptional.setter - def isOptional(self, value: bool): + return ManufacturingModel() + def itemByName(self, name: str) -> list[ManufacturingModel]: """ - Gets and sets the "Optional" property value of the operation. - Gets/sets true if the operation is optional. + Returns all ManufacturingModel with given name (as appears in the browser). + name : The name (as it appears in the browser) of the ManufacturingModel. + Returns all ManufacturingModel with the specified name. """ - pass - @property - def isSuppressed(self) -> bool: + return [ManufacturingModel()] + def itemById(self, id: str) -> ManufacturingModel: """ - Gets and sets the "Suppressed" property value of the operation. - Gets/sets true if the operation is suppressed. + Returns ManufacturingModel with given id. + id : The id of the ManufacturingModel. + Returns ManufacturingModel with the specified id or null if no ManufacturingModel has that id. """ - return bool() - @isSuppressed.setter - def isSuppressed(self, value: bool): + return ManufacturingModel() + def createInput(self) -> ManufacturingModelInput: """ - Gets and sets the "Suppressed" property value of the operation. - Gets/sets true if the operation is suppressed. + Create a new ManufacturingModelInput object. Use properties and methods on this object + to define the ManufacturingModel you want to create and then use the Add method, passing in + the ManufacturingModelInput object. + Returns new ManufacturingModelInput object. """ - pass - @property - def parentSetup(self) -> Setup: + return ManufacturingModelInput() + def add(self, input: ManufacturingModelInput) -> ManufacturingModel: """ - Gets the Setup this operation belongs to. + Create a new ManufacturingModel. + input : A ManufacturingModelInput object that defines the desired ManufacturingModel. Use the createInput + method to create a new ManufacturingModelInput object and then use methods on it to define the ManufacturingModel. + Returns the newly created ManufacturingModel. """ - return Setup() + return ManufacturingModel() @property - def isSelected(self) -> bool: + def count(self) -> int: """ - Gets if this operation is selected in the 'Setups' browser. + The number of items in the collection. + """ + return int() + +class ModifyUtility(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Base class for all modify utilities. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ModifyUtility: + return ModifyUtility() + +class NCProgramInput(core.Base): + """ + The NCProgramInput holds all necessary information to create a new NC program. + It is needed for the NCPrograms.add method to instantiate a new NC program. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> NCProgramInput: + return NCProgramInput() + @property + def parameters(self) -> CAMParameters: + """ + Get all parameters for the current NC program. Parameters are initialized by user defaults. + Configure operation parameters before creation for a better performance. + """ + return CAMParameters() + @property + def operations(self) -> list[OperationBase]: + """ + Gets and sets the operations which will be included in the NC program. + Valid input contains any number of operations, setups or folders. + For setups and folders all child operations will be added. + Operations will be post processed in setup order, with operations from the same setup grouped together. + Setting the nc_program_orderByTool BooleanParameterValue on the parameters property to true will reorder operations across multiple setups to reduce the number of tool changes. + """ + return [OperationBase()] + @operations.setter + def operations(self, value: list[OperationBase]): + """ + Gets and sets the operations which will be included in the NC program. + Valid input contains any number of operations, setups or folders. + For setups and folders all child operations will be added. + Operations will be post processed in setup order, with operations from the same setup grouped together. + Setting the nc_program_orderByTool BooleanParameterValue on the parameters property to true will reorder operations across multiple setups to reduce the number of tool changes. + """ + pass + @property + def displayName(self) -> str: + """ + Optionally specify the display name that appears in the browser-tree to override the default. + """ + return str() + @displayName.setter + def displayName(self, value: str): + """ + Optionally specify the display name that appears in the browser-tree to override the default. + """ + pass + +class NCProgramPostProcessOptions(core.Base): + """ + The NCProgramPostProcessOptions provides settings to control the post processing of NC programs. + It is needed for the NCPrograms.postProcess method for posting toolpaths and generating CNC files and setup sheets. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> NCProgramPostProcessOptions: + return NCProgramPostProcessOptions() + @staticmethod + def create() -> NCProgramPostProcessOptions: + """ + Creates a new NCProgramPostProcessOptions object to be used as an input argument by the postProcess() + method. + Returns the newly created NCProgramPostProcessOptions object or null if the creation failed. + """ + return NCProgramPostProcessOptions() + @property + def isFailOnToolNumberDuplication(self) -> bool: + """ + Toggles whether the post processing should abort if two tools with the same tool number have been detected. + True by default. If true, an exception will be thrown if at least two tools map to the same tool number. + If false, the post processor will not perform a tool change if the tool number is the same, which may mean that the wrong tool is used for an operation. + """ + return bool() + @isFailOnToolNumberDuplication.setter + def isFailOnToolNumberDuplication(self, value: bool): + """ + Toggles whether the post processing should abort if two tools with the same tool number have been detected. + True by default. If true, an exception will be thrown if at least two tools map to the same tool number. + If false, the post processor will not perform a tool change if the tool number is the same, which may mean that the wrong tool is used for an operation. + """ + pass + @property + def postProcessExecutionBehavior(self) -> PostProcessExecutionBehaviors: + """ + Gets and sets the post process behavior with regards to the operations' error or out of date states. + Uses PostProcessExecutionBehavior_OmitInvalidAndEmptyOperations by default. + """ + return PostProcessExecutionBehaviors() + @postProcessExecutionBehavior.setter + def postProcessExecutionBehavior(self, value: PostProcessExecutionBehaviors): + """ + Gets and sets the post process behavior with regards to the operations' error or out of date states. + Uses PostProcessExecutionBehavior_OmitInvalidAndEmptyOperations by default. + """ + pass + +class NCPrograms(core.Base): + """ + Container for all NC programs. Referenced from CAM product to access NC programs in a document, similar to what Setups is for all setup objects. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> NCPrograms: + return NCPrograms() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> NCProgram: + return None + def __iter__(self) -> Iterator[NCProgram]: + return None + def item(self, index: int) -> NCProgram: + """ + Function that returns the specified NC program using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return NCProgram() + def itemByName(self, name: str) -> NCProgram: + """ + Returns the NC program with the specified name. + name : The name (as it appears in the browser) of the operation. + Returns the specified NC program or null in the case where there is no NC program with the specified name. + If there are multiple NC programs with the same name, the first item in the tree will be returned. + """ + return NCProgram() + def itemByOperationId(self, id: int) -> NCProgram: + """ + Returns the NC program with the specified operation id. + id : The id of the NC program. + Returns the specified NC program or null in the case where there is no NC program with the specified operation id. + """ + return NCProgram() + def createInput(self) -> NCProgramInput: + """ + Create a new NCProgramInput object. Use properties and methods on this object + to define the NC program you want to create and then use the Add method, passing in + the NCProgramInput object. + Returns a new NCProgramInput object. + """ + return NCProgramInput() + def add(self, input: NCProgramInput) -> NCProgram: + """ + Creates a new NC program. + input : NCProgramInput which will be used to create the NC program. + Returns the created NC program. + """ + return NCProgram() + @property + def count(self) -> int: + """ + The number of items in the collection. + """ + return int() + +class OperationBase(core.Base): + """ + Base class object representing all operations, folders, patterns and setups. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> OperationBase: + return OperationBase() + def deleteMe(self) -> bool: + """ + Deletes the operation from the document. + In case of a setup or folder, all containing child operations will be deleted as well. + Returns true if the delete was successful. + """ + return bool() + def modifyUtility(self, utility: ModifyUtilityTypes) -> ModifyUtility: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Get ModifyUtility for the current operation by given utility type. + utility : Defines the specific ModifyUtility. + Returns ModifyUtility for specific type or null if the type is not compatible with the operation. + """ + return ModifyUtility() + @property + def name(self) -> str: + """ + Gets and sets the name of the operation as seen in the browser. This name is unique as compared + to the names of all other operations in the document. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of the operation as seen in the browser. This name is unique as compared + to the names of all other operations in the document. + """ + pass + @property + def isProtected(self) -> bool: + """ + Gets and sets the "protected" property value of the operation. + Gets/sets true if the operation is protected. + """ + return bool() + @isProtected.setter + def isProtected(self, value: bool): + """ + Gets and sets the "protected" property value of the operation. + Gets/sets true if the operation is protected. + """ + pass + @property + def isOptional(self) -> bool: + """ + Gets and sets the "Optional" property value of the operation. + Gets/sets true if the operation is optional. + """ + return bool() + @isOptional.setter + def isOptional(self, value: bool): + """ + Gets and sets the "Optional" property value of the operation. + Gets/sets true if the operation is optional. + """ + pass + @property + def isSuppressed(self) -> bool: + """ + Gets and sets the "Suppressed" property value of the operation. + Gets/sets true if the operation is suppressed. + """ + return bool() + @isSuppressed.setter + def isSuppressed(self, value: bool): + """ + Gets and sets the "Suppressed" property value of the operation. + Gets/sets true if the operation is suppressed. + """ + pass + @property + def parentSetup(self) -> Setup: + """ + Gets the Setup this operation belongs to. + """ + return Setup() + @property + def isSelected(self) -> bool: + """ + Gets if this operation is selected in the 'Setups' browser. + """ + return bool() + @property + def notes(self) -> str: + """ + Gets and sets the notes of the operation. + """ + return str() + @notes.setter + def notes(self, value: str): + """ + Gets and sets the notes of the operation. + """ + pass + @property + def operationId(self) -> int: + """ + Returns the id of the operation. This id is unique as compared + to the ids of all other operations in the document. + This id will not change when changing the order or parent of the operation. + This id will remain valid when the document is saved and reloaded. + """ + return int() + @property + def parameters(self) -> CAMParameters: + """ + Gets the CAMParameters collection for this operation. + """ + return CAMParameters() + @property + def attributes(self) -> core.Attributes: + """ + Returns the collection of attributes associated with this object. + """ + return core.Attributes() + @property + def strategy(self) -> str: + """ + Gets the name of the strategy associated with this operation. + """ + return str() + @property + def hasWarning(self) -> bool: + """ + Gets if problems were encountered when generating the operation. + """ + return bool() + @property + def hasError(self) -> bool: + """ + Gets if errors were encountered when generating the operation. + """ + return bool() + @property + def error(self) -> str: + """ + Returns a message corresponding to any active error associated with the value of this parameter. + """ + return str() + @property + def warning(self) -> str: + """ + Returns a message corresponding to any active warning associated with the value of this parameter. + """ + return str() + @property + def isLightBulbOn(self) -> bool: + """ + Gets if this operation is currently visible in the graphics window. Use the + isLightBulbOn to change if the eye icon beside the operation node in the + browser is on or not. Parent nodes in the browser can have their light + bulb off which affects all of their children so this property does not + indicate if the operation is actually visible, just that it should be visible + if all of its parent nodes are also visible. Use the isVisible property + to determine if it's actually visible. + """ + return bool() + @isLightBulbOn.setter + def isLightBulbOn(self, value: bool): + """ + Gets if this operation is currently visible in the graphics window. Use the + isLightBulbOn to change if the eye icon beside the operation node in the + browser is on or not. Parent nodes in the browser can have their light + bulb off which affects all of their children so this property does not + indicate if the operation is actually visible, just that it should be visible + if all of its parent nodes are also visible. Use the isVisible property + to determine if it's actually visible. + """ + pass + @property + def isVisible(self) -> bool: + """ + Gets if this operation is currently visible in the graphics window. Use the + isLightBulbOn to change if the eye icon beside the operation node in the + browser is on or not. Parent nodes in the browser can have their light + bulb off which affects all of their children. This property indicates + the final result and whether this operation is actually visible or not. + """ + return bool() + @property + def generatedDataCollection(self) -> GeneratedDataCollection: + """ + Get the generated data associated with a given operation base instance. The type of data depends on the strategy type and might not be available for all strategy types. + The available types can be found in GeneratedData.cs + null if the given object does not have available generated data, an instance in one of the child classes otherwise. + """ + return GeneratedDataCollection() + +class OperationInput(core.Base): + """ + The OperationInput holds all necessary informations to create a new Operation. + Can be added to the Operations instance for creation. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> OperationInput: + return OperationInput() + @property + def strategy(self) -> str: + """ + Get the current strategy + """ + return str() + @property + def parameters(self) -> CAMParameters: + """ + Get all parameters for the current strategy. Parameters are initialized by user defaults. + Configure operation parameters before creation for a better performance. + """ + return CAMParameters() + @property + def tool(self) -> Tool: + """ + Optionally specify the tool used by the operation. The ToolLibraries allows the access to Local and Fusion 360 tools. + """ + return Tool() + @tool.setter + def tool(self, value: Tool): + """ + Optionally specify the tool used by the operation. The ToolLibraries allows the access to Local and Fusion 360 tools. + """ + pass + @property + def toolPreset(self) -> ToolPreset: + """ + Optionally specify the preset of the tool. If no preset is specified, the operation gets its default feed and speed. + The Tool provides access to available presets. Use one of those presets to override the default. + An invalid preset will cause a failure during the creation of the operation. + """ + return ToolPreset() + @toolPreset.setter + def toolPreset(self, value: ToolPreset): + """ + Optionally specify the preset of the tool. If no preset is specified, the operation gets its default feed and speed. + The Tool provides access to available presets. Use one of those presets to override the default. + An invalid preset will cause a failure during the creation of the operation. + """ + pass + @property + def displayName(self) -> str: + """ + Optionally specify the display name that appears in the browser-tree to override the default. + """ + return str() + @displayName.setter + def displayName(self, value: str): + """ + Optionally specify the display name that appears in the browser-tree to override the default. + """ + pass + @property + def generationMode(self) -> AutomaticGenerationModes: + """ + Defines the automatic generation during the creation of the operation. + Can be used to force or skip the generation of the new operation. + By default the newly created operation will not be generated. + The default value is SkipGeneration. + """ + return AutomaticGenerationModes() + @generationMode.setter + def generationMode(self, value: AutomaticGenerationModes): + """ + Defines the automatic generation during the creation of the operation. + Can be used to force or skip the generation of the new operation. + By default the newly created operation will not be generated. + The default value is SkipGeneration. + """ + pass + +class Operations(core.Base): + """ + Collection that provides access to the individual operations within an existing setup, folder or pattern. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Operations: + return Operations() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Operation: + return None + def __iter__(self) -> Iterator[Operation]: + return None + def item(self, index: int) -> Operation: + """ + Function that returns the specified operation using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return Operation() + def itemByName(self, name: str) -> Operation: + """ + Returns the operation with the specified name (as appears in the browser). + name : The name (as it appears in the browser) of the operation. + Returns the specified operation or null in the case where there is no operation with the specified name. + """ + return Operation() + def itemByOperationId(self, id: int) -> Operation: + """ + Returns the operation with the specified operation id. + id : The id of the operation. + Returns the specified operation or null in the case where there is no operation with the specified operation id. + """ + return Operation() + def createInput(self, strategy: str) -> OperationInput: + """ + Creates a new OperationInput object, which is used to define the operation you want to create. + Use properties and methods on the returned OperationInput object to define the desired operation + and then pass it into the add method to create the operation. + strategy : The name of the strategy type that you want to create. Use the compatibleStrategies property of + Operations object to get a list of the names of the strategies. + Returns a new OperationInput object or will fail if an invalid strategy is specified. + """ + return OperationInput() + def add(self, input: OperationInput) -> OperationBase: + """ + Create a new Operation. + input : The OperationInput object defines the desired Operation. Use the createInput + method to create a new OperationInput object and then use methods on it to define the Operation. + The new Operation will be appended at the end of the current list of Operations. + Throws an error if the strategy type is incompatible with the setup. + Returns the newly created Operation. + """ + return OperationBase() + @property + def count(self) -> int: + """ + The number of items in the collection. + """ + return int() + @property + def compatibleStrategies(self) -> list[OperationStrategy]: + """ + Gets a list of the strategies that are compatible with the parent setup. + This only returns strategies that are allowed to be added based on the active Setup or CAMFolder. + + Note: There may be cases where a compatible strategy might not be allowed to be created + due to licensing or other issues like disabled preview features. + Returns an array of compatible strategies. + """ + return [OperationStrategy()] + +class OperationStrategy(core.Base): + """ + The OperationStrategy contains information about a strategy such as its name, title and description. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> OperationStrategy: + return OperationStrategy() + @staticmethod + def createFromString(name: str) -> OperationStrategy: + """ + Create an OperationStrategy for a given name. + name : The name of the strategy. + Throws an error if the strategy name is unknown. + Returns the OperationStrategy for given strategy name. + """ + return OperationStrategy() + @property + def name(self) -> str: + """ + Get the name of the strategy. This is equivalent to the Operation's strategy property. + Use as strategy parameter when creating a OperationInput. + """ + return str() + @property + def title(self) -> str: + """ + Get the localized title of the strategy. + """ + return str() + @property + def description(self) -> str: + """ + Get the localized description of the strategy. + """ + return str() + @property + def isGenerationAllowed(self) -> bool: + """ + Returns true if the strategy is allowed to be generated due to licensing and enabled preview features. + Some strategies also require Active machining extension to be generated. + Returns false otherwise. + """ + return bool() + +class OptimizedOrientationResult(core.Base): + """ + The orientation result instance. + Contains properties that can be used to create a custom ranking and the orientation matrix. + The calculated ranking is based on the orientation operation's ranking priorities. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> OptimizedOrientationResult: + return OptimizedOrientationResult() + @property + def supportVolume(self) -> float: + """ + The volume of the support hull below the oriented part. + The value is given in cubic centimeters + """ + return float() + @property + def supportArea(self) -> float: + """ + The shadow area of the support hull below the oriented part. + The value is given in squared centimeters + """ + return float() + @property + def boundingBoxVolume(self) -> float: + """ + The volume of the bounding box aligned to the world coordinate system of the oriented part. + The value is given in cubic centimeters + """ + return float() + @property + def partHeight(self) -> float: + """ + The resulting height of the oriented part. + The value is given in centimeters + """ + return float() + @property + def centerOfGravityHeight(self) -> float: + """ + The height of the center of gravity of the oriented part. + The value is given in centimeters + """ + return float() + @property + def rankingValue(self) -> float: + """ + The value which the initial ordering is based on. Calculated based on the properties above by the orientation operation. + """ + return float() + @property + def transformation(self) -> core.Matrix3D: + """ + The transformation matrix to be applied onto the occurrence's existing transformation at the time of the calculation. + """ + return core.Matrix3D() + +class ParameterValue(core.Base): + """ + Base class for representing the value of a parameter. + Subclasses implement value handling for available parameter types. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ParameterValue: + return ParameterValue() + @property + def parent(self) -> core.Base: + """ + Get the parameter object that the value is associated with. + """ + return core.Base() + +class PostConfiguration(core.Base): + """ + Object that represents a post configuration. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PostConfiguration: + return PostConfiguration() + @property + def vendor(self) -> str: + """ + Gets the name of the vendor of the machine tool or controller this post configuration supports. + """ + return str() + @property + def description(self) -> str: + """ + Gets the description of the post. + """ + return str() + @property + def capability(self) -> PostCapabilities: + """ + Gets the capabilities supported by the post. + Capabilities define what types of operations can be post processed using this configuration. + """ + return PostCapabilities() + @property + def version(self) -> str: + """ + Gets the version of the post. + """ + return str() + @property + def extension(self) -> str: + """ + Gets the extension of the output file created by the post. + """ + return str() + +class PostConfigurationQuery(core.Base): + """ + A PostConfigurationQuery can be used to search a LibraryLocation for a set of PostConfiguration objects matching the required properties. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PostConfigurationQuery: + return PostConfigurationQuery() + def execute(self) -> list[PostConfiguration]: + """ + Query for specific posts. This PostConfiguration query. + Returns a list of posts. Each returned post matches this query. + """ + return [PostConfiguration()] + @property + def vendor(self) -> str: + """ + The case-insensitive vendor specifies the vendor of the post configuration. The default empty vendor applies to all post configurations. + """ + return str() + @vendor.setter + def vendor(self, value: str): + """ + The case-insensitive vendor specifies the vendor of the post configuration. The default empty vendor applies to all post configurations. + """ + pass + @property + def url(self) -> core.URL: + """ + The URL specifies the location and folder to search for in the post library. + Setting the URL updates the location. + """ + return core.URL() + @url.setter + def url(self, value: core.URL): + """ + The URL specifies the location and folder to search for in the post library. + Setting the URL updates the location. + """ + pass + @property + def capability(self) -> PostCapabilities: + """ + Specifies the capability to search for in the post library. + """ + return PostCapabilities() + @capability.setter + def capability(self, value: PostCapabilities): + """ + Specifies the capability to search for in the post library. + """ + pass + @property + def location(self) -> LibraryLocations: + """ + The location specifies the location to search in the post library. + Setting the location clears any previous specified URL. + """ + return LibraryLocations() + @location.setter + def location(self, value: LibraryLocations): + """ + The location specifies the location to search in the post library. + Setting the location clears any previous specified URL. + """ + pass + +class PostProcessInput(core.Base): + """ + This class defines the properties that pertain to the settings and options required for posting a + toolpath to generate a CNC file. A PostProcessInput object is a required parameter for the + postProcessAll() and postProcess() methods on the CAM class. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PostProcessInput: + return PostProcessInput() + @staticmethod + def create(programName: str, postConfiguration: str, outputFolder: str, outputUnits: PostOutputUnitOptions) -> PostProcessInput: + """ + Creates a new PostProcessInput object to be used as an input argument by the postProcess() and postProcessAll() + methods on the CAM class for posting toolpaths and generating CNC files. + programName : The program name or number. + If the post configuration specifies the parameter programNameIsInteger = true, then the program name must be a number. + postConfiguration : The full filename (including the path) to the post configuration file (.cps) + The post config file can be stored in any path but for convenience you can use the genericPostFolder or the personalPostFolder property on the CAM class to specify + the path if your .cps file is stored in either of those locations. You must add a forward slash (this works for Mac or Windows) to the path defined by these folder + properties before the filename (e.g. postConfiguration = cam.genericPostFolder + '/' + 'fanuc.cps') + outputFolder : The path for the existing output folder where the .cnc files will be located. This method will create the specified output folder if it does not already exist. + It is not necessary to add a slash to the end of the outputFolder path. You should use forward slashes in your path definition if you want your script to run on both Mac and Windows. + outputUnits : The units option for the CNC output. + Valid options are DocumentUnitsOutput, InchesOutput or MillimetersOutput + Returns the newly created PostProcessInput object or null if the creation failed. + """ + return PostProcessInput() + @property + def programName(self) -> str: + """ + Gets and sets the program name or number. + If the post configuration specifies the parameter programNameIsInteger = true, then the program name must be a number. + """ + return str() + @programName.setter + def programName(self, value: str): + """ + Gets and sets the program name or number. + If the post configuration specifies the parameter programNameIsInteger = true, then the program name must be a number. + """ + pass + @property + def programComment(self) -> str: + """ + Gets and sets the program comment. The default value for this property is an empty string (""). + """ + return str() + @programComment.setter + def programComment(self, value: str): + """ + Gets and sets the program comment. The default value for this property is an empty string (""). + """ + pass + @property + def postConfiguration(self) -> str: + """ + Gets and sets the full filename (including the path) for the post configuration file (.cps) + """ + return str() + @postConfiguration.setter + def postConfiguration(self, value: str): + """ + Gets and sets the full filename (including the path) for the post configuration file (.cps) + """ + pass + @property + def outputFolder(self) -> str: + """ + Gets and sets the path for the output folder where the .cnc files will be located. + """ + return str() + @outputFolder.setter + def outputFolder(self, value: str): + """ + Gets and sets the path for the output folder where the .cnc files will be located. + """ + pass + @property + def outputUnits(self) -> PostOutputUnitOptions: + """ + Gets and sets the units option for the CNC output. + Valid options are DocumentUnitsOutput, InchesOutput or MillimetersOutput + """ + return PostOutputUnitOptions() + @outputUnits.setter + def outputUnits(self, value: PostOutputUnitOptions): + """ + Gets and sets the units option for the CNC output. + Valid options are DocumentUnitsOutput, InchesOutput or MillimetersOutput + """ + pass + @property + def isOpenInEditor(self) -> bool: + """ + Gets and sets the option if opening the CNC file with the editor after it is created. + The default value for this property is true. + """ + return bool() + @isOpenInEditor.setter + def isOpenInEditor(self, value: bool): + """ + Gets and sets the option if opening the CNC file with the editor after it is created. + The default value for this property is true. + """ + pass + @property + def areToolChangesMinimized(self) -> bool: + """ + Gets and sets that operations may be reordered between setups to minimize the number of tool changes. + Operations within each setup will still be executed in the programmed order. + This is commonly used for tombstone machining where you have multiple setups. + The default value for this property is false. + """ + return bool() + @areToolChangesMinimized.setter + def areToolChangesMinimized(self, value: bool): + """ + Gets and sets that operations may be reordered between setups to minimize the number of tool changes. + Operations within each setup will still be executed in the programmed order. + This is commonly used for tombstone machining where you have multiple setups. + The default value for this property is false. + """ + pass + @property + def postProperties(self) -> core.NamedValues: + """ + Gets and sets the list of post properties. + Each property has a string name and a ValueInput object. + The default value for this is an empty NamedValues. + """ + return core.NamedValues() + @postProperties.setter + def postProperties(self, value: core.NamedValues): + """ + Gets and sets the list of post properties. + Each property has a string name and a ValueInput object. + The default value for this is an empty NamedValues. + """ + pass + +class PrintSetting(core.Base): + """ + Object that represents a PrintSetting. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PrintSetting: + return PrintSetting() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> PrintSettingItem: + return None + def __iter__(self) -> Iterator[PrintSettingItem]: + return None + @staticmethod + def createFromXML(xmlContent: str) -> PrintSetting: + """ + Creates a PrintSetting from a xml content. + xmlContent : The xml content string of a PrintSetting file to act as a base for creating a PrintSetting from. + Returns the newly created PrintSetting. + """ + return PrintSetting() + def parameters(self, type: PrintSettingItemTypes) -> CAMParameters: + """ + Function that returns the specified parameterTable using an enum into the collection. + type : The type of the item within the collection to return. + Returns the specified type of parameters or null if an invalid type was specified. + """ + return CAMParameters() + def itemByName(self, name: str) -> PrintSettingItem: + """ + Returns the PrintSetting item of the specified body preset. + name : The body preset id of the parameters. + Returns the specified parameters or throws exception in the case where there is no parameters with the specified id. + """ + return PrintSettingItem() + def duplicatePrintSettingItem(self, name: str) -> PrintSettingItem: + """ + Duplicates the PrintSetting item of the specified body preset. + name : The body preset id of the parameters that has to be duplicated. + Returns the specified parameters or throws exception in the case where there is no parameters with the specified id. + """ + return PrintSettingItem() + def deletePrintSettingItem(self, name: str) -> None: + """ + Deletes the PrintSetting item of the specified body preset. Default item cant be deleted. Throws exception when name not found. + name : The body preset id of the parameters that has to be deleted. + """ + pass + def setDefaultPrintSettingItem(self, name: str) -> None: + """ + Defaults the PrintSetting item of the specified body preset. Throws exception when name not found. + name : The body preset id of the parameters that has to be defaulted. + """ + pass + def getDefaultPrintSettingItem(self) -> PrintSettingItem: + """ + Gets the default PrintSetting item of the specified body preset. Throws exception when name not found. + Returns the default parameters. + """ + return PrintSettingItem() + def item(self, index: int) -> PrintSettingItem: + """ + Get the PrintSettingItem at index in PrintSetting. + index : The index of the PrintSettingItem. + The PrintSettingItem at index. + """ + return PrintSettingItem() + @property + def name(self) -> str: + """ + Gets and sets the name of the PrintSetting. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of the PrintSetting. + """ + pass + @property + def description(self) -> str: + """ + Gets and sets the description of the PrintSetting. + """ + return str() + @description.setter + def description(self, value: str): + """ + Gets and sets the description of the PrintSetting. + """ + pass + @property + def technology(self) -> str: + """ + Gets the technology of the PrintSetting. + """ + return str() + @property + def id(self) -> str: + """ + Gets the unique identifier of the PrintSetting. + Can be used for comparing PrintSettings within the document. + """ + return str() + @property + def count(self) -> int: + """ + Get the number of PrintSettingItems in this collection. + """ + return int() + +class PrintSettingItem(core.Base): + """ + Collection that provides access to the print setting parameters. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PrintSettingItem: + return PrintSettingItem() + @property + def name(self) -> str: + """ + Body Preset get and set name. + """ + return str() + @name.setter + def name(self, value: str): + """ + Body Preset get and set name. + """ + pass + @property + def description(self) -> str: + """ + Body Preset get and set description. + """ + return str() + @description.setter + def description(self, value: str): + """ + Body Preset get and set description. + """ + pass + @property + def parameters(self) -> CAMParameters: + """ + Function that returns the parameters for reading and editing values. + Returns the parameters of specified item. + """ + return CAMParameters() + +class PrintSettingQuery(core.Base): + """ + A PrintSettingQuery can be used to search a LibraryLocation for a set of PrintSetting objects matching the required properties. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PrintSettingQuery: + return PrintSettingQuery() + def execute(self) -> list[PrintSetting]: + """ + Query for specific PrintSettings. This PrintSettingQuery query. + Returns a list of PrintSetting. Each returned PrintSetting matches this query. + """ + return [PrintSetting()] + @property + def name(self) -> str: + """ + The case-insensitive name specifies the name of the PrintSetting. + """ + return str() + @name.setter + def name(self, value: str): + """ + The case-insensitive name specifies the name of the PrintSetting. + """ + pass + @property + def technology(self) -> str: + """ + The case-insensitive technology specifies technology of the PrintSetting. + """ + return str() + @technology.setter + def technology(self, value: str): + """ + The case-insensitive technology specifies technology of the PrintSetting. + """ + pass + @property + def vendor(self) -> str: + """ + The case-insensitive vendor specifies vendor of the PrintSetting. Generic FFF PrintSetting doesnt have a vendor. + """ + return str() + @vendor.setter + def vendor(self, value: str): + """ + The case-insensitive vendor specifies vendor of the PrintSetting. Generic FFF PrintSetting doesnt have a vendor. + """ + pass + @property + def material(self) -> str: + """ + The case-insensitive material specifies material of the MPBF PrintSetting. + """ + return str() + @material.setter + def material(self, value: str): + """ + The case-insensitive material specifies material of the MPBF PrintSetting. + """ + pass + @property + def layerHeight(self) -> float: + """ + The layer height specifies layer height of the PrintSetting. This should match the PrintSetting layer height in cm. + """ + return float() + @layerHeight.setter + def layerHeight(self, value: float): + """ + The layer height specifies layer height of the PrintSetting. This should match the PrintSetting layer height in cm. + """ + pass + @property + def url(self) -> core.URL: + """ + The URL specifies the location and folder to search for in the PrintSetting library. + Setting the URL updates the location. + """ + return core.URL() + @url.setter + def url(self, value: core.URL): + """ + The URL specifies the location and folder to search for in the PrintSetting library. + Setting the URL updates the location. + """ + pass + @property + def location(self) -> LibraryLocations: + """ + The location specifies the location to search in the PrintSetting library. + Setting the location clears any previous specified URL. + """ + return LibraryLocations() + @location.setter + def location(self, value: LibraryLocations): + """ + The location specifies the location to search in the PrintSetting library. + Setting the location clears any previous specified URL. + """ + pass + +class RecognizedHole(core.Base): + """ + Object that represents a hole, a hole is made of one or more segments. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RecognizedHole: + return RecognizedHole() + @staticmethod + def recognizeHoles(bodies: list[core.Base]) -> RecognizedHoles: + """ + Returns a collection of all recognized holes. + bodies : Model bodies on which to recognize holes. + """ + return RecognizedHoles() + def segment(self, index: int) -> RecognizedHoleSegment: + """ + Returns the segment at the specified index from this hole. The collection of segments that comprise this hole + are in order. The first segment is at the top of this hole and the last segment is at the bottom. + index : The index of the segment within this hole to return. The first segment in this hole has an index of 0. + """ + return RecognizedHoleSegment() + @property + def axis(self) -> core.Vector3D: + """ + Returns the unit vector that points straight up out of the hole in the global coordinate system. + """ + return core.Vector3D() + @property + def isThreaded(self) -> bool: + """ + Returns true if at least one segment of this hole is threaded, i.e. associated with a thread feature. + """ + return bool() + @property + def segmentCount(self) -> int: + """ + Returns the number of segments contained in this hole. + """ + return int() + @property + def top(self) -> core.Point3D: + """ + Returns a point at the center of the hole top. + """ + return core.Point3D() + @property + def bottom(self) -> core.Point3D: + """ + Returns a point at the center of the hole bottom. + """ + return core.Point3D() + @property + def topDiameter(self) -> float: + """ + Returns the diameter of the top of this hole (top diameter of the first segment contained in this hole). + """ + return float() + @property + def bottomDiameter(self) -> float: + """ + Returns the diameter of the bottom of this hole (bottom diameter of the last segment contained in this hole). + """ + return float() + @property + def totalLength(self) -> float: + """ + Returns the total length of all segments contained in this hole. + """ + return float() + @property + def hasWarnings(self) -> bool: + """ + Returns true if there are any warnings associated with this hole. + """ + return bool() + @property + def hasErrors(self) -> bool: + """ + Returns true if there are any errors associated with this hole. + """ + return bool() + @property + def isThrough(self) -> bool: + """ + Returns true if this is a through hole, i.e. if the bottom is open. + """ + return bool() + +class RecognizedHoleGroup(core.Base): + """ + Object that represents a collection of holes that contain similar geometry. Holes have similar geometry if they contain the same segment types with the same segment heights, diameters, etc... + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RecognizedHoleGroup: + return RecognizedHoleGroup() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RecognizedHole: + return None + def __iter__(self) -> Iterator[RecognizedHole]: + return None + @staticmethod + def recognizeHoleGroups(bodies: list[core.Base]) -> RecognizedHoleGroups: + """ + Gets all recognized holes and returns them as hole groupings based on similar geometry. + bodies : Model bodies on which to recognize holes. + """ + return RecognizedHoleGroups() + def item(self, index: int) -> RecognizedHole: + """ + Returns the hole at the specified index from this hole group. + index : The index of the hole within this hole group to return. The first hole in this hole group has an index of 0. + """ + return RecognizedHole() + @property + def count(self) -> int: + """ + Returns the number of holes contained in this hole group. + """ + return int() + @property + def hasWarnings(self) -> bool: + """ + Returns true if there are any warnings associated with this hole group. + """ + return bool() + @property + def hasErrors(self) -> bool: + """ + Returns true if there are any errors associated with this hole group. + """ + return bool() + +class RecognizedHoleGroups(core.Base): + """ + Object that represents a collection of hole groups. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RecognizedHoleGroups: + return RecognizedHoleGroups() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RecognizedHoleGroup: + return None + def __iter__(self) -> Iterator[RecognizedHoleGroup]: + return None + def item(self, index: int) -> RecognizedHoleGroup: + """ + Returns the hole group at the specified index from this collection of hole groups. + index : The index of the hole group within this hole group collection to return. The first hole group in this collection has an index of 0. + """ + return RecognizedHoleGroup() + @property + def count(self) -> int: + """ + Returns the number of hole groups contained in this hole group collection. + """ + return int() + +class RecognizedHoles(core.Base): + """ + Object that represents a collection of holes. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RecognizedHoles: + return RecognizedHoles() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RecognizedHole: + return None + def __iter__(self) -> Iterator[RecognizedHole]: + return None + def item(self, index: int) -> RecognizedHole: + """ + Returns the hole at the specified index from this collection of holes. + index : The index of the hole within this hole collection to return. The first hole in this collection has an index of 0. + """ + return RecognizedHole() + @property + def count(self) -> int: + """ + Returns the number of holes contained in this hole collection. + """ + return int() + +class RecognizedHoleSegment(core.Base): + """ + Object that represents a hole segment, i.e. a single geometric shape like a cylinder or cone within the context of a hole. + A segment represents a hole face. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RecognizedHoleSegment: + return RecognizedHoleSegment() + @property + def holeSegmentType(self) -> HoleSegmentType: + """ + Returns whether this segment represents a cylinder, cone, flat, or torus geometry type + """ + return HoleSegmentType() + @property + def topDiameter(self) -> float: + """ + Returns the diameter of the top of this segment. + """ + return float() + @property + def bottomDiameter(self) -> float: + """ + Returns the diameter of the bottom of this segment. + """ + return float() + @property + def height(self) -> float: + """ + Returns the height of this segment from top to bottom. + """ + return float() + @property + def axis(self) -> core.Vector3D: + """ + Returns the unit vector that points straight up out of the segment in the global coordinate system. + """ + return core.Vector3D() + @property + def isThreaded(self) -> bool: + """ + Returns true if this segment is threaded, i.e. associated with a thread feature. + """ + return bool() + @property + def threadFeatures(self) -> list[fusion.ThreadFeature]: + """ + Returns the thread features associated with this segment, or null if none exist for this segment. + """ + return [fusion.ThreadFeature()] + @property + def halfAngle(self) -> float: + """ + For hole segments of type Cone, returns the cone's half angle, + i.e. the angle between the axis of the cone and its surface. Returns 0 for other segment types. + """ + return float() + @property + def faces(self) -> list[core.Base]: + """ + Returns the model faces this segment references. + """ + return [core.Base()] + +class RecognizedPocket(core.Base): + """ + Object that represents a single pocket (an outer boundary with depth and optional islands) + which has been recognized on the model. + See PocketRecognitionSelection for making a selection as in the UI + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RecognizedPocket: + return RecognizedPocket() + @staticmethod + def recognizePockets(body: core.Base, attackVector: core.Vector3D) -> RecognizedPockets: + """ + Gets all recognized pockets from the given body and returns them + body : Model body on which to recognize pockets + attackVector : A vector defining the orientation in which to search for pockets. This should be the + vector pointing down along the tool towards its tip and the pocket floors. + """ + return RecognizedPockets() + @property + def boundaries(self) -> list[core.Curve3DPath]: + """ + Returns the outside boundaries of this pocket (in cm). + """ + return [core.Curve3DPath()] + @property + def islands(self) -> list[core.Curve3DPath]: + """ + Returns each island inside this pocket as a separate ProfileLoop object (in cm). + """ + return [core.Curve3DPath()] + @property + def depth(self) -> float: + """ + Returns the depth of the pocket in centimeters, i.e. the positive distance from top to bottom + """ + return float() + @property + def isThrough(self) -> bool: + """ + Returns true if this is a through pocket, i.e. if the bottom is open. + """ + return bool() + @property + def isClosed(self) -> bool: + """ + Returns true if this pocket is closed, i.e. if its boundary is a single closed curve. + """ + return bool() + @property + def bottomType(self) -> RecognizedPocketBottomType: + """ + Returns the type of bottom edge this pocket has. + """ + return RecognizedPocketBottomType() + +class RecognizedPockets(core.Base): + """ + Object that represents a collection of pockets. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RecognizedPockets: + return RecognizedPockets() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RecognizedPocket: + return None + def __iter__(self) -> Iterator[RecognizedPocket]: + return None + def item(self, index: int) -> RecognizedPocket: + """ + Returns the pocket at the specified index from this collection of pockets. + index : The index of the pocket within this pocket collection to return. The first pocket in this collection has an index of 0. + """ + return RecognizedPocket() + @property + def count(self) -> int: + """ + Returns the number of pockets contained in this pocket collection. + """ + return int() + +class SetupChangeEventHandler(core.EventHandler): + """ + The SetupChangeEventHandler is a client implemented class that can be added as a handler to a + SetupChangeEvent. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SetupChangeEventHandler: + return SetupChangeEventHandler() + def notify(self, eventArgs: SetupChangeEventArgs) -> None: + """ + The function called by CAM when the associated event is fired. + eventArgs : Returns an object that provides access to additional information associated with the event. + """ + pass + +class SetupEventHandler(core.EventHandler): + """ + The SetupEventHandler is a client implemented class that can be added as a handler to a + SetupEvent. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SetupEventHandler: + return SetupEventHandler() + def notify(self, eventArgs: SetupEventArgs) -> None: + """ + The function called by CAM when the associated event is fired. + eventArgs : Returns an object that provides access to additional information associated with the event. + """ + pass + +class SetupInput(core.Base): + """ + Object that represents an setup creation parameters. + The input-object can be used from the Setups.add method + to instantiate a new setup + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SetupInput: + return SetupInput() + @property + def name(self) -> str: + """ + Name of the new setup. + This is displayed in the browser tree and can be used to access the setup from Setups. + """ + return str() + @name.setter + def name(self, value: str): + """ + Name of the new setup. + This is displayed in the browser tree and can be used to access the setup from Setups. + """ + pass + @property + def operationType(self) -> OperationTypes: + """ + Operation Type for the setup + """ + return OperationTypes() + @property + def models(self) -> list[core.Base]: + """ + A list of models, where a model can be an Occurrence, BRepBody, or MeshBody. + The returned array is connected to the SetupInput and can be added to directly + without needing to create a new array, populate it, and assign it using this property, + although, that is supported too. + """ + return [core.Base()] + @models.setter + def models(self, value: list[core.Base]): + """ + A list of models, where a model can be an Occurrence, BRepBody, or MeshBody. + The returned array is connected to the SetupInput and can be added to directly + without needing to create a new array, populate it, and assign it using this property, + although, that is supported too. + """ + pass + @property + def stockMode(self) -> SetupStockModes: + """ + StockMode for the setup. + """ + return SetupStockModes() + @stockMode.setter + def stockMode(self, value: SetupStockModes): + """ + StockMode for the setup. + """ + pass + @property + def stockSolids(self) -> list[core.Base]: + """ + An array of models, where a model can be a Component, ManufacturingModel, BRepBody, or MeshBody. + Setting this property, or adding the first object to the returned array will automatically + set the stockMode to "SolidStock". + + The returned array is connected to the SetupInput and can be added to directly + without needing to create a new array, populate it, and assign it using this property, + although, that is supported too. + """ + return [core.Base()] + @stockSolids.setter + def stockSolids(self, value: list[core.Base]): + """ + An array of models, where a model can be a Component, ManufacturingModel, BRepBody, or MeshBody. + Setting this property, or adding the first object to the returned array will automatically + set the stockMode to "SolidStock". + + The returned array is connected to the SetupInput and can be added to directly + without needing to create a new array, populate it, and assign it using this property, + although, that is supported too. + """ + pass + @property + def fixtureEnabled(self) -> bool: + """ + Set this value to enable the use of fixtures for this setup. + To then set the fixture models themselves use the `fixtures` property. """ return bool() + @fixtureEnabled.setter + def fixtureEnabled(self, value: bool): + """ + Set this value to enable the use of fixtures for this setup. + To then set the fixture models themselves use the `fixtures` property. + """ + pass + @property + def fixtures(self) -> list[core.Base]: + """ + An array of models that represent fixtures, where a model can be an Occurrence, + BRepBody, or MeshBody. + + The returned array is connected to the SetupInput and can be added to directly + without needing to create a new array, populate it, and assign using this property, + although, that is supported too. + """ + return [core.Base()] + @fixtures.setter + def fixtures(self, value: list[core.Base]): + """ + An array of models that represent fixtures, where a model can be an Occurrence, + BRepBody, or MeshBody. + + The returned array is connected to the SetupInput and can be added to directly + without needing to create a new array, populate it, and assign using this property, + although, that is supported too. + """ + pass @property - def notes(self) -> str: + def machine(self) -> Machine: """ - Gets and sets the notes of the operation. + Gets and sets the Machine associated with the setup. """ - return str() - @notes.setter - def notes(self, value: str): + return Machine() + @machine.setter + def machine(self, value: Machine): """ - Gets and sets the notes of the operation. + Gets and sets the Machine associated with the setup. """ pass @property - def operationId(self) -> int: + def printSetting(self) -> PrintSetting: """ - Returns the id of the operation. This id is unique as compared - to the ids of all other operations in the document. - This id will not change when changing the order or parent of the operation. - This id will remain valid when the document is saved and reloaded. + Gets and sets the PrintSetting associated with the setup. """ - return int() - @property - def parameters(self) -> CAMParameters: + return PrintSetting() + @printSetting.setter + def printSetting(self, value: PrintSetting): """ - Gets the CAMParameters collection for this operation. + Gets and sets the PrintSetting associated with the setup. """ - return CAMParameters() + pass @property - def attributes(self) -> core.Attributes: + def parameters(self) -> CAMParameters: """ - Returns the collection of attributes associated with this object. + Get all parameters for the setup to be created. Parameters are initialized by user defaults. + Configure operation parameters before creation for a better performance. """ - return core.Attributes() + return CAMParameters() -class Operations(core.Base): +class Setups(core.Base): """ - Collection that provides access to the individual operations within an existing setup, folder or pattern. + Collection that provides access to all of the existing setups in a document. """ def __init__(self): pass @staticmethod - def cast(arg) -> Operations: - return Operations() - def item(self, index: int) -> Operation: + def cast(arg) -> Setups: + return Setups() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Setup: + return None + def __iter__(self) -> Iterator[Setup]: + return None + def item(self, index: int) -> Setup: """ - Function that returns the specified operation using an index into the collection. + Function that returns the specified setup using an index into the collection. index : The index of the item within the collection to return. The first item in the collection has an index of 0. Returns the specified item or null if an invalid index was specified. """ - return Operation() - def itemByName(self, name: str) -> Operation: + return Setup() + def itemByName(self, name: str) -> Setup: """ - Returns the operation with the specified name (as appears in the browser). + Returns the setup with the specified name. name : The name (as it appears in the browser) of the operation. - Returns the specified operation or null in the case where there is no operation with the specified name. + Returns the specified setup or null in the case where there is no setup with the specified name. """ - return Operation() - def itemByOperationId(self, id: int) -> Operation: + return Setup() + def itemByOperationId(self, id: int) -> Setup: """ - Returns the operation with the specified operation id. + Returns the setup with the specified operation id. id : The id of the operation. - Returns the specified operation or null in the case where there is no operation with the specified operation id. + Returns the specified setup or null in the case where there is no setup with the specified operation id. """ - return Operation() + return Setup() + def createInput(self, type: OperationTypes) -> SetupInput: + """ + Creates a new SetupInput object that is used to specify the input needed to create a new setup. + type : The type specifies the type of the setup that should be created. + Returns new SetupInput object. + """ + return SetupInput() + def add(self, input: SetupInput) -> Setup: + """ + Creates a new setup. + input : The input holds all the information needed to create a valid setup. + Returns newly created Setup instance. + """ + return Setup() @property def count(self) -> int: """ - The number of items in the collection. + The number of setups in the collection. """ return int() -class ParameterValue(core.Base): +class Tool(core.Base): """ - Base class for representing the value of a parameter. - Subclasses implement value handling for available parameter types. + Represents a Tool. """ def __init__(self): pass @staticmethod - def cast(arg) -> ParameterValue: - return ParameterValue() + def cast(arg) -> Tool: + return Tool() + @staticmethod + def createFromJson(json: str) -> Tool: + """ + Creates a Tool object from given JSON string. + json : The JSON should fully define the tool and contain all tool parameters. + If the JSON contains more than one tool, only the first Tool is loaded. + Returns the newly created Tool. + """ + return Tool() + def toJson(self) -> str: + """ + Generates and returns a JSON string that contains a description of this tool. + Returns a JSON string that contains a description of this tool. + """ + return str() @property - def parent(self) -> core.Base: + def parameters(self) -> CAMParameters: """ - Get the parameter object that the value is associated with. + Gets the CAMParameters collection associated with this tool. This + defines all of the settings that describe the details of the tool. """ - return core.Base() + return CAMParameters() + @property + def presets(self) -> ToolPresets: + """ + Gets the ToolPresets collection associated with this tool. + """ + return ToolPresets() -class PostProcessInput(core.Base): +class ToolLibrary(core.Base): """ - This class defines the properties that pertain to the settings and options required for posting a - toolpath to generate a CNC file. A PostProcessInput object is a required parameter for the - postProcessAll() and postProcess() methods on the CAM class. + ToolLibrary represents a collection of Tool objects. """ def __init__(self): pass @staticmethod - def cast(arg) -> PostProcessInput: - return PostProcessInput() + def cast(arg) -> ToolLibrary: + return ToolLibrary() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Tool: + return None + def __iter__(self) -> Iterator[Tool]: + return None @staticmethod - def create(programName: str, postConfiguration: str, outputFolder: str, outputUnits: PostOutputUnitOptions) -> PostProcessInput: + def createFromJson(json: str) -> ToolLibrary: """ - Creates a new PostProcessInput object to be used as an input argument by the postProcess() and postProcessAll() - methods on the CAM class for posting toolpaths and generating CNC files. - programName : The program name or number. - If the post configuration specifies the parameter programNameIsInteger = true, then the program name must be a number. - postConfiguration : The full filename (including the path) to the post configuration file (.cps) - The post config file can be stored in any path but for convenience you can use the genericPostFolder or the personalPostFolder property on the CAM class to specify - the path if your .cps file is stored in either of those locations. You must add a forward slash (this works for Mac or Windows) to the path defined by these folder - properties before the filename (e.g. postConfiguration = cam.genericPostFolder + '/' + 'fanuc.cps') - outputFolder : The path for the existing output folder where the .cnc files will be located. This method will create the specified output folder if it does not already exist. - It is not necessary to add a slash to the end of the outputFolder path. You should use forward slashes in your path definition if you want your script to run on both Mac and Windows. - outputUnits : The units option for the cnc output. - Valid options are DocumentUnitsOutput, InchesOutput or MillimetersOutput - Returns the newly created PostProcessInput object or null if the creation failed. + Creates a ToolLibrary by given JSON-string. Raises an error if the given JSON is invalid. + json : The JSON contains all tools that should be added to the new ToolLibrary + Returns the newly created ToolLibrary. """ - return PostProcessInput() - @property - def programName(self) -> str: + return ToolLibrary() + @staticmethod + def createEmpty() -> ToolLibrary: """ - Gets and sets the program name or number. - If the post configuration specifies the parameter programNameIsInteger = true, then the program name must be a number. + Creates an empty ToolLibrary. + Returns the newly created ToolLibrary. + """ + return ToolLibrary() + def item(self, index: int) -> Tool: + """ + Get Tool by index in ToolLibrary. + index : Index of the Tool in the ToolLibrary. + Returns the Tool in the ToolLibrary by given index. + """ + return Tool() + def add(self, tool: Tool) -> bool: + """ + Inserts a Tool at the end of the ToolLibrary. + tool : The Tool that should be added. + Returns true for successful insertion, false otherwise + """ + return bool() + def remove(self, index: int) -> bool: + """ + Remove Tool by index from ToolLibrary. + index : Index of the Tool in the ToolLibrary that should be removed. + Returns true for successful deletion, false otherwise + """ + return bool() + def toJson(self) -> str: + """ + Generate and return JSON string that contains all tools of that list. + Returns JSON string that contains all tools of that list. """ return str() - @programName.setter - def programName(self, value: str): + def createQuery(self) -> ToolQuery: """ - Gets and sets the program name or number. - If the post configuration specifies the parameter programNameIsInteger = true, then the program name must be a number. + Creates a new ToolQuery that is used to query the library for tools matching + the query. + Returns a new ToolQuery. The query is predefined by given parameter. + """ + return ToolQuery() + @property + def count(self) -> int: """ + The number of tools in the ToolLibrary. + """ + return int() + +class ToolPreset(core.Base): + """ + A Preset defines the material specific properties of a Tool. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> ToolPreset: + return ToolPreset() @property - def programComment(self) -> str: + def name(self) -> str: """ - Gets and sets the program comment. The default value for this property is an empty string (""). + Gets and sets the name of that Preset. """ return str() - @programComment.setter - def programComment(self, value: str): + @name.setter + def name(self, value: str): """ - Gets and sets the program comment. The default value for this property is an empty string (""). + Gets and sets the name of that Preset. """ pass @property - def postConfiguration(self) -> str: + def id(self) -> str: """ - Gets and sets the full filename (including the path) for the post configuration file (.cps) + Gets and sets the identifier of that Preset. The id can be used to select a Preset for a Operation. """ return str() - @postConfiguration.setter - def postConfiguration(self, value: str): + @id.setter + def id(self, value: str): """ - Gets and sets the full filename (including the path) for the post configuration file (.cps) + Gets and sets the identifier of that Preset. The id can be used to select a Preset for a Operation. """ pass @property - def outputFolder(self) -> str: + def parameters(self) -> CAMParameters: """ - Gets and sets the path for the output folder where the .cnc files will be located. + Gets the CAMParameters collection for this Preset. """ - return str() - @outputFolder.setter - def outputFolder(self, value: str): + return CAMParameters() + +class ToolPresets(core.Base): + """ + ToolPresets represents a collection of ToolPreset. + It provides access and allows the manipulation like removing and extending the list. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ToolPresets: + return ToolPresets() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ToolPreset: + return None + def __iter__(self) -> Iterator[ToolPreset]: + return None + def item(self, index: int) -> ToolPreset: + """ + Get Preset by index. + index : Index of the Preset in the owning Tool that should be returned. + Returns Preset at by given index, null otherwise + """ + return ToolPreset() + def itemsByName(self, name: str) -> list[ToolPreset]: + """ + Search presets by name. Returns all presets for which the name matches the given pattern. + Compare is case insensitive and characters * and ? are used for wild-card matching. + name : Name of the Preset to search for. The string can define a pattern with wild-card matching. + '*' represents an arbitrary sequence including the empty sequence and '?' represents one arbitrary character. + Returns all presets with matching name. + """ + return [ToolPreset()] + def add(self) -> ToolPreset: + """ + Creates and inserts a new Preset at the end of the Preset collection of the owning Tool. + The new Preset will have the same values as the owning Tool. + Returns the newly created Preset + """ + return ToolPreset() + def remove(self, index: int) -> bool: + """ + Remove Preset by index from the owning Tool. + index : Index of the Preset in the Tool that should be removed. + Returns true for successful deletion, false otherwise """ - Gets and sets the path for the output folder where the .cnc files will be located. + return bool() + @property + def count(self) -> int: """ + The number of Presets of the owning Tool. + """ + return int() + +class ToolQuery(core.Base): + """ + ToolQuery objects are used to search for a set of Tools or ToolLibrary objects inside of the ToolLibraries collection or for a set of Tools inside of a particular ToolLibrary. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> ToolQuery: + return ToolQuery() + def execute(self) -> list[ToolQueryResult]: + """ + Query for specific a Tool or ToolLbrary. + Returns a list of `ToolQueryResult`. Each result references a Tool that matches this query. + """ + return [ToolQueryResult()] @property - def outputUnits(self) -> PostOutputUnitOptions: + def vendor(self) -> str: """ - Gets and sets the units option for the cnc output. - Valid options are DocumentUnitsOutput, InchesOutput or MillimetersOutput + The case-insensitive vendor specifies the vendor of the tool. The default empty vendor applies to all tools. """ - return PostOutputUnitOptions() - @outputUnits.setter - def outputUnits(self, value: PostOutputUnitOptions): + return str() + @vendor.setter + def vendor(self, value: str): """ - Gets and sets the units option for the cnc output. - Valid options are DocumentUnitsOutput, InchesOutput or MillimetersOutput + The case-insensitive vendor specifies the vendor of the tool. The default empty vendor applies to all tools. """ pass @property - def isOpenInEditor(self) -> bool: + def url(self) -> core.URL: """ - Gets and sets the option if opening the cnc file with the editor after it is created. - The default value for this property is true. + The URL specifies the location and folder to search for in the Tool library. + Setting the URL updates the location. + When searching inside a ToolLibrary the URL will be ignored. """ - return bool() - @isOpenInEditor.setter - def isOpenInEditor(self, value: bool): + return core.URL() + @url.setter + def url(self, value: core.URL): """ - Gets and sets the option if opening the cnc file with the editor after it is created. - The default value for this property is true. + The URL specifies the location and folder to search for in the Tool library. + Setting the URL updates the location. + When searching inside a ToolLibrary the URL will be ignored. """ pass @property - def areToolChangesMinimized(self) -> bool: + def location(self) -> LibraryLocations: """ - Gets and sets that operations may be reordered between setups to minimize the number of tool changes. - Operations within each setup will still be executed in the programmed order. - This is commonly used for tombstone machining where you have multiple setups. - The default value for this property is false. + Specifies the location to search in the Tool library. + Setting the location clears any previous specified URL. + When searching inside a ToolLibrary the location will be ignored. """ - return bool() - @areToolChangesMinimized.setter - def areToolChangesMinimized(self, value: bool): + return LibraryLocations() + @location.setter + def location(self, value: LibraryLocations): """ - Gets and sets that operations may be reordered between setups to minimize the number of tool changes. - Operations within each setup will still be executed in the programmed order. - This is commonly used for tombstone machining where you have multiple setups. - The default value for this property is false. + Specifies the location to search in the Tool library. + Setting the location clears any previous specified URL. + When searching inside a ToolLibrary the location will be ignored. """ pass @property - def postProperties(self) -> core.NamedValues: + def criteria(self) -> core.NamedValues: """ - Gets and sets the list of post properties. - Each property has a string name and a ValueInput object. - The default value for this is an empty NamedValues. + List of all criteria a tool must fulfill. Use the suffix '.min' and '.max', to define a upper and / or lower boundary for a particular value. """ return core.NamedValues() - @postProperties.setter - def postProperties(self, value: core.NamedValues): + +class ToolQueryResult(core.Base): + """ + The ToolQueryResult represents one result item of a ToolQuery. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ToolQueryResult: + return ToolQueryResult() + @property + def toolLibraryURL(self) -> core.URL: """ - Gets and sets the list of post properties. - Each property has a string name and a ValueInput object. - The default value for this is an empty NamedValues. + The URL defines the location of the ToolLibrary asset in ToolLibraries. """ - pass + return core.URL() @property - def machine(self) -> Machine: + def toolLibrary(self) -> ToolLibrary: """ - Gets and sets the machine used for post processing. - It will override the machines associated with the operations or setup when posting. - The default value for this property is null. + The ToolLibrary contains a Tool that matches the query. """ - return Machine() - @machine.setter - def machine(self, value: Machine): + return ToolLibrary() + @property + def tool(self) -> Tool: """ - Gets and sets the machine used for post processing. - It will override the machines associated with the operations or setup when posting. - The default value for this property is null. + The Tool that matches the query. """ - pass + return Tool() + @property + def toolItemIndex(self) -> int: + """ + The index specifies the index of the Tool inside the ToolLibrary. + """ + return int() -class SandvikIntegration(core.Base): +class AdditiveFFFLimitsMachineElement(MachineElement): """ - This singleton object provides access to application-level events and properties - that relate to the CAM (Manufacture) workspace in Fusion 360. + Machine element representing limits for fused filament fabrication (FFF) machine motion and temperatures. """ def __init__(self): pass @staticmethod - def cast(arg) -> SandvikIntegration: - return SandvikIntegration() + def cast(arg) -> AdditiveFFFLimitsMachineElement: + return AdditiveFFFLimitsMachineElement() @staticmethod - def get() -> SandvikIntegration: + def staticTypeId() -> str: + """ + Identifying name for all elements of this type. + Pass this to the itemByType or itemById methods of MachineElements to filter to elements of this type. + Returns identifier of this type. + """ + return str() + @property + def homePosition(self) -> core.Point3D: """ - Access to the root CAMGlobal object. - Return the root SandvikIntegration object or null if it failed. + Position of the machine home location. + """ + return core.Point3D() + @homePosition.setter + def homePosition(self, value: core.Point3D): """ - return SandvikIntegration() - def getStockMaterialId(self, setup: Setup) -> str: + Position of the machine home location. """ - Get the stock material id specified for the Setup. - setup : The Setup object to get the stock material id for. - The ID of the stock material set for the Setup. + pass + @property + def parkPosition(self) -> core.Point3D: """ - return str() - def setStockMaterialId(self, setup: Setup, id: str) -> bool: + Position machine moves to when "parked". + """ + return core.Point3D() + @parkPosition.setter + def parkPosition(self, value: core.Point3D): + """ + Position machine moves to when "parked". + """ + pass + @property + def maximumBedTemperature(self) -> float: + """ + Maximum bed temperature in degrees C. + """ + return float() + @maximumBedTemperature.setter + def maximumBedTemperature(self, value: float): + """ + Maximum bed temperature in degrees C. + """ + pass + @property + def maximumXYSpeed(self) -> float: + """ + Maximum supported speed for motion in the X or Y axes in cm/s. + """ + return float() + @maximumXYSpeed.setter + def maximumXYSpeed(self, value: float): """ - Set the stock material id for the Setup. - setup : The Setup object to set the stock material id for. - Returns true if successful. + Maximum supported speed for motion in the X or Y axes in cm/s. """ - return bool() - def getStockMaterialText(self, setup: Setup) -> str: + pass + @property + def maximumZSpeed(self) -> float: """ - Get the stock material id specified for the Setup. - setup : The Setup object to get the stock material id for. - The ID of the stock material set for the Setup. + Maximum supported speed for motion in the Z axis in cm/s. """ - return str() - def setStockMaterialText(self, setup: Setup, text: str) -> bool: + return float() + @maximumZSpeed.setter + def maximumZSpeed(self, value: float): """ - Set the stock material text for the Setup. This will be displayed in the user interface. - setup : The Setup object to set the stock material text for. - Returns true if successful. + Maximum supported speed for motion in the Z axis in cm/s. """ - return bool() + pass @property - def preIntegrationEvent(self) -> SandvikPreIntegrationEvent: + def maximumXYAcceleration(self) -> float: """ - This event will be fired just before an operation/setup dialog (create/edit) is - presented. This will allow the addin to indicate which, if any, of the integration - actions should be shown, as well as details of the presentation. See - SandvikPreIntegrationEventArgs for details. + Maximum supported acceleration for motion in the X or Y axes in cm/s^2. """ - return SandvikPreIntegrationEvent() - @property - def integrationEvent(self) -> SandvikIntegrationEvent: + return float() + @maximumXYAcceleration.setter + def maximumXYAcceleration(self, value: float): """ - An integration event will be fired when any of the buttons related to the - integration is pressed. The event arguments will provide information about which - button was pressed, and will provide contextual information, such as the object - active at the time. + Maximum supported acceleration for motion in the X or Y axes in cm/s^2. """ - return SandvikIntegrationEvent() + pass @property - def settings(self) -> str: + def maximumZAcceleration(self) -> float: """ - Provides a mechanism to store and retrieve user-specific information as a hidden system preference. + Maximum supported acceleration for motion in the Z axis in cm/s^2. """ - return str() - @settings.setter - def settings(self, value: str): + return float() + @maximumZAcceleration.setter + def maximumZAcceleration(self, value: float): """ - Provides a mechanism to store and retrieve user-specific information as a hidden system preference. + Maximum supported acceleration for motion in the Z axis in cm/s^2. """ pass -class SandvikIntegrationEventHandler(core.EventHandler): +class AdditivePlatformMachineElement(MachineElement): """ - Event handler for the SandvikIntegrationEvent event. + Machine element representing the additive platform settings. """ def __init__(self): pass @staticmethod - def cast(arg) -> SandvikIntegrationEventHandler: - return SandvikIntegrationEventHandler() - def notify(self, eventArgs: SandvikIntegrationEventArgs) -> None: + def cast(arg) -> AdditivePlatformMachineElement: + return AdditivePlatformMachineElement() + @staticmethod + def staticTypeId() -> str: """ - The function called by CAM when the associated event is fired. - eventArgs : Returns an object that provides access to additional information associated with the event. + Identifying name for all elements of this type. + Pass this to the itemByType or itemById methods of MachineElements to filter to elements of this type. + Returns identifier of this type. """ - pass - -class SandvikPreIntegrationEventHandler(core.EventHandler): - """ - Event handler for the SandvikPreIntegrationEvent event. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SandvikPreIntegrationEventHandler: - return SandvikPreIntegrationEventHandler() - def notify(self, eventArgs: SandvikPreIntegrationEventArgs) -> None: + return str() + @property + def size(self) -> core.Point3D: """ - The function called by CAM when the associated event is fired. - eventArgs : Returns an object that provides access to additional information associated with the event. + Usable platform size. + Units are cm. """ - pass - -class SearchNetworkMachinesEventHandler(core.EventHandler): - """ - Event handler for the SearchNetworkMachinesEvent event. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SearchNetworkMachinesEventHandler: - return SearchNetworkMachinesEventHandler() - def notify(self, eventArgs: SearchNetworkMachinesEventArgs) -> None: + return core.Point3D() + @size.setter + def size(self, value: core.Point3D): """ - The function called by Fusion 360 when the associated event is fired. - eventArgs : An object that provides access to additional information associated with the event. + Usable platform size. + Units are cm. """ pass - -class SetupChangeEventHandler(core.EventHandler): - """ - The SetupChangeEventHandler is a client implemented class that can be added as a handler to a - SetupChangeEvent. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SetupChangeEventHandler: - return SetupChangeEventHandler() - def notify(self, eventArgs: SetupChangeEventArgs) -> None: + @property + def origin(self) -> core.Point3D: """ - The function called by CAM when the associated event is fired. - eventArgs : Returns an object that provides access to additional information associated with the event. + Origin point specifying the platform coordinates that correspond to the origin of the platform mesh. + Units are cm. + """ + return core.Point3D() + @origin.setter + def origin(self, value: core.Point3D): + """ + Origin point specifying the platform coordinates that correspond to the origin of the platform mesh. + Units are cm. """ pass - -class SetupEventHandler(core.EventHandler): - """ - The SetupEventHandler is a client implemented class that can be added as a handler to a - SetupEvent. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SetupEventHandler: - return SetupEventHandler() - def notify(self, eventArgs: SetupEventArgs) -> None: + @property + def clearance(self) -> float: """ - The function called by CAM when the associated event is fired. - eventArgs : Returns an object that provides access to additional information associated with the event. + Clearance height used for automatically arranging parts and suggested height for positioning part on the build platform. + Units are cm. + """ + return float() + @clearance.setter + def clearance(self, value: float): + """ + Clearance height used for automatically arranging parts and suggested height for positioning part on the build platform. + Units are cm. """ pass -class Setups(core.Base): +class AdditiveSetupUtility(ModifyUtility): """ - Collection that provides access to all of the existing setups in a document. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + AdditiveSetupUtility provides functionality for modifications of additive setups. """ def __init__(self): pass @staticmethod - def cast(arg) -> Setups: - return Setups() - def item(self, index: int) -> Setup: - """ - Function that returns the specified setup using an index into the collection. - index : The index of the item within the collection to return. The first item in the collection has an index of 0. - Returns the specified item or null if an invalid index was specified. - """ - return Setup() - def itemByName(self, name: str) -> Setup: - """ - Returns the setup with the specified name. - name : The name (as it appears in the browser) of the operation. - Returns the specified setup or null in the case where there is no setup with the specified name. - """ - return Setup() - def itemByOperationId(self, id: int) -> Setup: - """ - Returns the setup with the specified operation id. - id : The id of the operation. - Returns the specified setup or null in the case where there is no setup with the specified operation id. + def cast(arg) -> AdditiveSetupUtility: + return AdditiveSetupUtility() + def splitSupport(self, targets: list[core.Base], splitType: SplitSupportTypes) -> bool: """ - return Setup() - @property - def count(self) -> int: - """ - The number of setups in the collection. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Splits support structure of given target bodies into separate mesh body. + targets : Targets contain any input bodies whose support is to be inserted into a new mesh body. + Input target must belong to the setup and must be part of the associated manufacturing model. + Raises an error if any input target is not part of the setup or is not part of the associated manufacturing model. + splitType : The splitType defines the behavior for support that contains solid and open mesh geometry. + True on success, false on errors """ - return int() + return bool() class BooleanParameterValue(ParameterValue): """ @@ -2033,15 +4697,55 @@ def value(self, value: bool): """ pass +class CadContours2dParameterValue(ParameterValue): + """ + A parameter value that is a CadContours2dParameterValue. + The user needs to set the parameter anew via the API after a model update or after the CurveSelections returned by getCurveSelections() has been edited. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CadContours2dParameterValue: + return CadContours2dParameterValue() + def getCurveSelections(self) -> CurveSelections: + """ + Get the values of the parameter as a collection of CadCurves, which might consist of chains, pockets, silhouettes and face countours. + Returns current CurveSelections of the value. + """ + return CurveSelections() + def applyCurveSelections(self, curveSelections: CurveSelections) -> None: + """ + Set the values of the parameter as a collection of CadCurves. + If the input does not define continuous contours, the contour is amended and calculated, but only if used on Operations, not OperationInputs + When used with OperationInputs, the contours are calculated when creating an operation out of the input. + """ + pass + class CadObjectParameterValue(ParameterValue): """ - A parameter value that is a CadObject. + A parameter value that is a collection of cad objects. """ def __init__(self): pass @staticmethod def cast(arg) -> CadObjectParameterValue: return CadObjectParameterValue() + @property + def value(self) -> list[core.Base]: + """ + Get or set the value of the parameter. + If the value originates from a component instead of an occurrence, or an occurrence outside of the CAM environment, then the subpath is checked against the CAM model tree. + An exception is thrown if the matching fails or the given entity does not match the expected type. + """ + return [core.Base()] + @value.setter + def value(self, value: list[core.Base]): + """ + Get or set the value of the parameter. + If the value originates from a component instead of an occurrence, or an occurrence outside of the CAM environment, then the subpath is checked against the CAM model tree. + An exception is thrown if the matching fails or the given entity does not match the expected type. + """ + pass class CAM(core.Product): """ @@ -2052,62 +4756,55 @@ def __init__(self): @staticmethod def cast(arg) -> CAM: return CAM() - def export3MFForDefaultAdditiveSetup(self, filepath: str, addSimulationInfo: bool, simPostProcess: bool, simSplitSurrogates: bool, simKeepThickeningStructure: bool) -> bool: - """ - Exports the default additive setup's models into a 3mf file. The 3mf also contains machine and support information. - True on success, false on errors or wrong setup type - """ - return bool() def generateToolpath(self, operations: core.Base) -> GenerateToolpathFuture: """ - Generates/Regenerates all of the toolpaths (including those nested in sub-folders or patterns) - for the specified objects. - operations : An Operation, Setup, Folder or Pattern object for which to generate the toolpath/s for. You can also - specify a collection of any combination of these object types. - Return GenerateToolpathFuture that includes the status of toolpath generation. + Generates or regenerates all the specified objects, including those nested in sub-folders or patterns. + operations : An Operation, Setup, Folder, or Pattern object. You can also use an ObjectCollection + to specify multiple objects of any of the supported types. + Return GenerateToolpathFuture that includes the status of the operation generation. """ return GenerateToolpathFuture() def generateAllToolpaths(self, skipValid: bool) -> GenerateToolpathFuture: """ - Generates/Regenerates all toolpaths (includes those nested in sub-folders or patterns) in the document. - skipValid : Option to skip valid toolpaths and only regenerate invalid toolpaths. - Return GenerateToolpathFuture that includes the status of toolpath generation. + Generates or regenerates all the operations in the document, including those nested in sub-folders or patterns. + skipValid : Option to skip valid operations and only regenerate invalid operations. + Return GenerateToolpathFuture that includes the status of operation generation. """ return GenerateToolpathFuture() def clearToolpath(self, operations: core.Base) -> bool: """ - Clears all of the toolpaths (including those nested in sub-folders or patterns) for the specified objects. - operations : An Operation, Setup, Folder or Pattern object for which to clear the toolpath/s for. You can also - specify a collection of any combination of these object types. + Clears all the toolpaths for the specified objects, including those nested in sub-folders or patterns. + operations : An Operation, Setup, Folder, or Pattern object. You can also use and ObjectCollection + to specify multiple objects of any combination of types. Return true if successful. """ return bool() def clearAllToolpaths(self) -> bool: """ - Clears all the toolpaths (includes those nested in sub-folders or patterns) in the document + Clears all the toolpaths in the document, including those nested in sub-folders or patterns. Return true if successful. """ return bool() def checkToolpath(self, operations: core.Base) -> bool: """ - Checks if toolpath operations (including those nested in sub-folders or patterns) are valid for the specified objects. - operations : An Operation, Setup, Folder or Pattern object for which to check the toolpath/s of. You can also - specify a collection of any combination of these object types. - Returns true if the toolpath operations are valid + Checks if the operations (including those nested in sub-folders or patterns) are valid and up to date. + operations : An Operation, Setup, Folder, or Pattern object. You can also use an ObjectCollection + to specify multiple objects of any of the supported types. + Returns true if the operations are valid """ return bool() def checkAllToolpaths(self) -> bool: """ - Checks if all the toolpath operations (includes those nested in sub-folders or patterns) in the document are valid - Returns true if the all toolpath operations are valid + Checks if all the operations (includes those nested in sub-folders or patterns) in the document are valid and up to date. + Returns true if the all operations are valid """ return bool() def postProcess(self, operations: core.Base, input: PostProcessInput) -> bool: """ Post all of the toolpaths (including those nested in sub-folders or patterns) for the specified objects. If post processing fails, an error message can be retrieved from the error log explaining the reason for the failure. - operations : An Operation, Setup, Folder or Pattern object for which to post the toolpath/s of. You can also - specify a collection of any combination of these object types. + operations : An Operation, Setup, Folder, or Pattern object. You can also use an ObjectCollection + to specify multiple objects of any of the supported types. input : The PostProcessInput object that defines the post options and parameters. Returns true if successful """ @@ -2120,11 +4817,11 @@ def postProcessAll(self, input: PostProcessInput) -> bool: Returns true if successful. """ return bool() - def generateSetupSheet(self, operations: core.Base, format: SetupSheetFormats, folder: str, openDocument: bool) -> bool: + def generateSetupSheet(self, operations: core.Base, format: SetupSheetFormats, folder: str, openDocument: bool = True) -> bool: """ Generate the setup sheets for the specified objects - operations : An Operation, Setup, Folder or Pattern object for which to generate the setup sheet/s for. You can also - specify a collection of any combination of these object types. + operations : An Operation, Setup, Folder, or Pattern object. You can also use an ObjectCollection + to specify multiple objects of any of the supported types. format : The document format for the setup sheet. Valid options are HTMLFormat and ExcelFormat. Limitation: "ExcelFormat" can be used in windows OS only. folder : The destination folder to locate the setup sheet documents in. @@ -2132,7 +4829,7 @@ def generateSetupSheet(self, operations: core.Base, format: SetupSheetFormats, f Returns true if successful """ return bool() - def generateAllSetupSheets(self, format: SetupSheetFormats, folder: str, openDocument: bool) -> bool: + def generateAllSetupSheets(self, format: SetupSheetFormats, folder: str, openDocument: bool = True) -> bool: """ Generates all of the setup sheets for all of the operations in the document format : The document format for the setup sheet. Valid options are HTMLFormat and ExcelFormat. @@ -2145,18 +4842,36 @@ def generateAllSetupSheets(self, format: SetupSheetFormats, folder: str, openDoc def getMachiningTime(self, operations: core.Base, feedScale: float, rapidFeed: float, toolChangeTime: float) -> MachiningTime: """ Get the machining time for the specified objects. - operations : An Operation, Setup, Folder or Pattern object for which to get the machining time for. You can also - specify a collection of any combination of these object types. + operations : An Operation, Setup, Folder, or Pattern object. You can also use an ObjectCollection + to specify multiple objects of any of the supported types. feedScale : The feed scale value (%) to use. rapidFeed : The rapid feed rate in centimeters per second. toolChangeTime : The tool change time in seconds. Returns a MachiningTime object that has properties holding the calculation results. """ return MachiningTime() + def generateTemplateXML(self, operations: core.Base) -> str: + """ + Generates a template for the specified Operations, Setups, or Folders and returns + the template as an XML string. + operations : An Operation, Setup or Folder object from which to generate the template. You can also + specify a collection of any combination of these object types. + Returns the template XML as a string. + """ + return str() + def checkValidity(self) -> None: + """ + Checks whether the models used by the operations have changed in the mean time + and invalidates the affected operations if needed. + Should be used for cases where the automatic detection does not work yet, + for instance when design changes are expected before a Manufacture API call. + Also recommended at the beginning of a script or the beginning of an event handler. + """ + pass @property def setups(self) -> Setups: """ - Returns the Setups collection that provides access to existing setups + Returns the Setups collection that provides access to existing setups. """ return Setups() @property @@ -2193,75 +4908,85 @@ def customGraphicsGroups(self) -> fusion.CustomGraphicsGroups: @property def designRootOccurrence(self) -> fusion.Occurrence: """ - Returns the occurrence that references the design root component in CAM product. + The CAM product has its own root component which has a single occurrence that + references the Design root occurrence. This property returns this occurrence. """ return fusion.Occurrence() @property - def flatPatternOccurrences(self) -> fusion.OccurrenceList: + def allMachines(self) -> list[Machine]: """ - Returns a read only list of flat pattern occurrences in CAM product. + Gets an array containing all the machines in the document. """ - return fusion.OccurrenceList() - @property - def allMachines(self) -> core.ObjectCollection: - """ - Gets a collection containing all of the machines in the document. - """ - return core.ObjectCollection() + return [Machine()] @property def setupCreated(self) -> SetupEvent: """ - The SetupCreated event fires when a new setup was created. + The SetupCreated event fires when a new setup is created. """ return SetupEvent() @property def setupDestroying(self) -> SetupEvent: """ - The setupDestroying event fires before a setup will be destroyed. + The setupDestroying event fires before a setup is destroyed. """ return SetupEvent() @property def setupChanged(self) -> SetupChangeEvent: """ - The SetupChanged event fires when a setup was modified. + The SetupChanged event fires when a setup is modified. """ return SetupChangeEvent() @property def setupActivating(self) -> SetupEvent: """ - The SetupActivating event fires before a setup will be activated. + The SetupActivating event fires before a setup is activated. """ return SetupEvent() @property def setupActivated(self) -> SetupEvent: """ - The SetupActivated event fires when a setup was activated. + The SetupActivated event fires when a setup is activated. """ return SetupEvent() @property def setupDeactivating(self) -> SetupEvent: """ - The SetupDeactivating event fires before a setup will be deactivated. + The SetupDeactivating event fires before a setup is deactivated. """ return SetupEvent() @property def setupDeactivated(self) -> SetupEvent: """ - The SetupDeactivated event fires when a setup was deactivated. + The SetupDeactivated event fires when a setup is deactivated. """ return SetupEvent() @property def exportManager(self) -> CAMExportManager: """ - Returns the API-only Export Manager instance + Returns the Export Manager which provides access to the functionality + to export in various formats. """ return CAMExportManager() @property - def inspectionResults(self) -> CAMInspectionResults: + def manufacturingModels(self) -> ManufacturingModels: + """ + Returns the collection of manufacturing models in the document. + """ + return ManufacturingModels() + @property + def documentToolLibrary(self) -> DocumentToolLibrary: """ - Returns the results collection that provides access to existing measures then pathMeasures and manualMeasures + Gets the document ToolLibrary. The ToolLibrary contains all tools used by any operation inside the document. + Changes to the original ToolLibrary will not affect any operation because the document ToolLibrary is an + independent copy. """ - return CAMInspectionResults() + return DocumentToolLibrary() + @property + def ncPrograms(self) -> NCPrograms: + """ + Returns the collection of NC programs in the document. + """ + return NCPrograms() class CAM3MFExportOptions(CAMExportOptions): """ @@ -2372,6 +5097,48 @@ def areSimulationThickeningStructuresKept(self, value: bool): The default value is false. """ pass + @property + def metadata(self) -> CAM3MFExportMetadataOptions: + """ + Class for setting the meta data options with in the 3mf export + """ + return CAM3MFExportMetadataOptions() + +class CAMAdditiveBuildExportOptions(CAMExportOptions): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Additive buildfile export option. Available with all additive machines except for FFF and DED based machines. + Currently picks the first export filter from the print setting's export filter list. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CAMAdditiveBuildExportOptions: + return CAMAdditiveBuildExportOptions() + @property + def exportFilters(self) -> list[CAMAdditiveBuildExportFilter]: + """ + Gets a list of available export filters from the setup's print setting. + The export object must be set before using this function. + """ + return [CAMAdditiveBuildExportFilter()] + @property + def selectedExportFilterId(self) -> str: + """ + Gets and sets the export filter to be used for the export. + By default, this is the first entry in the print setting's filter list. + """ + return str() + @selectedExportFilterId.setter + def selectedExportFilterId(self, value: str): + """ + Gets and sets the export filter to be used for the export. + By default, this is the first entry in the print setting's filter list. + """ + pass class CAMFolder(OperationBase): """ @@ -2382,13 +5149,20 @@ def __init__(self): @staticmethod def cast(arg) -> CAMFolder: return CAMFolder() - def createFromTemplate(self, templateFilePath: str) -> core.ObjectCollection: + def activate(self) -> bool: """ - Create and add operations, folders or patterns from the specified template file to the end of this folder. - templateFilePath : The full path to the template file. - Returns the collection containing all of the operations, folders and patterns created from the template file. + Sets this object as the default container. + Returns true if the activation was successful. """ - return core.ObjectCollection() + return bool() + def createFromCAMTemplate2(self, input: CreateFromCAMTemplateInput) -> list[OperationBase]: + """ + Create new operations, folders, or patterns from the specified CAMTemplate. They + are added to the end of the parent setup. + input : Input object that contains the template to create from and the generation mode. + Returns an array containing all of the operations, folders and patterns created from the template. + """ + return [OperationBase()] @property def isActive(self) -> bool: """ @@ -2437,29 +5211,103 @@ def allOperations(self) -> core.ObjectCollection: """ return core.ObjectCollection() -class CAMFormlabsExportOptions(CAMExportOptions): +class CAMHoleRecognition(OperationBase): """ - Formlabs export option. Available only with Formlabs machines. Expects a setup as its export object. + Object that represents a hole recognition object in an existing Setup, Folder or Pattern. """ def __init__(self): pass @staticmethod - def cast(arg) -> CAMFormlabsExportOptions: - return CAMFormlabsExportOptions() + def cast(arg) -> CAMHoleRecognition: + return CAMHoleRecognition() + def activate(self) -> bool: + """ + Set this object as the default container. + Returns true if the activation was successful. + """ + return bool() @property - def areSupportsIncluded(self) -> bool: + def isActive(self) -> bool: """ - Flag toggling if supports should be included in the exported file. The flag is only evaluated if the user has bought the extension. - The default value is false. + Gets if this hole recognition is active. """ return bool() - @areSupportsIncluded.setter - def areSupportsIncluded(self, value: bool): + @property + def operations(self) -> Operations: """ - Flag toggling if supports should be included in the exported file. The flag is only evaluated if the user has bought the extension. - The default value is false. + Returns the Operations collection that provides access to existing individual operations + in this hole recognition. + """ + return Operations() + @property + def folders(self) -> CAMFolders: + """ + Returns the Folders collection that provides access to existing folders + in this hole recognition. + """ + return CAMFolders() + @property + def children(self) -> ChildOperationList: + """ + Returns a collection containing all of the immediate (top level) child operations, folders and patterns in this folder + in the order they appear in the browser. + """ + return ChildOperationList() + @property + def parent(self) -> core.Base: + """ + Returns the parent Setup, Folder or Pattern for this Folder. + """ + return core.Base() + @property + def allOperations(self) -> list[OperationBase]: + """ + Returns an array containing all of the operations in this hole recognition. + This includes all operations nested in folders and patterns. """ + return [OperationBase()] + +class CAMTemplateLibrary(CAMLibrary): + """ + The CAMTemplateLibrary provides access to templates. Using this object you can import templates + and get existing templates using a URL. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> CAMTemplateLibrary: + return CAMTemplateLibrary() + def importTemplate(self, camTemplate: CAMTemplate, destinationUrl: core.URL) -> core.URL: + """ + Import a given template at a specific location. The template will be stored in the library. Throws an error if the given URL is read-only. + camTemplate : The template that should be imported. + destinationUrl : The URL to the folder where to save the template. + Returns the URL of the newly imported template, or null if the import failed. + """ + return core.URL() + def updateTemplate(self, camTemplate: CAMTemplate, url: core.URL) -> core.URL: + """ + Update a template in the library. The library substitutes the existing template at the URL by given template. Throws an error if the URL does not already point to an existing template. + If the name member of the CAMTemplate doesn't match the name portion of the URL then this will include a rename operation and the returned URL will reflect the new name. + camTemplate : The template that should be persisted. + url : The URL to the existing template in the library that should be updated. + Returns the URL of the updated template, or null if the update failed. + """ + return core.URL() + def templateAtURL(self, url: core.URL) -> CAMTemplate: + """ + Gets a specific template specified by the given URL. Returns null if the specified template does not exist. + url : The URL to the template to be fetched. + Returns the template for a valid URL, returns null otherwise. + """ + return CAMTemplate() + def childTemplates(self, url: core.URL) -> list[CAMTemplate]: + """ + Get all templates by the given parent folder URL. Returns null if there is no folder at the URL. + url : The URL of the folder to get the templates from. + Returns an array of templates contained within the specified folder URL. Returns null if the URL is not valid. + """ + return [CAMTemplate()] class ChoiceParameterValue(ParameterValue): """ @@ -2493,76 +5341,120 @@ def value(self, value: str): """ pass -class CreateMachineConfigurationsEvent(core.Event): +class ControllerConfigurationMachineElement(MachineElement): """ - This event is fired from the 'Find network machines' dialog when MachineDescription(s) - previously provided during the handling of the SearchNetworkMachines event are selected - to add to the user's Machine Library. This event will allow the addins to create - machine configurations corresponding to the selected MachineDescription objects. - Handlers of this event should create machine configurations corresponding to each - MachineDescription present in the 'machineDescriptions' property in the - CreateMachineConfigurationsEventArgs and set them on the 'machines' property of the - event args. See CreateMachineConfigurationsEventArgs for details. Note that this event is - raised on a background thread. + Machine element representing controller settings for kinematics. """ def __init__(self): pass @staticmethod - def cast(arg) -> CreateMachineConfigurationsEvent: - return CreateMachineConfigurationsEvent() - def add(self, handler: CreateMachineConfigurationsEventHandler) -> bool: + def cast(arg) -> ControllerConfigurationMachineElement: + return ControllerConfigurationMachineElement() + @staticmethod + def staticTypeId() -> str: """ - Add a handler to be notified when the CreateMachineConfigurationsEvent occurs. - handler : The handler object to be called when this event is fired. - Returns true if the addition of the handler was successful. + Identifying name for all elements of this type. + Pass this to the itemByType or itemById methods of MachineElements to filter to elements of this type. + Returns identifier of this type. """ - return bool() - def remove(self, handler: CreateMachineConfigurationsEventHandler) -> bool: + return str() + @property + def axisConfigurations(self) -> MachineAxisConfigurations: """ - Removes a handler from the CreateMachineConfigurationsEvent. - handler : The handler object to be removed from the event. - Returns true if removal of the handler was successful. + Gets the collection of axis configuration objects. + """ + return MachineAxisConfigurations() + @property + def maxNormalSpeed(self) -> float: + """ + Global maximum non-rapid linear motion speed. + Units are cm/s. + """ + return float() + @maxNormalSpeed.setter + def maxNormalSpeed(self, value: float): + """ + Global maximum non-rapid linear motion speed. + Units are cm/s. + """ + pass + @property + def maxBlockProcessingSpeed(self) -> int: + """ + Maximum block processing rate for the controller. + """ + return int() + @maxBlockProcessingSpeed.setter + def maxBlockProcessingSpeed(self, value: int): + """ + Maximum block processing rate for the controller. + """ + pass + +class CurveSelection(GeometrySelection): + """ + Base class of all curve based geometry selections. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CurveSelection: + return CurveSelection() + @property + def inputGeometry(self) -> list[core.Base]: + """ + Get or set the value of the input geometry. + If the value originates from a component instead of an occurrence, or an occurrence outside of the CAM environment, then the subpath is checked against the CAM model tree. + For some child classes, this may be the same as the value property, but might also consist of fewer elements. + Valid elements depend on the capabilities of the derived class. An exception is thrown if the matching fails or the given entity does not match the expected type. + """ + return [core.Base()] + @inputGeometry.setter + def inputGeometry(self, value: list[core.Base]): """ - return bool() + Get or set the value of the input geometry. + If the value originates from a component instead of an occurrence, or an occurrence outside of the CAM environment, then the subpath is checked against the CAM model tree. + For some child classes, this may be the same as the value property, but might also consist of fewer elements. + Valid elements depend on the capabilities of the derived class. An exception is thrown if the matching fails or the given entity does not match the expected type. + """ + pass -class CreateMachineConfigurationsEventArgs(core.EventArgs): +class DocumentToolLibrary(ToolLibrary): """ - This EventArgs object will be sent with the CreateMachineConfigurationsEvent. + DocumentToolLibrary provides access to tools used by the document. It supports + adding, updating and deleting tools in the document tool library. """ def __init__(self): pass @staticmethod - def cast(arg) -> CreateMachineConfigurationsEventArgs: - return CreateMachineConfigurationsEventArgs() - @property - def machineDescriptions(self) -> list[MachineDescription]: + def cast(arg) -> DocumentToolLibrary: + return DocumentToolLibrary() + def operationsByTool(self, tool: Tool) -> list[Operation]: """ - Gets the collection of MachineDescription objects for which machine configurations - must be created. These MachineDescription(s) will be a subset of those previously - provided by the addin's SearchNetworkMachinesEventHandler. - Returns a list of MachineDescription objects which is a subset of the list that was - previously set by this addin on the 'machineDescriptions' property of the - SearchNetworkMachinesEventArgs. + Returns all operations that use the given tool. The tool must exist in the document tool library. + Raises an error if the tool is not in the document. + tool : The tool to search for in operations. The tool must exist in the document. + Returns operations using a specific tool. """ - return [MachineDescription()] - @property - def machines(self) -> list[Machine]: + return [Operation()] + def update(self, tool: Tool, updateFeedAndSpeed: bool) -> bool: """ - Gets and sets the list of Machine objects. Machines should be created corresponding to - each of the MachineDescription objects provided in the machineDescriptions property. - Machines can be created using adsk.cam.Machine.createFromTemplate or - adsk.cam.Machine.createFromFile. + Update the given tool in the document tool library. The update applies all changes to the + tool in the document tool library and therefore on all operations that use the tool. + Will error if the tool does not exist in the document tool library. + tool : The tool that should be updated. + updateFeedAndSpeed : The id of the Tool in the document that should be updated. + Returns true if the update was successful. """ - return [Machine()] - @machines.setter - def machines(self, value: list[Machine]): + return bool() + def toolsBySetupOrFolder(self, setupOrFolder: OperationBase) -> list[Tool]: """ - Gets and sets the list of Machine objects. Machines should be created corresponding to - each of the MachineDescription objects provided in the machineDescriptions property. - Machines can be created using adsk.cam.Machine.createFromTemplate or - adsk.cam.Machine.createFromFile. + Returns all tools used in a given setup or folder. Given setup or folder must belong to the document of the DocumentToolLibrary. + Raises an error if given operation is not in the document. + setupOrFolder : The setup or folder to get tools from. Must belong to the document. + Returns tools used by a specific setup or folder. """ - pass + return [Tool()] class FloatParameterValue(ParameterValue): """ @@ -2585,6 +5477,12 @@ def value(self, value: float): Get or set the value of the parameter. """ pass + @property + def type(self) -> FloatParameterValueTypes: + """ + Get the type of the float parameter. + """ + return FloatParameterValueTypes() class IntegerParameterValue(ParameterValue): """ @@ -2608,6 +5506,30 @@ def value(self, value: int): """ pass +class KinematicsMachineElement(MachineElement): + """ + Machine element representing the machine's kinematics tree. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> KinematicsMachineElement: + return KinematicsMachineElement() + @staticmethod + def staticTypeId() -> str: + """ + Identifying name for all elements of this type. + Pass this to the itemByType or itemById methods of MachineElements to filter to elements of this type. + Returns identifier of this type. + """ + return str() + @property + def parts(self) -> MachineParts: + """ + Get the root parts collection. + """ + return MachineParts() + class LinearMachineAxis(MachineAxis): """ Object that represents an axis with linear motion (e.g. X, Y, and Z). @@ -2630,6 +5552,17 @@ def direction(self, value: core.Vector3D): """ pass +class LinearMachineAxisConfiguration(MachineAxisConfiguration): + """ + A MachineAxisConfiguration holding settings specific to linear axes. + This class currently has no members. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> LinearMachineAxisConfiguration: + return LinearMachineAxisConfiguration() + class LinearMachineAxisInput(MachineAxisInput): """ Object that defines the properties required to create a new linear machine axis object. @@ -2654,37 +5587,272 @@ def direction(self, value: core.Vector3D): """ pass -class Operation(OperationBase): +class MachineFromFileInput(MachineInput): """ - Object that represents an operation in an existing Setup, Folder or Pattern. + Object used as input to create a machine from a local file. + It is used by the Machine.create method. + The object holds the data needed to create a machine from a local machine file. """ def __init__(self): pass @staticmethod - def cast(arg) -> Operation: - return Operation() + def cast(arg) -> MachineFromFileInput: + return MachineFromFileInput() + @staticmethod + def create(filePath: str) -> MachineFromFileInput: + """ + Creates a MachineFromFileInput object to be used as + input for Machine.create method. + filePath : The path to a machine file to be processed. + The filePath is expected to be an absolute path to the machine file on disk. + The newly created "MachineFromFileInput" object in a valid state. + """ + return MachineFromFileInput() @property - def strategyType(self) -> OperationStrategyTypes: + def filePath(self) -> str: """ - Gets the strategy type for this operation. + The path to a file to act as a base for creating a machine from. + The filePath is expected to be an absolute path to the local machine file. """ - return OperationStrategyTypes() + return str() @property - def isToolpathValid(self) -> bool: + def ignoreSimulationModel(self) -> bool: """ - Gets if the toolpath for this operation is currently valid. (has not become invalidated by model changes). + Whether or not to ignore the simulation model + when creating/loading the machine. """ return bool() + @ignoreSimulationModel.setter + def ignoreSimulationModel(self, value: bool): + """ + Whether or not to ignore the simulation model + when creating/loading the machine. + """ + pass + +class MachineFromLibraryInput(MachineInput): + """ + Object used as input to create a machine from library URL. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachineFromLibraryInput: + return MachineFromLibraryInput() + @staticmethod + def create(url: core.URL) -> MachineFromLibraryInput: + """ + Creates a MachineFromLibraryInput object to be used as + input for Machine.create method, in order to create + a machine from a library location. + url : The URL path to the library machine. + Returns newly created MachineFromLibraryInput object in a valid state. + """ + return MachineFromLibraryInput() @property - def isGenerating(self) -> bool: + def url(self) -> core.URL: + """ + The URL path to the library machine. + """ + return core.URL() + @property + def ignoreSimulationModel(self) -> bool: + """ + Gets and sets whether or not to ignore the simulation model + when creating or loading the machine. + """ + return bool() + @ignoreSimulationModel.setter + def ignoreSimulationModel(self, value: bool): + """ + Gets and sets whether or not to ignore the simulation model + when creating or loading the machine. + """ + pass + +class MachineFromTemplateInput(MachineInput): + """ + Object used as input to create a machine from a given template. + Used by "Machine.create(MachineInput)" method. + The object holds the data needed to create a machine based on the specified template. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachineFromTemplateInput: + return MachineFromTemplateInput() + @staticmethod + def create(machineTemplate: MachineTemplate) -> MachineFromTemplateInput: + """ + Create a "MachineFromTemplateInput" object to be used as + input for "Machine.create(MachineInput)" method. + machineTemplate : The template to act as a base for creating a machine from. + The newly created "MachineFromTemplateInput" object in a valid state. + """ + return MachineFromTemplateInput() + @property + def machineTemplate(self) -> MachineTemplate: + """ + Machine template identifier used to generate a certain type of machine. + """ + return MachineTemplate() + +class MachineLibrary(CAMLibrary): + """ + The MachineLibrary provides access to machines. Using this object you can import machines + and get existing machines using either URL or query to find specific Machines. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachineLibrary: + return MachineLibrary() + def createQuery(self, location: LibraryLocations, vendor: str = "", model: str = "") -> MachineQuery: + """ + Creates a new MachineQuery that is used to query the library for machines matching + the query. + location : The location specifies the LibraryLocations where to search for in the machine library. + vendor : The vendor specifies the vendor of the machine. The default empty vendor applies to all machines. + model : The model specifies the model of the machine. The default empty model applies to all machines. + Returns a new MachineQuery. The query is predefined by given parameter. + """ + return MachineQuery() + def importMachine(self, machine: Machine, destinationUrl: core.URL, machineName: str) -> core.URL: + """ + Import a given machine at a specific location. The machine will be stored in the library. Throws an error, if the given URL is read-only. + machine : The machine that should be imported. + destinationUrl : The URL to the folder where to save the machine. + machineName : The name of the machine that should be created due to the import. The name can be extended if the asset already exists at given location to ensure a unique name. + Returns the URL of the newly imported machine, or null if the import failed. + """ + return core.URL() + def updateMachine(self, url: core.URL, machine: Machine) -> bool: + """ + Update a machine in the library. The library overrides the URL by given machine. Throws an error if the URL does not already point to an existing machine. + url : The URL to the existing asset in the library that should be updated. + machine : The machine that should be persisted. + Returns true if asset was updated successfully, false otherwise. + """ + return bool() + def machineAtURL(self, url: core.URL) -> Machine: + """ + Get a specific machine by the given URL. Returns null, if the URL does not exist. + url : The URL to the machine to be loaded. + Returns the machine for a valid URL, returns null otherwise. + """ + return Machine() + def childMachines(self, url: core.URL) -> list[Machine]: + """ + Get all machines by the given parent folder URL. Returns null, if the URL does not exist. + url : The URL of the folder to get machines from. + Returns the machine for a valid URL, returns null otherwise. + """ + return [Machine()] + +class NCProgram(OperationBase): + """ + Object that represents an existing NC program. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> NCProgram: + return NCProgram() + def updatePostParameters(self, parameters: CAMParameters) -> bool: + """ + Overrides the default post parameters of this NC program with the given user's input. + Returns true if the update was successful. False otherwise. + """ + return bool() + def postProcess(self, options: NCProgramPostProcessOptions) -> bool: """ - Gets if the toolpath is in the process of generating. + Creates machine-specific NC code for this NC program. + options : NCProgramPostProcessOptions to speficy the behavior on internal warning. + Can be null if the default values should be used. + If needed it can be created by its static create() method. + Returns true if the post process was successful. """ return bool() @property - def hasWarning(self) -> bool: + def operations(self) -> list[OperationBase]: + """ + Gets and sets the operations which will be included in the NC program. + Valid input contains any number of operations, setups or folders. + For setups and folders all child operations will be added. + Operations will be post processed in setup order, with operations from the same setup grouped together. + Setting the nc_program_orderByTool BooleanParameterValue on the parameters property to true will reorder operations across multiple setups to reduce the number of tool changes. + """ + return [OperationBase()] + @operations.setter + def operations(self, value: list[OperationBase]): + """ + Gets and sets the operations which will be included in the NC program. + Valid input contains any number of operations, setups or folders. + For setups and folders all child operations will be added. + Operations will be post processed in setup order, with operations from the same setup grouped together. + Setting the nc_program_orderByTool BooleanParameterValue on the parameters property to true will reorder operations across multiple setups to reduce the number of tool changes. + """ + pass + @property + def filteredOperations(self) -> list[OperationBase]: + """ + Gets all valid operations derived from the operations property. The list is ordered with respect to the nc_program_oderByTool parameter and conssiders the number of instances in a setup. + """ + return [OperationBase()] + @property + def postConfiguration(self) -> PostConfiguration: + """ + Gets and sets the post configuration of this NC program. + """ + return PostConfiguration() + @postConfiguration.setter + def postConfiguration(self, value: PostConfiguration): + """ + Gets and sets the post configuration of this NC program. + """ + pass + @property + def machine(self) -> Machine: + """ + Gets and sets the machine of this NC program. + When a machine is set, "use machine configuration" is automatically set to true. + If this machine has a default post assigned, this post will be set for the NC program as well. + """ + return Machine() + @machine.setter + def machine(self, value: Machine): + """ + Gets and sets the machine of this NC program. + When a machine is set, "use machine configuration" is automatically set to true. + If this machine has a default post assigned, this post will be set for the NC program as well. + """ + pass + @property + def postParameters(self) -> CAMParameters: """ - Gets if problems were encountered when generating the toolpath for this operation. + Gets the post parameters of this NC program. + """ + return CAMParameters() + +class Operation(OperationBase): + """ + Object that represents an operation in an existing Setup, Folder or Pattern. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Operation: + return Operation() + @property + def isToolpathValid(self) -> bool: + """ + Gets if the toolpath for this operation is currently valid. (has not become invalidated by model changes). + """ + return bool() + @property + def isGenerating(self) -> bool: + """ + Gets if the operation is being generated. """ return bool() @property @@ -2708,281 +5876,289 @@ def operationState(self) -> OperationStates: @property def generatingProgress(self) -> str: """ - Gets the toolpath generation progress value for this operation. + Gets the generation progress value for this operation. """ return str() @property - def toolJson(self) -> str: + def tool(self) -> Tool: """ - Get or set the tool in JSON format for this operation. Adds tool to the document. + Get or set the tool for this operation. The document's tool library will be updated accordingly. + The tool instance returned is a copy and therefore is not referenced by the operation. + To change the tool of the operation, the new tool must be assigned to the operation. + Setting a tool will override the current preset and will fall back to the default preset of the new tool. """ - return str() - @toolJson.setter - def toolJson(self, value: str): + return Tool() + @tool.setter + def tool(self, value: Tool): """ - Get or set the tool in JSON format for this operation. Adds tool to the document. + Get or set the tool for this operation. The document's tool library will be updated accordingly. + The tool instance returned is a copy and therefore is not referenced by the operation. + To change the tool of the operation, the new tool must be assigned to the operation. + Setting a tool will override the current preset and will fall back to the default preset of the new tool. """ pass @property - def toolPresetId(self) -> str: + def toolPreset(self) -> ToolPreset: """ - Get or set the id of the tool preset to be used. Must be valid for the applied tool. + Get or set the tool preset to be used. Must be a valid preset of the already assigned tool. Returns null if the operation has no tool or preset. """ - return str() - @toolPresetId.setter - def toolPresetId(self, value: str): + return ToolPreset() + @toolPreset.setter + def toolPreset(self, value: ToolPreset): """ - Get or set the id of the tool preset to be used. Must be valid for the applied tool. + Get or set the tool preset to be used. Must be a valid preset of the already assigned tool. Returns null if the operation has no tool or preset. """ pass -class RotaryMachineAxis(MachineAxis): +class OptimizedOrientationResults(GeneratedData): """ - Object that represents an axis with rotary motion (e.g. A, B, and C). + Collection of OptimizedOrientationResult instances associated with a given optimized orientation object inside an additive setup. + The number of instances is the number of results given and the initial orientation result. + The initial orientation will contain the orientation matrix, but not the other values calculated by the orientation operation. + Setting an OptimizedOrientationResult as the currentOrientationResult will transform the Occurrence assigned to the orientation operation. """ def __init__(self): pass @staticmethod - def cast(arg) -> RotaryMachineAxis: - return RotaryMachineAxis() + def cast(arg) -> OptimizedOrientationResults: + return OptimizedOrientationResults() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> OptimizedOrientationResult: + return None + def __iter__(self) -> Iterator[OptimizedOrientationResult]: + return None + def item(self, index: int) -> OptimizedOrientationResult: + """ + Gets the desired orientation result at the given index. The list is ordered given the orientation parameters of the parent orientation operation. + """ + return OptimizedOrientationResult() @property - def rotationAxis(self) -> core.InfiniteLine3D: + def initialOrientationResult(self) -> OptimizedOrientationResult: """ - The infinite line that defines the direction and location of the axis of rotation. + Gets the initial orientation of the component before any result has been applied. """ - return core.InfiniteLine3D() - @rotationAxis.setter - def rotationAxis(self, value: core.InfiniteLine3D): + return OptimizedOrientationResult() + @property + def currentOrientationResult(self) -> OptimizedOrientationResult: """ - The infinite line that defines the direction and location of the axis of rotation. + Gets or sets the desired OrientationResult. + When setting, the orientation matrix is applied to the component selected in the parent orientation operation, possibly invalidating other operations. + """ + return OptimizedOrientationResult() + @currentOrientationResult.setter + def currentOrientationResult(self, value: OptimizedOrientationResult): + """ + Gets or sets the desired OrientationResult. + When setting, the orientation matrix is applied to the component selected in the parent orientation operation, possibly invalidating other operations. """ pass + @property + def count(self) -> int: + """ + The number of items in the collection. + """ + return int() -class RotaryMachineAxisInput(MachineAxisInput): +class PostLibrary(CAMLibrary): """ - Object that defines the properties required to create a new rotary machine axis object. + The PostLibrary provides access to post configurations. Using this object you can import post configurations + and get existing post configurations using either a URL or query to find specific post configurations. """ def __init__(self): pass @staticmethod - def cast(arg) -> RotaryMachineAxisInput: - return RotaryMachineAxisInput() - @property - def rotationAxis(self) -> core.InfiniteLine3D: + def cast(arg) -> PostLibrary: + return PostLibrary() + def createQuery(self, location: LibraryLocations) -> PostConfigurationQuery: """ - The infinite line that defines the direction and location of the axis of rotation. - This direction is in the machine's coordinate system (e.g. an A axis would - typically use (1,0,0) for the direction), and follows the right-hand rule. + Creates a new PostConfigurationQuery that is used to query the library for post configurations matching + the query. + location : The location specifies the LibraryLocations where to search for in the post library. + Returns a new PostConfigurationQuery. The query is predefined by given parameter. """ - return core.InfiniteLine3D() - @rotationAxis.setter - def rotationAxis(self, value: core.InfiniteLine3D): + return PostConfigurationQuery() + def importPostConfiguration(self, postConfig: PostConfiguration, destinationUrl: core.URL, postName: str) -> core.URL: """ - The infinite line that defines the direction and location of the axis of rotation. - This direction is in the machine's coordinate system (e.g. an A axis would - typically use (1,0,0) for the direction), and follows the right-hand rule. + Import a given post configuration at a specific location. The post configuration will be stored in the library. Throws an error, if the given URL is read-only. + postConfig : The post configuration that should be imported. + destinationUrl : The URL to the folder where to save the post configuration. + postName : The name of the post configuration that should be created due to the import. The name can be extended if the name already exists at given location to ensure a unique name. + Returns the URL of the newly imported post configuration, or null if the import failed. """ - pass + return core.URL() + def postConfigurationAtURL(self, url: core.URL) -> PostConfiguration: + """ + Get a specific post configuration by the given URL. Returns null, if the URL does not exist. + url : The URL to the post configuration to be loaded. + Returns the post configuration for a valid URL, returns null otherwise. + """ + return PostConfiguration() + def childPostConfigurations(self, url: core.URL) -> list[PostConfiguration]: + """ + Get all posts by the given parent folder URL. Returns null, if the URL does not exist. + url : The URL of the folder to get post configurations from. + Returns all children posts for a valid URL, returns null otherwise. + """ + return [PostConfiguration()] -class SandvikIntegrationEvent(core.Event): +class PrintSettingLibrary(CAMLibrary): """ - + The PrintSettingLibrary provides access to PrintSettings. Using this object you can import PrintSettings + and get existing PrintSettings using either URL or query to find specific PrintSetting. """ def __init__(self): pass @staticmethod - def cast(arg) -> SandvikIntegrationEvent: - return SandvikIntegrationEvent() - def add(self, handler: SandvikIntegrationEventHandler) -> bool: + def cast(arg) -> PrintSettingLibrary: + return PrintSettingLibrary() + def createQuery(self, location: LibraryLocations) -> PrintSettingQuery: """ - Add a handler to be notified when the SandvikIntegrationEvent occurs. - handler : The handler object to be called when this event is fired. - Returns true if the addition of the handler was successful. + Creates a new PrintSettingQuery that is used to query the library for PrintSettings matching + the query. + location : The location specifies the LibraryLocations where to search for in the PrintSetting library. + Returns a new PrintSettingQuery. The query is predefined by given parameter. """ - return bool() - def remove(self, handler: SandvikIntegrationEventHandler) -> bool: + return PrintSettingQuery() + def importPrintSetting(self, printSetting: PrintSetting, destinationUrl: core.URL, printSettingName: str) -> core.URL: """ - Removes a handler from the SandvikIntegrationEvent. - handler : The handler object to be removed from the event. - Returns true if removal of the handler was successful. + Import a given PrintSetting at a specific location. The PrintSetting will be stored in the library. Throws an error if the given URL is read-only. + printSetting : The PrintSetting that should be imported. + destinationUrl : The URL to the folder where to save the PrintSetting. + printSettingName : The name that should be assigned to imported PrintSetting. The name can be extended if there already exists a PrintSetting at given location to ensure a unique name. + Returns the URL of the newly imported PrintSetting, or null if the import failed. + """ + return core.URL() + def updatePrintSetting(self, url: core.URL, printSetting: PrintSetting) -> bool: + """ + Update a PrintSetting in the library. The library overrides the URL by given PrintSetting. Throws an error if the URL does not already point to an existing printSetting. + url : The URL to the existing asset in the library that should be updated. + printSetting : The PrintSetting that should be persisted. + Returns true if asset was updated successfully, false otherwise. """ return bool() - -class SandvikIntegrationEventArgs(core.EventArgs): - """ - This EventArgs object will be sent with the SandvikIntegrationEvent. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SandvikIntegrationEventArgs: - return SandvikIntegrationEventArgs() - @property - def action(self) -> str: + def printSettingAtURL(self, url: core.URL) -> PrintSetting: """ - The action to be performed -- by convention with Sandvik. - Actions include: - "selectAssembly" - "getToolRecommendation" - "getCuttingData" - "setMaterial" + Get a specific PrintSetting by the given URL. Returns null if the URL does not exist. + url : The URL to the PrintSetting to be loaded. + Returns the PrintSetting for a valid URL, returns null otherwise. """ - return str() - @property - def contextObject(self) -> OperationBase: + return PrintSetting() + def childPrintSettings(self, url: core.URL) -> list[PrintSetting]: """ - Provides access to the object that is being edited or created. + Get all PrintSettings by the given parent folder URL. Returns null, if the URL does not exist. + url : The URL of the folder to get PrintSettings from. + Returns the PrintSetting for a valid URL, returns null otherwise. """ - return OperationBase() + return [PrintSetting()] -class SandvikPreIntegrationEvent(core.Event): +class RotaryMachineAxis(MachineAxis): """ - + Object that represents an axis with rotary motion (e.g. A, B, and C). """ def __init__(self): pass @staticmethod - def cast(arg) -> SandvikPreIntegrationEvent: - return SandvikPreIntegrationEvent() - def add(self, handler: SandvikPreIntegrationEventHandler) -> bool: + def cast(arg) -> RotaryMachineAxis: + return RotaryMachineAxis() + @property + def rotationAxis(self) -> core.InfiniteLine3D: """ - Add a handler to be notified when the SandvikPreIntegrationEvent occurs. - handler : The handler object to be called when this event is fired. - Returns true if the addition of the handler was successful. + The infinite line that defines the direction and location of the axis of rotation. """ - return bool() - def remove(self, handler: SandvikPreIntegrationEventHandler) -> bool: + return core.InfiniteLine3D() + @rotationAxis.setter + def rotationAxis(self, value: core.InfiniteLine3D): """ - Removes a handler from the SandvikPreIntegrationEvent. - handler : The handler object to be removed from the event. - Returns true if removal of the handler was successful. + The infinite line that defines the direction and location of the axis of rotation. """ - return bool() + pass -class SandvikPreIntegrationEventArgs(core.EventArgs): +class RotaryMachineAxisConfiguration(MachineAxisConfiguration): """ - This EventArgs object will be sent with the SandvikPreIntegrationEvent. + A MachineAxisConfiguration holding settings specific to rotary axes. """ def __init__(self): pass @staticmethod - def cast(arg) -> SandvikPreIntegrationEventArgs: - return SandvikPreIntegrationEventArgs() - @property - def contextObject(self) -> OperationBase: - """ - Provides access to the object that is being edited or created. - """ - return OperationBase() + def cast(arg) -> RotaryMachineAxisConfiguration: + return RotaryMachineAxisConfiguration() @property - def showSetMaterial(self) -> bool: + def wrapAroundAtRange(self) -> MachineAxisRange: """ - Initially false, this should be set to true to enable the display of the "Set Material" - action on the Setup create/edit dialog. + Specify the range that the axis value wraps around for unlimited axes. + If there are no wrap around limits then wrapAroundAtRange is infinite. + Units are radians. """ - return bool() - @showSetMaterial.setter - def showSetMaterial(self, value: bool): + return MachineAxisRange() + @wrapAroundAtRange.setter + def wrapAroundAtRange(self, value: MachineAxisRange): """ - Initially false, this should be set to true to enable the display of the "Set Material" - action on the Setup create/edit dialog. + Specify the range that the axis value wraps around for unlimited axes. + If there are no wrap around limits then wrapAroundAtRange is infinite. + Units are radians. """ pass @property - def showSelectToolAssembly(self) -> bool: + def reset(self) -> MachineResetOptions: """ - Initially false, this should be set to true to enable the display of the "Select Tool Assembly" - action on the Operation create/edit dialog. + Specify when to reset the initial axis position. """ - return bool() - @showSelectToolAssembly.setter - def showSelectToolAssembly(self, value: bool): + return MachineResetOptions() + @reset.setter + def reset(self, value: MachineResetOptions): """ - Initially false, this should be set to true to enable the display of the "Select Tool Assembly" - action on the Operation create/edit dialog. + Specify when to reset the initial axis position. """ pass @property - def showGetToolRecommendation(self) -> bool: + def useToolCenterPointControl(self) -> bool: """ - Initially false, this should be set to true to enable the display of the "Get Tool Recommendation" - action on the Operation create/edit dialog. + Specify if the axis supports Tool Center Point Control (TCP). """ return bool() - @showGetToolRecommendation.setter - def showGetToolRecommendation(self, value: bool): + @useToolCenterPointControl.setter + def useToolCenterPointControl(self, value: bool): """ - Initially false, this should be set to true to enable the display of the "Get Tool Recommendation" - action on the Operation create/edit dialog. + Specify if the axis supports Tool Center Point Control (TCP). """ pass @property - def showGetCuttingData(self) -> bool: + def rotaryPreference(self) -> MachineAnglePreferences: """ - Initially false, this should be set to true to enable the display of the "Get Cutting Data" - action on the Operation create/edit dialog. + Specify the preferred angle direction at the beginning of an operation. """ - return bool() - @showGetCuttingData.setter - def showGetCuttingData(self, value: bool): + return MachineAnglePreferences() + @rotaryPreference.setter + def rotaryPreference(self, value: MachineAnglePreferences): """ - Initially false, this should be set to true to enable the display of the "Get Cutting Data" - action on the Operation create/edit dialog. + Specify the preferred angle direction at the beginning of an operation. """ pass -class SearchNetworkMachinesEvent(core.Event): - """ - This event is fired from the 'Find network machines' dialog when the corresponding - addin is selected from the vendor dropdown, or when 'search all vendors' is - selected. This event will allow the addin to initiate an enumeration of machines on - the network. MachineDescription objects should be created for each machine found, and - an list of those MachineDescription objects should be set on the 'machineDescriptions' - property of the SearchNetworkMachinesEventArgs. Nothing should be set to signify no - machines found. See SearchNetworkMachinesEventArgs and MachineDescription for details. - Note that this event is raised on a background thread. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SearchNetworkMachinesEvent: - return SearchNetworkMachinesEvent() - def add(self, handler: SearchNetworkMachinesEventHandler) -> bool: - """ - Add a handler to be notified when the SearchNetworkMachinesEvent occurs. - handler : The handler object to be called when this event is fired. - Returns true if the addition of the handler was successful. - """ - return bool() - def remove(self, handler: SearchNetworkMachinesEventHandler) -> bool: - """ - Removes a handler from the SearchNetworkMachinesEvent. - handler : The handler object to be removed from the event. - Returns true if removal of the handler was successful. - """ - return bool() - -class SearchNetworkMachinesEventArgs(core.EventArgs): +class RotaryMachineAxisInput(MachineAxisInput): """ - This EventArgs object will be sent with the SearchNetworkMachinesEvent. + Object that defines the properties required to create a new rotary machine axis object. """ def __init__(self): pass @staticmethod - def cast(arg) -> SearchNetworkMachinesEventArgs: - return SearchNetworkMachinesEventArgs() + def cast(arg) -> RotaryMachineAxisInput: + return RotaryMachineAxisInput() @property - def machineDescriptions(self) -> list[MachineDescription]: + def rotationAxis(self) -> core.InfiniteLine3D: """ - Gets and sets a list of MachineDescription objects representing machines found on the - network. Do not set anything to signify no machine found. + The infinite line that defines the direction and location of the axis of rotation. + This direction is in the machine's coordinate system (e.g. an A axis would + typically use (1,0,0) for the direction), and follows the right-hand rule. """ - return [MachineDescription()] - @machineDescriptions.setter - def machineDescriptions(self, value: list[MachineDescription]): + return core.InfiniteLine3D() + @rotationAxis.setter + def rotationAxis(self, value: core.InfiniteLine3D): """ - Gets and sets a list of MachineDescription objects representing machines found on the - network. Do not set anything to signify no machine found. + The infinite line that defines the direction and location of the axis of rotation. + This direction is in the machine's coordinate system (e.g. an A axis would + typically use (1,0,0) for the direction), and follows the right-hand rule. """ pass @@ -2995,13 +6171,20 @@ def __init__(self): @staticmethod def cast(arg) -> Setup: return Setup() - def createFromTemplate(self, templateFilePath: str) -> core.ObjectCollection: + def activate(self) -> bool: """ - Create and add operations, folders or patterns from the specified template file to the end of this setup. - templateFilePath : The full path to the template file. - Returns the collection containing all of the operations, folders and patterns created from the template file. + Sets this object as the default container. + Returns true if the activation was successful. """ - return core.ObjectCollection() + return bool() + def createFromCAMTemplate2(self, input: CreateFromCAMTemplateInput) -> list[OperationBase]: + """ + Create new operations, folders, or patterns from the specified CAMTemplate. They + are added to the end of the parent setup. + input : Input object that contains the template to create from and the generation mode. + Returns an array containing all of the operations, folders and patterns created from the template. + """ + return [OperationBase()] @property def operationType(self) -> OperationTypes: """ @@ -3039,49 +6222,120 @@ def patterns(self) -> CAMPatterns: @property def children(self) -> ChildOperationList: """ - Returns a collection containing all of the immediate (top level) child operations, folders and patterns in this setup + Returns a collection containing all of the immediate (top level) child operations, folders and patterns in this setup, in the order they appear in the browser. """ return ChildOperationList() @property def allOperations(self) -> core.ObjectCollection: """ - Gets a collection containing all of the operations in this setup. + Returns an ObjectCollection containing all of the operations in this setup. This includes all operations nested in folders and patterns. """ return core.ObjectCollection() @property def models(self) -> core.ObjectCollection: """ - Gets and sets the bodies associated with the setup. Passing in an empty ObjectCollection - will remove all current bodies. Valid input is MeshBody and/or BRepBody objects. + Gets and sets the input models associated with the setup. Passing in an empty ObjectCollection + will remove all current inputs. Valid collection items are Occurrence, BRepBody, or MeshBody. """ return core.ObjectCollection() @models.setter def models(self, value: core.ObjectCollection): """ - Gets and sets the bodies associated with the setup. Passing in an empty ObjectCollection - will remove all current bodies. Valid input is MeshBody and/or BRepBody objects. + Gets and sets the input models associated with the setup. Passing in an empty ObjectCollection + will remove all current inputs. Valid collection items are Occurrence, BRepBody, or MeshBody. """ pass @property def fixtures(self) -> core.ObjectCollection: """ - Gets the fixtures associated with the setup. + Gets and sets the fixtures associated with the setup. + To be able to set models as fixtures, the fixturesEnabled property has to be set first. """ return core.ObjectCollection() + @fixtures.setter + def fixtures(self, value: core.ObjectCollection): + """ + Gets and sets the fixtures associated with the setup. + To be able to set models as fixtures, the fixturesEnabled property has to be set first. + """ + pass @property def stockSolids(self) -> core.ObjectCollection: """ - Gets the stock solids associated with the setup. + Gets and sets the stock solids associated with the setup. StockMode has to be set to `SolidStock` otherwise this will throw an error. """ return core.ObjectCollection() + @stockSolids.setter + def stockSolids(self, value: core.ObjectCollection): + """ + Gets and sets the stock solids associated with the setup. StockMode has to be set to `SolidStock` otherwise this will throw an error. + """ + pass @property def machine(self) -> Machine: """ - Gets the Machine associated with the setup. + Gets and sets the Machine associated with the setup. The returned Machine is a transient copy, so the Machine needs to be set to the Setup again to apply any changes. + + Note: At the moment it is not possible to set an additive machine. """ return Machine() + @machine.setter + def machine(self, value: Machine): + """ + Gets and sets the Machine associated with the setup. The returned Machine is a transient copy, so the Machine needs to be set to the Setup again to apply any changes. + + Note: At the moment it is not possible to set an additive machine. + """ + pass + @property + def stockMode(self) -> SetupStockModes: + """ + Gets and sets the bodies associated with the setup. Passing in an empty ObjectCollection + will remove all current bodies. Valid input is MeshBody and/or BRepBody objects. + """ + return SetupStockModes() + @stockMode.setter + def stockMode(self, value: SetupStockModes): + """ + Gets and sets the bodies associated with the setup. Passing in an empty ObjectCollection + will remove all current bodies. Valid input is MeshBody and/or BRepBody objects. + """ + pass + @property + def workCoordinateSystem(self) -> core.Matrix3D: + """ + Gets the Work Coordinate System associated with the setup as 4x4 matrix. From Matrix3D, + Orientation and Origin data can be fetched. + """ + return core.Matrix3D() + @property + def fixtureEnabled(self) -> bool: + """ + Set this value to enable the use of fixtures for this setup. + To then set the fixture models themselves use the `fixtures` property. + """ + return bool() + @fixtureEnabled.setter + def fixtureEnabled(self, value: bool): + """ + Set this value to enable the use of fixtures for this setup. + To then set the fixture models themselves use the `fixtures` property. + """ + pass + @property + def printSetting(self) -> PrintSetting: + """ + Gets and sets the PrintSetting associated with the setup. + """ + return PrintSetting() + @printSetting.setter + def printSetting(self, value: PrintSetting): + """ + Gets and sets the PrintSetting associated with the setup. + """ + pass class SetupChangeEvent(core.Event): """ @@ -3200,31 +6454,50 @@ def value(self, value: str): """ pass -class CadMultiPointOnSurfaceParameterValue(CadObjectParameterValue): +class ToolLibraries(CAMLibrary): """ - A parameter value that is a CadMultiPointOnSurface. + The ToolLibraries object provides utilities to access, import and update tool libraries. """ def __init__(self): pass @staticmethod - def cast(arg) -> CadMultiPointOnSurfaceParameterValue: - return CadMultiPointOnSurfaceParameterValue() - @property - def values(self) -> list[core.Point3D]: + def cast(arg) -> ToolLibraries: + return ToolLibraries() + def importToolLibrary(self, toolLibrary: ToolLibrary, destinationUrl: core.URL, libraryName: str) -> core.URL: + """ + Import a given ToolLibrary from a specific location. The imported ToolLibrary can be accessed + through this ToolLibraries object. Throws an error, if the given URL is read-only. + toolLibrary : The ToolLibrary that should be imported. + destinationUrl : The URL to the parent folder where the imported tool library will be saved. + libraryName : The name of the library that should be created due to the import. If the specified name already + exists, a number will be added to the name to ensure it is unique. + Returns the URL of the newly imported tool library, or null if the import failed. + """ + return core.URL() + def updateToolLibrary(self, url: core.URL, toolLibrary: ToolLibrary) -> bool: + """ + Update ToolLibrary in ToolLibraries. Overrides the URL by given ToolLibrary. + Throws an error if the URL does not already point to an existing ToolLibrary. + url : The URL to the existing asset in the ToolLibraries that should be updated. + toolLibrary : The ToolLibrary that should be persisted. + Returns true if asset was updated successfully, false otherwise. """ - Get/Set the values of the parameter as a vector of Point3D positions. - Points are in CM units. - Points are in model coordinates. + return bool() + def toolLibraryAtURL(self, url: core.URL) -> ToolLibrary: """ - return [core.Point3D()] - @values.setter - def values(self, value: list[core.Point3D]): + Get a specific ToolLibrary by given URL. Returns null, if the URL does not exist. + url : The URL to the ToolLibrary to be loaded. + Returns the ToolLibrary for a valid URL, returns null otherwise. """ - Get/Set the values of the parameter as a vector of Point3D positions. - Points are in CM units. - Points are in model coordinates. + return ToolLibrary() + def createQuery(self, location: LibraryLocations) -> ToolQuery: """ - pass + Creates a new ToolQuery that is used to query the library for tools matching + the query. + location : The location specifies the LibraryLocations where to search. + Returns a new ToolQuery. The query is predefined by given parameter. + """ + return ToolQuery() class CAMPattern(CAMFolder): """ @@ -3235,3 +6508,384 @@ def __init__(self): @staticmethod def cast(arg) -> CAMPattern: return CAMPattern() + +class ChainSelection(CurveSelection): + """ + Represents a chain type of curve selection. Allows B-Rep edges and sketch geometry for the inputGeometry property. + The automatic tool side detection is currently disabled when using the API, thus the side is determined + based on the direction of the first edge and the z-axis of the tool orientation. + + This class overrides the value property of its GeometrySelection parent to return the result edge selection. + The result may contain more edges than the input if gaps between the desired start and end edge were automatically filled. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ChainSelection: + return ChainSelection() + @property + def isOpen(self) -> bool: + """ + Property to get or set if an open contour should be closed or not. + If true and the input does not specify a closed contour, additional curve segments will be generated to close the contour. + """ + return bool() + @isOpen.setter + def isOpen(self, value: bool): + """ + Property to get or set if an open contour should be closed or not. + If true and the input does not specify a closed contour, additional curve segments will be generated to close the contour. + """ + pass + @property + def isOpenAllowed(self) -> bool: + """ + Property to specify if the underlying CadContours2DParameterValue allows open contours. + Some examples of some open contours are adaptive clearing 3d and swarf. And, some examples + of closed contours are face and machining boundary. + """ + return bool() + @property + def isReverted(self) -> bool: + """ + Property to control if the curve is reverted or not. The curve needs to be reverted, + if Fusion's guess does not match the user's expectation. + + The initial tool placement depends on the first input edge or sketch line and the height + of the bordering faces or sketch boundaries, with the tool being placed outside of the higher face or sketch boundary. + """ + return bool() + @isReverted.setter + def isReverted(self, value: bool): + """ + Property to control if the curve is reverted or not. The curve needs to be reverted, + if Fusion's guess does not match the user's expectation. + + The initial tool placement depends on the first input edge or sketch line and the height + of the bordering faces or sketch boundaries, with the tool being placed outside of the higher face or sketch boundary. + """ + pass + @property + def extensionMethod(self) -> ExtensionMethods: + """ + Property that gets and sets extension method to use. The default is TangentExtension. + Only applicable to open contours. + """ + return ExtensionMethods() + @extensionMethod.setter + def extensionMethod(self, value: ExtensionMethods): + """ + Property that gets and sets extension method to use. The default is TangentExtension. + Only applicable to open contours. + """ + pass + @property + def extensionType(self) -> ExtensionTypes: + """ + Property that gets and sets the desired extension type method. The default is DistanceCap. + This is only applicable to open contours. + """ + return ExtensionTypes() + @extensionType.setter + def extensionType(self, value: ExtensionTypes): + """ + Property that gets and sets the desired extension type method. The default is DistanceCap. + This is only applicable to open contours. + """ + pass + @property + def startExtensionLength(self) -> float: + """ + Property that gets and sets the length of the extension of an open curve at the start of the chain. + This is only applicable to open contours and when DistanceCap is chosen as the extension cap. + """ + return float() + @startExtensionLength.setter + def startExtensionLength(self, value: float): + """ + Property that gets and sets the length of the extension of an open curve at the start of the chain. + This is only applicable to open contours and when DistanceCap is chosen as the extension cap. + """ + pass + @property + def endExtensionLength(self) -> float: + """ + Property that gets and sets the length of the extension of an open curve at the end of the chain. + The value is specified in centimeters. This is only applicable to open contours and when DistanceCap + is chosen as the extension cap. + """ + return float() + @endExtensionLength.setter + def endExtensionLength(self, value: float): + """ + Property that gets and sets the length of the extension of an open curve at the end of the chain. + The value is specified in centimeters. This is only applicable to open contours and when DistanceCap + is chosen as the extension cap. + """ + pass + +class FaceContourSelection(CurveSelection): + """ + Represents a face type of curve selection. It allows BRepFace objects for the input geometry. + Overrides the GeometrySelection's value method to include other faces if the isSelectingSamePlaneFaces property is true and the selection has been applied. + The result of the value property call may contain duplicates. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FaceContourSelection: + return FaceContourSelection() + @property + def loopType(self) -> LoopTypes: + """ + Property to get and set the desired loop type. The default is AllLoops. + """ + return LoopTypes() + @loopType.setter + def loopType(self, value: LoopTypes): + """ + Property to get and set the desired loop type. The default is AllLoops. + """ + pass + @property + def sideType(self) -> SideTypes: + """ + Property to get and set the desired side type. The default is StartOutside. + """ + return SideTypes() + @sideType.setter + def sideType(self, value: SideTypes): + """ + Property to get and set the desired side type. The default is StartOutside. + """ + pass + @property + def isSelectingSamePlaneFaces(self) -> bool: + """ + Property to get and set if all planar faces lying in the same plane as the selected face should be automatically selected as well. + """ + return bool() + @isSelectingSamePlaneFaces.setter + def isSelectingSamePlaneFaces(self, value: bool): + """ + Property to get and set if all planar faces lying in the same plane as the selected face should be automatically selected as well. + """ + pass + +class PocketRecognitionSelection(CurveSelection): + """ + Pocket type curve selection. It searches for pockets matching the criteria on the selected bodies + The result of the value property call may contain duplicates. + See also RecognizedPockets for the ability to analyze the pockets + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PocketRecognitionSelection: + return PocketRecognitionSelection() + @property + def isSetupModelSelected(self) -> bool: + """ + Flag to include all B-Rep bodies set as the setup models. + """ + return bool() + @isSetupModelSelected.setter + def isSetupModelSelected(self, value: bool): + """ + Flag to include all B-Rep bodies set as the setup models. + """ + pass + @property + def areHolesIncluded(self) -> bool: + """ + Flag to interpret holes as pockets. + """ + return bool() + @areHolesIncluded.setter + def areHolesIncluded(self, value: bool): + """ + Flag to interpret holes as pockets. + """ + pass + @property + def minimumHoleDiameter(self) -> float: + """ + Lower bound for the diameter for the hole detection. It can only be set if areHoldeIncluded is set to true. + """ + return float() + @minimumHoleDiameter.setter + def minimumHoleDiameter(self, value: float): + """ + Lower bound for the diameter for the hole detection. It can only be set if areHoldeIncluded is set to true. + """ + pass + @property + def minimumCornerRadius(self) -> float: + """ + The smallest corner radius that can appear in a pocket to machine. + """ + return float() + @minimumCornerRadius.setter + def minimumCornerRadius(self, value: float): + """ + The smallest corner radius that can appear in a pocket to machine. + """ + pass + @property + def maximumCornerRadius(self) -> float: + """ + The largest corner radius that can appear in a pocket to machine. + """ + return float() + @maximumCornerRadius.setter + def maximumCornerRadius(self, value: float): + """ + The largest corner radius that can appear in a pocket to machine. + """ + pass + @property + def minimumPocketDepth(self) -> float: + """ + The shallowest pocket (measured from top to bottom) to machine. + """ + return float() + @minimumPocketDepth.setter + def minimumPocketDepth(self, value: float): + """ + The shallowest pocket (measured from top to bottom) to machine. + """ + pass + @property + def maximumPocketDepth(self) -> float: + """ + The deepest pocket (measured from top to bottom) to machine. + """ + return float() + @maximumPocketDepth.setter + def maximumPocketDepth(self, value: float): + """ + The deepest pocket (measured from top to bottom) to machine. + """ + pass + +class PocketSelection(CurveSelection): + """ + Pocket type for a curve selection. Allows planar BREP face selections for the input geometry. + Overrides the GeometrySelection's the value property to include other faces if isSelectingSamePlaneFaces is set to true and the selection has been applied. + The result of the value property call may contain duplicates. + Note: selecting arbitrary faces, only planar faces are actually added to the list of faces to work with. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PocketSelection: + return PocketSelection() + @property + def extensionMethod(self) -> ExtensionMethods: + """ + The desired extension method. TangentExtension by default. + """ + return ExtensionMethods() + @extensionMethod.setter + def extensionMethod(self, value: ExtensionMethods): + """ + The desired extension method. TangentExtension by default. + """ + pass + @property + def isSelectingSamePlaneFaces(self) -> bool: + """ + True if all planar faces lying in the same plane as the selected face should be automatically selected as well. + False by default. + """ + return bool() + @isSelectingSamePlaneFaces.setter + def isSelectingSamePlaneFaces(self, value: bool): + """ + True if all planar faces lying in the same plane as the selected face should be automatically selected as well. + False by default. + """ + pass + +class SilhouetteSelection(CurveSelection): + """ + Represents a silhouette type of curve selection. Allows BRepBody selections for the input geometry. + Overrides the GeometrySelection's the value property to include setup bodies if isSetupModelSelected is set to true and the selection has been applied. + The results may contain duplicates. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SilhouetteSelection: + return SilhouetteSelection() + @property + def loopType(self) -> LoopTypes: + """ + Desired loop type. The default is AllLoops. + """ + return LoopTypes() + @loopType.setter + def loopType(self, value: LoopTypes): + """ + Desired loop type. The default is AllLoops. + """ + pass + @property + def sideType(self) -> SideTypes: + """ + Desired side type. The default is StartOutside. + """ + return SideTypes() + @sideType.setter + def sideType(self, value: SideTypes): + """ + Desired side type. The default is StartOutside. + """ + pass + @property + def isSetupModelSelected(self) -> bool: + """ + Flag to include all B-Rep bodies set as the setup models. + """ + return bool() + @isSetupModelSelected.setter + def isSetupModelSelected(self, value: bool): + """ + Flag to include all B-Rep bodies set as the setup models. + """ + pass + +class SketchSelection(CurveSelection): + """ + Represents a sketch curve selection. It allows entire sketches for the input geometry. + The result of the value property call may contain duplicates. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchSelection: + return SketchSelection() + @property + def loopType(self) -> LoopTypes: + """ + Property to get and set the desired loop type. The default is AllLoops. + """ + return LoopTypes() + @loopType.setter + def loopType(self, value: LoopTypes): + """ + Property to get and set the desired loop type. The default is AllLoops. + """ + pass + @property + def sideType(self) -> SideTypes: + """ + Property to get and set the desired side type. The default is StartOutside. + """ + return SideTypes() + @sideType.setter + def sideType(self, value: SideTypes): + """ + Property to get and set the desired side type. The default is StartOutside. + """ + pass diff --git a/adsk/core.py b/adsk/core.py index 3c4f80f..099d39b 100644 --- a/adsk/core.py +++ b/adsk/core.py @@ -2,6 +2,7 @@ # It does not reflect the actual implementation. from __future__ import annotations +from collections.abc import Iterator class AppearanceSourceTypes(): """ @@ -77,6 +78,14 @@ def __init__(self): InfiniteLine3DCurveType = 5 NurbsCurve3DCurveType = 6 +class DataFileCopyTypes(): + """ + The types of copy operations that can be performed when copy DesignDataFile. + """ + def __init__(self): + pass + CopyDrawingsDataFileCopyType = 0 + class DefaultModelingOrientations(): """ A list of the valid modeling orientations. @@ -428,6 +437,16 @@ def __init__(self): pass DocumentNotFoundError = 200 +class OperatingSystems(): + """ + Defines the various operating systems that a script or add-in can run on. + """ + def __init__(self): + pass + WindowsOperatingSystem = 0 + MacOperatingSystem = 1 + WindowsAndMacOperatingSystem = 2 + class PaletteDockingOptions(): """ Defines the different options available when docking a palette to the Fusion 360 main window area. @@ -462,6 +481,41 @@ def __init__(self): PaletteSnapOptionsRight = 2 PaletteSnapOptionsBottom = 3 +class PanZoomOrbitShortcuts(): + """ + A list of the different predefined keyboard shortcuts for pan, zoom, and orbit. + """ + def __init__(self): + pass + Fusion360PanZoomOrbitShortcut = 0 + AliasPanZoomOrbitShortcut = 1 + InventorPanZoomOrbitShortcut = 2 + SolidWorksPanZoomOrbitShortcut = 3 + TinkercadPanZoomOrbitShortcut = 4 + PowerMillPanZoomOrbitShortcut = 5 + +class ProgrammingLanguages(): + """ + Defines the various languages supported for Fusion scripts and add-ins. + """ + def __init__(self): + pass + PromptForLanguage = 0 + PythonProgrammingLanguage = 1 + CPPProgramminglanguage = 2 + +class ProjectedTextureMapTypes(): + """ + The different types of projected texture maps. + """ + def __init__(self): + pass + AutomaticTextureMapProjection = 0 + PlanarTextureMapProjection = 1 + BoxTextureMapProjection = 2 + SphericalTextureMapProjection = 3 + CylindricalTextureMapProjection = 4 + class SaveLocalErrors(): """ List of possible errors when saving a document locally. @@ -542,6 +596,33 @@ def __init__(self): BetterPerformanceTransparencyEffect = 0 BetterDisplayTransparencyEffect = 1 +class TriadChanges(): + """ + Defines the different types of edits that can be applied by the user to a triad command input. + """ + def __init__(self): + pass + TriadChangeUnknown = 0 + TriadChangeXTranslation = 1 + TriadChangeYTranslation = 2 + TriadChangeZTranslation = 3 + TriadChangeXYTranslation = 4 + TriadChangeYZTranslation = 5 + TriadChangeXZTranslation = 6 + TriadChangeXYZTranslation = 7 + TriadChangeXRotation = 8 + TriadChangeYRotation = 9 + TriadChangeZRotation = 10 + TriadChangeXScale = 11 + TriadChangeYScale = 12 + TriadChangeZScale = 13 + TriadChangeXYScale = 14 + TriadChangeYZScale = 15 + TriadChangeXZScale = 16 + TriadChangeXYZScale = 17 + TriadChangeHorizontalFlip = 18 + TriadChangeVerticalFlip = 19 + class UploadStates(): """ The different states of a file upload process. @@ -572,6 +653,7 @@ def __init__(self): PortugueseBrazilianLanguage = 11 RussianLanguage = 12 SpanishLanguage = 13 + TurkishLanguage = 14 class ValueInputError(): """ @@ -663,7 +745,11 @@ def classType() -> str: @property def objectType(self) -> str: """ - Returns a string indicating the type of the object. + This property is supported by all objects in the API and returns a string that contains + the full name (namespace::objecttype) describing the type of the object. + + It's often useful to use this in combination with the classType method to see if an object + is a certain type. For example: if obj.objectType == adsk.core.Point3D.classType(): """ return str() @property @@ -705,6 +791,92 @@ def notify(self, eventArgs: ActiveSelectionEventArgs) -> None: """ pass +class APIPreferences(Base): + """ + Provides access to the various preferences associated with the API. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> APIPreferences: + return APIPreferences() + @property + def defaultScriptLanguage(self) -> ProgrammingLanguages: + """ + Gets and sets the preference that controls which programming language + should be used when creating a new script. One option is to prompt the user. + """ + return ProgrammingLanguages() + @defaultScriptLanguage.setter + def defaultScriptLanguage(self, value: ProgrammingLanguages): + """ + Gets and sets the preference that controls which programming language + should be used when creating a new script. One option is to prompt the user. + """ + pass + @property + def defaultAddInLanguage(self) -> ProgrammingLanguages: + """ + Gets and sets the preference that controls which programming language + should be used when creating a new add-in. One option is to prompt the user. + """ + return ProgrammingLanguages() + @defaultAddInLanguage.setter + def defaultAddInLanguage(self, value: ProgrammingLanguages): + """ + Gets and sets the preference that controls which programming language + should be used when creating a new add-in. One option is to prompt the user. + """ + pass + @property + def defaultPathForScriptsAndAddIns(self) -> str: + """ + The default path where new scripts or add-ins will be created. Scripts will be + created in a "Scripts" subdirectory and add-ins will be created in an "AddIns" + subdirectory. This must be the full path to the parent folder. + + This path is also where Fusion will look for any scripts and add-ins and + automatically display them in the "Scripts and Add-Ins" dialog. + """ + return str() + @defaultPathForScriptsAndAddIns.setter + def defaultPathForScriptsAndAddIns(self, value: str): + """ + The default path where new scripts or add-ins will be created. Scripts will be + created in a "Scripts" subdirectory and add-ins will be created in an "AddIns" + subdirectory. This must be the full path to the parent folder. + + This path is also where Fusion will look for any scripts and add-ins and + automatically display them in the "Scripts and Add-Ins" dialog. + """ + pass + @property + def debuggingPort(self) -> int: + """ + Gets and sets the port used when connecting to Visual Studio Code. + """ + return int() + @debuggingPort.setter + def debuggingPort(self, value: int): + """ + Gets and sets the port used when connecting to Visual Studio Code. + """ + pass + @property + def isDeveloperToolsEnabled(self) -> bool: + """ + Gets and sets if access to "Developer Tools" should be enabled in pallets and + BrowserCommandInputs. + """ + return bool() + @isDeveloperToolsEnabled.setter + def isDeveloperToolsEnabled(self, value: bool): + """ + Gets and sets if access to "Developer Tools" should be enabled in pallets and + BrowserCommandInputs. + """ + pass + class Appearance(Base): """ An appearance. @@ -721,15 +893,6 @@ def deleteMe(self) -> bool: Returns true if the delete was successful. """ return bool() - def copyTo(self, target: Base) -> bool: - """ - Copies this appearance to the specified target. - ***Depricated Method: Use the addByCopyMethod on the Appearances object instead, where you can rename the copied Appearance - and the return type is Appearance rather than bool.*** - target : The target can be a Design or MaterialFavorites object. - Returns true if the copy was successful. - """ - return bool() @property def id(self) -> str: """ @@ -792,6 +955,12 @@ def __init__(self): @staticmethod def cast(arg) -> Appearances: return Appearances() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Appearance: + return None + def __iter__(self) -> Iterator[Appearance]: + return None def item(self, index: int) -> Appearance: """ Returns the specified Appearance using an index into the collection. @@ -821,7 +990,7 @@ def addByCopy(self, appearanceToCopy: Appearance, name: str) -> Appearance: cannot be used to copy an Appearance to a library. appearanceToCopy : The Appearance you want to copy. The Appearance to copy can be from Favorites, a Library or from the appearances stored in the Design. - name : The Appearnce name to apply to the copy. + name : The Appearance name to apply to the copy. Returns the newly created Appearance or null if the copy operation failed. """ return Appearance() @@ -879,12 +1048,18 @@ def get() -> Application: """ return Application() @staticmethod - def log(message: str, level: LogLevels, type: LogTypes) -> None: + def log(message: str, level: LogLevels = LogLevels.InfoLogLevel, type: LogTypes = LogTypes.ConsoleLogType) -> None: """ - Log Message. - message : The message to log. - level : The log level. Default value is Info. - type : The log type. Default value is Console. + Logs messages to either the TEXT COMMAND window or the Fusion app log file. + message : The message to write to the log. + level : The log level. Default value is InfoLogLevel. This is only used when the log type is FileLogType where the + log message will include the log level. + type : The log type. The default value is ConsoleLogType to write the message to the TEXT COMMAND window. When the + type is FileLogType, the message is written to Fusion's app log file which is the same file where Fusion writes + all of its log messages. You can get the path and filename of the current log file by using the TEXT COMMAND window. + In the lower-right corner you can choose "Txt", "Py", or "Js". Choose the "Txt" option and type "paths.get" in the + input field and press return. A list of all of the various paths used by Fusion will be displayed in the TEXT COMMAND + window. The line for "AppLogFilePath" has the full path to the log file. """ pass def getLastError(self) -> tuple[int, str]: @@ -906,7 +1081,7 @@ def registerCustomEvent(self, eventId: str) -> CustomEvent: be because the provided eventId is not unique. """ return CustomEvent() - def fireCustomEvent(self, eventId: str, additionalInfo: str) -> bool: + def fireCustomEvent(self, eventId: str, additionalInfo: str = "") -> bool: """ Fires a previously registered custom event. This method is used by a worker thread or another add-in to fire an event to the add-in that registered the event and is running in the primary thread. @@ -1095,7 +1270,7 @@ def onlineStatusChanged(self) -> ApplicationEvent: This event fires whether or not the online status was changed deliberately by the user by using the Fusion 360 'Work Offline' command or because of inadvertent network/Internet connectivity issues. You can get the isOffline property of ApplicationEventArgs to determine whether Fusion 360 has gone Offline or - has come back Online. + has come back online. The client can add or remove ApplicationEventHandlers from the ApplicationEvent. """ return ApplicationEvent() @@ -1233,6 +1408,30 @@ def dataFileComplete(self) -> DataEvent: The dataFileComplete event fires when a data file upload has completed including any cloud side translations. """ return DataEvent() + @property + def hasActiveJobs(self) -> bool: + """ + Gets whether there are any active jobs. + """ + return bool() + @property + def fontNames(self) -> list[str]: + """ + Returns the names of all of the fonts that are available in Fusion when creating text. + """ + return [str()] + @property + def scripts(self) -> Scripts: + """ + return the API Add-in scripts + """ + return Scripts() + @property + def dataFileCopyComplete(self) -> DataEvent: + """ + The dataFileCopyComplete event fires when a data file copy has completed including any PIM Data copy. + """ + return DataEvent() class ApplicationCommandEventHandler(EventHandler): """ @@ -1356,6 +1555,12 @@ def __init__(self): @staticmethod def cast(arg) -> Attributes: return Attributes() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Attribute: + return None + def __iter__(self) -> Iterator[Attribute]: + return None def item(self, index: int) -> Attribute: """ Returns the specified attribute using an index into the collection. @@ -1587,6 +1792,39 @@ def __init__(self): @staticmethod def cast(arg) -> Camera: return Camera() + @staticmethod + def create() -> Camera: + """ + Creates a new Camera object that is independent of any viewport. This can be used + to construct a camera to be used as input to modify a viewport, and create or + update a named view. + Returns the created camera. + """ + return Camera() + def getExtents(self) -> tuple[bool, float, float]: + """ + Gets the extents of the camera. This is only used for orthographic cameras. + width : The width of the extent in centimeters. + height : The height of the extent in centimeters. + Returns true if successful. This will fail in the case it is used for a perspective camera. + """ + return (bool(), float(), float()) + def setExtents(self, width: float, height: float) -> bool: + """ + Sets the extents of the camera. This is only used for orthographic cameras. + The extents of a perspective camera is defined by a combination of the position + of the eye point (how close the eye is to the model) and the perspective angle. + + When the camera is assigned to a viewport, typically only the width or the + height is used depending on the aspect ratio of the viewport. For example, + if the width and height are both 10, but the viewport is twice as wide as + it is tall (2:1 aspect ratio). The height extent will be 10 and the width + extent will be recomputed to be 20 to match the viewport. + width : The width of the extent in centimeters. + height : The height of the extent in centimeters. + Returns true if successful. This will fail in the case it is used for a perspective camera. + """ + return bool() @property def eye(self) -> Point3D: """ @@ -1654,32 +1892,6 @@ def upVector(self, value: Vector3D): """ pass @property - def viewExtents(self) -> float: - """ - Defines the area that's visible by the camera. This - value is the radius of a sphere centered at the target point. - The camera will display everything within that sphere and - everything in front of and behind the sphere. Additional - geometry outside of the sphere will also be visible depending - on the shape of the window. Setting this - value can cause the eye and/or perspective angle to be - modified when the camera type is perspective. - """ - return float() - @viewExtents.setter - def viewExtents(self, value: float): - """ - Defines the area that's visible by the camera. This - value is the radius of a sphere centered at the target point. - The camera will display everything within that sphere and - everything in front of and behind the sphere. Additional - geometry outside of the sphere will also be visible depending - on the shape of the window. Setting this - value can cause the eye and/or perspective angle to be - modified when the camera type is perspective. - """ - pass - @property def isFitView(self) -> bool: """ If this property is true, when this camera is applied to a viewport it @@ -1698,7 +1910,7 @@ def isFitView(self, value: bool): @property def isSmoothTransition(self) -> bool: """ - Determines whether Fusion 360 does a smooth transition to this camera positoin when the + Determines whether Fusion 360 does a smooth transition to this camera position when the camera is assigned to a ViewPort. If this is true it will do a smooth transition from the current camera position to the new camera position. If false, the view will jump to the position defined by the camera with no intermediate steps. This is useful if @@ -1708,7 +1920,7 @@ def isSmoothTransition(self) -> bool: @isSmoothTransition.setter def isSmoothTransition(self, value: bool): """ - Determines whether Fusion 360 does a smooth transition to this camera positoin when the + Determines whether Fusion 360 does a smooth transition to this camera position when the camera is assigned to a ViewPort. If this is true it will do a smooth transition from the current camera position to the new camera position. If false, the view will jump to the position defined by the camera with no intermediate steps. This is useful if @@ -1718,17 +1930,19 @@ def isSmoothTransition(self, value: bool): @property def viewOrientation(self) -> ViewOrientations: """ - Sets the camera to a standard orientation. If this is set, - it will result in resetting all of the camera values except - the camera type. + Sets the camera to a standard orientation. If this is set, it will result in resetting + all the camera values except the camera type. The orientation is based on the current + orientation defined by the ViewCube. This means, that the view orientations cannot be + expected to be consistent from one view to another. """ return ViewOrientations() @viewOrientation.setter def viewOrientation(self, value: ViewOrientations): """ - Sets the camera to a standard orientation. If this is set, - it will result in resetting all of the camera values except - the camera type. + Sets the camera to a standard orientation. If this is set, it will result in resetting + all the camera values except the camera type. The orientation is based on the current + orientation defined by the ViewCube. This means, that the view orientations cannot be + expected to be consistent from one view to another. """ pass @@ -1749,6 +1963,151 @@ def notify(self, eventArgs: CameraEventArgs) -> None: """ pass +class CloudFileDialog(Base): + """ + Provides access to a cloud file dialog. A cloud file dialog can be used to prompt the user + to select a location and file on Fusion Team. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CloudFileDialog: + return CloudFileDialog() + def showOpen(self) -> DialogResults: + """ + Displays a modal open dialog, allowing the user to select one or more files. The return value + can be used to determine if the dialog was canceled without selecting a file. The dataFile + and dataFiles properties can be used to get the selected files. + Returns an enum value indicating which button was clicked on the dialog. + """ + return DialogResults() + def showSave(self) -> DialogResults: + """ + Displays a modal save dialog, allowing the user to specify a file. The return value + can be used to determine if the dialog was canceled without giving a filename. The filename + property can be used to get that file. + Returns an enum value indicating which button was clicked on the dialog. + """ + return DialogResults() + @property + def title(self) -> str: + """ + Gets or sets the title displayed on the dialog. + """ + return str() + @title.setter + def title(self, value: str): + """ + Gets or sets the title displayed on the dialog. + """ + pass + @property + def dataFile(self) -> DataFile: + """ + Gets the DataFile selected by the user in the dialog. This property is + used after the ShowOpen method has been called to retrieve + the filename specified by the user. + + If ShowOpen was used and isMultiSelectEnabled is true, then this property will + only display the first DataFile selected and the dataFiles property should be + used instead to retrieved the full list. If ShowSave was used, then only a + single DataFile is ever returned. + """ + return DataFile() + @property + def dataFiles(self) -> list[DataFile]: + """ + Gets the DataFiles specified by the user in the dialog. This property is + used after the ShowOpen method has been called to retrieve the DataFiles + specified by the user. + + If ShowOpen is used and isMultiSelectEnabled is true, the user is able to select + more than one file. This property returns all of the files that were selected. + """ + return [DataFile()] + @property + def filter(self) -> str: + """ + Gets or sets the current file type filter. This controls the types of files displayed in + the dialog. The filter consists of file extensions separated by a semi-colon. The string + below is an example of the filter used by Fusion for the Open command. + + "f3d;f2d;f2t;fbrd;fsch;flbr;fprj;prt;par;sldprt;sldasm;ipt;iam;stp;ste;step" + + An empty string indicates that no filter should be used and all files in the current + DataFolder should be displayed. + """ + return str() + @filter.setter + def filter(self, value: str): + """ + Gets or sets the current file type filter. This controls the types of files displayed in + the dialog. The filter consists of file extensions separated by a semi-colon. The string + below is an example of the filter used by Fusion for the Open command. + + "f3d;f2d;f2t;fbrd;fsch;flbr;fprj;prt;par;sldprt;sldasm;ipt;iam;stp;ste;step" + + An empty string indicates that no filter should be used and all files in the current + DataFolder should be displayed. + """ + pass + @property + def dataFolder(self) -> DataFolder: + """ + Gets or sets the initial DataFolder displayed in the dialog. The DataFolder should be in current project. + If null, this defaults to the DataFolder that is currently active in the Data Panel. + + When using the showSave method, use this property to get the DataFolder that the user specified. + """ + return DataFolder() + @dataFolder.setter + def dataFolder(self, value: DataFolder): + """ + Gets or sets the initial DataFolder displayed in the dialog. The DataFolder should be in current project. + If null, this defaults to the DataFolder that is currently active in the Data Panel. + + When using the showSave method, use this property to get the DataFolder that the user specified. + """ + pass + @property + def filename(self) -> str: + """ + Gets and sets the filename when using the showSave method. If you set this value before using the + showSave method, this will display the filename as the default in the dialog, but the user can + change it. The default is an empty string, which indicates there is not an initial filename. + + After calling the showSave method, use this property to get the filename the user specified. You + can use this in combination with the dataFolder property to know where the user has specified + to save the file. + """ + return str() + @filename.setter + def filename(self, value: str): + """ + Gets and sets the filename when using the showSave method. If you set this value before using the + showSave method, this will display the filename as the default in the dialog, but the user can + change it. The default is an empty string, which indicates there is not an initial filename. + + After calling the showSave method, use this property to get the filename the user specified. You + can use this in combination with the dataFolder property to know where the user has specified + to save the file. + """ + pass + @property + def isMultiSelectEnabled(self) -> bool: + """ + Gets or sets a value indicating whether the dialog allows multiple files to be selected. This + defaults to False when a new CloudFileDialog is created. It is only used when using the showOpen method. + """ + return bool() + @isMultiSelectEnabled.setter + def isMultiSelectEnabled(self, value: bool): + """ + Gets or sets a value indicating whether the dialog allows multiple files to be selected. This + defaults to False when a new CloudFileDialog is created. It is only used when using the showOpen method. + """ + pass + class Color(Base): """ The Color class wraps all of the information that defines a simple color. @@ -1915,8 +2274,12 @@ def getCursor(self) -> tuple[bool, str, int, int]: Returns true if getting the cursor information was successful. """ return (bool(), str(), int(), int()) - def beginStep(self, makeExistingStepNonUndoable: bool) -> bool: + def beginStep(self, makeExistingStepNonUndoable: bool = False) -> bool: """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + Begin a transacted step within the command's transaction. If the all of the command inputs are valid, this will trigger the execute event for the current step. makeExistingStepNonUndoable : If true the current step will not be undo-able. @@ -2117,12 +2480,6 @@ def isRepeatable(self, value: bool): """ pass @property - def selectionEvent(self) -> SelectionEvent: - """ - This event has been retired. Equivalent functionality is supported by the preSelect event. - """ - return SelectionEvent() - @property def isExecutedWhenPreEmpted(self) -> bool: """ Specifies what the behavior will be when a command is preempted by the user executing another @@ -2141,53 +2498,13 @@ def isExecutedWhenPreEmpted(self, value: bool): @property def helpFile(self) -> str: """ -

Gets and sets the associated HTML help file for this command. If this is defined - then the help button will be displayed in the lower-left corner of the command dialog - and when clicked the help file will be displayed using the application defined by the - operating system for that file type. For example if the helpfile property references a .htm or .html - file, the default browser will be invoked to display the file. If a .pdf file is used then - whatever the default application is for viewing a pdf file will be invoked.

- -

The file referenced must be a local file and cannot be a URL. However, you can use a local - HTML file that redirects to a URL.

- -
<html>
-        <head>
-        <meta http-equiv="refresh" content="0; url=http://example.com/" />
-        </head>
-        <body></body>
-        </html>
-        
- -

The filename can be either a full path or a relative path with respect to the script or add-in - .py, .js, .dll, or .dylib file. If this is an empty string, (which is the default), then the - help button will not be displayed.

+ Gets and sets the associated HTML help file for this command. """ return str() @helpFile.setter def helpFile(self, value: str): """ -

Gets and sets the associated HTML help file for this command. If this is defined - then the help button will be displayed in the lower-left corner of the command dialog - and when clicked the help file will be displayed using the application defined by the - operating system for that file type. For example if the helpfile property references a .htm or .html - file, the default browser will be invoked to display the file. If a .pdf file is used then - whatever the default application is for viewing a pdf file will be invoked.

- -

The file referenced must be a local file and cannot be a URL. However, you can use a local - HTML file that redirects to a URL.

- -
<html>
-        <head>
-        <meta http-equiv="refresh" content="0; url=http://example.com/" />
-        </head>
-        <body></body>
-        </html>
-        
- -

The filename can be either a full path or a relative path with respect to the script or add-in - .py, .js, .dll, or .dylib file. If this is an empty string, (which is the default), then the - help button will not be displayed.

+ Gets and sets the associated HTML help file for this command. """ pass @property @@ -2308,8 +2625,8 @@ def preSelectMouseMove(self) -> SelectionEvent: @property def preSelectEnd(self) -> SelectionEvent: """ - This event fires when the moused is moved away from an entity that was in a preselect state. If - your add-in has done something in reaction to the preSelect, like draw some custom graphics, this + This event fires when the moused is moved away from an entity that was in a pre-select state. If + your add-in has done something in reaction to the preSelect event, like draw some custom graphics, this event provides the notification to clean up whatever you've done that's associated with the current pre-select. @@ -2341,6 +2658,10 @@ def unselect(self) -> SelectionEvent: @property def editingFeature(self) -> Base: """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + Sets the editing feature for this command. The timeline will be rolled to the editing feature on activate and will the current position will be restored on deactivate. """ @@ -2348,6 +2669,10 @@ def editingFeature(self) -> Base: @editingFeature.setter def editingFeature(self, value: Base): """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + Sets the editing feature for this command. The timeline will be rolled to the editing feature on activate and will the current position will be restored on deactivate. """ @@ -2370,6 +2695,20 @@ def navigatingURL(self) -> NavigationEvent: which BrowserCommandInput triggered the event. """ return NavigationEvent() + @property + def preSelectStart(self) -> SelectionEvent: + """ + As the mouse moves over entities in the graphics window, entities valid for selection are highlighted. + Before an entity is highlighted, Fusion determines if it is a valid selectable entity using the selection + filter defined on the SelectionCommandInput and the preSelect event of the command. The preSelectStart + event fires when the mouse first moves over an entity valid for selection. You can obtain the entity + and mouse position from the Selection object returned by the selection property of the SelectionEventArgs + object provided through the event. + + Some related events are the preSelectMouseMove event, which fires as the mouse moves across the entity, + and the preSelectEnd event, which fires when the mouse moves off the entity. + """ + return SelectionEvent() class CommandCreatedEventHandler(EventHandler): """ @@ -2400,7 +2739,7 @@ def __init__(self): @staticmethod def cast(arg) -> CommandDefinition: return CommandDefinition() - def execute(self, input: NamedValues) -> bool: + def execute(self, input: NamedValues = None) -> bool: """ Executes this command definition. This is the same as the user clicking a button that is associated with this command definition. @@ -2471,6 +2810,7 @@ def tooltip(self) -> str: The second option is to shorten the word by removing a section. For example, if the word is a full path to a file and a portion of the path is common you can remove that portion and replace it with the ellipsis character to indicate there is some missing text. There is a single UNICODE character you can use the ellipsis. It is '\u2026'. + """ return str() @tooltip.setter @@ -2491,6 +2831,7 @@ def tooltip(self, value: str): The second option is to shorten the word by removing a section. For example, if the word is a full path to a file and a portion of the path is common you can remove that portion and replace it with the ellipsis character to indicate there is some missing text. There is a single UNICODE character you can use the ellipsis. It is '\u2026'. + """ pass @property @@ -2541,7 +2882,13 @@ def __init__(self): @staticmethod def cast(arg) -> CommandDefinitions: return CommandDefinitions() - def addButtonDefinition(self, id: str, name: str, tooltip: str, resourceFolder: str) -> CommandDefinition: + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CommandDefinition: + return None + def __iter__(self) -> Iterator[CommandDefinition]: + return None + def addButtonDefinition(self, id: str, name: str, tooltip: str, resourceFolder: str = "") -> CommandDefinition: """ Creates a new command definition that can be used to create a button control and handle the response when the button is clicked. id : The unique identifier for this command definition. It must be unique with respect to all other command definitions and is @@ -2599,7 +2946,7 @@ def addCheckBoxDefinition(self, id: str, name: str, tooltip: str, isChecked: boo Returns the created CommandDefinition object or null if the creation failed. """ return CommandDefinition() - def addListDefinition(self, id: str, name: str, listControlDisplayType: ListControlDisplayTypes, resourceFolder: str) -> CommandDefinition: + def addListDefinition(self, id: str, name: str, listControlDisplayType: ListControlDisplayTypes, resourceFolder: str = "") -> CommandDefinition: """ Creates a new command definition that can be used to create a list of check boxes, radio buttons, or text with an icon within a pop-up. @@ -2695,24 +3042,34 @@ def name(self) -> str: def isEnabled(self) -> bool: """ Gets or sets if this input is currently enabled or disabled for user interaction. + + Currently, the isEnabled property does not disable SelectionCommandInput objects but + instead has the same effect as the SelectionCommandInput.hasFocus property. """ return bool() @isEnabled.setter def isEnabled(self, value: bool): """ Gets or sets if this input is currently enabled or disabled for user interaction. + + Currently, the isEnabled property does not disable SelectionCommandInput objects but + instead has the same effect as the SelectionCommandInput.hasFocus property. """ pass @property def isVisible(self) -> bool: """ Gets or sets if this input will be visible to the user. + + Setting a SelectionCommandInput to be invisible will clear any selections it currently has. """ return bool() @isVisible.setter def isVisible(self, value: bool): """ Gets or sets if this input will be visible to the user. + + Setting a SelectionCommandInput to be invisible will clear any selections it currently has. """ pass @property @@ -2793,7 +3150,7 @@ def tooltipDescription(self, value: str): def parentCommandInput(self) -> CommandInput: """ Gets the parent CommandInput if this commandInput is the child of a TabCommandInput or GroupCommandInput. - Returns null if their is no parent. + Returns null if there is no parent. """ return CommandInput() @@ -2807,6 +3164,12 @@ def __init__(self): @staticmethod def cast(arg) -> CommandInputs: return CommandInputs() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CommandInput: + return None + def __iter__(self) -> Iterator[CommandInput]: + return None def item(self, index: int) -> CommandInput: """ Returns the specified command input using an index into the collection. @@ -2834,7 +3197,7 @@ def addValueInput(self, id: str, name: str, unitType: str, initialValue: ValueIn Returns the created ValueCommandInput object or null if the creation failed. """ return ValueCommandInput() - def addBoolValueInput(self, id: str, name: str, isCheckBox: bool, resourceFolder: str, initialValue: bool) -> BoolValueCommandInput: + def addBoolValueInput(self, id: str, name: str, isCheckBox: bool, resourceFolder: str = "", initialValue: bool = False) -> BoolValueCommandInput: """ Adds a new boolean input to the command. The input can be shown as a check box or a button. If it's a button you need to specify the resource folder to define the icon to use. Buttons don't have an up or down state but @@ -2850,7 +3213,7 @@ def addBoolValueInput(self, id: str, name: str, isCheckBox: bool, resourceFolder Returns the created BoolValueCommandInput object or null if the creation failed. """ return BoolValueCommandInput() - def addStringValueInput(self, id: str, name: str, initialValue: str) -> StringValueCommandInput: + def addStringValueInput(self, id: str, name: str, initialValue: str = "") -> StringValueCommandInput: """ Adds a new string input to the command. id : The unique ID of this command input. It must be unique with respect to the other inputs associated with this command. @@ -2895,7 +3258,7 @@ def addButtonRowCommandInput(self, id: str, name: str, isMultiSelectEnabled: boo Returns the created ButtonRowCommandInput object or null if the creation failed. """ return ButtonRowCommandInput() - def addFloatSliderCommandInput(self, id: str, name: str, unitType: str, min: float, max: float, hasTwoSliders: bool) -> FloatSliderCommandInput: + def addFloatSliderCommandInput(self, id: str, name: str, unitType: str, min: float, max: float, hasTwoSliders: bool = False) -> FloatSliderCommandInput: """ Adds a new slider input to the command. The value type is double. id : The unique ID of this command input. It must be unique with respect to the other inputs associated with this command. @@ -2909,7 +3272,7 @@ def addFloatSliderCommandInput(self, id: str, name: str, unitType: str, min: flo Returns the created FloatSliderCommandInput object or null if the creation failed. """ return FloatSliderCommandInput() - def addFloatSliderListCommandInput(self, id: str, name: str, unitType: str, valueList: list[float], hasTwoSliders: bool) -> FloatSliderCommandInput: + def addFloatSliderListCommandInput(self, id: str, name: str, unitType: str, valueList: list[float], hasTwoSliders: bool = False) -> FloatSliderCommandInput: """ Adds a new slider input to the command. The value type is float. id : The unique ID of this command input. It must be unique with respect to the other inputs associated with this command. @@ -2923,7 +3286,7 @@ def addFloatSliderListCommandInput(self, id: str, name: str, unitType: str, valu Returns the created FloatSliderCommandInput object or null if the creation failed. """ return FloatSliderCommandInput() - def addIntegerSliderCommandInput(self, id: str, name: str, min: int, max: int, hasTwoSliders: bool) -> IntegerSliderCommandInput: + def addIntegerSliderCommandInput(self, id: str, name: str, min: int, max: int, hasTwoSliders: bool = False) -> IntegerSliderCommandInput: """ Adds a new slider input to the command. The value type is integer. id : The unique ID of this command input. It must be unique with respect to the other inputs associated with this command. @@ -2934,7 +3297,7 @@ def addIntegerSliderCommandInput(self, id: str, name: str, min: int, max: int, h Returns the created IntegerSliderCommandInput object or null if the creation failed. """ return IntegerSliderCommandInput() - def addIntegerSliderListCommandInput(self, id: str, name: str, valueList: list[int], hasTwoSliders: bool) -> IntegerSliderCommandInput: + def addIntegerSliderListCommandInput(self, id: str, name: str, valueList: list[int], hasTwoSliders: bool = False) -> IntegerSliderCommandInput: """ Adds a new slider input to the command. The value type is integer. id : The unique ID of this command input. It must be unique with respect to the other inputs associated with this command. @@ -2952,13 +3315,21 @@ def addTextBoxCommandInput(self, id: str, name: str, formattedText: str, numRows id : The unique ID of this command input. It must be unique with respect to the other inputs associated with this command. name : The displayed name of this command as seen in the dialog. If an empty string is provided then no name will be displayed and the text box will span the width of the command dialog. - formattedText : Gets and sets the formatted text displayed in the dialog. Formatted text includes - any basic html formatting that has been defined. For example, you can use basic html + formattedText : + Specifies the formatted text to display in the input. For example, you can use basic html formatting such as <b>Bold</b>, <i>Italic</i>, and <br /> for a line break. It also supports hyperlinks, which when clicked by the user, Fusion 360 will open the specified URL in the default browser. Hyperlinks are defined using the <a> tag such as - "You are using Autodesk's <a href="http://fusion360.autodesk.com">Fusion 360</a>.". + "You are using Autodesk's <a href=http://fusion360.autodesk.com>Fusion 360</a>.". + + If you are using HTML formatting in your text, it's best to set the text box to be read-only. However, + if you want to use the text box as a way to get input from the user, it's best to use simple text so + not HTML formatting is assumed. To do this, use an empty string for this argument and then set the text + using the text property after the input is created. When the text property is used any HTML formatting + is ignored and the text is treated as basics text. This can be useful if you're using the text box to + have the user enter HTML code so it's treated as a simple string. + numRows : Specifies the height of the text box as defined by the number of rows of text that can be displayed. If the text is larger than will fit in the box a scroll bar will automatically be displayed. isReadOnly : Specifies if the text box is read-only or not. @@ -2995,7 +3366,7 @@ def addIntegerSpinnerCommandInput(self, id: str, name: str, min: int, max: int, Returns the created IntegerSpinnerCommandInput object or null if the creation failed. """ return IntegerSpinnerCommandInput() - def addRadioButtonGroupCommandInput(self, id: str, name: str) -> RadioButtonGroupCommandInput: + def addRadioButtonGroupCommandInput(self, id: str, name: str = "") -> RadioButtonGroupCommandInput: """ Adds a new Radio Button Group input to the command. id : The unique ID of this command input. It must be unique with respect to the other inputs associated with this command. @@ -3012,7 +3383,7 @@ def addGroupCommandInput(self, id: str, name: str) -> GroupCommandInput: Returns the created GroupCommandInput object or null if the creation failed. """ return GroupCommandInput() - def addTabCommandInput(self, id: str, name: str, resourceFolder: str) -> TabCommandInput: + def addTabCommandInput(self, id: str, name: str, resourceFolder: str = "") -> TabCommandInput: """ Adds a new Tab input to the command. Tab command inputs contain a set of command inputs and/or group command inputs id : The unique ID of this command input. It must be unique with respect to the other inputs associated with this command. @@ -3054,7 +3425,7 @@ def addDistanceValueCommandInput(self, id: str, name: str, initialValue: ValueIn Returns the created DistanceValueCommandInput object or null if the creation failed. """ return DistanceValueCommandInput() - def addDirectionCommandInput(self, id: str, name: str, resourceFolder: str) -> DirectionCommandInput: + def addDirectionCommandInput(self, id: str, name: str, resourceFolder: str = "") -> DirectionCommandInput: """ Adds a new direction command input to the command. The input can be shown as a check box or a button. If it's a button you need to specify the resource folder to define the icon to use for the Button. @@ -3105,7 +3476,7 @@ def addAngleValueCommandInput(self, id: str, name: str, initialValue: ValueInput Returns the created AngleValueCommandInput object or null if the creation failed. """ return AngleValueCommandInput() - def addBrowserCommandInput(self, id: str, name: str, htmlFileURL: str, minimumHeight: int, maximumHeight: int) -> BrowserCommandInput: + def addBrowserCommandInput(self, id: str, name: str, htmlFileURL: str, minimumHeight: int, maximumHeight: int = 0) -> BrowserCommandInput: """ Adds a new command input to the command that behaves as a browser. id : The unique ID of this command input. It must be unique with respect to the other inputs associated with this command. @@ -3128,6 +3499,28 @@ def addBrowserCommandInput(self, id: str, name: str, htmlFileURL: str, minimumHe Returns the created BrowserCommandInput object or null if the creation failed. """ return BrowserCommandInput() + def addTriadCommandInput(self, id: str, transform: Matrix3D) -> TriadCommandInput: + """ + Adds a new triad command input to the command. The input is initially invisible to allow you to define the desired + behavior and then set the isVisible property to true when you're ready to display the triad. + + The creation of a triad command input results in displaying many input fields in the command dialog. For example, + there can be individual fields for the X, Y, and Z offset distances, the X, Y, and Z scales, the X, Y, and Z angles, etc. + You control which fields are visible by setting properties on the returned TriadCommandInput. Even though each of these + appears as an individual input in the command dialog, and they are all associated with the single TriadCommandInput object. + It also results in graphics widgets being displayed to allow the user to define the values graphically. + + When a new triad is created, it displays all inputs except those that control scaling. You can use the + properties on the returned triad to define the inputs you want to display further. + + To simplify your command dialog it can be useful put the TriadCommandInput within a GroupCommandInput so it's + apparent to the user these items are related and they can be collapsed to reduce clutter in the dialog. This + also allows you to label the set of displayed inputs by using the name of the GroupCommandInput. + id : The unique ID of this command input. It must be unique with respect to the other inputs associated with this command. + transform : Defines the initial position and orientation of the manipulator. + Returns the created TriadCommandInput object or null if the creation failed. + """ + return TriadCommandInput() @property def command(self) -> Command: """ @@ -3189,6 +3582,28 @@ def name(self, value: str): """ pass +class CopyFileInput(Base): + """ + An object that contains the information needed to do a copy design operation. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CopyFileInput: + return CopyFileInput() + @property + def targetFolder(self) -> DataFolder: + """ + Gets and sets the target DataFolder where the design will be copied to. + """ + return DataFolder() + @property + def copyType(self) -> DataFileCopyTypes: + """ + Gets and sets the type of copy to be performed. + """ + return DataFileCopyTypes() + class Curve2D(Base): """ The base class for all 2D transient geometry classes. @@ -3247,6 +3662,38 @@ def evaluator(self) -> CurveEvaluator3D: """ return CurveEvaluator3D() +class Curve3DPath(Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents a collection of connected Curve3D objects. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Curve3DPath: + return Curve3DPath() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Curve3D: + return None + def __iter__(self) -> Iterator[Curve3D]: + return None + def item(self, index: int) -> Curve3D: + """ + Returns the Curve3D at the specified index from this collection of Curve3D objects. + index : The index of the Curve3D within this Curve3D collection to return. The first Curve3D in this collection has an index of 0. + """ + return Curve3D() + @property + def count(self) -> int: + """ + Returns the number of Curve3D objects contained in this Curve3D collection. + """ + return int() + class CurveEvaluator2D(Base): """ 2D curve evaluator that is obtained from a transient curve and allows you to perform @@ -3756,11 +4203,11 @@ def personalUseLimits(self) -> PersonalUseLimits: """ return PersonalUseLimits() @property - def activeSpaceCollectionId(self) -> str: + def activeFolder(self) -> DataFolder: """ - Returns the Id of the currently active space collection. + Gets the active DataFolder as seen in the Fusion 360 Data Panel. """ - return str() + return DataFolder() class DataEventHandler(EventHandler): """ @@ -3814,14 +4261,7 @@ def promote(self) -> bool: Returns true if successful. """ return bool() - def assemblyPIMData(self, noTraverse: bool) -> str: - """ - Retrieve the PIM data JSON for the assembly. - noTraverse : If false, traverse across referenced documents, otherwise do not. - - """ - return str() - def download(self, path: str, handler: DataEventHandler) -> bool: + def download(self, path: str, handler: DataEventHandler) -> bool: """ Performs a synchronous or asynchronous download of this DataFile. Only DataFiles that represent non-Fusion data can be downloaded. For example, this will work for TXT or XLS files but will @@ -3844,7 +4284,7 @@ def refresh(self, handler: DataEventHandler) -> bool: Refreshes the data associated with a DataFile object to be up to date with the associated cloud data. The DataFile returned by the API reflects the local representation of the DataFile as used by the Data Panel. This is method is only useful in very limited cases and should rarely be used. In most cases the local - representation will match the actual data on the cloud. In rare occasions where Fusion was offline while + representation will match the actual data on the cloud. In rare occasions where Fusion was off-line while the cloud processing of DataFile is completed or the DataFile is not in the folder shown in the Data Panel. Getting a DataFileFolder contents forces an update of the local data for all of the data files it contains so they will all be up to date. @@ -3979,7 +4419,7 @@ def parentReferences(self) -> DataFiles: @property def publicLink(self) -> str: """ - Returns a short url of this data file which can be shared with others. + Returns a short URL of this data file which can be shared with others. """ return str() @property @@ -4018,6 +4458,19 @@ def isComplete(self) -> bool: the Datafile is now available. """ return bool() + @property + def dateModified(self) -> int: + """ + Returns the date when this data file was modified. Most changes to a + file result in a new version which means a new DataFile is created and will have a new + creation date. There are a few changes, like rename, that modify a DataFile without + creating a new version and the date of that change is returned by this property. + + The date is returned as UNIX epoch time, which is the number of seconds since January 1, 1970 (midnight UTC/GMT). + In Python you can import the standard time module to work with UNIX epoch time. + In C++ you can use functions in time.h and std::chrono to work with UNIX epoch time. + """ + return int() class DataFileFuture(Base): """ @@ -4051,6 +4504,12 @@ def __init__(self): @staticmethod def cast(arg) -> DataFiles: return DataFiles() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> DataFile: + return None + def __iter__(self) -> Iterator[DataFile]: + return None def item(self, index: int) -> DataFile: """ Returns the specified data file. @@ -4104,9 +4563,9 @@ def uploadAssembly(self, filenames: list[str]) -> DataFileFuture: """ Uploads a set of files that represent an assembly There should only be a single top-level assembly file but there can be any number of other - files that represent subassemblies. + files that represent sub-assemblies. filenames : An array of strings that contains the list of all of the files that - are part of the assembly. The name of the the top-level assembly file + are part of the assembly. The name of the top-level assembly file must be the first file in the array. The upload process is asynchronous which means that this method will return before the upload process had completed. The returned @@ -4183,6 +4642,12 @@ def __init__(self): @staticmethod def cast(arg) -> DataFolders: return DataFolders() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> DataFolder: + return None + def __iter__(self) -> Iterator[DataFolder]: + return None def item(self, index: int) -> DataFolder: """ Returns the specified folder. @@ -4270,6 +4735,12 @@ def __init__(self): @staticmethod def cast(arg) -> DataHubs: return DataHubs() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> DataHub: + return None + def __iter__(self) -> Iterator[DataHub]: + return None def item(self, index: int) -> DataHub: """ Returns the specified hub. @@ -4350,6 +4821,12 @@ def __init__(self): @staticmethod def cast(arg) -> DataProjects: return DataProjects() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> DataProject: + return None + def __iter__(self) -> Iterator[DataProject]: + return None def item(self, index: int) -> DataProject: """ Returns the specified project. @@ -4357,7 +4834,7 @@ def item(self, index: int) -> DataProject: Returns the specified item or null if an invalid index was specified. """ return DataProject() - def add(self, name: str, purpose: str, contributors: str) -> DataProject: + def add(self, name: str, purpose: str = "", contributors: str = "") -> DataProject: """ Creates a new project in the parent hub. name : The name of the project. This is the name visible to the user. @@ -4414,6 +4891,12 @@ def __init__(self): @staticmethod def cast(arg) -> DefaultUnitsPreferencesCollection: return DefaultUnitsPreferencesCollection() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> DefaultUnitsPreferences: + return None + def __iter__(self) -> Iterator[DefaultUnitsPreferences]: + return None def item(self, index: int) -> DefaultUnitsPreferences: """ Function that returns the specified DefaultUnitPreferences object using an index into the collection. @@ -4425,7 +4908,7 @@ def itemByName(self, name: str) -> DefaultUnitsPreferences: """ Returns the DefaultUnitsPreference object with the specified name. name : The name of the DefaultUnitsPreference to return. - Returns the DefaultUnitsPreference object or null if if an invalid name was specified. + Returns the DefaultUnitsPreference object or null if an invalid name was specified. """ return DefaultUnitsPreferences() @property @@ -4486,16 +4969,40 @@ def saveAs(self, name: str, dataFolder: DataFolder, description: str, tag: str) Returns true if the save as was successful. """ return bool() + def updateAllReferences(self) -> bool: + """ + Updates all out of date references. This is equivalent to clicking the "Out of Date" + button in the Quick Access Toolbar to update all out of date references. + """ + return bool() @property def name(self) -> str: """ - Gets and sets the name of the document. + This property gets and sets the name of the document. You can only set the + name of a document before the document is saved for the first time. You can + use the isSaved property to determine this. If the document has not been + saved and the name is changed, the specified name will be the default name + shown in the Save dialog, which the user can modify before saving the document. + + If the file has been saved, this property behaves as read-only. Setting the + name will fail because the name is controlled by the DataFile associated + with this document. However, you can edit the name of the DataFile, which + you can obtain by using the dataFile property of the document. """ return str() @name.setter def name(self, value: str): """ - Gets and sets the name of the document. + This property gets and sets the name of the document. You can only set the + name of a document before the document is saved for the first time. You can + use the isSaved property to determine this. If the document has not been + saved and the name is changed, the specified name will be the default name + shown in the Save dialog, which the user can modify before saving the document. + + If the file has been saved, this property behaves as read-only. Setting the + name will fail because the name is controlled by the DataFile associated + with this document. However, you can edit the name of the DataFile, which + you can obtain by using the dataFile property of the document. """ pass @property @@ -4588,6 +5095,12 @@ def creationId(self) -> str: this ID to match the completion of the save operation on the cloud to the original document. """ return str() + @property + def designDataFile(self) -> DesignDataFile: + """ + Gets the DesignDataFile that represents this document in A360. + """ + return DesignDataFile() class DocumentEventHandler(EventHandler): """ @@ -4673,6 +5186,12 @@ def __init__(self): @staticmethod def cast(arg) -> DocumentReferences: return DocumentReferences() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> DocumentReference: + return None + def __iter__(self) -> Iterator[DocumentReference]: + return None def item(self, index: int) -> DocumentReference: """ Returns the specified DocumentReference. @@ -4697,7 +5216,13 @@ def __init__(self): @staticmethod def cast(arg) -> Documents: return Documents() - def add(self, documentType: DocumentTypes, visible: bool, options: NamedValues) -> Document: + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Document: + return None + def __iter__(self) -> Iterator[Document]: + return None + def add(self, documentType: DocumentTypes, visible: bool = True, options: NamedValues = None) -> Document: """ Creates and opens a new document of the specified type. documentType : A value from the DocumentTypes enum that specifies the type of document to create. @@ -4715,19 +5240,19 @@ def item(self, index: int) -> Document: Returns the specified item or null if an invalid index was specified. """ return Document() - def open(self, dataFile: DataFile, visible: bool) -> Document: + def open(self, dataFile: DataFile, visible: bool = True) -> Document: """ Opens an item that has previously been saved. dataFile : The item to open. - visible : Specifies if the document should be opened visibly or not. Currently, documents can only - be opened visibly so this argument must always be true. + visible : Specifies if the document should be opened visibly or not. Returns the open document or null if the open failed. """ return Document() @property def count(self) -> int: """ - Returns the number of currently open files. + Returns the number of currently open documents. This includes documents that are + visible and invisible. """ return int() @@ -4787,6 +5312,12 @@ def __init__(self): @staticmethod def cast(arg) -> FavoriteAppearances: return FavoriteAppearances() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Appearance: + return None + def __iter__(self) -> Iterator[Appearance]: + return None def item(self, index: int) -> Appearance: """ Returns the specified Appearance using an index into the collection. @@ -4832,6 +5363,12 @@ def __init__(self): @staticmethod def cast(arg) -> FavoriteMaterials: return FavoriteMaterials() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Material: + return None + def __iter__(self) -> Iterator[Material]: + return None def item(self, index: int) -> Material: """ Returns the specified Material using an index into the collection. @@ -4946,11 +5483,11 @@ def filter(self) -> str: The following is an example of a filter string: - Text files (*.txt);;All files (*.*) + Text files (*.txt);;All files (*.*) You can add several filter patterns to a filter by separating the file types with semicolons, for example: - Image Files (*.BMP;*.JPG;*.GIF);;All files (*.*) + Image Files (*.BMP;*.JPG;*.GIF);;All files (*.*) """ return str() @filter.setter @@ -4965,11 +5502,11 @@ def filter(self, value: str): The following is an example of a filter string: - Text files (*.txt);;All files (*.*) + Text files (*.txt);;All files (*.*) You can add several filter patterns to a filter by separating the file types with semicolons, for example: - Image Files (*.BMP;*.JPG;*.GIF);;All files (*.*) + Image Files (*.BMP;*.JPG;*.GIF);;All files (*.*) """ pass @property @@ -5292,6 +5829,42 @@ def defaultOrbit(self, value: DefaultOrbits): Get and sets the type of orbit. """ pass + @property + def isSkipCreationWhenLiveUpdate(self) -> bool: + """ + Gets and sets if the creation of launch items should be skipped for live update. + """ + return bool() + @isSkipCreationWhenLiveUpdate.setter + def isSkipCreationWhenLiveUpdate(self, value: bool): + """ + Gets and sets if the creation of launch items should be skipped for live update. + """ + pass + @property + def isDefaultMeasureShown(self) -> bool: + """ + Gets and sets if the default measure is shown. + """ + return bool() + @isDefaultMeasureShown.setter + def isDefaultMeasureShown(self, value: bool): + """ + Gets and sets if the default measure is shown. + """ + pass + @property + def panZoomOrbitShortcuts(self) -> PanZoomOrbitShortcuts: + """ + Gets and sets how pan, zoom, and orbit should behave + """ + return PanZoomOrbitShortcuts() + @panZoomOrbitShortcuts.setter + def panZoomOrbitShortcuts(self, value: PanZoomOrbitShortcuts): + """ + Gets and sets how pan, zoom, and orbit should behave + """ + pass class GraphicsPreferences(Base): """ @@ -5376,6 +5949,46 @@ def hiddenEdgeDimming(self, value: int): the value is a percentage expressed by a value between 0 and 100. """ pass + @property + def isWoodBumpEnabled(self) -> bool: + """ + Gets and sets whether the bump effect is enabled when supported by the Wood (Solid) + and the graphics driver. + """ + return bool() + @isWoodBumpEnabled.setter + def isWoodBumpEnabled(self, value: bool): + """ + Gets and sets whether the bump effect is enabled when supported by the Wood (Solid) + and the graphics driver. + """ + pass + @property + def isLimitEffectsDuringNavigation(self) -> bool: + """ + Gets and sets if effects should be temporarily disabled + during navigation to maintain the frame rate. + """ + return bool() + @isLimitEffectsDuringNavigation.setter + def isLimitEffectsDuringNavigation(self, value: bool): + """ + Gets and sets if effects should be temporarily disabled + during navigation to maintain the frame rate. + """ + pass + @property + def isSurfaceNormalDisplayDisabled(self) -> int: + """ + Gets and sets whether the surface normal display is disabled. + """ + return int() + @isSurfaceNormalDisplayDisabled.setter + def isSurfaceNormalDisplayDisabled(self, value: int): + """ + Gets and sets whether the surface normal display is disabled. + """ + pass class GridPreferences(Base): """ @@ -5481,7 +6094,9 @@ def importToNewDocument(self, importOptions: ImportOptions) -> Document: """ Executes the import operation to import a file (of the format specified by the input ImportOptions object) to a new document. - ***This method does not currently support the DXF2DImportOptions ImportOptions object.*** + + This method does not support the DXF2DImportOptions or SVGImportOptions objects. Use ImportToTarget or + ImportToTarget2 for those types. importOptions : An ImportOptions object that is created using one of the create methods on the ImportManager object. This defines the type of file and any available options supported for that file type. Returns the newly created Document object or null if the creation failed. @@ -5496,7 +6111,8 @@ def importToTarget(self, importOptions: ImportOptions, target: Base) -> bool: defines the type of file and any available options supported for that file type. Supplying a DXF2DImportOptions object will result in the creation of one or more sketches (depending on the layers in the DXF file) in the target component. - target : Currently supports importing to a Fusion 360 Component. + target : For most import types this will be a Component. For SVGImportOptions this is the sketch you want to + import the SVG data into. Returns true if the import was successful. """ return bool() @@ -5520,11 +6136,22 @@ def importToTarget2(self, importOptions: ImportOptions, target: Base) -> ObjectC defines the type of file and any available options supported for that file type. Supplying a DXF2DImportOptions object will result in the creation of one or more sketches (depending on the layers in the DXF file) in the target component. - target : Currently supports importing to a Fusion 360 Component. + target : For most import types this will be a Component. For SVGImportOptions this is the sketch you want to + import the SVG data into. Returns an ObjectCollection containing the results of whatever was created as a result of the import. null is returned in the case of failure. """ return ObjectCollection() + def createSVGImportOptions(self, fullFilename: str) -> SVGImportOptions: + """ + Creates a SVGImportOptions object that is used to import SVG data into a sketch. Creation + of the SVGImportOptions object does not perform the import. You must pass this object to the + importToTarget or importToTarget2 methods to perform the import and provide the sketch you want + to import to as the target. + fullFilename : The full filename, including the path, of the SVG file. + The created SVGImportOptions object or null if the creation failed. + """ + return SVGImportOptions() class ImportOptions(Base): """ @@ -5540,13 +6167,13 @@ def cast(arg) -> ImportOptions: @property def filename(self) -> str: """ - Gets and sets the filename or url of the file to be imported. + Gets and sets the filename or URL of the file to be imported. """ return str() @filename.setter def filename(self, value: str): """ - Gets and sets the filename or url of the file to be imported. + Gets and sets the filename or URL of the file to be imported. """ pass @property @@ -5733,7 +6360,13 @@ def __init__(self): @staticmethod def cast(arg) -> ListItems: return ListItems() - def add(self, name: str, isSelected: bool, icon: str, beforeIndex: int) -> ListItem: + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ListItem: + return None + def __iter__(self) -> Iterator[ListItem]: + return None + def add(self, name: str, isSelected: bool, icon: str = "", beforeIndex: int = -1) -> ListItem: """ Adds a new item to the list. name : The name of this item as it is displayed in the list. @@ -5813,14 +6446,6 @@ def deleteMe(self) -> bool: Returns true if the delete was successful. """ return bool() - def copyTo(self, target: Base) -> Material: - """ - Copies this material to the specified target. - ***Depricated Method: Use the addByCopyMethod on the Materials object instead, where you can rename the copied Material*** - target : The target can be a Design or MaterialFavorites object. - Returns the new copy of the material or null if the copy failed. - """ - return Material() @property def appearance(self) -> Appearance: """ @@ -5865,6 +6490,20 @@ def parent(self) -> Base: Returns the Parent object (a Library or a Design). """ return Base() + @property + def description(self) -> str: + """ + Gets and sets the description associated with this material. + Setting the description is only valid for materials in a document or the favorites list. + """ + return str() + @description.setter + def description(self, value: str): + """ + Gets and sets the description associated with this material. + Setting the description is only valid for materials in a document or the favorites list. + """ + pass class MaterialLibraries(Base): """ @@ -5876,6 +6515,12 @@ def __init__(self): @staticmethod def cast(arg) -> MaterialLibraries: return MaterialLibraries() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MaterialLibrary: + return None + def __iter__(self) -> Iterator[MaterialLibrary]: + return None def item(self, index: int) -> MaterialLibrary: """ Method that returns the specified Material Library using an index into the collection. @@ -6012,6 +6657,12 @@ def __init__(self): @staticmethod def cast(arg) -> Materials: return Materials() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Material: + return None + def __iter__(self) -> Iterator[Material]: + return None def item(self, index: int) -> Material: """ Returns the specified Material using an index into the collection. @@ -6299,7 +6950,7 @@ def setToAlignCoordinateSystems(self, fromOrigin: Point3D, fromXAxis: Vector3D, Returns true if successful. """ return bool() - def setToRotateTo(self, _from: Vector3D, to: Vector3D, axis: Vector3D) -> bool: + def setToRotateTo(self, _from: Vector3D, to: Vector3D, axis: Vector3D = None) -> bool: """ Sets to the matrix of rotation that would align the 'from' vector with the 'to' vector. The optional axis argument may be used when the two vectors are perpendicular and in opposite directions to @@ -6374,7 +7025,7 @@ def measureMinimumDistance(self, geometryOne: Base, geometryTwo: Base) -> Measur was measured between them in centimeters. """ return MeasureResults() - def measureAngle(self, geometryOne: Base, geometryTwo: Base, geometryThree: Base) -> MeasureResults: + def measureAngle(self, geometryOne: Base, geometryTwo: Base, geometryThree: Base = None) -> MeasureResults: """ Measures the angle between the input geometry. geometryOne : The first geometry to measure the angle to. This can be any 3D point geometry (Construction Point, Vertex, SketchPoint, or Point3D), @@ -6452,6 +7103,8 @@ def __init__(self): @staticmethod def cast(arg) -> NamedValues: return NamedValues() + def __len__(self) -> int: + return 0 @staticmethod def create() -> NamedValues: """ @@ -6494,6 +7147,154 @@ def count(self) -> int: """ return int() +class NamedView(Base): + """ + Represents a named view as seen in the browser. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> NamedView: + return NamedView() + def deleteMe(self) -> bool: + """ + Deletes this named view. This method will fail for any of the four standard named views. + This can be determined by checking to see if the isBuiltIn property is true. + """ + return bool() + def apply(self) -> bool: + """ + This updates the active viewport to use the camera associated with this named view. + Returns true if the operation was successful. + """ + return bool() + @property + def parentProduct(self) -> Product: + """ + Returns the parent product of this named view. + """ + return Product() + @property + def isBuiltIn(self) -> bool: + """ + Indicates if this named view is one of the four standard + named views ("TOP", "FRONT", "RIGHT", and "HOME"). There + is limited functionality with the four standard named views. + """ + return bool() + @property + def name(self) -> str: + """ + Gets and sets the name of this named view. This property + acts as read-only for the four standard named views. + This can be determined by checking to see if the isBuiltIn property is true. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of this named view. This property + acts as read-only for the four standard named views. + This can be determined by checking to see if the isBuiltIn property is true. + """ + pass + @property + def camera(self) -> Camera: + """ + Gets and sets the camera associated with this named view. This property + acts as read-only for the four standard named views. + This can be determined by checking to see if the isBuiltIn property is true. + """ + return Camera() + @camera.setter + def camera(self, value: Camera): + """ + Gets and sets the camera associated with this named view. This property + acts as read-only for the four standard named views. + This can be determined by checking to see if the isBuiltIn property is true. + """ + pass + +class NamedViews(Base): + """ + Collection that provides access to all of the existing named views associated + with a Product and supports the creation of new named views. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> NamedViews: + return NamedViews() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> NamedView: + return None + def __iter__(self) -> Iterator[NamedView]: + return None + def item(self, index: int) -> NamedView: + """ + Returns the specified named view using an index into the collection. The four + standard named views ("TOP", "FRONT", "RIGHT", and "HOME") are not accessible + through this method. For the predefined view use the properties on this + collection that provide direct access to the specific named view. + index : The index of the named view within the collection to return. The first item in the collection has an index of 0. + Returns the specified named view or an error if an invalid index was specified. + """ + return NamedView() + def itemByName(self, name: str) -> NamedView: + """ + Returns the specified named view using the name of the named view. The four + standard named views ("TOP", "FRONT", "RIGHT", and "HOME") are not accessible + through this method. For the predefined view use the properties on this + collection that provide direct access to the specific named view. + name : The name of the named view within the collection to return. + Returns null if the specified name was not found. + """ + return NamedView() + def add(self, camera: Camera, name: str = "") -> NamedView: + """ + Creates a new named view. + camera : The camera that defines the view. To create a named view for the active viewport + you can get a camera from the active viewport and provide it as input to this method. + name : The name of the named view. This must be unique with respect + to other named views in the product. This is optional and if + not provided a default unique name will be generated. + Returns the newly created NamedView object or fails if invalid input was provided. + """ + return NamedView() + @property + def count(self) -> int: + """ + Returns the number of named views associated with the product. The four + standard named views ("TOP", "FRONT", "RIGHT", and "HOME") are not included + in this count. Only user-created named view are counted. + """ + return int() + @property + def topNamedView(self) -> NamedView: + """ + Returns the standard named view called "TOP". + """ + return NamedView() + @property + def frontNamedView(self) -> NamedView: + """ + Returns the standard named view called "FRONT". + """ + return NamedView() + @property + def rightNamedView(self) -> NamedView: + """ + Returns the standard named view called "RIGHT". + """ + return NamedView() + @property + def homeNamedView(self) -> NamedView: + """ + Returns the standard named view called "HOME". + """ + return NamedView() + class NavigationEventHandler(EventHandler): """ The NavigationEventHandler is a client implemented class that can be added as a handler to a Navigation @@ -6566,6 +7367,12 @@ def __init__(self): @staticmethod def cast(arg) -> ObjectCollection: return ObjectCollection() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Base: + return None + def __iter__(self) -> Iterator[Base]: + return None @staticmethod def create() -> ObjectCollection: """ @@ -6573,6 +7380,37 @@ def create() -> ObjectCollection: Returns the newly created ObjectCollection. """ return ObjectCollection() + @staticmethod + def createWithArray(array: list[Base]) -> ObjectCollection: + """ + Creates a new ObjectCollection that is initialized with the content of the provided array. + array : An array of Fusion objects that are used to populate the ObjectCollection. For this method to + succeed, getting the input type correct is critical. The term "array" is used generically in the API + documentation and describes different things depending on the language being used. + + When using C++, std::vector is used to input and output a list of items.However, this particular method + requires that the content of the vector be of type core.base. If you have a vector of other types, you + need to convert it to core.base. The sample below illustrates converting a vector of Occurrence objects + into a vector of core.Base objects. + +
std::vector<Ptr<adsk::fusion::Occurrence>> occArray = rootComp->occurrences()->asArray();
+        std::vector<Ptr<adsk::core::Base>> occs{ occArray.begin(), occArray.end() };
+        Ptr<ObjectCollection> objColl = ObjectCollection::createWithArray(occs);
+ + When using Python, a Python List or Tuple is used as input. Something not obvious is that when an array is + returned from a method or property it's not returned as a standard Python List but is a special API-specific + class called "vector". Typically, you don't notice this isn't a List because it supports Python iteration + like a List does. Because the createWithArray method requires a standard Python list as input, you need to + convert it to a standard list before using it in the createWithArray method. For example, the + Occurrences.asArray method returns an "array" of the occurrences, which really returns a vector object + of the occurrences. The code below converts the vector into a standard list so it can be used to create an ObjectCollection. + +
occList = list(root.Occurrences.asArray())
+        objColl = adsk.core.ObjectCollection.craeteWithArray(occList)
+ + Returns the newly created ObjectCollection or null in the case of failure. + """ + return ObjectCollection() def item(self, index: int) -> Base: """ Function that returns the specified object using an index into the collection. @@ -6603,7 +7441,7 @@ def removeByIndex(self, index: int) -> bool: Returns true if the removal was successful. """ return bool() - def find(self, item: Base, startIndex: int) -> int: + def find(self, item: Base, startIndex: int = 0) -> int: """ Finds the specified component in the collection. item : The item to search for within the collection. @@ -6624,6 +7462,12 @@ def clear(self) -> bool: Returns true if successful. """ return bool() + def asArray(self) -> list[Base]: + """ + Returns the content of the ObjectCollection as an array. + Returns an array of the Fusion objects in the ObjectCollection. + """ + return [Base()] @property def count(self) -> int: """ @@ -6766,25 +7610,7 @@ def cast(arg) -> Palette: return Palette() def sendInfoToHTML(self, action: str, data: str) -> str: """ -

Sends the string to the JavaScript associated with the loaded HTML. A variation of the - event handler below should be implemented in the JavaScript associated with the HTML to - receive the data. The event will be triggered by Fusion 360 whenever the sendInfoToHTML method - is called.

- -
window.fusionJavaScriptHandler = {
-        handle: function(actionString, dataString){
-        confirm('Action from Fusion: ' + actionString);
-        confirm('Data from Fusion: ' + dataString);
-        
-        // Build up JSON return string.
-        var result = {};
-        result.status = 'OK';
-        var response = JSON.stringify(result);
-        return response;
-        }
-        };
-

Your JavaScript code should always return something in response because an empty string - response is assumed to be a failure.

+ Sends the string to the JavaScript associated with the loaded HTML. action : The "action" string to pass to the JavaScript associated with the HTML. This string can be anything but will typically be JSON formatted information. data : The "data" string to pass to the JavaScript associated with the HTML. This string can be @@ -6884,13 +7710,21 @@ def isVisible(self, value: bool): @property def htmlFileURL(self) -> str: """ - Gets and sets the URL to the HTML file currently being displayed. This can be local or on the web. + Gets and sets the URL to the HTML file that will be displayed in the palette. This can be a local file or a URL on the web + where the HTML will be read. To avoid reading a file, this can also be the full HTML definition as a string. + + If you are providing the HTML content as a string, it should begin with the element. Any references made + in the HTML should be to URL's and not local files since the local path is ambiguous. """ return str() @htmlFileURL.setter def htmlFileURL(self, value: str): """ - Gets and sets the URL to the HTML file currently being displayed. This can be local or on the web. + Gets and sets the URL to the HTML file that will be displayed in the palette. This can be a local file or a URL on the web + where the HTML will be read. To avoid reading a file, this can also be the full HTML definition as a string. + + If you are providing the HTML content as a string, it should begin with the element. Any references made + in the HTML should be to URL's and not local files since the local path is ambiguous. """ pass @property @@ -7034,7 +7868,13 @@ def __init__(self): @staticmethod def cast(arg) -> Palettes: return Palettes() - def add(self, id: str, name: str, htmlFileURL: str, isVisible: bool, showCloseButton: bool, isResizable: bool, width: int, height: int, useNewWebBrowser: bool) -> Palette: + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Palette: + return None + def __iter__(self) -> Iterator[Palette]: + return None + def add(self, id: str, name: str, htmlFileURL: str, isVisible: bool, showCloseButton: bool, isResizable: bool, width: int = 200, height: int = 200, useNewWebBrowser: bool = True) -> Palette: """ Creates a new Palette. id : The unique id for this palette. The id must be unique with respect to all of the palettes. @@ -7057,6 +7897,8 @@ def add(self, id: str, name: str, htmlFileURL: str, isVisible: bool, showCloseBu and you will always get a QT Web Browser regardless of how the argument is set. Because of this, it is highly recommended you set this argument to true to use the new browser because when support for the CEF browser is removed you will automatically be forced to use the QT Web Browser. + + This argument is no longer used because the new QT Web Browser is always used regardless of this parameter's value. Returns the newly created palette or null in the case the creation failed. """ return Palette() @@ -7074,6 +7916,25 @@ def itemById(self, id: str) -> Palette: Returns the palette of the specified id or null if no palette has the specified id. """ return Palette() + def add2(self, id: str, name: str, htmlFileURL: str, isVisible: bool, showCloseButton: bool, isResizable: bool, width: int = 200, height: int = 200) -> Palette: + """ + Creates a new Palette. + id : The unique id for this palette. The id must be unique with respect to all of the palettes. + name : The displayed name of this palette. This is the name visible in the user interface. + htmlFileURL : Specifies the URL to the HTML file that will be displayed in the palette. This can be a local file or a URL on the web + where the HTML will be read. To avoid reading a file, this can also be the full HTML definition as a string. + + If you are providing the HTML content as a string, it should begin with the element. Any references made + in the HTML should be to URL's and not local files since the local path is ambiguous. + isVisible : Specifies if the palette is initially visible or not. It's useful to create it invisibly, change other desired + properties and then use the isVisible property to finally make it visible to the user. + showCloseButton : Specifies if a "Close" button should be displayed on the palette to allow the user to easily close it. + isResizable : Specifies if the palette can be resized by the user or not. + width : Specifies the width of the palette in pixels. If no width is specified a default width will be used. + height : Specifies the height of the palette in pixels. If no height is specified a default height will be used. + Returns the newly created palette or null in the case the creation failed. + """ + return Palette() @property def count(self) -> int: """ @@ -7122,7 +7983,7 @@ def __init__(self): def cast(arg) -> Point2D: return Point2D() @staticmethod - def create(x: float, y: float) -> Point2D: + def create(x: float = 0.0, y: float = 0.0) -> Point2D: """ Creates a transient 2D point object. x : The x coordinate of the point @@ -7254,7 +8115,7 @@ def __init__(self): def cast(arg) -> Point3D: return Point3D() @staticmethod - def create(x: float, y: float, z: float) -> Point3D: + def create(x: float = 0.0, y: float = 0.0, z: float = 0.0) -> Point3D: """ Creates a transient 3D point object. x : The x coordinate of the point @@ -7453,6 +8314,12 @@ def productUsageData(self) -> ProductUsageData: Gets the ProductUsageData object. """ return ProductUsageData() + @property + def apiPreferences(self) -> APIPreferences: + """ + Gets the APIPreferences object, which provides access to the various preferences associated with the API. + """ + return APIPreferences() class Product(Base): """ @@ -7530,6 +8397,22 @@ def attributes(self) -> Attributes: Returns the collection of attributes associated with this product. """ return Attributes() + @property + def selectionSets(self) -> SelectionSets: + """ + Returns the SelectionSets object associated with this product. If the product does + not support selection sets, null is returned. The SelectionSets object is used to + create and access existing selection sets. + """ + return SelectionSets() + @property + def namedViews(self) -> NamedViews: + """ + Returns the NamedViews object associated with this product. The NamedViews collection + provides access to the named views defined in this product and supports the + creation of new named views. + """ + return NamedViews() class ProductPreferences(Base): """ @@ -7557,6 +8440,12 @@ def __init__(self): @staticmethod def cast(arg) -> ProductPreferencesCollection: return ProductPreferencesCollection() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ProductPreferences: + return None + def __iter__(self) -> Iterator[ProductPreferences]: + return None def item(self, index: int) -> ProductPreferences: """ Function that returns the specified ProductPreferences object using an index into the collection. @@ -7568,7 +8457,7 @@ def itemByName(self, name: str) -> ProductPreferences: """ Returns the ProductPreference object with the specified name. name : The name of the ProductPreferences to return. - Returns the ProductPreferences object or null if if an invalid name was specified. + Returns the ProductPreferences object or null if an invalid name was specified. """ return ProductPreferences() @property @@ -7587,6 +8476,12 @@ def __init__(self): @staticmethod def cast(arg) -> Products: return Products() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Product: + return None + def __iter__(self) -> Iterator[Product]: + return None def item(self, index: int) -> Product: """ Function that returns the specified product using an index into the collection. @@ -7623,25 +8518,57 @@ def cast(arg) -> ProductUsageData: @property def isTrackingToImproveSoftwareEnabled(self) -> bool: """ - Gets and sets if tracking to improve the software is enabled. + Gets and sets if data can be collected to help improve the products + and services that Autodesk provides. This is the preference setting + titled "Help develop our products and services". """ return bool() @isTrackingToImproveSoftwareEnabled.setter def isTrackingToImproveSoftwareEnabled(self, value: bool): """ - Gets and sets if tracking to improve the software is enabled. + Gets and sets if data can be collected to help improve the products + and services that Autodesk provides. This is the preference setting + titled "Help develop our products and services". """ pass @property def isTrackingToImproveCommunicationEnabled(self) -> bool: """ - Gets and sets if tracking to improve communication is enabled. + Gets and sets if data can be collected to improve communications. This is + the preferences setting titled "Customize our messaging". """ return bool() @isTrackingToImproveCommunicationEnabled.setter def isTrackingToImproveCommunicationEnabled(self, value: bool): """ - Gets and sets if tracking to improve communication is enabled. + Gets and sets if data can be collected to improve communications. This is + the preferences setting titled "Customize our messaging". + """ + pass + @property + def isGoogleAnalyticsTrackingEnabled(self) -> bool: + """ + Gets and sets if Google Analytics tracking is enabled. + """ + return bool() + @isGoogleAnalyticsTrackingEnabled.setter + def isGoogleAnalyticsTrackingEnabled(self, value: bool): + """ + Gets and sets if Google Analytics tracking is enabled. + """ + pass + @property + def isLearningPanelContextEnabled(self) -> bool: + """ + Gets and sets if data can be collected to enable the Learning Panel + to show information based on the current context. + """ + return bool() + @isLearningPanelContextEnabled.setter + def isLearningPanelContextEnabled(self, value: bool): + """ + Gets and sets if data can be collected to enable the Learning Panel + to show information based on the current context. """ pass @@ -7654,7 +8581,7 @@ def __init__(self): @staticmethod def cast(arg) -> ProgressDialog: return ProgressDialog() - def show(self, title: str, message: str, minimumValue: int, maximumValue: int, delay: int) -> bool: + def show(self, title: str, message: str, minimumValue: int, maximumValue: int, delay: int = 0) -> bool: """ Displays the progress dialog that includes a progress bar that can be used to display a continually updated message indicating the progress of a process that will take more than a few seconds. @@ -7827,6 +8754,12 @@ def __init__(self): @staticmethod def cast(arg) -> Properties: return Properties() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Property: + return None + def __iter__(self) -> Iterator[Property]: + return None def item(self, index: int) -> Property: """ Returns the specified property from the collection using an index into the collection. @@ -8109,2980 +9042,4398 @@ def southeastCommand(self, value: Base): """ pass -class Selection(Base): +class SaveImageFileOptions(Base): """ - Provides access to a selection of an entity in the user interface. + Class that defines the various options that can be used when saving a viewport as an image. This + object is created by using the static create method on the class and is then used as input to the + Viewport.saveAsImageFileWithOptions method. """ def __init__(self): pass @staticmethod - def cast(arg) -> Selection: - return Selection() - @property - def entity(self) -> Base: + def cast(arg) -> SaveImageFileOptions: + return SaveImageFileOptions() + @staticmethod + def create(filename: str) -> SaveImageFileOptions: """ - Gets the selected entity. + Creates a new SaveImageFileOptions object. The returned object can be used to define + the various options to use when saving a viewport as an image. The object is passed + into the ViewPort.saveAsImageFileWithOptions method to create an image of the viewport. + filename : The full filename, including the path, of the image file. + The type of image file to be created is inferred from the extension of the filename. + Returns a SaveImageFileOptions object. """ - return Base() + return SaveImageFileOptions() @property - def point(self) -> Point3D: + def filename(self) -> str: """ - Gets the selection point on the object. + Gets and sets the full filename, including the path, of the image file. + The type of image file to be created is inferred from the extension of the filename. """ - return Point3D() - -class SelectionEventHandler(EventHandler): - """ - An event handler base class that a client derives from to handle events triggered by a SelectionEvent. - A client implemented instance of this class can be added to a SelectionEvent to receive these event notifications. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SelectionEventHandler: - return SelectionEventHandler() - def notify(self, eventArgs: SelectionEventArgs) -> None: + return str() + @filename.setter + def filename(self, value: str): """ - This notify member is called when an event is triggered from any event that this handler has been added to. - eventArgs : The arguments object with details about this event and the firing SelectionEvent. + Gets and sets the full filename, including the path, of the image file. + The type of image file to be created is inferred from the extension of the filename. """ pass - -class Selections(Base): - """ - Provides access to and control over the set of selected entities in the user interface. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> Selections: - return Selections() - def item(self, index: int) -> Selection: + @property + def height(self) -> int: """ - Returns the specified selection using an index into the collection. - index : The index of the item within the collection to return. The first item in the collection has an index of 0. - Returns the specified item or null if an invalid index was specified. + Gets and set the height of the image to be created in pixels. A value of zero + is valid and indicates the current height of the viewport is to be used. When + the SaveImageFileOptions object is initially created, this is initialized to 0. """ - return Selection() - def add(self, entity: Base) -> bool: + return int() + @height.setter + def height(self, value: int): """ - Adds the entity to the set of currently selected entities. - The user will see the entity become selected in the user interface. - entity : The entity to select and add to this selection set. - Returns true if successful. - """ - return bool() - def clear(self) -> bool: + Gets and set the height of the image to be created in pixels. A value of zero + is valid and indicates the current height of the viewport is to be used. When + the SaveImageFileOptions object is initially created, this is initialized to 0. """ - Clears the selection set so no entities are currently selected. - Returns true if successful. - """ - return bool() - def removeBySelection(self, selection: Selection) -> bool: + pass + @property + def width(self) -> int: """ - Removes the specified selection from the set of selected entities. - selection : The selection to remove. - Returns true if the item was removed or not currently selected. + Gets and set the width of the image to be created in pixels. A value of zero + is valid and indicates the current width of the viewport is to be used. When + the SaveImageFileOptions object is initially created, this is initialized to 0. """ - return bool() - def removeByEntity(self, entity: Base) -> bool: + return int() + @width.setter + def width(self, value: int): """ - Removes the selections that are associated with the specified entity from the set of selected entities. - entity : The entity to remove selections of. - Returns true if the item was removed or not currently selected. + Gets and set the width of the image to be created in pixels. A value of zero + is valid and indicates the current width of the viewport is to be used. When + the SaveImageFileOptions object is initially created, this is initialized to 0. """ - return bool() - def removeByIndex(self, index: int) -> bool: + pass + @property + def isBackgroundTransparent(self) -> bool: """ - Removes an item from the set of selected entities. - index : The index of the selection to remove. - Returns true if the item was removed successfully. + Gets and sets if the background should be rendered as transparent. If false, the background will be the same as seen in Fusion. + + When the SaveImageFileOptions object is initially created, this is initialized to false. """ return bool() - def asArray(self) -> list[Selection]: + @isBackgroundTransparent.setter + def isBackgroundTransparent(self, value: bool): """ - Returns an array containing all of the current selections. This is - useful in cases where you need to iterate over the set of selected entities but need - to create or edit data as you process each one. Selections are fragile and creation and - edit operations will clear the selections so you won't have access to the complete list - after processing the first one. - Returns an array of all of the current selections. Selection objects are returned so - you'll need to call their entity properties to get the actual selected entity. - """ - return [Selection()] - @property - def count(self) -> int: - """ - Gets the number of entities currently selected. + Gets and sets if the background should be rendered as transparent. If false, the background will be the same as seen in Fusion. + + When the SaveImageFileOptions object is initially created, this is initialized to false. """ - return int() + pass @property - def all(self) -> ObjectCollection: + def isAntiAliased(self) -> bool: """ - Gets or sets all entities currently selected. + Gets and sets if the rendered image should be anti-aliased or not. If false, there is no anti-aliasing. + + When the SaveImageFileOptions object is initially created, this is initialized to true. """ - return ObjectCollection() - @all.setter - def all(self, value: ObjectCollection): + return bool() + @isAntiAliased.setter + def isAntiAliased(self, value: bool): """ - Gets or sets all entities currently selected. + Gets and sets if the rendered image should be anti-aliased or not. If false, there is no anti-aliasing. + + When the SaveImageFileOptions object is initially created, this is initialized to true. """ pass -class Status(Base): +class Script(Base): """ - Used to communicate the current status of an object or operation. This provides the status - and any error messages that might accompany an error or warning. + Object that represents a script or add-in. """ def __init__(self): pass @staticmethod - def cast(arg) -> Status: - return Status() - @property - def isError(self) -> bool: + def cast(arg) -> Script: + return Script() + def stop(self) -> bool: """ - If true, An error occurred that has prevented the operation from successfully completing. - This takes into account all of the child status messages. + If this script or add-in is running, this method will + stop it. The isRunning property can be used to determine + if it is running. If the script or add-in is not running and + this method is called, there is no effect. + Returns true if successful. """ return bool() - @property - def isWarning(self) -> bool: + def run(self, waitForFinish: bool = False) -> bool: """ - If true, the operation has succeeded but with an unusual result. - This takes into account all of the child status messages. + Runs this script or add-in, if it's not already running. + waitForFinish : Specifies if call will wait until the script or add-in has finished running. + For add-ins, this should always be false, because they typically continue to + run for the entire Fusion session. + + For scripts, there are cases where you might want to set this to true, where + you need to wait for the script to finish because you want to do something with + whatever it creates. Typically, this should be false, so it starts the script + and immediately returns. + Returns true if successful. """ return bool() - @property - def isOK(self) -> bool: + def edit(self) -> bool: """ - If true, the operation was successful without any warnings or errors. - This takes into account all of the child status messages. + Invokes the default edit behavior for this script or add-in. + Returns true if successful. """ return bool() @property - def statusMessages(self) -> StatusMessages: + def name(self) -> str: """ - the status messages associated with this status. These messages are displayed to - the user in the alert dialog. Each status message can have children status - messages that will be displayed as a tree structure in the alert dialog. + Gets the name of this script or add-in. """ - return StatusMessages() - -class StatusMessage(Base): - """ - Defines the message associated with a Status object. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> StatusMessage: - return StatusMessage() + return str() @property - def messageId(self) -> str: + def id(self) -> str: """ - Gets and sets the ID of the message being used. This is a predefined ID within the Fusion message - string table. + Gets the ID of this script or add-in. This is typically a GUID and + is assumed to be unique with respect to all other add-ins. """ return str() - @messageId.setter - def messageId(self, value: str): + @property + def folder(self) -> str: """ - Gets and sets the ID of the message being used. This is a predefined ID within the Fusion message - string table. + Gets the full path of the folder that contains this script or add-in. """ - pass + return str() @property - def message(self) -> str: + def description(self) -> str: """ - The user visible message being used. Setting this message for custom feature errors or warnings is - currently ignored. + Gets the description of this script or add-in. """ return str() - @message.setter - def message(self, value: str): + @property + def author(self) -> str: """ - The user visible message being used. Setting this message for custom feature errors or warnings is - currently ignored. + Returns the author information associated with this script or add-in. """ - pass + return str() @property - def statusMessageType(self) -> StatusMessageTypes: + def version(self) -> str: """ - Returns the type of message this StatusMessage represents. + Returns the version information associated with this script or add-in. """ - return StatusMessageTypes() + return str() @property - def childStatusMessages(self) -> StatusMessages: + def isAddIn(self) -> bool: """ - Returns the collection of status codes that are children of - this status message. + Gets if this Script object represents a script or an add-in. Returns + true if it is an add-in. """ - return StatusMessages() - -class StatusMessages(Base): - """ - A collection of status messages associated with a Status object. The primary purpose of the messages is to - describe the reason for a warning or failure and display the messages in the alert dialog. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> StatusMessages: - return StatusMessages() - def item(self, index: int) -> StatusMessage: + return bool() + @property + def isRunOnStartup(self) -> bool: """ - Returns the specified status message using an index into the collection. - index : The index of the status message within the collection to return. The first item in the collection has an index of 0. - Returns the specified StatusMessage or null if an invalid index was specified. + Gets and sets whether this add-in will automatically run when + Fusion 360 is started. This property is only valid when the isAddIn + property returns true. """ - return StatusMessage() - def addError(self, messageId: str, message: str) -> StatusMessage: + return bool() + @isRunOnStartup.setter + def isRunOnStartup(self, value: bool): """ - Adds a new error status message to the list of warning and error messages. - messageId : The ID of a predefined message or if an empty string is provided, the - default error message will be used. The displayed message is localized based on the - current default language in Fusion. Below is a list of some valid message ID's and - the corresponding English message. -

- "API_COMPUTE_ERROR" - "Cannot compute this feature."
- "API_COMPUTE_WARNING" - "This feature computed with warnings."
- "CFLANGE_INVALID_GEOM" - "Invalid input sketch curve."
- "DRAFT_MISSING_FACE_REFERENCES" - "Missing face references"
- "DRAFT_MISSING_REFERENCE_PLANE" - "Missing reference plane"
- "FEATURE_ENTITY_TYPE_INVALID" - "Entity type is invalid"
- "FEATURE_FAILED_TO_CREATE" - "Failed to create feature"
- "FEATURE_MISSING_INPUTS" - "Missing inputs"
- "FEATURE_REFERENCE_LOST" - "Reference is lost"
- "Feature_Compute_Error" - "Compute Failed"
- "Feature_Input_Compute_Error" - "Reference Failures"
- "InvalidWPntInput" - "Invalid input"
- "NO_TARGET_BODY" - "No target body!"
- "ORIGIN_SELECTION_MISSING" - "Origin geometry is missing."
- "DRPOINT_COMPUTE_FAILED" - "Failed to evaluate the point due to the invalid input"
- message : This is not currently supported for custom feature compute errors and will be ignored. - Returns true if the error message was successfully added. + Gets and sets whether this add-in will automatically run when + Fusion 360 is started. This property is only valid when the isAddIn + property returns true. """ - return StatusMessage() - def addWarning(self, messageId: str, message: str) -> StatusMessage: + pass + @property + def isRunning(self) -> bool: """ - Adds a new warning status message to the list of warning and error messages. - messageId : The ID of a predefined message or if an empty string is provided, the - default error message will be used. The displayed message is localized based on the - current default language in Fusion. Below is a list of some valid message ID's and - the corresponding English message. -

- "API_COMPUTE_ERROR" - "Cannot compute this feature."
- "API_COMPUTE_WARNING" - "This feature computed with warnings."
- "CFLANGE_INVALID_GEOM" - "Invalid input sketch curve."
- "DRAFT_MISSING_FACE_REFERENCES" - "Missing face references"
- "DRAFT_MISSING_REFERENCE_PLANE" - "Missing reference plane"
- "FEATURE_ENTITY_TYPE_INVALID" - "Entity type is invalid"
- "FEATURE_FAILED_TO_CREATE" - "Failed to create feature"
- "FEATURE_MISSING_INPUTS" - "Missing inputs"
- "FEATURE_REFERENCE_LOST" - "Reference is lost"
- "Feature_Compute_Error" - "Compute Failed"
- "Feature_Input_Compute_Error" - "Reference Failures"
- "InvalidWPntInput" - "Invalid input"
- "NO_TARGET_BODY" - "No target body!"
- "ORIGIN_SELECTION_MISSING" - "Origin geometry is missing."
- "DRPOINT_COMPUTE_FAILED" - "Failed to evaluate the point due to the invalid input"
- message : This is not currently supported for custom feature compute errors and will be ignored. - Returns true if the warning message was successfully added. + Gets if this script or add-in is currently running. """ - return StatusMessage() + return bool() @property - def count(self) -> int: + def isVisible(self) -> bool: """ - Returns the number of status messages in this collection. + Gets and sets whether the script or add-in is visible within the + “Scripts and Add-Ins” dialog. By default, all scripts and add-ins are + visible. Setting this to false will cause it to be hidden and unloaded + if it is already running. Also, if it’s an add-in set to load on startup, it + will no longer be loaded. + """ + return bool() + @isVisible.setter + def isVisible(self, value: bool): + """ + Gets and sets whether the script or add-in is visible within the + “Scripts and Add-Ins” dialog. By default, all scripts and add-ins are + visible. Setting this to false will cause it to be hidden and unloaded + if it is already running. Also, if it’s an add-in set to load on startup, it + will no longer be loaded. """ - return int() - -class Surface(Base): - """ - Describes a two-dimensional topological, manifold in three-dimensional space. - It is used as the underlying geometry for a BRepFace. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> Surface: - return Surface() - def transformBy(self, matrix: Matrix3D) -> bool: + @property + def programmingLanguage(self) -> ProgrammingLanguages: """ - Updates this surface by transforming it with a given input matrix. - matrix : A 3D matrix that defines the transform to apply to the surface. - Returns true if the transform was successful. + Returns the programming language this script or add-in is written in. + """ + return ProgrammingLanguages() + @property + def targetOperatingSystem(self) -> OperatingSystems: + """ + Returns the operating systems this script or add-in is available for. + """ + return OperatingSystems() + @property + def isInternal(self) -> bool: + """ + Indicates if this is an internal script or add-in that is delivered with Fusion. + Returns true if it is an internal script or add-in. """ return bool() @property - def surfaceType(self) -> SurfaceTypes: + def isEditable(self) -> bool: """ - Returns the surface type. + Indicates if this script or add-in is blocked from being edited by the user in the + "Scripts and Add-Ins" dialog. """ - return SurfaceTypes() + return bool() @property - def evaluator(self) -> SurfaceEvaluator: + def manifestContent(self) -> str: """ - Returns the surface evaluator. + Gets the full contents of the manifest file associated with this script + or add-in. This is particularly useful if you have any custom information + defined in the manifest. The manifest file uses JSON to format its content. """ - return SurfaceEvaluator() + return str() -class SurfaceEvaluator(Base): +class ScriptInput(Base): """ - Surface evaluator that is obtained from a transient surface and allows you to perform - various evaluations on the surface. + Used when creating a new script or add-in to specify all of the required + and optional settings needed. This is created using the createScriptInput method + on the Scripts object. """ def __init__(self): pass @staticmethod - def cast(arg) -> SurfaceEvaluator: - return SurfaceEvaluator() - def getModelCurveFromParametricCurve(self, parametricCurve: Curve2D) -> ObjectCollection: + def cast(arg) -> ScriptInput: + return ScriptInput() + @property + def isAddIn(self) -> bool: """ - Creates the 3D equivalent curve in model space, of a 2D curve defined in the - parametric space of the surface. - parametricCurve : The parameter space curve to map into this surface's parameter space. - Returns an ObjectCollection containing one or more curves. - When the SufaceEvaluatior is obtained from a face, and the curve cuts across internal - boundaries of the face, multiple curves are returned. The returned curves are trimmed - to the boundaries of the face. - If the SurfaceEvaluator is obtained from a geometry object, a single curve returned - because there are no boundaries with which to trim the curve. - The type of curve(s) returned depends on the shape of the input curve and surface. + Specifies if a script or add-in is to be created. A value of true + indicates an add-in will be created. """ - return ObjectCollection() - def getIsoCurve(self, parameter: float, isUDirection: bool) -> ObjectCollection: + return bool() + @isAddIn.setter + def isAddIn(self, value: bool): """ - Gets (by extraction) a curve that follows a constant u or v parameter along the surface. - The curve will have the same properties as the surface in the direction of the extraction. - For example, when a curve is extracted from the periodic direction of a surface, the extracted - curve will also be periodic. - The type of curve returned is dependent on the shape the surface. - parameter : The parameter at which to extract the curve - isUDirection : A bool that indicates whether to extract the curve from the U or V direction - Returns an ObjectCollection that contains one or more curves. - Multiple curves are returned when the SurfaceEvaluator is obtained from a Face - and the curve cuts across internal boundaries. The resulting curves are trimmed to the - boundaries of the Face. - When the SurfaceEvaluator is obtained from a geometry object, a single curve is returned - because there are no boundaries to trim the curve. - The type of curve(s) returned is dependent on the shape of the surface. - """ - return ObjectCollection() - def getCurvatures(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D], list[float], list[float]]: - """ - Get the curvature values at a number of parameter positions on the surface. - parameters : The array of parameter positions to return curvature information at. - Each parameter position must be with the range of the parameter extents as verified by isParameterOnFace. - maxTangents : The output array of directions of maximum curvature at each position on the surface. - The length of this array will be the same as the length of the parameters array provided. - maxCurvatures : The output array of the magnitude of the maximum curvature at each position on the surface. - The length of this array will be the same as the length of the parameters array provided. - minCurvatures : The output array of the magnitude of the minimum curvature at each position on the surface. - The minimum curvature direction is perpendicular to the maximum curvature tangent directions. - The length of this array will be the same as the length of the parameters array provided. - Returns true if the curvatures were successfully returned. - """ - return (bool(), [Vector3D()], [float()], [float()]) - def getCurvature(self, parameter: Point2D) -> tuple[bool, Vector3D, float, float]: - """ - Get the curvature values at a parameter positions on the surface. - parameter : The parameter positions to return curvature information at. - maxTangent : The output directions of maximum curvature at the position on the surface. - maxCurvature : The output magnitude of the maximum curvature at the position on the surface. - minCurvature : The output magnitude of the minimum curvature at the position on the surface. - The minimum curvature direction is perpendicular to the maximum curvature tangent directions. - Returns true if the curvature was successfully returned. - """ - return (bool(), Vector3D(), float(), float()) - def getNormalsAtParameters(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D]]: + Specifies if a script or add-in is to be created. A value of true + indicates an add-in will be created. """ - Gets the surface normal at a number of parameter positions on the surface. - parameters : The array of parameter positions to return the normal at. - Each parameter position must be with the range of the parameter extents as verified by isParameterOnFace. - normals : The output array of normals for each parameter position on the surface. - The length of this array will be the same as the length of the parameters array provided. - Returns true if the normals were successfully returned. - """ - return (bool(), [Vector3D()]) - def getNormalAtParameter(self, parameter: Point2D) -> tuple[bool, Vector3D]: + pass + @property + def programmingLanguage(self) -> ProgrammingLanguages: """ - Gets the surface normal at a parameter position on the surface. - parameter : The parameter position to return the normal at. - The parameter position must be with the range of the parameter extents as verified by isParameterOnFace. - normal : The output normal for the parameter position on the surface. - Returns true if the normal was successfully returned. + Gets and sets which programming language the new script or add-in will use. """ - return (bool(), Vector3D()) - def getNormalsAtPoints(self, points: list[Point3D]) -> tuple[bool, list[Vector3D]]: + return ProgrammingLanguages() + @programmingLanguage.setter + def programmingLanguage(self, value: ProgrammingLanguages): """ - Gets the surface normal at a number of positions on the surface. - points : The array of points to return the normal at. - For reliable results each point should lie on the surface. - normals : The output array of normals for each point on the surface. - The length of this array will be the same as the length of the points array provided. - Returns true if the normals were successfully returned. + Gets and sets which programming language the new script or add-in will use. """ - return (bool(), [Vector3D()]) - def getNormalAtPoint(self, point: Point3D) -> tuple[bool, Vector3D]: + pass + @property + def name(self) -> str: """ - Gets the surface normal at a point on the surface. - point : The point to return the normal at. - For reliable results the point should lie on the surface. - normal : The output normal for the point on the surface. - Returns true if the normal was successfully returned. + Gets and sets the name of the script or add-in to create. This name must + be unique with respect to the other scripts and add-ins in the folder + specified by the targetFolder property. """ - return (bool(), Vector3D()) - def getParametersAtPoints(self, points: list[Point3D]) -> tuple[bool, list[Point2D]]: + return str() + @name.setter + def name(self, value: str): """ - Get the parameter positions that correspond to a set of points on the surface. - For reliable results, the points should lie on the surface within model tolerance. - If the points do not lie on the surface, the parameter of the nearest point on the surface will generally be returned. - points : An array of points to get the surface parameter values at. - parameters : The output array of parameter positions corresponding to the set of points. - The length of this array will be equal to the length of the points array specified. - Returns true if the parameters were successfully returned. + Gets and sets the name of the script or add-in to create. This name must + be unique with respect to the other scripts and add-ins in the folder + specified by the targetFolder property. """ - return (bool(), [Point2D()]) - def getParameterAtPoint(self, point: Point3D) -> tuple[bool, Point2D]: + pass + @property + def description(self) -> str: """ - Get the parameter position that correspond to a point on the surface. - For reliable results, the point should lie on the surface within model tolerance. - If the point does not lie on the surface, the parameter of the nearest point on the surface will generally be returned. - point : The point to get the curve parameter value at. - parameter : The output parameter position corresponding to the point. - Returns true of the parameter was successfully returned. + The description of the add-in that is displayed in the "Scripts and Add-Ins" + dialog. This defaults to an empty string. """ - return (bool(), Point2D()) - def getPointsAtParameters(self, parameters: list[Point2D]) -> tuple[bool, list[Point3D]]: + return str() + @description.setter + def description(self, value: str): """ - Get the points on the surface that correspond to evaluating a set of parameter positions on the surface. - parameters : The array of parameter positions to evaluate the surface position at. - Each parameter position must be within the range of the parameter extents as verified by isParameterOnFace. - points : The output array of points corresponding to evaluating the curve at that parameter position. - The length of this array will be equal to the length of the parameters array specified. - Returns true if the points were successfully returned. + The description of the add-in that is displayed in the "Scripts and Add-Ins" + dialog. This defaults to an empty string. """ - return (bool(), [Point3D()]) - def getPointAtParameter(self, parameter: Point2D) -> tuple[bool, Point3D]: + pass + @property + def author(self) -> str: """ - Get the point on the surface that correspond to evaluating a parameter position on the surface. - parameter : The parameter positions to evaluate the surface position at. - The parameter position must be within the range of the parameter extents as verified by isParameterOnFace. - point : The output point corresponding to evaluating the curve at that parameter position. - Returns true if the point was successfully returned. + The author of the add-in that is displayed in the "Scripts and Add-Ins" + dialog. This defaults to an empty string. """ - return (bool(), Point3D()) - def getParamAnomaly(self) -> tuple[bool, list[float], list[float], list[float], list[float], list[bool]]: + return str() + @author.setter + def author(self, value: str): """ - Gets details about anomalies in parameter space of the surface. - This includes information about periodic intervals, singularities, or unbounded parameter ranges. - periodicityU : The output array with information about the period of the surface in U. - periodicityU[0] will contain the period of the surface in U. - If periodicityU[0] is 0, the surface is not periodic in U. - If the surface is periodic in U, peridocityU[1] will contain the parameter value at the start of the principle period. - periodicityV : The output array with information about the period of the surface in V. - periodicityV[0] will contain the period of the surface in V. - If periodicityV[0] is 0, the surface is not periodic in V. - If the surface is periodic in V, peridocityV[1] will contain the parameter value at the start of the principle period. - singularitiesU : The output array parameter values of singularities in U. - If this array is empty, there are no singularities in U. - singularitiesV : The output array parameter values of singularities in V. - If this array is empty, there are no singularities in V. - unboundedParameters : The output array that indicates if the parameter range is unbounded in U or V. - unboundedParameters[0] will be true if U is unbounded. - unboundedParameters[1] will be true if V is unbounded. - Returns true if the parameter anomalies were successfully returned. + The author of the add-in that is displayed in the "Scripts and Add-Ins" + dialog. This defaults to an empty string. """ - return (bool(), [float()], [float()], [float()], [float()], [bool()]) - def getFirstDerivatives(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D], list[Vector3D]]: + pass + @property + def version(self) -> str: """ - Get the first derivatives of the surface at the specified parameter positions. - parameters : The array of parameter positions to get the surface first derivative at. - Each parameter position must be within the range of the parameter extents as verified by isParameterOnFace. - partialsU : The output array of first derivative U partial vectors at each parameter position specified. - The length of this array is equal to the length of the parameters array specified. - partialsV : The output array of first derivative V partial vectors at each parameter position specified. - The length of this array is equal to the length of the parameters array specified. - Returns true if the first derivatives were successfully returned. + The version of the add-in that is displayed in the "Scripts and Add-Ins" + dialog. This defaults to an empty string. """ - return (bool(), [Vector3D()], [Vector3D()]) - def getFirstDerivative(self, parameter: Point2D) -> tuple[bool, Vector3D, Vector3D]: + return str() + @version.setter + def version(self, value: str): """ - Get the first derivative of the surface at the specified parameter position. - parameter : The parameter positions to get the surface first derivative at. - The parameter position must be within the range of the parameter extents as verified by isParameterOnFace. - partialU : The output first derivative U partial vector at the parameter position specified. - partialV : The output first derivative V partial vector at the parameter position specified. - Returns true if the first derivative was successfully returned. + The version of the add-in that is displayed in the "Scripts and Add-Ins" + dialog. This defaults to an empty string. """ - return (bool(), Vector3D(), Vector3D()) - def getSecondDerivatives(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D], list[Vector3D], list[Vector3D]]: + pass + @property + def targetOperatingSystem(self) -> OperatingSystems: """ - Get the second derivatives of the surface at the specified parameter positions. - parameters : The array of parameter positions to get the surface second derivative at. - Each parameter position must be within the range of the parameter extents as verified by isParameterOnFace. - partialsUU : The output array of second derivative UU partial vectors at each parameter position specified. - The length of this array is equal to the length of the parameters array specified. - partialsUV : The output array of second derivative UV mixed partial vectors at each parameter position specified. - The length of this array is equal to the length of the parameters array specified. - partialsVV : The output array of second derivative VV partial vectors at each parameter position specified. - The length of this array is equal to the length of the parameters array specified. - Returns true if the second derivatives were successfully returned. + Specifies the operating systems this script or add-in will be displayed + in the "Scripts and Add-Ins" dialog and where it will be automatically + run on startup, if that option is specified. Defaults to WindowsAndMacOperatingSystem """ - return (bool(), [Vector3D()], [Vector3D()], [Vector3D()]) - def getSecondDerivative(self, parameter: Point2D) -> tuple[bool, Vector3D, Vector3D, Vector3D]: + return OperatingSystems() + @targetOperatingSystem.setter + def targetOperatingSystem(self, value: OperatingSystems): """ - Get the second derivative of the surface at the specified parameter position. - parameter : The parameter position to get the surface second derivative at. - The parameter position must be within the range of the parameter extents as verified by isParameterOnFace. - partialUU : The output second derivative UU partial vector at each parameter position specified. - partialUV : The output second derivative UV mixed partial vector at each parameter position specified. - partialVV : The output second derivative VV partial vector at each parameter position specified. - Returns true if the second derivative was successfully returned. + Specifies the operating systems this script or add-in will be displayed + in the "Scripts and Add-Ins" dialog and where it will be automatically + run on startup, if that option is specified. Defaults to WindowsAndMacOperatingSystem """ - return (bool(), Vector3D(), Vector3D(), Vector3D()) - def getThirdDerivatives(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D], list[Vector3D]]: + pass + @property + def targetFolder(self) -> str: """ - Get the third derivatives of the surface at the specified parameter positions. - parameters : The array of parameter positions to get the surface third derivative at. - Each parameter position must be within the range of the parameter extents as verified by isParameterOnFace. - partialsUUU : The output array of third derivative UUU partial vectors at each parameter position specified. - The length of this array is equal to the length of the parameters array specified. - partialsVVV : The output array of third derivative VVV partial vectors at each parameter position specified. - The length of this array is equal to the length of the parameters array specified. - Returns true if the third derivatives were successfully returned. + The full path to the folder where the script or add-in will be created. By default, + this is an empty string which uses the default folder specified by the "Default Path for Scripts and Add-Ins" preference. + Specifying a path overrides the default and will create the script or add-in in the specified location. + No "Scripts" or "AddIns" sub-folder is created. """ - return (bool(), [Vector3D()], [Vector3D()]) - def getThirdDerivative(self, parameter: Point2D) -> tuple[bool, Vector3D, Vector3D]: + return str() + @targetFolder.setter + def targetFolder(self, value: str): """ - Get the third derivative of the surface at the specified parameter position. - parameter : The parameter position to get the surface third derivative at. - The parameter position must be within the range of the parameter extents as verified by isParameterOnFace. - partialUUU : The output third derivative UUU partial vector at each parameter position specified. - partialVVV : The output third derivative VVV partial vector at each parameter position specified. - Returns true if the third derivative was successfully returned. + The full path to the folder where the script or add-in will be created. By default, + this is an empty string which uses the default folder specified by the "Default Path for Scripts and Add-Ins" preference. + Specifying a path overrides the default and will create the script or add-in in the specified location. + No "Scripts" or "AddIns" sub-folder is created. """ - return (bool(), Vector3D(), Vector3D()) - def isParameterOnFace(self, parameter: Point2D) -> bool: + pass + @property + def runOnStartup(self) -> bool: """ - Determines if the specified parameter position lies with the parametric range of the surface. - parameter : The parameter position to test. - Returns true if the parameter position lies within the valid parametric range of the surface. + If this Script represents an add-in and isAddIn is True, this specifies if the + add-in should be automatically started when Fusion starts up. """ return bool() - def parametricRange(self) -> BoundingBox2D: - """ - Returns the parametric range of the surface. - If the surface is periodic in a direction, the range is set to the principle period's range. - If the surface is only upper bounded in a direction, the lower bound is set to -double-max. - If the surface is only lower bounded in a direction, the upper bound is set to double-max. - If the surface is unbounded in a direction, the lower bound and upper bound of the range will both be zero. - Returns the bounding box with the parameter extents, with the X value being the U range, and the Y value being the V range. + @runOnStartup.setter + def runOnStartup(self, value: bool): """ - return BoundingBox2D() - @property - def isClosedInU(self) -> bool: - """ - Indicates if the surface is closed (forms a loop) in the U direction + If this Script represents an add-in and isAddIn is True, this specifies if the + add-in should be automatically started when Fusion starts up. """ - return bool() - @property - def isClosedInV(self) -> bool: + pass + +class Scripts(Base): + """ + API object that provides equivalent functionality of the "Scripts and Add-Ins" dialog. + Provides access to the scripts and add-ins that Fusion 360 is aware of. It also + supports loading other unknown scripts and add-ins, and creating new scripts and add-ins. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Scripts: + return Scripts() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Script: + return None + def __iter__(self) -> Iterator[Script]: + return None + def item(self, index: int) -> Script: """ - Indicates if the surface is closed (forms a loop) in the V direction + Function that returns the specified script or add-in using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. """ - return bool() + return Script() + def addNew(self, input: ScriptInput) -> Script: + """ + Creates a new script or add-in. This uses the same internal template that's + used when creating a new script or add-in using the "Scripts and Add-Ins" dialog. + The provided ScriptInput object defines the information needed to create a new + script or add-in. + input : A ScriptInput object which defines the required information to create a new + script or add-in. It is created using the createNewScriptInput method. + Returns the newly created Script object. + """ + return Script() + def createScriptInput(self, name: str, programmingLanguage: ProgrammingLanguages, isAddIn: bool) -> ScriptInput: + """ + Creates a new ScriptInput object. Logically, this object is equivalent to the + dialog that is shown when you click the "Create" button in the "Scripts and Add-Ins" + command dialog. It collects the information needed to create a new script or + add-in. To create the script or add-in, call the addNew method, passing in the + ScriptInput object. + name : The name of the script or add-in to create. By default, it will be created in the + folder specified by the "Default Path for Scripts and Add-Ins" preference, but a + different path can be specified using the returned ScriptInput object. Regardless of + where it is created, the name must be unique with respect to the other scripts and + add-ins in that folder. If it's not unique the creation of the script or add-in will fail. + programmingLanguage : The programming language to use for the new script or add-in. + isAddIn : Specifies if a script or add-in is to be created. If true, an add-in is created. + Returns a ScriptInput object or null in the case of failure. + """ + return ScriptInput() + def addExisting(self, scriptFolderPath: str) -> Script: + """ + Fusion looks in specific folders for scripts and add-ins, but you can manually add + other scripts and add-ins to the list of known scripts and add-ins so they will be + listed in the "Scripts and Add-ins" dialog. This method does that. + scriptFolderPath : The full path to the folder that contains the script or add-in. + Returns the Script object that represents the script or add-in just added. Returns + null in the case of failure. + """ + return Script() @property - def area(self) -> float: + def count(self) -> int: """ - Returns the area of the surface. This is typically used when the SurfaceEvaluator is associated - with a BRepFace object where it is always valid. This can fail in the case where the SurfaceEvaluator is - associated with one of the geometry classes, (Plane, Cylinder, Cone, EllipticalCone, or EllipticalCylinder - object), because these surfaces are unbounded. A BRepFace, even one of these shapes, is bounded by its - edges and has a well-defined area. + Returns the number of scripts and add-ins. """ - return float() + return int() -class Toolbar(Base): +class Selection(Base): """ - Provides access to a toolbar in the user interface. A toolbar is a collection of toolbar controls. + Provides access to a selection of an entity in the user interface. """ def __init__(self): pass @staticmethod - def cast(arg) -> Toolbar: - return Toolbar() + def cast(arg) -> Selection: + return Selection() @property - def id(self) -> str: + def entity(self) -> Base: """ - Gets the unique ID of the toolbar that can be used programmatically - to find a specific toolbar. - """ - return str() - @property - def parentUserInterface(self) -> UserInterface: - """ - Gets the owning UserInterface object. + Gets the selected entity. """ - return UserInterface() + return Base() @property - def controls(self) -> ToolbarControls: + def point(self) -> Point3D: """ - Gets the controls in this toolbar. + Gets the selection point on the object. """ - return ToolbarControls() + return Point3D() -class ToolbarControl(Base): +class SelectionEventHandler(EventHandler): """ - The base class for all toolbar controls. + An event handler base class that a client derives from to handle events triggered by a SelectionEvent. + A client implemented instance of this class can be added to a SelectionEvent to receive these event notifications. """ def __init__(self): pass @staticmethod - def cast(arg) -> ToolbarControl: - return ToolbarControl() - def deleteMe(self) -> bool: + def cast(arg) -> SelectionEventHandler: + return SelectionEventHandler() + def notify(self, eventArgs: SelectionEventArgs) -> None: """ - Deletes the ToolbarControl - Returns a boolean indicating if the deletion was successful. + This notify member is called when an event is triggered from any event that this handler has been added to. + eventArgs : The arguments object with details about this event and the firing SelectionEvent. """ - return bool() - @property - def id(self) -> str: + pass + +class Selections(Base): + """ + Provides access to and control over the set of selected entities in the user interface. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Selections: + return Selections() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Selection: + return None + def __iter__(self) -> Iterator[Selection]: + return None + def item(self, index: int) -> Selection: """ - Gets the unique ID of this control. The ID is unique with respect to the other - controls within the same panel, toolbar, or drop-down control. + Returns the specified selection using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. """ - return str() - @property - def index(self) -> int: + return Selection() + def add(self, entity: Base) -> bool: """ - Gets the position of this control within the list of controls within the panel, toolbar, or drop-down control. + Adds the entity to the set of currently selected entities. + The user will see the entity become selected in the user interface. + entity : The entity to select and add to this selection set. + Returns true if successful. """ - return int() - @property - def isVisible(self) -> bool: + return bool() + def clear(self) -> bool: """ - Gets or sets if this control is currently visible. + Clears the selection set so no entities are currently selected. + Returns true if successful. """ return bool() - @isVisible.setter - def isVisible(self, value: bool): + def removeBySelection(self, selection: Selection) -> bool: """ - Gets or sets if this control is currently visible. + Removes the specified selection from the set of selected entities. + selection : The selection to remove. + Returns true if the item was removed or not currently selected. """ - pass - @property - def parent(self) -> Base: + return bool() + def removeByEntity(self, entity: Base) -> bool: """ - Gets the Parent object. When associated with a toolbar (right or left QAT or the NavBar) this - returns the parent Toolbar object. When associated with a panel it returns the parent ToolbarPanel object. - When associated with a control (DropDownControl) it returns the parent control. + Removes the selections that are associated with the specified entity from the set of selected entities. + entity : The entity to remove selections of. + Returns true if the item was removed or not currently selected. """ - return Base() - -class ToolbarControlList(Base): - """ - Provides access to a list of toolbar controls. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ToolbarControlList: - return ToolbarControlList() - def item(self, index: int) -> ToolbarControl: + return bool() + def removeByIndex(self, index: int) -> bool: """ - Returns the ToolbarControl at the specified index. - When iterating by index, the controls are returned - in the same order as they are shown in the user interface. - index : The index of the control within the collection to return. The first item in the - collection has in index of 0. - Returns the ToolbarControl at the specified index or null if an invalid index was specified. + Removes an item from the set of selected entities. + index : The index of the selection to remove. + Returns true if the item was removed successfully. """ - return ToolbarControl() - def itemById(self, id: str) -> ToolbarControl: + return bool() + def asArray(self) -> list[Selection]: """ - Returns the ToolbarControl at the specified ID. - id : The ID of the control within the collection to return. - Returns the ToolbarControl with the specified ID or null if no control has this ID. + Returns an array containing all of the current selections. This is + useful in cases where you need to iterate over the set of selected entities but need + to create or edit data as you process each one. Selections are fragile and creation and + edit operations will clear the selections so you won't have access to the complete list + after processing the first one. + Returns an array of all of the current selections. Selection objects are returned so + you'll need to call their entity properties to get the actual selected entity. """ - return ToolbarControl() + return [Selection()] @property def count(self) -> int: """ - Gets the number of toolbar controls. + Gets the number of entities currently selected. """ return int() + @property + def all(self) -> ObjectCollection: + """ + Gets or sets all entities currently selected. + """ + return ObjectCollection() + @all.setter + def all(self, value: ObjectCollection): + """ + Gets or sets all entities currently selected. + """ + pass -class ToolbarControls(Base): +class SelectionSet(Base): """ - ToolbarControls is a collection of ToolbarControl objects displayed in a toolbar or menu. + The SelectionSet object represents a Selection Set as seen in the user interface. Using a SelectionSet, + you can access all the associated data, activate, and delete a selection set. + + In the user interface, selection sets are created by selecting geometry and then running the + "Create Selection Set" command from the context menu. All existing selection sets are shown + in a "Selection Sets" folder in the browser where they can be activated and deleted. """ def __init__(self): pass @staticmethod - def cast(arg) -> ToolbarControls: - return ToolbarControls() - def item(self, index: int) -> ToolbarControl: - """ - Returns the ToolbarControl at the specified index. - When iterating by index, the controls are returned - in the same order as they are shown in the user interface. - index : The index of the control within the collection to return. The first item in the - collection has in index of 0. - Returns the ToolbarControl at the specified index or null if an invalid index was specified. + def cast(arg) -> SelectionSet: + return SelectionSet() + def select(self) -> bool: """ - return ToolbarControl() - def itemById(self, id: str) -> ToolbarControl: - """ - Returns the ToolbarControl at the specified ID. - id : The ID of the control within the collection to return. - Returns the ToolbarControl with the specified ID or null if no control has this ID. + Causes the entities in this SelectionSet object to be the active selection. + Returns true if the selection was successful. """ - return ToolbarControl() - def addCommand(self, commandDefinition: CommandDefinition, positionID: str, isBefore: bool) -> CommandControl: + return bool() + def deleteMe(self) -> bool: """ - Adds a button to the controls in the toolbar, panel, or drop-down. The ID of the created - command control is inherited from the associated command definition. - commandDefinition : The associated CommandDefinition that defines the resources and receives events related to this control. - positionID : Specifies the reference id of the control to position this control relative to. - Not setting this value indicates that the control will be created at the end of all other controls in toolbar. The isBefore - parameter specifies whether to place the control before or after the reference control. - isBefore : Specifies whether to place the control before or after the reference control specified by the positionID parameter. - This argument is ignored is positionID is not specified. - Returns the newly created CommandControl object or null if the creation fails. + Deletes this SelectionSet object. + Returns true if the deletion was successful. """ - return CommandControl() - def addDropDown(self, text: str, resourceFolder: str, id: str, positionID: str, isBefore: bool) -> DropDownControl: + return bool() + @property + def name(self) -> str: """ - Adds a drop-down to the controls in the toolbar, panel, or drop-down. When the drop-down is initially created it will be empty. - you can get the associated ToolbarControls object from the DropDownControl to add additional controls to the drop-down. - text : The text displayed for the drop-down in a menu. For a drop-down in a toolbar this argument is ignored - because an icon is used. - resourceFolder : The resource folder containing the image used for the icon when the drop-down is in a toolbar. - id : Optional unique ID for the control. It must be unique with respect to other controls in this collection. - If the default empty string is provided, Fusion 360 will create a unique ID. - positionID : Specifies the reference id of the control to position this control relative to. - Not setting this value indicates that the control will be created at the end of all other controls in toolbar. The isBefore - parameter specifies whether to place the control before or after the reference control. - isBefore : Specifies whether to place the control before or after the reference control specified by the positionID parameter. - This argument is ignored is positionID is not specified. - Returns the newly created DropDownControl object or null if the creation fails. + Gets and sets the name of the SelectionSet object. If a name is assigned that is already + used, Fusion will append a counter to the name to make it unique. """ - return DropDownControl() - def addSeparator(self, id: str, positionID: str, isBefore: bool) -> SeparatorControl: + return str() + @name.setter + def name(self, value: str): """ - Adds a separator to the controls in the toolbar, panel, or drop-down. - id : Optional unique ID for the control. It must be unique with respect to other controls in this collection. - If the default empty string is provided, Fusion 360 will create a unique ID. - positionID : Specifies the reference id of the control to position this separator control relative to. - Not setting this value indicates that the separator control will be created at the end of all other controls in toolbar. - The isBefore parameter specifies whether to place the control before or after the reference control. - isBefore : Specifies whether to place the separator control before or after the reference control specified by the positionID parameter. - This argument is ignored is positionID is not specified. - Returns the newly created separator controls or null if the creation fails. + Gets and sets the name of the SelectionSet object. If a name is assigned that is already + used, Fusion will append a counter to the name to make it unique. """ - return SeparatorControl() - def addSplitButton(self, defaultDefinition: CommandDefinition, additionalDefinitions: list[CommandDefinition], showLastUsed: bool, id: str, positionID: str, isBefore: bool) -> SplitButtonControl: + pass + @property + def entities(self) -> list[Base]: """ - Adds a split button to the controls in a toolbar. A split button has two active areas that the user can click; - the main button portion and the drop-down arrow. Clicking the main button, executes the displayed command. - Clicking the drop-down displays the drop-down with additional commands. + Gets and sets the entities in the selection set. Setting this property is the equivalent + of using the "Update" option for a selection set in the user-interface. - The split button itself does not fire any events, but the buttons within it will fire events to their associated - command definitions. - defaultDefinition : A command definition that will be used to create the main button. A button will also be created in the drop-down - for this definition. - additionalDefinitions : An array of command definitions that will be used to create the buttons on the drop-down. - showLastUsed : Specifies if the split button should have the behavior where the command shown on the main button changes - to the last executed command. - id : Optional unique ID for the control. It must be unique with respect to other controls in this collection. - If the default empty string is provided, Fusion 360 will create a unique ID. - positionID : Specifies the reference id of the control to position this control relative to. - Not setting this value indicates that the control will be created at the end of all other controls in toolbar. The isBefore - parameter specifies whether to place the control before or after the reference control. - isBefore : Specifies whether to place the control before or after the reference control specified by the positionID parameter. - This argument is ignored is positionID is not specified - Returns the newly created SplitButtonControl object or null if the creation fails. + Setting the entities can fail in the case where you provide an entity that is not valid + for selection. All entities must be in the context of the root component. This means if + the entity isn't directly owned by the root component, it must be a proxy. """ - return SplitButtonControl() - @property - def count(self) -> int: + return [Base()] + @entities.setter + def entities(self, value: list[Base]): """ - Gets the number of controls in the collection. + Gets and sets the entities in the selection set. Setting this property is the equivalent + of using the "Update" option for a selection set in the user-interface. + + Setting the entities can fail in the case where you provide an entity that is not valid + for selection. All entities must be in the context of the root component. This means if + the entity isn't directly owned by the root component, it must be a proxy. """ - return int() + pass -class ToolbarPanel(Base): +class SelectionSets(Base): """ - Toolbar panels are the panels shown in the command toolbar. + The SelectionSets object is used to create and access existing selection sets. + + In the user interface, selection sets are created by selecting geometry and then + running the "Create Selection Set" command from the context menu. All existing + selection sets are shown in a "Selection Sets" folder in the browser. """ def __init__(self): pass @staticmethod - def cast(arg) -> ToolbarPanel: - return ToolbarPanel() - def deleteMe(self) -> bool: + def cast(arg) -> SelectionSets: + return SelectionSets() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SelectionSet: + return None + def __iter__(self) -> Iterator[SelectionSet]: + return None + def item(self, index: int) -> SelectionSet: """ - Deletes this toolbar panel. - Returns true if the delete was successful. + Returns the specified SelectionSet object using an index into the collection. + index : The index of the SelectionSet within the collection to return. The first item in the collection has an index of 0. + Returns the specified SelectionSet or null if an invalid index was specified. """ - return bool() - def indexWithinTab(self, tabId: str) -> int: + return SelectionSet() + def itemByName(self, name: str) -> SelectionSet: """ - Gets the position this panel is in within the toolbar tab. - The first panel in the tab is at position 0. - Returns the index value of the panel within the tab. + Returns the specified SelectionSet object using the name of the selection set. + name : The name of the SelectionSet object to return. + Returns the specified SelectionSet object or null if no SelectionSet object exists with the specified name. """ - return int() - @property - def id(self) -> str: + return SelectionSet() + def add(self, entities: list[Base], name: str = "") -> SelectionSet: """ - Gets The unique, language independent, ID of this panel. + Adds a new SelectionSet to the parent product. + entities : An array of entities that will be in the created selection set. All entities must be in the + context of the root component. This means if the entity isn't directly owned by the root + component, it must be a proxy. + name : The name of the selection set. This is an optional argument is if not specified, or an empty string is + provided, Fusion will create a name for the selection set. If provided, the name should be unique with + respect to other selection sets in the product. If a name is provided that is the same as an existing + selection set, Fusion will append a counter to the name to make the name unique. + Returns the created selection set or null in the case the selection set couldn't be created. This method + can fail in the case where no entities are provided or if any of the provided entities are not selectable. """ - return str() + return SelectionSet() @property - def index(self) -> int: + def count(self) -> int: """ - Gets the position this panel is in within the toolbar. - The first panel is at position 0. This value is with respect - to the complete list of panels so this value could be outside - of the expected range if you have a collection of panels - associated with a workspace, which is a subset of the entire - list of panels. + Returns the number of SelectionSet objects in the collection. """ return int() + +class Status(Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Used to communicate the current status of an object or operation. This provides the status + and any error messages that might accompany an error or warning. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Status: + return Status() @property - def isVisible(self) -> bool: + def isError(self) -> bool: """ - Gets whether this panel is currently being displayed in the user interface. - Visibility of a panel is controlled by it being associated with the currently - active workspace. + If true, An error occurred that has prevented the operation from successfully completing. + This takes into account all of the child status messages. """ return bool() @property - def name(self) -> str: - """ - Gets the name of the panel as seen in the user interface. - """ - return str() - @property - def controls(self) -> ToolbarControls: + def isWarning(self) -> bool: """ - Gets the controls associated with this panel. These are all in the panel's - drop-down (assuming their visible property is true) and are selectively shown - within the panel. + If true, the operation has succeeded but with an unusual result. + This takes into account all of the child status messages. """ - return ToolbarControls() + return bool() @property - def parentUserInterface(self) -> UserInterface: + def isOK(self) -> bool: """ - Gets the parent UserInterface object. + If true, the operation was successful without any warnings or errors. + This takes into account all of the child status messages. """ - return UserInterface() + return bool() @property - def promotedControls(self) -> ToolbarControlList: + def statusMessages(self) -> StatusMessages: """ - Gets the controls in the panel that have been promoted. Promoted - controls are the controls that are displayed within the panel. + the status messages associated with this status. These messages are displayed to + the user in the alert dialog. Each status message can have children status + messages that will be displayed as a tree structure in the alert dialog. """ - return ToolbarControlList() + return StatusMessages() + +class StatusMessage(Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Defines the message associated with a Status object. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> StatusMessage: + return StatusMessage() @property - def relatedWorkspaces(self) -> ObjectCollection: + def messageId(self) -> str: """ - Gets or sets the set of workspaces that this panel is displayed for. + Gets and sets the ID of the message being used. This is a predefined ID within the Fusion message + string table. """ - return ObjectCollection() - @relatedWorkspaces.setter - def relatedWorkspaces(self, value: ObjectCollection): + return str() + @messageId.setter + def messageId(self, value: str): """ - Gets or sets the set of workspaces that this panel is displayed for. + Gets and sets the ID of the message being used. This is a predefined ID within the Fusion message + string table. """ pass @property - def productType(self) -> str: + def message(self) -> str: """ - Returns the name of the product this toolbar panel is associated with. + The user visible message being used. Setting this message for custom feature errors or warnings is + currently ignored. """ return str() - -class ToolbarPanelList(Base): - """ - A ToolbarPanelList is a list of ToolbarPanel objects. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ToolbarPanelList: - return ToolbarPanelList() - def item(self, index: int) -> ToolbarPanel: + @message.setter + def message(self, value: str): """ - Returns the specified work space using an index into the collection. - index : The index of the item within the collection to return. The first item in the collection has an index of 0. - Returns the specified item or null if an invalid index was specified. + The user visible message being used. Setting this message for custom feature errors or warnings is + currently ignored. """ - return ToolbarPanel() - def itemById(self, id: str) -> ToolbarPanel: + pass + @property + def statusMessageType(self) -> StatusMessageTypes: """ - Returns the ToolbarPanel of the specified ID. - id : The ID of the ToolbarPanel to get. - Returns the specified ToolbarPanel or null in the case where there isn't a ToolbarPanel with the specified ID. + Returns the type of message this StatusMessage represents. """ - return ToolbarPanel() + return StatusMessageTypes() @property - def count(self) -> int: + def childStatusMessages(self) -> StatusMessages: """ - Gets the number of toolbar panels in the collection. + Returns the collection of status codes that are children of + this status message. """ - return int() + return StatusMessages() -class ToolbarPanels(Base): +class StatusMessages(Base): """ - Provides access to a set of toolbar panels. Many toolbar panels exist and their - visibility is determined by the active workspace. A panel can be associated with one - or more workspaces and when the associated workspace is active, the panel is made visible. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! - This collection is associated with a workspace and possibly a tab in the toolbar for that workspace. - If this collection is from a toolbar tab, the collection order is the left-to-right order - of panels in the toolbar tab. + A collection of status messages associated with a Status object. The primary purpose of the messages is to + describe the reason for a warning or failure and display the messages in the alert dialog. """ def __init__(self): pass @staticmethod - def cast(arg) -> ToolbarPanels: - return ToolbarPanels() - def add(self, id: str, name: str, positionID: str, isBefore: bool) -> ToolbarPanel: + def cast(arg) -> StatusMessages: + return StatusMessages() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> StatusMessage: + return None + def __iter__(self) -> Iterator[StatusMessage]: + return None + def item(self, index: int) -> StatusMessage: """ - Creates a new ToolbarPanel. The panel is initially empty. - Use the associated ToolbarControls collection to add buttons. - - If this collection is associated with a tab, the new panel will be added to that tab. - If this collection is not associated with a tab, the new panel will be added to the end of the "Tools" Tab. - A "Tools" tab will be created for you if it does not currently exist for this collection's workspace. - id : The unique id for this panel. The id must be unique with respect to all of the panels. - name : The displayed name of this panel. This is the name visible in the user interface. - positionID : Specifies the id of the panel to position this panel relative to. - Not setting this value indicates that the panel will be created at the end of all other panels. The isBefore - parameter specifies whether to place the panel before or after this panel. - isBefore : Specifies whether to place the panel before or after the panel specified by the positionID argument. - This argument is ignored is positionID is not specified - Returns the newly created panel or null in the case the creation failed. + Returns the specified status message using an index into the collection. + index : The index of the status message within the collection to return. The first item in the collection has an index of 0. + Returns the specified StatusMessage or null if an invalid index was specified. """ - return ToolbarPanel() - def item(self, index: int) -> ToolbarPanel: + return StatusMessage() + def addError(self, messageId: str = "", message: str = "") -> StatusMessage: """ - Returns the specified toolbar panel using an index into the collection. - When iterating by index, the panels are returned in the same order as they are shown in the user interface. - index : The index of the item within the collection to return. The first item in the collection has an index of 0. - Returns the specified item or null if an invalid index was specified. + Adds a new error status message to the list of warning and error messages. + messageId : + The ID of a predefined message or if an empty string is provided, the + default error message will be used. The displayed message is localized based on the + current default language in Fusion. Below is a list of some valid message ID's and + the corresponding English message. +

+ "API_COMPUTE_ERROR" - "Cannot compute this feature."
+ "API_COMPUTE_WARNING" - "This feature computed with warnings."
+ "CFLANGE_INVALID_GEOM" - "Invalid input sketch curve."
+ "DRAFT_MISSING_FACE_REFERENCES" - "Missing face references"
+ "DRAFT_MISSING_REFERENCE_PLANE" - "Missing reference plane"
+ "FEATURE_ENTITY_TYPE_INVALID" - "Entity type is invalid"
+ "FEATURE_FAILED_TO_CREATE" - "Failed to create feature"
+ "FEATURE_MISSING_INPUTS" - "Missing inputs"
+ "FEATURE_REFERENCE_LOST" - "Reference is lost"
+ "Feature_Compute_Error" - "Compute Failed"
+ "Feature_Input_Compute_Error" - "Reference Failures"
+ "InvalidWPntInput" - "Invalid input"
+ "NO_TARGET_BODY" - "No target body!"
+ "ORIGIN_SELECTION_MISSING" - "Origin geometry is missing."
+ "DRPOINT_COMPUTE_FAILED" - "Failed to evaluate the point due to the invalid input"
+ + message : This is not currently supported for custom feature compute errors and will be ignored. + Returns true if the error message was successfully added. """ - return ToolbarPanel() - def itemById(self, id: str) -> ToolbarPanel: + return StatusMessage() + def addWarning(self, messageId: str = "", message: str = "") -> StatusMessage: """ - Returns the ToolbarPanel at the specified ID. - id : The Id of the panel within the collection to return. - Returns the ToolbarPanel of the specified id or null no panel has the specified id. + Adds a new warning status message to the list of warning and error messages. + messageId : + The ID of a predefined message or if an empty string is provided, the + default error message will be used. The displayed message is localized based on the + current default language in Fusion. Below is a list of some valid message ID's and + the corresponding English message. +

+ "API_COMPUTE_ERROR" - "Cannot compute this feature."
+ "API_COMPUTE_WARNING" - "This feature computed with warnings."
+ "CFLANGE_INVALID_GEOM" - "Invalid input sketch curve."
+ "DRAFT_MISSING_FACE_REFERENCES" - "Missing face references"
+ "DRAFT_MISSING_REFERENCE_PLANE" - "Missing reference plane"
+ "FEATURE_ENTITY_TYPE_INVALID" - "Entity type is invalid"
+ "FEATURE_FAILED_TO_CREATE" - "Failed to create feature"
+ "FEATURE_MISSING_INPUTS" - "Missing inputs"
+ "FEATURE_REFERENCE_LOST" - "Reference is lost"
+ "Feature_Compute_Error" - "Compute Failed"
+ "Feature_Input_Compute_Error" - "Reference Failures"
+ "InvalidWPntInput" - "Invalid input"
+ "NO_TARGET_BODY" - "No target body!"
+ "ORIGIN_SELECTION_MISSING" - "Origin geometry is missing."
+ "DRPOINT_COMPUTE_FAILED" - "Failed to evaluate the point due to the invalid input"
+ + message : This is not currently supported for custom feature compute errors and will be ignored. + Returns true if the warning message was successfully added. """ - return ToolbarPanel() + return StatusMessage() @property def count(self) -> int: """ - Gets the number of ToolbarPanels. + Returns the number of status messages in this collection. """ return int() -class Toolbars(Base): +class Surface(Base): """ - Provides access to the toolbars. These are currently the right and left QAT's and the NavBar. + Describes a two-dimensional topological, manifold in three-dimensional space. + It is used as the underlying geometry for a BRepFace. """ def __init__(self): pass @staticmethod - def cast(arg) -> Toolbars: - return Toolbars() - def item(self, index: int) -> Toolbar: + def cast(arg) -> Surface: + return Surface() + def transformBy(self, matrix: Matrix3D) -> bool: """ - Returns the specified toolbar using an index into the collection. - index : The index of the item within the collection to return. The first item in the collection has an index of 0. - Returns the specified item or null if an invalid index was specified. + Updates this surface by transforming it with a given input matrix. + matrix : A 3D matrix that defines the transform to apply to the surface. + Returns true if the transform was successful. """ - return Toolbar() - def itemById(self, id: str) -> Toolbar: + return bool() + @property + def surfaceType(self) -> SurfaceTypes: """ - Returns the Toolbar of the specified ID. - id : The Id of the toolbar to return. - Returns the toolbar with the specified ID or null if there's not a toolbar with the specified ID. + Returns the surface type. """ - return Toolbar() + return SurfaceTypes() @property - def count(self) -> int: + def evaluator(self) -> SurfaceEvaluator: """ - Gets the number of Toolbar objects in the collection. + Returns the surface evaluator. """ - return int() + return SurfaceEvaluator() -class ToolbarTab(Base): +class SurfaceEvaluator(Base): """ - Toolbar tabs are the tabs shown in the command toolbar. + Surface evaluator that is obtained from a transient surface and allows you to perform + various evaluations on the surface. """ def __init__(self): pass @staticmethod - def cast(arg) -> ToolbarTab: - return ToolbarTab() - def activate(self) -> bool: + def cast(arg) -> SurfaceEvaluator: + return SurfaceEvaluator() + def getModelCurveFromParametricCurve(self, parametricCurve: Curve2D) -> ObjectCollection: + """ + Creates the 3D equivalent curve in model space, of a 2D curve defined in the + parametric space of the surface. + parametricCurve : The parameter space curve to map into this surface's parameter space. + Returns an ObjectCollection containing one or more curves. + When the SufaceEvaluatior is obtained from a face, and the curve cuts across internal + boundaries of the face, multiple curves are returned. The returned curves are trimmed + to the boundaries of the face. + If the SurfaceEvaluator is obtained from a geometry object, a single curve returned + because there are no boundaries with which to trim the curve. + The type of curve(s) returned depends on the shape of the input curve and surface. + """ + return ObjectCollection() + def getIsoCurve(self, parameter: float, isUDirection: bool) -> ObjectCollection: + """ + Gets (by extraction) a curve that follows a constant u or v parameter along the surface. + The curve will have the same properties as the surface in the direction of the extraction. + For example, when a curve is extracted from the periodic direction of a surface, the extracted + curve will also be periodic. + The type of curve returned is dependent on the shape the surface. + parameter : The parameter at which to extract the curve + isUDirection : A bool that indicates whether to extract the curve from the U or V direction + Returns an ObjectCollection that contains one or more curves. + Multiple curves are returned when the SurfaceEvaluator is obtained from a Face + and the curve cuts across internal boundaries. The resulting curves are trimmed to the + boundaries of the Face. + When the SurfaceEvaluator is obtained from a geometry object, a single curve is returned + because there are no boundaries to trim the curve. + The type of curve(s) returned is dependent on the shape of the surface. + """ + return ObjectCollection() + def getCurvatures(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D], list[float], list[float]]: + """ + Get the curvature values at a number of parameter positions on the surface. + parameters : The array of parameter positions to return curvature information at. + Each parameter position must be with the range of the parameter extents as verified by isParameterOnFace. + maxTangents : The output array of directions of maximum curvature at each position on the surface. + The length of this array will be the same as the length of the parameters array provided. + maxCurvatures : The output array of the magnitude of the maximum curvature at each position on the surface. + The length of this array will be the same as the length of the parameters array provided. + minCurvatures : The output array of the magnitude of the minimum curvature at each position on the surface. + The minimum curvature direction is perpendicular to the maximum curvature tangent directions. + The length of this array will be the same as the length of the parameters array provided. + Returns true if the curvatures were successfully returned. + """ + return (bool(), [Vector3D()], [float()], [float()]) + def getCurvature(self, parameter: Point2D) -> tuple[bool, Vector3D, float, float]: + """ + Get the curvature values at a parameter positions on the surface. + parameter : The parameter positions to return curvature information at. + maxTangent : The output directions of maximum curvature at the position on the surface. + maxCurvature : The output magnitude of the maximum curvature at the position on the surface. + minCurvature : The output magnitude of the minimum curvature at the position on the surface. + The minimum curvature direction is perpendicular to the maximum curvature tangent directions. + Returns true if the curvature was successfully returned. + """ + return (bool(), Vector3D(), float(), float()) + def getNormalsAtParameters(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D]]: + """ + Gets the surface normal at a number of parameter positions on the surface. + parameters : The array of parameter positions to return the normal at. + Each parameter position must be with the range of the parameter extents as verified by isParameterOnFace. + normals : The output array of normals for each parameter position on the surface. + The length of this array will be the same as the length of the parameters array provided. + Returns true if the normals were successfully returned. + """ + return (bool(), [Vector3D()]) + def getNormalAtParameter(self, parameter: Point2D) -> tuple[bool, Vector3D]: + """ + Gets the surface normal at a parameter position on the surface. + parameter : The parameter position to return the normal at. + The parameter position must be with the range of the parameter extents as verified by isParameterOnFace. + normal : The output normal for the parameter position on the surface. + Returns true if the normal was successfully returned. + """ + return (bool(), Vector3D()) + def getNormalsAtPoints(self, points: list[Point3D]) -> tuple[bool, list[Vector3D]]: + """ + Gets the surface normal at a number of positions on the surface. + points : The array of points to return the normal at. + For reliable results each point should lie on the surface. + normals : The output array of normals for each point on the surface. + The length of this array will be the same as the length of the points array provided. + Returns true if the normals were successfully returned. + """ + return (bool(), [Vector3D()]) + def getNormalAtPoint(self, point: Point3D) -> tuple[bool, Vector3D]: + """ + Gets the surface normal at a point on the surface. + point : The point to return the normal at. + For reliable results the point should lie on the surface. + normal : The output normal for the point on the surface. + Returns true if the normal was successfully returned. + """ + return (bool(), Vector3D()) + def getParametersAtPoints(self, points: list[Point3D]) -> tuple[bool, list[Point2D]]: + """ + Get the parameter positions that correspond to a set of points on the surface. + For reliable results, the points should lie on the surface within model tolerance. + If the points do not lie on the surface, the parameter of the nearest point on the surface will generally be returned. + points : An array of points to get the surface parameter values at. + parameters : The output array of parameter positions corresponding to the set of points. + The length of this array will be equal to the length of the points array specified. + Returns true if the parameters were successfully returned. + """ + return (bool(), [Point2D()]) + def getParameterAtPoint(self, point: Point3D) -> tuple[bool, Point2D]: + """ + Get the parameter position that correspond to a point on the surface. + For reliable results, the point should lie on the surface within model tolerance. + If the point does not lie on the surface, the parameter of the nearest point on the surface will generally be returned. + point : The point to get the curve parameter value at. + parameter : The output parameter position corresponding to the point. + Returns true of the parameter was successfully returned. + """ + return (bool(), Point2D()) + def getPointsAtParameters(self, parameters: list[Point2D]) -> tuple[bool, list[Point3D]]: + """ + Get the points on the surface that correspond to evaluating a set of parameter positions on the surface. + parameters : The array of parameter positions to evaluate the surface position at. + Each parameter position must be within the range of the parameter extents as verified by isParameterOnFace. + points : The output array of points corresponding to evaluating the curve at that parameter position. + The length of this array will be equal to the length of the parameters array specified. + Returns true if the points were successfully returned. + """ + return (bool(), [Point3D()]) + def getPointAtParameter(self, parameter: Point2D) -> tuple[bool, Point3D]: + """ + Get the point on the surface that correspond to evaluating a parameter position on the surface. + parameter : The parameter positions to evaluate the surface position at. + The parameter position must be within the range of the parameter extents as verified by isParameterOnFace. + point : The output point corresponding to evaluating the curve at that parameter position. + Returns true if the point was successfully returned. + """ + return (bool(), Point3D()) + def getParamAnomaly(self) -> tuple[bool, list[float], list[float], list[float], list[float], list[bool]]: + """ + Gets details about anomalies in parameter space of the surface. + This includes information about periodic intervals, singularities, or unbounded parameter ranges. + periodicityU : The output array with information about the period of the surface in U. + periodicityU[0] will contain the period of the surface in U. + If periodicityU[0] is 0, the surface is not periodic in U. + If the surface is periodic in U, peridocityU[1] will contain the parameter value at the start of the principle period. + periodicityV : The output array with information about the period of the surface in V. + periodicityV[0] will contain the period of the surface in V. + If periodicityV[0] is 0, the surface is not periodic in V. + If the surface is periodic in V, peridocityV[1] will contain the parameter value at the start of the principle period. + singularitiesU : The output array parameter values of singularities in U. + If this array is empty, there are no singularities in U. + singularitiesV : The output array parameter values of singularities in V. + If this array is empty, there are no singularities in V. + unboundedParameters : The output array that indicates if the parameter range is unbounded in U or V. + unboundedParameters[0] will be true if U is unbounded. + unboundedParameters[1] will be true if V is unbounded. + Returns true if the parameter anomalies were successfully returned. + """ + return (bool(), [float()], [float()], [float()], [float()], [bool()]) + def getFirstDerivatives(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D], list[Vector3D]]: + """ + Get the first derivatives of the surface at the specified parameter positions. + parameters : The array of parameter positions to get the surface first derivative at. + Each parameter position must be within the range of the parameter extents as verified by isParameterOnFace. + partialsU : The output array of first derivative U partial vectors at each parameter position specified. + The length of this array is equal to the length of the parameters array specified. + partialsV : The output array of first derivative V partial vectors at each parameter position specified. + The length of this array is equal to the length of the parameters array specified. + Returns true if the first derivatives were successfully returned. + """ + return (bool(), [Vector3D()], [Vector3D()]) + def getFirstDerivative(self, parameter: Point2D) -> tuple[bool, Vector3D, Vector3D]: + """ + Get the first derivative of the surface at the specified parameter position. + parameter : The parameter positions to get the surface first derivative at. + The parameter position must be within the range of the parameter extents as verified by isParameterOnFace. + partialU : The output first derivative U partial vector at the parameter position specified. + partialV : The output first derivative V partial vector at the parameter position specified. + Returns true if the first derivative was successfully returned. + """ + return (bool(), Vector3D(), Vector3D()) + def getSecondDerivatives(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D], list[Vector3D], list[Vector3D]]: + """ + Get the second derivatives of the surface at the specified parameter positions. + parameters : The array of parameter positions to get the surface second derivative at. + Each parameter position must be within the range of the parameter extents as verified by isParameterOnFace. + partialsUU : The output array of second derivative UU partial vectors at each parameter position specified. + The length of this array is equal to the length of the parameters array specified. + partialsUV : The output array of second derivative UV mixed partial vectors at each parameter position specified. + The length of this array is equal to the length of the parameters array specified. + partialsVV : The output array of second derivative VV partial vectors at each parameter position specified. + The length of this array is equal to the length of the parameters array specified. + Returns true if the second derivatives were successfully returned. + """ + return (bool(), [Vector3D()], [Vector3D()], [Vector3D()]) + def getSecondDerivative(self, parameter: Point2D) -> tuple[bool, Vector3D, Vector3D, Vector3D]: + """ + Get the second derivative of the surface at the specified parameter position. + parameter : The parameter position to get the surface second derivative at. + The parameter position must be within the range of the parameter extents as verified by isParameterOnFace. + partialUU : The output second derivative UU partial vector at each parameter position specified. + partialUV : The output second derivative UV mixed partial vector at each parameter position specified. + partialVV : The output second derivative VV partial vector at each parameter position specified. + Returns true if the second derivative was successfully returned. + """ + return (bool(), Vector3D(), Vector3D(), Vector3D()) + def getThirdDerivatives(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D], list[Vector3D]]: + """ + Get the third derivatives of the surface at the specified parameter positions. + parameters : The array of parameter positions to get the surface third derivative at. + Each parameter position must be within the range of the parameter extents as verified by isParameterOnFace. + partialsUUU : The output array of third derivative UUU partial vectors at each parameter position specified. + The length of this array is equal to the length of the parameters array specified. + partialsVVV : The output array of third derivative VVV partial vectors at each parameter position specified. + The length of this array is equal to the length of the parameters array specified. + Returns true if the third derivatives were successfully returned. + """ + return (bool(), [Vector3D()], [Vector3D()]) + def getThirdDerivative(self, parameter: Point2D) -> tuple[bool, Vector3D, Vector3D]: + """ + Get the third derivative of the surface at the specified parameter position. + parameter : The parameter position to get the surface third derivative at. + The parameter position must be within the range of the parameter extents as verified by isParameterOnFace. + partialUUU : The output third derivative UUU partial vector at each parameter position specified. + partialVVV : The output third derivative VVV partial vector at each parameter position specified. + Returns true if the third derivative was successfully returned. + """ + return (bool(), Vector3D(), Vector3D()) + def isParameterOnFace(self, parameter: Point2D) -> bool: + """ + Determines if the specified parameter position lies within the surface. When the SurfaceEvaluator + is obtained from a BRepFace object, this will respect the boundaries of the face and return true + when point is on the visible portion of the surface. When obtained from surface geometry it returns + true if the point is within the parametric range of surface. + parameter : The parameter position to test. + Returns true if the parameter position lies within the surface. + """ + return bool() + def parametricRange(self) -> BoundingBox2D: + """ + Returns the parametric range of the surface. + If the surface is periodic in a direction, the range is set to the principle period's range. + If the surface is only upper bounded in a direction, the lower bound is set to -double-max. + If the surface is only lower bounded in a direction, the upper bound is set to double-max. + If the surface is unbounded in a direction, the lower bound and upper bound of the range will both be zero. + Returns the bounding box with the parameter extents, with the X value being the U range, and the Y value being the V range. + """ + return BoundingBox2D() + @property + def isClosedInU(self) -> bool: + """ + Indicates if the surface is closed (forms a loop) in the U direction + """ + return bool() + @property + def isClosedInV(self) -> bool: + """ + Indicates if the surface is closed (forms a loop) in the V direction + """ + return bool() + @property + def area(self) -> float: + """ + Returns the area of the surface. This is typically used when the SurfaceEvaluator is associated + with a BRepFace object where it is always valid. This can fail in the case where the SurfaceEvaluator is + associated with one of the geometry classes, (Plane, Cylinder, Cone, EllipticalCone, or EllipticalCylinder + object), because these surfaces are unbounded. A BRepFace, even one of these shapes, is bounded by its + edges and has a well-defined area. + """ + return float() + +class TextureMapControl(Base): + """ + Provides access to the various settings that control how a texture is applied to a body or mesh. + This is the base class for the various texture mapping techniques. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TextureMapControl: + return TextureMapControl() + def reset(self) -> bool: + """ + Resets the texture map back to its original default settings. + Returns true if the reset was successful. + """ + return bool() + +class Toolbar(Base): + """ + Provides access to a toolbar in the user interface. A toolbar is a collection of toolbar controls. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Toolbar: + return Toolbar() + @property + def id(self) -> str: + """ + Gets the unique ID of the toolbar that can be used programmatically + to find a specific toolbar. + """ + return str() + @property + def parentUserInterface(self) -> UserInterface: + """ + Gets the owning UserInterface object. + """ + return UserInterface() + @property + def controls(self) -> ToolbarControls: + """ + Gets the controls in this toolbar. + """ + return ToolbarControls() + +class ToolbarControl(Base): + """ + The base class for all toolbar controls. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ToolbarControl: + return ToolbarControl() + def deleteMe(self) -> bool: + """ + Deletes the ToolbarControl + Returns a boolean indicating if the deletion was successful. + """ + return bool() + @property + def id(self) -> str: + """ + Gets the unique ID of this control. The ID is unique with respect to the other + controls within the same panel, toolbar, or drop-down control. + """ + return str() + @property + def index(self) -> int: + """ + Gets the position of this control within the list of controls within the panel, toolbar, or drop-down control. + """ + return int() + @property + def isVisible(self) -> bool: + """ + Gets or sets if this control is currently visible. + """ + return bool() + @isVisible.setter + def isVisible(self, value: bool): + """ + Gets or sets if this control is currently visible. + """ + pass + @property + def parent(self) -> Base: + """ + Gets the Parent object. When associated with a toolbar (right or left QAT or the NavBar) this + returns the parent Toolbar object. When associated with a panel it returns the parent ToolbarPanel object. + When associated with a control (DropDownControl) it returns the parent control. + """ + return Base() + +class ToolbarControlList(Base): + """ + Provides access to a list of toolbar controls. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ToolbarControlList: + return ToolbarControlList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ToolbarControl: + return None + def __iter__(self) -> Iterator[ToolbarControl]: + return None + def item(self, index: int) -> ToolbarControl: + """ + Returns the ToolbarControl at the specified index. + When iterating by index, the controls are returned + in the same order as they are shown in the user interface. + index : The index of the control within the collection to return. The first item in the + collection has in index of 0. + Returns the ToolbarControl at the specified index or null if an invalid index was specified. + """ + return ToolbarControl() + def itemById(self, id: str) -> ToolbarControl: + """ + Returns the ToolbarControl at the specified ID. + id : The ID of the control within the collection to return. + Returns the ToolbarControl with the specified ID or null if no control has this ID. + """ + return ToolbarControl() + @property + def count(self) -> int: + """ + Gets the number of toolbar controls. + """ + return int() + +class ToolbarControls(Base): + """ + ToolbarControls is a collection of ToolbarControl objects displayed in a toolbar or menu. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ToolbarControls: + return ToolbarControls() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ToolbarControl: + return None + def __iter__(self) -> Iterator[ToolbarControl]: + return None + def item(self, index: int) -> ToolbarControl: + """ + Returns the ToolbarControl at the specified index. + When iterating by index, the controls are returned + in the same order as they are shown in the user interface. + index : The index of the control within the collection to return. The first item in the + collection has in index of 0. + Returns the ToolbarControl at the specified index or null if an invalid index was specified. + """ + return ToolbarControl() + def itemById(self, id: str) -> ToolbarControl: + """ + Returns the ToolbarControl at the specified ID. + id : The ID of the control within the collection to return. + Returns the ToolbarControl with the specified ID or null if no control has this ID. + """ + return ToolbarControl() + def addCommand(self, commandDefinition: CommandDefinition, positionID: str = "", isBefore: bool = True) -> CommandControl: + """ + Adds a button to the controls in the toolbar, panel, or drop-down. The ID of the created + command control is inherited from the associated command definition. + commandDefinition : The associated CommandDefinition that defines the resources and receives events related to this control. + positionID : Specifies the reference id of the control to position this control relative to. + Not setting this value indicates that the control will be created at the end of all other controls in toolbar. The isBefore + parameter specifies whether to place the control before or after the reference control. + isBefore : Specifies whether to place the control before or after the reference control specified by the positionID parameter. + This argument is ignored is positionID is not specified. + Returns the newly created CommandControl object or null if the creation fails. + """ + return CommandControl() + def addDropDown(self, text: str, resourceFolder: str, id: str = "", positionID: str = "", isBefore: bool = True) -> DropDownControl: + """ + Adds a drop-down to the controls in the toolbar, panel, or drop-down. When the drop-down is initially created it will be empty. + you can get the associated ToolbarControls object from the DropDownControl to add additional controls to the drop-down. + text : The text displayed for the drop-down in a menu. For a drop-down in a toolbar this argument is ignored + because an icon is used. + resourceFolder : The resource folder containing the image used for the icon when the drop-down is in a toolbar. + id : Optional unique ID for the control. It must be unique with respect to other controls in this collection. + If the default empty string is provided, Fusion 360 will create a unique ID. + positionID : Specifies the reference id of the control to position this control relative to. + Not setting this value indicates that the control will be created at the end of all other controls in toolbar. The isBefore + parameter specifies whether to place the control before or after the reference control. + isBefore : Specifies whether to place the control before or after the reference control specified by the positionID parameter. + This argument is ignored is positionID is not specified. + Returns the newly created DropDownControl object or null if the creation fails. + """ + return DropDownControl() + def addSeparator(self, id: str = "", positionID: str = "", isBefore: bool = True) -> SeparatorControl: + """ + Adds a separator to the controls in the toolbar, panel, or drop-down. + id : Optional unique ID for the control. It must be unique with respect to other controls in this collection. + If the default empty string is provided, Fusion 360 will create a unique ID. + positionID : Specifies the reference id of the control to position this separator control relative to. + Not setting this value indicates that the separator control will be created at the end of all other controls in toolbar. + The isBefore parameter specifies whether to place the control before or after the reference control. + isBefore : Specifies whether to place the separator control before or after the reference control specified by the positionID parameter. + This argument is ignored is positionID is not specified. + Returns the newly created separator controls or null if the creation fails. + """ + return SeparatorControl() + def addSplitButton(self, defaultDefinition: CommandDefinition, additionalDefinitions: list[CommandDefinition], showLastUsed: bool, id: str = "", positionID: str = "", isBefore: bool = True) -> SplitButtonControl: + """ + Adds a split button to the controls in a toolbar. A split button has two active areas that the user can click; + the main button portion and the drop-down arrow. Clicking the main button, executes the displayed command. + Clicking the drop-down displays the drop-down with additional commands. + + The split button itself does not fire any events, but the buttons within it will fire events to their associated + command definitions. + defaultDefinition : A command definition that will be used to create the main button. A button will also be created in the drop-down + for this definition. + additionalDefinitions : An array of command definitions that will be used to create the buttons on the drop-down. + showLastUsed : Specifies if the split button should have the behavior where the command shown on the main button changes + to the last executed command. + id : Optional unique ID for the control. It must be unique with respect to other controls in this collection. + If the default empty string is provided, Fusion 360 will create a unique ID. + positionID : Specifies the reference id of the control to position this control relative to. + Not setting this value indicates that the control will be created at the end of all other controls in toolbar. The isBefore + parameter specifies whether to place the control before or after the reference control. + isBefore : Specifies whether to place the control before or after the reference control specified by the positionID parameter. + This argument is ignored is positionID is not specified + Returns the newly created SplitButtonControl object or null if the creation fails. + """ + return SplitButtonControl() + @property + def count(self) -> int: + """ + Gets the number of controls in the collection. + """ + return int() + +class ToolbarPanel(Base): + """ + Toolbar panels are the panels shown in the command toolbar. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ToolbarPanel: + return ToolbarPanel() + def deleteMe(self) -> bool: + """ + Deletes this toolbar panel. + Returns true if the delete was successful. + """ + return bool() + def indexWithinTab(self, tabId: str) -> int: + """ + Gets the position this panel is in within the toolbar tab. + The first panel in the tab is at position 0. + Returns the index value of the panel within the tab. + """ + return int() + @property + def id(self) -> str: + """ + Gets The unique, language independent, ID of this panel. + """ + return str() + @property + def index(self) -> int: + """ + Gets the position this panel is in within the toolbar. + The first panel is at position 0. This value is with respect + to the complete list of panels so this value could be outside + of the expected range if you have a collection of panels + associated with a workspace, which is a subset of the entire + list of panels. + """ + return int() + @property + def isVisible(self) -> bool: + """ + Gets whether this panel is currently being displayed in the user interface. + Visibility of a panel is controlled by it being associated with the currently + active workspace. + """ + return bool() + @property + def name(self) -> str: + """ + Gets the name of the panel as seen in the user interface. + """ + return str() + @property + def controls(self) -> ToolbarControls: + """ + Gets the controls associated with this panel. These are all in the panel's + drop-down (assuming their visible property is true) and are selectively shown + within the panel. + """ + return ToolbarControls() + @property + def parentUserInterface(self) -> UserInterface: + """ + Gets the parent UserInterface object. + """ + return UserInterface() + @property + def promotedControls(self) -> ToolbarControlList: + """ + Gets the controls in the panel that have been promoted. Promoted + controls are the controls that are displayed within the panel. + """ + return ToolbarControlList() + @property + def relatedWorkspaces(self) -> ObjectCollection: + """ + Gets or sets the set of workspaces that this panel is displayed for. + """ + return ObjectCollection() + @relatedWorkspaces.setter + def relatedWorkspaces(self, value: ObjectCollection): + """ + Gets or sets the set of workspaces that this panel is displayed for. + """ + pass + @property + def productType(self) -> str: + """ + Returns the name of the product this toolbar panel is associated with. + """ + return str() + +class ToolbarPanelList(Base): + """ + A ToolbarPanelList is a list of ToolbarPanel objects. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ToolbarPanelList: + return ToolbarPanelList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ToolbarPanel: + return None + def __iter__(self) -> Iterator[ToolbarPanel]: + return None + def item(self, index: int) -> ToolbarPanel: + """ + Returns the specified work space using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return ToolbarPanel() + def itemById(self, id: str) -> ToolbarPanel: + """ + Returns the ToolbarPanel of the specified ID. + id : The ID of the ToolbarPanel to get. + Returns the specified ToolbarPanel or null in the case where there isn't a ToolbarPanel with the specified ID. + """ + return ToolbarPanel() + @property + def count(self) -> int: + """ + Gets the number of toolbar panels in the collection. + """ + return int() + +class ToolbarPanels(Base): + """ + Provides access to a set of toolbar panels. Many toolbar panels exist and their + visibility is determined by the active workspace. A panel can be associated with one + or more workspaces and when the associated workspace is active, the panel is made visible. + + This collection is associated with a workspace and possibly a tab in the toolbar for that workspace. + If this collection is from a toolbar tab, the collection order is the left-to-right order + of panels in the toolbar tab. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ToolbarPanels: + return ToolbarPanels() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ToolbarPanel: + return None + def __iter__(self) -> Iterator[ToolbarPanel]: + return None + def add(self, id: str, name: str, positionID: str = "", isBefore: bool = True) -> ToolbarPanel: + """ + Creates a new ToolbarPanel. The panel is initially empty. + Use the associated ToolbarControls collection to add buttons. + + If this collection is associated with a tab, the new panel will be added to that tab. + If this collection is not associated with a tab, the new panel will be added to the end of the "Tools" Tab. + A "Tools" tab will be created for you if it does not currently exist for this collection's workspace. + id : The unique id for this panel. The id must be unique with respect to all of the panels. + name : The displayed name of this panel. This is the name visible in the user interface. + positionID : Specifies the id of the panel to position this panel relative to. + Not setting this value indicates that the panel will be created at the end of all other panels. The isBefore + parameter specifies whether to place the panel before or after this panel. + isBefore : Specifies whether to place the panel before or after the panel specified by the positionID argument. + This argument is ignored is positionID is not specified + Returns the newly created panel or null in the case the creation failed. + """ + return ToolbarPanel() + def item(self, index: int) -> ToolbarPanel: + """ + Returns the specified toolbar panel using an index into the collection. + When iterating by index, the panels are returned in the same order as they are shown in the user interface. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return ToolbarPanel() + def itemById(self, id: str) -> ToolbarPanel: + """ + Returns the ToolbarPanel at the specified ID. + id : The Id of the panel within the collection to return. + Returns the ToolbarPanel of the specified id or null no panel has the specified id. + """ + return ToolbarPanel() + @property + def count(self) -> int: + """ + Gets the number of ToolbarPanels. + """ + return int() + +class Toolbars(Base): + """ + Provides access to the toolbars. These are currently the right and left QAT's and the NavBar. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Toolbars: + return Toolbars() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Toolbar: + return None + def __iter__(self) -> Iterator[Toolbar]: + return None + def item(self, index: int) -> Toolbar: + """ + Returns the specified toolbar using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return Toolbar() + def itemById(self, id: str) -> Toolbar: + """ + Returns the Toolbar of the specified ID. + id : The Id of the toolbar to return. + Returns the toolbar with the specified ID or null if there's not a toolbar with the specified ID. + """ + return Toolbar() + @property + def count(self) -> int: + """ + Gets the number of Toolbar objects in the collection. + """ + return int() + +class ToolbarTab(Base): + """ + Toolbar tabs are the tabs shown in the command toolbar. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ToolbarTab: + return ToolbarTab() + def activate(self) -> bool: """ Activate this toolbar tab. Boolean return that indicates if the activation was successful or not. """ return bool() - def deleteMe(self) -> bool: + def deleteMe(self) -> bool: + """ + Deletes this tab. Fusion 360 native tabs cannot be deleted. Use the + isNative property to determine if this is a native or API created tab. + Returns true if the delete was successful. + """ + return bool() + @property + def id(self) -> str: + """ + Gets The unique, language independent, ID of this tab. + """ + return str() + @property + def index(self) -> int: + """ + Gets the position this tab is in within the toolbar. + The first tab is at position 0. This value is with respect + to the complete list of tabs so this value could be outside + of the expected range if you have a collection of tabs + associated with a workspace, which is a subset of the entire + list of tabs. + """ + return int() + @property + def isVisible(self) -> bool: + """ + Gets whether this tab is currently being displayed in the user interface. + """ + return bool() + @property + def name(self) -> str: + """ + Gets the name of the tab as seen in the user interface. + """ + return str() + @property + def toolbarPanels(self) -> ToolbarPanels: + """ + Gets the collection containing the panels associated with this tab. + It's through this collection that you can add new toolbar panels. + """ + return ToolbarPanels() + @property + def parentUserInterface(self) -> UserInterface: + """ + Gets the parent UserInterface object. + """ + return UserInterface() + @property + def productType(self) -> str: + """ + Returns the name of the product this toolbar tab is associated with. + """ + return str() + @property + def isActive(self) -> bool: + """ + Gets if this toolbar tab is currently active - i.e. displayed. + """ + return bool() + @property + def isNative(self) -> bool: + """ + Gets if this tab is native to Fusion 360 or was created via the API. + """ + return bool() + +class ToolbarTabList(Base): + """ + A ToolbarTabList is a list of ToolbarTab objects. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ToolbarTabList: + return ToolbarTabList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ToolbarTab: + return None + def __iter__(self) -> Iterator[ToolbarTab]: + return None + def item(self, index: int) -> ToolbarTab: + """ + Returns the specified tab using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return ToolbarTab() + def itemById(self, id: str) -> ToolbarTab: + """ + Returns the ToolbarTab of the specified ID. + id : The ID of the ToolbarTab to get. + Returns the specified ToolbarTab or null in the case where there isn't a ToolbarTab with the specified ID. + """ + return ToolbarTab() + @property + def count(self) -> int: + """ + Gets the number of toolbar tabs in the collection. + """ + return int() + +class ToolbarTabs(Base): + """ + Provides access to a set of toolbar tabs. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ToolbarTabs: + return ToolbarTabs() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ToolbarTab: + return None + def __iter__(self) -> Iterator[ToolbarTab]: + return None + def item(self, index: int) -> ToolbarTab: + """ + Returns the specified toolbar tab using an index into the collection. + When iterating by index, the tabs are returned in the same order as they are shown in the user interface. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return ToolbarTab() + def itemById(self, id: str) -> ToolbarTab: + """ + Returns the ToolbarTab at the specified ID. + id : The Id of the tab within the collection to return. + Returns the ToolbarTab of the specified id or null if no tab has the specified id. + """ + return ToolbarTab() + def add(self, id: str, name: str) -> ToolbarTab: + """ + Creates a new ToolbarTab. The tab is initially empty. + This method appends the tab to the end of the collection. + id : The unique id for this tab. The id must be unique with respect to all of the tabs. + name : The displayed name of this tab. This is the name visible in the user interface. + Returns the newly created tab or null in the case the creation failed. + """ + return ToolbarTab() + @property + def count(self) -> int: + """ + Gets the number of ToolbarTabs. + """ + return int() + +class UnitAndValuePreferences(Base): + """ + The UnitAndValuePreferences object provides access to unit and value precision + related preferences. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> UnitAndValuePreferences: + return UnitAndValuePreferences() + @property + def generalPrecision(self) -> int: + """ + Gets and sets the general precision for distance values. This + value specifies the number of decimals to display. + """ + return int() + @generalPrecision.setter + def generalPrecision(self, value: int): + """ + Gets and sets the general precision for distance values. This + value specifies the number of decimals to display. + """ + pass + @property + def angularPrecision(self) -> int: + """ + Gets and sets the angular precision. This + value specifies the number of decimals to display. + """ + return int() + @angularPrecision.setter + def angularPrecision(self, value: int): + """ + Gets and sets the angular precision. This + value specifies the number of decimals to display. + """ + pass + @property + def scientificNotationPrecision(self) -> int: + """ + Gets and sets the number scientific notation precision. This + value specifies the number of decimals to display. + """ + return int() + @scientificNotationPrecision.setter + def scientificNotationPrecision(self, value: int): + """ + Gets and sets the number scientific notation precision. This + value specifies the number of decimals to display. + """ + pass + @property + def footAndInchDisplayFormat(self) -> FootAndInchDisplayFormats: + """ + Gets and sets the foot and inch display format. + """ + return FootAndInchDisplayFormats() + @footAndInchDisplayFormat.setter + def footAndInchDisplayFormat(self, value: FootAndInchDisplayFormats): + """ + Gets and sets the foot and inch display format. + """ + pass + @property + def degreeDisplayFormat(self) -> DegreeDisplayFormats: + """ + Gets and sets the degree display format. + """ + return DegreeDisplayFormats() + @degreeDisplayFormat.setter + def degreeDisplayFormat(self, value: DegreeDisplayFormats): + """ + Gets and sets the degree display format. + """ + pass + @property + def isPeriodDecimalPoint(self) -> bool: + """ + Gets and sets if the decimal is a period or comma. + """ + return bool() + @isPeriodDecimalPoint.setter + def isPeriodDecimalPoint(self, value: bool): """ - Deletes this tab. Fusion 360 native tabs cannot be deleted. Use the - isNative property to determine if this is a native or API created tab. - Returns true if the delete was successful. + Gets and sets if the decimal is a period or comma. + """ + pass + @property + def areAbbreviationsForUnitDisplayed(self) -> bool: + """ + Gets and sets if abbreviations are used for units display. + """ + return bool() + @areAbbreviationsForUnitDisplayed.setter + def areAbbreviationsForUnitDisplayed(self, value: bool): + """ + Gets and sets if abbreviations are used for units display. + """ + pass + @property + def areSymbolsForUnitDisplayed(self) -> bool: + """ + Gets and sets if symbols are used for units display. + """ + return bool() + @areSymbolsForUnitDisplayed.setter + def areSymbolsForUnitDisplayed(self, value: bool): + """ + Gets and sets if symbols are used for units display. + """ + pass + @property + def isScientificNotationUsed(self) -> bool: + """ + Gets and sets if scientific notation is used when displaying numbers. + """ + return bool() + @isScientificNotationUsed.setter + def isScientificNotationUsed(self, value: bool): + """ + Gets and sets if scientific notation is used when displaying numbers. + """ + pass + @property + def useScientficNotationAbove(self) -> int: + """ + Gets and sets the number of whole digits that will be displayed before + switching to scientific notation. + """ + return int() + @useScientficNotationAbove.setter + def useScientficNotationAbove(self, value: int): + """ + Gets and sets the number of whole digits that will be displayed before + switching to scientific notation. + """ + pass + @property + def useScientficNotationBelow(self) -> int: + """ + Gets and sets the number of non zero decimal places that will be + displayed before switching to scientific notation. + """ + return int() + @useScientficNotationBelow.setter + def useScientficNotationBelow(self, value: int): + """ + Gets and sets the number of non zero decimal places that will be + displayed before switching to scientific notation. + """ + pass + @property + def areTrailingZerosHidden(self) -> bool: + """ + Gets and sets if trailing zeros are hidden when displaying numbers. + """ + return bool() + @areTrailingZerosHidden.setter + def areTrailingZerosHidden(self, value: bool): + """ + Gets and sets if trailing zeros are hidden when displaying numbers. + """ + pass + @property + def minimumPrecisionWhenHidingZeros(self) -> int: + """ + Gets and sets the minimum number of digits to the right of the decimal to display + before hiding trailing zeros. + """ + return int() + @minimumPrecisionWhenHidingZeros.setter + def minimumPrecisionWhenHidingZeros(self, value: int): + """ + Gets and sets the minimum number of digits to the right of the decimal to display + before hiding trailing zeros. + """ + pass + @property + def materialDisplayUnit(self) -> MaterialDisplayUnits: + """ + Gets and sets the units types to use when displaying values. + """ + return MaterialDisplayUnits() + @materialDisplayUnit.setter + def materialDisplayUnit(self, value: MaterialDisplayUnits): + """ + Gets and sets the units types to use when displaying values. + """ + pass + +class UnitsManager(Base): + """ + Utility class used to work with Values and control default units. + Internal values are held in SI units (e.g. seconds, radians, kg for time, angle, mass) + with the exception that all lengths are in cm rather than meter and this affects derived + units (e.g. velocity is cm/s, volume is cm^3). + Units are specified flexibility via strings (e.g. "cm", "in", "inch", "cm^3", "cm*cm*cm", "mph", "mps" "m/s"). + Units like length can be defaulted based on the design settings if the user does not explicitly + specify units - so "3" can be 3 inches, mm or cm depending on what the design + settings are. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> UnitsManager: + return UnitsManager() + def isValidExpression(self, expression: str, units: str) -> bool: + """ + Checks to see if the given expression is valid. + expression : The expression to validate. + units : The units to use when validating the expression. + Returns True if it is a valid expression. """ return bool() + def evaluateExpression(self, expression: str, units: str = "DefaultDistance") -> float: + """ + Gets the value (in internal units) of the expression. + expression : EvaluateExpression("1cm + 1in") -> 3.54 + EvaluateExpression("1") -> -> depends on the DistanceUnits, with "mm" it gives 0.1 + units : If not supplied the units will default to the default length specified in the preferences. + Returns -1 AND GetLastError will return ExpressionError in the event of an error. + """ + return float() + def convert(self, valueInInputUnits: float, inputUnits: str, outputUnits: str) -> float: + """ + Converts a value from one unit to another. The input and output unit specifiers must be compatible. + For example, "in" (inches) and "cm" (centimeters) will work because they both define length. + So Convert(1.5, "in", "ft") -> 0.125 + Convert(1.5, unitsManager.defaultLengthUnits, "cm") -> depends on the current default distance units, with "mm" it gives 0.15 + So Convert(1.5, "in", "kg") -> -1 and GetLastError returns ExpressionError (to denote error) + So Convert(1, "in", "internalUnits") -> 2.54 + So Convert(1, "internalUnits", "in") -> 0.3937... + valueInInputUnits : The value to convert + inputUnits : The units of the value to convert + outputUnits : The units to convert the value to + Returns -1 AND GetLastError returns ExpressionError in the event of an error. + """ + return float() + def formatInternalValue(self, internalValue: float, displayUnits: str = "DefaultDistance", showUnits: bool = True) -> str: + """ + Formats the internal value as a string. The output string is formatted using the current + unit settings in preferences. The preferences control the number of decimal places, whether + units are abbreviated and several other things. + FormatInternalValue(1.5, "in") -> "0.591 in" + FormatInternalValue(1.5, "in", false) -> "0.591" + FormatInternalValue(1.5, "mm", true) -> "15.00 mm" + FormatInternalValue(1.5) -> depends on DistanceUnits, might be "15.0 mm" + internalValue : The internal value to format. + displayUnits : The units to display the value in. If not supplied the units will default to the default length specified in the preferences. + showUnits : Specify false to exclude units from the format. The default is true. + Returns an empty string if the units are incorrectly specified. + """ + return str() + def formatUnits(self, units: str) -> str: + """ + Formats the unit according to the user preferences + "centimeter" -> "cm" + "inch" -> "in" + "cm* cm *cm / s" -> , "cm^3 / s" + units : The unit to use when converting the value into a string. + Returns an empty string and GetLastError returns ExpressionError in the event of an error. + """ + return str() + def standardizeExpression(self, expression: str, units: str = "DefaultDistance") -> str: + """ + Standardizes the expression in terms of spacing and user preferences. + StandardizeExpression("1.5") -> depends on distance units, but with might be "1.5 mm" + StandardizeExpression("1.5", "in") -> "1.5 in" + StandardizeExpression("1.5 cm + 1.50001 centimeter") -> "1.5 cm + 1.50001 cm" + StandardizeExpression("1.5", "m * m * m / s") -> "1.5 m^3 /s" + expression : The expression to standardize + units : The units to apply to the standardized expression. If not supplied the units will default to the default length specified in the preferences. + Returns an empty string AND GetLastError returns ExpressionError in the event of an error. + """ + return str() + @property + def product(self) -> Product: + """ + Returns the parent Product. + """ + return Product() @property - def id(self) -> str: + def internalUnits(self) -> str: """ - Gets The unique, language independent, ID of this tab. + Returns a string that represents internal units - i.e. "internalUnits". + This can be used when performing conversions via Convert. """ return str() @property - def index(self) -> int: + def defaultLengthUnits(self) -> str: """ - Gets the position this tab is in within the toolbar. - The first tab is at position 0. This value is with respect - to the complete list of tabs so this value could be outside - of the expected range if you have a collection of tabs - associated with a workspace, which is a subset of the entire - list of tabs. + Returns the unit strings for the current default length unit as specified in preferences. - e.g. "cm" or "in" + This is the string that is being used by Fusion 360 to represent the current length unit and is affected + by the preference settings that let the user choose whether abbreviations and symbols can be used. This means + that inch length units can be returned as inch, in, or ". If you need a consistent way of determining the current + length unit, the distanceDisplayUnits of the FusionUnitsManager object returns an enum value. """ - return int() - @property - def isVisible(self) -> bool: + return str() + +class URL(Base): + """ + A URL object provides useful and easy-to-use methods for creating, modifying, and analyzing URLs. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> URL: + return URL() + @staticmethod + def create(url: str) -> URL: """ - Gets whether this tab is currently being displayed in the user interface. + Create a new URL by given string. + url : The string is used to define the URL. + Returns the new URL object. """ - return bool() - @property - def name(self) -> str: + return URL() + def toString(self) -> str: """ - Gets the name of the tab as seen in the user interface. + Get the entire URL as string. + Returns the entire URL as string. """ return str() + def join(self, path: str) -> URL: + """ + Join this URL with the given path and return the resulting URL. The operation does not alter the current URL. + Join inserts a slash '/' to properly extend the path, so that "http://foo".join("bar") will return "http://foo/bar", not "http://foobar". + path : The path to join to this URL. + Returns the joined URL. + """ + return URL() @property - def toolbarPanels(self) -> ToolbarPanels: + def protocol(self) -> str: """ - Gets the collection containing the panels associated with this tab. - It's through this collection that you can add new toolbar panels. + Get the protocol scheme of the URL, including the final ':'. + Returns the protocol scheme of the URL. """ - return ToolbarPanels() + return str() @property - def parentUserInterface(self) -> UserInterface: + def pathName(self) -> str: """ - Gets the parent UserInterface object. + Get the path name of the URL, including the last '/' of the protocol followed by the path of the URL. + Returns the path of the URL. """ - return UserInterface() + return str() @property - def productType(self) -> str: + def leafName(self) -> str: """ - Returns the name of the product this toolbar tab is associated with. + Get the leaf name of the URL, which is the section behind the last '/'. + Returns the leaf name of the URL. """ return str() @property - def isActive(self) -> bool: + def parent(self) -> URL: """ - Gets if this toolbar tab is currently active - i.e. displayed. + Get the parent URL, represented by the section before the last '/'. + Returns the parent URL object. """ - return bool() + return URL() @property - def isNative(self) -> bool: + def isURLValid(self) -> bool: """ - Gets if this tab is native to Fusion 360 or was created via the API. + Check whether the URL is valid. Ensures that the URL is formatted with a protocol followed by a path which can be empty. + The check is independent of the existence of the resource the URL may point to. """ return bool() -class ToolbarTabList(Base): +class User(Base): """ - A ToolbarTabList is a list of ToolbarTab objects. + A class that represents a Fusion 360 User """ def __init__(self): pass @staticmethod - def cast(arg) -> ToolbarTabList: - return ToolbarTabList() - def item(self, index: int) -> ToolbarTab: + def cast(arg) -> User: + return User() + @property + def userName(self) -> str: """ - Returns the specified tab using an index into the collection. - index : The index of the item within the collection to return. The first item in the collection has an index of 0. - Returns the specified item or null if an invalid index was specified. + Returns the user name associated with this user's Autodesk account """ - return ToolbarTab() - def itemById(self, id: str) -> ToolbarTab: + return str() + @property + def displayName(self) -> str: """ - Returns the ToolbarTab of the specified ID. - id : The ID of the ToolbarTab to get. - Returns the specified ToolbarTab or null in the case where there isn't a ToolbarTab with the specified ID. + Returns display name of the user. (i.e. the name that shows up in the Fusion 360 UI) """ - return ToolbarTab() + return str() @property - def count(self) -> int: + def userId(self) -> str: """ - Gets the number of toolbar tabs in the collection. + Returns the user's internal Autodesk account name. + This can be used by applications sold through the Autodesk Exchange Store to verify that the user has in + fact purchased the product. """ - return int() + return str() + @property + def email(self) -> str: + """ + Get the email associated with this users Fusion 360 account + """ + return str() -class ToolbarTabs(Base): +class UserInterface(Base): """ - Provides access to a set of toolbar tabs. + Provides access to the user-interface related objects and functionality. """ def __init__(self): pass @staticmethod - def cast(arg) -> ToolbarTabs: - return ToolbarTabs() - def item(self, index: int) -> ToolbarTab: + def cast(arg) -> UserInterface: + return UserInterface() + def messageBox(self, text: str, title: str = "", buttons: MessageBoxButtonTypes = MessageBoxButtonTypes.OKButtonType, icon: MessageBoxIconTypes = MessageBoxIconTypes.NoIconIconType) -> DialogResults: """ - Returns the specified toolbar tab using an index into the collection. - When iterating by index, the tabs are returned in the same order as they are shown in the user interface. - index : The index of the item within the collection to return. The first item in the collection has an index of 0. - Returns the specified item or null if an invalid index was specified. + Display a modal message box with the provided text. + text : The message text to display in the dialog. + title : If the optional title argument is provided, it sets the title for the dialog, otherwise the script or add-in name is used. + buttons : The optional buttons array can be used to specify which buttons to display on the dialog. + The first button provided is the default action. + If buttons are not specified, the dialog will default to a single OK button. + icon : The optional icon argument can be used to specify which icon to display, otherwise the default of no icon is used. + The button pressed to dismiss the dialog is returned. """ - return ToolbarTab() - def itemById(self, id: str) -> ToolbarTab: + return DialogResults() + def inputBox(self, prompt: str, title: str = "", defaultValue: str = "") -> tuple[str, bool]: """ - Returns the ToolbarTab at the specified ID. - id : The Id of the tab within the collection to return. - Returns the ToolbarTab of the specified id or null if no tab has the specified id. + Displays a modal dialog to get string input from the user. + prompt : The message text to display in the dialog. + cancelled : Indicates if the dialog was canceled. + title : Sets the title for the dialog if specified, otherwise the script or add-in name is used. + defaultValue : The default string that's shown when the dialog is initially displayed, otherwise the input box is empty. + Returns the string entered by the user but because the user can click Cancel, the canceled argument should be tested before using the string. """ - return ToolbarTab() - def add(self, id: str, name: str) -> ToolbarTab: + return (str(), bool()) + def selectEntity(self, prompt: str, filter: str) -> Selection: """ - Creates a new ToolbarTab. The tab is initially empty. - This method appends the tab to the end of the collection. - id : The unique id for this tab. The id must be unique with respect to all of the tabs. - name : The displayed name of this tab. This is the name visible in the user interface. - Returns the newly created tab or null in the case the creation failed. + Supports the selection of a single entity. This provides a simple way to prompt the user for + for a selection in a script. If you need more control over the selection a command should be + created and a SelectionCommandInput used. + prompt : The prompt displayed to the user during the selection. + filter : + A string defining the types of entities valid for selection. The valid list of selection filters can be found here: Selection Filters. + You can combine multiple types by using a comma delimiter. For example, the string "PlanarFaces,ConstructionPlanes" will allow the selection of either a planar face or a construction plane. + + Returns a Selection object that provides access the selected entity through it's "entity" property + along with the location in space where the entity was selected. Asserts if the selection is aborted. """ - return ToolbarTab() - @property - def count(self) -> int: + return Selection() + def createFileDialog(self) -> FileDialog: """ - Gets the number of ToolbarTabs. + Creates a new FileDialog object which provides the ability to show a standard file selection dialog + to the user. + Returns the created FileDialog object that you can use to define the contents of and display a standard file dialog. """ - return int() - -class UnitAndValuePreferences(Base): - """ - The UnitAndValuePreferences object provides access to unit and value precision - related preferences. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> UnitAndValuePreferences: - return UnitAndValuePreferences() - @property - def generalPrecision(self) -> int: + return FileDialog() + def workspacesByProductType(self, productType: str) -> WorkspaceList: """ - Gets and sets the general precision for distance values. This - value specifies the number of decimals to display. + Returns all of the workspaces associated with the specified product. + productType : The name of the product that you want the associated workspaces for. The full list + of available products can be obtained by using the Application.supportedProductTypes property. + Returns a list of the associated work spaces. """ - return int() - @generalPrecision.setter - def generalPrecision(self, value: int): + return WorkspaceList() + def toolbarPanelsByProductType(self, productType: str) -> ToolbarPanelList: """ - Gets and sets the general precision for distance values. This - value specifies the number of decimals to display. + Gets all of the toolbar panels associated with the specified product. + productType : The name of the product that you want the associated workspaces for. The full list + of available products can be obtained by using the Application.supportedProductTypes property. + Returns a list of the toolbars associated with the specified product. """ - pass - @property - def angularPrecision(self) -> int: + return ToolbarPanelList() + def terminateActiveCommand(self) -> bool: """ - Gets and sets the angular precision. This - value specifies the number of decimals to display. + Method that causes the currently active (running) command to be terminated + Returns true if terminating the active command was successful. """ - return int() - @angularPrecision.setter - def angularPrecision(self, value: int): + return bool() + def createProgressDialog(self) -> ProgressDialog: """ - Gets and sets the angular precision. This - value specifies the number of decimals to display. + Creates a new ProgressDialog object that you can use to display and control a progress dialog. + Returns the created ProgressDialog object that you can use to define the contents of and display a progress dialog. """ - pass - @property - def scientificNotationPrecision(self) -> int: + return ProgressDialog() + def createFolderDialog(self) -> FolderDialog: """ - Gets and sets the number scientific notation precision. This - value specifies the number of decimals to display. + Creates a new FolderDialog object which provides the ability to show a standard folder selection dialog + to the user. + Returns the created FolderDialog object that you can use to define the contents of and display a standard folder dialog. """ - return int() - @scientificNotationPrecision.setter - def scientificNotationPrecision(self, value: int): + return FolderDialog() + def toolbarTabsByProductType(self, productType: str) -> ToolbarTabList: """ - Gets and sets the number scientific notation precision. This - value specifies the number of decimals to display. + Gets all of the toolbar tabs associated with the specified product. + productType : The name of the product that you want the associated tabs for. The full list + of available products can be obtained by using the Application.supportedProductTypes property. + Returns a list of the tabs associated with the specified product. """ - pass - @property - def footAndInchDisplayFormat(self) -> FootAndInchDisplayFormats: + return ToolbarTabList() + def getText(self, module: str, id: str, defaultValue: str) -> str: """ - Gets and sets the foot and inch display format. + Get the localized text for a specific application text string. The strings used by Fusion are + stored in localized XML files that are installed with Fusion. On Windows, you can find them here: + + %LocalAppData%\Autodesk\webdeploy\production\VERSION_CODE\StringTable + + And on Mac, you can find them here: + + ~/Library/Application Support/Autodesk/webdeploy/production/VERSION_CODE/Autodesk Fusion 360.app/Contents/Libraries/Neutron/StringTable + + There is a folder for each language that Fusion supports, and the strings for that language are defined + in files within that folder. Fusion will use the language specified by the user in their preferences. + module : The module name. This is the same as the StringTable .xml filename without the .xml extension and + without the version number. For example, the file NaFusionUI10.xml contains many of the strings used + for Fusion's modeling commands. When specifying the module, this is specified as "NaFusionUI". + id : The id of the text. This is the same as the 'commandName' field in the StringTable .xml file. + defaultValue : A default string value to return if the module or string id is not found in the current locale. + The localized string or the defaultValue if one is not found. """ - return FootAndInchDisplayFormats() - @footAndInchDisplayFormat.setter - def footAndInchDisplayFormat(self, value: FootAndInchDisplayFormats): + return str() + def createCloudFileDialog(self) -> CloudFileDialog: """ - Gets and sets the foot and inch display format. + Creates a new CloudFileDialog object which provides the ability to show a file selection dialog + to the user that allows them to choose a file from Fusion Team. + Returns the created CloudFileDialog object that you can use to define the contents of and display a standard file dialog. """ - pass + return CloudFileDialog() @property - def degreeDisplayFormat(self) -> DegreeDisplayFormats: + def activeSelections(self) -> Selections: """ - Gets and sets the degree display format. + Gets the current set of selected objects. """ - return DegreeDisplayFormats() - @degreeDisplayFormat.setter - def degreeDisplayFormat(self, value: DegreeDisplayFormats): + return Selections() + @property + def activeWorkspace(self) -> Workspace: """ - Gets and sets the degree display format. + Gets the active workspace. The active workspace is the one currently active in the user interface. + This can be null if there is no active product. """ - pass + return Workspace() @property - def isPeriodDecimalPoint(self) -> bool: + def commandDefinitions(self) -> CommandDefinitions: """ - Gets and sets if the decimal is a period or comma. + Gets all of the command definitions currently defined. This is all + command definitions both internal and those defined through the API. """ - return bool() - @isPeriodDecimalPoint.setter - def isPeriodDecimalPoint(self, value: bool): + return CommandDefinitions() + @property + def toolbars(self) -> Toolbars: """ - Gets and sets if the decimal is a period or comma. + Gets a collection that provides access to the toolbars. This includes + the left and right QAT, and the Navbar. """ - pass + return Toolbars() @property - def areAbbreviationsForUnitDisplayed(self) -> bool: + def workspaces(self) -> Workspaces: """ - Gets and sets if abbreviations are used for units display. + Gets all of the workspaces currently available. """ - return bool() - @areAbbreviationsForUnitDisplayed.setter - def areAbbreviationsForUnitDisplayed(self, value: bool): + return Workspaces() + @property + def allToolbarPanels(self) -> ToolbarPanelList: """ - Gets and sets if abbreviations are used for units display. + Gets all of the toolbar panels. This returns all of the panels + available, regardless of which workspace or product they're associated with. """ - pass + return ToolbarPanelList() @property - def areSymbolsForUnitDisplayed(self) -> bool: + def workspacePreActivate(self) -> WorkspaceEvent: """ - Gets and sets if symbols are used for units display. + The workspacePreActivate event fires at the VERY start of a workspace being activated. + The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. """ - return bool() - @areSymbolsForUnitDisplayed.setter - def areSymbolsForUnitDisplayed(self, value: bool): + return WorkspaceEvent() + @property + def workspaceActivated(self) -> WorkspaceEvent: """ - Gets and sets if symbols are used for units display. + The workspaceActivated event fires at the VERY end of a workspace being activated. + The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. """ - pass + return WorkspaceEvent() @property - def isScientificNotationUsed(self) -> bool: + def workspacePreDeactivate(self) -> WorkspaceEvent: """ - Gets and sets if scientific notation is used when displaying numbers. + The workspacePreDeactivate event fires at the VERY start of a workspace being deactivated. + The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. """ - return bool() - @isScientificNotationUsed.setter - def isScientificNotationUsed(self, value: bool): + return WorkspaceEvent() + @property + def workspaceDeactivated(self) -> WorkspaceEvent: """ - Gets and sets if scientific notation is used when displaying numbers. + The workspaceDeactivated event fires at the VERY end of a workspace being deactivated. + The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. """ - pass + return WorkspaceEvent() @property - def useScientficNotationAbove(self) -> int: + def activeCommand(self) -> str: """ - Gets and sets the number of whole digits that will be displayed before - switching to scientific notation. + Gets the id of the command definition from the active command (the one that is currently running) """ - return int() - @useScientficNotationAbove.setter - def useScientficNotationAbove(self, value: int): + return str() + @property + def commandStarting(self) -> ApplicationCommandEvent: """ - Gets and sets the number of whole digits that will be displayed before - switching to scientific notation. + The commandStarting event fires when a request for a command to be executed has been + received but before the command is executed. Through this event, it's possible to + cancel the command from being executed. """ - pass + return ApplicationCommandEvent() @property - def useScientficNotationBelow(self) -> int: + def commandCreated(self) -> ApplicationCommandEvent: """ - Gets and sets the number of non zero decimal places that will be - displayed before switching to scientific notation. + The commandCreated event fires immediately after the command is created. """ - return int() - @useScientficNotationBelow.setter - def useScientficNotationBelow(self, value: int): + return ApplicationCommandEvent() + @property + def commandTerminated(self) -> ApplicationCommandEvent: """ - Gets and sets the number of non zero decimal places that will be - displayed before switching to scientific notation. + Gets an event that is fired when a command is terminated. """ - pass + return ApplicationCommandEvent() @property - def areTrailingZerosHidden(self) -> bool: + def markingMenuDisplaying(self) -> MarkingMenuEvent: """ - Gets and sets if trailing zeros are hidden when displaying numbers. + The markingMenuDisplaying event fires just before the marking menu and context menus are displayed. The + marking menu is the round menu displayed when the user right-clicks the mouse within Fusion 360. The context + menu is the vertical menu displayed. The event provides both the marking menu and the context menu so you + can examine and edit the contents of either one or both of them before they are displayed. Fusion 360 will then + display the marking and context menu that you've customized. If either one is empty it will not be displayed. """ - return bool() - @areTrailingZerosHidden.setter - def areTrailingZerosHidden(self, value: bool): + return MarkingMenuEvent() + @property + def palettes(self) -> Palettes: """ - Gets and sets if trailing zeros are hidden when displaying numbers. + Returns the collection object that provides access to all of the existing + palettes and provides the functionality to create new custom palettes. """ - pass + return Palettes() @property - def minimumPrecisionWhenHidingZeros(self) -> int: + def allToolbarTabs(self) -> ToolbarTabList: """ - Gets and sets the minimum number of digits to the right of the decimal to display - before hiding trailing zeros. + Gets all of the toolbar tabs. This returns all of the tabs + available, regardless of which workspace or product they're associated with. """ - return int() - @minimumPrecisionWhenHidingZeros.setter - def minimumPrecisionWhenHidingZeros(self, value: int): + return ToolbarTabList() + @property + def isTabbedToolbarUI(self) -> bool: """ - Gets and sets the minimum number of digits to the right of the decimal to display - before hiding trailing zeros. + Returns true if Tabbed Toolbars are being used. + Returns true if using Tabbed Toolbars. """ - pass + return bool() @property - def materialDisplayUnit(self) -> MaterialDisplayUnits: + def activeSelectionChanged(self) -> ActiveSelectionEvent: """ - Gets and sets the units types to use when displaying values. + This event fires whenever the contents of the active selection changes. This occurs as the user + selects or unselects entities while using the Fusion 360 Select command. The Select command + is the default command that is always running if no other command is active. Pressing Escape + terminates the currently active command and starts the Select command. If the Select command is + running and you press Escape, it terminates the current Select command and starts a new one. + + This event is only associated with the selection associated with the Select command and does not + fire when any other command is running. The event fires when there is any change to the active + selection, including when the selection is cleared when the Select command is terminated. It is + also fired when the user clicks in an open area of the canvas to clear the current selection. """ - return MaterialDisplayUnits() - @materialDisplayUnit.setter - def materialDisplayUnit(self, value: MaterialDisplayUnits): + return ActiveSelectionEvent() + +class UserInterfaceGeneralEventHandler(EventHandler): + """ + The UserInterfaceGeneralEventHandler is a client implemented class that can be + added as a handler to a UserInterfaceGeneralEvent event and which is triggered when the event is fired. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> UserInterfaceGeneralEventHandler: + return UserInterfaceGeneralEventHandler() + def notify(self, eventArgs: UserInterfaceGeneralEventArgs) -> None: """ - Gets and sets the units types to use when displaying values. + The function called by Fusion 360 when the associated event is fired. + eventArgs : Returns an object that provides access to additional information associated with the event. """ pass -class UnitsManager(Base): +class ValidateInputsEventHandler(EventHandler): """ - Utility class used to work with Values and control default units. - Internal values are held in SI units (e.g. seconds, radians, kg for time, angle, mass) - with the exception that all lengths are in cm rather than meter and this affects derived - units (e.g. velocity is cm/s, volume is cm^3). - Units are specified flexibility via strings (e.g. "cm", "in", "inch", "cm^3", "cm*cm*cm", "mph", "mps" "m/s"). - Units like length can be defaulted based on the design settings if the user does not explicitly - specify units - so "3" can be 3 inches, mm or cm depending on what the design - settings are. + An event handler base class that a client derives from to handle events triggered by a ValidateInputsEvent. + A client implemented instance of this class can be added to a ValidateInputsEvent to receive these event notifications. """ def __init__(self): pass @staticmethod - def cast(arg) -> UnitsManager: - return UnitsManager() - def isValidExpression(self, expression: str, units: str) -> bool: - """ - Checks to see if the given expression is valid. - expression : The expression to validate. - units : The units to use when validating the expression. - Returns True if it is a valid expression. - """ - return bool() - def evaluateExpression(self, expression: str, units: str) -> float: - """ - Gets the value (in internal units) of the expression. - expression : EvaluateExpression("1cm + 1in") -> 3.54 - EvaluateExpression("1") -> -> depends on the DistanceUnits, with "mm" it gives 0.1 - units : If not supplied the units will default to the default length specified in the preferences. - Returns -1 AND GetLastError will return ExpressionError in the event of an error. - """ - return float() - def convert(self, valueInInputUnits: float, inputUnits: str, outputUnits: str) -> float: - """ - Converts a value from one unit to another. The input and output unit specifiers must be compatible. - For example, "in" (inches) and "cm" (centimeters) will work because they both define length. - So Convert(1.5, "in", "ft") -> 0.125 - Convert(1.5, unitsManager.defaultLengthUnits, "cm") -> depends on the current default distance units, with "mm" it gives 0.15 - So Convert(1.5, "in", "kg") -> -1 and GetLastError returns ExpressionError (to denote error) - So Convert(1, "in", "internalUnits") -> 2.54 - So Convert(1, "internalUnits", "in") -> 0.3937... - valueInInputUnits : The value to convert - inputUnits : The units of the value to convert - outputUnits : The units to convert the value to - Returns -1 AND GetLastError returns ExpressionError in the event of an error. - """ - return float() - def formatInternalValue(self, internalValue: float, displayUnits: str, showUnits: bool) -> str: + def cast(arg) -> ValidateInputsEventHandler: + return ValidateInputsEventHandler() + def notify(self, eventArgs: ValidateInputsEventArgs) -> None: """ - Formats the internal value as a string. The output string is formatted using the current - unit settings in preferences. The preferences control the number of decimal places, whether - units are abbreviated and several other things. - FormatInternalValue(1.5, "in") -> "0.591 in" - FormatInternalValue(1.5, "in", false) -> "0.591" - FormatInternalValue(1.5, "mm", true) -> "15.00 mm" - FormatInternalValue(1.5) -> depends on DistanceUnits, might be "15.0 mm" - internalValue : The internal value to format. - displayUnits : The units to display the value in. If not supplied the units will default to the default length specified in the preferences. - showUnits : Specify false to exclude units from the format. The default is true. - Returns an empty string if the units are incorrectly specified. + This notify member is called when an event is triggered from any event that this handler has been added to. + eventArgs : The arguments object with details about this event and the firing ValidateInputsEvent. """ - return str() - def formatUnits(self, units: str) -> str: + pass + +class ValueInput(Base): + """ + A ValueInput provides a flexible way of specifying a string, a double, a boolean, or object reference. + No semantics are associated with a ValueInput (e.g. is the string valid, can the string + be converted to a double) - it is merely a way of supplying information in + either string, double, boolean or object reference form as a function parameter. + ValueInput objects are typically used to specify things like an extrude depth, or hole diameter, etc. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ValueInput: + return ValueInput() + @staticmethod + def createByReal(realValue: float) -> ValueInput: """ - Formats the unit according to the user preferences - "centimeter" -> "cm" - "inch" -> "in" - "cm* cm *cm / s" -> , "cm^3 / s" - units : The unit to use when converting the value into a string. - Returns an empty string and GetLastError returns ExpressionError in the event of an error. + Creates a new ValueInput object using a double. For example, if you create a value using + the double value 2 and use it as input for a length, it will be interpreted as 2 cm because + centimeters are the internal unit for length. Values defined by a real are always + interpreted to be in the appropriate internal unit. + For example, if the value 2 is used to define the depth of an extrusion (a length value), + it will be 2 cm because cm is the internal unit for lengths. If the value 2 is used + to define the angle of the extrude, it will be 2 radians because radians are the internal + unit for angles. + realValue : a double value + Returns the newly created ValueInput object or null if the creation failed. """ - return str() - def standardizeExpression(self, expression: str, units: str) -> str: + return ValueInput() + @staticmethod + def createByString(stringValue: str) -> ValueInput: """ - Standardizes the expression in terms of spacing and user preferences. - StandardizeExpression("1.5") -> depends on distance units, but with mmight be "1.5 mm" - StandardizeExpression("1.5", "in") -> "1.5 in" - StandardizeExpression("1.5 cm + 1.50001 centimeter") -> "1.5 cm + 1.50001 cm" - StandardizeExpression("1.5", "m * m * m / s") -> "1.5 m^3 /s" - expression : The expression to standardize - units : The units to apply to the standardized expression. If not supplied the units will default to the default length specified in the preferences. - Returns an empty string AND GetLastError returns ExpressionError in the event of an error. + When a string is used to create a value it needs to be evaluated as an expression so + its value can be determined using the UnitsManager class. + The units of an expression can be explicitly defined or will default to the current default + units. + For example, if you create an expression with the string "6" and specify it as a length, + it will use the current active units. If the current active units are defined as inches + the expression will be interpreted as 6 inches. + You can specify the units as part of the string (i.e. "6 mm"). + You can also use equations in the string (i.e. "6 + 5mm") + + In order for an expression to be valid, its units must be compatible with the value it + represents. For example if you specify "5 in + 3 cm" as an expression to supply the value + of an angle, it will fail because the units of the expression define a length. + stringValue : The expression string + Returns the newly created ValueInput object or null if the creation failed. """ - return str() - @property - def product(self) -> Product: + return ValueInput() + @staticmethod + def createByObject(objectReference: Base) -> ValueInput: """ - Returns the parent Product. + Creates a new ValueInput object that contains a reference to any Fusion 360 object. + objectReference : The Fusion 360 object that you want to create the ValueInput for. + Returns the newly created ValueInput object or null if the creation failed. """ - return Product() - @property - def internalUnits(self) -> str: + return ValueInput() + @staticmethod + def createByBoolean(booleanValue: bool) -> ValueInput: """ - Returns a string that represents internal units - i.e. "internalUnits". - This can be used when performing conversions via Convert. + Creates a new ValueInput object that contains a boolean value. + booleanValue : Boolean value. + Returns the newly created ValueInput object or null if the creation failed. """ - return str() + return ValueInput() @property - def defaultLengthUnits(self) -> str: + def realValue(self) -> float: """ - Returns the unit strings for the current default length unit as specified in preferences. - e.g. "cm" or "in" - This is the string that is being used by Fusion 360 to represent the current length unit and is affected - by the preference settings that let the user choose whether abbreviations and symbols can be used. This means - that inch length units can be returned as inch, in, or ". If you need a consistent way of determing the current - length unit, the distanceDisplayUnits of the FusionUnitsManager object returns an enum value. + Gets the real value, if there is one. + Returns -1 AND GetLastError returns ValueNotOfType if there is no real value. + You can use the valueType property to determine which value type is currently used. """ - return str() - -class User(Base): - """ - A class that represents a Fusion 360 User - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> User: - return User() + return float() @property - def userName(self) -> str: + def stringValue(self) -> str: """ - Returns the Username associated with this user's Autodesk account + Gets the string value, if there is one. + Returns an empty string AND GetLastError returns ValueNotOfType if there is no string value. + You can use the valueType property to determine which value type is currently used. """ return str() @property - def displayName(self) -> str: + def objectReference(self) -> Base: """ - Returns display name of the user. (i.e. the name that shows up in the Fusion 360 UI) + Gets the object being referenced, if there is one. + Returns null AND GetLastError returns ValueNotOfType if there is no object reference. + You can use the valueType property to determine which value type is currently used. """ - return str() + return Base() @property - def userId(self) -> str: + def valueType(self) -> ValueTypes: """ - Returns the user's internal Autodesk account name. - This can be used by applications sold through the Autodesk Exchange Store to verify that the user has in - fact purchased the product. + Returns the type of value this ValueInput currently represents. """ - return str() + return ValueTypes() @property - def email(self) -> str: + def booleanValue(self) -> bool: """ - Get the email associated with this users Fusion 360 account + Gets the boolean value, if there is one. + Returns false AND GetLastError returns ValueNotOfType if there is no boolean value. + You can use the valueType property to determine which value type is currently used. """ - return str() + return bool() -class UserInterface(Base): +class Vector2D(Base): """ - Provides access to the user-interface related objects and functionality. + Transient 2D vector. This object is a wrapper for 2D vector data and is used to + pass vector data in and out of the API. + They are created statically using the create method of the Vector2D class. """ def __init__(self): pass @staticmethod - def cast(arg) -> UserInterface: - return UserInterface() - def messageBox(self, text: str, title: str, buttons: MessageBoxButtonTypes, icon: MessageBoxIconTypes) -> DialogResults: + def cast(arg) -> Vector2D: + return Vector2D() + @staticmethod + def create(x: float = 0.0, y: float = 0.0) -> Vector2D: """ - Display a modal message box with the provided text. - text : The message text to display in the dialog. - title : If the optional title argument is provided, it sets the title for the dialog, otherwise the default product name is used. - buttons : The optional buttons array can be used to specify which buttons to display on the dialog. - The first button provided is the default action. - If buttons are not specified, the dialog will default to a single OK button. - icon : The optional icon argument can be used to specify which icon to display, otherwise the default of no icon is used. - The button pressed to dismiss the dialog is returned. + Creates a 2D vector object. + x : The x coordinate of the vector. + y : The y coordinate of the vector. + Returns the new Vector2D object or null if the creation failed. """ - return DialogResults() - def inputBox(self, prompt: str, title: str, defaultValue: str) -> tuple[str, bool]: + return Vector2D() + def add(self, vector: Vector2D) -> bool: """ - Displays a modal dialog to get string input from the user. - prompt : The message text to display in the dialog. - cancelled : Indicates if the dialog was canceled. - title : Sets the title for the dialog if specified, otherwise the default product name is used. - defaultValue : The default string that's shown when the dialog is initially displayed, otherwise the input box is empty. - Returns the string entered by the user but because the user can click Cancel, the canceled argument should be tested before using the string. + Add a vector to this vector. + vector : The vector to add to this vector. + Returns true if successful. """ - return (str(), bool()) - def selectEntity(self, prompt: str, filter: str) -> Selection: + return bool() + def angleTo(self, vector: Vector2D) -> float: """ - Supports the selection of a single entity. This provides a simple way to prompt the user for - for a selection in a script. If you need more control over the selection a command should be - created and a SelectionCommandInput used. - prompt : The prompt displayed to the user during the selection. - filter : A string defining the types of entities valid for selection. The valid list of selection filters can be found here: Selection Filters. - You can combine multiple types by using a comma delimiter. For example, the string "PlanarFaces,ConstructionPlanes" will allow the selection of either a planar face or a construction plane. - Returns a Selection object that provides access the selected entity through it's "entity" property - along with the location in space where the entity was selected. Asserts if the selection is aborted. + Gets the angle between this vector and another vector. + vector : The vector to measure the angle to. + Returns the angle in radians. """ - return Selection() - def createFileDialog(self) -> FileDialog: + return float() + def copy(self) -> Vector2D: """ - Creates a new FileDialog object which provides the ability to show a standard file selection dialog - to the user. - Returns the created FileDialog object that you can use to define the contents of and display a standard file dialog. + Creates and returns an independent copy of this Vector2D object. + Returns a new Vector2D object that is a copy of this Vector2D object. """ - return FileDialog() - def workspacesByProductType(self, productType: str) -> WorkspaceList: + return Vector2D() + def dotProduct(self, vector: Vector2D) -> float: """ - Returns all of the workspaces associated with the specified product. - productType : The name of the product that you want the associated workspaces for. The full list - of available products can be obtained by using the Application.supportedProductTypes property. - Returns a list of the associated work spaces. + Calculates the Dot Product of this vector and an input vector. + vector : The vector to use in the dot product calculation. + Returns the dot product of the two vectors. """ - return WorkspaceList() - def toolbarPanelsByProductType(self, productType: str) -> ToolbarPanelList: + return float() + def asArray(self) -> list[float]: """ - Gets all of the toolbar panels associated with the specified product. - productType : The name of the product that you want the associated workspaces for. The full list - of available products can be obtained by using the Application.supportedProductTypes property. - Returns a list of the toolbars associated with the specified product. + Returns the vector values as an array [x, y]. + Returns an array of the vector's values [x, y]. """ - return ToolbarPanelList() - def terminateActiveCommand(self) -> bool: + return [float()] + def isEqualTo(self, vector: Vector2D) -> bool: """ - Method that causes the currently active (running) command to be terminated - Returns true if terminating the active command was successful. + Compare this vector with another to check for equality. + vector : The vector to compare with for equality. + Returns true if the vectors are equal. """ return bool() - def createProgressDialog(self) -> ProgressDialog: + def isParallelTo(self, vector: Vector2D) -> bool: """ - Creates a new ProgressDialog object that you can use to display and control a progress dialog. - Returns the created ProgressDialog object that you can use to define the contents of and display a progress dialog. + Compare this vector with another to check for parallelism. + vector : The vector to compare with for parallelism. + Returns true if the vectors are parallel. """ - return ProgressDialog() - def createFolderDialog(self) -> FolderDialog: + return bool() + def isPerpendicularTo(self, vector: Vector2D) -> bool: """ - Creates a new FolderDialog object which provides the ability to show a standard folder selection dialog - to the user. - Returns the created FolderDialog object that you can use to define the contents of and display a standard folder dialog. + Compare this vector with another to check for perpendicularity. + vector : The vector to compare with for perpendicularity. + Returns true if the vectors are perpendicular. """ - return FolderDialog() - def toolbarTabsByProductType(self, productType: str) -> ToolbarTabList: + return bool() + def normalize(self) -> bool: """ - Gets all of the toolbar tabs associated with the specified product. - productType : The name of the product that you want the associated tabs for. The full list - of available products can be obtained by using the Application.supportedProductTypes property. - Returns a list of the tabs associated with the specified product. + Normalizes the vector. + Normalization makes the vector length equal to one. + The vector should not be zero length. + Returns true if successful. """ - return ToolbarTabList() - def getText(self, module: str, id: str, defaultValue: str) -> str: + return bool() + def setWithArray(self, coordinates: list[float]) -> bool: """ - Get the localized text for a specific application text string. The set of text strings available - are listed in the .xml files in the application's StringTable folders. - module : The module name. This is the same as the StringTable .xml filename without the .xml extension. - id : The id of the text. This is the same as the 'commandName' field in the StringTable .xml file. - defaultValue : A default string value to return if the module or string id is not found in the current locale. - The localized string or the defaultValue if one is not found. + Sets the definition of the vector by specifying an array containing the x and y coordinates. + coordinates : An array that specifies the values for the x and y coordinates of the vector. + Returns true if successful """ - return str() - @property - def activeSelections(self) -> Selections: + return bool() + def scaleBy(self, scale: float) -> bool: """ - Gets the current set of selected objects. + Scales the vector by specifying a scaling factor. + scale : The scale factor to multiple the vector by (i.e. 1.5). + Returns true if successful. """ - return Selections() - @property - def activeWorkspace(self) -> Workspace: + return bool() + def subtract(self, vector: Vector2D) -> bool: """ - Gets the active workspace. The active workspace is the one currently active in the user interface. - This can be null if there is no active product. + Subtract a vector from this vector. + vector : The vector to subtract from this vector. + Returns true if successful. """ - return Workspace() - @property - def commandDefinitions(self) -> CommandDefinitions: + return bool() + def transformBy(self, matrix: Matrix2D) -> bool: """ - Gets all of the command definitions currently defined. This is all - command definitions both internal and those defined through the API. + Transforms the vector by specifying a 2D transformation matrix. + matrix : The Matrix2D object that defines the transformation. + Returns true if successful. """ - return CommandDefinitions() - @property - def toolbars(self) -> Toolbars: + return bool() + def asPoint(self) -> Point2D: """ - Gets a collection that provides access to the toolbars. This includes - the left and right QAT, and the Navbar. + Return a point with the same x and y values as this vector. + Returns the new point. """ - return Toolbars() + return Point2D() @property - def workspaces(self) -> Workspaces: + def length(self) -> float: """ - Gets all of the workspaces currently available. + Gets the length of the vector. """ - return Workspaces() + return float() @property - def allToolbarPanels(self) -> ToolbarPanelList: + def x(self) -> float: """ - Gets all of the toolbar panels. This returns all of the panels - available, regardless of which workspace or product they're associated with. + Gets and sets the X coordinate of the vector. """ - return ToolbarPanelList() - @property - def workspacePreActivate(self) -> WorkspaceEvent: + return float() + @x.setter + def x(self, value: float): """ - The workspacePreActivate event fires at the VERY start of a workspace being activated. - The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. + Gets and sets the X coordinate of the vector. """ - return WorkspaceEvent() + pass @property - def workspaceActivated(self) -> WorkspaceEvent: + def y(self) -> float: """ - The workspaceActivated event fires at the VERY end of a workspace being activated. - The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. + Gets and sets the Y coordinate of the vector. """ - return WorkspaceEvent() - @property - def workspacePreDeactivate(self) -> WorkspaceEvent: + return float() + @y.setter + def y(self, value: float): """ - The workspacePreDeactivate event fires at the VERY start of a workspace being deactivated. - The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. + Gets and sets the Y coordinate of the vector. """ - return WorkspaceEvent() - @property - def workspaceDeactivated(self) -> WorkspaceEvent: + pass + +class Vector3D(Base): + """ + Transient 3D vector. This object is a wrapper over 3D vector data and is used as way to pass vector data + in and out of the API and as a convenience when operating on vector data. + They are created statically using the create method of the Vector3D class. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Vector3D: + return Vector3D() + @staticmethod + def create(x: float = 0.0, y: float = 0.0, z: float = 0.0) -> Vector3D: """ - The workspaceDeactivated event fires at the VERY end of a workspace being deactivated. - The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. + Creates a 3D vector object. This object is created statically using the Vector3D.create method. + x : The optional x value. + y : The optional y value. + z : The optional z value. + Returns the new vector. """ - return WorkspaceEvent() - @property - def activeCommand(self) -> str: + return Vector3D() + def add(self, vector: Vector3D) -> bool: """ - Gets the id of the command definition from the active command (the one that is currently running) + Adds a vector to this vector. + vector : The vector to add to this vector. + Returns true if successful. """ - return str() - @property - def commandStarting(self) -> ApplicationCommandEvent: + return bool() + def angleTo(self, vector: Vector3D) -> float: """ - The commandStarting event fires when a request for a command to be executed has been - received but before the command is executed. Through this event, it's possible to - cancel the command from being executed. + Determines the angle between this vector and the specified vector. + vector : The vector to measure the angle to. + The angle in radians between this vector and the specified vector. """ - return ApplicationCommandEvent() - @property - def commandCreated(self) -> ApplicationCommandEvent: + return float() + def asPoint(self) -> Point3D: """ - The commandCreated event fires immediately after the command is created. + Returns a new point with the same coordinate values as this vector. + Return the new point. """ - return ApplicationCommandEvent() - @property - def commandTerminated(self) -> ApplicationCommandEvent: + return Point3D() + def copy(self) -> Vector3D: """ - Gets an event that is fired when a command is terminated. + Creates a copy of this vector. + Returns the new vector copy. """ - return ApplicationCommandEvent() - @property - def markingMenuDisplaying(self) -> MarkingMenuEvent: + return Vector3D() + def crossProduct(self, vector: Vector3D) -> Vector3D: """ - The markingMenuDisplaying event fires just before the marking menu and context menus are displayed. The - marking menu is the round menu displayed when the user right-clicks the mouse within Fusion 360. The context - menu is the vertical menu displayed. The event provides both the marking menu and the context menu so you - can examine and edit the contents of either one or both of them before they are displayed. Fusion 360 will then - display the marking and context menu that you've customized. If either one is empty it will not be displayed. + Returns the cross product between this vector and the specified vector. + vector : The vector to take the cross product to. + Returns the vector cross product. """ - return MarkingMenuEvent() - @property - def palettes(self) -> Palettes: + return Vector3D() + def dotProduct(self, vector: Vector3D) -> float: """ - Returns the collection object that provides access to all of the existing - palettes and provides the functionality to create new custom palettes. + Returns the dot product between this vector and the specified vector. + vector : The vector to take the dot product to. + Returns the dot product value. """ - return Palettes() - @property - def allToolbarTabs(self) -> ToolbarTabList: + return float() + def asArray(self) -> list[float]: """ - Gets all of the toolbar tabs. This returns all of the tabs - available, regardless of which workspace or product they're associated with. + Returns the vector coordinates as an array [x, y, z]. + Returns the array of vector coordinates [x, y, z]. """ - return ToolbarTabList() - @property - def isTabbedToolbarUI(self) -> bool: + return [float()] + def isEqualTo(self, vector: Vector3D) -> bool: """ - Returns true if Tabbed Toolbars are being used. - Returns true if using Tabbed Toolbars. + Determines if this vector is equal to the specified vector. + vector : The vector to test equality to. + Returns true if the vectors are equal. """ return bool() - @property - def activeSelectionChanged(self) -> ActiveSelectionEvent: - """ - This event fires whenever the contents of the active selection changes. This occurs as the user - selects or unselects entities while using the Fusion 360 Select command. The Select command - is the default command that is always running if no other command is active. Pressing Escape - terminates the currently active command and starts the Select command. If the Select command is - running and you press Escape, it terminates the current Select command and starts a new one. - - This event is only associated with the selection associated with the Select command and does not - fire when any other command is running. The event fires when there is any change to the active - selection, including when the selection is cleared when the Select command is terminated. It is - also fired when the user clicks in an open area of the canvas to clear the current selection. + def isParallelTo(self, vector: Vector3D) -> bool: """ - return ActiveSelectionEvent() - -class UserInterfaceGeneralEventHandler(EventHandler): - """ - The UserInterfaceGeneralEventHandler is a client implemented class that can be - added as a handler to a UserInterfaceGeneralEvent event and which is triggered when the event is fired. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> UserInterfaceGeneralEventHandler: - return UserInterfaceGeneralEventHandler() - def notify(self, eventArgs: UserInterfaceGeneralEventArgs) -> None: + Determines if the input vector is parallel with this vector. + vector : The vector to test parallelism to. + Returns true if the vectors are parallel. """ - The function called by Fusion 360 when the associated event is fired. - eventArgs : Returns an object that provides access to additional information associated with the event. + return bool() + def isPerpendicularTo(self, vector: Vector3D) -> bool: """ - pass - -class ValidateInputsEventHandler(EventHandler): - """ - An event handler base class that a client derives from to handle events triggered by a ValidateInputsEvent. - A client implemented instance of this class can be added to a ValidateInputsEvent to receive these event notifications. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ValidateInputsEventHandler: - return ValidateInputsEventHandler() - def notify(self, eventArgs: ValidateInputsEventArgs) -> None: + Determines if the input vector is perpendicular to this vector. + vector : The vector to test perpendicularity to. + Returns true if the vectors are perpendicular. """ - This notify member is called when an event is triggered from any event that this handler has been added to. - eventArgs : The arguments object with details about this event and the firing ValidateInputsEvent. + return bool() + def normalize(self) -> bool: """ - pass - -class ValueInput(Base): - """ - A ValueInput provides a flexible way of specifying a string, a double, a boolean, or object reference. - No semantics are associated with a ValueInput (e.g. is the string valid, can the string - be converted to a double) - it is merely a way of supplying information in - either string, double, boolean or object reference form as a function parameter. - ValueInput objects are typically used to specify things like an extrude depth, or hole dia, etc. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ValueInput: - return ValueInput() - @staticmethod - def createByReal(realValue: float) -> ValueInput: + Makes this vector of unit length. + This vector should not be zero length. + Returns true if successful. """ - Creates a new ValueInput object using a double. For example, if you create a value using - the double value 2 and use it as input for a length, it will be interpreted as 2 cm because - centimeters are the internal unit for length. Values defined by a real are are always - interpreted to be in the appropriate internal unit. - For example, if the value 2 is used to define the depth of an extrusion (a length value), - it will be 2 cm because cm is the internal unit for lengths. If the value 2 is used - to define the angle of the extrude, it will be 2 radians because radians are the internal - unit for angles. - realValue : a double value - Returns the newly created ValueInput object or null if the creation failed. + return bool() + def setWithArray(self, coordinates: list[float]) -> bool: """ - return ValueInput() - @staticmethod - def createByString(stringValue: str) -> ValueInput: + Reset this vector with the coordinate values in an array [x, y, z]. + coordinates : The array of coordinate values. + Returns true if successful. """ - When a string is used to create a value it needs to be evaluated as an expression so - its value can be determined using the UnitsManager class. - The units of an expression can be explicitly defined or will default to the current default - units. - For example, if you create an expression with the string "6" and specify it as a length, - it will use the current active units. If the current active units are defined as inches - the expression will be interpreted as 6 inches. - You can specify the units as part of the string (i.e. "6 mm"). - You can also use equations in the string (ie. "6 + 5mm") - - In order for an expression to be valid, its units must be compatible with the value it - represents. For example if you specify "5 in + 3 cm" as an expresssion to supply the value - of an angle, it will fail because the units of the expression define a length. - stringValue : The expression string - Returns the newly created ValueInput object or null if the creation failed. + return bool() + def scaleBy(self, scale: float) -> bool: """ - return ValueInput() - @staticmethod - def createByObject(objectReference: Base) -> ValueInput: + Scale this vector by the specified product. + scale : The scale value. + Returns true if successful. """ - Creates a new ValueInput object that contains a reference to any Fusion 360 object. - objectReference : The Fusion 360 object that you want to create the ValueInput for. - Returns the newly created ValueInput object or null if the creation failed. + return bool() + def subtract(self, vector: Vector3D) -> bool: """ - return ValueInput() - @staticmethod - def createByBoolean(booleanValue: bool) -> ValueInput: + Subtract a vector from this vector. + vector : The vector to subtract. + Returns true if successful. """ - Creates a new ValueInput object that contains a boolean value. - booleanValue : Boolean value. - Returns the newly created ValueInput object or null if the creation failed. + return bool() + def transformBy(self, matrix: Matrix3D) -> bool: """ - return ValueInput() + Transform this vector by the specified matrix. + matrix : The transformation matrix. + Returns true if successful. + """ + return bool() @property - def realValue(self) -> float: + def length(self) -> float: """ - Gets the real value, if there is one. - Returns -1 AND GetLastError returns ValueNotOfType if there is no real value. - You can use the valueType property to determine which value type is currently used. + Get the length of this vector. """ return float() @property - def stringValue(self) -> str: + def x(self) -> float: """ - Gets the string value, if there is one. - Returns an empty string AND GetLastError returns ValueNotOfType if there is no string value. - You can use the valueType property to determine which value type is currently used. + The x value. """ - return str() - @property - def objectReference(self) -> Base: + return float() + @x.setter + def x(self, value: float): """ - Gets the object being referenced, if there is one. - Returns null AND GetLastError returns ValueNotOfType if there is no object reference. - You can use the valueType property to determine which value type is currently used. + The x value. """ - return Base() + pass @property - def valueType(self) -> ValueTypes: + def y(self) -> float: """ - Returns the type of value this ValueInput currently represents. + The y value. """ - return ValueTypes() + return float() + @y.setter + def y(self, value: float): + """ + The y value. + """ + pass @property - def booleanValue(self) -> bool: + def z(self) -> float: """ - Gets the boolean value, if there is one. - Returns false AND GetLastError returns ValueNotOfType if there is no boolean value. - You can use the valueType property to determine which value type is currently used. + The z value. """ - return bool() + return float() + @z.setter + def z(self, value: float): + """ + The z value. + """ + pass -class Vector2D(Base): +class Viewport(Base): """ - Transient 2D vector. This object is a wrapper for 2D vector data and is used to - pass vector data in and out of the API. - They are created statically using the create method of the Vector2D class. + A viewport within Fusion 360. A viewport is the window where the model is displayed. """ def __init__(self): pass @staticmethod - def cast(arg) -> Vector2D: - return Vector2D() - @staticmethod - def create(x: float, y: float) -> Vector2D: + def cast(arg) -> Viewport: + return Viewport() + def refresh(self) -> bool: """ - Creates a 2D vector object. - x : The x coordinate of the vector. - y : The y coordinate of the vector. - Returns the new Vector2D object or null if the creation failed. + Forces the view to refresh. It is sometimes useful to force a refresh to + be able to see edits that have been made using the API. + Returns true if the operation was successful. """ - return Vector2D() - def add(self, vector: Vector2D) -> bool: + return bool() + def saveAsImageFile(self, filename: str, width: int, height: int) -> bool: """ - Add a vector to this vector. - vector : The vector to add to this vector. - Returns true if successful. + Saves the current view to the specified image file. The view is re-rendered to the specified size and not + just scaled from the existing view. This allows you to generate higher resolution images than you could + do with just a screen capture. + filename : The full filename, including the path, of the image file. The type of image file to be created is inferred from the extension of the filename. + width : The width in pixels of the output image. A value of zero indicates that the current width of the viewport is to be used. + height : The height in pixels of the output image. A value of zero indicates that the current height of the viewport is to be used. + Returns true if the operation was successful. """ return bool() - def angleTo(self, vector: Vector2D) -> float: + def fit(self) -> bool: """ - Gets the angle between this vector and another vector. - vector : The vector to measure the angle to. - Returns the angle in radians. + Forces a camera change so that all of the graphics are visible in the viewport. + Returns true if the fit was successful. """ - return float() - def copy(self) -> Vector2D: + return bool() + def modelToViewSpace(self, modelCoordinate: Point3D) -> Point2D: """ - Creates and returns an independent copy of this Vector2D object. - Returns a new Vector2D object that is a copy of this Vector2D object. + A specified point in model space returns the equivalent point in view space. + modelCoordinate : A coordinate in model space. + Returns the equivalent point in view space. """ - return Vector2D() - def dotProduct(self, vector: Vector2D) -> float: + return Point2D() + def viewToModelSpace(self, viewCoordinate: Point2D) -> Point3D: """ - Calculates the Dot Product of this vector and an input vector. - vector : The vector to use in the dot product calculation. - Returns the dot product of the two vectors. + A specified point in view space returns the equivalent point in model space. + Because view space is 2D and model space is 3D, the depth of the point is + returned is somewhat arbitrary along the eye to target point direction. + viewCoordinate : A coordinate in view space. + Returns the equivalent point in model space. """ - return float() - def asArray(self) -> list[float]: + return Point3D() + def screenToView(self, screenCoordinate: Point2D) -> Point2D: """ - Returns the vector values as an array [x, y]. - Returns an array of the vector's values [x, y]. + Converts a 2D screen point into the equivalent viewport coordinate. + screenCoordinate : A 2D coordinate in screen space. + (0,0) indicates the upper-left corner of the entire screen. + Returns the equivalent point in the viewport. This can return null in the case + where the input screen point does not lie within the viewport. """ - return [float()] - def isEqualTo(self, vector: Vector2D) -> bool: + return Point2D() + def viewToScreen(self, viewCoordinate: Point2D) -> Point2D: """ - Compare this vector with another to check for equality. - vector : The vector to compare with for equality. - Returns true if the vectors are equal. + Converts a 2D viewPort point into the equivalent screen coordinate. + viewCoordinate : A 2D coordinate in the viewport. + (0,0) indicates the upper-left corner of the viewport. + Returns the equivalent point in the screen. This can return null in the case where + the input point is outside the bounds of the screen, which also means it's outside + any viewport. """ - return bool() - def isParallelTo(self, vector: Vector2D) -> bool: + return Point2D() + def saveAsImageFileWithOptions(self, options: SaveImageFileOptions) -> bool: """ - Compare this vector with another to check for parallelism. - vector : The vector to compare with for parallelism. - Returns true if the vectors are parallel. + Saves the current view to the specified image file. The view is re-rendered to the specified size and not + just scaled from the existing view. This allows you to generate higher resolution images than you could + do with just a screen capture. + options : A SaveImageFileOptions object that defines the various options that define how the image should be created. + The SaveImageFileOptions can be created by using the static create method on the SaveImageFileOptions class. + Returns true if the operation was successful. """ return bool() - def isPerpendicularTo(self, vector: Vector2D) -> bool: + def setCurrentAsFront(self) -> bool: """ - Compare this vector with another to check for perpendicularity. - vector : The vector to compare with for perpendicularity. - Returns true if the vectors are perpendicular. + Sets the "front" view to be the current view orientation. + Returns true if setting the view orientation was successful. """ return bool() - def normalize(self) -> bool: + def setCurrentAsTop(self) -> bool: """ - Normalizes the vector. - Normalization makes the vector length equal to one. - The vector should not be zero length. - Returns true if successful. + Sets the "top" view to be the current view orientation. + Returns true if setting the view orientation was successful. """ return bool() - def setWithArray(self, coordinates: list[float]) -> bool: + def setCurrentAsHome(self, isFitToView: bool) -> bool: """ - Sets the definition of the vector by specifying an array containing the x and y coordinates. - coordinates : An array that specifies the values for the x and y coordinates of the vector. - Returns true if successful + Sets the "home" view to be the current view orientation. + isFitToView : Specifies if when the view goes "home" if the view should be fit to the model + or not. True indicates the view will be fit to the model. + Returns true if setting the view orientation was successful. """ return bool() - def scaleBy(self, scale: float) -> bool: + def goHome(self, transition: bool = True) -> bool: """ - Scales the vector by specifying a scaling factor. - scale : The scale factor to multiple the vector by (i.e. 1.5). - Returns true if successful. + Sets the camera of the viewport to the defined "home" position. + transition : If this is true it will do a smooth transition from + the current camera position to the home position. If false, the view will jump + to the home position with no intermediate steps. + Returns true if setting the view orientation was successful. """ return bool() - def subtract(self, vector: Vector2D) -> bool: + def resetFront(self) -> bool: """ - Subtract a vector from this vector. - vector : The vector to subtract from this vector. - Returns true if successful. + Resets the front view to be the default front view orientation. + Returns true if resetting to front was successful. """ return bool() - def transformBy(self, matrix: Matrix2D) -> bool: + @property + def camera(self) -> Camera: """ - Transforms the vector by specifying a 2D transformation matrix. - matrix : The Matrix2D object that defines the transformation. - Returns true if successful. + Gets and sets the camera associated with the view. + The camera returned is a copy of the current camera + settings of the view. Editing the properties of the + camera will have no affect on the viewport until the + camera is assigned back to the viewport. + """ + return Camera() + @camera.setter + def camera(self, value: Camera): + """ + Gets and sets the camera associated with the view. + The camera returned is a copy of the current camera + settings of the view. Editing the properties of the + camera will have no affect on the viewport until the + camera is assigned back to the viewport. + """ + pass + @property + def height(self) -> int: + """ + Returns the height of the viewport in pixels. + """ + return int() + @property + def width(self) -> int: + """ + Returns the width of the viewport in pixels. + """ + return int() + @property + def isFullScreen(self) -> bool: + """ + Gets and sets if the view is in full screen mode. """ return bool() - def asPoint(self) -> Point2D: + @isFullScreen.setter + def isFullScreen(self, value: bool): """ - Return a point with the same x and y values as this vector. - Returns the new point. + Gets and sets if the view is in full screen mode. """ - return Point2D() + pass @property - def length(self) -> float: + def visualStyle(self) -> VisualStyles: """ - Gets the length of the vector. + Gets and sets the current visual style being used. """ - return float() + return VisualStyles() + @visualStyle.setter + def visualStyle(self, value: VisualStyles): + """ + Gets and sets the current visual style being used. + """ + pass @property - def x(self) -> float: + def parentDocument(self) -> Document: """ - Gets and sets the X coordinate of the vector. + Returns the parent document of this viewport. """ - return float() - @x.setter - def x(self, value: float): + return Document() + @property + def frontEyeDirection(self) -> Vector3D: """ - Gets and sets the X coordinate of the vector. + Returns the direction of the front view as defined by the view cube. + This vector defines the direction from the eye to the target for the front view. """ - pass + return Vector3D() @property - def y(self) -> float: + def frontUpDirection(self) -> Vector3D: """ - Gets and sets the Y coordinate of the vector. + Returns the up direction of the front view as defined by the view cube. """ - return float() - @y.setter - def y(self, value: float): + return Vector3D() + @property + def modelToViewSpaceTransform(self) -> Matrix3D: """ - Gets and sets the Y coordinate of the vector. + Returns a transformation matrix that defines the transform from model to viewport space. """ - pass + return Matrix3D() -class Vector3D(Base): +class WebRequestEventHandler(EventHandler): """ - Transient 3D vector. This object is a wrapper over 3D vector data and is used as way to pass vector data - in and out of the API and as a convenience when operating on vector data. - They are created statically using the create method of the Vector3D class. + The WebRequestEventHandler is a client implemented class that can be added as a handler to an + WebRequestEvent. """ def __init__(self): pass @staticmethod - def cast(arg) -> Vector3D: - return Vector3D() + def cast(arg) -> WebRequestEventHandler: + return WebRequestEventHandler() + def notify(self, eventArgs: WebRequestEventArgs) -> None: + """ + The function called by Fusion 360 when the associated event is fired. + eventArgs : Returns an object that provides access to additional information associated with the event. + """ + pass + +class Workspace(Base): + """ + A Workspace provides access to a set of panels, which contain commands that + are relevant for that particular workspace. The user can switch from one + workspace to another in a product (e.g. switch from Model to Sculpt in Fusion 360). + """ + def __init__(self): + pass @staticmethod - def create(x: float, y: float, z: float) -> Vector3D: + def cast(arg) -> Workspace: + return Workspace() + def activate(self) -> bool: """ - Creates a 3D vector object. This object is created statically using the Vector3D.create method. - x : The optional x value. - y : The optional y value. - z : The optional z value. - Returns the new vector. + Activate the workspace (assuming it is valid to do so - a SIM workspace can't + be activated if Fusion 360 is the active product). + Boolean return that indicates if the activation was successful or not. """ - return Vector3D() - def add(self, vector: Vector3D) -> bool: + return bool() + def deleteMe(self) -> bool: """ - Adds a vector to this vector. - vector : The vector to add to this vector. - Returns true if successful. + Deletes this workspace. Only a workspace added by the API can be deleted, (IsNative is false). + Boolean return that indicates if the deletion was successful or not. """ return bool() - def angleTo(self, vector: Vector3D) -> float: + @property + def id(self) -> str: """ - Determines the angle between this vector and the specified vector. - vector : The vector to measure the angle to. - The angle in radians between this vector and the specified vector. + Gets the unique Id of the workspace that can be used programmatically + to find a specific workspace. It is not affected by the current + language. """ - return float() - def asPoint(self) -> Point3D: + return str() + @property + def isActive(self) -> bool: """ - Returns a new point with the same coordinate values as this vector. - Return the new point. + Gets if the workspace is currently active - i.e. displayed """ - return Point3D() - def copy(self) -> Vector3D: + return bool() + @property + def isNative(self) -> bool: """ - Creates a copy of this vector. - Returns the new vector copy. + Gets if this workspace is native to Fusion 360 or was created via the API. """ - return Vector3D() - def crossProduct(self, vector: Vector3D) -> Vector3D: + return bool() + @property + def name(self) -> str: """ - Returns the cross product between this vector and the specified vector. - vector : The vector to take the cross product to. - Returns the vector cross product. + Gets the visible name of the workspace as seen in the user interface. + This is the localized name. """ - return Vector3D() - def dotProduct(self, vector: Vector3D) -> float: + return str() + @property + def toolbarPanels(self) -> ToolbarPanels: """ - Returns the dot product between this vector and the specified vector. - vector : The vector to take the dot product to. - Returns the dot product value. + Gets the collection containing the panels associated with this workspace. + It's through this collection that you can add new toolbar panels. """ - return float() - def asArray(self) -> list[float]: + return ToolbarPanels() + @property + def resourceFolder(self) -> str: """ - Returns the vector coordinates as an array [x, y, z]. - Returns the array of vector coordinates [x, y, z]. + Gets or sets the resource folder. """ - return [float()] - def isEqualTo(self, vector: Vector3D) -> bool: + return str() + @resourceFolder.setter + def resourceFolder(self, value: str): """ - Determines if this vector is equal to the specified vector. - vector : The vector to test equality to. - Returns true if the vectors are equal. + Gets or sets the resource folder. """ - return bool() - def isParallelTo(self, vector: Vector3D) -> bool: + pass + @property + def productType(self) -> str: """ - Determines if the input vector is parallel with this vector. - vector : The vector to test parallelism to. - Returns true if the vectors are parallel. + Returns the name of the product this workspace is associated with. """ - return bool() - def isPerpendicularTo(self, vector: Vector3D) -> bool: + return str() + @property + def toolClipFilename(self) -> str: """ - Determines if the input vector is perpendicular to this vector. - vector : The vector to test perpendicularity to. - Returns true if the vectors are perpendicular. + Gets or sets the full filename of the image file (PNG) used for the tool clip. + the tool clip is the image shown when the user hovers the mouse over the workspace name in the workspace drop-down. """ - return bool() - def normalize(self) -> bool: + return str() + @toolClipFilename.setter + def toolClipFilename(self, value: str): """ - Makes this vector of unit length. - This vector should not be zero length. - Returns true if successful. + Gets or sets the full filename of the image file (PNG) used for the tool clip. + the tool clip is the image shown when the user hovers the mouse over the workspace name in the workspace drop-down. """ - return bool() - def setWithArray(self, coordinates: list[float]) -> bool: + pass + @property + def tooltip(self) -> str: """ - Reset this vector with the coordinate values in an array [x, y, z]. - coordinates : The array of coordinate values. - Returns true if successful. + Gets or sets the tooltip text displayed for the workspace. This is the first line of text shown when the + user hovers over the workspace name in the Fusion 360 toolbar drop-down. This is typically the name of the + workspace. This is different from the name in the that the name is a short name shown in the drop-down. + The tooltip is only shown when the user hovers over the name and box appears providing more information + about the workspace. For example, the name of the model workspace is "Model" and the tooltip is "Model Workspace". """ - return bool() - def scaleBy(self, scale: float) -> bool: + return str() + @tooltip.setter + def tooltip(self, value: str): """ - Scale this vector by the specified product. - scale : The scale value. - Returns true if successful. + Gets or sets the tooltip text displayed for the workspace. This is the first line of text shown when the + user hovers over the workspace name in the Fusion 360 toolbar drop-down. This is typically the name of the + workspace. This is different from the name in the that the name is a short name shown in the drop-down. + The tooltip is only shown when the user hovers over the name and box appears providing more information + about the workspace. For example, the name of the model workspace is "Model" and the tooltip is "Model Workspace". """ - return bool() - def subtract(self, vector: Vector3D) -> bool: + pass + @property + def tooltipDescription(self) -> str: """ - Subtract a vector from this vector. - vector : The vector to subtract. - Returns true if successful. + Gets or sets the tooltip description displayed for the workspace. The tooltip description is a longer + description of the workspace and is only displayed when the user hovers over the workspace name in + the Fusion 360 toolbar drop-down. The pop-up dialog that appears contains the tooltip, the tooltip + description, and the tool clip which is a picture. """ - return bool() - def transformBy(self, matrix: Matrix3D) -> bool: + return str() + @tooltipDescription.setter + def tooltipDescription(self, value: str): """ - Transform this vector by the specified matrix. - matrix : The transformation matrix. - Returns true if successful. + Gets or sets the tooltip description displayed for the workspace. The tooltip description is a longer + description of the workspace and is only displayed when the user hovers over the workspace name in + the Fusion 360 toolbar drop-down. The pop-up dialog that appears contains the tooltip, the tooltip + description, and the tool clip which is a picture. """ - return bool() + pass @property - def length(self) -> float: + def toolbarTabs(self) -> ToolbarTabs: """ - Get the length of this vector. + Gets the collection containing the tabs associated with this workspace. """ - return float() - @property - def x(self) -> float: + return ToolbarTabs() + +class WorkspaceEventHandler(EventHandler): + """ + The WorkspaceEventHandler is a client implemented class that can be added as a handler to a + WorkspaceEvent. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> WorkspaceEventHandler: + return WorkspaceEventHandler() + def notify(self, eventArgs: WorkspaceEventArgs) -> None: """ - The x value. + The function called by Fusion 360 when the associated event is fired. + eventArgs : Returns an object that provides access to additional information associated with the event. """ - return float() - @x.setter - def x(self, value: float): + pass + +class WorkspaceList(Base): + """ + A WorkspaceList is a list of Workspaces - e.g. the Workspaces for a given product. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> WorkspaceList: + return WorkspaceList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Workspace: + return None + def __iter__(self) -> Iterator[Workspace]: + return None + def item(self, index: int) -> Workspace: """ - The x value. + Returns the specified work space using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return Workspace() + def itemById(self, id: str) -> Workspace: + """ + Returns the Workspace of the specified ID. + id : The ID of the workspace to get. + Returns the specified workspace or null in the case where there isn't a workspace with the specified ID. + """ + return Workspace() + @property + def count(self) -> int: + """ + Gets the number of workspaces in the collection. """ + return int() + +class Workspaces(Base): + """ + Provides access to all of the existing workspaces. + """ + def __init__(self): pass - @property - def y(self) -> float: + @staticmethod + def cast(arg) -> Workspaces: + return Workspaces() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Workspace: + return None + def __iter__(self) -> Iterator[Workspace]: + return None + def item(self, index: int) -> Workspace: """ - The y value. + Returns the specified work space using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. """ - return float() - @y.setter - def y(self, value: float): + return Workspace() + def itemById(self, id: str) -> Workspace: """ - The y value. + Returns the Workspace of the specified ID. + id : The ID of the workspace to get. + Returns the specified workspace or null in the case where there isn't a workspace with the specified ID. """ - pass - @property - def z(self) -> float: + return Workspace() + def add(self, productType: str, id: str, name: str, resourceFolder: str) -> Workspace: """ - The z value. + Creates a new workspace for a specific product. + productType : The name of the product this workspace will be displayed with. You can obtain a list of the available + products by using the supportedProductTypes property of the Application object. + id : The unique ID for this workspace. It must be unique with respect to all other workspaces. + name : The displayed name of this workspace. + resourceFolder : The resource folder should contain two files; 49X31.png and 98x62.png. The larger is used for the Apple Retina display. + Returns the created workspace or null if the creation failed. """ - return float() - @z.setter - def z(self, value: float): + return Workspace() + @property + def count(self) -> int: """ - The z value. + Gets the number of workspaces in the collection. """ - pass + return int() -class Viewport(Base): +class ActiveSelectionEvent(Event): """ - A viewport within Fusion 360. A viewport is the window where the model is displayed. + This event fires whenever the contents of the active selection changes. This occurs as the user + selects or unselects entities while using the Fusion 360 Select command. The Select command + is the default command that is always running if no other command is active. Pressing Escape + terminates the currently active command and starts the Select command. If the Select command is + running and you press Escape, it terminates the current Select command and starts a new one. + + This event is only associated with the selection associated with the Select command and does not + fire when any other command is running. The event fires when there is any change to the active + selection, including when the selection is cleared when the Select command is terminated. It is + also fired when the user clicks in an open area of the canvas to clear the current selection. """ def __init__(self): pass @staticmethod - def cast(arg) -> Viewport: - return Viewport() - def refresh(self) -> bool: + def cast(arg) -> ActiveSelectionEvent: + return ActiveSelectionEvent() + def add(self, handler: ActiveSelectionEventHandler) -> bool: """ - Forces the view to refresh. It is sometimes useful to force a refresh to - be able to see edits that have been made using the API. - Returns true if the operation was successful. + Add a handler to be notified when the event occurs. + handler : The handler object to be called when this event is fired. + Returns true if the addition of the handler was successful. """ return bool() - def saveAsImageFile(self, filename: str, width: int, height: int) -> bool: + def remove(self, handler: ActiveSelectionEventHandler) -> bool: """ - Saves the current view to the specified image file. The view is re-rendered to the specified size and not - just scaled from the existing view. This allows you to generate higher resolution images than you could - do with just a screen capture. - filename : The full filename, including the path, of the image file. The type of image file to be created is inferred from the extension of the filename. - width : The width in pixels of the output image. A value of zero indicates that the current width of the viewport is to be used. - height : The height in pixels of the output image. A value of zero indicates that the current height of the viewport is to be used. - Returns true if the operation was successful. + Removes a handler from the event. + handler : The handler object to be removed from the event. + Returns true if removal of the handler was successful. """ return bool() - def fit(self) -> bool: + +class ActiveSelectionEventArgs(EventArgs): + """ + The ActiveSelectionEventArgs provides information associated with the active selection changing. + The event fires whenever the contents of the active selection changes. This occurs as the user + selects or unselects entities while using the Fusion 360 Select command. The Select command + is the default command that is always running if no other command is active. Pressing Escape + terminates the currently active command and starts the Select command. If the Select command is + running and you press Escape, it terminates the current Select command and starts a new one. + + An array or list of all the currently selected entities is returned. This is the same set of + entities accessed through the UserInterface.activeSelection object. An empty array can be returned + in the case where the selection has been cleared which can occur by the user unselecting and entity, + terminating the select command pressing Escape or running another command or clicking the mouse in + an open area of the canvas. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ActiveSelectionEventArgs: + return ActiveSelectionEventArgs() + @property + def currentSelection(self) -> list[Selection]: """ - Forces a camera change so that all of the graphics are visible in the viewport. - Returns true if the fit was successful. + The list of all of the current selections. This is the same set of selections accessed through + the UserInterface.activeSelection object. An empty array can be returned + in the case where the selection has been cleared which can occur by the user unselecting and entity, + terminating the select command pressing Escape or running another command or clicking the mouse in + an open area of the canvas. + """ + return [Selection()] + +class AngleValueCommandInput(CommandInput): + """ + Represents a command input that gets an angle from the user. This displays + an entry in the command dialog where the user can enter a value and also displays + a manipulator in the graphics window to allow them to graphically set the value. + The input box is displayed in the dialog when the isVisible property of the command + input is true. The manipulator is displayed in the graphics when both the isVisible + and isEnabled properties are true. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AngleValueCommandInput: + return AngleValueCommandInput() + def setManipulator(self, origin: Point3D, xDirection: Vector3D, yDirection: Vector3D) -> bool: + """ + Defines the position and orientation of the manipulator. The manipulator is only visible + when both the isVisible and isEnabled properties are true. If those properties are + true and the setManipulator has not been called, the manipulator will be displayed in + a default location (0,0,0) using default directions; x direction (1,0,0) and y direction (0,1,0). + Because of that the input is typically set to be invisible and/or disabled and then enabled once + enough input has been specified that you can display the manipulator in the desired location. + origin : Defines the center position of the manipulator in root component space. + xDirection : Defines the X direction of the manipulator in root component space. The X direction is the 0 angle direction. This + direction, along with the Y direction vector define the plane that the manipulator is displayed on. + yDirection : Defines the Y direction of the manipulator in root component space. The X and Y direction vectors define the plane + the manipulator is displayed one. When the manipulator is rotated from the xDirection vector towards the yDirection + vector that is the positive direction. + Returns true if successful. """ return bool() - def modelToViewSpace(self, modelCoordinate: Point3D) -> Point2D: + @property + def value(self) -> float: """ - A specified point in model space returns the equivalent point in view space. - modelCoordinate : A coordinate in model space. - Returns the equivalent point in view space. + Gets and sets the current value of the command input. The value is in radians + but will be displayed to the user in degrees. Setting this value can fail if the input value is + not within the minimum and maximum value range. + + The isValidExpression property should be checked before using the value within the command + because if the expression can't be evaluated there isn't a valid value. Fusion 360 won't allow + the execution of a command that contains ValueCommandInput object with invalid expressions + so you can dependably use the value in the execute event of the command. """ - return Point2D() - def viewToModelSpace(self, viewCoordinate: Point2D) -> Point3D: + return float() + @value.setter + def value(self, value: float): """ - A specified point in view space returns the equivalent point in model space. - Because view space is 2D and model space is 3D, the depth of the point is - returned is somewhat arbitrary along the eye to target point direction. - viewCoordinate : A coordinate in view space. - Returns the equivalent point in model space. + Gets and sets the current value of the command input. The value is in radians + but will be displayed to the user in degrees. Setting this value can fail if the input value is + not within the minimum and maximum value range. + + The isValidExpression property should be checked before using the value within the command + because if the expression can't be evaluated there isn't a valid value. Fusion 360 won't allow + the execution of a command that contains ValueCommandInput object with invalid expressions + so you can dependably use the value in the execute event of the command. """ - return Point3D() - def screenToView(self, screenCoordinate: Point2D) -> Point2D: + pass + @property + def expression(self) -> str: """ - Converts a 2D screen point into the equivalent viewport coordinate. - screenCoordinate : A 2D coordinate in screen space. - (0,0) indicates the upper-left corner of the entire screen. - Returns the equivalent point in the viewport. This can return null in the case - where the input screen point does not lie within the viewport. + Gets or sets the expression displayed in the input field. This can contain equations and + references to parameters but must result in a valid angle expression. If units are not + specified as part of the expression, the default user units of degrees are used. """ - return Point2D() - def viewToScreen(self, viewCoordinate: Point2D) -> Point2D: + return str() + @expression.setter + def expression(self, value: str): """ - Converts a 2D viewPort point into the equivalent screen coordinate. - viewCoordinate : A 2D coordinate in the viewport. - (0,0) indicates the upper-left corner of the viewport. - Returns the equivalent point in the screen. This can return null in the case where - the input point is outside the bounds of the screen, which also means it's outside - any viewport. + Gets or sets the expression displayed in the input field. This can contain equations and + references to parameters but must result in a valid angle expression. If units are not + specified as part of the expression, the default user units of degrees are used. """ - return Point2D() + pass @property - def camera(self) -> Camera: + def minimumValue(self) -> float: """ - Gets and sets the camera associated with the view. - The camera returned is a copy of the current camera - settings of the view. Editing the properties of the - camera will have no affect on the viewport until the - camera is assigned back to the viewport. + Gets and sets minimum value, if any, that the value can be. The value is in radians. When getting this + property you should first check the hasMinimumValue property to see if this property + applies. Also, the isMinimumValueInclusive indicates if the minimum includes this + value or will be up to this value. + + Setting this value will change the isMinimumValueInclusive to True and the hasMinimumValue + property to True if hasMinimumValue is currently False, otherwise it will just update the value. """ - return Camera() - @camera.setter - def camera(self, value: Camera): + return float() + @minimumValue.setter + def minimumValue(self, value: float): """ - Gets and sets the camera associated with the view. - The camera returned is a copy of the current camera - settings of the view. Editing the properties of the - camera will have no affect on the viewport until the - camera is assigned back to the viewport. + Gets and sets minimum value, if any, that the value can be. The value is in radians. When getting this + property you should first check the hasMinimumValue property to see if this property + applies. Also, the isMinimumValueInclusive indicates if the minimum includes this + value or will be up to this value. + + Setting this value will change the isMinimumValueInclusive to True and the hasMinimumValue + property to True if hasMinimumValue is currently False, otherwise it will just update the value. """ pass @property - def height(self) -> int: + def hasMinimumValue(self) -> bool: """ - Returns the height of the viewport in pixels. + Gets and sets if there is a minimum value for this command input. When setting this property, it is only valid + to set it to False to remove the minimum value. Setting the minimumValue property will result in this property + being set to True. """ - return int() - @property - def width(self) -> int: + return bool() + @hasMinimumValue.setter + def hasMinimumValue(self, value: bool): """ - Returns the width of the viewport in pixels. + Gets and sets if there is a minimum value for this command input. When setting this property, it is only valid + to set it to False to remove the minimum value. Setting the minimumValue property will result in this property + being set to True. """ - return int() + pass @property - def isFullScreen(self) -> bool: + def isMinimumValueInclusive(self) -> bool: """ - Gets and sets if the view is in full screen mode. + Gets and sets if the value of the input includes the minimum value or is up to the minimum value. For example, + if the minimum value is zero and this property is True, the minimum value can be zero. If this is False, the + minimum value must be greater than zero. When the minimum value is first defined using the minimumValue property, + this property is set to True. The value returned by this property is only meaningful when the hasMinimumValue property + returns True. """ return bool() - @isFullScreen.setter - def isFullScreen(self, value: bool): + @isMinimumValueInclusive.setter + def isMinimumValueInclusive(self, value: bool): """ - Gets and sets if the view is in full screen mode. + Gets and sets if the value of the input includes the minimum value or is up to the minimum value. For example, + if the minimum value is zero and this property is True, the minimum value can be zero. If this is False, the + minimum value must be greater than zero. When the minimum value is first defined using the minimumValue property, + this property is set to True. The value returned by this property is only meaningful when the hasMinimumValue property + returns True. """ pass @property - def visualStyle(self) -> VisualStyles: + def maximumValue(self) -> float: """ - Gets and sets the current visual style being used. + Gets and sets maximum value, if any, that the value can be. The value is in radians. When getting this + property you should first check the hasMaximumValue property to see if this property applies. Also, the + isMaximumValueInclusive indicates if the minimum includes this value or will be up to this value. + + Setting this value will change the isMaximumValueInclusive to True and the hasMaximumValue + property to True if hasMaximumValue is currently False, otherwise it will just update the value. """ - return VisualStyles() - @visualStyle.setter - def visualStyle(self, value: VisualStyles): + return float() + @maximumValue.setter + def maximumValue(self, value: float): """ - Gets and sets the current visual style being used. + Gets and sets maximum value, if any, that the value can be. The value is in radians. When getting this + property you should first check the hasMaximumValue property to see if this property applies. Also, the + isMaximumValueInclusive indicates if the minimum includes this value or will be up to this value. + + Setting this value will change the isMaximumValueInclusive to True and the hasMaximumValue + property to True if hasMaximumValue is currently False, otherwise it will just update the value. """ pass - -class WebRequestEventHandler(EventHandler): - """ - The WebRequestEventHandler is a client implemented class that can be added as a handler to an - WebRequestEvent. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> WebRequestEventHandler: - return WebRequestEventHandler() - def notify(self, eventArgs: WebRequestEventArgs) -> None: + @property + def hasMaximumValue(self) -> bool: """ - The function called by Fusion 360 when the associated event is fired. - eventArgs : Returns an object that provides access to additional information associated with the event. + Gets and sets if there is a maximum value for this command input. When setting this property, it is only valid + to set it to False to remove the maximum value. Setting the maximumValue property will result in this property + being set to True. """ - pass - -class Workspace(Base): - """ - A Workspace provides access to a set of panels, which contain commands that - are relevant for that particular workspace. The user can switch from one - workspace to another in a product (e.g. switch from Model to Sculpt in Fusion 360). - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> Workspace: - return Workspace() - def activate(self) -> bool: + return bool() + @hasMaximumValue.setter + def hasMaximumValue(self, value: bool): """ - Activate the workspace (assuming it is valid to do so - a SIM workspace can't - be activated if Fusion 360 is the active product). - Boolean return that indicates if the activation was successful or not. + Gets and sets if there is a maximum value for this command input. When setting this property, it is only valid + to set it to False to remove the maximum value. Setting the maximumValue property will result in this property + being set to True. """ - return bool() - def deleteMe(self) -> bool: + pass + @property + def isMaximumValueInclusive(self) -> bool: """ - Deletes this workspace. Only a workspace added by the API can be deleted, (IsNative is false). - Boolean return that indicates if the deletion was successful or not. + Gets and sets if the value of the input includes the maximum value or is up to the maximum value. For example, + if the maximum value is the value of pi (180 degrees) and this property is True, the maximum value can be pi. + If this is False, the minimum value must be less than pi. When the maximum value is first defined using the + maximumValue property, this property is set to True. The value returned by this property is only meaningful + when the hasMaximumValue property returns True. """ return bool() - @property - def id(self) -> str: + @isMaximumValueInclusive.setter + def isMaximumValueInclusive(self, value: bool): """ - Gets the unique Id of the workspace that can be used programmatically - to find a specific workspace. It is not affected by the current - language. + Gets and sets if the value of the input includes the maximum value or is up to the maximum value. For example, + if the maximum value is the value of pi (180 degrees) and this property is True, the maximum value can be pi. + If this is False, the minimum value must be less than pi. When the maximum value is first defined using the + maximumValue property, this property is set to True. The value returned by this property is only meaningful + when the hasMaximumValue property returns True. """ - return str() + pass @property - def isActive(self) -> bool: + def manipulatorOrigin(self) -> Point3D: """ - Gets if the workspace is currently active - i.e. displayed + Gets the origin point of the manipulator in the model space of the root component. + To set the origin use the setManipulator method. """ - return bool() + return Point3D() @property - def isNative(self) -> bool: + def manipulatorXDirection(self) -> Vector3D: """ - Gets if this workspace is native to Fusion 360 or was created via the API. + Gets the X direction of the manipulator in the model space of the root component. The X direction is + the 0 angle direction. This direction, along with the Y direction vector define the plane that the + manipulator is displayed on. + + To set the direction use the setManipulator method. """ - return bool() + return Vector3D() @property - def name(self) -> str: + def manipulatorYDirection(self) -> Vector3D: """ - Gets the visible name of the workspace as seen in the user interface. - This is the localized name. + Gets the Y direction of the manipulator in the model space of the root component. The X and Y direction + vectors define the plane that the manipulator is displayed on. + + To set the direction use the setManipulator method. """ - return str() + return Vector3D() @property - def toolbarPanels(self) -> ToolbarPanels: + def isValidExpression(self) -> bool: """ - Gets the collection containing the panels associated with this workspace. - It's through this collection that you can add new toolbar panels. + Returns true if the current expression is valid and can be evaluated. If this + is false, the value returned should be ignored because there currently is + not a valid value. """ - return ToolbarPanels() + return bool() + +class AppearanceTextureProperty(Property): + """ + A texture value property associated with a material or appearance. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AppearanceTextureProperty: + return AppearanceTextureProperty() @property - def resourceFolder(self) -> str: + def value(self) -> AppearanceTexture: """ - Gets or sets the resource folder. + Gets and sets this property value. """ - return str() - @resourceFolder.setter - def resourceFolder(self, value: str): + return AppearanceTexture() + @value.setter + def value(self, value: AppearanceTexture): """ - Gets or sets the resource folder. + Gets and sets this property value. """ pass @property - def productType(self) -> str: + def isUsed(self) -> bool: """ - Returns the name of the product this workspace is associated with. + Specifies if this AppearanceTexture is being used. This is the equivalent of the + check box in the Appearance dialog to enable the use of a text for an appearance or not. + if this is False, then the value property should not be used because there isn't an associated. + AppearanceTexture. """ - return str() - @property - def toolClipFilename(self) -> str: + return bool() + +class ApplicationCommandEvent(Event): + """ + An event endpoint that supports the connection to ApplicationCommandEventHandlers. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ApplicationCommandEvent: + return ApplicationCommandEvent() + def add(self, handler: ApplicationCommandEventHandler) -> bool: """ - Gets or sets the full filename of the image file (PNG) used for the tool clip. - the tool clip is the image shown when the user hovers the mouse over the workspace name in the workspace drop-down. + Adds an event handler object to this event endpoint. + handler : The ApplicationCommandEventHandler to be called when this event is triggered. + Returns true if the handler was successfully added to the set of event handlers. """ - return str() - @toolClipFilename.setter - def toolClipFilename(self, value: str): + return bool() + def remove(self, handler: ApplicationCommandEventHandler) -> bool: """ - Gets or sets the full filename of the image file (PNG) used for the tool clip. - the tool clip is the image shown when the user hovers the mouse over the workspace name in the workspace drop-down. + Removes a handler from this event endpoint. + handler : An ApplicationCommandEventHandler that was previously added to this event with the add method. + Returns true if the handler was found and removed from the set of event handlers. """ + return bool() + +class ApplicationCommandEventArgs(EventArgs): + """ + Provides a set of arguments from a firing ApplicationCommandEvent to an ApplicationCommandEventHandler's + notify callback method. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> ApplicationCommandEventArgs: + return ApplicationCommandEventArgs() @property - def tooltip(self) -> str: - """ - Gets or sets the tooltip text displayed for the workspace. This is the first line of text shown when the - user hovers over the workspace name in the Fusion 360 toolbar drop-down. This is typically the name of the - workspace. This is different from the name in the that the name is a short name shown in the drop-down. - The tooltip is only shown when the user hovers over the name and box appears providing more information - about the workspace. For example, the name of the model workspace is "Model" and the tooltip is "Model Workspace". - """ - return str() - @tooltip.setter - def tooltip(self, value: str): + def commandDefinition(self) -> CommandDefinition: """ - Gets or sets the tooltip text displayed for the workspace. This is the first line of text shown when the - user hovers over the workspace name in the Fusion 360 toolbar drop-down. This is typically the name of the - workspace. This is different from the name in the that the name is a short name shown in the drop-down. - The tooltip is only shown when the user hovers over the name and box appears providing more information - about the workspace. For example, the name of the model workspace is "Model" and the tooltip is "Model Workspace". + Returns the CommandDefinition object for the command the event is being fired for. """ - pass + return CommandDefinition() @property - def tooltipDescription(self) -> str: + def commandId(self) -> str: """ - Gets or sets the tooltip description displayed for the workspace. The tooltip description is a longer - description of the workspace and is only displayed when the user hovers over the workspace name in - the Fusion 360 toolbar drop-down. The pop-up dialog that appears contains the tooltip, the tooltip - description, and the tool clip which is a picture. + Returns the unique id of the command the event if being fired for. """ return str() - @tooltipDescription.setter - def tooltipDescription(self, value: str): + @property + def isCanceled(self) -> bool: + """ + Used during the commandStarting event to get or set if the command should + be allowed to continue executing or be canceled. This defaults to false, + which will allow the command to execute. Setting this to true will cancel + the command and not begin the execution. + This property should be ignored for all events besides the commandStarting event. """ - Gets or sets the tooltip description displayed for the workspace. The tooltip description is a longer - description of the workspace and is only displayed when the user hovers over the workspace name in - the Fusion 360 toolbar drop-down. The pop-up dialog that appears contains the tooltip, the tooltip - description, and the tool clip which is a picture. + return bool() + @isCanceled.setter + def isCanceled(self, value: bool): + """ + Used during the commandStarting event to get or set if the command should + be allowed to continue executing or be canceled. This defaults to false, + which will allow the command to execute. Setting this to true will cancel + the command and not begin the execution. + This property should be ignored for all events besides the commandStarting event. """ pass @property - def toolbarTabs(self) -> ToolbarTabs: + def terminationReason(self) -> CommandTerminationReason: """ - Gets the collection containing the tabs associated with this workspace. + Returns the reason the command is being terminated. + This property should be ignored for all events besides the commandTerminated event. """ - return ToolbarTabs() + return CommandTerminationReason() -class WorkspaceEventHandler(EventHandler): +class ApplicationEvent(Event): """ - The WorkspaceEventHandler is a client implemented class that can be added as a handler to a - WorkspaceEvent. + An ApplicationEvent represents a Fusion 360 application related event. For example, startupCompleted or OnlineStatusChanged """ def __init__(self): pass @staticmethod - def cast(arg) -> WorkspaceEventHandler: - return WorkspaceEventHandler() - def notify(self, eventArgs: WorkspaceEventArgs) -> None: + def cast(arg) -> ApplicationEvent: + return ApplicationEvent() + def add(self, handler: ApplicationEventHandler) -> bool: """ - The function called by Fusion 360 when the associated event is fired. - eventArgs : Returns an object that provides access to additional information associated with the event. + Add a handler to be notified when the event occurs. + handler : The handler object to be called when this event is fired. + Returns true if the addition of the handler was successful. """ - pass + return bool() + def remove(self, handler: ApplicationEventHandler) -> bool: + """ + Removes a handler from the event. + handler : The handler object to be removed from the event. + Returns true if removal of the handler was successful. + """ + return bool() -class WorkspaceList(Base): +class ApplicationEventArgs(EventArgs): """ - A WorkspaceList is a list of Workspaces - e.g. the Workspaces for a given product. + The ApplicationEventArgs provides information associated with an application event. + Note that some properties are not available on every event """ def __init__(self): pass @staticmethod - def cast(arg) -> WorkspaceList: - return WorkspaceList() - def item(self, index: int) -> Workspace: + def cast(arg) -> ApplicationEventArgs: + return ApplicationEventArgs() + @property + def isOffLine(self) -> bool: """ - Returns the specified work space using an index into the collection. - index : The index of the item within the collection to return. The first item in the collection has an index of 0. - Returns the specified item or null if an invalid index was specified. + Gets and sets if Fusion 360 is offline or not. """ - return Workspace() - def itemById(self, id: str) -> Workspace: + return bool() + @isOffLine.setter + def isOffLine(self, value: bool): """ - Returns the Workspace of the specified ID. - id : The ID of the workspace to get. - Returns the specified workspace or null in the case where there isn't a workspace with the specified ID. + Gets and sets if Fusion 360 is offline or not. """ - return Workspace() + pass @property - def count(self) -> int: + def hasInternetAccess(self) -> bool: """ - Gets the number of workspaces in the collection. + Gets if the client computer has access to the Internet. """ - return int() + return bool() -class Workspaces(Base): +class Arc2D(Curve2D): """ - Provides access to all of the existing workspaces. + Transient 2D arc. A transient arc is not displayed or saved in a document. + Transient arcs are used as a wrapper to work with raw 2D arc information. They + are created statically using one of the create methods supported by the Arc2D class. """ def __init__(self): pass @staticmethod - def cast(arg) -> Workspaces: - return Workspaces() - def item(self, index: int) -> Workspace: + def cast(arg) -> Arc2D: + return Arc2D() + @staticmethod + def createByCenter(center: Point2D, radius: float, startAngle: float, endAngle: float, isClockwise: bool = False) -> Arc2D: """ - Returns the specified work space using an index into the collection. - index : The index of the item within the collection to return. The first item in the collection has an index of 0. - Returns the specified item or null if an invalid index was specified. + Creates a transient 2D arc object specifying the center, radius and start and end angles. + A transient arc is not displayed or saved in a document. Transient arcs are used as + a wrapper to work with raw 2D arc information. + center : A Point2D object that defines the center position of the arc in 2D space. + radius : The radius of the arc. + startAngle : The start angle in radians, where 0 is along the X-axis. + endAngle : The end angle in radians, where 0 is along the X-axis. + isClockwise : Specifies if the sweep of the arc is clockwise or counterclockwise from the start to end angle. + Returns the newly created arc or null if the creation failed. """ - return Workspace() - def itemById(self, id: str) -> Workspace: + return Arc2D() + @staticmethod + def createByThreePoints(startPoint: Point2D, point: Point2D, endPoint: Point2D) -> Arc2D: """ - Returns the Workspace of the specified ID. - id : The ID of the workspace to get. - Returns the specified workspace or null in the case where there isn't a workspace with the specified ID. + Creates a transient 2D arc by specifying 3 points. + A transient arc is not displayed or saved in a document. Transient arcs are used as + a wrapper to work with raw 2D arc information. + startPoint : The start point of the arc. + point : A point along the arc. + endPoint : The end point of the arc. + Returns the newly created arc or null if the creation failed. """ - return Workspace() - def add(self, productType: str, id: str, name: str, resourceFolder: str) -> Workspace: + return Arc2D() + def copy(self) -> Arc2D: """ - Creates a new workspace for a specific product. - productType : The name of the product this workspace will be displayed with. You can obtain a list of the available - products by using the supportedProductTypes property of the Application object. - id : The unique ID for this workspace. It must be unique with respect to all other workspaces. - name : The displayed name of this workspace. - resourceFolder : The resource folder should contain two files; 49X31.png and 98x62.png. The larger is used for the Apple Retina display. - Returns the created workspace or null if the creation failed. + Creates and returns an independent copy of this Arc2D object. + Returns a new Arc2D object that is a copy of this Arc2D object. """ - return Workspace() + return Arc2D() + def getData(self) -> tuple[bool, Point2D, float, float, float, bool]: + """ + Gets all of the data defining the arc. + center : The output center point of the arc. + radius : The output radius of the arc. + startAngle : The output start angle of the arc in radians, where 0 is along the x axis. + endAngle : The output end angle of the arc in radians, where 0 is along the x axis. + isClockwise : The output value that indicates if the sweep direction is clockwise or counterclockwise. + Returns true if successful + """ + return (bool(), Point2D(), float(), float(), float(), bool()) + def set(self, center: Point2D, radius: float, startAngle: float, endAngle: float, isClockwise: bool) -> bool: + """ + Sets all of the data defining the arc. + center : A Point2D object defining the center position of the arc. + radius : The radius of the arc. + startAngle : The start angle of the arc in radians, where 0 is along the x axis. + endAngle : The end angle of the arc in radians, where 0 is along the x axis. + isClockwise : Indicates if the sweep direction is clockwise or counterclockwise. + Returns true if redefining the arc is successful + """ + return bool() @property - def count(self) -> int: + def center(self) -> Point2D: """ - Gets the number of workspaces in the collection. + Gets and sets the center position of the arc. + """ + return Point2D() + @center.setter + def center(self, value: Point2D): + """ + Gets and sets the center position of the arc. """ - return int() - -class ActiveSelectionEvent(Event): - """ - This event fires whenever the contents of the active selection changes. This occurs as the user - selects or unselects entities while using the Fusion 360 Select command. The Select command - is the default command that is always running if no other command is active. Pressing Escape - terminates the currently active command and starts the Select command. If the Select command is - running and you press Escape, it terminates the current Select command and starts a new one. - - This event is only associated with the selection associated with the Select command and does not - fire when any other command is running. The event fires when there is any change to the active - selection, including when the selection is cleared when the Select command is terminated. It is - also fired when the user clicks in an open area of the canvas to clear the current selection. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> ActiveSelectionEvent: - return ActiveSelectionEvent() - def add(self, handler: ActiveSelectionEventHandler) -> bool: + @property + def radius(self) -> float: """ - Add a handler to be notified when the event occurs. - handler : The handler object to be called when this event is fired. - Returns true if the addition of the handler was successful. + Gets and sets the radius of the arc. """ - return bool() - def remove(self, handler: ActiveSelectionEventHandler) -> bool: + return float() + @radius.setter + def radius(self, value: float): """ - Removes a handler from the event. - handler : The handler object to be removed from the event. - Returns true if removal of the handler was successful. + Gets and sets the radius of the arc. """ - return bool() - -class ActiveSelectionEventArgs(EventArgs): - """ - The ActiveSelectionEventArgs provides information associated with the active selection changing. - The event fires whenever the contents of the active selection changes. This occurs as the user - selects or unselects entities while using the Fusion 360 Select command. The Select command - is the default command that is always running if no other command is active. Pressing Escape - terminates the currently active command and starts the Select command. If the Select command is - running and you press Escape, it terminates the current Select command and starts a new one. - - An array or list of all the currently selected entities is returned. This is the same set of - entities accessed through the UserInterface.activeSelection object. An empty array can be returned - in the case where the selection has been cleared which can occur by the user unselecting and entity, - terminating the select command pressing Escape or running another command or clicking the mouse in - an open area of the canvas. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> ActiveSelectionEventArgs: - return ActiveSelectionEventArgs() @property - def currentSelection(self) -> list[Selection]: + def startAngle(self) -> float: + """ + Gets and sets the start angle of the arc in radians, where 0 is along the x axis. + """ + return float() + @startAngle.setter + def startAngle(self, value: float): + """ + Gets and sets the start angle of the arc in radians, where 0 is along the x axis. + """ + pass + @property + def endAngle(self) -> float: + """ + Gets and sets the end angle of the arc in radians, where 0 is along the x axis. + """ + return float() + @endAngle.setter + def endAngle(self, value: float): + """ + Gets and sets the end angle of the arc in radians, where 0 is along the x axis. + """ + pass + @property + def isClockwise(self) -> bool: + """ + Specifies if the sweep direction of the arc is clockwise or counterclockwise. + """ + return bool() + @property + def startPoint(self) -> Point2D: + """ + Gets the position of the start point of the arc. + """ + return Point2D() + @property + def endPoint(self) -> Point2D: """ - The list of all of the current selections. This is the same set of selections accessed through - the UserInterface.activeSelection object. An empty array can be returned - in the case where the selection has been cleared which can occur by the user unselecting and entity, - terminating the select command pressing Escape or running another command or clicking the mouse in - an open area of the canvas. + Gets the position of the end point of the arc. """ - return [Selection()] + return Point2D() + @property + def asNurbsCurve(self) -> NurbsCurve2D: + """ + Returns a NURBS curve that is geometrically identical to the arc. + """ + return NurbsCurve2D() -class AngleValueCommandInput(CommandInput): +class Arc3D(Curve3D): """ - Represents a command input that gets an angle from the user. This displays - an entry in the command dialog where the user can enter a value and also displays - a manipulator in the graphics window to allow them to graphically set the value. - The input box is displayed in the dialog when the isVisible property of the command - input is true. The manipulator is displayed in the graphics when both the isVisible - and isEnabled properties are true. + Transient 3D arc. A transient arc is not displayed or saved in a document. + Transient 3D arcs are used as a wrapper to work with raw 3D arc information. + They are created statically using one of the create methods of the Arc3D class. """ def __init__(self): pass @staticmethod - def cast(arg) -> AngleValueCommandInput: - return AngleValueCommandInput() - def setManipulator(self, origin: Point3D, xDirection: Vector3D, yDirection: Vector3D) -> bool: + def cast(arg) -> Arc3D: + return Arc3D() + @staticmethod + def createByCenter(center: Point3D, normal: Vector3D, referenceVector: Vector3D, radius: float, startAngle: float, endAngle: float) -> Arc3D: """ - Defines the position and orientation of the manipulator. The manipulator is only visible - when both the isVisible and isEnabled properties are true. If those properties are - true and the setManipulator has not been called, the manipulator will be displayed in - a default location (0,0,0) using default directions; x direction (1,0,0) and y direction (0,1,0). - Because of that the input is typically set to be invisible and/or disabled and then enabled once - enough input has been specified that you can display the manipulator in the desired location. - origin : Defines the center position of the manipulator in root component space. - xDirection : Defines the X direction of the manipulator in root component space. The X direction is the 0 angle direction. This - direction, along with the Y direction vector define the plane that the manipulator is displayed on. - yDirection : Defines the Y direction of the manipulator in root component space. The X and Y direction vectors define the plane - the manipulator is displayed one. When the manipulator is rotated from the xDirection vector towards the yDirection - vector that is the positive direction. - Returns true if successful. + Creates a transient 3D arc object by specifying a center point and radius. + center : The center point of the arc. + normal : The normal vector of the arc. + The plane perpendicular to this normal at the center point is the plane of the arc. + referenceVector : A reference vector from which the start and end angles are measured from. + This vector must be perpendicular to the normal vector. + radius : The radius of the arc. + startAngle : The start angle in radians. + This angle is measured from the reference vector using the right hand rule around the normal vector. + endAngle : The end angle in radians. + This angle is measured from the reference vector using the right hand rule around the normal vector. + Returns the newly created arc or null if the creation failed. + """ + return Arc3D() + @staticmethod + def createByThreePoints(pointOne: Point3D, pointTwo: Point3D, pointThree: Point3D) -> Arc3D: + """ + Creates a transient 3D arc by specifying 3 points. + A transient arc is not displayed or saved in a document. Transient arcs are used as + a wrapper to work with raw 3D arc information. + pointOne : The start point of the arc. + pointTwo : A point along the arc. + This point must not be coincident with the first or third points. + This point must not lie on the line between the first and third points. + pointThree : The end point of the arc. + This point must not be coincident with the first or second points. + Returns the newly created arc or null if the creation failed. + """ + return Arc3D() + def setAxes(self, normal: Vector3D, referenceVector: Vector3D) -> bool: + """ + Sets the normal and reference vectors of the arc. + normal : The new normal vector. + referenceVector : The new reference vector from which the start and end angles are measured from. + The reference vector must be perpendicular to the normal vector. + Returns true if successful + """ + return bool() + def copy(self) -> Arc3D: + """ + Creates and returns an independent copy of this Arc3D object. + Returns a new Arc3D object that is a copy of this Arc3D object. + """ + return Arc3D() + def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float, float]: + """ + Gets all of the data defining the arc. + center : The output center point of the arc. + normal : The output normal vector. + referenceVector : The output reference vector. + radius : The output radius of the arc. + startAngle : The output start angle in radians. + This angle is measured from the reference vector using the right hand rule around the normal vector. + endAngle : The output end angle in radians. + This angle is measured from the reference vector using the right hand rule around the normal vector. + Returns true if successful + """ + return (bool(), Point3D(), Vector3D(), Vector3D(), float(), float(), float()) + def set(self, center: Point3D, normal: Vector3D, referenceVector: Vector3D, radius: float, startAngle: float, endAngle: float) -> bool: + """ + Sets all of the data defining the arc. + center : The center point of the arc. + normal : The normal vector of the arc. + The plane perpendicular to this normal at the center point is the plane of the arc. + referenceVector : A reference vector from which the start and end angles are measured from. + This vector must be perpendicular to the normal vector. + radius : The radius of the arc. + startAngle : The start angle in radians. + This angle is measured from the reference vector using the right hand rule around the normal vector. + endAngle : The end angle in radians. + This angle is measured from the reference vector using the right hand rule around the normal vector. + Returns true if successful """ return bool() @property - def value(self) -> float: + def center(self) -> Point3D: """ - Gets and sets the current value of the command input. The value is in radians - but will be displayed to the user in degrees. Setting this value can fail if the input value is - not within the minimum and maximum value range. - - The isValidExpression property should be checked before using the value within the command - because if the expression can't be evaluated there isn't a valid value. Fusion 360 won't allow - the execution of a command that contains ValueCommandInput object with invalid expressions - so you can dependably use the value in the execute event of the command. + Gets and sets the center position of the arc. """ - return float() - @value.setter - def value(self, value: float): + return Point3D() + @center.setter + def center(self, value: Point3D): """ - Gets and sets the current value of the command input. The value is in radians - but will be displayed to the user in degrees. Setting this value can fail if the input value is - not within the minimum and maximum value range. - - The isValidExpression property should be checked before using the value within the command - because if the expression can't be evaluated there isn't a valid value. Fusion 360 won't allow - the execution of a command that contains ValueCommandInput object with invalid expressions - so you can dependably use the value in the execute event of the command. + Gets and sets the center position of the arc. """ pass @property - def expression(self) -> str: + def normal(self) -> Vector3D: """ - Gets or sets the expression displayed in the input field. This can contain equations and - references to parameters but must result in a valid angle expression. If units are not - specified as part of the expression, the default user units of degrees are used. + Gets and sets the normal of the arc. """ - return str() - @expression.setter - def expression(self, value: str): + return Vector3D() + @property + def referenceVector(self) -> Vector3D: """ - Gets or sets the expression displayed in the input field. This can contain equations and - references to parameters but must result in a valid angle expression. If units are not - specified as part of the expression, the default user units of degrees are used. + Gets and sets the reference vector of the arc. """ - pass + return Vector3D() @property - def minimumValue(self) -> float: + def radius(self) -> float: """ - Gets and sets minimum value, if any, that the value can be. The value is in radians. When getting this - property you should first check the hasMinimumValue property to see if this property - applies. Also, the isMinimumValueInclusive indicates if the minimum includes this - value or will be up to this value. - - Setting this value will change the isMinimumValueInclusive to True and the hasMinimumValue - property to True if hasMinimumValue is currently False, otherwise it will just update the value. + Gets and sets the radius of the arc. """ return float() - @minimumValue.setter - def minimumValue(self, value: float): + @radius.setter + def radius(self, value: float): """ - Gets and sets minimum value, if any, that the value can be. The value is in radians. When getting this - property you should first check the hasMinimumValue property to see if this property - applies. Also, the isMinimumValueInclusive indicates if the minimum includes this - value or will be up to this value. - - Setting this value will change the isMinimumValueInclusive to True and the hasMinimumValue - property to True if hasMinimumValue is currently False, otherwise it will just update the value. + Gets and sets the radius of the arc. """ pass @property - def hasMinimumValue(self) -> bool: + def startAngle(self) -> float: """ - Gets and sets if there is a minimum value for this command input. When setting this property, it is only valid - to set it to False to remove the minimum value. Setting the minimumValue property will result in this property - being set to True. + Gets and sets the start angle of the arc in radians. + This angle is measured from the reference vector using the right hand rule around the normal vector. """ - return bool() - @hasMinimumValue.setter - def hasMinimumValue(self, value: bool): + return float() + @startAngle.setter + def startAngle(self, value: float): """ - Gets and sets if there is a minimum value for this command input. When setting this property, it is only valid - to set it to False to remove the minimum value. Setting the minimumValue property will result in this property - being set to True. + Gets and sets the start angle of the arc in radians. + This angle is measured from the reference vector using the right hand rule around the normal vector. """ pass @property - def isMinimumValueInclusive(self) -> bool: + def endAngle(self) -> float: """ - Gets and sets if the value of the input includes the minimum value or is up to the minimum value. For example, - if the minimum value is zero and this property is True, the minimum value can be zero. If this is False, the - minimum value must be greater than zero. When the minimum value is first defined using the minimumValue property, - this property is set to True. The value returned by this property is only meaningful when the hasMinimumValue property - returns True. + Gets and sets the end angle of the arc in radians. + This angle is measured from the reference vector using the right hand rule around the normal vector. """ - return bool() - @isMinimumValueInclusive.setter - def isMinimumValueInclusive(self, value: bool): + return float() + @endAngle.setter + def endAngle(self, value: float): """ - Gets and sets if the value of the input includes the minimum value or is up to the minimum value. For example, - if the minimum value is zero and this property is True, the minimum value can be zero. If this is False, the - minimum value must be greater than zero. When the minimum value is first defined using the minimumValue property, - this property is set to True. The value returned by this property is only meaningful when the hasMinimumValue property - returns True. + Gets and sets the end angle of the arc in radians. + This angle is measured from the reference vector using the right hand rule around the normal vector. """ pass @property - def maximumValue(self) -> float: + def startPoint(self) -> Point3D: """ - Gets and sets maximum value, if any, that the value can be. The value is in radians. When getting this - property you should first check the hasMaximumValue property to see if this property applies. Also, the - isMaximumValueInclusive indicates if the minimum includes this value or will be up to this value. - - Setting this value will change the isMaximumValueInclusive to True and the hasMaximumValue - property to True if hasMaximumValue is currently False, otherwise it will just update the value. + Gets the start point of the arc. """ - return float() - @maximumValue.setter - def maximumValue(self, value: float): + return Point3D() + @property + def endPoint(self) -> Point3D: """ - Gets and sets maximum value, if any, that the value can be. The value is in radians. When getting this - property you should first check the hasMaximumValue property to see if this property applies. Also, the - isMaximumValueInclusive indicates if the minimum includes this value or will be up to this value. - - Setting this value will change the isMaximumValueInclusive to True and the hasMaximumValue - property to True if hasMaximumValue is currently False, otherwise it will just update the value. + Gets the end point of the arc. + """ + return Point3D() + @property + def asNurbsCurve(self) -> NurbsCurve3D: + """ + Returns a NURBS curve that is geometrically identical to the arc. """ + return NurbsCurve3D() + +class BooleanProperty(Property): + """ + A material or appearance property that is a Boolean value. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> BooleanProperty: + return BooleanProperty() @property - def hasMaximumValue(self) -> bool: + def value(self) -> bool: """ - Gets and sets if there is a maximum value for this command input. When setting this property, it is only valid - to set it to False to remove the maximum value. Setting the maximumValue property will result in this property - being set to True. + Gets and sets the value of this property. """ return bool() - @hasMaximumValue.setter - def hasMaximumValue(self, value: bool): + @value.setter + def value(self, value: bool): """ - Gets and sets if there is a maximum value for this command input. When setting this property, it is only valid - to set it to False to remove the maximum value. Setting the maximumValue property will result in this property - being set to True. + Gets and sets the value of this property. """ pass + +class BoolValueCommandInput(CommandInput): + """ + Provides a command input to get a boolean value from the user. This is represented + in the user interface as either a button or a check box. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BoolValueCommandInput: + return BoolValueCommandInput() @property - def isMaximumValueInclusive(self) -> bool: + def value(self) -> bool: """ - Gets and sets if the value of the input includes the maximum value or is up to the maximum value. For example, - if the maximum value is the value of pi (180 degrees) and this property is True, the maximum value can be pi. - If this is False, the minimum value must be less than pi. When the maximum value is first defined using the - maximumValue property, this property is set to True. The value returned by this property is only meaningful - when the hasMaximumValue property returns True. + Gets or sets the state of this input. If it's being displayed as a check box a value of true indicates the input is checked. + If it's being displayed as a button, a value of true indicates the button is currently depressed. """ return bool() - @isMaximumValueInclusive.setter - def isMaximumValueInclusive(self, value: bool): + @value.setter + def value(self, value: bool): """ - Gets and sets if the value of the input includes the maximum value or is up to the maximum value. For example, - if the maximum value is the value of pi (180 degrees) and this property is True, the maximum value can be pi. - If this is False, the minimum value must be less than pi. When the maximum value is first defined using the - maximumValue property, this property is set to True. The value returned by this property is only meaningful - when the hasMaximumValue property returns True. + Gets or sets the state of this input. If it's being displayed as a check box a value of true indicates the input is checked. + If it's being displayed as a button, a value of true indicates the button is currently depressed. """ pass @property - def manipulatorOrigin(self) -> Point3D: + def resourceFolder(self) -> str: """ - Gets the origin point of the manipulator in the model space of the root component. - To set the origin use the setManipulator method. + Gets and sets the folder that contains the image to display on the button. Text + can also be displayed, which is specified using the text property. """ - return Point3D() - @property - def manipulatorXDirection(self) -> Vector3D: + return str() + @resourceFolder.setter + def resourceFolder(self, value: str): """ - Gets the X direction of the manipulator in the model space of the root component. The X direction is - the 0 angle direction. This direction, along with the Y direction vector define the plane that the - manipulator is displayed on. - - To set the direction use the setManipulator method. + Gets and sets the folder that contains the image to display on the button. Text + can also be displayed, which is specified using the text property. """ - return Vector3D() + pass @property - def manipulatorYDirection(self) -> Vector3D: + def isCheckBox(self) -> bool: """ - Gets the Y direction of the manipulator in the model space of the root component. The X and Y direction - vectors define the plane that the manipulator is displayed on. - - To set the direction use the setManipulator method. + Indicates if this is being shown as a button or check box. """ - return Vector3D() + return bool() @property - def isValidExpression(self) -> bool: + def text(self) -> str: """ - Returns true if the current expression is valid and can be evaluated. If this - is false, the value returned should be ignored because there currently is - not a valid value. + Gets and sets text to be displayed on the button. If the resourceFolder + is not specified then the button will be displayed with only text. If + text and the resource folder are specified then both the icon and text + will be displayed. """ - return bool() + return str() + @text.setter + def text(self, value: str): + """ + Gets and sets text to be displayed on the button. If the resourceFolder + is not specified then the button will be displayed with only text. If + text and the resource folder are specified then both the icon and text + will be displayed. + """ + pass -class AppearanceTextureProperty(Property): +class BrowserCommandInput(CommandInput): """ - A texture value property associated with a material or appearance. + Browser command inputs behave as a browser where you can define HTML to be displayed within the + area occupied by the command input. """ def __init__(self): pass @staticmethod - def cast(arg) -> AppearanceTextureProperty: - return AppearanceTextureProperty() + def cast(arg) -> BrowserCommandInput: + return BrowserCommandInput() + def sendInfoToHTML(self, action: str, data: str) -> bool: + """ + Sends a string to the JavaScript associated with the loaded HTML. + action : The "action" string to pass to the JavaScript associated with the HTML. This string can be + anything but will typically be JSON formatted information. + data : The "data" string to pass to the JavaScript associated with the HTML. This string can be + anything but will typically be JSON formatted information. + This API call is asynchronous and true is returned if the send was successful. Any response from + the JavaScript response will be returned through the incomingFromHTML event using the data field of + the provided HTMLEvent object where the action property is "response". + """ + return bool() @property - def value(self) -> AppearanceTexture: + def htmlFileURL(self) -> str: """ - Gets and sets this property value. + Gets and sets the URL to the HTML file currently being displayed. This can be local or on the web. """ - return AppearanceTexture() - @value.setter - def value(self, value: AppearanceTexture): + return str() + @htmlFileURL.setter + def htmlFileURL(self, value: str): """ - Gets and sets this property value. + Gets and sets the URL to the HTML file currently being displayed. This can be local or on the web. """ pass @property - def isUsed(self) -> bool: + def minimumHeight(self) -> int: """ - Specifies if this AppearanceTexture is being used. This is the equivalent of the - check box in the Appearance dialog to enable the use of a text for an appearance or not. - if this is False, then the value property should not be used because there isn't an associated. - AppearanceTexture. + Gets and sets the minimum height of the browser within the command dialog in pixels. As the user resizes the dialog, the area taken + up by the browser will shrink and grow to fit within the defined space. It will never shrink to be less than the + minimum height or expand to be larger than the maximum height. If the dialog can't fit the browser at the minimum size + a scroll bar will appear for the dialog to allow the user to scroll to access all the inputs in the dialog. """ - return bool() + return int() + @minimumHeight.setter + def minimumHeight(self, value: int): + """ + Gets and sets the minimum height of the browser within the command dialog in pixels. As the user resizes the dialog, the area taken + up by the browser will shrink and grow to fit within the defined space. It will never shrink to be less than the + minimum height or expand to be larger than the maximum height. If the dialog can't fit the browser at the minimum size + a scroll bar will appear for the dialog to allow the user to scroll to access all the inputs in the dialog. + """ + pass + @property + def maximumHeight(self) -> int: + """ + Gets and sets the maximum height of the browser within the command dialog, in pixels. As the user resizes + the dialog, the area taken up by the browser will shrink and grow to fit within the defined space. It will never + shrink to be less than the minimum height or expand to be larger than the maximum height. If the content displayed + within the browser does not fit within the current area, a scroll bar will appear to allow the user to scroll to see + the entire browser content. The default value of zero sets no maximum height, so the browser will expand to the maximum + extent available. + """ + return int() + @maximumHeight.setter + def maximumHeight(self, value: int): + """ + Gets and sets the maximum height of the browser within the command dialog, in pixels. As the user resizes + the dialog, the area taken up by the browser will shrink and grow to fit within the defined space. It will never + shrink to be less than the minimum height or expand to be larger than the maximum height. If the content displayed + within the browser does not fit within the current area, a scroll bar will appear to allow the user to scroll to see + the entire browser content. The default value of zero sets no maximum height, so the browser will expand to the maximum + extent available. + """ + pass -class ApplicationCommandEvent(Event): +class ButtonControlDefinition(ControlDefinition): """ - An event endpoint that supports the connection to ApplicationCommandEventHandlers. + Represents the information used to define a button. This isn't the visible button control but + is the information needed to create a button control and fully defines a button except for + it's position within the user interface. """ def __init__(self): pass @staticmethod - def cast(arg) -> ApplicationCommandEvent: - return ApplicationCommandEvent() - def add(self, handler: ApplicationCommandEventHandler) -> bool: - """ - Adds an event handler object to this event endpoint. - handler : The ApplicationCommandEventHandler to be called when this event is triggered. - Returns true if the handler was successfully added to the set of event handlers. - """ - return bool() - def remove(self, handler: ApplicationCommandEventHandler) -> bool: - """ - Removes a handler from this event endpoint. - handler : An ApplicationCommandEventHandler that was previously added to this event with the add method. - Returns true if the handler was found and removed from the set of event handlers. - """ - return bool() + def cast(arg) -> ButtonControlDefinition: + return ButtonControlDefinition() -class ApplicationCommandEventArgs(EventArgs): +class ButtonRowCommandInput(CommandInput): """ - Provides a set of arguments from a firing ApplicationCommandEvent to an ApplicationCommandEventHandler's - notify callback method. + Provides a command input to get a selection of a single button from a row of buttons. """ def __init__(self): pass @staticmethod - def cast(arg) -> ApplicationCommandEventArgs: - return ApplicationCommandEventArgs() - @property - def commandDefinition(self) -> CommandDefinition: - """ - Returns the CommandDefinition object for the command the event is being fired for. - """ - return CommandDefinition() - @property - def commandId(self) -> str: - """ - Returns the unique id of the command the event if being fired for. - """ - return str() + def cast(arg) -> ButtonRowCommandInput: + return ButtonRowCommandInput() @property - def isCanceled(self) -> bool: + def isMultiSelectEnabled(self) -> bool: """ - Used during the commandStarting event to get or set if the command should - be allowed to continue executing or be canceled. This defaults to false, - which will allow the command to execute. Setting this to true will cancel - the command and not begin the execution. - This property should be ignored for all events besides the commandStarting event. + Returns if this button row can have multiple items selected at once or not. + If True, multiple buttons can be selected at once. If False only one button + can be selected and selecting another button unselects the one currently selected. """ return bool() - @isCanceled.setter - def isCanceled(self, value: bool): + @property + def listItems(self) -> ListItems: """ - Used during the commandStarting event to get or set if the command should - be allowed to continue executing or be canceled. This defaults to false, - which will allow the command to execute. Setting this to true will cancel - the command and not begin the execution. - This property should be ignored for all events besides the commandStarting event. + Returns the ListItems object associated with this button row. You use this + object to populate and interact with the buttons in the row. When adding items + to a ButtonRowCommandInput, icons are required. """ - pass + return ListItems() @property - def terminationReason(self) -> CommandTerminationReason: + def selectedItem(self) -> ListItem: """ - Returns the reason the command is being terminated. - This property should be ignored for all events besides the commandTerminated event. + Gets the button in the row that is currently selected. This can return null in the + case where no button in the row has been selected. """ - return CommandTerminationReason() + return ListItem() -class ApplicationEvent(Event): +class CameraEvent(Event): """ - An ApplicationEvent represents a Fusion 360 application related event. For example, startupCompleted or OnlineStatusChanged + A CameraEvent represents an event that occurs in reaction to the user manipulating the view. + Camera changes happen when user changes the view by rotating, zooming in or out, panning, + changing from parallel to perspective, or when the extents of the viewport changes. """ def __init__(self): pass @staticmethod - def cast(arg) -> ApplicationEvent: - return ApplicationEvent() - def add(self, handler: ApplicationEventHandler) -> bool: + def cast(arg) -> CameraEvent: + return CameraEvent() + def add(self, handler: CameraEventHandler) -> bool: """ Add a handler to be notified when the event occurs. handler : The handler object to be called when this event is fired. Returns true if the addition of the handler was successful. """ return bool() - def remove(self, handler: ApplicationEventHandler) -> bool: + def remove(self, handler: CameraEventHandler) -> bool: """ Removes a handler from the event. handler : The handler object to be removed from the event. @@ -11090,2968 +13441,3218 @@ def remove(self, handler: ApplicationEventHandler) -> bool: """ return bool() -class ApplicationEventArgs(EventArgs): +class CameraEventArgs(EventArgs): """ - The ApplicationEventArgs provides information associated with an application event. - Note that some properties are not available on every event + The CameraEventArgs provides information associated with a camera change. + Camera changes happen when user changes the view by rotating, zooming in or out, panning, + changing from parallel to perspective, or when the extents of the viewport changes. """ def __init__(self): pass @staticmethod - def cast(arg) -> ApplicationEventArgs: - return ApplicationEventArgs() + def cast(arg) -> CameraEventArgs: + return CameraEventArgs() @property - def isOffLine(self) -> bool: + def viewport(self) -> Viewport: """ - Gets and sets if Fusion 360 is offline or not. + Returns the viewport that the modified camera is associated with. + """ + return Viewport() + +class CheckBoxControlDefinition(ControlDefinition): + """ + Represents the information used to define a check box. This isn't the visible check box control but + is the information needed to create a check box control and fully defines a check box except for + it's position within the user interface. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CheckBoxControlDefinition: + return CheckBoxControlDefinition() + @property + def isChecked(self) -> bool: + """ + Gets or sets whether the check box is checked. Changing this will result in changing any + associated controls and will execute the associated command. """ return bool() - @isOffLine.setter - def isOffLine(self, value: bool): + @isChecked.setter + def isChecked(self, value: bool): """ - Gets and sets if Fusion 360 is offline or not. + Gets or sets whether the check box is checked. Changing this will result in changing any + associated controls and will execute the associated command. """ pass + +class ChoiceProperty(Property): + """ + A material or appearance property that is a predefined list of choices. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ChoiceProperty: + return ChoiceProperty() + def getChoices(self) -> tuple[bool, list[str], list[str]]: + """ + Method that returns the list of available choices. + names : An array of the names of the choices. These coincide with the array of choices returned by the choices argument. + choices : An array of the choices. These coincide with the array of names returned by the names argument. + Returns true if the call was successful. + """ + return (bool(), [str()], [str()]) @property - def hasInternetAccess(self) -> bool: + def value(self) -> str: """ - Gets if the client computer has access to the Internet. + Gets and sets the which choice is selected from the set of choices. + The value is a string that matches one of the predefined choices. + The names of the available choices can be obtained using GetChoices method. """ - return bool() + return str() + @value.setter + def value(self, value: str): + """ + Gets and sets the which choice is selected from the set of choices. + The value is a string that matches one of the predefined choices. + The names of the available choices can be obtained using GetChoices method. + """ + pass -class Arc2D(Curve2D): +class Circle2D(Curve2D): """ - Transient 2D arc. A transient arc is not displayed or saved in a document. - Transient arcs are used as a wrapper to work with raw 2D arc information. They - are created statically using one of the create methods supported by the Arc2D class. + Transient 2D circle. A transient circle is not displayed or saved in a document. + Transient circles are used as a wrapper to work with raw 2D arc information. They + are created statically using one of the create methods of the Circle2D class. """ def __init__(self): pass @staticmethod - def cast(arg) -> Arc2D: - return Arc2D() + def cast(arg) -> Circle2D: + return Circle2D() @staticmethod - def createByCenter(center: Point2D, radius: float, startAngle: float, endAngle: float, isClockwise: bool) -> Arc2D: + def createByCenter(center: Point2D, radius: float) -> Circle2D: """ - Creates a transient 2D arc object specifying the center, radius and start and end angles. - A transient arc is not displayed or saved in a document. Transient arcs arcs are used as - a wrapper to work with raw 2D arc information. - center : A Point2D object that defines the center position of the arc in 2D space. - radius : The radius of the arc. - startAngle : The start angle in radians, where 0 is along the X-axis. - endAngle : The end angle in radians, where 0 is along the X-axis. - isClockwise : Specifies if the sweep of the arc is clockwise or counterclockwise from the start to end angle. - Returns the newly created arc or null if the creation failed. + Creates a transient 2D circle object by specifying a center and radius. + center : A Point2D object that defines the center of the circle. + radius : The radius of the circle. + Returns the new Circle2D object or null if the creation failed. """ - return Arc2D() + return Circle2D() @staticmethod - def createByThreePoints(startPoint: Point2D, point: Point2D, endPoint: Point2D) -> Arc2D: + def createByThreePoints(pointOne: Point2D, pointTwo: Point2D, pointThree: Point2D) -> Circle2D: """ - Creates a transient 2D arc by specifying 3 points. - A transient arc is not displayed or saved in a document. Transient arcs arcs are used as - a wrapper to work with raw 2D arc information. - startPoint : The start point of the arc. - point : A point along the arc. - endPoint : The end point of the arc. - Returns the newly created arc or null if the creation failed. + Creates a transient 2D circle through three points. + pointOne : The first point on the circle. + pointTwo : The second point on the circle. + pointThree : The third point on the circle. + Returns the new Circle2D object or null if the creation failed. """ - return Arc2D() - def copy(self) -> Arc2D: + return Circle2D() + def copy(self) -> Circle2D: """ - Creates and returns an independent copy of this Arc2D object. - Returns a new Arc2D object that is a copy of this Arc2D object. + Creates and returns an independent copy of this Circle2D object. + Returns an independent copy of this Circle2D object. """ - return Arc2D() - def getData(self) -> tuple[bool, Point2D, float, float, float, bool]: + return Circle2D() + def getData(self) -> tuple[bool, Point2D, float]: """ - Gets all of the data defining the arc. - center : The output center point of the arc. - radius : The output radius of the arc. - startAngle : The output start angle of the arc in radians, where 0 is along the x axis. - endAngle : The output end angle of the arc in radians, where 0 is along the x axis. - isClockwise : The output value that indicates if the sweep direction is clockwise or counterclockwise. - Returns true if successful + Gets all of the data defining the circle. + center : The output point defining the center position of the circle. + radius : The output radius of the circle. + Returns true if successful. """ - return (bool(), Point2D(), float(), float(), float(), bool()) - def set(self, center: Point2D, radius: float, startAngle: float, endAngle: float, isClockwise: bool) -> bool: + return (bool(), Point2D(), float()) + def set(self, center: Point2D, radius: float) -> bool: """ - Sets all of the data defining the arc. - center : A Point2D object defining the center position of the arc. - radius : The radius of the arc. - startAngle : The start angle of the arc in radians, where 0 is along the x axis. - endAngle : The end angle of the arc in radians, where 0 is along the x axis. - isClockwise : Indicates if the sweep direction is clockwise or counterclockwise. - Returns true if redefining the arc is successful + Sets all of the data defining the circle. + center : A point that defines the center position of the circle. + radius : The radius of the circle. + Returns true if redefining the circle is successful """ return bool() @property def center(self) -> Point2D: """ - Gets and sets the center position of the arc. + Gets and sets the center position of the circle. """ return Point2D() @center.setter def center(self, value: Point2D): """ - Gets and sets the center position of the arc. + Gets and sets the center position of the circle. """ pass @property def radius(self) -> float: """ - Gets and sets the radius of the arc. + Gets and sets the radius of the circle. """ return float() @radius.setter def radius(self, value: float): """ - Gets and sets the radius of the arc. - """ - pass - @property - def startAngle(self) -> float: - """ - Gets and sets the start angle of the arc in radians, where 0 is along the x axis. - """ - return float() - @startAngle.setter - def startAngle(self, value: float): - """ - Gets and sets the start angle of the arc in radians, where 0 is along the x axis. - """ - pass - @property - def endAngle(self) -> float: - """ - Gets and sets the end angle of the arc in radians, where 0 is along the x axis. - """ - return float() - @endAngle.setter - def endAngle(self, value: float): - """ - Gets and sets the end angle of the arc in radians, where 0 is along the x axis. + Gets and sets the radius of the circle. """ pass @property - def isClockwise(self) -> bool: - """ - Specifies if the sweep direction of the arc is clockwise or counterclockwise. - """ - return bool() - @property - def startPoint(self) -> Point2D: - """ - Gets the position of the start point of the arc. - """ - return Point2D() - @property - def endPoint(self) -> Point2D: - """ - Gets the position of the end point of the arc. - """ - return Point2D() - @property def asNurbsCurve(self) -> NurbsCurve2D: """ - Returns a NURBS curve that is geometrically identical to the arc. + Returns a NURBS curve that is geometrically identical to the circle. """ return NurbsCurve2D() -class Arc3D(Curve3D): +class Circle3D(Curve3D): """ - Transient 3D arc. A transient arc is not displayed or saved in a document. - Transient 3D arcs are used as a wrapper to work with raw 3D arc information. - They are created statically using one of the create methods of the Arc3D class. + Transient 3D circle. A transient circle is not displayed or saved in a document. + Transient 3D circles are used as a wrapper to work with raw 3D circle information. + They are created statically using one of the create methods of the Circle3D class. """ def __init__(self): pass @staticmethod - def cast(arg) -> Arc3D: - return Arc3D() - @staticmethod - def createByCenter(center: Point3D, normal: Vector3D, referenceVector: Vector3D, radius: float, startAngle: float, endAngle: float) -> Arc3D: - """ - Creates a transient 3D arc object by specifying a center point and radius. - center : The center point of the arc. - normal : The normal vector of the arc. - The plane perpendicular to this normal at the center point is the plane of the arc. - referenceVector : A reference vector from which the start and end angles are measured from. - This vector must be perpendicular to the normal vector. - radius : The radius of the arc. - startAngle : The start angle in radians. - This angle is measured from the reference vector using the right hand rule around the normal vector. - endAngle : The end angle in radians. - This angle is measured from the reference vector using the right hand rule around the normal vector. - Returns the newly created arc or null if the creation failed. - """ - return Arc3D() + def cast(arg) -> Circle3D: + return Circle3D() @staticmethod - def createByThreePoints(pointOne: Point3D, pointTwo: Point3D, pointThree: Point3D) -> Arc3D: + def createByCenter(center: Point3D, normal: Vector3D, radius: float) -> Circle3D: """ - Creates a transient 3D arc by specifying 3 points. - A transient arc is not displayed or saved in a document. Transient arcs are used as - a wrapper to work with raw 3D arc information. - pointOne : The start point of the arc. - pointTwo : A point along the arc. - This point must not be coincident with the first or third points. - This point must not lie on the line between the first and third points. - pointThree : The end point of the arc. - This point must not be coincident with the first or second points. - Returns the newly created arc or null if the creation failed. + Creates a transient 3D circle object by specifying a center and radius. + center : The center point of the circle. + normal : The normal vector of the circle. + The plane through the center point and perpendicular to the normal vector defines the plane of the circle. + radius : The radius of the circle. + Returns the new Circle3D object or null if the creation failed. """ - return Arc3D() - def setAxes(self, normal: Vector3D, referenceVector: Vector3D) -> bool: + return Circle3D() + @staticmethod + def createByThreePoints(pointOne: Point3D, pointTwo: Point3D, pointThree: Point3D) -> Circle3D: """ - Sets the normal and reference vectors of the arc. - normal : The new normal vector. - referenceVector : The new reference vector from which the start and end angles are measured from. - The reference vector must be perpendicular to the normal vector. - Returns true if successful + Creates a transient 3D circle through three points. + pointOne : The first point on the circle. + pointTwo : The second point on the circle. + This point cannot be coincident with pointOne or pointThree. + This point cannot lie on the line defined by pointOne and pointThree. + pointThree : The third point on the circle. + This point cannot be coincident with pointOne or pointThree. + Returns the new Circle3D object or null if the creation failed. """ - return bool() - def copy(self) -> Arc3D: + return Circle3D() + def copy(self) -> Circle3D: """ - Creates and returns an independent copy of this Arc3D object. - Returns a new Arc3D object that is a copy of this Arc3D object. + Creates and returns an independent copy of this Circle3D object. + Returns an independent copy of this Circle3D object. """ - return Arc3D() - def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float, float]: + return Circle3D() + def getData(self) -> tuple[bool, Point3D, Vector3D, float]: """ - Gets all of the data defining the arc. - center : The output center point of the arc. + Gets all of the data defining the circle. + center : The output center point of the circle. normal : The output normal vector. - referenceVector : The output reference vector. - radius : The output radius of the arc. - startAngle : The output start angle in radians. - This angle is measured from the reference vector using the right hand rule around the normal vector. - endAngle : The output end angle in radians. - This angle is measured from the reference vector using the right hand rule around the normal vector. + radius : The output radius of the circle. Returns true if successful """ - return (bool(), Point3D(), Vector3D(), Vector3D(), float(), float(), float()) - def set(self, center: Point3D, normal: Vector3D, referenceVector: Vector3D, radius: float, startAngle: float, endAngle: float) -> bool: + return (bool(), Point3D(), Vector3D(), float()) + def set(self, center: Point3D, normal: Vector3D, radius: float) -> bool: """ - Sets all of the data defining the arc. - center : The center point of the arc. - normal : The normal vector of the arc. - The plane perpendicular to this normal at the center point is the plane of the arc. - referenceVector : A reference vector from which the start and end angles are measured from. - This vector must be perpendicular to the normal vector. - radius : The radius of the arc. - startAngle : The start angle in radians. - This angle is measured from the reference vector using the right hand rule around the normal vector. - endAngle : The end angle in radians. - This angle is measured from the reference vector using the right hand rule around the normal vector. + Sets all of the data defining the circle. + center : The center point of the circle. + normal : The normal vector of the circle. + The plane through the center point and perpendicular to the normal vector defines the plane of the circle. + radius : The radius of the circle. Returns true if successful """ return bool() @property def center(self) -> Point3D: """ - Gets and sets the center position of the arc. + Gets and sets the center position of the circle. """ return Point3D() @center.setter def center(self, value: Point3D): """ - Gets and sets the center position of the arc. + Gets and sets the center position of the circle. """ pass @property def normal(self) -> Vector3D: """ - Gets and sets the normal of the arc. + Gets and sets the normal of the circle. """ return Vector3D() - @property - def referenceVector(self) -> Vector3D: + @normal.setter + def normal(self, value: Vector3D): """ - Gets and sets the reference vector of the arc. + Gets and sets the normal of the circle. """ - return Vector3D() + pass @property def radius(self) -> float: """ - Gets and sets the radius of the arc. + Gets and sets the radius of the circle. """ return float() @radius.setter def radius(self, value: float): """ - Gets and sets the radius of the arc. + Gets and sets the radius of the circle. """ pass @property - def startAngle(self) -> float: + def asNurbsCurve(self) -> NurbsCurve3D: """ - Gets and sets the start angle of the arc in radians. - This angle is measured from the reference vector using the right hand rule around the normal vector. + Returns a NURBS curve that is geometrically identical to the circle. """ - return float() - @startAngle.setter - def startAngle(self, value: float): + return NurbsCurve3D() + +class ColorProperty(Property): + """ + A color property associated with an appearance. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ColorProperty: + return ColorProperty() + @property + def connectedTexture(self) -> AppearanceTexture: """ - Gets and sets the start angle of the arc in radians. - This angle is measured from the reference vector using the right hand rule around the normal vector. + Gets the associated texture, if one exists. The HasConnectedTexture property controls + if there is an associated texture or not. If the parent is writable you can edit the + texture. If no texture exists, this property will return null. + """ + return AppearanceTexture() + @property + def hasConnectedTexture(self) -> bool: + """ + Specifies if this color is specified using a simple color or a texture. If this returns true + the color is defined using a texture. If the parent is writable, this property can be set to + true to change the definition from a simple color to a texture. You can then use the ConnectedTexture + property to get the associated texture and modify it. + """ + return bool() + @hasConnectedTexture.setter + def hasConnectedTexture(self, value: bool): + """ + Specifies if this color is specified using a simple color or a texture. If this returns true + the color is defined using a texture. If the parent is writable, this property can be set to + true to change the definition from a simple color to a texture. You can then use the ConnectedTexture + property to get the associated texture and modify it. """ pass @property - def endAngle(self) -> float: + def hasMultipleValues(self) -> bool: """ - Gets and sets the end angle of the arc in radians. - This angle is measured from the reference vector using the right hand rule around the normal vector. + Indicates if this property has multiple values or not. """ - return float() - @endAngle.setter - def endAngle(self, value: float): + return bool() + @property + def value(self) -> Color: """ - Gets and sets the end angle of the arc in radians. - This angle is measured from the reference vector using the right hand rule around the normal vector. + Gets and sets this property value if there is a color and not a texture defining + this color . If a texture is used, this property returns null. Setting this property + when a texture is used removes the texture and changes the color definition to a simple color. + """ + return Color() + @value.setter + def value(self, value: Color): + """ + Gets and sets this property value if there is a color and not a texture defining + this color . If a texture is used, this property returns null. Setting this property + when a texture is used removes the texture and changes the color definition to a simple color. """ pass @property - def startPoint(self) -> Point3D: + def values(self) -> list[Color]: """ - Gets the start point of the arc. + Gets and sets the values associated with this property. The HasMultipleValues property + indicates if this property will be returning more than one value. """ - return Point3D() + return [Color()] + @values.setter + def values(self, value: list[Color]): + """ + Gets and sets the values associated with this property. The HasMultipleValues property + indicates if this property will be returning more than one value. + """ + pass + +class CommandControl(ToolbarControl): + """ + Represents a button, check box, or radio control list in a panel, toolbar, or drop-down. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CommandControl: + return CommandControl() @property - def endPoint(self) -> Point3D: + def commandDefinition(self) -> CommandDefinition: """ - Gets the end point of the arc. + Gets the command definition associated with this button. The command definition defines + all of the resource information used to display this button and receives the event when the button is clicked. """ - return Point3D() + return CommandDefinition() @property - def asNurbsCurve(self) -> NurbsCurve3D: + def isPromoted(self) -> bool: """ - Returns a NURBS curve that is geometrically identical to the arc. + Gets or sets if this command has been promoted to the parent panel. + This property is ignored in the case where this control isn't in a panel. """ - return NurbsCurve3D() + return bool() + @isPromoted.setter + def isPromoted(self, value: bool): + """ + Gets or sets if this command has been promoted to the parent panel. + This property is ignored in the case where this control isn't in a panel. + """ + pass + @property + def isPromotedByDefault(self) -> bool: + """ + Gets or sets if this command is a default command in the panel. + This defines the default state of the panel if the UI is reset. + This property is ignored in the case where this control isn't in a panel. + """ + return bool() + @isPromotedByDefault.setter + def isPromotedByDefault(self, value: bool): + """ + Gets or sets if this command is a default command in the panel. + This defines the default state of the panel if the UI is reset. + This property is ignored in the case where this control isn't in a panel. + """ + pass -class BooleanProperty(Property): +class CommandCreatedEvent(Event): """ - A material or appearance property that is a Boolean value. + Class that needs to be implemented in order to respond to the CommandCreatedEvent event. """ def __init__(self): pass @staticmethod - def cast(arg) -> BooleanProperty: - return BooleanProperty() + def cast(arg) -> CommandCreatedEvent: + return CommandCreatedEvent() + def add(self, handler: CommandCreatedEventHandler) -> bool: + """ + Adds an event handler object to this event endpoint. + handler : The client implemented CommandCreatedEventHandler to be called when this event is triggered. + Returns true if the handler was successfully added to the set of event handlers. + """ + return bool() + def remove(self, handler: CommandCreatedEventHandler) -> bool: + """ + Removes a handler from this event endpoint. + handler : A CommandCreatedEventHandler that was previously added to this event with the add method. + Returns true if the handler was found and removed from the set of event handlers. + """ + return bool() + +class CommandCreatedEventArgs(EventArgs): + """ + Provides data for the CommandCreated event. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CommandCreatedEventArgs: + return CommandCreatedEventArgs() @property - def value(self) -> bool: + def command(self) -> Command: + """ + Gets the newly created Command object that allows you to perform an action in response to the control being clicked. + """ + return Command() + +class CommandEvent(Event): + """ + An event endpoint that supports the connection to client implemented CommandEventHandlers. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CommandEvent: + return CommandEvent() + def add(self, handler: CommandEventHandler) -> bool: """ - Gets and sets the value of this property. + Adds an event handler object to this event endpoint. + handler : The client implemented CommandEventHandler to be called when this event is triggered. + Returns true if the handler was successfully added to the set of event handlers. """ return bool() - @value.setter - def value(self, value: bool): + def remove(self, handler: CommandEventHandler) -> bool: """ - Gets and sets the value of this property. + Removes a handler from this event endpoint. + handler : A CommandEventHandler that was previously added to this event with the add method. + Returns true if the handler was found and removed from the set of event handlers. """ - pass + return bool() -class BoolValueCommandInput(CommandInput): +class CommandEventArgs(EventArgs): """ - Provides a command input to get a boolean value from the user. This is represented - in the user interface as either a button or a check box. + Provides a set of arguments from a firing CommandEvent to a CommandEventHandler's notify callback method. """ def __init__(self): pass @staticmethod - def cast(arg) -> BoolValueCommandInput: - return BoolValueCommandInput() + def cast(arg) -> CommandEventArgs: + return CommandEventArgs() @property - def value(self) -> bool: + def command(self) -> Command: """ - Gets or sets the state of this input. If it's being displayed as a check box a value of true indicates the input is checked. - If it's being displayed as a button, a value of true indicates the button is currently depressed. + Gets the Command object. + """ + return Command() + @property + def executeFailed(self) -> bool: + """ + Used during the execute event to get or set that the execute operations failed + and the commands transaction should be aborted. + This property should be ignored for all events besides the Execute event. """ return bool() - @value.setter - def value(self, value: bool): + @executeFailed.setter + def executeFailed(self, value: bool): """ - Gets or sets the state of this input. If it's being displayed as a check box a value of true indicates the input is checked. - If it's being displayed as a button, a value of true indicates the button is currently depressed. + Used during the execute event to get or set that the execute operations failed + and the commands transaction should be aborted. + This property should be ignored for all events besides the Execute event. """ pass @property - def resourceFolder(self) -> str: + def executeFailedMessage(self) -> str: """ - Gets and sets the folder that contains the image to display on the button. Text - can also be displayed, which is specified using the text property. + Used during the execute event to get or set a description of an execute failure. + This property should be ignored for all events besides the Execute event. """ return str() - @resourceFolder.setter - def resourceFolder(self, value: str): + @executeFailedMessage.setter + def executeFailedMessage(self, value: str): """ - Gets and sets the folder that contains the image to display on the button. Text - can also be displayed, which is specified using the text property. + Used during the execute event to get or set a description of an execute failure. + This property should be ignored for all events besides the Execute event. """ pass @property - def isCheckBox(self) -> bool: + def isValidResult(self) -> bool: """ - Indicates if this is being shown as a button or check box. + Used during the commandStarting event to get or set that the result of preview is valid + and the command can reuse the result when OK is hit. + This property should be ignored for all events besides the executePreview event. """ return bool() - @property - def text(self) -> str: + @isValidResult.setter + def isValidResult(self, value: bool): """ - Gets and sets text to be displayed on the button. If the resourceFolder - is not specified then the button will be displayed with only text. If - text and the resource folder are specified then both the icon and text - will be displayed. + Used during the commandStarting event to get or set that the result of preview is valid + and the command can reuse the result when OK is hit. + This property should be ignored for all events besides the executePreview event. """ - return str() - @text.setter - def text(self, value: str): + pass + @property + def terminationReason(self) -> CommandTerminationReason: """ - Gets and sets text to be displayed on the button. If the resourceFolder - is not specified then the button will be displayed with only text. If - text and the resource folder are specified then both the icon and text - will be displayed. + Gets the termination reason of the command. It's only valid on the destroy event. """ - pass + return CommandTerminationReason() -class BrowserCommandInput(CommandInput): +class Cone(Surface): """ - Browser command inputs behave as a browser where you can define HTML to be displayed within the - area occupied by the command input. + Transient cone. A transient cone is not displayed or saved in a document. + A transient cone is used as a wrapper to work with raw cone information. + A transient cone has no boundaries. + The cone always goes to a point in its narrowing direction, and is infinite in its + widening direction. + They are created statically using the create method of the Cone class. """ def __init__(self): pass @staticmethod - def cast(arg) -> BrowserCommandInput: - return BrowserCommandInput() - def sendInfoToHTML(self, action: str, data: str) -> bool: + def cast(arg) -> Cone: + return Cone() + @staticmethod + def create(origin: Point3D, axis: Vector3D, radius: float, halfAngle: float) -> Cone: """ -

Sends the string to the JavaScript associated with the loaded HTML. A variation of the - event handler below should be implemented in the JavaScript associated with the HTML to - receive the data. The event will be triggered by Fusion 360 whenever the sendInfoToHTML method - is called.

- -
window.fusionJavaScriptHandler = {
-        handle: function(actionString, dataString){
-        confirm('Action from Fusion: ' + actionString);
-        confirm('Data from Fusion: ' + dataString);
-        
-        // Build up JSON return string.
-        var result = {};
-        result.status = 'OK';
-        var response = JSON.stringify(result);
-        return response;
-        }
-        };
-

Your JavaScript code should always return something in response because an empty string - response is assumed to be a failure.

- action : The "action" string to pass to the JavaScript associated with the HTML. This string can be - anything but will typically be JSON formatted information. - data : The "data" string to pass to the JavaScript associated with the HTML. This string can be - anything but will typically be JSON formatted information. - This API call is asynchronous and true is returned if the send was successful. Any response from - the JavaScript response will be returned through the incomingFromHTML event using the data field of - the provided HTMLEvent object where the action property is "response". + Creates a transient cone object. + origin : The origin point (center) of the base of the cone. + axis : The center axis (along the length) of the cone that defines its normal direction. + radius : The radius of the cone. + halfAngle : The taper half-angle of the cone. + Returns the new Cone object or null if the creation failed. """ - return bool() - @property - def htmlFileURL(self) -> str: + return Cone() + def getData(self) -> tuple[bool, Point3D, Vector3D, float, float]: """ - Gets and sets the URL to the HTML file currently being displayed. This can be local or on the web. + Gets the data that defines the cone. + origin : The output origin point (center) of the base of the cone. + axis : The output center axis (along the length) of the cone that defines its normal direction. + radius : The output radius of the cone. + halfAngle : The output taper half-angle of the cone. + Returns true if successful. """ - return str() - @htmlFileURL.setter - def htmlFileURL(self, value: str): + return (bool(), Point3D(), Vector3D(), float(), float()) + def set(self, origin: Point3D, axis: Vector3D, radius: float, halfAngle: float) -> bool: """ - Gets and sets the URL to the HTML file currently being displayed. This can be local or on the web. + Sets the data that defines the cone. + origin : The origin point (center) of the base of the cone. + axis : The center axis (along the length) of the cone that defines its normal direction. + radius : The radius of the cone. + halfAngle : The taper half-angle of the cone. + Returns true if successful. """ - pass + return bool() + def copy(self) -> Cone: + """ + Creates and returns an independent copy of this Cone object. + Returns a new Cone object that is a copy of this Cone object. + """ + return Cone() @property - def minimumHeight(self) -> int: + def origin(self) -> Point3D: """ - Gets and sets the minimum height of the browser within the command dialog in pixels. As the user resizes the dialog, the area taken - up by the browser will shrink and grow to fit within the defined space. It will never shrink to be less than the - minimum height or expand to be larger than the maximum height. If the dialog can't fit the browser at the minimum size - a scroll bar will appear for the dialog to allow the user to scroll to access all the inputs in the dialog. + Gets and sets the origin point (center) of the base of the cone. """ - return int() - @minimumHeight.setter - def minimumHeight(self, value: int): + return Point3D() + @origin.setter + def origin(self, value: Point3D): """ - Gets and sets the minimum height of the browser within the command dialog in pixels. As the user resizes the dialog, the area taken - up by the browser will shrink and grow to fit within the defined space. It will never shrink to be less than the - minimum height or expand to be larger than the maximum height. If the dialog can't fit the browser at the minimum size - a scroll bar will appear for the dialog to allow the user to scroll to access all the inputs in the dialog. + Gets and sets the origin point (center) of the base of the cone. """ pass @property - def maximumHeight(self) -> int: + def axis(self) -> Vector3D: """ - Gets and sets the maximum height of the browser within the command dialog, in pixels. As the user resizes - the dialog, the area taken up by the browser will shrink and grow to fit within the defined space. It will never - shrink to be less than the minimum height or expand to be larger than the maximum height. If the content displayed - within the browser does not fit within the current area, a scroll bar will appear to allow the user to scroll to see - the entire browser content. The default value of zero sets no maximum height, so the browser will expand to the maximum - extent available. + Gets and sets the center axis (along the length) of the cone that defines its + normal direction. """ - return int() - @maximumHeight.setter - def maximumHeight(self, value: int): + return Vector3D() + @axis.setter + def axis(self, value: Vector3D): """ - Gets and sets the maximum height of the browser within the command dialog, in pixels. As the user resizes - the dialog, the area taken up by the browser will shrink and grow to fit within the defined space. It will never - shrink to be less than the minimum height or expand to be larger than the maximum height. If the content displayed - within the browser does not fit within the current area, a scroll bar will appear to allow the user to scroll to see - the entire browser content. The default value of zero sets no maximum height, so the browser will expand to the maximum - extent available. + Gets and sets the center axis (along the length) of the cone that defines its + normal direction. """ pass - -class ButtonControlDefinition(ControlDefinition): - """ - Represents the information used to define a button. This isn't the visible button control but - is the information needed to create a button control and fully defines a button except for - it's position within the user interface. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ButtonControlDefinition: - return ButtonControlDefinition() - -class ButtonRowCommandInput(CommandInput): - """ - Provides a command input to get a selection of a single button from a row of buttons. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ButtonRowCommandInput: - return ButtonRowCommandInput() @property - def isMultiSelectEnabled(self) -> bool: + def radius(self) -> float: """ - Returns if this button row can have multiple items selected at once or not. - If True, multiple buttons can be selected at once. If False only one button - can be selected and selecting another button unselects the one currently selected. + Gets and sets the radius of the cone. """ - return bool() - @property - def listItems(self) -> ListItems: + return float() + @radius.setter + def radius(self, value: float): """ - Returns the ListItems object associated with this button row. You use this - object to populate and interact with the buttons in the row. When adding items - to a ButtonRowCommandInput, icons are required. + Gets and sets the radius of the cone. """ - return ListItems() + pass @property - def selectedItem(self) -> ListItem: + def halfAngle(self) -> float: """ - Gets the button in the row that is currently selected. This can return null in the - case where no button in the row has been selected. + Gets and sets the taper half-angle of the cone in radians. + A negative value indicates that the cone is narrowing in the direction of the + axis vector, whereas a positive value indicates that it is expanding in the direction of + the axis vector. + """ + return float() + @halfAngle.setter + def halfAngle(self, value: float): + """ + Gets and sets the taper half-angle of the cone in radians. + A negative value indicates that the cone is narrowing in the direction of the + axis vector, whereas a positive value indicates that it is expanding in the direction of + the axis vector. """ - return ListItem() + pass -class CameraEvent(Event): +class CustomEvent(Event): """ - A CameraEvent represents an event that occurs in reaction to the user manipulating the view. - Camera changes happen when user changes the view by rotating, zooming in or out, panning, - changing from parallel to perspective, or when the extents of the viewport changes. + A CustomEvent is primarily used to send an event from a worker thread you've created back + to your add-in, which is running in the primary thread. It's also possible for add-ins to + cooperate and another add-in can trigger this event in your add-in by knowing the custom + event id. """ def __init__(self): pass @staticmethod - def cast(arg) -> CameraEvent: - return CameraEvent() - def add(self, handler: CameraEventHandler) -> bool: + def cast(arg) -> CustomEvent: + return CustomEvent() + def add(self, handler: CustomEventHandler) -> bool: """ Add a handler to be notified when the event occurs. handler : The handler object to be called when this event is fired. Returns true if the addition of the handler was successful. """ return bool() - def remove(self, handler: CameraEventHandler) -> bool: + def remove(self, handler: CustomEventHandler) -> bool: """ Removes a handler from the event. handler : The handler object to be removed from the event. Returns true if removal of the handler was successful. """ return bool() - -class CameraEventArgs(EventArgs): - """ - The CameraEventArgs provides information associated with a camera change. - Camera changes happen when user changes the view by rotating, zooming in or out, panning, - changing from parallel to perspective, or when the extents of the viewport changes. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CameraEventArgs: - return CameraEventArgs() @property - def viewport(self) -> Viewport: - """ - Returns the viewport that the modified camera is associated with. - """ - return Viewport() - -class CheckBoxControlDefinition(ControlDefinition): - """ - Represents the information used to define a check box. This isn't the visible check box control but - is the information needed to create a check box control and fully defines a check box except for - it's position within the user interface. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CheckBoxControlDefinition: - return CheckBoxControlDefinition() - @property - def isChecked(self) -> bool: - """ - Gets or sets whether the check box is checked. Changing this will result in changing any - associated controls and will execute the associated command. - """ - return bool() - @isChecked.setter - def isChecked(self, value: bool): + def eventId(self) -> str: """ - Gets or sets whether the check box is checked. Changing this will result in changing any - associated controls and will execute the associated command. + Returns the id that was assigned to this event when it was registered. Each + custom event has it's own unique id. """ - pass + return str() -class ChoiceProperty(Property): +class CustomEventArgs(EventArgs): """ - A material or appearance property that is a pre-defined list of choices. + The ApplicationEventArgs provides information associated with an application event. + Note that some properties are not available on every event """ def __init__(self): pass @staticmethod - def cast(arg) -> ChoiceProperty: - return ChoiceProperty() - def getChoices(self) -> tuple[bool, list[str], list[str]]: - """ - Method that returns the list of available choices. - names : An array of the names of the choices. These coincide with the array of choices returned by the choices argument. - choices : An array of the choices. These coincide with the array of names returned by the names argument. - Returns true if the call was successful. - """ - return (bool(), [str()], [str()]) + def cast(arg) -> CustomEventArgs: + return CustomEventArgs() @property - def value(self) -> str: + def additionalInfo(self) -> str: """ - Gets and sets the which choice is selected from the set of choices. - The value is a string that matches one of the pre-defined choices. - The names of the available choices can be obtained using GetChoices method. + Information being passed to the add-in in the primary thread from the worker thread + or other add-in. """ return str() - @value.setter - def value(self, value: str): - """ - Gets and sets the which choice is selected from the set of choices. - The value is a string that matches one of the pre-defined choices. - The names of the available choices can be obtained using GetChoices method. - """ - pass -class Circle2D(Curve2D): +class Cylinder(Surface): """ - Transient 2D circle. A transient circle is not displayed or saved in a document. - Transient circles are used as a wrapper to work with raw 2D arc information. They - are created statically using one of the create methods of the Circle2D class. + Transient cylinder. A transient cylinder is not displayed or saved in a document. + A transient cylinder is but is used as a wrapper to work with raw cylinder information. + A transient cylinder has no boundaries and is infinite in length. + They are created statically using the create method of the Cylinder class. """ def __init__(self): pass @staticmethod - def cast(arg) -> Circle2D: - return Circle2D() + def cast(arg) -> Cylinder: + return Cylinder() @staticmethod - def createByCenter(center: Point2D, radius: float) -> Circle2D: + def create(origin: Point3D, axis: Vector3D, radius: float) -> Cylinder: """ - Creates a transient 2D circle object by specifying a center and radius. - center : A Point2D object that defines the center of the circle. - radius : The radius of the circle. - Returns the new Circle2D object or null if the creation failed. + Creates a transient cylinder object. + origin : The origin point (center) of the base of the cylinder. + axis : The center axis (along the length) of the cylinder that defines its normal direction. + radius : The radius of the cylinder. + Returns the new Cylinder object or null if the creation failed. """ - return Circle2D() - @staticmethod - def createByThreePoints(pointOne: Point2D, pointTwo: Point2D, pointThree: Point2D) -> Circle2D: + return Cylinder() + def getData(self) -> tuple[bool, Point3D, Vector3D, float]: """ - Creates a transient 2D circle through three points. - pointOne : The first point on the circle. - pointTwo : The second point on the circle. - pointThree : The third point on the circle. - Returns the new Circle2D object or null if the creation failed. + Gets the data that defines the cylinder. + origin : The output origin point (center) of the base of the cylinder. + axis : The output center axis (along the length) of the cylinder that defines its normal direction. + radius : The output radius of the cylinder. + Returns true if successful. """ - return Circle2D() - def copy(self) -> Circle2D: + return (bool(), Point3D(), Vector3D(), float()) + def set(self, origin: Point3D, axis: Vector3D, radius: float) -> bool: """ - Creates and returns an independent copy of this Circle2D object. - Returns an independent copy of this Circle2D object. + Sets the data that defines the cylinder. + origin : The origin point (center) of the base of the cylinder. + axis : The center axis (along the length) of the cylinder that defines its normal direction. + radius : The radius of the cylinder. + Returns true if successful. """ - return Circle2D() - def getData(self) -> tuple[bool, Point2D, float]: + return bool() + def copy(self) -> Cylinder: """ - Gets all of the data defining the circle. - center : The output point defining the center position of the circle. - radius : The output radius of the circle. - Returns true if successful. + Creates and returns an independent copy of this Cylinder object. + Returns a new Cylinder object that is a copy of this Cylinder object. """ - return (bool(), Point2D(), float()) - def set(self, center: Point2D, radius: float) -> bool: + return Cylinder() + @property + def origin(self) -> Point3D: """ - Sets all of the data defining the circle. - center : A point that defines the center position of the circle. - radius : The radius of the circle. - Returns true if redefining the circle is successful + The origin point (center) of the base of the cylinder. """ - return bool() + return Point3D() + @origin.setter + def origin(self, value: Point3D): + """ + The origin point (center) of the base of the cylinder. + """ + pass @property - def center(self) -> Point2D: + def axis(self) -> Vector3D: """ - Gets and sets the center position of the circle. + The center axis (along the length) of the cylinder that defines its normal direction. """ - return Point2D() - @center.setter - def center(self, value: Point2D): + return Vector3D() + @axis.setter + def axis(self, value: Vector3D): """ - Gets and sets the center position of the circle. + The center axis (along the length) of the cylinder that defines its normal direction. """ pass @property def radius(self) -> float: """ - Gets and sets the radius of the circle. + The radius of the cylinder. """ return float() @radius.setter def radius(self, value: float): """ - Gets and sets the radius of the circle. + The radius of the cylinder. """ pass - @property - def asNurbsCurve(self) -> NurbsCurve2D: + +class DataEvent(Event): + """ + A Data event is an event associated with operations on Data items. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DataEvent: + return DataEvent() + def add(self, handler: DataEventHandler) -> bool: """ - Returns a NURBS curve that is geometrically identical to the circle. + Add a handler to be notified when the data event occurs. + handler : The handler object to be called when this event is fired. + Returns true if the addition of the handler was successful. """ - return NurbsCurve2D() + return bool() + def remove(self, handler: DataEventHandler) -> bool: + """ + Removes a handler from the event. + handler : The handler object to be removed from the event. + Returns true if removal of the handler was successful. + """ + return bool() -class Circle3D(Curve3D): +class DataEventArgs(EventArgs): """ - Transient 3D circle. A transient circle is not displayed or saved in a document. - Transient 3D circles are used as a wrapper to work with raw 3D circle information. - They are created statically using one of the create methods of the Circle3D class. + The DataEventArgs provides information associated with a data event. + Note that some properties are not available on every event. """ def __init__(self): pass @staticmethod - def cast(arg) -> Circle3D: - return Circle3D() - @staticmethod - def createByCenter(center: Point3D, normal: Vector3D, radius: float) -> Circle3D: + def cast(arg) -> DataEventArgs: + return DataEventArgs() + @property + def filename(self) -> str: """ - Creates a transient 3D circle object by specifying a center and radius. - center : The center point of the circle. - normal : The normal vector of the circle. - The plane through the center point and perpendicular to the normal vector defines the plane of the circle. - radius : The radius of the circle. - Returns the new Circle3D object or null if the creation failed. + Gets the filename associated with the operation. If there isn't an associated + filename, an empty string is returned. For a download operation, this will + be the full filename of the downloaded file. """ - return Circle3D() - @staticmethod - def createByThreePoints(pointOne: Point3D, pointTwo: Point3D, pointThree: Point3D) -> Circle3D: + return str() + @property + def file(self) -> DataFile: """ - Creates a transient 3D circle through three points. - pointOne : The first point on the circle. - pointTwo : The second point on the circle. - This point cannot be coincident with pointOne or pointThree. - This point cannot lie on the line defined by pointOne and pointThree. - pointThree : The third point on the circle. - This point cannot be coincident with pointOne or pointThree. - Returns the new Circle3D object or null if the creation failed. + Gets the DataFile object associated with this event. If there isn't + a DataFile associated with the event, this property will return null. + """ + return DataFile() + @property + def status(self) -> Status: """ - return Circle3D() - def copy(self) -> Circle3D: + Returns a Status object that provides additional information about the + success or failure of the operation. """ - Creates and returns an independent copy of this Circle3D object. - Returns an independent copy of this Circle3D object. + return Status() + +class DesignDataFile(DataFile): + """ + A data file that represents a design file (f3d). + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DesignDataFile: + return DesignDataFile() + def createCopyInput(self, targetFolder: DataFolder, copyType: DataFileCopyTypes) -> CopyFileInput: """ - return Circle3D() - def getData(self) -> tuple[bool, Point3D, Vector3D, float]: + Creates an input object to define how the design should be copied. + targetFolder : The target DataFolder where the design will be copied to. + copyType : The type of copy to be performed. + Returns the created CopyFileInput object or null in the case of invalid input. """ - Gets all of the data defining the circle. - center : The output center point of the circle. - normal : The output normal vector. - radius : The output radius of the circle. - Returns true if successful + return CopyFileInput() + def copyDesign(self, input: CopyFileInput) -> bool: """ - return (bool(), Point3D(), Vector3D(), float()) - def set(self, center: Point3D, normal: Vector3D, radius: float) -> bool: + Method that copies the design. + input : The CopyFileInput object that defines how the copy is to be done. The CopyFileInput + object is created by using the createCopyInput method. + Returns true if the copy was successful. """ - Sets all of the data defining the circle. - center : The center point of the circle. - normal : The normal vector of the circle. - The plane through the center point and perpendicular to the normal vector defines the plane of the circle. - radius : The radius of the circle. + return bool() + +class DirectionCommandInput(CommandInput): + """ + Represents a command input that gets a direction from the user. This displays + a button or a check-box in the command dialog where the user can flip the direction if desired and also displays + a manipulator in the graphics window to allow flipping the direction by clicking and dragging on the manipulator. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DirectionCommandInput: + return DirectionCommandInput() + def setManipulator(self, origin: Point3D, direction: Vector3D) -> bool: + """ + Defines a direction manipulator arrow in the graphics viewport whose direction can be flipped by the + toggling the check box, clicking the button or by the user clicking and dragging on the manipulator arrow. + origin : The origin point of the direction manipulator (arrow) in the model space of the root component. + direction : The direction of the manipulator (arrow) in the model space of the root component. Returns true if successful """ return bool() @property - def center(self) -> Point3D: + def manipulatorOrigin(self) -> Point3D: """ - Gets and sets the center position of the circle. + Gets the origin point of the direction manipulator (arrow) in the model space of the root component. + To set the origin use the setManipulator method. """ return Point3D() - @center.setter - def center(self, value: Point3D): + @property + def manipulatorDirection(self) -> Vector3D: """ - Gets and sets the center position of the circle. + Gets the direction of the manipulator (arrow) in the model space of the root component. + To set the direction use the setManipulator method. """ - pass + return Vector3D() @property - def normal(self) -> Vector3D: + def isDirectionFlipped(self) -> bool: """ - Gets and sets the normal of the circle. + Gets and sets if the direction manipulator displayed is flipped (reversed 180 degrees as compared to the + direction defined by the manipulatorDirection property). This is false for a newly created DirectionCommandInput. """ - return Vector3D() - @normal.setter - def normal(self, value: Vector3D): + return bool() + @isDirectionFlipped.setter + def isDirectionFlipped(self, value: bool): """ - Gets and sets the normal of the circle. + Gets and sets if the direction manipulator displayed is flipped (reversed 180 degrees as compared to the + direction defined by the manipulatorDirection property). This is false for a newly created DirectionCommandInput. """ pass @property - def radius(self) -> float: + def resourceFolder(self) -> str: """ - Gets and sets the radius of the circle. + Gets and sets the folder that contains the image to display on the button. + The input is shown as a check box if set resource folder to empty. """ - return float() - @radius.setter - def radius(self, value: float): + return str() + @resourceFolder.setter + def resourceFolder(self, value: str): """ - Gets and sets the radius of the circle. + Gets and sets the folder that contains the image to display on the button. + The input is shown as a check box if set resource folder to empty. """ pass - @property - def asNurbsCurve(self) -> NurbsCurve3D: - """ - Returns a NURBS curve that is geometrically identical to the circle. - """ - return NurbsCurve3D() -class ColorProperty(Property): +class DistanceValueCommandInput(CommandInput): """ - A color property associated with an appearance. + Represents a command input that gets a distance from the user. This displays + an entry in the command dialog where the user can enter a value and also displays + a manipulator in the graphics window to allow them to graphically set the value. + The input box is displayed in the dialog when the isVisible property of the command + input is true. The manipulator is displayed in the graphics when both the isVisible + and isEnabled properties are true. """ def __init__(self): pass @staticmethod - def cast(arg) -> ColorProperty: - return ColorProperty() - @property - def connectedTexture(self) -> AppearanceTexture: + def cast(arg) -> DistanceValueCommandInput: + return DistanceValueCommandInput() + def setManipulator(self, origin: Point3D, direction: Vector3D) -> bool: """ - Gets the associated texture, if one exists. The HasConnectedTexture property controls - if there is an associated texture or not. If the parent is writable you can edit the - texture. If no texture exists, this property will return null. + Defines the position and orientation of the manipulator. The manipulator is only visible + when both the isVisible and isEnabled properties are true. If those properties are + true and the setManipulator has not been called, the manipulator will be displayed in + a default location (0,0,0) and direction (1,0,0). Because of that the input is typically + set to be invisible and/or disabled and then enabled once enough input has been specified + that you can display the manipulator in the desired location. + origin : Defines the position of the manipulator in root component space. + direction : Defines the direction of the manipulator in root component space. + Returns true if successful. """ - return AppearanceTexture() + return bool() @property - def hasConnectedTexture(self) -> bool: + def value(self) -> float: """ - Specifies if this color is specified using a simple color or a texture. If this returns true - the color is defined using a texture. If the parent is writable, this property can be set to - true to change the definition from a simple color to a texture. You can then use the ConnectedTexture - property to get the associated texture and modify it. + Gets and sets the current value of the command input. The value is + in centimeters but will be displayed to the user in the current default + document units. Setting this value can fail if the input value is + not within the minimum and maximum value range. + + The isValidExpression property should be checked before using this + value within the command because if the expression can't be evaluated + there isn't a valid value. Fusion 360 won't allow the execution of a command + that contains ValueCommandInput object with invalid expressions so you can + dependably use the value in the execute event of the command. """ - return bool() - @hasConnectedTexture.setter - def hasConnectedTexture(self, value: bool): + return float() + @value.setter + def value(self, value: float): """ - Specifies if this color is specified using a simple color or a texture. If this returns true - the color is defined using a texture. If the parent is writable, this property can be set to - true to change the definition from a simple color to a texture. You can then use the ConnectedTexture - property to get the associated texture and modify it. + Gets and sets the current value of the command input. The value is + in centimeters but will be displayed to the user in the current default + document units. Setting this value can fail if the input value is + not within the minimum and maximum value range. + + The isValidExpression property should be checked before using this + value within the command because if the expression can't be evaluated + there isn't a valid value. Fusion 360 won't allow the execution of a command + that contains ValueCommandInput object with invalid expressions so you can + dependably use the value in the execute event of the command. """ pass @property - def hasMultipleValues(self) -> bool: + def expression(self) -> str: """ - Indicates if this property has multiple values or not. + Gets or sets the expression displayed in the input field. This can contain equations and + references to parameters but must result in a valid length expression. If units are not + specified as part of the expression, the default units for the design are used. """ - return bool() + return str() + @expression.setter + def expression(self, value: str): + """ + Gets or sets the expression displayed in the input field. This can contain equations and + references to parameters but must result in a valid length expression. If units are not + specified as part of the expression, the default units for the design are used. + """ + pass @property - def value(self) -> Color: + def minimumValue(self) -> float: """ - Gets and sets this property value if there is a color and not a texture defining - this color . If a texture is used, this property returns null. Setting this property - when a texture is used removes the texture and changes the color definition to a simple color. + Gets and sets minimum value, if any, that the value can be. When getting this + property you should first check the hasMinimumValue property to see if this property + applies. Also, the isMinimumValueInclusive indicates if the minimum includes this + value or will be up to this value. + + Setting this value will change the isMinimumValueInclusive to True and the hasMinimumValue property to True if hasMinimumValue is currently + False, otherwise it will just update the value. """ - return Color() - @value.setter - def value(self, value: Color): + return float() + @minimumValue.setter + def minimumValue(self, value: float): """ - Gets and sets this property value if there is a color and not a texture defining - this color . If a texture is used, this property returns null. Setting this property - when a texture is used removes the texture and changes the color definition to a simple color. + Gets and sets minimum value, if any, that the value can be. When getting this + property you should first check the hasMinimumValue property to see if this property + applies. Also, the isMinimumValueInclusive indicates if the minimum includes this + value or will be up to this value. + + Setting this value will change the isMinimumValueInclusive to True and the hasMinimumValue property to True if hasMinimumValue is currently + False, otherwise it will just update the value. """ pass @property - def values(self) -> list[Color]: + def hasMinimumValue(self) -> bool: """ - Gets and sets the values associated with this property. The HasMultipleValues property - indicates if this property will be returning more than one value. + Gets and sets if there is a minimum value for this command input. When setting this property, it is only valid + to set it to False to remove the minimum value. Setting the minimumValue property will result in this property + being set to True. """ - return [Color()] - @values.setter - def values(self, value: list[Color]): + return bool() + @hasMinimumValue.setter + def hasMinimumValue(self, value: bool): """ - Gets and sets the values associated with this property. The HasMultipleValues property - indicates if this property will be returning more than one value. + Gets and sets if there is a minimum value for this command input. When setting this property, it is only valid + to set it to False to remove the minimum value. Setting the minimumValue property will result in this property + being set to True. """ pass - -class CommandControl(ToolbarControl): - """ - Represents a button, check box, or radio control list in a panel, toolbar, or drop-down. - """ - def __init__(self): + @property + def isMinimumValueInclusive(self) -> bool: + """ + Gets and sets if the value of the input includes the minimum value or is up to the minimum value. For example, + if the minimum value is zero and this property is True, the minimum value can be zero. If this is False, the + minimum value must be greater than zero. When the minimum value is first defined using the minimumValue property, + this property is set to True. The value returned by this property is only meaningful when the hasMinimumValue property + returns True. + """ + return bool() + @isMinimumValueInclusive.setter + def isMinimumValueInclusive(self, value: bool): + """ + Gets and sets if the value of the input includes the minimum value or is up to the minimum value. For example, + if the minimum value is zero and this property is True, the minimum value can be zero. If this is False, the + minimum value must be greater than zero. When the minimum value is first defined using the minimumValue property, + this property is set to True. The value returned by this property is only meaningful when the hasMinimumValue property + returns True. + """ pass - @staticmethod - def cast(arg) -> CommandControl: - return CommandControl() @property - def commandDefinition(self) -> CommandDefinition: + def maximumValue(self) -> float: + """ + Gets and sets maximum value, if any, that the value can be. When getting this + property you should first check the hasMaximumValue property to see if this property + applies. Also, the isMaximumValueInclusive indicates if the maximum includes this + value or will be up to this value. """ - Gets the command definition associated with this button. The command definition defines - all of the resource information used to display this button and receives the event when the button is clicked. + return float() + @maximumValue.setter + def maximumValue(self, value: float): """ - return CommandDefinition() + Gets and sets maximum value, if any, that the value can be. When getting this + property you should first check the hasMaximumValue property to see if this property + applies. Also, the isMaximumValueInclusive indicates if the maximum includes this + value or will be up to this value. + """ + pass @property - def isPromoted(self) -> bool: + def hasMaximumValue(self) -> bool: """ - Gets or sets if this command has been promoted to the parent panel. - This property is ignored in the case where this control isn't in a panel. + Gets and sets if there is a maximum value for this command input. When setting this property, it is only valid + to set it to False to remove the maximum value. Setting the maximumValue property will result in this property + being set to True. """ return bool() - @isPromoted.setter - def isPromoted(self, value: bool): + @hasMaximumValue.setter + def hasMaximumValue(self, value: bool): """ - Gets or sets if this command has been promoted to the parent panel. - This property is ignored in the case where this control isn't in a panel. + Gets and sets if there is a maximum value for this command input. When setting this property, it is only valid + to set it to False to remove the maximum value. Setting the maximumValue property will result in this property + being set to True. """ pass @property - def isPromotedByDefault(self) -> bool: + def isMaximumValueInclusive(self) -> bool: """ - Gets or sets if this command is a default command in the panel. - This defines the default state of the panel if the UI is reset. - This property is ignored in the case where this control isn't in a panel. + Gets and sets if the value of the input includes the maximum value or is up to the maximum value. For example, + if the maximum value is 100 and this property is True, the maximum value can be 100. If this is False, the + minimum value must be less than 100. When the maximum value is first defined using the maximumValue property, + this property is set to True. The value returned by this property is only meaningful when the hasMaximumValue property + returns True. """ return bool() - @isPromotedByDefault.setter - def isPromotedByDefault(self, value: bool): + @isMaximumValueInclusive.setter + def isMaximumValueInclusive(self, value: bool): """ - Gets or sets if this command is a default command in the panel. - This defines the default state of the panel if the UI is reset. - This property is ignored in the case where this control isn't in a panel. + Gets and sets if the value of the input includes the maximum value or is up to the maximum value. For example, + if the maximum value is 100 and this property is True, the maximum value can be 100. If this is False, the + minimum value must be less than 100. When the maximum value is first defined using the maximumValue property, + this property is set to True. The value returned by this property is only meaningful when the hasMaximumValue property + returns True. """ pass - -class CommandCreatedEvent(Event): - """ - Class that needs to be implemented in order to respond to the CommandCreatedEvent event. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CommandCreatedEvent: - return CommandCreatedEvent() - def add(self, handler: CommandCreatedEventHandler) -> bool: + @property + def manipulatorOrigin(self) -> Point3D: """ - Adds an event handler object to this event endpoint. - handler : The client implemented CommandCreatedEventHandler to be called when this event is triggered. - Returns true if the handler was successfully added to the set of event handlers. + Gets the origin point of the manipulator in the model space of the root component. + To set the origin use the setManipulator method. """ - return bool() - def remove(self, handler: CommandCreatedEventHandler) -> bool: + return Point3D() + @property + def manipulatorDirection(self) -> Vector3D: """ - Removes a handler from this event endpoint. - handler : A CommandCreatedEventHandler that was previously added to this event with the add method. - Returns true if the handler was found and removed from the set of event handlers. + Gets the positive direction of the manipulator in the model space or the root component. + To set the direction use the setManipulator method. """ - return bool() - -class CommandCreatedEventArgs(EventArgs): - """ - Provides data for the CommandCreated event. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CommandCreatedEventArgs: - return CommandCreatedEventArgs() + return Vector3D() @property - def command(self) -> Command: + def isValidExpression(self) -> bool: """ - Gets the newly created Command object that allows you to perform an action in response to the control being clicked. + Returns true if the current expression is valid and can be evaluated. If this + is false, the value returned should be ignored because there currently is + not a valid value. """ - return Command() + return bool() -class CommandEvent(Event): +class DocumentEvent(Event): """ - An event endpoint that supports the connection to client implemented CommandEventHandlers. + A DocumentEvent represents a document related event. For example, DocumentOpening or DocumentOpened. """ def __init__(self): pass @staticmethod - def cast(arg) -> CommandEvent: - return CommandEvent() - def add(self, handler: CommandEventHandler) -> bool: + def cast(arg) -> DocumentEvent: + return DocumentEvent() + def add(self, handler: DocumentEventHandler) -> bool: """ - Adds an event handler object to this event endpoint. - handler : The client implemented CommandEventHandler to be called when this event is triggered. - Returns true if the handler was successfully added to the set of event handlers. + Add a handler to be notified when the file event occurs. + handler : The handler object to be called when this event is fired. + Returns true if the addition of the handler was successful. """ return bool() - def remove(self, handler: CommandEventHandler) -> bool: + def remove(self, handler: DocumentEventHandler) -> bool: """ - Removes a handler from this event endpoint. - handler : A CommandEventHandler that was previously added to this event with the add method. - Returns true if the handler was found and removed from the set of event handlers. + Removes a handler from the event. + handler : The handler object to be removed from the event. + Returns true if removal of the handler was successful. """ return bool() -class CommandEventArgs(EventArgs): +class DocumentEventArgs(EventArgs): """ - Provides a set of arguments from a firing CommandEvent to a CommandEventHandler's notify callback method. + The DocumentEventArgs provides information associated with a document event. + Note that some properties are not available on every event + - for example, the Document is not available on the DocumentOpening event because + the Document is not yet available. """ def __init__(self): pass @staticmethod - def cast(arg) -> CommandEventArgs: - return CommandEventArgs() + def cast(arg) -> DocumentEventArgs: + return DocumentEventArgs() @property - def command(self) -> Command: + def document(self) -> Document: """ - Gets the Command object. + Provides access to the document that is open. Can be null in the case + where the event is fired before the document has been opened or after it has been closed. """ - return Command() + return Document() @property - def executeFailed(self) -> bool: - """ - Used during the execute event to get or set that the execute operations failed - and the commands transaction should be aborted. - This property should be ignored for all events besides the Execute event. - """ - return bool() - @executeFailed.setter - def executeFailed(self, value: bool): + def fullPath(self) -> str: """ - Used during the execute event to get or set that the execute operations failed - and the commands transaction should be aborted. - This property should be ignored for all events besides the Execute event. + The full path to the file. """ - pass + return str() @property - def executeFailedMessage(self) -> str: + def isOperationCancelled(self) -> bool: """ - Used during the execute event to get or set a description of an execute failure. - This property should be ignored for all events besides the Execute event. + Gets and sets if the operation for this event is to be canceled. + The description of the reason for canceling the operation can be set + with the cancelReason property. + This is only supported for the documentSaving event. """ - return str() - @executeFailedMessage.setter - def executeFailedMessage(self, value: str): + return bool() + @isOperationCancelled.setter + def isOperationCancelled(self, value: bool): """ - Used during the execute event to get or set a description of an execute failure. - This property should be ignored for all events besides the Execute event. + Gets and sets if the operation for this event is to be canceled. + The description of the reason for canceling the operation can be set + with the cancelReason property. + This is only supported for the documentSaving event. """ pass @property - def isValidResult(self) -> bool: + def cancelReason(self) -> str: """ - Used during the commandStarting event to get or set that the result of preview is valid - and the command can reuse the result when OK is hit. - This property should be ignored for all events besides the executePreview event. + Gets and sets the description of the reason why the operation is being canceled. + This property is only used if isOperationCancelled is set to true. """ - return bool() - @isValidResult.setter - def isValidResult(self, value: bool): + return str() + @cancelReason.setter + def cancelReason(self, value: str): """ - Used during the commandStarting event to get or set that the result of preview is valid - and the command can reuse the result when OK is hit. - This property should be ignored for all events besides the executePreview event. + Gets and sets the description of the reason why the operation is being canceled. + This property is only used if isOperationCancelled is set to true. """ pass - @property - def terminationReason(self) -> CommandTerminationReason: - """ - Gets the termination reason of the command. It's only valid on the destroy event. - """ - return CommandTerminationReason() -class Cone(Surface): +class DropDownCommandInput(CommandInput): """ - Transient cone. A transient cone is not displayed or saved in a document. - A transient cone is used as a wrapper to work with raw cone information. - A transient cone has no boundaries. - The cone always goes to a point in its narrowing direction, and is infinite in its - widening direction. - They are created statically using the create method of the Cone class. + Provides a command input to get the choice in a drop-down list from the user. """ def __init__(self): pass @staticmethod - def cast(arg) -> Cone: - return Cone() - @staticmethod - def create(origin: Point3D, axis: Vector3D, radius: float, halfAngle: float) -> Cone: + def cast(arg) -> DropDownCommandInput: + return DropDownCommandInput() + @property + def dropDownStyle(self) -> DropDownStyles: """ - Creates a transient cone object. - origin : The origin point (center) of the base of the cone. - axis : The center axis (along the length) of the cone that defines its normal direction. - radius : The radius of the cone. - halfAngle : The taper half-angle of the cone. - Returns the new Cone object or null if the creation failed. + Returns the style of drop down this was created as. """ - return Cone() - def getData(self) -> tuple[bool, Point3D, Vector3D, float, float]: + return DropDownStyles() + @property + def listItems(self) -> ListItems: """ - Gets the data that defines the cone. - origin : The output origin point (center) of the base of the cone. - axis : The output center axis (along the length) of the cone that defines its normal direction. - radius : The output radius of the cone. - halfAngle : The output taper half-angle of the cone. - Returns true if successful. + Returns the ListItems object associated with this drop-down. You use this + object to populate and interact with the items in the drop-down. """ - return (bool(), Point3D(), Vector3D(), float(), float()) - def set(self, origin: Point3D, axis: Vector3D, radius: float, halfAngle: float) -> bool: + return ListItems() + @property + def selectedItem(self) -> ListItem: """ - Sets the data that defines the cone. - origin : The origin point (center) of the base of the cone. - axis : The center axis (along the length) of the cone that defines its normal direction. - radius : The radius of the cone. - halfAngle : The taper half-angle of the cone. - Returns true if successful. + Gets the item in the list that is currently selected. This can return null in the + case where no item in the list has been selected. This should be ignored + for CheckBoxDropDownStyle style drop-downs because multiple items can be selected + and each LiteItem should be checked individually. """ - return bool() - def copy(self) -> Cone: + return ListItem() + @property + def maxVisibleItems(self) -> int: + """ + Gets or sets the maximum allowed size on screen of the drop down list, measured in items. + """ + return int() + @maxVisibleItems.setter + def maxVisibleItems(self, value: int): + """ + Gets or sets the maximum allowed size on screen of the drop down list, measured in items. + """ + pass + +class DropDownControl(ToolbarControl): + """ + Represents a drop-down control. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DropDownControl: + return DropDownControl() + @property + def controls(self) -> ToolbarControls: """ - Creates and returns an independent copy of this Cone object. - Returns a new Cone object that is a copy of this Cone object. + Gets the associated ToolbarControls collection. Through this you can add additional controls to the drop-down. """ - return Cone() + return ToolbarControls() @property - def origin(self) -> Point3D: + def resourceFolder(self) -> str: """ - Gets and sets the origin point (center) of the base of the cone. + Gets or sets the resource folder containing the image used for the icon when the drop-down is in a toolbar. """ - return Point3D() - @origin.setter - def origin(self, value: Point3D): + return str() + @resourceFolder.setter + def resourceFolder(self, value: str): """ - Gets and sets the origin point (center) of the base of the cone. + Gets or sets the resource folder containing the image used for the icon when the drop-down is in a toolbar. """ pass @property - def axis(self) -> Vector3D: + def name(self) -> str: """ - Gets and sets the center axis (along the length) of the cone that defines its - normal direction. + Gets or sets the Name displayed for this drop down. This isn't used when the drop-down is in a toolbar because an icon is used in that case. """ - return Vector3D() - @axis.setter - def axis(self, value: Vector3D): + return str() + @name.setter + def name(self, value: str): """ - Gets and sets the center axis (along the length) of the cone that defines its - normal direction. + Gets or sets the Name displayed for this drop down. This isn't used when the drop-down is in a toolbar because an icon is used in that case. """ pass + +class DXF2DImportOptions(ImportOptions): + """ + Defines that a 2D DXF Import to create sketches (based on layers in the DXF file) is to be performed and + specifies the various options. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DXF2DImportOptions: + return DXF2DImportOptions() @property - def radius(self) -> float: + def planarEntity(self) -> Base: """ - Gets and sets the radius of the cone. + Gets and sets the construction plane or planar face that defines the plane that the resulting sketches will + be created on. """ - return float() - @radius.setter - def radius(self, value: float): + return Base() + @planarEntity.setter + def planarEntity(self, value: Base): """ - Gets and sets the radius of the cone. + Gets and sets the construction plane or planar face that defines the plane that the resulting sketches will + be created on. """ pass @property - def halfAngle(self) -> float: + def position(self) -> Point2D: """ - Gets and sets the taper half-angle of the cone in radians. - A negative value indicates that the cone is narrowing in the direction of the - axis vector, whereas a positive value indicates that it is expanding in the direction of - the axis vector. + Gets and sets the X,Y offset position for the origin of the imported DXF data relative to the sketch origin. + This defaults to (0,0) in a newly created DXF2DImportOptions object. """ - return float() - @halfAngle.setter - def halfAngle(self, value: float): + return Point2D() + @position.setter + def position(self, value: Point2D): """ - Gets and sets the taper half-angle of the cone in radians. - A negative value indicates that the cone is narrowing in the direction of the - axis vector, whereas a positive value indicates that it is expanding in the direction of - the axis vector. + Gets and sets the X,Y offset position for the origin of the imported DXF data relative to the sketch origin. + This defaults to (0,0) in a newly created DXF2DImportOptions object. """ pass - -class CustomEvent(Event): - """ - A CustomEvent is primarily used to send an event from a worker thread you've created back - to your add-in, which is running in the primary thread. It's also possible for add-ins to - cooperate and another add-in can trigger this event in your add-in by knowing the custom - event id. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CustomEvent: - return CustomEvent() - def add(self, handler: CustomEventHandler) -> bool: + @property + def results(self) -> ObjectCollection: """ - Add a handler to be notified when the event occurs. - handler : The handler object to be called when this event is fired. - Returns true if the addition of the handler was successful. + Returns a collection of Sketch objects. A sketch is created for each layer in the DXF file + that contains 2D geometry. Any 3D geometry contained in the DXF file is ignored. + The names of the resulting sketches correspond to the layer names in the DXF file. + Currently, the only way to get a single sketch as a result is to supply a DXF file that only has 2D geometry + on a single layer. """ - return bool() - def remove(self, handler: CustomEventHandler) -> bool: + return ObjectCollection() + @property + def isSingleSketchResult(self) -> bool: """ - Removes a handler from the event. - handler : The handler object to be removed from the event. - Returns true if removal of the handler was successful. + Gets and sets if importing the DXF file should create a new sketch for each layer or + if the entire contents of the DXF file should be merged into a single layer. If true + a single sketch will be created. If false a new sketch for each layer will be created + where the sketch name will be the name of the layer. The default value for this + property is false, resulting in a sketch for each layer. """ return bool() + @isSingleSketchResult.setter + def isSingleSketchResult(self, value: bool): + """ + Gets and sets if importing the DXF file should create a new sketch for each layer or + if the entire contents of the DXF file should be merged into a single layer. If true + a single sketch will be created. If false a new sketch for each layer will be created + where the sketch name will be the name of the layer. The default value for this + property is false, resulting in a sketch for each layer. + """ + pass @property - def eventId(self) -> str: + def layers(self) -> list[str]: """ - Returns the id that was assigned to this event when it was registered. Each - custom event has it's own unique id. + Gets and sets the names of the layers that will be imported. When the DXF2DImportOptions + object is first created, the array returned is a list of all the layers in the DXF file. + By default, all layers will be imported. You can set the property using a new array that + contains the names of only those layers you want to import. + """ + return [str()] + @layers.setter + def layers(self, value: list[str]): + """ + Gets and sets the names of the layers that will be imported. When the DXF2DImportOptions + object is first created, the array returned is a list of all the layers in the DXF file. + By default, all layers will be imported. You can set the property using a new array that + contains the names of only those layers you want to import. """ - return str() - -class CustomEventArgs(EventArgs): - """ - The ApplicationEventArgs provides information associated with an application event. - Note that some properties are not available on every event - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> CustomEventArgs: - return CustomEventArgs() @property - def additionalInfo(self) -> str: + def isCreateControlPointSplines(self) -> bool: """ - Information being passed to the add-in in the primary thread from the worker thread - or other add-in. + When set to true, if there are any splines in the DXF they will be created as control + point splines. Otherwise they will be created as fixed splines that cannot be edited. + The default for this property is false, to create fixed splines. """ - return str() + return bool() + @isCreateControlPointSplines.setter + def isCreateControlPointSplines(self, value: bool): + """ + When set to true, if there are any splines in the DXF they will be created as control + point splines. Otherwise they will be created as fixed splines that cannot be edited. + The default for this property is false, to create fixed splines. + """ + pass -class Cylinder(Surface): +class Ellipse2D(Curve2D): """ - Transient cylinder. A transient cylinder is not displayed or saved in a document. - A transient cylinder is but is used as a wrapper to work with raw cylinder information. - A transient cylinder has no boundaries and is infinite in length. - They are created statically using the create method of the Cylinder class. + Transient 2D ellipse. A transient ellipse is not displayed or saved in a document. + Transient 2D ellipses are used as a wrapper to work with raw 2D ellipse information. + They are created statically using the create method of the Ellipse2D class. """ def __init__(self): pass @staticmethod - def cast(arg) -> Cylinder: - return Cylinder() + def cast(arg) -> Ellipse2D: + return Ellipse2D() @staticmethod - def create(origin: Point3D, axis: Vector3D, radius: float) -> Cylinder: + def create(center: Point2D, majorAxis: Vector2D, majorRadius: float, minorRadius: float) -> Ellipse2D: """ - Creates a transient cylinder object. - origin : The origin point (center) of the base of the cylinder. - axis : The center axis (along the length) of the cylinder that defines its normal direction. - radius : The radius of the cylinder. - Returns the new Cylinder object or null if the creation failed. + Creates a transient 2D ellipse by specifying a center position, major and minor axes, + and major and minor radii. + center : A Point2D object that defines the center of the ellipse. + majorAxis : The major axis of the ellipse + majorRadius : The major radius of the of the ellipse. + minorRadius : The minor radius of the of the ellipse. + Returns the new Ellipse 2D object or null if the creation failed. """ - return Cylinder() - def getData(self) -> tuple[bool, Point3D, Vector3D, float]: + return Ellipse2D() + def copy(self) -> Ellipse2D: """ - Gets the data that defines the cylinder. - origin : The output origin point (center) of the base of the cylinder. - axis : The output center axis (along the length) of the cylinder that defines its normal direction. - radius : The output radius of the cylinder. - Returns true if successful. + Creates and returns a copy of this Ellipse2D object. + Returns a new Ellipse2D object that is a copy of this Ellipse2D object. """ - return (bool(), Point3D(), Vector3D(), float()) - def set(self, origin: Point3D, axis: Vector3D, radius: float) -> bool: + return Ellipse2D() + def getData(self) -> tuple[bool, Point2D, Vector2D, float, float]: """ - Sets the data that defines the cylinder. - origin : The origin point (center) of the base of the cylinder. - axis : The center axis (along the length) of the cylinder that defines its normal direction. - radius : The radius of the cylinder. + Gets all of the data defining the ellipse. + center : The output center point of the ellipse. + majorAxis : The output major axis of the ellipse. + majorRadius : The output major radius of the of the ellipse. + minorRadius : The output minor radius of the of the ellipse. Returns true if successful. """ + return (bool(), Point2D(), Vector2D(), float(), float()) + def set(self, center: Point2D, majorAxis: Vector2D, majorRadius: float, minorRadius: float) -> bool: + """ + Sets all of the data defining the ellipse. + center : A Point2D object that defines the center of the ellipse. + majorAxis : The major axis of the ellipse. + majorRadius : The major radius of the of the ellipse. + minorRadius : The minor radius of the of the ellipse. + Returns true if redefining the ellipse is successful. + """ return bool() - def copy(self) -> Cylinder: + @property + def center(self) -> Point2D: """ - Creates and returns an independent copy of this Cylinder object. - Returns a new Cylinder object that is a copy of this Cylinder object. + Gets and sets the center position of the ellipse. """ - return Cylinder() + return Point2D() + @center.setter + def center(self, value: Point2D): + """ + Gets and sets the center position of the ellipse. + """ + pass @property - def origin(self) -> Point3D: + def majorAxis(self) -> Vector2D: """ - The origin point (center) of the base of the cylinder. + Gets and sets the major axis of the ellipse. """ - return Point3D() - @origin.setter - def origin(self, value: Point3D): + return Vector2D() + @majorAxis.setter + def majorAxis(self, value: Vector2D): """ - The origin point (center) of the base of the cylinder. + Gets and sets the major axis of the ellipse. """ pass @property - def axis(self) -> Vector3D: + def majorRadius(self) -> float: """ - The center axis (along the length) of the cylinder that defines its normal direction. + Gets and sets the major radius of the ellipse. """ - return Vector3D() - @axis.setter - def axis(self, value: Vector3D): + return float() + @majorRadius.setter + def majorRadius(self, value: float): """ - The center axis (along the length) of the cylinder that defines its normal direction. + Gets and sets the major radius of the ellipse. """ pass @property - def radius(self) -> float: + def minorRadius(self) -> float: """ - The radius of the cylinder. + Gets and sets the minor radius of the ellipse. """ return float() - @radius.setter - def radius(self, value: float): + @minorRadius.setter + def minorRadius(self, value: float): """ - The radius of the cylinder. + Gets and sets the minor radius of the ellipse. """ pass + @property + def asNurbsCurve(self) -> NurbsCurve2D: + """ + Returns a NURBS curve that is geometrically identical to the ellipse. + """ + return NurbsCurve2D() -class DataEvent(Event): +class Ellipse3D(Curve3D): """ - A Data event is an event associated with operations on Data items. + Transient 3D ellipse. A transient ellipse is n0t displayed or saved in a document. + Transient 3D ellipses are used as a wrapper to work with raw 3D ellipse information. + They are created statically using the create method of the Ellipse3D class. """ def __init__(self): pass @staticmethod - def cast(arg) -> DataEvent: - return DataEvent() - def add(self, handler: DataEventHandler) -> bool: + def cast(arg) -> Ellipse3D: + return Ellipse3D() + @staticmethod + def create(center: Point3D, normal: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float) -> Ellipse3D: """ - Add a handler to be notified when the data event occurs. - handler : The handler object to be called when this event is fired. - Returns true if the addition of the handler was successful. + Creates a transient 3D ellipse object. + center : The center point of the ellipse. + normal : The normal vector of the ellipse. + The plane through the center point and perpendicular to the normal vector defines the plane of the ellipse. + majorAxis : The major axis of the ellipse + majorRadius : The major radius of the of the ellipse. + minorRadius : The minor radius of the of the ellipse. + Returns the new Ellipse 3D object or null if the creation failed. """ - return bool() - def remove(self, handler: DataEventHandler) -> bool: + return Ellipse3D() + def copy(self) -> Ellipse3D: """ - Removes a handler from the event. - handler : The handler object to be removed from the event. - Returns true if removal of the handler was successful. + Creates a copy of this Ellipse3D object. + Returns the independent copy of the ellipse. """ - return bool() - -class DataEventArgs(EventArgs): - """ - The DataEventArgs provides information associated with a data event. - Note that some properties are not available on every event. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> DataEventArgs: - return DataEventArgs() - @property - def filename(self) -> str: + return Ellipse3D() + def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float]: """ - Gets the filename associated with the operation. If there isn't an associated - filename, an empty string is returned. For a download operation, this will - be the full filename of the downloaded file. + Gets all of the data defining the ellipse. + center : The output center point of the ellipse. + normal : The output normal vector of the ellipse. + majorAxis : The output major axis of the ellipse + majorRadius : The output major radius of the of the ellipse. + minorRadius : The output minor radius of the of the ellipse. + Returns true if successful. """ - return str() - @property - def file(self) -> DataFile: + return (bool(), Point3D(), Vector3D(), Vector3D(), float(), float()) + def set(self, center: Point3D, normal: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float) -> bool: """ - Gets the DataFile object associated with this event. If there isn't - a DataFile associated with the event, this property will return null. + Sets all of the data defining the ellipse. + center : The center point of the ellipse. + normal : The normal vector of the ellipse. + The plane through the center point and perpendicular to the normal vector defines the plane of the ellipse. + majorAxis : The major axis of the ellipse. + majorRadius : The major radius of the of the ellipse. + minorRadius : The minor radius of the of the ellipse. + Returns true if successful. """ - return DataFile() + return bool() @property - def status(self) -> Status: + def center(self) -> Point3D: """ - Returns a Status object that provides additional information about the - success or failure of the operation. + Gets and sets the center position of the ellipse. """ - return Status() - -class DirectionCommandInput(CommandInput): - """ - Represents a command input that gets a direction from the user. This displays - a button or a check-box in the command dialog where the user can flip the direction if desired and also displays - a manipulator in the graphics window to allow flipping the direction by clicking and dragging on the manipulator. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> DirectionCommandInput: - return DirectionCommandInput() - def setManipulator(self, origin: Point3D, direction: Vector3D) -> bool: + return Point3D() + @center.setter + def center(self, value: Point3D): """ - Defines a direction manipulator arrow in the graphics viewport whose direction can be flipped by the - toggling the check box, clicking the button or by the user clicking and dragging on the manipulator arrow. - origin : The origin point of the direction manipulator (arrow) in the model space of the root component. - direction : The direction of the manipulator (arrow) in the model space of the root component. - Returns true if successful + Gets and sets the center position of the ellipse. """ - return bool() + pass @property - def manipulatorOrigin(self) -> Point3D: + def normal(self) -> Vector3D: """ - Gets the origin point of the direction manipulator (arrow) in the model space of the root component. - To set the origin use the setManipulator method. + Gets and sets the normal of the ellipse. """ - return Point3D() + return Vector3D() @property - def manipulatorDirection(self) -> Vector3D: + def majorAxis(self) -> Vector3D: """ - Gets the direction of the manipulator (arrow) in the model space of the root component. - To set the direction use the setManipulator method. + Gets and sets the major axis of the ellipse. """ return Vector3D() + @majorAxis.setter + def majorAxis(self, value: Vector3D): + """ + Gets and sets the major axis of the ellipse. + """ + pass @property - def isDirectionFlipped(self) -> bool: + def majorRadius(self) -> float: """ - Gets and sets if the direction manipulator displayed is flipped (reversed 180 degrees as compared to the - direction defined by the manipulatorDirection property). This is false for a newly created DirectionCommandInput. + Gets and sets the major radius of the ellipse. """ - return bool() - @isDirectionFlipped.setter - def isDirectionFlipped(self, value: bool): + return float() + @majorRadius.setter + def majorRadius(self, value: float): """ - Gets and sets if the direction manipulator displayed is flipped (reversed 180 degrees as compared to the - direction defined by the manipulatorDirection property). This is false for a newly created DirectionCommandInput. + Gets and sets the major radius of the ellipse. """ pass @property - def resourceFolder(self) -> str: + def minorRadius(self) -> float: """ - Gets and sets the folder that contains the image to display on the button. - The input is shown as a check box if set resource folder to empty. + Gets and sets the minor radius of the ellipse. """ - return str() - @resourceFolder.setter - def resourceFolder(self, value: str): + return float() + @minorRadius.setter + def minorRadius(self, value: float): """ - Gets and sets the folder that contains the image to display on the button. - The input is shown as a check box if set resource folder to empty. + Gets and sets the minor radius of the ellipse. """ pass + @property + def asNurbsCurve(self) -> NurbsCurve3D: + """ + Returns a NURBS curve that is geometrically identical to the ellipse. + """ + return NurbsCurve3D() -class DistanceValueCommandInput(CommandInput): +class EllipticalArc2D(Curve2D): """ - Represents a command input that gets a distance from the user. This displays - an entry in the command dialog where the user can enter a value and also displays - a manipulator in the graphics window to allow them to graphically set the value. - The input box is displayed in the dialog when the isVisible property of the command - input is true. The manipulator is displayed in the graphics when both the isVisible - and isEnabled properties are true. + Transient 2D elliptical arc. A transient elliptical arc is not displayed or saved in a document. + Transient 2D elliptical arcs are used as a wrapper to work with raw 2D elliptical arc information. + They are created statically using the create method of the EllipticalArc2D class. """ def __init__(self): pass @staticmethod - def cast(arg) -> DistanceValueCommandInput: - return DistanceValueCommandInput() - def setManipulator(self, origin: Point3D, direction: Vector3D) -> bool: + def cast(arg) -> EllipticalArc2D: + return EllipticalArc2D() + @staticmethod + def create(center: Point2D, majorAxis: Vector2D, majorRadius: float, minorRadius: float, startAngle: float, endAngle: float) -> EllipticalArc2D: """ - Defines the position and orientation of the manipulator. The manipulator is only visible - when both the isVisible and isEnabled properties are true. If those properties are - true and the setManipulator has not been called, the manipulator will be displayed in - a default location (0,0,0) and direction (1,0,0). Because of that the input is typically - set to be invisible and/or disabled and then enabled once enough input has been specified - that you can display the manipulator in the desired location. - origin : Defines the position of the manipulator in root component space. - direction : Defines the direction of the manipulator in root component space. - Returns true if successful. + Creates a transient 2D elliptical arc + center : A Point2D object that defines the center of the elliptical arc. + majorAxis : The major axis of the elliptical arc + majorRadius : The major radius of the of the elliptical arc. + minorRadius : The minor radius of the of the elliptical arc. + startAngle : The start angle of the elliptical arc in radians, where 0 is along the major axis. + endAngle : The end angle of the elliptical arc in radians, where 0 is along the major axis. + Returns the newly created elliptical arc or null if the creation failed. """ - return bool() - @property - def value(self) -> float: + return EllipticalArc2D() + def copy(self) -> EllipticalArc2D: """ - Gets and sets the current value of the command input. The value is - in centimeters but will be displayed to the user in the current default - document units. Setting this value can fail if the input value is - not within the minimum and maximum value range. - - The isValidExpression property should be checked before using this - value within the command because if the expression can't be evaluated - there isn't a valid value. Fusion 360 won't allow the execution of a command - that contains ValueCommandInput object with invalid expressions so you can - dependably use the value in the execute event of the command. + Creates and returns a copy of this EllipticalArc2D object. + Returns a new EllipticalArc2D object that is a copy of this Arc2D object. """ - return float() - @value.setter - def value(self, value: float): + return EllipticalArc2D() + def getData(self) -> tuple[bool, Point2D, Vector2D, float, float, float, float]: """ - Gets and sets the current value of the command input. The value is - in centimeters but will be displayed to the user in the current default - document units. Setting this value can fail if the input value is - not within the minimum and maximum value range. - - The isValidExpression property should be checked before using this - value within the command because if the expression can't be evaluated - there isn't a valid value. Fusion 360 won't allow the execution of a command - that contains ValueCommandInput object with invalid expressions so you can - dependably use the value in the execute event of the command. + Gets all of the data defining the elliptical arc. + center : The output center point of the elliptical arc. + majorAxis : The output major axis of the elliptical arc. + majorRadius : The output major radius of the of the elliptical arc. + minorRadius : The output minor radius of the of the elliptical arc. + startAngle : The output start angle of the elliptical arc in radians, where 0 is along the major axis. + endAngle : The output end angle of the elliptical arc in radians, where 0 is along the major axis. + Returns true if successful + """ + return (bool(), Point2D(), Vector2D(), float(), float(), float(), float()) + def set(self, center: Point2D, majorAxis: Vector2D, majorRadius: float, minorRadius: float, startAngle: float, endAngle: float) -> bool: + """ + center : A Point2D object that defines the center of the elliptical arc. + majorAxis : The major axis of the elliptical arc. + majorRadius : The major radius of the of the elliptical arc. + minorRadius : The minor radius of the of the elliptical arc. + startAngle : The start angle of the elliptical arc in radians, where 0 is along the major axis. + endAngle : The end angle of the elliptical arc in radians, where 0 is along the major axis. + Returns true if redefining the elliptical arc is successful """ - pass + return bool() @property - def expression(self) -> str: + def center(self) -> Point2D: """ - Gets or sets the expression displayed in the input field. This can contain equations and - references to parameters but must result in a valid length expression. If units are not - specified as part of the expression, the default units for the design are used. + Gets and sets the center position of the elliptical arc. """ - return str() - @expression.setter - def expression(self, value: str): + return Point2D() + @center.setter + def center(self, value: Point2D): """ - Gets or sets the expression displayed in the input field. This can contain equations and - references to parameters but must result in a valid length expression. If units are not - specified as part of the expression, the default units for the design are used. + Gets and sets the center position of the elliptical arc. """ pass @property - def minimumValue(self) -> float: + def majorAxis(self) -> Vector2D: """ - Gets and sets minimum value, if any, that the value can be. When getting this - property you should first check the hasMinimumValue property to see if this property - applies. Also, the isMinimumValueInclusive indicates if the minimum includes this - value or will be up to this value. - - Setting this value will change the isMinimumValueInclusive to True and the hasMinimumValue property to True if hasMinimumValue is currently - False, otherwise it will just update the value. + Gets and sets the major axis of the elliptical arc. """ - return float() - @minimumValue.setter - def minimumValue(self, value: float): + return Vector2D() + @majorAxis.setter + def majorAxis(self, value: Vector2D): """ - Gets and sets minimum value, if any, that the value can be. When getting this - property you should first check the hasMinimumValue property to see if this property - applies. Also, the isMinimumValueInclusive indicates if the minimum includes this - value or will be up to this value. - - Setting this value will change the isMinimumValueInclusive to True and the hasMinimumValue property to True if hasMinimumValue is currently - False, otherwise it will just update the value. + Gets and sets the major axis of the elliptical arc. """ pass @property - def hasMinimumValue(self) -> bool: + def majorRadius(self) -> float: """ - Gets and sets if there is a minimum value for this command input. When setting this property, it is only valid - to set it to False to remove the minimum value. Setting the minimumValue property will result in this property - being set to True. + Gets and sets the major radius of the elliptical arc. """ - return bool() - @hasMinimumValue.setter - def hasMinimumValue(self, value: bool): + return float() + @majorRadius.setter + def majorRadius(self, value: float): """ - Gets and sets if there is a minimum value for this command input. When setting this property, it is only valid - to set it to False to remove the minimum value. Setting the minimumValue property will result in this property - being set to True. + Gets and sets the major radius of the elliptical arc. """ pass @property - def isMinimumValueInclusive(self) -> bool: + def minorRadius(self) -> float: """ - Gets and sets if the value of the input includes the minimum value or is up to the minimum value. For example, - if the minimum value is zero and this property is True, the minimum value can be zero. If this is False, the - minimum value must be greater than zero. When the minimum value is first defined using the minimumValue property, - this property is set to True. The value returned by this property is only meaningful when the hasMinimumValue property - returns True. + Gets and sets the minor radius of the elliptical arc. """ - return bool() - @isMinimumValueInclusive.setter - def isMinimumValueInclusive(self, value: bool): + return float() + @minorRadius.setter + def minorRadius(self, value: float): """ - Gets and sets if the value of the input includes the minimum value or is up to the minimum value. For example, - if the minimum value is zero and this property is True, the minimum value can be zero. If this is False, the - minimum value must be greater than zero. When the minimum value is first defined using the minimumValue property, - this property is set to True. The value returned by this property is only meaningful when the hasMinimumValue property - returns True. + Gets and sets the minor radius of the elliptical arc. """ pass @property - def maximumValue(self) -> float: + def startAngle(self) -> float: """ - Gets and sets maximum value, if any, that the value can be. When getting this - property you should first check the hasMaximumValue property to see if this property - applies. Also, the isMaximumValueInclusive indicates if the maximum includes this - value or will be up to this value. + Gets and sets the start angle of the elliptical arc in radians, where 0 is along the major axis. """ return float() - @maximumValue.setter - def maximumValue(self, value: float): + @startAngle.setter + def startAngle(self, value: float): """ - Gets and sets maximum value, if any, that the value can be. When getting this - property you should first check the hasMaximumValue property to see if this property - applies. Also, the isMaximumValueInclusive indicates if the maximum includes this - value or will be up to this value. + Gets and sets the start angle of the elliptical arc in radians, where 0 is along the major axis. """ pass @property - def hasMaximumValue(self) -> bool: + def endAngle(self) -> float: """ - Gets and sets if there is a maximum value for this command input. When setting this property, it is only valid - to set it to False to remove the maximum value. Setting the maximumValue property will result in this property - being set to True. + Gets and sets the end angle of the elliptical arc in radians, where 0 is along the major axis. """ - return bool() - @hasMaximumValue.setter - def hasMaximumValue(self, value: bool): + return float() + @endAngle.setter + def endAngle(self, value: float): """ - Gets and sets if there is a maximum value for this command input. When setting this property, it is only valid - to set it to False to remove the maximum value. Setting the maximumValue property will result in this property - being set to True. + Gets and sets the end angle of the elliptical arc in radians, where 0 is along the major axis. """ pass @property - def isMaximumValueInclusive(self) -> bool: + def isClockwise(self) -> bool: """ - Gets and sets if the value of the input includes the maximum value or is up to the maximum value. For example, - if the maximum value is 100 and this property is True, the maximum value can be 100. If this is False, the - minimum value must be less than 100. When the maximum value is first defined using the maximumValue property, - this property is set to True. The value returned by this property is only meaningful when the hasMaximumValue property - returns True. + Indicates if the sweep direction of the elliptical arc is clockwise or counterclockwise. """ return bool() - @isMaximumValueInclusive.setter - def isMaximumValueInclusive(self, value: bool): + @property + def isCircular(self) -> bool: """ - Gets and sets if the value of the input includes the maximum value or is up to the maximum value. For example, - if the maximum value is 100 and this property is True, the maximum value can be 100. If this is False, the - minimum value must be less than 100. When the maximum value is first defined using the maximumValue property, - this property is set to True. The value returned by this property is only meaningful when the hasMaximumValue property - returns True. + Indicates if the elliptical arc is the geometric equivalent of a circular arc """ - pass + return bool() @property - def manipulatorOrigin(self) -> Point3D: + def startPoint(self) -> Point2D: """ - Gets the origin point of the manipulator in the model space of the root component. - To set the origin use the setManipulator method. + Gets the position of the start point of the elliptical arc. """ - return Point3D() + return Point2D() @property - def manipulatorDirection(self) -> Vector3D: + def endPoint(self) -> Point2D: """ - Gets the positive direction of the manipulator in the model space or the root component. - To set the direction use the setManipulator method. + Gets the position of the end point of the elliptical arc. """ - return Vector3D() + return Point2D() @property - def isValidExpression(self) -> bool: + def asNurbsCurve(self) -> NurbsCurve2D: """ - Returns true if the current expression is valid and can be evaluated. If this - is false, the value returned should be ignored because there currently is - not a valid value. + Returns a NURBS curve that is geometrically identical to the elliptical arc. """ - return bool() + return NurbsCurve2D() -class DocumentEvent(Event): +class EllipticalArc3D(Curve3D): """ - A DocumentEvent represents a document related event. For example, DocumentOpening or DocumentOpened. + Transient 3D elliptical arc. A transient elliptical arc is not displayed or saved in a document. + Transient 3D elliptical arcs are used as a wrapper to work with raw 3D elliptical arc information. + They are created statically using the create method of the EllipticalArc3D class. """ def __init__(self): pass @staticmethod - def cast(arg) -> DocumentEvent: - return DocumentEvent() - def add(self, handler: DocumentEventHandler) -> bool: - """ - Add a handler to be notified when the file event occurs. - handler : The handler object to be called when this event is fired. - Returns true if the addition of the handler was successful. - """ - return bool() - def remove(self, handler: DocumentEventHandler) -> bool: - """ - Removes a handler from the event. - handler : The handler object to be removed from the event. - Returns true if removal of the handler was successful. - """ - return bool() - -class DocumentEventArgs(EventArgs): - """ - The DocumentEventArgs provides information associated with a document event. - Note that some properties are not available on every event - - for example, the Document is not available on the DocumentOpening event because - the Document is not yet available. - """ - def __init__(self): - pass + def cast(arg) -> EllipticalArc3D: + return EllipticalArc3D() @staticmethod - def cast(arg) -> DocumentEventArgs: - return DocumentEventArgs() - @property - def document(self) -> Document: - """ - Provides access to the document that is open. Can be null in the case - where the event is fired before the document has been opened or after it has been closed. - """ - return Document() - @property - def fullPath(self) -> str: + def create(center: Point3D, normal: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float, startAngle: float, endAngle: float) -> EllipticalArc3D: """ - The full path to the file. + Creates a transient 3D elliptical arc. + center : The center point of the elliptical arc. + normal : The normal vector of the elliptical arc. + majorAxis : The major axis of the elliptical arc. + majorRadius : The major radius of the of the elliptical arc. + minorRadius : The minor radius of the of the elliptical arc. + startAngle : The start angle of the elliptical arc in radians, where 0 is along the major axis. + endAngle : The end angle of the elliptical arc in radians, where 0 is along the major axis. + Returns the newly created elliptical arc or null if the creation failed. """ - return str() - -class DropDownCommandInput(CommandInput): - """ - Provides a command input to get the choice in a drop-down list from the user. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> DropDownCommandInput: - return DropDownCommandInput() - @property - def dropDownStyle(self) -> DropDownStyles: + return EllipticalArc3D() + def copy(self) -> EllipticalArc3D: """ - Returns the style of drop down this was created as. + Creates and returns a copy of this EllipticalArc3D object. + Returns a new EllipticalArc3D object that is a copy of this Arc3D object. """ - return DropDownStyles() - @property - def listItems(self) -> ListItems: + return EllipticalArc3D() + def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float, float, float]: """ - Returns the ListItems object associated with this drop-down. You use this - object to populate and interact with the items in the drop-down. + Gets all of the data defining the elliptical arc. + center : The output center point of the elliptical arc. + normal : The output normal vector of the elliptical arc. + majorAxis : The output major axis of the elliptical arc. + majorRadius : The output major radius of the of the elliptical arc. + minorRadius : The output minor radius of the of the elliptical arc. + startAngle : The output start angle of the elliptical arc in radians, where 0 is along the major axis. + endAngle : The output end angle of the elliptical arc in radians, where 0 is along the major axis. + Returns true if successful. """ - return ListItems() - @property - def selectedItem(self) -> ListItem: + return (bool(), Point3D(), Vector3D(), Vector3D(), float(), float(), float(), float()) + def set(self, center: Point3D, normal: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float, startAngle: float, endAngle: float) -> bool: """ - Gets the item in the list that is currently selected. This can return null in the - case where no item in the list has been selected. This should be ignored - for CheckBoxDropDownStyle style drop-downs because multiple items can be selected - and each LiteItem should be checked individually. + Sets all of the data defining the elliptical arc. + center : The center point of the elliptical arc. + normal : The normal vector of the elliptical arc. + majorAxis : The major axis of the elliptical arc. + majorRadius : The major radius of the of the elliptical arc. + minorRadius : The minor radius of the of the elliptical arc. + startAngle : The start angle of the elliptical arc in radians, where 0 is along the major axis. + endAngle : The end angle of the elliptical arc in radians, where 0 is along the major axis. + Returns true if successful. """ - return ListItem() + return bool() @property - def maxVisibleItems(self) -> int: + def center(self) -> Point3D: """ - Gets or sets the maximum allowed size on screen of the drop down list, measured in items. + Gets and sets the center point of the elliptical arc. """ - return int() - @maxVisibleItems.setter - def maxVisibleItems(self, value: int): + return Point3D() + @center.setter + def center(self, value: Point3D): """ - Gets or sets the maximum allowed size on screen of the drop down list, measured in items. + Gets and sets the center point of the elliptical arc. """ pass - -class DropDownControl(ToolbarControl): - """ - Represents a drop-down control. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> DropDownControl: - return DropDownControl() @property - def controls(self) -> ToolbarControls: + def normal(self) -> Vector3D: """ - Gets the associated ToolbarControls collection. Through this you can add additional controls to the drop-down. + Gets and sets the normal of the elliptical arc. """ - return ToolbarControls() + return Vector3D() @property - def resourceFolder(self) -> str: + def majorAxis(self) -> Vector3D: """ - Gets or sets the resource folder containing the image used for the icon when the drop-down is in a toolbar. + Gets and sets the major axis of the elliptical arc. """ - return str() - @resourceFolder.setter - def resourceFolder(self, value: str): + return Vector3D() + @majorAxis.setter + def majorAxis(self, value: Vector3D): """ - Gets or sets the resource folder containing the image used for the icon when the drop-down is in a toolbar. + Gets and sets the major axis of the elliptical arc. """ pass @property - def name(self) -> str: + def majorRadius(self) -> float: """ - Gets or sets the Name displayed for this drop down. This isn't used when the drop-down is in a toolbar because an icon is used in that case. + Gets and sets the major radius of the elliptical arc. """ - return str() - @name.setter - def name(self, value: str): + return float() + @majorRadius.setter + def majorRadius(self, value: float): """ - Gets or sets the Name displayed for this drop down. This isn't used when the drop-down is in a toolbar because an icon is used in that case. + Gets and sets the major radius of the elliptical arc. """ pass - -class DXF2DImportOptions(ImportOptions): - """ - Defines that a 2D DXF Import to create sketches (based on layers in the DXF file) is to be performed and - specifies the various options. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> DXF2DImportOptions: - return DXF2DImportOptions() @property - def planarEntity(self) -> Base: + def minorRadius(self) -> float: """ - Gets and sets the construction plane or planar face that defines the plane that the resulting sketches will - be created on. + Gets and sets the minor radius of the elliptical arc. """ - return Base() - @planarEntity.setter - def planarEntity(self, value: Base): + return float() + @minorRadius.setter + def minorRadius(self, value: float): """ - Gets and sets the construction plane or planar face that defines the plane that the resulting sketches will - be created on. + Gets and sets the minor radius of the elliptical arc. """ pass @property - def position(self) -> Point2D: + def startAngle(self) -> float: """ - Gets and sets the X,Y offset position for the origin of the imported DXF data relative to the sketch origin. - This defaults to (0,0) in a newly created DXF2DImportOptions object. + Gets and sets the start angle of the elliptical arc. """ - return Point2D() - @position.setter - def position(self, value: Point2D): + return float() + @startAngle.setter + def startAngle(self, value: float): """ - Gets and sets the X,Y offset position for the origin of the imported DXF data relative to the sketch origin. - This defaults to (0,0) in a newly created DXF2DImportOptions object. + Gets and sets the start angle of the elliptical arc. """ pass @property - def results(self) -> ObjectCollection: + def endAngle(self) -> float: """ - Returns a collection of Sketch objects. A sketch is created for each layer in the dxf file - that contains 2D geometry. Any 3D geometry contained in the DXF file is ignored. - The names of the resulting sketches correspond to the layer names in the DXF file. - Currently, the only way to get a single sketch as a result is to supply a DXF file that only has 2D geometry - on a single layer. + Gets and sets the end angle of the elliptical arc. """ - return ObjectCollection() - @property - def isSingleSketchResult(self) -> bool: + return float() + @endAngle.setter + def endAngle(self, value: float): """ - Gets and sets if importing the DXF file should create a new sketch for each layer or - if the entire contents of the DXF file should be merged into a single layer. If true - a single sketch will be created. If false a new sketch for each layer will be created - where the sketch name will be the name of the layer. The default value for this - property is false, resulting in a sketch for each layer. + Gets and sets the end angle of the elliptical arc. """ - return bool() - @isSingleSketchResult.setter - def isSingleSketchResult(self, value: bool): + pass + @property + def asNurbsCurve(self) -> NurbsCurve3D: """ - Gets and sets if importing the DXF file should create a new sketch for each layer or - if the entire contents of the DXF file should be merged into a single layer. If true - a single sketch will be created. If false a new sketch for each layer will be created - where the sketch name will be the name of the layer. The default value for this - property is false, resulting in a sketch for each layer. + Returns a NURBS curve that is geometrically identical to the elliptical arc. """ - pass + return NurbsCurve3D() -class Ellipse2D(Curve2D): +class EllipticalCone(Surface): """ - Transient 2D ellipse. A transient ellipse is not displayed or saved in a document. - Transient 2D ellipses are used as a wrapper to work with raw 2D ellipse information. - They are created statically using the create method of the Ellipse2D class. + Transient elliptical cone. A transient elliptical cone is not displayed or saved in a document. + A transient elliptical cone is used as a wrapper to work with raw elliptical cone information. + A transient elliptical cone has no boundaries. + The cone always goes to a point in its narrowing direction, and is infinite in its + widening direction. + They are created statically using the create method of the EllipticalCone class. """ def __init__(self): pass @staticmethod - def cast(arg) -> Ellipse2D: - return Ellipse2D() + def cast(arg) -> EllipticalCone: + return EllipticalCone() @staticmethod - def create(center: Point2D, majorAxis: Vector2D, majorRadius: float, minorRadius: float) -> Ellipse2D: + def create(origin: Point3D, axis: Vector3D, majorAxisDirection: Vector3D, majorRadius: float, minorRadius: float, halfAngle: float) -> EllipticalCone: """ - Creates a transient 2D ellipse by specifying a center position, major and minor axes, - and major and minor radii. - center : A Point2D object that defines the center of the ellipse. - majorAxis : The major axis of the ellipse - majorRadius : The major radius of the of the ellipse. - minorRadius : The minor radius of the of the ellipse. - Returns the new Ellipse 2D object or null if the creation failed. + Creates a transient elliptical cone object. + origin : The origin point (center) of the base of the cone. + axis : The center axis (along the length) of the cone that defines its normal direction. + majorAxisDirection : The direction of the major axis of the ellipse that defines the cone. + majorRadius : The major radius of the ellipse that defines the cone. + minorRadius : The minor radius of the ellipse that defines the cone. + halfAngle : The taper half-angle of the cone. + Returns the new EllipticalCone object or null if the creation failed. """ - return Ellipse2D() - def copy(self) -> Ellipse2D: + return EllipticalCone() + def getAxes(self) -> tuple[Vector3D, Vector3D]: """ - Creates and returns a copy of this Ellipse2D object. - Returns a new Ellipse2D object that is a copy of this Ellipse2D object. + Gets the center axis of the cone that defines its normal direction and the major axis + direction of the ellipse that defines it. + axis : The output center axis (along the length) of the cone that defines its normal direction. + majorAxisDirection : The output direction of the major axis of the ellipse that defines the cone. """ - return Ellipse2D() - def getData(self) -> tuple[bool, Point2D, Vector2D, float, float]: + return (Vector3D(), Vector3D()) + def setAxes(self, axis: Vector3D, majorAxisDirection: Vector3D) -> bool: """ - Gets all of the data defining the ellipse. - center : The output center point of the ellipse. - majorAxis : The output major axis of the ellipse. - majorRadius : The output major radius of the of the ellipse. - minorRadius : The output minor radius of the of the ellipse. + Sets the center axis of the cone and the major axis direction of the ellipse that defines it. + axis : The center axis (along the length) of the cone that defines its normal direction. + majorAxisDirection : The direction of the major axis of the ellipse that defines the cone. Returns true if successful. """ - return (bool(), Point2D(), Vector2D(), float(), float()) - def set(self, center: Point2D, majorAxis: Vector2D, majorRadius: float, minorRadius: float) -> bool: + return bool() + def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float, float]: """ - Sets all of the data defining the ellipse. - center : A Point2D object that defines the center of the ellipse. - majorAxis : The major axis of the ellipse. - majorRadius : The major radius of the of the ellipse. - minorRadius : The minor radius of the of the ellipse. - Returns true if redefining the ellipse is successful. + Gets the data that defines the Elliptical Cone. + origin : The output origin point (center) of the base of the cone. + axis : The output center axis (along the length) of the cone that defines its normal direction. + majorAxisDirection : The output direction of the major axis of the ellipse that defines the cone. + majorRadius : The output major radius of the ellipse that defines the cone. + minorRadius : The output minor radius of the ellipse that defines the cone. + halfAngle : The output taper half-angle of the cone. + Returns true if successful. """ - return bool() - @property - def center(self) -> Point2D: + return (bool(), Point3D(), Vector3D(), Vector3D(), float(), float(), float()) + def set(self, origin: Point3D, axis: Vector3D, majorAxisDirection: Vector3D, majorRadius: float, minorRadius: float, halfAngle: float) -> bool: """ - Gets and sets the center position of the ellipse. + Sets the data that defines the Elliptical Cone. + origin : The origin point (center) of the base of the cone. + axis : The center axis (along the length) of the cone that defines its normal direction. + majorAxisDirection : The direction of the major axis of the ellipse that defines the cone. + majorRadius : The major radius of the ellipse that defines the cone. + minorRadius : The minor radius of the ellipse that defines the cone. + halfAngle : The taper half-angle of the cone. + Returns true if successful. """ - return Point2D() - @center.setter - def center(self, value: Point2D): + return bool() + def copy(self) -> EllipticalCone: """ - Gets and sets the center position of the ellipse. + Creates and returns an independent copy of this EllipticalCone object. + Returns a new EllipticalCone object that is a copy of this EllipticalCone object. """ - pass + return EllipticalCone() @property - def majorAxis(self) -> Vector2D: + def origin(self) -> Point3D: """ - Gets and sets the major axis of the ellipse. + Gets and sets the origin point (center) of the base of the cone. """ - return Vector2D() - @majorAxis.setter - def majorAxis(self, value: Vector2D): + return Point3D() + @origin.setter + def origin(self, value: Point3D): """ - Gets and sets the major axis of the ellipse. + Gets and sets the origin point (center) of the base of the cone. """ pass @property def majorRadius(self) -> float: """ - Gets and sets the major radius of the ellipse. + Gets and sets the major radius of the ellipse that defines the cone. """ return float() @majorRadius.setter def majorRadius(self, value: float): """ - Gets and sets the major radius of the ellipse. + Gets and sets the major radius of the ellipse that defines the cone. """ pass @property def minorRadius(self) -> float: """ - Gets and sets the minor radius of the ellipse. + Gets and sets the minor radius of the ellipse that defines the cone. """ return float() @minorRadius.setter def minorRadius(self, value: float): """ - Gets and sets the minor radius of the ellipse. + Gets and sets the minor radius of the ellipse that defines the cone. + """ + pass + @property + def halfAngle(self) -> float: + """ + Gets and sets the taper half-angle of the elliptical cone. + A negative value indicates that the cone is narrowing in the direction of the axis vector, + whereas a positive values indicates that it is expanding in the direction of the axis vector. """ - pass - @property - def asNurbsCurve(self) -> NurbsCurve2D: + return float() + @halfAngle.setter + def halfAngle(self, value: float): """ - Returns a NURBS curve that is geometrically identical to the ellipse. + Gets and sets the taper half-angle of the elliptical cone. + A negative value indicates that the cone is narrowing in the direction of the axis vector, + whereas a positive values indicates that it is expanding in the direction of the axis vector. """ - return NurbsCurve2D() + pass -class Ellipse3D(Curve3D): +class EllipticalCylinder(Surface): """ - Transient 3D ellipse. A transient ellipse is n0t displayed or saved in a document. - Transient 3D ellipses are used as a wrapper to work with raw 3D ellipse information. - They are created statically using the create method of the Ellipse3D class. + Transient elliptical cylinder. A transient elliptical cylinder is not displayed or saved + in a document. + A transient elliptical cylinder is used as a wrapper to work with raw elliptical cylinder + information. + A transient elliptical cylinder has no boundaries and is infinite in length. + They are created statically using the create method of the EllipticalCylinder class. """ def __init__(self): pass @staticmethod - def cast(arg) -> Ellipse3D: - return Ellipse3D() + def cast(arg) -> EllipticalCylinder: + return EllipticalCylinder() @staticmethod - def create(center: Point3D, normal: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float) -> Ellipse3D: - """ - Creates a transient 3D ellipse object. - center : The center point of the ellipse. - normal : The normal vector of the ellipse. - The plane through the center point and perpendicular to the normal vector defines the plane of the ellipse. - majorAxis : The major axis of the ellipse - majorRadius : The major radius of the of the ellipse. - minorRadius : The minor radius of the of the ellipse. - Returns the new Ellipse 3D object or null if the creation failed. - """ - return Ellipse3D() - def copy(self) -> Ellipse3D: + def create(origin: Point3D, axis: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float) -> EllipticalCylinder: """ - Creates a copy of this Ellipse3D object. - Returns the independent copy of the ellipse. + Creates a transient 3D elliptical cylinder object. + origin : The origin point (center) of the base of the cylinder. + axis : The center axis (along the length) of the cylinder that defines its normal direction. + majorAxis : The direction of the major axis of the ellipse that defines the cylinder. + majorRadius : The major radius of the ellipse that defines the cylinder. + minorRadius : The minor radius of the ellipse that defines the cylinder. + Returns the new EllipticalCylinder object or null if the creation failed. """ - return Ellipse3D() + return EllipticalCylinder() def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float]: """ - Gets all of the data defining the ellipse. - center : The output center point of the ellipse. - normal : The output normal vector of the ellipse. - majorAxis : The output major axis of the ellipse - majorRadius : The output major radius of the of the ellipse. - minorRadius : The output minor radius of the of the ellipse. + Gets the data defining the elliptical cylinder. + origin : The output origin point (center) of the base of the cylinder. + axis : The output center axis (along the length) of the cylinder that defines its normal direction. + majorAxis : The output direction of the major axis of the ellipse that defines the cylinder. + majorRadius : The output major radius of the ellipse that defines the cylinder. + minorRadius : The output minor radius of the ellipse that defines the cylinder. Returns true if successful. """ return (bool(), Point3D(), Vector3D(), Vector3D(), float(), float()) - def set(self, center: Point3D, normal: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float) -> bool: + def set(self, origin: Point3D, axis: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float) -> bool: """ - Sets all of the data defining the ellipse. - center : The center point of the ellipse. - normal : The normal vector of the ellipse. - The plane through the center point and perpendicular to the normal vector defines the plane of the ellipse. - majorAxis : The major axis of the ellipse. - majorRadius : The major radius of the of the ellipse. - minorRadius : The minor radius of the of the ellipse. + Sets the data defining the elliptical cylinder. + origin : The origin point (center) of the base of the cylinder. + axis : The center axis (along the length) of the cylinder that defines its normal direction. + majorAxis : The direction of the major axis of the ellipse that defines the cylinder. + majorRadius : The major radius of the ellipse that defines the cylinder. + minorRadius : The minor radius of the ellipse that defines the cylinder. Returns true if successful. """ return bool() + def copy(self) -> EllipticalCylinder: + """ + Creates and returns an independent copy of this EllipticalCylinder object. + Returns a new EllipticalCylinder object that is a copy of this EllipticalCylinder object. + """ + return EllipticalCylinder() @property - def center(self) -> Point3D: + def origin(self) -> Point3D: """ - Gets and sets the center position of the ellipse. + Gets and sets the origin point (center) of the base of the cylinder. """ return Point3D() - @center.setter - def center(self, value: Point3D): + @origin.setter + def origin(self, value: Point3D): """ - Gets and sets the center position of the ellipse. + Gets and sets the origin point (center) of the base of the cylinder. """ pass @property - def normal(self) -> Vector3D: + def axis(self) -> Vector3D: """ - Gets and sets the normal of the ellipse. + Gets and set the center axis (along the length) of the cylinder that defines + its normal direction. """ return Vector3D() + @axis.setter + def axis(self, value: Vector3D): + """ + Gets and set the center axis (along the length) of the cylinder that defines + its normal direction. + """ + pass @property def majorAxis(self) -> Vector3D: """ - Gets and sets the major axis of the ellipse. + Gets and sets the direction of the major axis of the ellipse that defines the cylinder. """ return Vector3D() @majorAxis.setter def majorAxis(self, value: Vector3D): """ - Gets and sets the major axis of the ellipse. + Gets and sets the direction of the major axis of the ellipse that defines the cylinder. """ pass @property def majorRadius(self) -> float: """ - Gets and sets the major radius of the ellipse. + Gets and sets the major radius of the ellipse that defines the cylinder. """ return float() @majorRadius.setter def majorRadius(self, value: float): """ - Gets and sets the major radius of the ellipse. + Gets and sets the major radius of the ellipse that defines the cylinder. """ pass @property def minorRadius(self) -> float: """ - Gets and sets the minor radius of the ellipse. + Gets and sets the minor radius of the ellipse that defines the cylinder. """ return float() @minorRadius.setter def minorRadius(self, value: float): """ - Gets and sets the minor radius of the ellipse. + Gets and sets the minor radius of the ellipse that defines the cylinder. + """ + pass + +class FilenameProperty(Property): + """ + A file name property associated with an appearance. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FilenameProperty: + return FilenameProperty() + @property + def hasMultipleValues(self) -> bool: + """ + Gets the boolean flag that indicates if this property has multiple values or not. + """ + return bool() + @property + def value(self) -> str: + """ + Gets and sets the value of this property. + """ + return str() + @value.setter + def value(self, value: str): + """ + Gets and sets the value of this property. """ pass @property - def asNurbsCurve(self) -> NurbsCurve3D: + def values(self) -> list[str]: """ - Returns a NURBS curve that is geometrically identical to the ellipse. + Gets and sets the values associated with this property. HasMultipleValues + property indicates if this property will be returning more than one value. """ - return NurbsCurve3D() + return [str()] + @values.setter + def values(self, value: list[str]): + """ + Gets and sets the values associated with this property. HasMultipleValues + property indicates if this property will be returning more than one value. + """ + pass -class EllipticalArc2D(Curve2D): +class FloatProperty(Property): """ - Transient 2D elliptical arc. A transient elliptical arc is not displayed or saved in a document. - Transient 2D elliptical arcs are used as a wrapper to work with raw 2D elliptical arc information. - They are created statically using the create method of the EllipticalArc2D class. + A float or real value property associated with a material or appearance. """ def __init__(self): pass @staticmethod - def cast(arg) -> EllipticalArc2D: - return EllipticalArc2D() - @staticmethod - def create(center: Point2D, majorAxis: Vector2D, majorRadius: float, minorRadius: float, startAngle: float, endAngle: float) -> EllipticalArc2D: + def cast(arg) -> FloatProperty: + return FloatProperty() + def getLimits(self) -> tuple[bool, bool, float, bool, float]: """ - Creates a transient 2D elliptical arc - center : A Point2D object that defines the center of the elliptical arc. - majorAxis : The major axis of the elliptical arc - majorRadius : The major radius of the of the elliptical arc. - minorRadius : The minor radius of the of the elliptical arc. - startAngle : The start angle of the elliptical arc in radians, where 0 is along the major axis. - endAngle : The end angle of the elliptical arc in radians, where 0 is along the major axis. - Returns the newly created elliptical arc or null if the creation failed. + Method that returns any limits for the value of this property. The HasLimits property can + be used to see if there are any limits or not. + hasLowLimit : Output Boolean that indicates if there is a low limit or not. + lowLimit : If the hasLowLimit argument is true, this argument returns the low limit. + hasHighLimit : Output Boolean that indicates if there is a high limit or not. + highLimit : If the hasHighLimit argument is true, this argument returns the high limit. + Returns true if the method call was successful. """ - return EllipticalArc2D() - def copy(self) -> EllipticalArc2D: + return (bool(), bool(), float(), bool(), float()) + @property + def hasConnectedTexture(self) -> bool: """ - Creates and returns a copy of this EllipticalArc2D object. - Returns a new EllipticalArc2D object that is a copy of this Arc2D object. + Gets and sets the boolean flag that indicates if the float value has been overridden + using a texture. Setting this property to False will remove the texture so that a float + value is used. Setting this property to True will connect a texture to this float value. """ - return EllipticalArc2D() - def getData(self) -> tuple[bool, Point2D, Vector2D, float, float, float, float]: + return bool() + @hasConnectedTexture.setter + def hasConnectedTexture(self, value: bool): """ - Gets all of the data defining the elliptical arc. - center : The output center point of the elliptical arc. - majorAxis : The output major axis of the elliptical arc. - majorRadius : The output major radius of the of the elliptical arc. - minorRadius : The output minor radius of the of the elliptical arc. - startAngle : The output start angle of the elliptical arc in radians, where 0 is along the major axis. - endAngle : The output end angle of the elliptical arc in radians, where 0 is along the major axis. - Returns true if successful + Gets and sets the boolean flag that indicates if the float value has been overridden + using a texture. Setting this property to False will remove the texture so that a float + value is used. Setting this property to True will connect a texture to this float value. """ - return (bool(), Point2D(), Vector2D(), float(), float(), float(), float()) - def set(self, center: Point2D, majorAxis: Vector2D, majorRadius: float, minorRadius: float, startAngle: float, endAngle: float) -> bool: + pass + @property + def connectedTexture(self) -> AppearanceTexture: """ - center : A Point2D object that defines the center of the elliptical arc. - majorAxis : The major axis of the elliptical arc. - majorRadius : The major radius of the of the elliptical arc. - minorRadius : The minor radius of the of the elliptical arc. - startAngle : The start angle of the elliptical arc in radians, where 0 is along the major axis. - endAngle : The end angle of the elliptical arc in radians, where 0 is along the major axis. - Returns true if redefining the elliptical arc is successful + Gets the associated texture, if one exists. The HasConnectedTexture property controls + if there is an associated texture or not. If it's parent writable you can edit the + texture. If no texture exists, this property will return Nothing. + """ + return AppearanceTexture() + @property + def hasLimits(self) -> bool: + """ + Gets the boolean flag that indicates if the value of this property has any limits it must be within to + be valid. If True, use the GetLimits method to get the limit values. + """ + return bool() + @property + def hasMultipleValues(self) -> bool: + """ + Gets the boolean flag that indicates if this property has multiple values or not. + """ + return bool() + @property + def isPercentage(self) -> bool: + """ + Gets the boolean flag that indicates that this property represents a percentage value so + the valid values must be in the range of 0.0 to 1.0 unless they’re further limited by + additional limits which can be determined with the HasLimits property. + """ + return bool() + @property + def units(self) -> str: """ - return bool() + Gets the units that the value of this property is returned in. The String returned is a + valid Fusion 360 unit string. + """ + return str() @property - def center(self) -> Point2D: + def value(self) -> float: """ - Gets and sets the center position of the elliptical arc. + Gets and sets this property value. The value of this property should be ignored + if the HasConnectedTexture property is true. Setting this will remove any + associated texture, if there is one. """ - return Point2D() - @center.setter - def center(self, value: Point2D): + return float() + @value.setter + def value(self, value: float): """ - Gets and sets the center position of the elliptical arc. + Gets and sets this property value. The value of this property should be ignored + if the HasConnectedTexture property is true. Setting this will remove any + associated texture, if there is one. """ pass @property - def majorAxis(self) -> Vector2D: + def values(self) -> list[float]: """ - Gets and sets the major axis of the elliptical arc. + Gets and sets the values associated with this property. HasMultipleValues property + indicates if this property will be returning more than one value. """ - return Vector2D() - @majorAxis.setter - def majorAxis(self, value: Vector2D): + return [float()] + @values.setter + def values(self, value: list[float]): """ - Gets and sets the major axis of the elliptical arc. + Gets and sets the values associated with this property. HasMultipleValues property + indicates if this property will be returning more than one value. """ pass + +class FloatSpinnerCommandInput(CommandInput): + """ + Provides a command input to get the value of a spinner from the user, the value type is float. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FloatSpinnerCommandInput: + return FloatSpinnerCommandInput() @property - def majorRadius(self) -> float: + def value(self) -> float: """ - Gets and sets the major radius of the elliptical arc. + Gets and sets the value associated with this input. The value is always in + the database units of the unit type specified. For example, if the unit type is "inch" + this value is in centimeters since centimeters are the database length unit. When setting the + value it is converted into a string using the unit type and displayed in the input box. + + The isValidExpression property should be checked before using this + value within the command because if the expression can't be evaluated + there isn't a valid value. Fusion 360 won't allow the execution of a command + that contains ValueCommandInput object with invalid expressions so you can + dependably use the value in the execute event of the command. """ return float() - @majorRadius.setter - def majorRadius(self, value: float): + @value.setter + def value(self, value: float): """ - Gets and sets the major radius of the elliptical arc. + Gets and sets the value associated with this input. The value is always in + the database units of the unit type specified. For example, if the unit type is "inch" + this value is in centimeters since centimeters are the database length unit. When setting the + value it is converted into a string using the unit type and displayed in the input box. + + The isValidExpression property should be checked before using this + value within the command because if the expression can't be evaluated + there isn't a valid value. Fusion 360 won't allow the execution of a command + that contains ValueCommandInput object with invalid expressions so you can + dependably use the value in the execute event of the command. """ pass @property - def minorRadius(self) -> float: + def unitType(self) -> str: """ - Gets and sets the minor radius of the elliptical arc. + Gets the unit type that is used when evaluating the user's input. """ - return float() - @minorRadius.setter - def minorRadius(self, value: float): + return str() + @property + def minimumValue(self) -> float: """ - Gets and sets the minor radius of the elliptical arc. + Gets the minimum allowed value of the spinner in database units. """ - pass + return float() @property - def startAngle(self) -> float: + def maximumValue(self) -> float: """ - Gets and sets the start angle of the elliptical arc in radians, where 0 is along the major axis. + Gets the maximum allowed value of the spinner in database units. """ return float() - @startAngle.setter - def startAngle(self, value: float): + @property + def spinStep(self) -> float: """ - Gets and sets the start angle of the elliptical arc in radians, where 0 is along the major axis. + Gets the spin step value in the unit type set by the unitType argument. + The value should be more than zero. This is the amount the spinner will advance + when the user clicks the spin button beside the value. """ - pass + return float() @property - def endAngle(self) -> float: + def expression(self) -> str: """ - Gets and sets the end angle of the elliptical arc in radians, where 0 is along the major axis. + Gets or sets the expression displayed in the input field. This can contain equations and + references to parameters. It is evaluated using the specified unit type. """ - return float() - @endAngle.setter - def endAngle(self, value: float): + return str() + @expression.setter + def expression(self, value: str): """ - Gets and sets the end angle of the elliptical arc in radians, where 0 is along the major axis. + Gets or sets the expression displayed in the input field. This can contain equations and + references to parameters. It is evaluated using the specified unit type. """ pass @property - def isClockwise(self) -> bool: + def isValidExpression(self) -> bool: """ - Indicates if the sweep direction of the elliptical arc is clockwise or counterclockwise. + Returns true if the current expression is valid and can be evaluated. If this + is false, the value returned should be ignored because there currently is + not a valid value. """ return bool() + +class FusionArchiveImportOptions(ImportOptions): + """ + Defines that a Fusion 360 Archive import is to be done and specifies the various options. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FusionArchiveImportOptions: + return FusionArchiveImportOptions() + +class GroupCommandInput(CommandInput): + """ + Group Command inputs organize a set of command inputs into a collapsible + list within a command dialog + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> GroupCommandInput: + return GroupCommandInput() @property - def isCircular(self) -> bool: + def children(self) -> CommandInputs: """ - Indicates if the elliptical arc is the geometric equivalent of a circular arc + Gets the CommandInputs collection for this GroupCommandInput. + Use the add methods on this collection to add child CommandInputs to this Group in the desired order. """ - return bool() + return CommandInputs() @property - def startPoint(self) -> Point2D: + def isExpanded(self) -> bool: """ - Gets the position of the start point of the elliptical arc. + Gets or sets if this group is expanded. + If this is a sub-group of another group and the isEnabledCheckBoxDisplayed property is set to false + then the isExpanded property must be set to true. """ - return Point2D() + return bool() + @isExpanded.setter + def isExpanded(self, value: bool): + """ + Gets or sets if this group is expanded. + If this is a sub-group of another group and the isEnabledCheckBoxDisplayed property is set to false + then the isExpanded property must be set to true. + """ + pass @property - def endPoint(self) -> Point2D: + def isEnabledCheckBoxDisplayed(self) -> bool: """ - Gets the position of the end point of the elliptical arc. + Gets or sets if this group has a check-box for enabling/disabling the group. + If this is a sub-group of another group and the isEnabledCheckBoxDisplayed property is set to false + then the isExpanded property must be set to true. """ - return Point2D() + return bool() + @isEnabledCheckBoxDisplayed.setter + def isEnabledCheckBoxDisplayed(self, value: bool): + """ + Gets or sets if this group has a check-box for enabling/disabling the group. + If this is a sub-group of another group and the isEnabledCheckBoxDisplayed property is set to false + then the isExpanded property must be set to true. + """ + pass @property - def asNurbsCurve(self) -> NurbsCurve2D: + def isEnabledCheckBoxChecked(self) -> bool: """ - Returns a NURBS curve that is geometrically identical to the elliptical arc. + Gets or sets if the enabled check-box is checked or not. This is only + valid when the isEnabledCheckBoxDisplayed property is true. """ - return NurbsCurve2D() + return bool() + @isEnabledCheckBoxChecked.setter + def isEnabledCheckBoxChecked(self, value: bool): + """ + Gets or sets if the enabled check-box is checked or not. This is only + valid when the isEnabledCheckBoxDisplayed property is true. + """ + pass -class EllipticalArc3D(Curve3D): +class HTMLEvent(Event): """ - Transient 3D elliptical arc. A transient elliptical arc is not displayed or saved in a document. - Transient 3D elliptical arcs are used as a wrapper to work with raw 3D elliptical arc information. - They are created statically using the create method of the EllipticalArc3D class. + A HTMLEvent is fired when triggered from JavaScript code associated with HTML used + in a palette. """ def __init__(self): pass @staticmethod - def cast(arg) -> EllipticalArc3D: - return EllipticalArc3D() - @staticmethod - def create(center: Point3D, normal: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float, startAngle: float, endAngle: float) -> EllipticalArc3D: + def cast(arg) -> HTMLEvent: + return HTMLEvent() + def add(self, handler: HTMLEventHandler) -> bool: """ - Creates a transient 3D elliptical arc. - center : The center point of the elliptical arc. - normal : The normal vector of the elliptical arc. - majorAxis : The major axis of the elliptical arc. - majorRadius : The major radius of the of the elliptical arc. - minorRadius : The minor radius of the of the elliptical arc. - startAngle : The start angle of the elliptical arc in radians, where 0 is along the major axis. - endAngle : The end angle of the elliptical arc in radians, where 0 is along the major axis. - Returns the newly created elliptical arc or null if the creation failed. + Add a handler to be notified when the event occurs. + handler : The handler object to be called when this event is fired. + Returns true if the addition of the handler was successful. """ - return EllipticalArc3D() - def copy(self) -> EllipticalArc3D: + return bool() + def remove(self, handler: HTMLEventHandler) -> bool: """ - Creates and returns a copy of this EllipticalArc3D object. - Returns a new EllipticalArc3D object that is a copy of this Arc3D object. + Removes a handler from the event. + handler : The handler object to be removed from the event. + Returns true if removal of the handler was successful. """ - return EllipticalArc3D() - def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float, float, float]: + return bool() + +class HTMLEventArgs(EventArgs): + """ + The HTMLEventArgs provides access to the information sent from the JavaScript + that's associated with HTML being displayed within a palette. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> HTMLEventArgs: + return HTMLEventArgs() + @property + def action(self) -> str: """ - Gets all of the data defining the elliptical arc. - center : The output center point of the elliptical arc. - normal : The output normal vector of the elliptical arc. - majorAxis : The output major axis of the elliptical arc. - majorRadius : The output major radius of the of the elliptical arc. - minorRadius : The output minor radius of the of the elliptical arc. - startAngle : The output start angle of the elliptical arc in radians, where 0 is along the major axis. - endAngle : The output end angle of the elliptical arc in radians, where 0 is along the major axis. - Returns true if successful. + The action string sent from the JavaScript associated with HTML displayed + in the palette. The string can represent any type of data in any format but + JSON is commonly used to pass more complex data. """ - return (bool(), Point3D(), Vector3D(), Vector3D(), float(), float(), float(), float()) - def set(self, center: Point3D, normal: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float, startAngle: float, endAngle: float) -> bool: + return str() + @property + def data(self) -> str: """ - Sets all of the data defining the elliptical arc. - center : The center point of the elliptical arc. - normal : The normal vector of the elliptical arc. - majorAxis : The major axis of the elliptical arc. - majorRadius : The major radius of the of the elliptical arc. - minorRadius : The minor radius of the of the elliptical arc. - startAngle : The start angle of the elliptical arc in radians, where 0 is along the major axis. - endAngle : The end angle of the elliptical arc in radians, where 0 is along the major axis. - Returns true if successful. + The data string sent from the JavaScript associated with HTML displayed + in the palette. The string can represent any type of data in any format but + JSON is commonly used to pass more complex data. """ - return bool() + return str() @property - def center(self) -> Point3D: + def returnData(self) -> str: """ - Gets and sets the center point of the elliptical arc. + Set this property to return data back to the JavaScript that's associated with the HTML. """ - return Point3D() - @center.setter - def center(self, value: Point3D): + return str() + @returnData.setter + def returnData(self, value: str): """ - Gets and sets the center point of the elliptical arc. + Set this property to return data back to the JavaScript that's associated with the HTML. """ pass @property - def normal(self) -> Vector3D: + def browserCommandInput(self) -> BrowserCommandInput: """ - Gets and sets the normal of the elliptical arc. + When the event is fired from a BrowserCommandInput object, this property returns + the specific BrowserCommandInput that caused the event to fire. In all other cases + this property returns null. """ - return Vector3D() + return BrowserCommandInput() + +class IGESImportOptions(ImportOptions): + """ + Defines that an IGES import is to be done and specifies the various options. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> IGESImportOptions: + return IGESImportOptions() + +class ImageCommandInput(CommandInput): + """ + Provides an image command input for including an image in a command dialog. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ImageCommandInput: + return ImageCommandInput() @property - def majorAxis(self) -> Vector3D: + def imageFile(self) -> str: """ - Gets and sets the major axis of the elliptical arc. + Gets and sets the full path and file name of the image file. + Supported image format is .png + Images are displayed in the command dialog using their actual size. """ - return Vector3D() - @majorAxis.setter - def majorAxis(self, value: Vector3D): + return str() + @imageFile.setter + def imageFile(self, value: str): """ - Gets and sets the major axis of the elliptical arc. + Gets and sets the full path and file name of the image file. + Supported image format is .png + Images are displayed in the command dialog using their actual size. """ pass - @property - def majorRadius(self) -> float: + +class InfiniteLine3D(Curve3D): + """ + Transient 3D infinite line. An infinite line is defined by a position and direction in space + and has no start or end points. + They are created statically using the create method of the InfiniteLine3D class. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> InfiniteLine3D: + return InfiniteLine3D() + @staticmethod + def create(origin: Point3D, direction: Vector3D) -> InfiniteLine3D: """ - Gets and sets the major radius of the elliptical arc. + Creates a transient 3D infinite line. + origin : The origin point of the line. + direction : The direction of the line. + Returns the new InfiniteLine3D object or null if the creation failed. """ - return float() - @majorRadius.setter - def majorRadius(self, value: float): + return InfiniteLine3D() + def isColinearTo(self, line: InfiniteLine3D) -> bool: """ - Gets and sets the major radius of the elliptical arc. + Compare this line with another to check for collinearity. + line : The line to compare with for collinearity. + Returns true if the two lines are collinear. """ - pass - @property - def minorRadius(self) -> float: + return bool() + def copy(self) -> InfiniteLine3D: """ - Gets and sets the minor radius of the elliptical arc. + Creates and returns a copy of this line object. + Returns an independent copy of this line object. """ - return float() - @minorRadius.setter - def minorRadius(self, value: float): + return InfiniteLine3D() + def intersectWithCurve(self, curve: Curve3D) -> ObjectCollection: """ - Gets and sets the minor radius of the elliptical arc. + Intersect this line with a curve to get the intersection point(s). + curve : The intersecting curve. + The curve can be a Line3D, InfininteLine3D, Circle3D, Arc3D, EllipticalArc3D, Ellipse3D, + or NurbsCurve3D. + Returns a collection of the intersection points. """ - pass - @property - def startAngle(self) -> float: + return ObjectCollection() + def intersectWithSurface(self, surface: Surface) -> ObjectCollection: """ - Gets and sets the start angle of the elliptical arc. + Intersect this line with a surface to get the intersection point(s). + surface : The intersecting surface. + The surface can be a Plane, Cone, Cylinder, EllipticalCone, EllipticalCylinder, Sphere, + Torus, or a NurbsSurface. + Returns a collection of the intersection points. """ - return float() - @startAngle.setter - def startAngle(self, value: float): + return ObjectCollection() + def getData(self) -> tuple[bool, Point3D, Vector3D]: """ - Gets and sets the start angle of the elliptical arc. + Gets all of the data defining the infinite line. + origin : The output origin point of the line. + direction : The output direction of the line. + Returns true if successful. """ - pass + return (bool(), Point3D(), Vector3D()) + def set(self, origin: Point3D, direction: Vector3D) -> bool: + """ + Sets all of the data defining the infinite line. + origin : The origin point of the line. + direction : The direction of the line. + Returns true if successful. + """ + return bool() @property - def endAngle(self) -> float: + def origin(self) -> Point3D: """ - Gets and sets the end angle of the elliptical arc. + Gets and sets the origin point of the line. """ - return float() - @endAngle.setter - def endAngle(self, value: float): + return Point3D() + @origin.setter + def origin(self, value: Point3D): """ - Gets and sets the end angle of the elliptical arc. + Gets and sets the origin point of the line. """ pass @property - def asNurbsCurve(self) -> NurbsCurve3D: + def direction(self) -> Vector3D: """ - Returns a NURBS curve that is geometrically identical to the elliptical arc. + Gets and sets the direction of the line. """ - return NurbsCurve3D() + return Vector3D() + @direction.setter + def direction(self, value: Vector3D): + """ + Gets and sets the direction of the line. + """ + pass -class EllipticalCone(Surface): +class InputChangedEvent(Event): """ - Transient elliptical cone. A transient elliptical cone is not displayed or saved in a document. - A transient elliptical cone is used as a wrapper to work with raw elliptical cone information. - A transient elliptical cone has no boundaries. - The cone always goes to a point in its narrowing direction, and is infinite in its - widening direction. - They are created statically using the create method of the EllipticalCone class. + An event endpoint that supports the connection to client implemented InputChangedEventHandlers. """ def __init__(self): pass @staticmethod - def cast(arg) -> EllipticalCone: - return EllipticalCone() - @staticmethod - def create(origin: Point3D, axis: Vector3D, majorAxisDirection: Vector3D, majorRadius: float, minorRadius: float, halfAngle: float) -> EllipticalCone: - """ - Creates a transient elliptical cone object. - origin : The origin point (center) of the base of the cone. - axis : The center axis (along the length) of the cone that defines its normal direction. - majorAxisDirection : The direction of the major axis of the ellipse that defines the cone. - majorRadius : The major radius of the ellipse that defines the cone. - minorRadius : The minor radius of the ellipse that defines the cone. - halfAngle : The taper half-angle of the cone. - Returns the new EllipticalCone object or null if the creation failed. - """ - return EllipticalCone() - def getAxes(self) -> tuple[Vector3D, Vector3D]: - """ - Gets the center axis of the cone that defines its normal direction and the major axis - direction of the ellipse that defines it. - axis : The output center axis (along the length) of the cone that defines its normal direction. - majorAxisDirection : The output direction of the major axis of the ellipse that defines the cone. - """ - return (Vector3D(), Vector3D()) - def setAxes(self, axis: Vector3D, majorAxisDirection: Vector3D) -> bool: + def cast(arg) -> InputChangedEvent: + return InputChangedEvent() + def add(self, handler: InputChangedEventHandler) -> bool: """ - Sets the center axis of the cone and the major axis direction of the ellipse that defines it. - axis : The center axis (along the length) of the cone that defines its normal direction. - majorAxisDirection : The direction of the major axis of the ellipse that defines the cone. - Returns true if successful. + Adds an event handler to this event endpoint. + handler : The client implemented InputChangedEventHandler to be called when this event is triggered. + Returns true if the handler was successfully added to the set of event handlers. """ return bool() - def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float, float]: - """ - Gets the data that defines the Elliptical Cone. - origin : The output origin point (center) of the base of the cone. - axis : The output center axis (along the length) of the cone that defines its normal direction. - majorAxisDirection : The output direction of the major axis of the ellipse that defines the cone. - majorRadius : The output major radius of the ellipse that defines the cone. - minorRadius : The output minor radius of the ellipse that defines the cone. - halfAngle : The output taper half-angle of the cone. - Returns true if successful. - """ - return (bool(), Point3D(), Vector3D(), Vector3D(), float(), float(), float()) - def set(self, origin: Point3D, axis: Vector3D, majorAxisDirection: Vector3D, majorRadius: float, minorRadius: float, halfAngle: float) -> bool: + def remove(self, handler: InputChangedEventHandler) -> bool: """ - Sets the data that defines the Elliptical Cone. - origin : The origin point (center) of the base of the cone. - axis : The center axis (along the length) of the cone that defines its normal direction. - majorAxisDirection : The direction of the major axis of the ellipse that defines the cone. - majorRadius : The major radius of the ellipse that defines the cone. - minorRadius : The minor radius of the ellipse that defines the cone. - halfAngle : The taper half-angle of the cone. - Returns true if successful. + Removes a handler from this event endpoint. + handler : A InputChangedEventHandler that was previously added to this event with the add method. + Returns true if the handler was found and removed from the set of event handlers. """ return bool() - def copy(self) -> EllipticalCone: + +class InputChangedEventArgs(EventArgs): + """ + Provides a set of arguments from a firing InputChangedEvent to a InputEventChangedEventHandler's notify callback method. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> InputChangedEventArgs: + return InputChangedEventArgs() + @property + def input(self) -> CommandInput: """ - Creates and returns an independent copy of this EllipticalCone object. - Returns a new EllipticalCone object that is a copy of this EllipticalCone object. + Returns the command input that has just changed. """ - return EllipticalCone() + return CommandInput() @property - def origin(self) -> Point3D: + def inputs(self) -> CommandInputs: """ - Gets and sets the origin point (center) of the base of the cone. + Returns the collection of command inputs that are associated with the command this event is being fired for. """ - return Point3D() - @origin.setter - def origin(self, value: Point3D): + return CommandInputs() + +class IntegerProperty(Property): + """ + An integer value property associated with a material or appearance. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> IntegerProperty: + return IntegerProperty() + def getLimits(self) -> tuple[bool, bool, int, bool, int]: """ - Gets and sets the origin point (center) of the base of the cone. + Method that returns any limits for the value of this property. The HasLimits property can + be used to see if there are any limits or not. + hasLowLimit : Output Boolean that indicates if there is a low limit or not. + lowLimit : If the hasLowLimit argument is true, this argument returns the low limit. + hasHighLimit : Output Boolean that indicates if there is a high limit or not. + highLimit : If the hasHighLimit argument is true, this argument returns the high limit. + Returns true if the method call was successful. """ - pass + return (bool(), bool(), int(), bool(), int()) @property - def majorRadius(self) -> float: + def hasLimits(self) -> bool: """ - Gets and sets the major radius of the ellipse that defines the cone. + Gets the boolean flag that indicates if the value of this property has any limits it must + be within to be valid. If True, use the GetLimits method to get the limit values. """ - return float() - @majorRadius.setter - def majorRadius(self, value: float): + return bool() + @property + def hasMultipleValues(self) -> bool: """ - Gets and sets the major radius of the ellipse that defines the cone. + Gets the boolean flag that indicates if this property has multiple values or not. """ - pass + return bool() @property - def minorRadius(self) -> float: + def value(self) -> int: """ - Gets and sets the minor radius of the ellipse that defines the cone. + Gets and sets this property value. The value of this property should be ignored + if the HasConnectedTexture property is true. Setting this will remove any + associated texture, if there is one. """ - return float() - @minorRadius.setter - def minorRadius(self, value: float): + return int() + @value.setter + def value(self, value: int): """ - Gets and sets the minor radius of the ellipse that defines the cone. + Gets and sets this property value. The value of this property should be ignored + if the HasConnectedTexture property is true. Setting this will remove any + associated texture, if there is one. """ pass @property - def halfAngle(self) -> float: + def values(self) -> list[int]: """ - Gets and sets the taper half-angle of the elliptical cone. - A negative value indicates that the cone is narrowing in the direction of the axis vector, - whereas a positive values indicates that it is expanding in the direction of the axis vector. + Gets and sets the values associated with this property. HasMultipleValues property + indicates if this property will be returning more than one value. """ - return float() - @halfAngle.setter - def halfAngle(self, value: float): + return [int()] + @values.setter + def values(self, value: list[int]): """ - Gets and sets the taper half-angle of the elliptical cone. - A negative value indicates that the cone is narrowing in the direction of the axis vector, - whereas a positive values indicates that it is expanding in the direction of the axis vector. + Gets and sets the values associated with this property. HasMultipleValues property + indicates if this property will be returning more than one value. """ pass -class EllipticalCylinder(Surface): +class IntegerSpinnerCommandInput(CommandInput): """ - Transient elliptical cylinder. A transient elliptical cylinder is not displayed or saved - in a document. - A transient elliptical cylinder is used as a wrapper to work with raw elliptical cylinder - information. - A transient elliptical cylinder has no boundaries and is infinite in length. - They are created statically using the create method of the EllipticalCylinder class. + Provides a command input to get the value of a spinner from the user, the value type is integer. """ def __init__(self): pass @staticmethod - def cast(arg) -> EllipticalCylinder: - return EllipticalCylinder() - @staticmethod - def create(origin: Point3D, axis: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float) -> EllipticalCylinder: - """ - Creates a transient 3D elliptical cylinder object. - origin : The origin point (center) of the base of the cylinder. - axis : The center axis (along the length) of the cylinder that defines its normal direction. - majorAxis : The direction of the major axis of the ellipse that defines the cylinder. - majorRadius : The major radius of the ellipse that defines the cylinder. - minorRadius : The minor radius of the ellipse that defines the cylinder. - Returns the new EllipticalCylinder object or null if the creation failed. - """ - return EllipticalCylinder() - def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float]: + def cast(arg) -> IntegerSpinnerCommandInput: + return IntegerSpinnerCommandInput() + @property + def value(self) -> int: """ - Gets the data defining the elliptical cylinder. - origin : The output origin point (center) of the base of the cylinder. - axis : The output center axis (along the length) of the cylinder that defines its normal direction. - majorAxis : The output direction of the major axis of the ellipse that defines the cylinder. - majorRadius : The output major radius of the ellipse that defines the cylinder. - minorRadius : The output minor radius of the ellipse that defines the cylinder. - Returns true if successful. + Gets and sets the value associated with this input. """ - return (bool(), Point3D(), Vector3D(), Vector3D(), float(), float()) - def set(self, origin: Point3D, axis: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float) -> bool: + return int() + @value.setter + def value(self, value: int): """ - Sets the data defining the elliptical cylinder. - origin : The origin point (center) of the base of the cylinder. - axis : The center axis (along the length) of the cylinder that defines its normal direction. - majorAxis : The direction of the major axis of the ellipse that defines the cylinder. - majorRadius : The major radius of the ellipse that defines the cylinder. - minorRadius : The minor radius of the ellipse that defines the cylinder. - Returns true if successful. + Gets and sets the value associated with this input. """ - return bool() - def copy(self) -> EllipticalCylinder: + pass + @property + def minimumValue(self) -> int: """ - Creates and returns an independent copy of this EllipticalCylinder object. - Returns a new EllipticalCylinder object that is a copy of this EllipticalCylinder object. + Gets the minimum allowed value of the spinner. """ - return EllipticalCylinder() + return int() @property - def origin(self) -> Point3D: + def maximumValue(self) -> int: """ - Gets and sets the origin point (center) of the base of the cylinder. + Gets the maximum allowed value of the spinner. """ - return Point3D() - @origin.setter - def origin(self, value: Point3D): + return int() + @property + def spinStep(self) -> int: """ - Gets and sets the origin point (center) of the base of the cylinder. + Gets the spin step. The value should be more than zero. This is the amount the spinner will advance + when the user clicks the spin button beside the value. """ + return int() + +class KeyboardEvent(Event): + """ + An event endpoint that supports the connection to client implemented KeyboardEventHandlers. + """ + def __init__(self): pass - @property - def axis(self) -> Vector3D: + @staticmethod + def cast(arg) -> KeyboardEvent: + return KeyboardEvent() + def add(self, handler: KeyboardEventHandler) -> bool: """ - Gets and set the center axis (along the length) of the cylinder that defines - its normal direction. + Adds an event handler to this event endpoint. + handler : The client implemented KeyboardEventHandler to be called when this event is triggered. + Returns true if the handler was successfully added to the set of event handlers. """ - return Vector3D() - @axis.setter - def axis(self, value: Vector3D): + return bool() + def remove(self, handler: KeyboardEventHandler) -> bool: """ - Gets and set the center axis (along the length) of the cylinder that defines - its normal direction. + Removes a handler from this event endpoint. + handler : A KeyboardEventHandler that was previously added to this event with the add method. + Returns true if the handler was found and removed from the set of event handlers. """ + return bool() + +class KeyboardEventArgs(EventArgs): + """ + Provides a set of arguments from a firing KeyboardEvent to a KeyboardEventHandler's notify callback method. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> KeyboardEventArgs: + return KeyboardEventArgs() @property - def majorAxis(self) -> Vector3D: - """ - Gets and sets the direction of the major axis of the ellipse that defines the cylinder. - """ - return Vector3D() - @majorAxis.setter - def majorAxis(self, value: Vector3D): + def modifierMask(self) -> int: """ - Gets and sets the direction of the major axis of the ellipse that defines the cylinder. + Gets the set of keyboard modifiers that were active. The value is the Boolean + combination of KeyboardModifiers values. """ - pass + return int() @property - def majorRadius(self) -> float: + def keyCode(self) -> KeyCodes: """ - Gets and sets the major radius of the ellipse that defines the cylinder. + Gets the keyboard key. """ - return float() - @majorRadius.setter - def majorRadius(self, value: float): + return KeyCodes() + +class Line2D(Curve2D): + """ + Transient 2D line. A transient line is not displayed or saved in a document. + Transient 2D lines are used as a wrapper to work with raw 2D line information. + They are created statically using the create method of the Line2D class. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Line2D: + return Line2D() + @staticmethod + def create(startPoint: Point2D, endPoint: Point2D) -> Line2D: """ - Gets and sets the major radius of the ellipse that defines the cylinder. + Creates a transient line. + startPoint : The start point of the line + endPoint : The end point of the line + Returns the new Line2D object or null if the creation failed. """ - pass - @property - def minorRadius(self) -> float: + return Line2D() + def copy(self) -> Line2D: """ - Gets and sets the minor radius of the ellipse that defines the cylinder. + Creates and returns a copy of this line object. + Returns an independent copy of this line object. """ - return float() - @minorRadius.setter - def minorRadius(self, value: float): + return Line2D() + def getData(self) -> tuple[bool, Point2D, Point2D]: """ - Gets and sets the minor radius of the ellipse that defines the cylinder. + Gets all of the data defining the line segment. + startPoint : The output start point of the line. + endPoint : The output end point of the line. + Returns true if successful. """ - pass - -class FilenameProperty(Property): - """ - A file name property associated with an appearance. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> FilenameProperty: - return FilenameProperty() - @property - def hasMultipleValues(self) -> bool: + return (bool(), Point2D(), Point2D()) + def set(self, startPoint: Point2D, endPoint: Point2D) -> bool: """ - Gets the boolean flag that indicates if this property has multiple values or not. + Sets all of the data defining the line segment. + startPoint : The start point of the line + endPoint : The end point of the line + Returns true if redefining the line is successful """ return bool() @property - def value(self) -> str: + def startPoint(self) -> Point2D: """ - Gets and sets the value of this property. + Gets and sets the start point of the line. """ - return str() - @value.setter - def value(self, value: str): + return Point2D() + @startPoint.setter + def startPoint(self, value: Point2D): """ - Gets and sets the value of this property. + Gets and sets the start point of the line. """ pass @property - def values(self) -> list[str]: + def endPoint(self) -> Point2D: """ - Gets and sets the values associated with this property. HasMultipleValues - property indicates if this property will be returning more than one value. + Gets and sets the end point of the line. """ - return [str()] - @values.setter - def values(self, value: list[str]): + return Point2D() + @endPoint.setter + def endPoint(self, value: Point2D): """ - Gets and sets the values associated with this property. HasMultipleValues - property indicates if this property will be returning more than one value. + Gets and sets the end point of the line. """ pass + @property + def asNurbsCurve(self) -> NurbsCurve2D: + """ + Returns a NURBS curve that is geometrically identical to the line. + """ + return NurbsCurve2D() -class FloatProperty(Property): +class Line3D(Curve3D): """ - A float or real value property associated with a material or appearance. + Transient 3D line. A transient line is not displayed or saved in a document. + Transient 3D lines are used as a wrapper to work with raw 3D line information. + They are created statically using the create method of the Line3D class. """ def __init__(self): pass @staticmethod - def cast(arg) -> FloatProperty: - return FloatProperty() - def getLimits(self) -> tuple[bool, bool, float, bool, float]: + def cast(arg) -> Line3D: + return Line3D() + @staticmethod + def create(startPoint: Point3D, endPoint: Point3D) -> Line3D: """ - Method that returns any limits for the value of this property. The HasLimits property can - be used to see if there are any limits or not. - hasLowLimit : Output Boolean that indicates if there is a low limit or not. - lowLimit : If the hasLowLimit argument is true, this argument returns the low limit. - hasHighLimit : Output Boolean that indicates if there is a high limit or not. - highLimit : If the hasHighLimit argument is true, this argument returns the high limit. - Returns true if the method call was successful. + Creates a transient line. + startPoint : The start point of the line. + endPoint : The end point of the line. + Returns the new Line3D object or null if the creation failed. """ - return (bool(), bool(), float(), bool(), float()) - @property - def hasConnectedTexture(self) -> bool: + return Line3D() + def copy(self) -> Line3D: """ - Gets and sets the boolean flag that indicates if the float value has been overridden - using a texture. Setting this property to False will remove the texture so that a float - value is used. Setting this property to True will connect a texture to this float value. + Creates and returns a copy of this line object. + Returns an independent copy of this line object. """ - return bool() - @hasConnectedTexture.setter - def hasConnectedTexture(self, value: bool): + return Line3D() + def asInfiniteLine(self) -> InfiniteLine3D: """ - Gets and sets the boolean flag that indicates if the float value has been overridden - using a texture. Setting this property to False will remove the texture so that a float - value is used. Setting this property to True will connect a texture to this float value. + Creates an equivalent InfiniteLine3D. + Returns an equivalent InfiniteLine3D """ - pass - @property - def connectedTexture(self) -> AppearanceTexture: + return InfiniteLine3D() + def isColinearTo(self, line: Line3D) -> bool: """ - Gets the associated texture, if one exists. The HasConnectedTexture property controls - if there is an associated texture or not. If it's parent writable you can edit the - texture. If no texture exists, this property will return Nothing. + Compare this line with another to check for collinearity + line : The line to compare with for collinearity + Returns true if the two lines are collinear """ - return AppearanceTexture() - @property - def hasLimits(self) -> bool: + return bool() + def intersectWithCurve(self, curve: Curve3D) -> ObjectCollection: """ - Gets the boolean flag that indicates if the value of this property has any limits it must be within to - be valid. If True, use the GetLimits method to get the limit values. + Intersect this line with a curve to get the intersection point(s). + curve : The intersecting curve. + The curve can be a Line3D, InfininteLine3D, Circle3D, Arc3D, EllipticalArc3D, Ellipse3D, + or NurbsCurve3D. + Returns a collection of the intersection points """ - return bool() - @property - def hasMultipleValues(self) -> bool: + return ObjectCollection() + def intersectWithSurface(self, surface: Surface) -> ObjectCollection: """ - Gets the boolean flag that indicates if this property has multiple values or not. + Intersect this line with a surface to get the intersection point(s). + surface : The intersecting surface. + The surface can be a Plane, Cone, Cylinder, EllipticalCone, EllipticalCylinder, Sphere, + Torus or a NurbsSurface. + Returns a collection of the intersection points. """ - return bool() - @property - def isPercentage(self) -> bool: + return ObjectCollection() + def getData(self) -> tuple[bool, Point3D, Point3D]: """ - Gets the boolean flag that indicates that this property represents a percentage value so - the valid values must be in the range of 0.0 to 1.0 unless they’re further limited by - additional limits which can be determined with the HasLimits property. + Gets all of the data defining the line segment. + startPoint : The output start point of the line. + endPoint : The output end point of the line. + Returns true if successful. """ - return bool() - @property - def units(self) -> str: + return (bool(), Point3D(), Point3D()) + def set(self, startPoint: Point3D, endPoint: Point3D) -> bool: """ - Gets the units that the value of this property is returned in. The String returned is a - valid Fusion 360 unit string. + Sets all of the data defining the line segment. + startPoint : The start point of the line. + endPoint : The end point of the line. + Returns true if successful. """ - return str() + return bool() @property - def value(self) -> float: + def startPoint(self) -> Point3D: """ - Gets and sets this property value. The value of this property should be ignored - if the HasConnectedTexture property is true. Setting this will remove any - associated texture, if there is one. + Gets and sets the start point of the line. """ - return float() - @value.setter - def value(self, value: float): + return Point3D() + @startPoint.setter + def startPoint(self, value: Point3D): """ - Gets and sets this property value. The value of this property should be ignored - if the HasConnectedTexture property is true. Setting this will remove any - associated texture, if there is one. + Gets and sets the start point of the line. """ pass @property - def values(self) -> list[float]: + def endPoint(self) -> Point3D: """ - Gets and sets the values associated with this property. HasMultipleValues property - indicates if this property will be returning more than one value. + Gets and sets the end point of the line. """ - return [float()] - @values.setter - def values(self, value: list[float]): + return Point3D() + @endPoint.setter + def endPoint(self, value: Point3D): """ - Gets and sets the values associated with this property. HasMultipleValues property - indicates if this property will be returning more than one value. + Gets and sets the end point of the line. """ pass + @property + def asNurbsCurve(self) -> NurbsCurve3D: + """ + Returns a NURBS curve that is geometrically identical to the line. + """ + return NurbsCurve3D() -class FloatSpinnerCommandInput(CommandInput): +class ListControlDefinition(ControlDefinition): """ - Provides a command input to get the value of a spinner from the user, the value type is float. + Represents the information used to define a list of check boxes, radio buttons, or text with icons. This class + isn't the visible list control but is the information needed to create a list control and fully defines a list except for + it's position within the user interface. """ def __init__(self): pass @staticmethod - def cast(arg) -> FloatSpinnerCommandInput: - return FloatSpinnerCommandInput() + def cast(arg) -> ListControlDefinition: + return ListControlDefinition() @property - def value(self) -> float: + def listItems(self) -> ListItems: """ - Gets and sets the value associated with this input. The value is always in - the database units of the unit type specified. For example, if the unit type is "inch" - this value is in centimeters since centimeters are the database length unit. When setting the - value it is converted into a string using the unit type and displayed in the input box. - - The isValidExpression property should be checked before using this - value within the command because if the expression can't be evaluated - there isn't a valid value. Fusion 360 won't allow the execution of a command - that contains ValueCommandInput object with invalid expressions so you can - dependably use the value in the execute event of the command. + Gets the associated ListControlItems collection through which you can add and modify items in the list. """ - return float() - @value.setter - def value(self, value: float): + return ListItems() + @property + def listControlDisplayType(self) -> ListControlDisplayTypes: """ - Gets and sets the value associated with this input. The value is always in - the database units of the unit type specified. For example, if the unit type is "inch" - this value is in centimeters since centimeters are the database length unit. When setting the - value it is converted into a string using the unit type and displayed in the input box. - - The isValidExpression property should be checked before using this - value within the command because if the expression can't be evaluated - there isn't a valid value. Fusion 360 won't allow the execution of a command - that contains ValueCommandInput object with invalid expressions so you can - dependably use the value in the execute event of the command. + Gets how this list control will be displayed; as a standard list, a list of check boxes, or a list of radio buttons. """ - pass + return ListControlDisplayTypes() @property - def unitType(self) -> str: + def lastSelected(self) -> ListItem: """ - Gets the unit type that is used when evaluating the user's input. + Gets the item in the list that was last selected. This can return null + in the case where this control is displayed as a list of check boxes and there hasn't + been any interaction by the end-user. In the case of a list of check boxes, this returns + the item that was last clicked by the user, whether it was to check or uncheck the item. + In the case of a list of radio buttons, this always returns the item that is currently selected. """ - return str() - @property - def minimumValue(self) -> float: + return ListItem() + +class MarkingMenuEvent(Event): + """ + A MarkingMenuEvent is fired when the marking menu and context menu are displayed. For example, in response to the + markingMenuDisplaying event. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MarkingMenuEvent: + return MarkingMenuEvent() + def add(self, handler: MarkingMenuEventHandler) -> bool: """ - Gets the minimum allowed value of the spinner in database units. + Add a handler to be notified when the event occurs. + handler : The handler object to be called when this event is fired. + Returns true if the addition of the handler was successful. """ - return float() - @property - def maximumValue(self) -> float: + return bool() + def remove(self, handler: MarkingMenuEventHandler) -> bool: """ - Gets the maximum allowed value of the spinner in database units. + Removes a handler from the event. + handler : The handler object to be removed from the event. + Returns true if removal of the handler was successful. """ - return float() + return bool() + +class MarkingMenuEventArgs(EventArgs): + """ + The MarkingMenuEventArgs provides information associated with the marking and context + menu being displayed. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MarkingMenuEventArgs: + return MarkingMenuEventArgs() @property - def spinStep(self) -> float: + def radialMarkingMenu(self) -> RadialMarkingMenu: """ - Gets the spin step value in the unit type set by the unitType argument. - The value should be more than zero. This is the amount the spinner will advance - when the user clicks the spin button beside the value. + Provides access to the radial marking menu. """ - return float() + return RadialMarkingMenu() @property - def expression(self) -> str: - """ - Gets or sets the expression displayed in the input field. This can contain equations and - references to parameters. It is evaluated using the specified unit type. - """ - return str() - @expression.setter - def expression(self, value: str): + def linearMarkingMenu(self) -> LinearMarkingMenu: """ - Gets or sets the expression displayed in the input field. This can contain equations and - references to parameters. It is evaluated using the specified unit type. + Provides access to the linear marking menu. """ - pass + return LinearMarkingMenu() @property - def isValidExpression(self) -> bool: + def selectedEntities(self) -> list[Base]: """ - Returns true if the current expression is valid and can be evaluated. If this - is false, the value returned should be ignored because there currently is - not a valid value. + Returns the currently selected entities that the user left-clicked over. + These provide the "context" of what should be displayed in the menu. This + can be an empty array in the case where they clicked in a open area within + the graphics window. """ - return bool() + return [Base()] -class FusionArchiveImportOptions(ImportOptions): +class MouseEvent(Event): """ - Defines that a Fusion 360 Archive import is to be done and specifies the various options. + An event endpoint that supports the connection to client implemented MouseEventHandlers. """ def __init__(self): pass @staticmethod - def cast(arg) -> FusionArchiveImportOptions: - return FusionArchiveImportOptions() + def cast(arg) -> MouseEvent: + return MouseEvent() + def add(self, handler: MouseEventHandler) -> bool: + """ + Adds an event handler to this event endpoint. + handler : The client implemented MouseEventHandler to be called when this event is triggered. + Returns true if the handler was successfully added to the set of event handlers. + """ + return bool() + def remove(self, handler: MouseEventHandler) -> bool: + """ + Removes a handler from this event endpoint. + handler : A MouseEventhandler that was previously added to this event with the add method. + Returns true if the handler was found and removed from the set of event handlers. + """ + return bool() -class GroupCommandInput(CommandInput): +class MouseEventArgs(EventArgs): """ - Group Command inputs organize a set of command inputs into a collapsible - list within a command dialog + Provides a set of arguments from a firing MouseEvent to a MouseEventHandler's notify callback method. """ def __init__(self): pass @staticmethod - def cast(arg) -> GroupCommandInput: - return GroupCommandInput() + def cast(arg) -> MouseEventArgs: + return MouseEventArgs() @property - def children(self) -> CommandInputs: + def button(self) -> MouseButtons: """ - Gets the CommandInputs collection for this GroupCommandInput. - Use the add methods on this collection to add child CommandInputs to this Group in the desired order. + Gets which mouse button(s) are pressed. The returned value + is bitwise and can indicate that more than one button is pressed. """ - return CommandInputs() + return MouseButtons() @property - def isExpanded(self) -> bool: + def clicks(self) -> int: """ - Gets or sets if this group is expanded. - If this is a sub-group of another group and the isEnabledCheckBoxDisplayed property is set to false - then the isExpanded property must be set to true. + Gets the number of times the button was pressed and released. """ - return bool() - @isExpanded.setter - def isExpanded(self, value: bool): + return int() + @property + def wheelDelta(self) -> int: """ - Gets or sets if this group is expanded. - If this is a sub-group of another group and the isEnabledCheckBoxDisplayed property is set to false - then the isExpanded property must be set to true. + Gets a signed count of the number of detents the mouse wheel has rotated. """ - pass + return int() @property - def isEnabledCheckBoxDisplayed(self) -> bool: + def keyboardModifiers(self) -> KeyboardModifiers: """ - Gets or sets if this group has a check-box for enabling/disabling the group. - If this is a sub-group of another group and the isEnabledCheckBoxDisplayed property is set to false - then the isExpanded property must be set to true. + Gets which modifier keys are currently pressed. The returned value + is bitwise and can indicate that more than one button is pressed. """ - return bool() - @isEnabledCheckBoxDisplayed.setter - def isEnabledCheckBoxDisplayed(self, value: bool): + return KeyboardModifiers() + @property + def position(self) -> Point2D: """ - Gets or sets if this group has a check-box for enabling/disabling the group. - If this is a sub-group of another group and the isEnabledCheckBoxDisplayed property is set to false - then the isExpanded property must be set to true. + Gets the coordinate of the mouse in screen space. """ - pass + return Point2D() @property - def isEnabledCheckBoxChecked(self) -> bool: + def viewportPosition(self) -> Point2D: """ - Gets or sets if the enabled check-box is checked or not. This is only - valid when the isEnabledCheckBoxDisplayed property is true. + Gets the coordinate of the mouse in viewport space, if the mouse is + within a viewport. If the mouse is not over a viewport this property will return null. """ - return bool() - @isEnabledCheckBoxChecked.setter - def isEnabledCheckBoxChecked(self, value: bool): + return Point2D() + @property + def viewport(self) -> Viewport: """ - Gets or sets if the enabled check-box is checked or not. This is only - valid when the isEnabledCheckBoxDisplayed property is true. + Returns the viewport where the mouse event occurred, if it was within a viewport. + If the mouse is not over a viewport this property will return null. """ - pass + return Viewport() -class HTMLEvent(Event): +class NavigationEvent(Event): """ - A HTMLEvent is fired when triggered from JavaScript code associated with HTML used - in a palette. + A NavigationEvent is fired when a link is navigated on the page in a palette. """ def __init__(self): pass @staticmethod - def cast(arg) -> HTMLEvent: - return HTMLEvent() - def add(self, handler: HTMLEventHandler) -> bool: + def cast(arg) -> NavigationEvent: + return NavigationEvent() + def add(self, handler: NavigationEventHandler) -> bool: """ Add a handler to be notified when the event occurs. handler : The handler object to be called when this event is fired. Returns true if the addition of the handler was successful. """ return bool() - def remove(self, handler: HTMLEventHandler) -> bool: + def remove(self, handler: NavigationEventHandler) -> bool: """ Removes a handler from the event. handler : The handler object to be removed from the event. @@ -14059,2497 +16660,2833 @@ def remove(self, handler: HTMLEventHandler) -> bool: """ return bool() -class HTMLEventArgs(EventArgs): +class NavigationEventArgs(EventArgs): """ - The HTMLEventArgs provides access to the information sent from the JavaScript - that's associated with HTML being displayed within a palette. + The NavigationEventArgs provides access to the information sent from the browser + within a palette on a navigation event. """ def __init__(self): pass @staticmethod - def cast(arg) -> HTMLEventArgs: - return HTMLEventArgs() + def cast(arg) -> NavigationEventArgs: + return NavigationEventArgs() @property - def action(self) -> str: + def navigationURL(self) -> str: """ - The action string sent from the JavaScript associated with HTML displayed - in the palette. The string can represent any type of data in any format but - JSON is commonly used to pass more complex data. + The URL that is being navigated to. """ return str() - @property - def data(self) -> str: + @navigationURL.setter + def navigationURL(self, value: str): """ - The data string sent from the JavaScript associated with HTML displayed - in the palette. The string can represent any type of data in any format but - JSON is commonly used to pass more complex data. + The URL that is being navigated to. """ - return str() + pass @property - def returnData(self) -> str: + def launchExternally(self) -> bool: """ - Set this property to return data back to the JavaScript that's associated with the HTML. + If True, the URL will be navigated to in an external browser by the operating system. + If False, the default value, the URL will be navigated to in the palette's browser. """ - return str() - @returnData.setter - def returnData(self, value: str): + return bool() + @launchExternally.setter + def launchExternally(self, value: bool): """ - Set this property to return data back to the JavaScript that's associated with the HTML. + If True, the URL will be navigated to in an external browser by the operating system. + If False, the default value, the URL will be navigated to in the palette's browser. """ pass @property - def browserCommandInput(self) -> BrowserCommandInput: - """ - When the event is fired from a BrowserCommandInput object, this property returns - the specific BrowserCommandInput that caused the event to fire. In all other cases - this property returns null. + def preventDefault(self) -> bool: """ - return BrowserCommandInput() - -class IGESImportOptions(ImportOptions): - """ - Defines that an IGES import is to be done and specifies the various options. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> IGESImportOptions: - return IGESImportOptions() - -class ImageCommandInput(CommandInput): - """ - Provides an image command input for including an image in a command dialog. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ImageCommandInput: - return ImageCommandInput() - @property - def imageFile(self) -> str: + If True, the default handling of this navigation event will not continue. + If False, the default value, the default handling of this navigation event will continue. """ - Gets and sets the full path and file name of the image file. - Supported image format is .png - Images are displayed in the command dialog using their actual size. + return bool() + @preventDefault.setter + def preventDefault(self, value: bool): """ - return str() - @imageFile.setter - def imageFile(self, value: str): + If True, the default handling of this navigation event will not continue. + If False, the default value, the default handling of this navigation event will continue. """ - Gets and sets the full path and file name of the image file. - Supported image format is .png - Images are displayed in the command dialog using their actual size. + pass + @property + def browserCommandInput(self) -> BrowserCommandInput: """ - pass + When the event is fired from a BrowserCommandInput object, this property returns + the specific BrowserCommandInput that caused the event to fire. In all other cases + this property returns null. + """ + return BrowserCommandInput() -class InfiniteLine3D(Curve3D): +class NurbsCurve2D(Curve2D): """ - Transient 3D infinite line. An infinite line is defined by a position and direction in space - and has no start or end points. - They are created statically using the create method of the InfiniteLine3D class. + Transient 2D NURBS curve. A transient NURBS curve is not displayed or saved in a document. + Transient 2D NURBS curves are used as a wrapper to work with raw 2D NURBS curve information. + They are created statically using one of the create methods of the NurbsCurve2D class. """ def __init__(self): pass @staticmethod - def cast(arg) -> InfiniteLine3D: - return InfiniteLine3D() + def cast(arg) -> NurbsCurve2D: + return NurbsCurve2D() @staticmethod - def create(origin: Point3D, direction: Vector3D) -> InfiniteLine3D: + def createNonRational(controlPoints: list[Point2D], degree: int, knots: list[float], isPeriodic: bool) -> NurbsCurve2D: """ - Creates a transient 3D infinite line. - origin : The origin point of the line. - direction : The direction of the line. - Returns the new InfiniteLine3D object or null if the creation failed. + Creates a transient 2D NURBS non-rational b-spline object. + controlPoints : An array of control point that define the path of the spline + degree : The degree of curvature of the spline + knots : An array of numbers that define the knot vector of the spline. The knots is an array of (>=degree + N + 1) numbers, where N is the number of control points. + isPeriodic : A bool specifying if the spline is to be Periodic. A periodic spline has a start point and + end point that meet forming a closed loop. + Returns the new NurbsCurve2D object or null if the creation failed. """ - return InfiniteLine3D() - def isColinearTo(self, line: InfiniteLine3D) -> bool: + return NurbsCurve2D() + @staticmethod + def createRational(controlPoints: list[Point2D], degree: int, knots: list[float], weights: list[float], isPeriodic: bool) -> NurbsCurve2D: """ - Compare this line with another to check for collinearity. - line : The line to compare with for collinearity. - Returns true if the two lines are collinear. + Creates a transient 2D NURBS rational b-spline object. + controlPoints : An array of control point that define the path of the spline + degree : The degree of curvature of the spline + knots : An array of numbers that define the knot vector of the spline. The knots is an array of (>=degree + N + 1) numbers, where N is the number of control points. + weights : An array of numbers that define the weights for the spline. + isPeriodic : A bool specifying if the spline is to be Periodic. A periodic curve has a start point and + end point that meet (with curvature continuity) forming a closed loop. + Returns the new NurbsCurve2D object or null if the creation failed. """ - return bool() - def copy(self) -> InfiniteLine3D: + return NurbsCurve2D() + def copy(self) -> NurbsCurve2D: """ - Creates and returns a copy of this line object. - Returns an independent copy of this line object. + Creates and returns an independent copy of this NurbsCurve2D object. + Returns an independent copy of this NurbsCurve2D. """ - return InfiniteLine3D() - def intersectWithCurve(self, curve: Curve3D) -> ObjectCollection: + return NurbsCurve2D() + def getData(self) -> tuple[bool, list[Point2D], int, list[float], bool, list[float], bool]: """ - Intersect this line with a curve to get the intersection point(s). - curve : The intersecting curve. - The curve can be a Line3D, InfininteLine3D, Circle3D, Arc3D, EllipticalArc3D, Ellipse3D, - or NurbsCurve3D. - Returns a collection of the intersection points. + Gets the data that defines a transient 2D NURBS rational b-spline object. + controlPoints : The output array of control point that define the path of the spline. + degree : The output degree of curvature of the spline. + knots : The output array of numbers that define the knots of the spline. + isRational : The output value indicating if the spline is rational. A rational spline will have a weight value + for each control point. + weights : The output array of numbers that define the weights for the spline. + isPeriodic : The output value indicating if the spline is Periodic. A periodic curve has a start point and + end point that meet (with curvature continuity) forming a closed loop. + Returns true if successful. """ - return ObjectCollection() - def intersectWithSurface(self, surface: Surface) -> ObjectCollection: + return (bool(), [Point2D()], int(), [float()], bool(), [float()], bool()) + def set(self, controlPoints: list[Point2D], degree: int, knots: list[float], isRational: bool, weights: list[float], isPeriodic: bool) -> bool: """ - Intersect this line with a surface to get the intersection point(s). - surface : The intersecting surface. - The surface can be a Plane, Cone, Cylinder, EllipticalCone, EllipticalCylinder, Sphere, - Torus, or a NurbsSurface. - Returns a collection of the intersection points. + Sets the data that defines a transient 2D NURBS rational b-spline object. + controlPoints : The array of control point that define the path of the spline + degree : The degree of curvature of the spline + knots : An array of numbers that define the knots of the spline. + isRational : A bool indicating if the spline is rational. A rational spline must have a weight value + for each control point. + weights : An array of numbers that define the weights for the spline. + isPeriodic : A bool specifying if the spline is to be Periodic. A periodic curve has a start point and + end point that meet (with curvature continuity) forming a closed loop. + Returns true if successful """ - return ObjectCollection() - def getData(self) -> tuple[bool, Point3D, Vector3D]: + return bool() + def extract(self, startParam: float, endParam: float) -> NurbsCurve2D: """ - Gets all of the data defining the infinite line. - origin : The output origin point of the line. - direction : The output direction of the line. - Returns true if successful. + Defines a new NURBS curve that is the subset of this NURBS curve in the parameter + range of [startParam, endParam] + startParam : The parameter position of the start of the subset. + endParam : The parameter position of the end of the subset. + Returns a new NurbsCurve2D object. """ - return (bool(), Point3D(), Vector3D()) - def set(self, origin: Point3D, direction: Vector3D) -> bool: + return NurbsCurve2D() + def merge(self, nurbsCurve: NurbsCurve2D) -> NurbsCurve2D: """ - Sets all of the data defining the infinite line. - origin : The origin point of the line. - direction : The direction of the line. - Returns true if successful. + Define a new NURBS curve that is the result of combining this NURBS curve with + another NURBS curve. The curves are merged with the end point of the current + curve merging with the start point of the other curve. The curves are forced + to join even if they are not physically touching so you will typically want + to make sure the end and start points of the curves are where you expect them to be. + nurbsCurve : The NURBS curve to combine with + Returns a new NurbsCurve2D object. + """ + return NurbsCurve2D() + def reverse(self) -> bool: + """ + Reverses the orientation of the curve so the start and end points + are swapped. The shape of the curve remains unchanged. This is + especially useful to prepare the curves to use with the merge + method. + """ return bool() @property - def origin(self) -> Point3D: + def controlPointCount(self) -> int: """ - Gets and sets the origin point of the line. + Gets the number of control points that define the curve """ - return Point3D() - @origin.setter - def origin(self, value: Point3D): + return int() + @property + def degree(self) -> int: """ - Gets and sets the origin point of the line. + Returns the degree of the curve """ - pass + return int() @property - def direction(self) -> Vector3D: + def knotCount(self) -> int: """ - Gets and sets the direction of the line. + Returns the knot count of the curve """ - return Vector3D() - @direction.setter - def direction(self, value: Vector3D): + return int() + @property + def isRational(self) -> bool: """ - Gets and sets the direction of the line. + Indicates if the curve is rational or non-rational type """ - pass - -class InputChangedEvent(Event): - """ - An event endpoint that supports the connection to client implemented InputChangedEventHandlers. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> InputChangedEvent: - return InputChangedEvent() - def add(self, handler: InputChangedEventHandler) -> bool: + return bool() + @property + def isClosed(self) -> bool: """ - Adds an event handler to this event endpoint. - handler : The client implemented InputChangedEventHandler to be called when this event is triggered. - Returns true if the handler was successfully added to the set of event handlers. + Indicates if the curve is closed """ return bool() - def remove(self, handler: InputChangedEventHandler) -> bool: + @property + def isPeriodic(self) -> bool: """ - Removes a handler from this event endpoint. - handler : A InputChangedEventHandler that was previously added to this event with the add method. - Returns true if the handler was found and removed from the set of event handlers. + Indicates if the curve is periodic. """ return bool() + @property + def controlPoints(self) -> list[Point2D]: + """ + Returns an array of Point2D objects that define the control points of the curve. + """ + return [Point2D()] + @property + def knots(self) -> list[float]: + """ + Returns an array of numbers that define the Knots of the curve. + """ + return [float()] -class InputChangedEventArgs(EventArgs): +class NurbsCurve3D(Curve3D): """ - Provides a set of arguments from a firing InputChangedEvent to a InputEventChangedEventHandler's notify callback method. + Transient 3D NURBS curve. A transient NURBS curve is not displayed or saved in a document. + Transient 3D NURBS curves are used as a wrapper to work with raw 3D NURBS curve information. + They are created statically using one of the create methods of the NurbsCurve3D class. """ def __init__(self): pass @staticmethod - def cast(arg) -> InputChangedEventArgs: - return InputChangedEventArgs() - @property - def input(self) -> CommandInput: + def cast(arg) -> NurbsCurve3D: + return NurbsCurve3D() + @staticmethod + def createNonRational(controlPoints: list[Point3D], degree: int, knots: list[float], isPeriodic: bool) -> NurbsCurve3D: """ - Returns the command input that has just changed. + Creates a transient 3D NURBS non-rational b-spline object. + controlPoints : An array of control point that define the path of the spline. + degree : The degree of curvature of the spline. + knots : An array of numbers that define the knot vector of the spline. The knots is an array of (>=degree + N + 1) numbers, where N is the number of control points. + isPeriodic : A bool specifying if the spline is to be Periodic. A periodic spline has a start point and + end point that meet forming a closed loop. + Returns the new NurbsCurve3D object or null if the creation failed. """ - return CommandInput() - @property - def inputs(self) -> CommandInputs: + return NurbsCurve3D() + @staticmethod + def createRational(controlPoints: list[Point3D], degree: int, knots: list[float], weights: list[float], isPeriodic: bool) -> NurbsCurve3D: + """ + Creates a transient 3D NURBS rational b-spline object. + controlPoints : An array of control point that define the path of the spline. + degree : The degree of curvature of the spline. + knots : An array of numbers that define the knot vector of the spline. The knots is an array of (>=degree + N + 1) numbers, where N is the number of control points. + weights : An array of numbers that define the weight at each control point. + isPeriodic : A bool specifying if the spline is to be Periodic. A periodic curve has a start point and + end point that meet (with curvature continuity) forming a closed loop. + Returns the new NurbsCurve3D object or null if the creation failed. + """ + return NurbsCurve3D() + def getData(self) -> tuple[bool, list[Point3D], int, list[float], bool, list[float], bool]: + """ + Gets the data that defines a transient 3D NURBS rational b-spline object. + controlPoints : The output array of control point that define the path of the spline. + degree : The output degree of curvature of the spline. + knots : The output array of numbers that define the knot vector of the spline. + isRational : The output value indicating if the spline is rational. A rational spline will have a weight value + for each control point. + weights : The output array of numbers that define the weights for the spline. + isPeriodic : The output value indicating if the spline is Periodic. A periodic curve has a start point and + end point that meet (with curvature continuity) forming a closed loop. + Returns true if successful. + """ + return (bool(), [Point3D()], int(), [float()], bool(), [float()], bool()) + def set(self, controlPoints: list[Point3D], degree: int, knots: list[float], isRational: bool, weights: list[float], isPeriodic: bool) -> bool: + """ + Sets the data that defines a transient 3D NURBS rational b-spline object. + controlPoints : The array of control point that define the path of the spline. + degree : The degree of curvature of the spline. + knots : An array of numbers that define the knot vector of the spline. + isRational : A bool value indicating if the spline is rational. A rational spline must have a weight value + for each control point. + weights : An array of numbers that define the weights for the spline. + isPeriodic : A bool indicating if the spline is Periodic. A periodic curve has a start point and + end point that meet (with curvature continuity) forming a closed loop. + Returns true if successful. + """ + return bool() + def extract(self, startParam: float, endParam: float) -> NurbsCurve3D: """ - Returns the collection of command inputs that are associated with the command this event is being fired for. + Defines a new NURBS curve that is the subset of this NURBS curve in the parameter + range of [startParam, endParam] + startParam : The parameter position that defines the start of the subset. + endParam : The parameter position that defines the end of the subset. + Returns a new NurbsCurve3D object. """ - return CommandInputs() - -class IntegerProperty(Property): - """ - An integer value property associated with a material or appearance. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> IntegerProperty: - return IntegerProperty() - def getLimits(self) -> tuple[bool, bool, int, bool, int]: + return NurbsCurve3D() + def merge(self, nurbsCurve: NurbsCurve3D) -> NurbsCurve3D: """ - Method that returns any limits for the value of this property. The HasLimits property can - be used to see if there are any limits or not. - hasLowLimit : Output Boolean that indicates if there is a low limit or not. - lowLimit : If the hasLowLimit argument is true, this argument returns the low limit. - hasHighLimit : Output Boolean that indicates if there is a high limit or not. - highLimit : If the hasHighLimit argument is true, this argument returns the high limit. - Returns true if the method call was successful. + Define a new NURBS curve that is the result of combining this NURBS curve with + another NURBS curve. + nurbsCurve : The NURBS curve to combine with. + Returns a new NurbsCurve3D object. """ - return (bool(), bool(), int(), bool(), int()) - @property - def hasLimits(self) -> bool: + return NurbsCurve3D() + def copy(self) -> NurbsCurve3D: """ - Gets the boolean flag that indicates if the value of this property has any limits it must - be within to be valid. If True, use the GetLimits method to get the limit values. + Creates and returns an independent copy of this NurbsCurve3D object. + Returns an independent copy of this NurbsCurve3D. """ - return bool() - @property - def hasMultipleValues(self) -> bool: + return NurbsCurve3D() + def reverse(self) -> bool: """ - Gets the boolean flag that indicates if this property has multiple values or not. + Reverses the orientation of the curve so the start and end points + are swapped. The shape of the curve remains unchanged. This is + especially useful to prepare the curves to use with the merge + method. + """ return bool() @property - def value(self) -> int: + def controlPointCount(self) -> int: """ - Gets and sets this property value. The value of this property should be ignored - if the HasConnectedTexture property is true. Setting this will remove any - associated texture, if there is one. + Gets the number of control points that define the curve. """ return int() - @value.setter - def value(self, value: int): - """ - Gets and sets this property value. The value of this property should be ignored - if the HasConnectedTexture property is true. Setting this will remove any - associated texture, if there is one. - """ - pass @property - def values(self) -> list[int]: + def degree(self) -> int: """ - Gets and sets the values associated with this property. HasMultipleValues property - indicates if this property will be returning more than one value. + Returns the degree of the curve. """ - return [int()] - @values.setter - def values(self, value: list[int]): + return int() + @property + def knotCount(self) -> int: """ - Gets and sets the values associated with this property. HasMultipleValues property - indicates if this property will be returning more than one value. + Returns the knot count of the curve. """ - pass - -class IntegerSpinnerCommandInput(CommandInput): - """ - Provides a command input to get the value of a spinner from the user, the value type is integer. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> IntegerSpinnerCommandInput: - return IntegerSpinnerCommandInput() + return int() @property - def value(self) -> int: + def isRational(self) -> bool: """ - Gets and sets the value associated with this input. + Indicates if the curve is rational or non-rational type. """ - return int() - @value.setter - def value(self, value: int): + return bool() + @property + def isClosed(self) -> bool: """ - Gets and sets the value associated with this input. + Indicates if the curve is closed. """ - pass + return bool() @property - def minimumValue(self) -> int: + def isPeriodic(self) -> bool: """ - Gets the minimum allowed value of the spinner. + Indicates if the curve is periodic. """ - return int() + return bool() @property - def maximumValue(self) -> int: + def controlPoints(self) -> list[Point3D]: """ - Gets the maximum allowed value of the spinner. + Returns an array of Point3D objects that define the control points of the curve. """ - return int() + return [Point3D()] @property - def spinStep(self) -> int: + def knots(self) -> list[float]: """ - Gets the spin step. The value should be more than zero. This is the amount the spinner will advance - when the user clicks the spin button beside the value. + Returns an array of numbers that define the knot vector of the curve. """ - return int() + return [float()] -class KeyboardEvent(Event): +class NurbsSurface(Surface): """ - An event endpoint that supports the connection to client implemented KeyboardEventHandlers. + Transient NURBS surface. A transient NURBS surface is not displayed or saved in a document. + A transient NURBS surface is used as a wrapper to work with raw NURBS surface information. + A transient NURBS surface is bounded by it's natural boundaries and does not support the + definition of arbitrary boundaries. + A NURBS surface is typically obtained from a BREPFace object, which does have boundary information. + They are created statically using the create method of the NurbsSurface class. """ def __init__(self): pass @staticmethod - def cast(arg) -> KeyboardEvent: - return KeyboardEvent() - def add(self, handler: KeyboardEventHandler) -> bool: + def cast(arg) -> NurbsSurface: + return NurbsSurface() + @staticmethod + def create(degreeU: int, degreeV: int, controlPointCountU: int, controlPointCountV: int, controlPoints: list[Point3D], knotsU: list[float], knotsV: list[float], weights: list[float], propertiesU: NurbsSurfaceProperties, propertiesV: NurbsSurfaceProperties) -> NurbsSurface: """ - Adds an event handler to this event endpoint. - handler : The client implemented KeyboardEventHandler to be called when this event is triggered. - Returns true if the handler was successfully added to the set of event handlers. + Creates a transient NURBS surface object. + degreeU : The degree in the U direction. + degreeV : The degree in the V direction. + controlPointCountU : The number of control points in the U direction. + controlPointCountV : The number of control points in the V direction. + controlPoints : An array of surface control points. + The length of this array must be controlPointCountU * controlPointCountV. + knotsU : The knot vector for the U direction. + knotsV : The knot vector for the V direction. + weights : An array of weights that corresponds to the control points of the surface. + propertiesU : The properties (NurbsSurfaceProperties) of the surface in the U direction. + propertiesV : The properties (NurbsSurfaceProperties) of the surface in the V direction. + Returns the new NurbsSurface object or null if the creation failed. """ - return bool() - def remove(self, handler: KeyboardEventHandler) -> bool: + return NurbsSurface() + def getData(self) -> tuple[bool, int, int, int, int, list[Point3D], list[float], list[float], list[float], NurbsSurfaceProperties, NurbsSurfaceProperties]: """ - Removes a handler from this event endpoint. - handler : A KeyboardEventHandler that was previously added to this event with the add method. - Returns true if the handler was found and removed from the set of event handlers. + Gets the data that defines the NURBS surface. + degreeU : The output degree in the U direction. + degreeV : The output degree in the V direction. + controlPointCountU : The output number of control points in the U direction. + controlPointCountV : The output number of control points in the V direction. + controlPoints : An output array of surface control points. + knotsU : The output knot vector for the U direction. + knotsV : The output knot vector for the V direction. + weights : An output array of weights that corresponds to the control points of the surface. + propertiesU : The output properties (NurbsSurfaceProperties) of the surface in the U direction. + propertiesV : The output properties (NurbsSurfaceProperties) of the surface in the V direction. + Returns true if successful. + """ + return (bool(), int(), int(), int(), int(), [Point3D()], [float()], [float()], [float()], NurbsSurfaceProperties(), NurbsSurfaceProperties()) + def set(self, degreeU: int, degreeV: int, controlPointCountU: int, controlPointCountV: int, controlPoints: list[Point3D], knotsU: list[float], knotsV: list[float], weights: list[float], propertiesU: NurbsSurfaceProperties, propertiesV: NurbsSurfaceProperties) -> bool: + """ + Sets the data that defines the NURBS surface. + degreeU : The degree in the U direction. + degreeV : The degree in the V direction. + controlPointCountU : The number of control points in the U direction. + controlPointCountV : The number of control points in the V direction. + controlPoints : An array of surface control points. + knotsU : The knot vector for the U direction. + knotsV : The knot vector for the V direction. + weights : An array of weights that corresponds to the control points of the surface. + propertiesU : The properties (NurbsSurfaceProperties) of the surface in the U direction. + propertiesV : The properties (NurbsSurfaceProperties) of the surface in the V direction. + Returns true if successful """ return bool() - -class KeyboardEventArgs(EventArgs): - """ - Provides a set of arguments from a firing KeyboardEvent to a KeyboardEventHandler's notify callback method. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> KeyboardEventArgs: - return KeyboardEventArgs() + def copy(self) -> NurbsSurface: + """ + Creates and returns an independent copy of this NurbsSurface object. + Returns a new NurbsSurface object that is a copy of this NurbsSurface object. + """ + return NurbsSurface() @property - def modifierMask(self) -> int: + def controlPointCountU(self) -> int: """ - Gets the set of keyboard modifiers that were active. The value is the Boolean - combination of KeyboardModifiers values. + Gets the number of control points in the U direction. """ return int() @property - def keyCode(self) -> KeyCodes: + def controlPointCountV(self) -> int: """ - Gets the keyboard key. + Gets the number of control points in the V direction. """ - return KeyCodes() - -class Line2D(Curve2D): - """ - Transient 2D line. A transient line is not displayed or saved in a document. - Transient 2D lines are used as a wrapper to work with raw 2D line information. - They are created statically using the create method of the Line2D class. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> Line2D: - return Line2D() - @staticmethod - def create(startPoint: Point2D, endPoint: Point2D) -> Line2D: + return int() + @property + def degreeU(self) -> int: """ - Creates a transient line. - startPoint : The start point of the line - endPoint : The end point of the line - Returns the new Line2D object or null if the creation failed. + Gets the degree in the U direction. """ - return Line2D() - def copy(self) -> Line2D: + return int() + @property + def degreeV(self) -> int: """ - Creates and returns a copy of this line object. - Returns an independent copy of this line object. + Gets the degree in the V direction. """ - return Line2D() - def getData(self) -> tuple[bool, Point2D, Point2D]: + return int() + @property + def knotCountU(self) -> int: """ - Gets all of the data defining the line segment. - startPoint : The output start point of the line. - endPoint : The output end point of the line. - Returns true if successful. + Gets the knot count in the U direction. """ - return (bool(), Point2D(), Point2D()) - def set(self, startPoint: Point2D, endPoint: Point2D) -> bool: + return int() + @property + def knotCountV(self) -> int: """ - Sets all of the data defining the line segment. - startPoint : The start point of the line - endPoint : The end point of the line - Returns true if redefining the line is successful + Gets thekKnot count in the V direction. """ - return bool() + return int() @property - def startPoint(self) -> Point2D: + def propertiesU(self) -> NurbsSurfaceProperties: """ - Gets and sets the start point of the line. + Gets the properties (NurbsSurfaceProperties) of the surface in the U direction. """ - return Point2D() - @startPoint.setter - def startPoint(self, value: Point2D): + return NurbsSurfaceProperties() + @property + def propertiesV(self) -> NurbsSurfaceProperties: """ - Gets and sets the start point of the line. + Gets the properties (NurbsSurfaceProperties) of the surface in the V direction. """ - pass + return NurbsSurfaceProperties() @property - def endPoint(self) -> Point2D: + def controlPoints(self) -> list[Point3D]: """ - Gets and sets the end point of the line. + Gets an array of control points from the surface. """ - return Point2D() - @endPoint.setter - def endPoint(self, value: Point2D): + return [Point3D()] + @property + def knotsU(self) -> list[float]: """ - Gets and sets the end point of the line. + Get the knot vector from the U direction. """ - pass + return [float()] @property - def asNurbsCurve(self) -> NurbsCurve2D: + def knotsV(self) -> list[float]: """ - Returns a NURBS curve that is geometrically identical to the line. + Get the knot vector from the V direction """ - return NurbsCurve2D() + return [float()] -class Line3D(Curve3D): +class Plane(Surface): """ - Transient 3D line. A transient line is not displayed or saved in a document. - Transient 3D lines are used as a wrapper to work with raw 3D line information. - They are created statically using the create method of the Line3D class. + Transient plane. A transient plane is not displayed or saved in a document. + Transient planes are used as a wrapper to work with raw plane information. + A transient plane has no boundaries or size, but is infinite and is represented + by a position, a normal, and an orientation in space. + They are created statically using the create method of the Plane class. """ def __init__(self): pass @staticmethod - def cast(arg) -> Line3D: - return Line3D() + def cast(arg) -> Plane: + return Plane() @staticmethod - def create(startPoint: Point3D, endPoint: Point3D) -> Line3D: + def create(origin: Point3D, normal: Vector3D) -> Plane: """ - Creates a transient line. - startPoint : The start point of the line. - endPoint : The end point of the line. - Returns the new Line3D object or null if the creation failed. + Creates a transient plane object by specifying an origin and a normal direction. + origin : The origin point of the plane. + normal : The normal direction of the plane. + Returns the new plane object or null if the creation failed. """ - return Line3D() - def copy(self) -> Line3D: + return Plane() + @staticmethod + def createUsingDirections(origin: Point3D, uDirection: Vector3D, vDirection: Vector3D) -> Plane: """ - Creates and returns a copy of this line object. - Returns an independent copy of this line object. + Creates a transient plane object by specifying an origin along with U and V directions. + origin : The origin point of the plane. + uDirection : The U direction for the plane. + vDirection : The V direction for the plane. + Returns the new plane object or null if the creation failed. """ - return Line3D() - def asInfiniteLine(self) -> InfiniteLine3D: + return Plane() + def setUVDirections(self, uDirection: Vector3D, vDirection: Vector3D) -> bool: """ - Creates an equivalent InfiniteLine3D. - Returns an equivalent InfiniteLine3D + Sets the U and V directions of the plane. + uDirection : The U direction for the plane. + vDirection : The V direction for the plane. + Returns true if successful. """ - return InfiniteLine3D() - def isColinearTo(self, line: Line3D) -> bool: + return bool() + def isParallelToPlane(self, plane: Plane) -> bool: """ - Compare this line with another to check for collinearity - line : The line to compare with for collinearity - Returns true if the two lines are collinear + Checks if this plane is parallel to another plane. + plane : The plane to compare with for parallelism. + Returns true if the planes are parallel. + """ + return bool() + def isParallelToLine(self, line: Line3D) -> bool: + """ + Checks if this plane is parallel to a line. + line : The line to compare with for parallelism. + Returns true if the plane and line are parallel. + """ + return bool() + def isPerpendicularToPlane(self, plane: Plane) -> bool: + """ + Checks if this plane is perpendicular to another plane. + plane : The plane to compare with for perpendicularity. + Returns true if the planes are perpendicular. + """ + return bool() + def isPerpendicularToLine(self, line: Line3D) -> bool: + """ + Checks if this plane is perpendicular to a line. + line : The line to compare with for perpendicularity. + Returns true if the plane and line are perpendicular. """ return bool() + def isCoPlanarTo(self, plane: Plane) -> bool: + """ + Checks if this plane is coplanar with another plane. + plane : The plane to compare with for co-planarity. + Returns true if the planes are coplanar. + """ + return bool() + def intersectWithPlane(self, plane: Plane) -> InfiniteLine3D: + """ + Creates an infinite line at the intersection of this plane with another plane. + plane : The plane to intersect with. + Returns an InfiniteLine3D object or null if the planes do not intersect (are parallel). + """ + return InfiniteLine3D() + def intersectWithLine(self, line: InfiniteLine3D) -> Point3D: + """ + Creates a 3D point at the intersection of this plane and a line. + line : The line to intersect with. + Returns a Point3D object or null if the plane and line do not intersect (are parallel). + """ + return Point3D() def intersectWithCurve(self, curve: Curve3D) -> ObjectCollection: """ - Intersect this line with a curve to get the intersection point(s). + Intersect this plane with a curve to get the intersection point(s). curve : The intersecting curve. The curve can be a Line3D, InfininteLine3D, Circle3D, Arc3D, EllipticalArc3D, Ellipse3D, or NurbsCurve3D. - Returns a collection of the intersection points + Returns a collection of the intersection points. """ return ObjectCollection() def intersectWithSurface(self, surface: Surface) -> ObjectCollection: """ - Intersect this line with a surface to get the intersection point(s). + Intersect this plane with a surface to get the intersection point(s). surface : The intersecting surface. The surface can be a Plane, Cone, Cylinder, EllipticalCone, EllipticalCylinder, Sphere, - Torus or a NurbsSurface. + Torus, or a NurbsSurface. Returns a collection of the intersection points. """ return ObjectCollection() - def getData(self) -> tuple[bool, Point3D, Point3D]: - """ - Gets all of the data defining the line segment. - startPoint : The output start point of the line. - endPoint : The output end point of the line. - Returns true if successful. - """ - return (bool(), Point3D(), Point3D()) - def set(self, startPoint: Point3D, endPoint: Point3D) -> bool: + def copy(self) -> Plane: """ - Sets all of the data defining the line segment. - startPoint : The start point of the line. - endPoint : The end point of the line. - Returns true if successful. + Creates and returns an independent copy of this Plane object. + Returns a new Plane object that is a copy of this Plane object. """ - return bool() + return Plane() @property - def startPoint(self) -> Point3D: + def origin(self) -> Point3D: """ - Gets and sets the start point of the line. + Gets and sets the origin point of the plane. """ return Point3D() - @startPoint.setter - def startPoint(self, value: Point3D): + @origin.setter + def origin(self, value: Point3D): """ - Gets and sets the start point of the line. + Gets and sets the origin point of the plane. """ pass @property - def endPoint(self) -> Point3D: + def normal(self) -> Vector3D: """ - Gets and sets the end point of the line. + Gets and sets the normal of the plane. """ - return Point3D() - @endPoint.setter - def endPoint(self, value: Point3D): + return Vector3D() + @normal.setter + def normal(self, value: Vector3D): """ - Gets and sets the end point of the line. + Gets and sets the normal of the plane. """ pass @property - def asNurbsCurve(self) -> NurbsCurve3D: + def uDirection(self) -> Vector3D: """ - Returns a NURBS curve that is geometrically identical to the line. + Gets the U Direction of the plane. """ - return NurbsCurve3D() + return Vector3D() + @property + def vDirection(self) -> Vector3D: + """ + Gets the V Direction of the plane. + """ + return Vector3D() -class ListControlDefinition(ControlDefinition): +class ProjectedTextureMapControl(TextureMapControl): """ - Represents the information used to define a list of check boxes, radio buttons, or text with icons. This class - isn't the visible list control but is the information needed to create a list control and fully defines a list except for - it's position within the user interface. + Provides access to the various settings that control how a projected texture is applied to a body. """ def __init__(self): pass @staticmethod - def cast(arg) -> ListControlDefinition: - return ListControlDefinition() + def cast(arg) -> ProjectedTextureMapControl: + return ProjectedTextureMapControl() @property - def listItems(self) -> ListItems: + def projectedTextureMapType(self) -> ProjectedTextureMapTypes: """ - Gets the associated ListControlItems collection through which you can add and modify items in the list. + Gets and sets how the texture map is being applied onto the body. """ - return ListItems() + return ProjectedTextureMapTypes() + @projectedTextureMapType.setter + def projectedTextureMapType(self, value: ProjectedTextureMapTypes): + """ + Gets and sets how the texture map is being applied onto the body. + """ + pass @property - def listControlDisplayType(self) -> ListControlDisplayTypes: + def isCapped(self) -> bool: """ - Gets how this list control will be displayed; as a standard list, a list of check boxes, or a list of radio buttons. + When a cylindrical projected texture map is being used this property gets and sets if + a cap is use for the cylindrical projection. This property is only valid in the case + when the projectedTextureMapType returns CylindricalTextureMapProjection. The value of + this property should be ignored in all other cases and setting the property will have no effect. """ - return ListControlDisplayTypes() + return bool() + @isCapped.setter + def isCapped(self, value: bool): + """ + When a cylindrical projected texture map is being used this property gets and sets if + a cap is use for the cylindrical projection. This property is only valid in the case + when the projectedTextureMapType returns CylindricalTextureMapProjection. The value of + this property should be ignored in all other cases and setting the property will have no effect. + """ + pass @property - def lastSelected(self) -> ListItem: + def transform(self) -> Matrix3D: """ - Gets the item in the list that was last selected. This can return null - in the case where this control is displayed as a list of check boxes and there hasn't - been any interaction by the end-user. In the case of a list of check boxes, this returns - the item that was last clicked by the user, whether it was to check or uncheck the item. - In the case of a list of radio buttons, this always returns the item that is currently selected. + Gets and sets the transform that defines the position and orientation of how the texture + is projected onto the body. The Z axis of the transform corresponds to the axis that is + specified in the user-interface and is the primary direction of the texture. + """ + return Matrix3D() + @transform.setter + def transform(self, value: Matrix3D): + """ + Gets and sets the transform that defines the position and orientation of how the texture + is projected onto the body. The Z axis of the transform corresponds to the axis that is + specified in the user-interface and is the primary direction of the texture. + """ + pass + +class RadioButtonGroupCommandInput(CommandInput): + """ + Provides a command input to get the choice from a radio button group from the user. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RadioButtonGroupCommandInput: + return RadioButtonGroupCommandInput() + @property + def listItems(self) -> ListItems: + """ + Returns the ListItems object associated with this radio button group. You use this + object to populate and interact with the items in the radio button group. + """ + return ListItems() + @property + def selectedItem(self) -> ListItem: + """ + Gets and sets the item in the radio button list that is currently selected. """ return ListItem() -class MarkingMenuEvent(Event): +class SATImportOptions(ImportOptions): + """ + Defines that a SAT import is to be done and specifies the various options. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SATImportOptions: + return SATImportOptions() + +class SelectionCommandInput(CommandInput): """ - A MarkingMenuEvent is fired when the marking menu and context menu are displayed. For example, in response to the - markingMenuDisplaying event. + Provides a command input to get a selection from the user. """ def __init__(self): pass @staticmethod - def cast(arg) -> MarkingMenuEvent: - return MarkingMenuEvent() - def add(self, handler: MarkingMenuEventHandler) -> bool: + def cast(arg) -> SelectionCommandInput: + return SelectionCommandInput() + Bodies = "Bodies" + SolidBodies = "SolidBodies" + SurfaceBodies = "SurfaceBodies" + MeshBodies = "MeshBodies" + Faces = "Faces" + SolidFaces = "SolidFaces" + SurfaceFaces = "SurfaceFaces" + PlanarFaces = "PlanarFaces" + CylindricalFaces = "CylindricalFaces" + ConicalFaces = "ConicalFaces" + SphericalFaces = "SphericalFaces" + ToroidalFaces = "ToroidalFaces" + SplineFaces = "SplineFaces" + Edges = "Edges" + LinearEdges = "LinearEdges" + CircularEdges = "CircularEdges" + EllipticalEdges = "EllipticalEdges" + TangentEdges = "TangentEdges" + NonTangentEdges = "NonTangentEdges" + Vertices = "Vertices" + RootComponents = "RootComponents" + Occurrences = "Occurrences" + Sketches = "Sketches" + SketchCurves = "SketchCurves" + SketchLines = "SketchLines" + SketchCircles = "SketchCircles" + SketchPoints = "SketchPoints" + ConstructionPoints = "ConstructionPoints" + ConstructionLines = "ConstructionLines" + ConstructionPlanes = "ConstructionPlanes" + Features = "Features" + Canvases = "Canvases" + Decals = "Decals" + JointOrigins = "JointOrigins" + Joints = "Joints" + SketchConstraints = "SketchConstraints" + Profiles = "Profiles" + Texts = "Texts" + CustomGraphics = "CustomGraphics" + def addSelectionFilter(self, filter: str) -> bool: """ - Add a handler to be notified when the event occurs. - handler : The handler object to be called when this event is fired. - Returns true if the addition of the handler was successful. + Adds an additional filter to the existing filter list. + filter : + The name of a selection filter to add. The valid list of selection filters can be found here: Selection Filters. + + Returns true if the filter was added successfully. """ return bool() - def remove(self, handler: MarkingMenuEventHandler) -> bool: + def clearSelectionFilter(self) -> bool: """ - Removes a handler from the event. - handler : The handler object to be removed from the event. - Returns true if removal of the handler was successful. + Clears the list of selection filters. + Returns true if successful. """ return bool() - -class MarkingMenuEventArgs(EventArgs): - """ - The MarkingMenuEventArgs provides information associated with the marking and context - menu being displayed. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> MarkingMenuEventArgs: - return MarkingMenuEventArgs() - @property - def radialMarkingMenu(self) -> RadialMarkingMenu: + def selection(self, index: int) -> Selection: """ - Provides access to the radial marking menu. + Returns the selection at the specified index. + index : The index of the selection to return. + Returns the Selection at the specified index, or null on error. """ - return RadialMarkingMenu() - @property - def linearMarkingMenu(self) -> LinearMarkingMenu: + return Selection() + def addSelection(self, selection: Base) -> bool: """ - Provides access to the linear marking menu. + Adds the selection to the list of selections associated with this input. This method is not valid within + the commandCreated event but must be used later in the command lifetime. If you want to pre-populate the + selection when the command is starting, you can use this method in the activate method of the Command. + It's also valid to use in other events once the command is running, such as the validateInputs event. + selection : The entity to add a selection of to this input. The addition may fail if the entity + does not match the selection filter, or adding it would exceed the limits. + Returns true if a selection to the entity was added to this input. """ - return LinearMarkingMenu() - @property - def selectedEntities(self) -> list[Base]: + return bool() + def getSelectionLimits(self) -> tuple[bool, int, int]: """ - Returns the currently selected entities that the user left-clicked over. - These provide the "context" of what should be displayed in the menu. This - can be an empty array in the case where they clicked in a open area within - the graphics window. + Get the limits currently defined for this input. + minimum : The minimum number of selections required. A value of zero means that there is no minimum limit. + maximum : The maximum number of selections required. A value of zero means that there is no maximum limit. + Returns true if the selection limits were successfully returned. """ - return [Base()] - -class MouseEvent(Event): - """ - An event endpoint that supports the connection to client implemented MouseEventHandlers. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> MouseEvent: - return MouseEvent() - def add(self, handler: MouseEventHandler) -> bool: + return (bool(), int(), int()) + def setSelectionLimits(self, minimum: int, maximum: int = 0) -> bool: """ - Adds an event handler to this event endpoint. - handler : The client implemented MouseEventHandler to be called when this event is triggered. - Returns true if the handler was successfully added to the set of event handlers. + Defines the limits for the number of selections associated with this input. + A maximum value of 0 indicates that there is no maximum. + minimum : The minimum number of selections required. A value of zero means that there is no minimum limit. + maximum : The maximum number of selections required. A value of zero means that there is no maximum limit. + If maximum is equal to minimum, then exactly that number of selections is required. + Returns true if the limits were successfully set. """ return bool() - def remove(self, handler: MouseEventHandler) -> bool: + def clearSelection(self) -> bool: """ - Removes a handler from this event endpoint. - handler : A MouseEventhandler that was previously added to this event with the add method. - Returns true if the handler was found and removed from the set of event handlers. + Clears the current selection so no entities are in the selection. + Returns true if successful. """ return bool() - -class MouseEventArgs(EventArgs): - """ - Provides a set of arguments from a firing MouseEvent to a MouseEventHandler's notify callback method. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> MouseEventArgs: - return MouseEventArgs() @property - def button(self) -> MouseButtons: + def commandPrompt(self) -> str: """ - Gets which mouse button(s) are pressed. The returned value - is bitwise and can indicate that more than one button is pressed. + Gets or sets the tooltip shown next to the cursor. """ - return MouseButtons() - @property - def clicks(self) -> int: + return str() + @commandPrompt.setter + def commandPrompt(self, value: str): """ - Gets the number of times the button was pressed and released. + Gets or sets the tooltip shown next to the cursor. """ - return int() + pass @property - def wheelDelta(self) -> int: + def selectionFilters(self) -> list[str]: """ - Gets a signed count of the number of detents the mouse wheel has rotated. + Gets or sets the list of selection filters. """ - return int() - @property - def keyboardModifiers(self) -> KeyboardModifiers: + return [str()] + @selectionFilters.setter + def selectionFilters(self, value: list[str]): """ - Gets which modifier keys are currently pressed. The returned value - is bitwise and can indicate that more than one button is pressed. + Gets or sets the list of selection filters. """ - return KeyboardModifiers() + pass @property - def position(self) -> Point2D: + def selectionCount(self) -> int: """ - Gets the coordinate of the mouse in screen space. + Gets the current number of selections the user has made for this input. """ - return Point2D() + return int() @property - def viewportPosition(self) -> Point2D: + def hasFocus(self) -> bool: """ - Gets the coordinate of the mouse in viewport space, if the mouse is - within a viewport. If the mouse is not over a viewport this property will return null. + Gets and sets if this selection input has focus with respect to other selection inputs on the + command dialog. Only one selection input on a dialog can have focus at a time, so setting hasFocus to true + will remove the focus from the selection input that previously had focus. When a selection input + has focus; any user selections will be added to that selection input, and the selection rules associated + with that selection input will apply. + + Setting hasFocus to True for a selection input whose isVisible property is false will fail. """ - return Point2D() - @property - def viewport(self) -> Viewport: + return bool() + @hasFocus.setter + def hasFocus(self, value: bool): """ - Returns the viewport where the mouse event occurred, if it was within a viewport. - If the mouse is not over a viewport this property will return null. + Gets and sets if this selection input has focus with respect to other selection inputs on the + command dialog. Only one selection input on a dialog can have focus at a time, so setting hasFocus to true + will remove the focus from the selection input that previously had focus. When a selection input + has focus; any user selections will be added to that selection input, and the selection rules associated + with that selection input will apply. + + Setting hasFocus to True for a selection input whose isVisible property is false will fail. """ - return Viewport() + pass -class NavigationEvent(Event): +class SelectionEvent(Event): """ - A NavigationEvent is fired when a link is navigated on the page in a palette. + An event endpoint that supports the connection to client implemented SelectionEventHandlers. """ def __init__(self): pass @staticmethod - def cast(arg) -> NavigationEvent: - return NavigationEvent() - def add(self, handler: NavigationEventHandler) -> bool: + def cast(arg) -> SelectionEvent: + return SelectionEvent() + def add(self, handler: SelectionEventHandler) -> bool: """ - Add a handler to be notified when the event occurs. - handler : The handler object to be called when this event is fired. - Returns true if the addition of the handler was successful. + Adds an event handler to this event endpoint. + handler : The client implemented SelectionEventHandler to be called when this event is triggered. + Returns true if the handler was successfully added to the set of event handlers. """ return bool() - def remove(self, handler: NavigationEventHandler) -> bool: + def remove(self, handler: SelectionEventHandler) -> bool: """ - Removes a handler from the event. - handler : The handler object to be removed from the event. - Returns true if removal of the handler was successful. + Removes a handler from this event endpoint. + handler : A SelectionEventHandler that was previously added to this event with the add method. + Returns true if the handler was found and removed from the set of event handlers. """ return bool() + @property + def activeInput(self) -> SelectionCommandInput: + """ + Returns the SelectionCommandInput that is currently active in the command dialog and + that the user is selecting entities for. This can be used to determine which set of + rules you want to apply to determine if the current entity is selectable or not. + """ + return SelectionCommandInput() -class NavigationEventArgs(EventArgs): +class SelectionEventArgs(EventArgs): """ - The NavigationEventArgs provides access to the information sent from the browser - within a palette on a navigation event. + Provides a set of arguments from a firing SelectionEvent to a SelectionEventHandler's notify callback method. """ def __init__(self): pass - @staticmethod - def cast(arg) -> NavigationEventArgs: - return NavigationEventArgs() - @property - def navigationURL(self) -> str: - """ - The URL that is being navigated to. - """ - return str() - @navigationURL.setter - def navigationURL(self, value: str): + @staticmethod + def cast(arg) -> SelectionEventArgs: + return SelectionEventArgs() + @property + def selection(self) -> Selection: """ - The URL that is being navigated to. + Gets the entity that is valid for selection. """ - pass + return Selection() @property - def launchExternally(self) -> bool: + def isSelectable(self) -> bool: """ - If True, the URL will be navigated to in an external browser by the operating system. - If False, the default value, the URL will be navigated to in the palette's browser. + Gets or sets whether this entity should be made available to be selected. + The value is initialized to true, so doing nothing will result + in the entity being selectable. """ return bool() - @launchExternally.setter - def launchExternally(self, value: bool): + @isSelectable.setter + def isSelectable(self, value: bool): """ - If True, the URL will be navigated to in an external browser by the operating system. - If False, the default value, the URL will be navigated to in the palette's browser. + Gets or sets whether this entity should be made available to be selected. + The value is initialized to true, so doing nothing will result + in the entity being selectable. """ pass @property - def preventDefault(self) -> bool: + def additionalEntities(self) -> ObjectCollection: """ - If True, the default handling of this navigation event will not continue. - If False, the default value, the default handling of this navigation event will continue. + Gets or sets any additional entities that should be pre-highlighted and selected + if the entity the mouse is over is selected. If you add an entity that is already + selected, it will be unselected. The result of adding additional entities is the + same as if they were selected one at a time by the user and the user can unselect each + entity one at a time by picking it while it's selected. + + An example of how this might be used is that the user can select a group of + tangentially connected edges by picking a single edge. You can use the + BrepEdge.tangentiallyConnectedEdges to easily find the tangent edges and add them + to the set of additional entities to be selected. These edges are pre-highlighted + and then selected. + + If you are using this property you need to make sure that the selection + limits for the SelectionCommandInput have been set appropriately. For example, a + newly created SeletionCommandInput is set to only allow the selection of a single + entity. By adding additional entities you'll need more than one entity because the + entire set of entities will be added to the selection. Use the setSelectionLimits + method of the SelectionCommandInput to change the number of allowed selections. + + The additional entities should all be valid based on the current selection filter. """ - return bool() - @preventDefault.setter - def preventDefault(self, value: bool): + return ObjectCollection() + @additionalEntities.setter + def additionalEntities(self, value: ObjectCollection): """ - If True, the default handling of this navigation event will not continue. - If False, the default value, the default handling of this navigation event will continue. + Gets or sets any additional entities that should be pre-highlighted and selected + if the entity the mouse is over is selected. If you add an entity that is already + selected, it will be unselected. The result of adding additional entities is the + same as if they were selected one at a time by the user and the user can unselect each + entity one at a time by picking it while it's selected. + + An example of how this might be used is that the user can select a group of + tangentially connected edges by picking a single edge. You can use the + BrepEdge.tangentiallyConnectedEdges to easily find the tangent edges and add them + to the set of additional entities to be selected. These edges are pre-highlighted + and then selected. + + If you are using this property you need to make sure that the selection + limits for the SelectionCommandInput have been set appropriately. For example, a + newly created SeletionCommandInput is set to only allow the selection of a single + entity. By adding additional entities you'll need more than one entity because the + entire set of entities will be added to the selection. Use the setSelectionLimits + method of the SelectionCommandInput to change the number of allowed selections. + + The additional entities should all be valid based on the current selection filter. """ pass @property - def browserCommandInput(self) -> BrowserCommandInput: + def activeInput(self) -> SelectionCommandInput: """ - When the event is fired from a BrowserCommandInput object, this property returns - the specific BrowserCommandInput that caused the event to fire. In all other cases - this property returns null. + Returns the SelectionCommandInput that is currently active in the command dialog and + that the user is selecting entities for. This can be used to determine which set of + rules you want to apply to determine if the current entity is selectable or not. """ - return BrowserCommandInput() + return SelectionCommandInput() -class NurbsCurve2D(Curve2D): +class SeparatorControl(ToolbarControl): """ - Transient 2D NURBS curve. A transient NURBS curve is not displayed or saved in a document. - Transient 2D NURBS curves are used as a wrapper to work with raw 2D NURBS curve information. - They are created statically using one of the create methods of the NurbsCurve2D class. + Represents a separator within a panel, toolbar, or drop-down control. """ def __init__(self): pass @staticmethod - def cast(arg) -> NurbsCurve2D: - return NurbsCurve2D() - @staticmethod - def createNonRational(controlPoints: list[Point2D], degree: int, knots: list[float], isPeriodic: bool) -> NurbsCurve2D: - """ - Creates a transient 2D NURBS non-rational b-spline object. - controlPoints : An array of control point that define the path of the spline - degree : The degree of curvature of the spline - knots : An array of numbers that define the knot vector of the spline. The knots is an array of (>=degree + N + 1) numbers, where N is the number of control points. - isPeriodic : A bool specifying if the spline is to be Periodic. A periodic spline has a start point and - end point that meet forming a closed loop. - Returns the new NurbsCurve2D object or null if the creation failed. - """ - return NurbsCurve2D() + def cast(arg) -> SeparatorControl: + return SeparatorControl() + +class SliderCommandInput(CommandInput): + """ + Provides a command input to get the value of a slider from the user. + """ + def __init__(self): + pass @staticmethod - def createRational(controlPoints: list[Point2D], degree: int, knots: list[float], weights: list[float], isPeriodic: bool) -> NurbsCurve2D: - """ - Creates a transient 2D NURBS rational b-spline object. - controlPoints : An array of control point that define the path of the spline - degree : The degree of curvature of the spline - knots : An array of numbers that define the knot vector of the spline. The knots is an array of (>=degree + N + 1) numbers, where N is the number of control points. - weights : An array of numbers that define the weights for the spline. - isPeriodic : A bool specifying if the spline is to be Periodic. A periodic curve has a start point and - end point that meet (with curvature continuity) forming a closed loop. - Returns the new NurbsCurve2D object or null if the creation failed. - """ - return NurbsCurve2D() - def copy(self) -> NurbsCurve2D: - """ - Creates and returns an independent copy of this NurbsCurve2D object. - Returns an independent copy of this NurbsCurve2D. - """ - return NurbsCurve2D() - def getData(self) -> tuple[bool, list[Point2D], int, list[float], bool, list[float], bool]: + def cast(arg) -> SliderCommandInput: + return SliderCommandInput() + def setText(self, left: str, right: str) -> bool: """ - Gets the data that defines a transient 2D NURBS rational b-spline object. - controlPoints : The output array of control point that define the path of the spline. - degree : The output degree of curvature of the spline. - knots : The output array of numbers that define the knots of the spline. - isRational : The output value indicating if the spline is rational. A rational spline will have a weight value - for each control point. - weights : The output array of numbers that define the weights for the spline. - isPeriodic : The output value indicating if the spline is Periodic. A periodic curve has a start point and - end point that meet (with curvature continuity) forming a closed loop. + Sets the text of the slider. Both the left and the right text should be set. + left : Indicates the text on the left side of the slider. + right : Indicates the text on the right side of the slider. Returns true if successful. """ - return (bool(), [Point2D()], int(), [float()], bool(), [float()], bool()) - def set(self, controlPoints: list[Point2D], degree: int, knots: list[float], isRational: bool, weights: list[float], isPeriodic: bool) -> bool: - """ - Sets the data that defines a transient 2D NURBS rational b-spline object. - controlPoints : The array of control point that define the path of the spline - degree : The degree of curvature of the spline - knots : An array of numbers that define the knots of the spline. - isRational : A bool indicating if the spline is rational. A rational spline must have a weight value - for each control point. - weights : An array of numbers that define the weights for the spline. - isPeriodic : A bool specifying if the spline is to be Periodic. A periodic curve has a start point and - end point that meet (with curvature continuity) forming a closed loop. - Returns true if successful - """ return bool() - def extract(self, startParam: float, endParam: float) -> NurbsCurve2D: - """ - Defines a new NURBS curve that is the subset of this NURBS curve in the parameter - range of [startParam, endParam] - startParam : The parameter position of the start of the subset. - endParam : The parameter position of the end of the subset. - Returns a new NurbsCurve2D object. - """ - return NurbsCurve2D() - def merge(self, nurbsCurve: NurbsCurve2D) -> NurbsCurve2D: - """ - Define a new NURBS curve that is the result of combining this NURBS curve with - another NURBS curve. The curves are merged with the end point of the current - curve merging with the start point of the other curve. The curves are forced - to join even if they are not physically touching so you will typically want - to make sure the end and start points of the curves are where you expect them to be. - nurbsCurve : The NURBS curve to combine with - Returns a new NurbsCurve2D object. - """ - return NurbsCurve2D() - @property - def controlPointCount(self) -> int: + def getText(self, isLeft: bool) -> str: """ - Gets the number of control points that define the curve + Gets the texts of the slider if text has been defined. + isLeft : Indicates to get the left or right text. + Returns the left or right text of the slider. """ - return int() + return str() @property - def degree(self) -> int: + def expressionOne(self) -> str: """ - Returns the degree of the curve + Uses an expression to set the value in the first input field. This can contain equations and + is evaluated using the specified unit type. """ - return int() - @property - def knotCount(self) -> int: + return str() + @expressionOne.setter + def expressionOne(self, value: str): """ - Returns the knot count of the curve + Uses an expression to set the value in the first input field. This can contain equations and + is evaluated using the specified unit type. """ - return int() + pass @property - def isRational(self) -> bool: + def expressionTwo(self) -> str: """ - Indicates if the curve is rational or non-rational type + Uses an expression to set the value in the second input field. This can contain equations and + is evaluated using the specified unit type. + + This property is only available when the hasTwoSliders property returns true. """ - return bool() - @property - def isClosed(self) -> bool: + return str() + @expressionTwo.setter + def expressionTwo(self, value: str): """ - Indicates if the curve is closed + Uses an expression to set the value in the second input field. This can contain equations and + is evaluated using the specified unit type. + + This property is only available when the hasTwoSliders property returns true. """ - return bool() + pass @property - def isPeriodic(self) -> bool: + def unitType(self) -> str: """ - Indicates if the curve is periodic. + Gets and sets the unit type that is used when evaluating the user's input. """ - return bool() - @property - def controlPoints(self) -> list[Point2D]: + return str() + @unitType.setter + def unitType(self, value: str): """ - Returns an array of Point2D objects that define the control points of the curve. + Gets and sets the unit type that is used when evaluating the user's input. """ - return [Point2D()] + pass @property - def knots(self) -> list[float]: + def hasTwoSliders(self) -> bool: """ - Returns an array of numbers that define the Knots of the curve. + Gets if the command input has two sliders. """ - return [float()] + return bool() + +class SMTImportOptions(ImportOptions): + """ + Defines that an SMT import is to be done and specifies the various options. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SMTImportOptions: + return SMTImportOptions() -class NurbsCurve3D(Curve3D): +class Sphere(Surface): """ - Transient 3D NURBS curve. A transient NURBS curve is not displayed or saved in a document. - Transient 3D NURBS curves are used as a wrapper to work with raw 3D NURBS curve information. - They are created statically using one of the create methods of the NurbsCurve3D class. + Transient sphere. A transient sphere is not displayed or saved in a document. + Transient spheres are used as a wrapper to work with raw sphere information. + A transient sphere is a full sphere defined by a point and a radius. + They are created statically using the create method of the Sphere class. """ def __init__(self): pass @staticmethod - def cast(arg) -> NurbsCurve3D: - return NurbsCurve3D() - @staticmethod - def createNonRational(controlPoints: list[Point3D], degree: int, knots: list[float], isPeriodic: bool) -> NurbsCurve3D: - """ - Creates a transient 3D NURBS non-rational b-spline object. - controlPoints : An array of control point that define the path of the spline. - degree : The degree of curvature of the spline. - knots : An array of numbers that define the knot vector of the spline. The knots is an array of (>=degree + N + 1) numbers, where N is the number of control points. - isPeriodic : A bool specifying if the spline is to be Periodic. A periodic spline has a start point and - end point that meet forming a closed loop. - Returns the new NurbsCurve3D object or null if the creation failed. - """ - return NurbsCurve3D() + def cast(arg) -> Sphere: + return Sphere() @staticmethod - def createRational(controlPoints: list[Point3D], degree: int, knots: list[float], weights: list[float], isPeriodic: bool) -> NurbsCurve3D: + def create(origin: Point3D, radius: float) -> Sphere: """ - Creates a transient 3D NURBS rational b-spline object. - controlPoints : An array of control point that define the path of the spline. - degree : The degree of curvature of the spline. - knots : An array of numbers that define the knot vector of the spline. The knots is an array of (>=degree + N + 1) numbers, where N is the number of control points. - weights : An array of numbers that define the weight at each control point. - isPeriodic : A bool specifying if the spline is to be Periodic. A periodic curve has a start point and - end point that meet (with curvature continuity) forming a closed loop. - Returns the new NurbsCurve3D object or null if the creation failed. + Creates a transient sphere object. + origin : The origin point (center) of the sphere. + radius : The radius of the sphere. + Returns the new Sphere object or null if the creation failed. """ - return NurbsCurve3D() - def getData(self) -> tuple[bool, list[Point3D], int, list[float], bool, list[float], bool]: + return Sphere() + def getData(self) -> tuple[bool, Point3D, float]: """ - Gets the data that defines a transient 3D NURBS rational b-spline object. - controlPoints : The output array of control point that define the path of the spline. - degree : The output degree of curvature of the spline. - knots : The output array of numbers that define the knot vector of the spline. - isRational : The output value indicating if the spline is rational. A rational spline will have a weight value - for each control point. - weights : The output array of numbers that define the weights for the spline. - isPeriodic : The output value indicating if the spline is Periodic. A periodic curve has a start point and - end point that meet (with curvature continuity) forming a closed loop. + Gets all of the data defining the sphere. + origin : The output origin point (center) of the sphere. + radius : The output radius of the sphere. Returns true if successful. """ - return (bool(), [Point3D()], int(), [float()], bool(), [float()], bool()) - def set(self, controlPoints: list[Point3D], degree: int, knots: list[float], isRational: bool, weights: list[float], isPeriodic: bool) -> bool: + return (bool(), Point3D(), float()) + def set(self, origin: Point3D, radius: float) -> bool: """ - Sets the data that defines a transient 3D NURBS rational b-spline object. - controlPoints : The array of control point that define the path of the spline. - degree : The degree of curvature of the spline. - knots : An array of numbers that define the knot vector of the spline. - isRational : A bool value indicating if the spline is rational. A rational spline must have a weight value - for each control point. - weights : An array of numbers that define the weights for the spline. - isPeriodic : A bool indicating if the spline is Periodic. A periodic curve has a start point and - end point that meet (with curvature continuity) forming a closed loop. + Sets all of the data defining the sphere. + origin : The origin point (center) of the sphere. + radius : The radius of the sphere. Returns true if successful. """ return bool() - def extract(self, startParam: float, endParam: float) -> NurbsCurve3D: + def copy(self) -> Sphere: """ - Defines a new NURBS curve that is the subset of this NURBS curve in the parameter - range of [startParam, endParam] - startParam : The parameter position that defines the start of the subset. - endParam : The parameter position that defines the end of the subset. - Returns a new NurbsCurve3D object. + Creates and returns an independent copy of this Sphere object. + Returns a new Sphere object that is a copy of this Sphere object. """ - return NurbsCurve3D() - def merge(self, nurbsCurve: NurbsCurve3D) -> NurbsCurve3D: + return Sphere() + @property + def origin(self) -> Point3D: """ - Define a new NURBS curve that is the result of combining this NURBS curve with - another NURBS curve. - nurbsCurve : The NURBS curve to combine with. - Returns a new NurbsCurve3D object. + Gets and sets the origin point (center) of the sphere. """ - return NurbsCurve3D() - def copy(self) -> NurbsCurve3D: + return Point3D() + @origin.setter + def origin(self, value: Point3D): """ - Creates and returns an independent copy of this NurbsCurve3D object. - Returns an independent copy of this NurbsCurve3D. + Gets and sets the origin point (center) of the sphere. """ - return NurbsCurve3D() + pass @property - def controlPointCount(self) -> int: + def radius(self) -> float: """ - Gets the number of control points that define the curve. + Gets and sets the radius of the sphere. """ - return int() - @property - def degree(self) -> int: + return float() + @radius.setter + def radius(self, value: float): """ - Returns the degree of the curve. + Gets and sets the radius of the sphere. """ - return int() + pass + +class SplitButtonControl(ToolbarControl): + """ + A split button has two active areas that the user can click; + the main button portion and the drop-down arrow. Clicking the main button, executes the displayed command. + Clicking the drop-down displays the drop-down with additional commands. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SplitButtonControl: + return SplitButtonControl() @property - def knotCount(self) -> int: + def defaultCommandDefinition(self) -> CommandDefinition: """ - Returns the knot count of the curve. + Gets the command definition that is used as the default command on the main portion of the split button. """ - return int() + return CommandDefinition() @property - def isRational(self) -> bool: + def isLastUsedShown(self) -> bool: """ - Indicates if the curve is rational or non-rational type. + Gets if this button behaves where the last executed command becomes the command on the main portion of the split button. """ return bool() @property - def isClosed(self) -> bool: + def additionalDefinitions(self) -> list[CommandDefinition]: """ - Indicates if the curve is closed. + Gets or sets the command definitions used to define the buttons associated with the split button. """ - return bool() - @property - def isPeriodic(self) -> bool: + return [CommandDefinition()] + @additionalDefinitions.setter + def additionalDefinitions(self, value: list[CommandDefinition]): """ - Indicates if the curve is periodic. + Gets or sets the command definitions used to define the buttons associated with the split button. """ - return bool() + pass + +class STEPImportOptions(ImportOptions): + """ + Defines that a STEP import is to be done and specifies the various options. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> STEPImportOptions: + return STEPImportOptions() + +class StringProperty(Property): + """ + A string value property associated with a material or appearance. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> StringProperty: + return StringProperty() @property - def controlPoints(self) -> list[Point3D]: + def value(self) -> str: """ - Returns an array of Point3D objects that define the control points of the curve. + Gets and sets the property value. """ - return [Point3D()] - @property - def knots(self) -> list[float]: + return str() + @value.setter + def value(self, value: str): """ - Returns an array of numbers that define the knot vector of the curve. + Gets and sets the property value. """ - return [float()] + pass -class NurbsSurface(Surface): +class StringValueCommandInput(CommandInput): """ - Transient NURBS surface. A transient NURBS surface is not displayed or saved in a document. - A transient NURBS surface is used as a wrapper to work with raw NURBS surface information. - A transient NURBS surface is bounded by it's natural boundaries and does not support the - definition of arbitrary boundaries. - A NURBS surface is typically obtained from a BREPFace object, which does have boundary information. - They are created statically using the create method of the NurbsSurface class. + Provides a command input to get a string value from the user. """ def __init__(self): pass @staticmethod - def cast(arg) -> NurbsSurface: - return NurbsSurface() - @staticmethod - def create(degreeU: int, degreeV: int, controlPointCountU: int, controlPointCountV: int, controlPoints: list[Point3D], knotsU: list[float], knotsV: list[float], weights: list[float], propertiesU: NurbsSurfaceProperties, propertiesV: NurbsSurfaceProperties) -> NurbsSurface: + def cast(arg) -> StringValueCommandInput: + return StringValueCommandInput() + @property + def value(self) -> str: """ - Creates a transient NURBS surface object. - degreeU : The degree in the U direction. - degreeV : The degree in the V direction. - controlPointCountU : The number of control points in the U direction. - controlPointCountV : The number of control points in the V direction. - controlPoints : An array of surface control points. - The length of this array must be controlPointCountU * controlPointCountV. - knotsU : The knot vector for the U direction. - knotsV : The knot vector for the V direction. - weights : An array of weights that corresponds to the control points of the surface. - propertiesU : The properties (NurbsSurfaceProperties) of the surface in the U direction. - propertiesV : The properties (NurbsSurfaceProperties) of the surface in the V direction. - Returns the new NurbsSurface object or null if the creation failed. + Gets or sets the value of this input. """ - return NurbsSurface() - def getData(self) -> tuple[bool, int, int, int, int, list[Point3D], list[float], list[float], list[float], NurbsSurfaceProperties, NurbsSurfaceProperties]: + return str() + @value.setter + def value(self, value: str): """ - Gets the data that defines the NURBS surface. - degreeU : The output degree in the U direction. - degreeV : The output degree in the V direction. - controlPointCountU : The output number of control points in the U direction. - controlPointCountV : The output number of control points in the V direction. - controlPoints : An output array of surface control points. - knotsU : The output knot vector for the U direction. - knotsV : The output knot vector for the V direction. - weights : An output array of weights that corresponds to the control points of the surface. - propertiesU : The output properties (NurbsSurfaceProperties) of the surface in the U direction. - propertiesV : The output properties (NurbsSurfaceProperties) of the surface in the V direction. - Returns true if successful. + Gets or sets the value of this input. """ - return (bool(), int(), int(), int(), int(), [Point3D()], [float()], [float()], [float()], NurbsSurfaceProperties(), NurbsSurfaceProperties()) - def set(self, degreeU: int, degreeV: int, controlPointCountU: int, controlPointCountV: int, controlPoints: list[Point3D], knotsU: list[float], knotsV: list[float], weights: list[float], propertiesU: NurbsSurfaceProperties, propertiesV: NurbsSurfaceProperties) -> bool: + pass + @property + def isPassword(self) -> bool: """ - Sets the data that defines the NURBS surface. - degreeU : The degree in the U direction. - degreeV : The degree in the V direction. - controlPointCountU : The number of control points in the U direction. - controlPointCountV : The number of control points in the V direction. - controlPoints : An array of surface control points. - knotsU : The knot vector for the U direction. - knotsV : The knot vector for the V direction. - weights : An array of weights that corresponds to the control points of the surface. - propertiesU : The properties (NurbsSurfaceProperties) of the surface in the U direction. - propertiesV : The properties (NurbsSurfaceProperties) of the surface in the V direction. - Returns true if successful + Gets or sets if this string input behaves as a password field. + This defaults to false for a newly created StringValueCommandInput. + If true, dots are displayed instead of the actual characters but + the value property will get and set the actual string. """ return bool() - def copy(self) -> NurbsSurface: + @isPassword.setter + def isPassword(self, value: bool): """ - Creates and returns an independent copy of this NurbsSurface object. - Returns a new NurbsSurface object that is a copy of this NurbsSurface object. + Gets or sets if this string input behaves as a password field. + This defaults to false for a newly created StringValueCommandInput. + If true, dots are displayed instead of the actual characters but + the value property will get and set the actual string. """ - return NurbsSurface() + pass @property - def controlPointCountU(self) -> int: + def isReadOnly(self) -> bool: """ - Gets the number of control points in the U direction. + Gets and sets if the string value is read-only or not. If it is read-only the user + cannot edit the text. This property is initialized to False for a newly created + StringValueCommandInput object. """ - return int() - @property - def controlPointCountV(self) -> int: + return bool() + @isReadOnly.setter + def isReadOnly(self, value: bool): """ - Gets the number of control points in the V direction. + Gets and sets if the string value is read-only or not. If it is read-only the user + cannot edit the text. This property is initialized to False for a newly created + StringValueCommandInput object. """ - return int() + pass @property - def degreeU(self) -> int: + def isValueError(self) -> bool: """ - Gets the degree in the U direction. + Specifies if the current value shown is valid or not. Any string is valid for a + StringValueCommandInput, but you many have some criteria that the string needs + to meet for it to be valid in your application. You use the command's validateInputs + event to verify that inputs are valid and control whether the "OK" button is enabled + or not, and you can also set this property on specific StringValueCommandInputs objects + to indicate to the user that a specific value is not correct. When this property is + true, Fusion 360 will change the color of the text to red to indicate to the user there is + a problem. """ - return int() - @property - def degreeV(self) -> int: + return bool() + @isValueError.setter + def isValueError(self, value: bool): """ - Gets the degree in the V direction. + Specifies if the current value shown is valid or not. Any string is valid for a + StringValueCommandInput, but you many have some criteria that the string needs + to meet for it to be valid in your application. You use the command's validateInputs + event to verify that inputs are valid and control whether the "OK" button is enabled + or not, and you can also set this property on specific StringValueCommandInputs objects + to indicate to the user that a specific value is not correct. When this property is + true, Fusion 360 will change the color of the text to red to indicate to the user there is + a problem. """ - return int() + pass + +class SVGImportOptions(ImportOptions): + """ + Defines that an SVG import is to be done and specifies the various options. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SVGImportOptions: + return SVGImportOptions() @property - def knotCountU(self) -> int: + def transform(self) -> Matrix3D: """ - Gets the knot count in the U direction. + Gets and sets the transformation matrix that defines the position, orientation, scale, and + mirroring of the imported SVG data relative to the sketch coordinate system. + This property defaults to an identity matrix in a newly created SVGImportOptions object. + + You can define mirroring (the equivalent of horizontal or vertical flip) in the matrix. Doing + this gives you more explicit control over the results. You can also use the isHorizontalFlip + and isVerticalFlop properties to define the flip. These result in flipping the geometry along + the center of the geometry's bounding box. """ - return int() - @property - def knotCountV(self) -> int: + return Matrix3D() + @transform.setter + def transform(self, value: Matrix3D): """ - Gets thekKnot count in the V direction. + Gets and sets the transformation matrix that defines the position, orientation, scale, and + mirroring of the imported SVG data relative to the sketch coordinate system. + This property defaults to an identity matrix in a newly created SVGImportOptions object. + + You can define mirroring (the equivalent of horizontal or vertical flip) in the matrix. Doing + this gives you more explicit control over the results. You can also use the isHorizontalFlip + and isVerticalFlop properties to define the flip. These result in flipping the geometry along + the center of the geometry's bounding box. """ - return int() + pass @property - def propertiesU(self) -> NurbsSurfaceProperties: + def isHorizontalFlip(self) -> bool: """ - Gets the properties (NurbsSurfaceProperties) of the surface in the U direction. + Gets and sets if the SVG is flipped along the sketch X axis. + This property defaults to false in a newly created SVGImportOptions object. """ - return NurbsSurfaceProperties() - @property - def propertiesV(self) -> NurbsSurfaceProperties: + return bool() + @isHorizontalFlip.setter + def isHorizontalFlip(self, value: bool): """ - Gets the properties (NurbsSurfaceProperties) of the surface in the V direction. + Gets and sets if the SVG is flipped along the sketch X axis. + This property defaults to false in a newly created SVGImportOptions object. """ - return NurbsSurfaceProperties() + pass @property - def controlPoints(self) -> list[Point3D]: + def isVerticalFlip(self) -> bool: """ - Gets an array of control points from the surface. + Gets and sets if the SVG is flipped along the sketch Y axis. + This property defaults to false in a newly created SVGImportOptions object. """ - return [Point3D()] - @property - def knotsU(self) -> list[float]: + return bool() + @isVerticalFlip.setter + def isVerticalFlip(self, value: bool): """ - Get the knot vector from the U direction. + Gets and sets if the SVG is flipped along the sketch Y axis. + This property defaults to false in a newly created SVGImportOptions object. """ - return [float()] + pass @property - def knotsV(self) -> list[float]: + def isControlPointFrameDisplayed(self) -> bool: """ - Get the knot vector from the V direction + Gets and sets if any spline curves in the SVG should be drawn with their control + point frames. This property defaults to false in a newly created SVGImportOptions object. """ - return [float()] + return bool() + @isControlPointFrameDisplayed.setter + def isControlPointFrameDisplayed(self, value: bool): + """ + Gets and sets if any spline curves in the SVG should be drawn with their control + point frames. This property defaults to false in a newly created SVGImportOptions object. + """ + pass -class Plane(Surface): +class TabCommandInput(CommandInput): """ - Transient plane. A transient plane is not displayed or saved in a document. - Transient planes are used as a wrapper to work with raw plane information. - A transient plane has no boundaries or size, but is infinite and is represented - by a position, a normal, and an orientation in space. - They are created statically using the create method of the Plane class. + Tab command inputs contain a set of command inputs and/or group command inputs/ """ def __init__(self): pass @staticmethod - def cast(arg) -> Plane: - return Plane() - @staticmethod - def create(origin: Point3D, normal: Vector3D) -> Plane: + def cast(arg) -> TabCommandInput: + return TabCommandInput() + def activate(self) -> bool: """ - Creates a transient plane object by specifying an origin and a normal direction. - origin : The origin point of the plane. - normal : The normal direction of the plane. - Returns the new plane object or null if the creation failed. + Sets this to be the currently activated (selected) tab. + Returns true if the TabCommandInput was successfully activated. """ - return Plane() - @staticmethod - def createUsingDirections(origin: Point3D, uDirection: Vector3D, vDirection: Vector3D) -> Plane: + return bool() + @property + def children(self) -> CommandInputs: """ - Creates a transient plane object by specifying an origin along with U and V directions. - origin : The origin point of the plane. - uDirection : The U direction for the plane. - vDirection : The V direction for the plane. - Returns the new plane object or null if the creation failed. + Gets the CommandInputs collection for this TabCommandInput. + Use the add methods on this collection to add child CommandInputs to this Tab in the desired order. """ - return Plane() - def setUVDirections(self, uDirection: Vector3D, vDirection: Vector3D) -> bool: + return CommandInputs() + @property + def resourceFolder(self) -> str: """ - Sets the U and V directions of the plane. - uDirection : The U direction for the plane. - vDirection : The V direction for the plane. - Returns true if successful. + Gets the folder that contains the image for the tab. If no name is specified (no text on tab), + a resourceFolder containing the image to appear on the tab needs to be provided. + """ + return str() + @property + def isActive(self) -> bool: + """ + Gets if this is the currently activated (selected) tab. """ return bool() - def isParallelToPlane(self, plane: Plane) -> bool: + +class TableCommandInput(CommandInput): + """ + Represents a table within a command dialog. The table consists of + rows and columns where each cell can contain another command input. The + selection and button row command inputs cannot be used within a table. + In addition to the rows and columns, each table can optionally have a + toolbar of seperate command inputs that is shown at the bottom of the table. + + A table command input can conceptually be compared to an Excel table where you + have an infinite number of rows and columns available but use a small portion. + As you add inputs to the table, the table will adjust so all used columns are + visible. The visible number of rows is controlled by you and if you create + more rows than can be displayed a scroll bar becomes available. + + For an example of this command input, see the loft command which uses it to show + the selected profiles and rails. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TableCommandInput: + return TableCommandInput() + def deleteRow(self, row: int) -> bool: """ - Checks if this plane is parallel to another plane. - plane : The plane to compare with for parallelism. - Returns true if the planes are parallel. + Deletes the specified row. The following rows will be shifted up. The row and the + command inputs it contains are deleted. To temporarily hide a row you can set the + visibility of all of the command inputs it contains to be invisible. If all inputs + are invisible the row will automatically be hidden. + row : The row to delete where valid values are 0 to the number of rows minus 1. A value of + 0 will delete the first row. A value greater than the number of rows will delete the + last row. + Returns true if the delete was successful. """ return bool() - def isParallelToLine(self, line: Line3D) -> bool: + def addCommandInput(self, input: CommandInput, row: int, column: int, rowSpan: int = 0, columnSpan: int = 0) -> bool: """ - Checks if this plane is parallel to a line. - line : The line to compare with for parallelism. - Returns true if the plane and line are parallel. + Adds a command input to a particular cell in the table. Rows are automatically added to the table to + able to contain the command input. The command input can span multiple columns within a row and spanning + across multiple rows is not currently supported. + + The command input is created in the standard way but when it's added to the table using this method it + will be displayed in the table instead of the main area of the dialog. + input : The command input to associate to a cell. The command input is created in the standard way but when it's added to + the table using this method it will be displayed in the table instead of the main area of the dialog. + row : The row index of the cell where 0 is the first row. + column : The column index of the cell where 0 is the first column. + rowSpan : The number of additional rows that this input uses. The default value of 0 indicates that no additional + rows are used. Row spanning is not currently supported so this value must always be 0. + columnSpan : The number of additional columns that this input uses. The default value of 0 indicates that no additional + columns are used. + Returns true if the association of the command input to the cell was successful. """ return bool() - def isPerpendicularToPlane(self, plane: Plane) -> bool: + def removeInput(self, row: int, column: int) -> bool: """ - Checks if this plane is perpendicular to another plane. - plane : The plane to compare with for perpendicularity. - Returns true if the planes are perpendicular. + Removes the command input that is at the specified row and column. This doesn't delete the command input from + the collection of inputs associated with the command but just removes it from being displayed in the table. + row : The row where the command input to be removed is located. + column : The row where the command input to be removed is located. + Returns true if the removal was successful. """ return bool() - def isPerpendicularToLine(self, line: Line3D) -> bool: + def getPosition(self, input: CommandInput) -> tuple[bool, int, int, int, int]: """ - Checks if this plane is perpendicular to a line. - line : The line to compare with for perpendicularity. - Returns true if the plane and line are perpendicular. + Gets the position of the specified command input within the table. + input : The existing command input you want to find the associated cell for. + row : The returned row index of the cell. + column : The returned column index of the cell. + rowSpan : The returned number of additional rows used by the input. A value of 0 + indicates that no additional rows are used. + columnSpan : The returned number of additional columns used by the input. A value of 0 + indicates that no additional columns are used. + Returns true if the position was successfully returned. + """ + return (bool(), int(), int(), int(), int()) + def clear(self) -> bool: + """ + Removes all rows in the table and the toolbar. + Returns true if successful. """ return bool() - def isCoPlanarTo(self, plane: Plane) -> bool: + def addToolbarCommandInput(self, input: CommandInput) -> bool: """ - Checks if this plane is coplanar with another plane. - plane : The plane to compare with for co-planarity. - Returns true if the planes are coplanar. + Adds a new command input to the toolbar at the bottom of the table. + input : Adds a command input to the toolbar at the bottom of the table. The inputs are displayed + in the same order that they're added. + + The command input is created in the standard way but when it's added to the table using this method it + will be displayed in the table instead of the main area of the dialog. + Returns true if the command input was successfully added. """ return bool() - def intersectWithPlane(self, plane: Plane) -> InfiniteLine3D: + def getInputAtPosition(self, row: int, column: int) -> CommandInput: """ - Creates an infinite line at the intersection of this plane with another plane. - plane : The plane to intersect with. - Returns an InfiniteLine3D object or null if the planes do not intersect (are parallel). + Returns the command input that is in the specified row and column. In the case + where a command input spans multiple columns, the same input can be returned + from multiple positions. + row : The row index to return the command input from where the first row is 0. + column : The row index to return the command input from where the first row is 0. + Returns the command input that is in the specified row and column. If there + isn't a command input in the specified location, null is returned. """ - return InfiniteLine3D() - def intersectWithLine(self, line: InfiniteLine3D) -> Point3D: + return CommandInput() + @property + def numberOfColumns(self) -> int: """ - Creates a 3D point at the intersection of this plane and a line. - line : The line to intersect with. - Returns a Point3D object or null if the plane and line do not intersect (are parallel). + Returns the current number of visible columns displayed. Setting this property + has no effect because the number of columns is automatically inferred by + the command inputs that have been added to the table. The table automatically + adjusts the number of rows displayed so all inputs can be seen. """ - return Point3D() - def intersectWithCurve(self, curve: Curve3D) -> ObjectCollection: + return int() + @numberOfColumns.setter + def numberOfColumns(self, value: int): """ - Intersect this plane with a curve to get the intersection point(s). - curve : The intersecting curve. - The curve can be a Line3D, InfininteLine3D, Circle3D, Arc3D, EllipticalArc3D, Ellipse3D, - or NurbsCurve3D. - Returns a collection of the intersection points. + Returns the current number of visible columns displayed. Setting this property + has no effect because the number of columns is automatically inferred by + the command inputs that have been added to the table. The table automatically + adjusts the number of rows displayed so all inputs can be seen. """ - return ObjectCollection() - def intersectWithSurface(self, surface: Surface) -> ObjectCollection: + pass + @property + def columnRatio(self) -> str: """ - Intersect this plane with a surface to get the intersection point(s). - surface : The intersecting surface. - The surface can be a Plane, Cone, Cylinder, EllipticalCone, EllipticalCylinder, Sphere, - Torus, or a NurbsSurface. - Returns a collection of the intersection points. + Gets and sets the width ratio of the columns. This is defined using a string + such as "1:1:1" where this defines that the first three columns are all the same width. + A value of "2:1" defines that the first column is twice the width of the second. + + If the table has more columns than are defined by this property, they will automatically + default to a value of 1. If this property defines the width of more columns than are + displayed, the extra definitions are ignored. + + You can also specify 0 as a column width and this will have the effect of hiding + that column. Setting a column width to 0 does not delete the column or the command inputs + but only hides them so they can be turned back on at a later time by resetting the + column ratio. """ - return ObjectCollection() - def copy(self) -> Plane: + return str() + @columnRatio.setter + def columnRatio(self, value: str): """ - Creates and returns an independent copy of this Plane object. - Returns a new Plane object that is a copy of this Plane object. + Gets and sets the width ratio of the columns. This is defined using a string + such as "1:1:1" where this defines that the first three columns are all the same width. + A value of "2:1" defines that the first column is twice the width of the second. + + If the table has more columns than are defined by this property, they will automatically + default to a value of 1. If this property defines the width of more columns than are + displayed, the extra definitions are ignored. + + You can also specify 0 as a column width and this will have the effect of hiding + that column. Setting a column width to 0 does not delete the column or the command inputs + but only hides them so they can be turned back on at a later time by resetting the + column ratio. """ - return Plane() + pass @property - def origin(self) -> Point3D: + def hasGrid(self) -> bool: """ - Gets and sets the origin point of the plane. + Gets and sets whether a grid is displayed for the table. For a newly created + table, this property defaults to false. """ - return Point3D() - @origin.setter - def origin(self, value: Point3D): + return bool() + @hasGrid.setter + def hasGrid(self, value: bool): """ - Gets and sets the origin point of the plane. + Gets and sets whether a grid is displayed for the table. For a newly created + table, this property defaults to false. """ pass @property - def normal(self) -> Vector3D: + def rowSpacing(self) -> int: """ - Gets and sets the normal of the plane. + Gets and sets the spacing between rows. This is defined in pixels. For a newly + created table, this property defaults to 1. """ - return Vector3D() - @normal.setter - def normal(self, value: Vector3D): + return int() + @rowSpacing.setter + def rowSpacing(self, value: int): """ - Gets and sets the normal of the plane. + Gets and sets the spacing between rows. This is defined in pixels. For a newly + created table, this property defaults to 1. """ pass @property - def uDirection(self) -> Vector3D: + def columnSpacing(self) -> int: """ - Gets the U Direction of the plane. + Gets and sets the spacing between columns. This is defined in pixels. For a newly + created table, this property defaults to 1. """ - return Vector3D() - @property - def vDirection(self) -> Vector3D: + return int() + @columnSpacing.setter + def columnSpacing(self, value: int): """ - Gets the V Direction of the plane. + Gets and sets the spacing between columns. This is defined in pixels. For a newly + created table, this property defaults to 1. """ - return Vector3D() - -class RadioButtonGroupCommandInput(CommandInput): - """ - Provides a command input to get the choice from a radio button group from the user. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> RadioButtonGroupCommandInput: - return RadioButtonGroupCommandInput() @property - def listItems(self) -> ListItems: + def minimumVisibleRows(self) -> int: """ - Returns the ListItems object associated with this radio button group. You use this - object to populate and interact with the items in the radio button group. + Gets and sets the minimum number of rows displayed. This is the minimum amount of + space taken up on the command dialog, even if the table doesn't yet contain any + rows. For a newly created table, this property defaults to 2. """ - return ListItems() - @property - def selectedItem(self) -> ListItem: + return int() + @minimumVisibleRows.setter + def minimumVisibleRows(self, value: int): """ - Gets and sets the item in the radio button list that is currently selected. + Gets and sets the minimum number of rows displayed. This is the minimum amount of + space taken up on the command dialog, even if the table doesn't yet contain any + rows. For a newly created table, this property defaults to 2. """ - return ListItem() - -class SATImportOptions(ImportOptions): - """ - Defines that a SAT import is to be done and specifies the various options. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SATImportOptions: - return SATImportOptions() - -class SelectionCommandInput(CommandInput): - """ - Provides a command input to get a selection from the user. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> SelectionCommandInput: - return SelectionCommandInput() - Bodies = "Bodies" - SolidBodies = "SolidBodies" - SurfaceBodies = "SurfaceBodies" - MeshBodies = "MeshBodies" - Faces = "Faces" - SolidFaces = "SolidFaces" - SurfaceFaces = "SurfaceFaces" - PlanarFaces = "PlanarFaces" - CylindricalFaces = "CylindricalFaces" - ConicalFaces = "ConicalFaces" - SphericalFaces = "SphericalFaces" - ToroidalFaces = "ToroidalFaces" - SplineFaces = "SplineFaces" - Edges = "Edges" - LinearEdges = "LinearEdges" - CircularEdges = "CircularEdges" - EllipticalEdges = "EllipticalEdges" - TangentEdges = "TangentEdges" - NonTangentEdges = "NonTangentEdges" - Vertices = "Vertices" - RootComponents = "RootComponents" - Occurrences = "Occurrences" - Sketches = "Sketches" - SketchCurves = "SketchCurves" - SketchLines = "SketchLines" - SketchCircles = "SketchCircles" - SketchPoints = "SketchPoints" - ConstructionPoints = "ConstructionPoints" - ConstructionLines = "ConstructionLines" - ConstructionPlanes = "ConstructionPlanes" - Features = "Features" - Canvases = "Canvases" - Decals = "Decals" - JointOrigins = "JointOrigins" - Joints = "Joints" - SketchConstraints = "SketchConstraints" - Profiles = "Profiles" - Texts = "Texts" - CustomGraphics = "CustomGraphics" - def addSelectionFilter(self, filter: str) -> bool: + @property + def maximumVisibleRows(self) -> int: """ - Adds an additional filter to the existing filter list. - filter : The name of a selection filter to add. The valid list of selection filters can be found here: Selection Filters. - Returns true if the filter was added successfully. + Gets and sets the maximum number of rows that can be displayed. As rows are added + the visible size of the table will grow to show all rows until this maximum number + of rows is reached and then a scroll bar will be displayed to allow the user to + access all rows. For a new created table, this property defaults to 4. """ - return bool() - def clearSelectionFilter(self) -> bool: + return int() + @maximumVisibleRows.setter + def maximumVisibleRows(self, value: int): """ - Clears the list of selection filters. - Returns true if successful. + Gets and sets the maximum number of rows that can be displayed. As rows are added + the visible size of the table will grow to show all rows until this maximum number + of rows is reached and then a scroll bar will be displayed to allow the user to + access all rows. For a new created table, this property defaults to 4. """ - return bool() - def selection(self, index: int) -> Selection: + pass + @property + def tablePresentationStyle(self) -> TablePresentationStyles: """ - Returns the selection at the specified index. - index : The index of the selection to return. - Returns the Selection at the specified index, or null on error. + Gets and sets the presentation style the table is currently using for its display. """ - return Selection() - def addSelection(self, selection: Base) -> bool: + return TablePresentationStyles() + @tablePresentationStyle.setter + def tablePresentationStyle(self, value: TablePresentationStyles): """ - Adds the selection to the list of selections associated with this input. This method is not valid within - the commandCreated event but must be used later in the command lifetime. If you want to pre-populate the - selection when the command is starting, you can use this method in the activate method of the Command. - It's also valid to use in other events once the command is running, such as the validateInputs event. - selection : The entity to add a selection of to this input. The addition may fail if the entity - does not match the selection filter, or adding it would exceed the limits. - Returns true if a selection to the entity was added to this input. + Gets and sets the presentation style the table is currently using for its display. """ - return bool() - def getSelectionLimits(self) -> tuple[bool, int, int]: + pass + @property + def rowCount(self) -> int: """ - Get the limits currently defined for this input. - minimum : The minimum number of selections required. A value of zero means that there is no minimum limit. - maximum : The maximum number of selections required. A value of zero means that there is no maximum limit. - Returns true if the selection limits were successfully returned. + Returns the number of rows in the table. The actual number of rows in the table is defined + by the number of rows that contain command inputs. """ - return (bool(), int(), int()) - def setSelectionLimits(self, minimum: int, maximum: int) -> bool: + return int() + @property + def selectedRow(self) -> int: """ - Defines the limits for the number of selections associated with this input. - A maximum value of 0 indicates that there is no maximum. - minimum : The minimum number of selections required. A value of zero means that there is no minimum limit. - maximum : The maximum number of selections required. A value of zero means that there is no maximum limit. - If maximum is equal to minimum, then exactly that number of selections is required. - Returns true if the limits were successfully set. + Gets and sets which row is selected in the user-interface. A value of 0 indicates + that the first row is selected. A value of -1 indicates that no row is selected. """ - return bool() - def clearSelection(self) -> bool: + return int() + @selectedRow.setter + def selectedRow(self, value: int): """ - Clears the current selection so no entities are in the selection. - Returns true if successful. + Gets and sets which row is selected in the user-interface. A value of 0 indicates + that the first row is selected. A value of -1 indicates that no row is selected. """ - return bool() + pass + +class TextBoxCommandInput(CommandInput): + """ + Provides a command input to interact with a text box. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TextBoxCommandInput: + return TextBoxCommandInput() @property - def commandPrompt(self) -> str: + def formattedText(self) -> str: """ - Gets or sets the tooltip shown next to the cursor. + Gets and sets the formatted text displayed in the dialog. """ return str() - @commandPrompt.setter - def commandPrompt(self, value: str): + @formattedText.setter + def formattedText(self, value: str): """ - Gets or sets the tooltip shown next to the cursor. + Gets and sets the formatted text displayed in the dialog. """ pass @property - def selectionFilters(self) -> list[str]: + def text(self) -> str: """ - Gets or sets the list of selection filters. The valid list of selection filters can be found here: Selection Filters. + + Gets and sets the text in the text box. When text is set using the text property, any HTML formatting is + ignored and the full string will be displayed in the text box. For example, if you specify the string + "Here is a <b>Bold</b> word", and use the formattedText property, you will see "Here is a Bold word" in + the text box. However, if you use the text property, you will see "Here is a <b>Bold</b> word" and when you + get the text property you will get back "Here is a <b>Bold</b> word". This can be useful if you're using + the text box to have the user enter HTML code so it's treated as a simple string. + """ - return [str()] - @selectionFilters.setter - def selectionFilters(self, value: list[str]): + return str() + @text.setter + def text(self, value: str): """ - Gets or sets the list of selection filters. The valid list of selection filters can be found here: Selection Filters. + + Gets and sets the text in the text box. When text is set using the text property, any HTML formatting is + ignored and the full string will be displayed in the text box. For example, if you specify the string + "Here is a <b>Bold</b> word", and use the formattedText property, you will see "Here is a Bold word" in + the text box. However, if you use the text property, you will see "Here is a <b>Bold</b> word" and when you + get the text property you will get back "Here is a <b>Bold</b> word". This can be useful if you're using + the text box to have the user enter HTML code so it's treated as a simple string. + """ pass @property - def selectionCount(self) -> int: + def numRows(self) -> int: """ - Gets the current number of selections the user has made for this input. + Gets and sets the height of the text box as defined by the number of rows of + text that can be displayed. If the text is larger than will fit in the box + a scroll bar will automatically be displayed. """ return int() + @numRows.setter + def numRows(self, value: int): + """ + Gets and sets the height of the text box as defined by the number of rows of + text that can be displayed. If the text is larger than will fit in the box + a scroll bar will automatically be displayed. + """ + pass @property - def hasFocus(self) -> bool: + def isReadOnly(self) -> bool: """ - Gets and sets if this selection input has focus with respect to other selection inputs on the - command dialog. Only one selection input on a dialog can have focus at a time so setting hasFocus to true - will remove the focus from the selection input that previously had focus. When a selection input - has focus, any user selections will be added to that selection input and the selection rules associated - with that selection input will apply. + Gets and sets if the text box is read-only or not. If it is read-only the user + cannot edit the text. """ return bool() - @hasFocus.setter - def hasFocus(self, value: bool): + @isReadOnly.setter + def isReadOnly(self, value: bool): """ - Gets and sets if this selection input has focus with respect to other selection inputs on the - command dialog. Only one selection input on a dialog can have focus at a time so setting hasFocus to true - will remove the focus from the selection input that previously had focus. When a selection input - has focus, any user selections will be added to that selection input and the selection rules associated - with that selection input will apply. + Gets and sets if the text box is read-only or not. If it is read-only the user + cannot edit the text. """ pass -class SelectionEvent(Event): +class TextCommandPalette(Palette): """ - An event endpoint that supports the connection to client implemented SelectionEventHandlers. + Represents the palette that is the Text Command window in Fusion 360. """ def __init__(self): pass @staticmethod - def cast(arg) -> SelectionEvent: - return SelectionEvent() - def add(self, handler: SelectionEventHandler) -> bool: + def cast(arg) -> TextCommandPalette: + return TextCommandPalette() + def writeText(self, text: str) -> bool: """ - Adds an event handler to this event endpoint. - handler : The client implemented SelectionEventHandler to be called when this event is triggered. - Returns true if the handler was successfully added to the set of event handlers. + Write the specified text to the TEXT COMMAND window. + text : The text to write to the Text Command window. + Returns true if successful. """ return bool() - def remove(self, handler: SelectionEventHandler) -> bool: + +class TextureMapControl3D(TextureMapControl): + """ + Provides access to the various settings that control how a 3D texture is applied to a body. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TextureMapControl3D: + return TextureMapControl3D() + def bestFit(self) -> bool: """ - Removes a handler from this event endpoint. - handler : A SelectionEventHandler that was previously added to this event with the add method. - Returns true if the handler was found and removed from the set of event handlers. + Reorients the transform to best fit the geometry of the body. + Returns true if the best fit was successful. """ return bool() @property - def activeInput(self) -> SelectionCommandInput: + def transform(self) -> Matrix3D: """ - Returns the SelectionCommandInput that is currently active in the command dialog and - that the user is selecting entities for. This can be used to determine which set of - rules you want to apply to determine if the current entity is selectable or not. + Gets and sets the transform that defines the position and orientation of how the texture + is applied to the body. For wood grain, the Z direction of the defined coordinate system is + the direction of the grain. """ - return SelectionCommandInput() + return Matrix3D() + @transform.setter + def transform(self, value: Matrix3D): + """ + Gets and sets the transform that defines the position and orientation of how the texture + is applied to the body. For wood grain, the Z direction of the defined coordinate system is + the direction of the grain. + """ + pass -class SelectionEventArgs(EventArgs): +class Torus(Surface): """ - Provides a set of arguments from a firing SelectionEvent to a SelectionEventHandler's notify callback method. + Transient torus. A transient torus is not displayed or saved in a document. + A transient torus is used as a wrapper to work with raw torus information. + A transient torus is a full torus with no boundaries. + They are created statically using the create method of the Torus class. """ def __init__(self): pass @staticmethod - def cast(arg) -> SelectionEventArgs: - return SelectionEventArgs() + def cast(arg) -> Torus: + return Torus() + @staticmethod + def create(origin: Point3D, axis: Vector3D, majorRadius: float, minorRadius: float) -> Torus: + """ + Creates a transient torus object. + origin : The origin point (center) of the torus. + axis : The center axis of the torus. + majorRadius : The major radius of the torus. + minorRadius : The minor radius of the torus. + Returns the new Torus object or null if the creation failed. + """ + return Torus() + def getData(self) -> tuple[bool, Point3D, Vector3D, float, float]: + """ + Gets all of the data defining the torus. + origin : The output origin point (center) of the torus. + axis : The output center axis of the torus. + majorRadius : The output major radius of the torus. + minorRadius : The output minor radius of the torus. + Returns true if successful. + """ + return (bool(), Point3D(), Vector3D(), float(), float()) + def set(self, origin: Point3D, axis: Vector3D, majorRadius: float, minorRadius: float) -> bool: + """ + Sets all of the data defining the torus. + origin : The origin point (center) of the torus. + axis : The center axis of the torus. + majorRadius : The major radius of the torus. + minorRadius : The minor radius of the torus. + Returns true if successful. + """ + return bool() + def copy(self) -> Torus: + """ + Creates and returns an independent copy of this Torus object. + Returns a new Torus object that is a copy of this Torus object. + """ + return Torus() @property - def selection(self) -> Selection: + def origin(self) -> Point3D: """ - Gets the entity that is valid for selection. + Gets and sets the origin point (center) of the torus. """ - return Selection() + return Point3D() + @origin.setter + def origin(self, value: Point3D): + """ + Gets and sets the origin point (center) of the torus. + """ + pass @property - def isSelectable(self) -> bool: + def axis(self) -> Vector3D: """ - Gets or sets whether this entity should be made available to be selected. - The value is initialized to true, so doing nothing will result - in the entity being selectable. + Gets and sets the center axis of the torus. """ - return bool() - @isSelectable.setter - def isSelectable(self, value: bool): + return Vector3D() + @axis.setter + def axis(self, value: Vector3D): """ - Gets or sets whether this entity should be made available to be selected. - The value is initialized to true, so doing nothing will result - in the entity being selectable. + Gets and sets the center axis of the torus. """ pass @property - def additionalEntities(self) -> ObjectCollection: + def majorRadius(self) -> float: """ - Gets or sets any additional entities that should be pre-highlighted and selected - if the entity the mouse is over is selected. If you add an entity that is already - selected, it will be unselected. The result of adding additional entities is the - same as if they were selected one at a time by the user and the user can unselect each - entity one at a time by picking it while it's selected. - - An example of how this might be used is that the user can select a group of - tangentially connected edges by picking a single edge. You can use the - BrepEdge.tangentiallyConnectedEdges to easily find the tangent edges and add them - to the set of additional entities to be selected. These edges are pre-highlighted - and then selected. - - If you are using this property you need to make sure that the selection - limits for the SelectionCommandInput have been set appropriately. For example, a - newly created SeletionCommandInput is set to only allow the selection of a single - entity. By adding additional entities you'll need more than one entity because the - entire set of entities will be added to the selection. Use the setSelectionLimits - method of the SelectionCommandInput to change the number of allowed selections. - - The additional entities should all be valid based on the current selection filter. + Gets and sets the major radius of the torus. """ - return ObjectCollection() - @additionalEntities.setter - def additionalEntities(self, value: ObjectCollection): + return float() + @majorRadius.setter + def majorRadius(self, value: float): """ - Gets or sets any additional entities that should be pre-highlighted and selected - if the entity the mouse is over is selected. If you add an entity that is already - selected, it will be unselected. The result of adding additional entities is the - same as if they were selected one at a time by the user and the user can unselect each - entity one at a time by picking it while it's selected. - - An example of how this might be used is that the user can select a group of - tangentially connected edges by picking a single edge. You can use the - BrepEdge.tangentiallyConnectedEdges to easily find the tangent edges and add them - to the set of additional entities to be selected. These edges are pre-highlighted - and then selected. - - If you are using this property you need to make sure that the selection - limits for the SelectionCommandInput have been set appropriately. For example, a - newly created SeletionCommandInput is set to only allow the selection of a single - entity. By adding additional entities you'll need more than one entity because the - entire set of entities will be added to the selection. Use the setSelectionLimits - method of the SelectionCommandInput to change the number of allowed selections. - - The additional entities should all be valid based on the current selection filter. + Gets and sets the major radius of the torus. """ pass @property - def activeInput(self) -> SelectionCommandInput: + def minorRadius(self) -> float: """ - Returns the SelectionCommandInput that is currently active in the command dialog and - that the user is selecting entities for. This can be used to determine which set of - rules you want to apply to determine if the current entity is selectable or not. + Gets and sets the minor radius of the torus. + """ + return float() + @minorRadius.setter + def minorRadius(self, value: float): + """ + Gets and sets the minor radius of the torus. """ - return SelectionCommandInput() - -class SeparatorControl(ToolbarControl): - """ - Represents a separator within a panel, toolbar, or drop-down control. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> SeparatorControl: - return SeparatorControl() -class SliderCommandInput(CommandInput): +class TriadCommandInput(CommandInput): """ - Provides a command input to get the value of a slider from the user. + Represents a command input that displays a triad and allows the user to control translation + rotation, and scaling. Using properties on the input you can choose which controls are available + to the user. This displays inputs in the command dialog where the user can enter values and also + displays a manipulator in the graphics window to allow them to graphically set the values. The + input boxes are displayed in the dialog when the isVisible property of the command input is true. + The manipulator is displayed in the graphics window when both the isVisible and isEnabled properties + are true. + + It will often be useful to first create a GroupCommandInput and then create the TriadCommandInput within the group so + it's apparent to the user these items are related and they can be collapsed to reduce clutter in the dialog. This also + allows you to label the set of displayed inputs by using the name of the GroupCommandInput. """ def __init__(self): pass @staticmethod - def cast(arg) -> SliderCommandInput: - return SliderCommandInput() - def setText(self, left: str, right: str) -> bool: + def cast(arg) -> TriadCommandInput: + return TriadCommandInput() + def setTranslateVisibility(self, isVisible: bool) -> bool: """ - Sets the text of the slider. Both the left and the right text should be set. - left : Indicates the text on the left side of the slider. - right : Indicates the text on the right side of the slider. - Returns true if successful. + A convenience method to turn on and off the visibility of the X, Y, and Z + translation controls. + isVisible : Defines if the visibility of the controls should be turned on or off. True + indicates they will be visible. + Returns true if it was successful. """ return bool() - def getText(self, isLeft: bool) -> str: + def setPlanarMoveVisibility(self, isVisible: bool) -> bool: """ - Gets the texts of the slider if text has been defined. - isLeft : Indicates to get the left or right text. - Returns the left or right text of the slider. + A convenience method to turn on and off the visibility of the X-Y, Y-Z, and Z-X planar + translation controls. + isVisible : Defines if the visibility of the controls should be turned on or off. True + indicates they will be visible. + Returns true if it was successful. """ - return str() + return bool() + def setRotateVisibility(self, isVisible: bool) -> bool: + """ + A convenience method to turn on and off the visibility of the X, Y, and Z + axis rotation controls. + isVisible : Defines if the visibility of the controls should be turned on or off. True + indicates they will be visible. + Returns true if it was successful. + """ + return bool() + def setScaleVisibility(self, isVisible: bool) -> bool: + """ + A convenience method to turn on and off the visibility of the controls that + define scaling in the X, Y, and Z direction and the X-Y, Y-Z, and Z-X planes. + isVisible : Defines if the visibility of the controls should be turned on or off. True + indicates they will be visible. + Returns true if it was successful. + """ + return bool() + def setFlipVisibility(self, isVisible: bool) -> bool: + """ + A convenience method to turn on and off the visibility of the horizontal + and vertical flip controls. + isVisible : Defines if the visibility of the controls should be turned on or off. True + indicates they will be visible. + Returns true if it was successful. + """ + return bool() + def setFullVisibility(self, isVisible: bool) -> bool: + """ + A convenience method to turn on and off the visibility of commonly used + controls in a triad. These include the X, Y, and Z axis translations, the + X, Y, and Z axis rotations, scaling in the X, Y, and Z directions, scaling + on the X-Y, Y-Z and Z-X planes, translation on the X-Y, Y-Z, and Z-X planes, + and the origin move. + isVisible : Defines if the visibility of the controls should be turned on or off. True + indicates they will be visible. + Returns true if it was successful. + """ + return bool() + def hideAll(self) -> bool: + """ + Hides all controls. + Returns true if hiding the controls was successful. + """ + return bool() + def hideAllRotations(self) -> bool: + """ + Sets all rotation related controls to be invisible. This is useful if you are only + using translations or scaling. + Returns true if hiding the controls was successful. + """ + return bool() + def hideAllScaling(self) -> bool: + """ + Sets all scaling related controls to be invisible. This is useful if you are only + using translations or rotations. + Returns true if hiding the controls was successful. + """ + return bool() @property - def expressionOne(self) -> str: + def isOriginTranslationVisible(self) -> bool: """ - Uses an expression to set the value in the first input field. This can contain equations and - is evaluated using the specified unit type. + Gets and sets if the control that supports translation in the X, Y, and Z directions + is visible in both the graphical manipulator and in the dialog. In the manipulator, + this is the large dot at the origin or the triad. """ - return str() - @expressionOne.setter - def expressionOne(self, value: str): + return bool() + @isOriginTranslationVisible.setter + def isOriginTranslationVisible(self, value: bool): """ - Uses an expression to set the value in the first input field. This can contain equations and - is evaluated using the specified unit type. + Gets and sets if the control that supports translation in the X, Y, and Z directions + is visible in both the graphical manipulator and in the dialog. In the manipulator, + this is the large dot at the origin or the triad. """ pass @property - def expressionTwo(self) -> str: + def isXTranslationVisible(self) -> bool: """ - Uses an expression to set the value in the second input field. This can contain equations and - is evaluated using the specified unit type. - - This property is only available when the hasTwoSliders property returns true. + Gets and sets if the control that supports X Translation is visible in both the + graphical manipulator and in the dialog. """ - return str() - @expressionTwo.setter - def expressionTwo(self, value: str): + return bool() + @isXTranslationVisible.setter + def isXTranslationVisible(self, value: bool): """ - Uses an expression to set the value in the second input field. This can contain equations and - is evaluated using the specified unit type. - - This property is only available when the hasTwoSliders property returns true. + Gets and sets if the control that supports X Translation is visible in both the + graphical manipulator and in the dialog. """ pass @property - def unitType(self) -> str: + def isYTranslationVisible(self) -> bool: """ - Gets and sets the unit type that is used when evaluating the user's input. + Gets and sets if the control that defines the Y Translation is visible in both the + graphical manipulator and in the dialog. """ - return str() - @unitType.setter - def unitType(self, value: str): + return bool() + @isYTranslationVisible.setter + def isYTranslationVisible(self, value: bool): """ - Gets and sets the unit type that is used when evaluating the user's input. + Gets and sets if the control that defines the Y Translation is visible in both the + graphical manipulator and in the dialog. """ pass @property - def hasTwoSliders(self) -> bool: + def isZTranslationVisible(self) -> bool: """ - Gets if the command input has two sliders. + Gets and sets if the control that defines the Z Translation is visible in both the + graphical manipulator and in the dialog. """ return bool() - -class SMTImportOptions(ImportOptions): - """ - Defines that an SMT import is to be done and specifies the various options. - """ - def __init__(self): + @isZTranslationVisible.setter + def isZTranslationVisible(self, value: bool): + """ + Gets and sets if the control that defines the Z Translation is visible in both the + graphical manipulator and in the dialog. + """ pass - @staticmethod - def cast(arg) -> SMTImportOptions: - return SMTImportOptions() - -class Sphere(Surface): - """ - Transient sphere. A transient sphere is not displayed or saved in a document. - Transient spheres are used as a wrapper to work with raw sphere information. - A transient sphere is a full sphere defined by a point and a radius. - They are created statically using the create method of the Sphere class. - """ - def __init__(self): + @property + def isXYPlaneTranslationVisible(self) -> bool: + """ + Gets and sets if the control that defines the translation in the X-Y plane is + visible in both the graphical manipulator and in the dialog. + """ + return bool() + @isXYPlaneTranslationVisible.setter + def isXYPlaneTranslationVisible(self, value: bool): + """ + Gets and sets if the control that defines the translation in the X-Y plane is + visible in both the graphical manipulator and in the dialog. + """ pass - @staticmethod - def cast(arg) -> Sphere: - return Sphere() - @staticmethod - def create(origin: Point3D, radius: float) -> Sphere: + @property + def isXZPlaneTranslationVisible(self) -> bool: """ - Creates a transient sphere object. - origin : The origin point (center) of the sphere. - radius : The radius of the sphere. - Returns the new Sphere object or null if the creation failed. + Gets and sets if the control that defines the translation in the X-Z plane is + visible in both the graphical manipulator and in the dialog. """ - return Sphere() - def getData(self) -> tuple[bool, Point3D, float]: + return bool() + @isXZPlaneTranslationVisible.setter + def isXZPlaneTranslationVisible(self, value: bool): """ - Gets all of the data defining the sphere. - origin : The output origin point (center) of the sphere. - radius : The output radius of the sphere. - Returns true if successful. + Gets and sets if the control that defines the translation in the X-Z plane is + visible in both the graphical manipulator and in the dialog. """ - return (bool(), Point3D(), float()) - def set(self, origin: Point3D, radius: float) -> bool: + pass + @property + def isYZPlaneTranslationVisible(self) -> bool: """ - Sets all of the data defining the sphere. - origin : The origin point (center) of the sphere. - radius : The radius of the sphere. - Returns true if successful. + Gets and sets if the control that defines the translation in the Y-Z plane is + visible in both the graphical manipulator and in the dialog. """ return bool() - def copy(self) -> Sphere: + @isYZPlaneTranslationVisible.setter + def isYZPlaneTranslationVisible(self, value: bool): """ - Creates and returns an independent copy of this Sphere object. - Returns a new Sphere object that is a copy of this Sphere object. + Gets and sets if the control that defines the translation in the Y-Z plane is + visible in both the graphical manipulator and in the dialog. """ - return Sphere() + pass @property - def origin(self) -> Point3D: + def isXRotationVisible(self) -> bool: """ - Gets and sets the origin point (center) of the sphere. + Gets and sets if the control that defines the rotation around the + X axis is visible in both the graphical manipulator and in the dialog. """ - return Point3D() - @origin.setter - def origin(self, value: Point3D): + return bool() + @isXRotationVisible.setter + def isXRotationVisible(self, value: bool): """ - Gets and sets the origin point (center) of the sphere. + Gets and sets if the control that defines the rotation around the + X axis is visible in both the graphical manipulator and in the dialog. """ pass @property - def radius(self) -> float: + def isYRotationVisible(self) -> bool: """ - Gets and sets the radius of the sphere. + Gets and sets if the control that defines the rotation around the + Y axis is visible in both the graphical manipulator and in the dialog. """ - return float() - @radius.setter - def radius(self, value: float): + return bool() + @isYRotationVisible.setter + def isYRotationVisible(self, value: bool): """ - Gets and sets the radius of the sphere. + Gets and sets if the control that defines the rotation around the + Y axis is visible in both the graphical manipulator and in the dialog. """ pass - -class SplitButtonControl(ToolbarControl): - """ - A split button has two active areas that the user can click; - the main button portion and the drop-down arrow. Clicking the main button, executes the displayed command. - Clicking the drop-down displays the drop-down with additional commands. - """ - def __init__(self): + @property + def isZRotationVisible(self) -> bool: + """ + Gets and sets if the control that defines the rotation around the + Z axis is visible in both the graphical manipulator and in the dialog. + """ + return bool() + @isZRotationVisible.setter + def isZRotationVisible(self, value: bool): + """ + Gets and sets if the control that defines the rotation around the + Z axis is visible in both the graphical manipulator and in the dialog. + """ pass - @staticmethod - def cast(arg) -> SplitButtonControl: - return SplitButtonControl() @property - def defaultCommandDefinition(self) -> CommandDefinition: + def isXScalingInXYVisible(self) -> bool: """ - Gets the command definition that is used as the default command on the main portion of the split button. + Gets and sets if the control that defines the scaling along the + X axis is visible in both the graphical manipulator and in the dialog. + This control lies on the X-Y plane of the triad. """ - return CommandDefinition() + return bool() + @isXScalingInXYVisible.setter + def isXScalingInXYVisible(self, value: bool): + """ + Gets and sets if the control that defines the scaling along the + X axis is visible in both the graphical manipulator and in the dialog. + This control lies on the X-Y plane of the triad. + """ + pass @property - def isLastUsedShown(self) -> bool: + def isXScalingInXZVisible(self) -> bool: """ - Gets if this button behaves where the last executed command becomes the command on the main portion of the split button. + Gets and sets if the control that defines the scaling along the + X axis is visible in both the graphical manipulator and in the dialog. + This control lies on the X-Z plane of the triad. """ return bool() + @isXScalingInXZVisible.setter + def isXScalingInXZVisible(self, value: bool): + """ + Gets and sets if the control that defines the scaling along the + X axis is visible in both the graphical manipulator and in the dialog. + This control lies on the X-Z plane of the triad. + """ + pass @property - def additionalDefinitions(self) -> list[CommandDefinition]: + def isYScalingInXYVisible(self) -> bool: """ - Gets or sets the command definitions used to define the buttons associated with the split button. + Gets and sets if the control that defines the scaling along the + Y axis is visible in both the graphical manipulator and in the dialog. + This control lies on the X-Y plane of the triad. """ - return [CommandDefinition()] - @additionalDefinitions.setter - def additionalDefinitions(self, value: list[CommandDefinition]): + return bool() + @isYScalingInXYVisible.setter + def isYScalingInXYVisible(self, value: bool): """ - Gets or sets the command definitions used to define the buttons associated with the split button. + Gets and sets if the control that defines the scaling along the + Y axis is visible in both the graphical manipulator and in the dialog. + This control lies on the X-Y plane of the triad. """ pass - -class STEPImportOptions(ImportOptions): - """ - Defines that a STEP import is to be done and specifies the various options. - """ - def __init__(self): + @property + def isYScalingInYZVisible(self) -> bool: + """ + Gets and sets if the control that defines the scaling along the + Y axis is visible in both the graphical manipulator and in the dialog. + This control lies on the Y-Z plane of the triad. + """ + return bool() + @isYScalingInYZVisible.setter + def isYScalingInYZVisible(self, value: bool): + """ + Gets and sets if the control that defines the scaling along the + Y axis is visible in both the graphical manipulator and in the dialog. + This control lies on the Y-Z plane of the triad. + """ pass - @staticmethod - def cast(arg) -> STEPImportOptions: - return STEPImportOptions() - -class StringProperty(Property): - """ - A string value property associated with a material or appearance. - """ - def __init__(self): + @property + def isZScalingInXZVisible(self) -> bool: + """ + Gets and sets if the control that defines the scaling along the + Z axis is visible in both the graphical manipulator and in the dialog. + This control lies on the X-Z plane of the triad. + """ + return bool() + @isZScalingInXZVisible.setter + def isZScalingInXZVisible(self, value: bool): + """ + Gets and sets if the control that defines the scaling along the + Z axis is visible in both the graphical manipulator and in the dialog. + This control lies on the X-Z plane of the triad. + """ pass - @staticmethod - def cast(arg) -> StringProperty: - return StringProperty() @property - def value(self) -> str: + def isZScalingInYZVisible(self) -> bool: """ - Gets and sets the property value. + Gets and sets if the control that defines the scaling along the + Z axis is visible in both the graphical manipulator and in the dialog. + This control lies on the Y-Z plane of the triad. """ - return str() - @value.setter - def value(self, value: str): + return bool() + @isZScalingInYZVisible.setter + def isZScalingInYZVisible(self, value: bool): """ - Gets and sets the property value. + Gets and sets if the control that defines the scaling along the + Z axis is visible in both the graphical manipulator and in the dialog. + This control lies on the Y-Z plane of the triad. """ pass - -class StringValueCommandInput(CommandInput): - """ - Provides a command input to get a string value from the user. - """ - def __init__(self): + @property + def isXYPlaneScalingVisible(self) -> bool: + """ + Gets and sets if the control that defines the scaling in the X-Y plane is + visible in both the graphical manipulator and in the dialog. + """ + return bool() + @isXYPlaneScalingVisible.setter + def isXYPlaneScalingVisible(self, value: bool): + """ + Gets and sets if the control that defines the scaling in the X-Y plane is + visible in both the graphical manipulator and in the dialog. + """ pass - @staticmethod - def cast(arg) -> StringValueCommandInput: - return StringValueCommandInput() @property - def value(self) -> str: + def isXZPlaneScalingVisible(self) -> bool: """ - Gets or sets the value of this input. + Gets and sets if the control that defines the scaling in the X-Z plane is + visible in both the graphical manipulator and in the dialog. """ - return str() - @value.setter - def value(self, value: str): + return bool() + @isXZPlaneScalingVisible.setter + def isXZPlaneScalingVisible(self, value: bool): """ - Gets or sets the value of this input. + Gets and sets if the control that defines the scaling in the X-Z plane is + visible in both the graphical manipulator and in the dialog. """ pass @property - def isPassword(self) -> bool: + def isYZPlaneScalingVisible(self) -> bool: """ - Gets or sets if this string input behaves as a password field. - This defaults to false for a newly created StringValueCommandInput. - If true, dots are displayed instead of the actual characters but - the value property will get and set the actual string. + Gets and sets if the control that defines the scaling in the Y-Z plane is + visible in both the graphical manipulator and in the dialog. """ return bool() - @isPassword.setter - def isPassword(self, value: bool): + @isYZPlaneScalingVisible.setter + def isYZPlaneScalingVisible(self, value: bool): """ - Gets or sets if this string input behaves as a password field. - This defaults to false for a newly created StringValueCommandInput. - If true, dots are displayed instead of the actual characters but - the value property will get and set the actual string. + Gets and sets if the control that defines the scaling in the Y-Z plane is + visible in both the graphical manipulator and in the dialog. """ pass @property - def isReadOnly(self) -> bool: + def isUnifiedScalingVisible(self) -> bool: """ - Gets and sets if the string value is read-only or not. If it is read-only the user - cannot edit the text. This property is initialized to False for a newly created - StringValueCommandInput object. + Gets and sets if the control that defines the scaling in all directions + visible in both the graphical manipulator and in the dialog. """ return bool() - @isReadOnly.setter - def isReadOnly(self, value: bool): + @isUnifiedScalingVisible.setter + def isUnifiedScalingVisible(self, value: bool): """ - Gets and sets if the string value is read-only or not. If it is read-only the user - cannot edit the text. This property is initialized to False for a newly created - StringValueCommandInput object. + Gets and sets if the control that defines the scaling in all directions + visible in both the graphical manipulator and in the dialog. """ pass @property - def isValueError(self) -> bool: + def isHorizontalFlipVisible(self) -> bool: """ - Specifies if the current value shown is valid or not. Any string is valid for a - StringValueCommandInput, but you many have some criteria that the string needs - to meet for it to be valid in your application. You use the command's validateInputs - event to verify that inputs are valid and control whether the "OK" button is enabled - or not, and you can also set this property on specific StringValueCommandInputs objects - to indicate to the user that a specific value is not correct. When this property is - true, Fusion 360 will change the color of the text to red to indicate to the user there is - a problem. + Gets and sets if the control that lets the user flip horizontally (around the Y-Z plane of the triad) + is visible in both the graphical manipulator and the dialog. """ return bool() - @isValueError.setter - def isValueError(self, value: bool): + @isHorizontalFlipVisible.setter + def isHorizontalFlipVisible(self, value: bool): """ - Specifies if the current value shown is valid or not. Any string is valid for a - StringValueCommandInput, but you many have some criteria that the string needs - to meet for it to be valid in your application. You use the command's validateInputs - event to verify that inputs are valid and control whether the "OK" button is enabled - or not, and you can also set this property on specific StringValueCommandInputs objects - to indicate to the user that a specific value is not correct. When this property is - true, Fusion 360 will change the color of the text to red to indicate to the user there is - a problem. + Gets and sets if the control that lets the user flip horizontally (around the Y-Z plane of the triad) + is visible in both the graphical manipulator and the dialog. """ pass - -class TabCommandInput(CommandInput): - """ - Tab command inputs contain a set of command inputs and/or group command inputs/ - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> TabCommandInput: - return TabCommandInput() - def activate(self) -> bool: + @property + def isVerticalFlipVisible(self) -> bool: """ - Sets this to be the currently activated (selected) tab. - Returns true if the TabCommandInput was successfully activated. + Gets and sets if the control that lets the user flip vertical (around the X-Z plane of the triad) + is visible in both the graphical manipulator and the dialog. """ return bool() + @isVerticalFlipVisible.setter + def isVerticalFlipVisible(self, value: bool): + """ + Gets and sets if the control that lets the user flip vertical (around the X-Z plane of the triad) + is visible in both the graphical manipulator and the dialog. + """ + pass @property - def children(self) -> CommandInputs: + def xTranslation(self) -> float: """ - Gets the CommandInputs collection for this TabCommandInput. - Use the add methods on this collection to add child CommandInputs to this Tab in the desired order. + Gets and sets the current value of the translation along the X axis of the triad. + The value is in centimeters but will be displayed to the user in default units for the design. + + The isValidExpressions property should be checked before using the returned value. """ - return CommandInputs() + return float() + @xTranslation.setter + def xTranslation(self, value: float): + """ + Gets and sets the current value of the translation along the X axis of the triad. + The value is in centimeters but will be displayed to the user in default units for the design. + + The isValidExpressions property should be checked before using the returned value. + """ + pass @property - def resourceFolder(self) -> str: + def xTranslationExpression(self) -> str: """ - Gets the folder that contains the image for the tab. If no name is specified (no text on tab), - a resourceFolder containing the image to appear on the tab needs to be provided. + Gets or sets the expression displayed in the input field for the X translation. This can contain + equations and references to parameters but must result in a valid distance expression. If units + are not specified as part of the expression, the default user units of length are used. """ return str() + @xTranslationExpression.setter + def xTranslationExpression(self, value: str): + """ + Gets or sets the expression displayed in the input field for the X translation. This can contain + equations and references to parameters but must result in a valid distance expression. If units + are not specified as part of the expression, the default user units of length are used. + """ + pass @property - def isActive(self) -> bool: + def yTranslation(self) -> float: """ - Gets if this is the currently activated (selected) tab. + Gets and sets the current value of the translation along the Y axis of the triad. + The value is in centimeters but will be displayed to the user in default units for the design. + + The isValidExpressions property should be checked before using the value within the command. + """ + return float() + @yTranslation.setter + def yTranslation(self, value: float): + """ + Gets and sets the current value of the translation along the Y axis of the triad. + The value is in centimeters but will be displayed to the user in default units for the design. + + The isValidExpressions property should be checked before using the value within the command. """ - return bool() - -class TableCommandInput(CommandInput): - """ - Represents a table within a command dialog. The table consists of - rows and columns where each cell can contain another command input. The - selection and button row command inputs cannot be used within a table. - In addition to the rows and columns, each table can optionally have a - toolbar of seperate command inputs that is shown at the bottom of the table. - - A table command input can conceptually be compared to an Excel table where you - have an infinite number of rows and columns available but use a small portion. - As you add inputs to the table, the table will adjust so all used columns are - visible. The visible number of rows is controlled by you and if you create - more rows than can be displayed a scroll bar becomes available. - - For an example of this command input, see the loft command which uses it to show - the selected profiles and rails. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> TableCommandInput: - return TableCommandInput() - def deleteRow(self, row: int) -> bool: + @property + def yTranslationExpression(self) -> str: """ - Deletes the specified row. The following rows will be shifted up. The row and the - command inputs it contains are deleted. To temporarily hide a row you can set the - visibility of all of the command inputs it contains to be invisible. If all inputs - are invisible the row will automatically be hidden. - row : The row to delete where valid values are 0 to the number of rows minus 1. A value of - 0 will delete the first row. A value greater than the number of rows will delete the - last row. - Returns true if the delete was successful. + Gets or sets the expression displayed in the input field for the Y translation. This can contain + equations and references to parameters but must result in a valid distance expression. If units + are not specified as part of the expression, the default user units of length are used. """ - return bool() - def addCommandInput(self, input: CommandInput, row: int, column: int, rowSpan: int, columnSpan: int) -> bool: + return str() + @yTranslationExpression.setter + def yTranslationExpression(self, value: str): """ - Adds a command input to a particular cell in the table. Rows are automatically added to the table to - able to contain the command input. The command input can span multiple columns within a row and spanning - across multiple rows is not currently supported. + Gets or sets the expression displayed in the input field for the Y translation. This can contain + equations and references to parameters but must result in a valid distance expression. If units + are not specified as part of the expression, the default user units of length are used. + """ + pass + @property + def zTranslation(self) -> float: + """ + Gets and sets the current value of the translation along the Z axis of the triad. + The value is in centimeters but will be displayed to the user in default units for the design. - The command input is created in the standard way but when it's added to the table using this method it - will be displayed in the table instead of the main area of the dialog. - input : The command input to associate to a cell. The command input is created in the standard way but when it's added to - the table using this method it will be displayed in the table instead of the main area of the dialog. - row : The row index of the cell where 0 is the first row. - column : The column index of the cell where 0 is the first column. - rowSpan : The number of additional rows that this input uses. The default value of 0 indicates that no additional - rows are used. Row spanning is not currently supported so this value must always be 0. - columnSpan : The number of additional columns that this input uses. The default value of 0 indicates that no additional - columns are used. - Returns true if the association of the command input to the cell was successful. + The isValidExpressions property should be checked before using the value within the command. """ - return bool() - def removeInput(self, row: int, column: int) -> bool: + return float() + @zTranslation.setter + def zTranslation(self, value: float): """ - Removes the command input that is at the specified row and column. This doesn't delete the command input from - the collection of inputs associated with the command but just removes it from being displayed in the table. - row : The row where the command input to be removed is located. - column : The row where the command input to be removed is located. - Returns true if the removal was successful. + Gets and sets the current value of the translation along the Z axis of the triad. + The value is in centimeters but will be displayed to the user in default units for the design. + + The isValidExpressions property should be checked before using the value within the command. """ - return bool() - def getPosition(self, input: CommandInput) -> tuple[bool, int, int, int, int]: + pass + @property + def zTranslationExpression(self) -> str: """ - Gets the position of the specified command input within the table. - input : The existing command input you want to find the associated cell for. - row : The returned row index of the cell. - column : The returned column index of the cell. - rowSpan : The returned number of additional rows used by the input. A value of 0 - indicates that no additional rows are used. - columnSpan : The returned number of additional columns used by the input. A value of 0 - indicates that no additional columns are used. - Returns true if the position was successfully returned. + Gets or sets the expression displayed in the input field for the Z translation. This can contain + equations and references to parameters but must result in a valid distance expression. If units + are not specified as part of the expression, the default user units of length are used. """ - return (bool(), int(), int(), int(), int()) - def clear(self) -> bool: + return str() + @zTranslationExpression.setter + def zTranslationExpression(self, value: str): """ - Removes all rows in the table and the toolbar. - Returns true if successful. + Gets or sets the expression displayed in the input field for the Z translation. This can contain + equations and references to parameters but must result in a valid distance expression. If units + are not specified as part of the expression, the default user units of length are used. """ - return bool() - def addToolbarCommandInput(self, input: CommandInput) -> bool: + pass + @property + def xRotation(self) -> float: """ - Adds a new command input to the toolbar at the bottom of the table. - input : Adds a command input to the toolbar at the bottom of the table. The inputs are displayed - in the same order that they're added. + Gets and sets the current value of the rotation around the X axis of the triad. The value is in radians + but will be displayed to the user in degrees. - The command input is created in the standard way but when it's added to the table using this method it - will be displayed in the table instead of the main area of the dialog. - Returns true if the command input was successfully added. + The isValidExpressions property should be checked before using the value within the command. """ - return bool() - def getInputAtPosition(self, row: int, column: int) -> CommandInput: + return float() + @xRotation.setter + def xRotation(self, value: float): """ - Returns the command input that is in the specified row and column. In the case - where a command input spans multiple columns, the same input can be returned - from multiple positions. - row : The row index to return the command input from where the first row is 0. - column : The row index to return the command input from where the first row is 0. - Returns the command input that is in the specified row and column. If there - isn't a command input in the specified location, null is returned. + Gets and sets the current value of the rotation around the X axis of the triad. The value is in radians + but will be displayed to the user in degrees. + + The isValidExpressions property should be checked before using the value within the command. """ - return CommandInput() + pass @property - def numberOfColumns(self) -> int: + def xRotationExpression(self) -> str: """ - Returns the current number of visible columns displayed. Setting this property - has no effect because the number of columns is automatically inferred by - the command inputs that have been added to the table. The table automatically - adjusts the number of rows displayed so all inputs can be seen. + Gets or sets the expression displayed in the input field for the X rotation. This can contain + equations and references to parameters but must result in a valid distance expression. If units + are not specified as part of the expression degrees are used. """ - return int() - @numberOfColumns.setter - def numberOfColumns(self, value: int): + return str() + @xRotationExpression.setter + def xRotationExpression(self, value: str): """ - Returns the current number of visible columns displayed. Setting this property - has no effect because the number of columns is automatically inferred by - the command inputs that have been added to the table. The table automatically - adjusts the number of rows displayed so all inputs can be seen. + Gets or sets the expression displayed in the input field for the X rotation. This can contain + equations and references to parameters but must result in a valid distance expression. If units + are not specified as part of the expression degrees are used. """ pass @property - def columnRatio(self) -> str: + def yRotation(self) -> float: """ - Gets and sets the width ratio of the columns. This is defined using a string - such as "1:1:1" where this defines that the first three columns are all the same width. - A value of "2:1" defines that the first column is twice the width of the second. + Gets and sets the current value of the rotation around the Y axis of the triad. The value is in radians + but will be displayed to the user in degrees. - If the table has more columns than are defined by this property, they will automatically - default to a value of 1. If this property defines the width of more columns than are - displayed, the extra definitions are ignored. + The isValidExpressions property should be checked before using the value within the command. + """ + return float() + @yRotation.setter + def yRotation(self, value: float): + """ + Gets and sets the current value of the rotation around the Y axis of the triad. The value is in radians + but will be displayed to the user in degrees. - You can also specify 0 as a column width and this will have the effect of hiding - that column. Setting a column width to 0 does not delete the column or the command inputs - but only hides them so they can be turned back on at a later time by resetting the - column ratio. + The isValidExpressions property should be checked before using the value within the command. + """ + pass + @property + def yRotationExpression(self) -> str: + """ + Gets or sets the expression displayed in the input field for the Y rotation. This can contain + equations and references to parameters but must result in a valid distance expression. If units + are not specified as part of the expression degrees are used. """ return str() - @columnRatio.setter - def columnRatio(self, value: str): + @yRotationExpression.setter + def yRotationExpression(self, value: str): """ - Gets and sets the width ratio of the columns. This is defined using a string - such as "1:1:1" where this defines that the first three columns are all the same width. - A value of "2:1" defines that the first column is twice the width of the second. + Gets or sets the expression displayed in the input field for the Y rotation. This can contain + equations and references to parameters but must result in a valid distance expression. If units + are not specified as part of the expression degrees are used. + """ + pass + @property + def zRotation(self) -> float: + """ + Gets and sets the current value of the rotation around the Z axis of the triad. The value is in radians + but will be displayed to the user in degrees. - If the table has more columns than are defined by this property, they will automatically - default to a value of 1. If this property defines the width of more columns than are - displayed, the extra definitions are ignored. + The isValidExpressions property should be checked before using the value within the command. + """ + return float() + @zRotation.setter + def zRotation(self, value: float): + """ + Gets and sets the current value of the rotation around the Z axis of the triad. The value is in radians + but will be displayed to the user in degrees. - You can also specify 0 as a column width and this will have the effect of hiding - that column. Setting a column width to 0 does not delete the column or the command inputs - but only hides them so they can be turned back on at a later time by resetting the - column ratio. + The isValidExpressions property should be checked before using the value within the command. """ pass @property - def hasGrid(self) -> bool: + def zRotationExpression(self) -> str: """ - Gets and sets whether a grid is displayed for the table. For a newly created - table, this property defaults to false. + Gets or sets the expression displayed in the input field for the Z rotation. This can contain + equations and references to parameters but must result in a valid distance expression. If units + are not specified as part of the expression degrees are used. """ - return bool() - @hasGrid.setter - def hasGrid(self, value: bool): + return str() + @zRotationExpression.setter + def zRotationExpression(self, value: str): """ - Gets and sets whether a grid is displayed for the table. For a newly created - table, this property defaults to false. + Gets or sets the expression displayed in the input field for the Z rotation. This can contain + equations and references to parameters but must result in a valid distance expression. If units + are not specified as part of the expression degrees are used. """ pass @property - def rowSpacing(self) -> int: + def xScaleFactor(self) -> float: """ - Gets and sets the spacing between rows. This is defined in pixels. For a newly - created table, this property defaults to 1. + Gets and sets the current value of the scale factor along the X axis of the triad. + + The isValidExpressions property should be checked before using the value within the command. """ - return int() - @rowSpacing.setter - def rowSpacing(self, value: int): + return float() + @xScaleFactor.setter + def xScaleFactor(self, value: float): """ - Gets and sets the spacing between rows. This is defined in pixels. For a newly - created table, this property defaults to 1. + Gets and sets the current value of the scale factor along the X axis of the triad. + + The isValidExpressions property should be checked before using the value within the command. """ pass @property - def columnSpacing(self) -> int: + def xScaleFactorExpression(self) -> str: """ - Gets and sets the spacing between columns. This is defined in pixels. For a newly - created table, this property defaults to 1. + Gets or sets the expression displayed in the input field for the X scale. This can contain + equations and references to parameters but must result in a valid unitless expression. """ - return int() - @columnSpacing.setter - def columnSpacing(self, value: int): + return str() + @xScaleFactorExpression.setter + def xScaleFactorExpression(self, value: str): """ - Gets and sets the spacing between columns. This is defined in pixels. For a newly - created table, this property defaults to 1. + Gets or sets the expression displayed in the input field for the X scale. This can contain + equations and references to parameters but must result in a valid unitless expression. """ pass @property - def minimumVisibleRows(self) -> int: + def yScaleFactor(self) -> float: """ - Gets and sets the minimum number of rows displayed. This is the minimum amount of - space taken up on the command dialog, even if the table doesn't yet contain any - rows. For a newly created table, this property defaults to 2. + Gets and sets the current value of the scale factor along the Y axis of the triad. + + The isValidExpressions property should be checked before using the value within the command. + """ + return float() + @yScaleFactor.setter + def yScaleFactor(self, value: float): + """ + Gets and sets the current value of the scale factor along the Y axis of the triad. + + The isValidExpressions property should be checked before using the value within the command. + """ + pass + @property + def yScaleFactorExpression(self) -> str: """ - return int() - @minimumVisibleRows.setter - def minimumVisibleRows(self, value: int): + Gets or sets the expression displayed in the input field for the Y scale. This can contain + equations and references to parameters but must result in a valid unitless expression. """ - Gets and sets the minimum number of rows displayed. This is the minimum amount of - space taken up on the command dialog, even if the table doesn't yet contain any - rows. For a newly created table, this property defaults to 2. + return str() + @yScaleFactorExpression.setter + def yScaleFactorExpression(self, value: str): + """ + Gets or sets the expression displayed in the input field for the Y scale. This can contain + equations and references to parameters but must result in a valid unitless expression. """ pass @property - def maximumVisibleRows(self) -> int: + def zScaleFactor(self) -> float: """ - Gets and sets the maximum number of rows that can be displayed. As rows are added - the visible size of the table will grow to show all rows until this maximum number - of rows is reached and then a scroll bar will be displayed to allow the user to - access all rows. For a new created table, this property defaults to 4. + Gets and sets the current value of the scale factor along the Z axis of the triad. + + The isValidExpressions property should be checked before using the value within the command. """ - return int() - @maximumVisibleRows.setter - def maximumVisibleRows(self, value: int): + return float() + @zScaleFactor.setter + def zScaleFactor(self, value: float): """ - Gets and sets the maximum number of rows that can be displayed. As rows are added - the visible size of the table will grow to show all rows until this maximum number - of rows is reached and then a scroll bar will be displayed to allow the user to - access all rows. For a new created table, this property defaults to 4. + Gets and sets the current value of the scale factor along the Z axis of the triad. + + The isValidExpressions property should be checked before using the value within the command. """ pass @property - def tablePresentationStyle(self) -> TablePresentationStyles: + def zScaleFactorExpression(self) -> str: """ - Gets and sets the presentation style the table is currently using for its display. + Gets or sets the expression displayed in the input field for the Z scale. This can contain + equations and references to parameters but must result in a valid unitless expression. """ - return TablePresentationStyles() - @tablePresentationStyle.setter - def tablePresentationStyle(self, value: TablePresentationStyles): + return str() + @zScaleFactorExpression.setter + def zScaleFactorExpression(self, value: str): """ - Gets and sets the presentation style the table is currently using for its display. + Gets or sets the expression displayed in the input field for the Z scale. This can contain + equations and references to parameters but must result in a valid unitless expression. """ pass @property - def rowCount(self) -> int: + def xYPlaneScaleFactor(self) -> float: """ - Returns the number of rows in the table. The actual number of rows in the table is defined - by the number of rows that contain command inputs. + Gets and sets the current value of the scale factor on the X-Y plane of the triad. + + The isValidExpressions property should be checked before using the value within the command. """ - return int() + return float() + @xYPlaneScaleFactor.setter + def xYPlaneScaleFactor(self, value: float): + """ + Gets and sets the current value of the scale factor on the X-Y plane of the triad. + + The isValidExpressions property should be checked before using the value within the command. + """ + pass @property - def selectedRow(self) -> int: + def xYPlaneScaleFactorExpression(self) -> str: """ - Gets and sets which row is selected in the user-interface. A value of 0 indicates - that the first row is selected. A value of -1 indicates that no row is selected. + Gets or sets the expression displayed in the input field for the X-Y plane scale. This can contain + equations and references to parameters but must result in a valid unitless expression. """ - return int() - @selectedRow.setter - def selectedRow(self, value: int): + return str() + @xYPlaneScaleFactorExpression.setter + def xYPlaneScaleFactorExpression(self, value: str): """ - Gets and sets which row is selected in the user-interface. A value of 0 indicates - that the first row is selected. A value of -1 indicates that no row is selected. + Gets or sets the expression displayed in the input field for the X-Y plane scale. This can contain + equations and references to parameters but must result in a valid unitless expression. """ pass - -class TextBoxCommandInput(CommandInput): - """ - Provides a command input to interact with a text box. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> TextBoxCommandInput: - return TextBoxCommandInput() @property - def formattedText(self) -> str: + def yZPlaneScaleFactor(self) -> float: """ - Gets and sets the formatted text displayed in the dialog. Formatted text includes - any html formatting that has been defined. For example, you can use basic html formatting such as - Bold, Italic, and
for a line break. + Gets and sets the current value of the scale factor on the Y-Z plane of the triad. + + The isValidExpressions property should be checked before using the value within the command. """ - return str() - @formattedText.setter - def formattedText(self, value: str): + return float() + @yZPlaneScaleFactor.setter + def yZPlaneScaleFactor(self, value: float): """ - Gets and sets the formatted text displayed in the dialog. Formatted text includes - any html formatting that has been defined. For example, you can use basic html formatting such as - Bold, Italic, and
for a line break. + Gets and sets the current value of the scale factor on the Y-Z plane of the triad. + + The isValidExpressions property should be checked before using the value within the command. """ pass @property - def text(self) -> str: + def yZPlaneScaleFactorExpression(self) -> str: """ - Gets and sets the text in the text box. This returns the string - as seen in the text box with any formatting stripped out. + Gets or sets the expression displayed in the input field for the Y-Z plane scale. This can contain + equations and references to parameters but must result in a valid unitless expression. """ return str() - @text.setter - def text(self, value: str): + @yZPlaneScaleFactorExpression.setter + def yZPlaneScaleFactorExpression(self, value: str): """ - Gets and sets the text in the text box. This returns the string - as seen in the text box with any formatting stripped out. + Gets or sets the expression displayed in the input field for the Y-Z plane scale. This can contain + equations and references to parameters but must result in a valid unitless expression. """ pass @property - def numRows(self) -> int: + def zXPlaneScaleFactor(self) -> float: """ - Gets and sets the height of the text box as defined by the number of rows of - text that can be displayed. If the text is larger than will fit in the box - a scroll bar will automatically be displayed. + Gets and sets the current value of the scale factor on the Z-X plane of the triad. + + The isValidExpressions property should be checked before using the value within the command. """ - return int() - @numRows.setter - def numRows(self, value: int): + return float() + @zXPlaneScaleFactor.setter + def zXPlaneScaleFactor(self, value: float): """ - Gets and sets the height of the text box as defined by the number of rows of - text that can be displayed. If the text is larger than will fit in the box - a scroll bar will automatically be displayed. + Gets and sets the current value of the scale factor on the Z-X plane of the triad. + + The isValidExpressions property should be checked before using the value within the command. """ pass @property - def isReadOnly(self) -> bool: + def zXPlaneScaleFactorExpression(self) -> str: """ - Gets and sets if the text box is read-only or not. If it is read-only the user - cannot edit the text. + Gets or sets the expression displayed in the input field for the Z-X plane scale. This can contain + equations and references to parameters but must result in a valid unitless expression. """ - return bool() - @isReadOnly.setter - def isReadOnly(self, value: bool): + return str() + @zXPlaneScaleFactorExpression.setter + def zXPlaneScaleFactorExpression(self, value: str): """ - Gets and sets if the text box is read-only or not. If it is read-only the user - cannot edit the text. + Gets or sets the expression displayed in the input field for the Z-X plane scale. This can contain + equations and references to parameters but must result in a valid unitless expression. """ pass - -class TextCommandPalette(Palette): - """ -

Represents the palette that is the Text Command window in Fusion 360. You can obtain the Text Command palette by using the itemById method of the Palettes object and using "TextCommands" as the ID. Below is some sample code that illustrates making sure the palette is visible and writing some text to it.

-
# Get the palette that represents the TEXT COMMANDS window.
-    textPalette = ui.palettes.itemById('TextCommands')
-    
-    # Make sure the palette is visible.
-    if not textPalette.isVisible:
-    textPalette.isVisible = True
-    
-    # Write some text.
-    textPalette.writeText('This is a text message.') 
- """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> TextCommandPalette: - return TextCommandPalette() - def writeText(self, text: str) -> bool: + @property + def unifiedeScaleFactor(self) -> float: """ -

Write the specified text to the TEXT COMMAND window. Below is some sample code that illustrates making sure the palette is visible and writing some text to it.

-
# Get the palette that represents the TEXT COMMANDS window.
-        textPalette = ui.palettes.itemById('TextCommands')
+        Gets and sets the current value of the unified scale factor of the triad.
         
-        # Make sure the palette is visible.
-        if not textPalette.isVisible:
-        textPalette.isVisible = True
+        The isValidExpressions property should be checked before using the value within the command.
+        """
+        return float()
+    @unifiedeScaleFactor.setter
+    def unifiedeScaleFactor(self, value: float):
+        """
+        Gets and sets the current value of the unified scale factor of the triad.
         
-        # Write some text.
-        textPalette.writeText('This is a text message.') 
- text : The text to write to the Text Command window. - Returns true if successful. + The isValidExpressions property should be checked before using the value within the command. """ - return bool() - -class Torus(Surface): - """ - Transient torus. A transient torus is not displayed or saved in a document. - A transient torus is used as a wrapper to work with raw torus information. - A transient torus is a full torus with no boundaries. - They are created statically using the create method of the Torus class. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> Torus: - return Torus() - @staticmethod - def create(origin: Point3D, axis: Vector3D, majorRadius: float, minorRadius: float) -> Torus: + @property + def unifiedScaleFactorExpression(self) -> str: """ - Creates a transient torus object. - origin : The origin point (center) of the torus. - axis : The center axis of the torus. - majorRadius : The major radius of the torus. - minorRadius : The minor radius of the torus. - Returns the new Torus object or null if the creation failed. + Gets or sets the expression displayed in the input field for the unified scale. This can contain + equations and references to parameters but must result in a valid unitless expression. """ - return Torus() - def getData(self) -> tuple[bool, Point3D, Vector3D, float, float]: + return str() + @unifiedScaleFactorExpression.setter + def unifiedScaleFactorExpression(self, value: str): """ - Gets all of the data defining the torus. - origin : The output origin point (center) of the torus. - axis : The output center axis of the torus. - majorRadius : The output major radius of the torus. - minorRadius : The output minor radius of the torus. - Returns true if successful. + Gets or sets the expression displayed in the input field for the unified scale. This can contain + equations and references to parameters but must result in a valid unitless expression. """ - return (bool(), Point3D(), Vector3D(), float(), float()) - def set(self, origin: Point3D, axis: Vector3D, majorRadius: float, minorRadius: float) -> bool: + pass + @property + def isFlippedHorizontal(self) -> bool: """ - Sets all of the data defining the torus. - origin : The origin point (center) of the torus. - axis : The center axis of the torus. - majorRadius : The major radius of the torus. - minorRadius : The minor radius of the torus. - Returns true if successful. + Gets and sets if the triad is flipped horizontally (around the around the Y-Z plane of the triad). """ return bool() - def copy(self) -> Torus: + @isFlippedHorizontal.setter + def isFlippedHorizontal(self, value: bool): """ - Creates and returns an independent copy of this Torus object. - Returns a new Torus object that is a copy of this Torus object. + Gets and sets if the triad is flipped horizontally (around the around the Y-Z plane of the triad). """ - return Torus() + pass @property - def origin(self) -> Point3D: + def isFlippedVertical(self) -> bool: """ - Gets and sets the origin point (center) of the torus. + Gets and sets if the triad is flipped vertically (around the around the X-Z plane of the triad). """ - return Point3D() - @origin.setter - def origin(self, value: Point3D): + return bool() + @isFlippedVertical.setter + def isFlippedVertical(self, value: bool): """ - Gets and sets the origin point (center) of the torus. + Gets and sets if the triad is flipped vertically (around the around the X-Z plane of the triad). """ pass @property - def axis(self) -> Vector3D: + def transform(self) -> Matrix3D: """ - Gets and sets the center axis of the torus. + Gets or sets the current position, orientation, and scale of the triad using a transformation matrix. """ - return Vector3D() - @axis.setter - def axis(self, value: Vector3D): + return Matrix3D() + @transform.setter + def transform(self, value: Matrix3D): """ - Gets and sets the center axis of the torus. + Gets or sets the current position, orientation, and scale of the triad using a transformation matrix. """ pass @property - def majorRadius(self) -> float: + def positionTransform(self) -> Matrix3D: """ - Gets and sets the major radius of the torus. + Gets the current position and orientation of the triad using a transformation matrix. This transform + does not include any scaling. """ - return float() - @majorRadius.setter - def majorRadius(self, value: float): + return Matrix3D() + @property + def lastTransform(self) -> Matrix3D: """ - Gets and sets the major radius of the torus. + Returns the transform of the triad before the latest change. Using the matrices returned + by this property and the transform property you can determine what changed. The lastChangeMade + property is also useful to help you know the type of change to look for when comparing the + matrices. """ - pass + return Matrix3D() @property - def minorRadius(self) -> float: + def isValidExpressions(self) -> bool: """ - Gets and sets the minor radius of the torus. + Returns true if all of the input fields have valid expressions. If this property is false, + the triad is incorrectly defined and the current values should not be used. """ - return float() - @minorRadius.setter - def minorRadius(self, value: float): + return bool() + @property + def lastChangeMade(self) -> TriadChanges: """ - Gets and sets the minor radius of the torus. + Returns which value was most recently changed. To determine the actual change made you need + to compare the transforms returned by the transform and lastTransform properties. Having information + about the specific type of change made makes it easier to compare the matrices because you know + what to look for. """ - pass + return TriadChanges() class UserInterfaceGeneralEvent(Event): """ @@ -16622,15 +19559,27 @@ def cast(arg) -> ValidateInputsEventArgs: @property def areInputsValid(self) -> bool: """ - Used during the AreInputsValid event to get or set if all inputs are valid - and the OK button should be enabled. + Used with AreInputsValid event to specify if the all of the inputs for the + command are valid or not. If you set this to false, indicating they are not + valid, the OK button for the dialog is disabled forcing the user to correct + the inputs before continuing. If you set this to true the OK button will be + enabled, as long as the inputs satisfy their own requirements. For example, + if a SelectionCommandInput is defined to have at minimum number of entities + selected, that requirement must be met, or if a ValueCommandInput has an invalid + value specified, the OK button will still be disabled. """ return bool() @areInputsValid.setter def areInputsValid(self, value: bool): """ - Used during the AreInputsValid event to get or set if all inputs are valid - and the OK button should be enabled. + Used with AreInputsValid event to specify if the all of the inputs for the + command are valid or not. If you set this to false, indicating they are not + valid, the OK button for the dialog is disabled forcing the user to correct + the inputs before continuing. If you set this to true the OK button will be + enabled, as long as the inputs satisfy their own requirements. For example, + if a SelectionCommandInput is defined to have at minimum number of entities + selected, that requirement must be met, or if a ValueCommandInput has an invalid + value specified, the OK button will still be disabled. """ pass @property @@ -16658,12 +19607,6 @@ def value(self) -> float: value it is converted into a string using the unit type and displayed in the input box. When getting the value, the current expression string is evaluated and the database value for the unit type is returned. - - The isValidExpression property should be checked before using this - value within the command because if the expression can't be evaluated - there isn't a valid value. Fusion 360 won't allow the execution of a command - that contains ValueCommandInput object with invalid expressions so you can - dependably use the value in the execute event of the command. """ return float() @value.setter @@ -16675,12 +19618,6 @@ def value(self, value: float): value it is converted into a string using the unit type and displayed in the input box. When getting the value, the current expression string is evaluated and the database value for the unit type is returned. - - The isValidExpression property should be checked before using this - value within the command because if the expression can't be evaluated - there isn't a valid value. Fusion 360 won't allow the execution of a command - that contains ValueCommandInput object with invalid expressions so you can - dependably use the value in the execute event of the command. """ pass @property @@ -16717,6 +19654,118 @@ def isValidExpression(self) -> bool: not a valid value. """ return bool() + @property + def isMinimumLimited(self) -> bool: + """ + Gets and sets whether the minimum value has a limit. The minimum limit is set using + the minimumValue property, and the isMinimumInclusive property controls whether the minimum + includes the minimum value or must be greater than the minimum. + + When a new ValueCommandInput is created this defaults to false so there is no limit. + """ + return bool() + @isMinimumLimited.setter + def isMinimumLimited(self, value: bool): + """ + Gets and sets whether the minimum value has a limit. The minimum limit is set using + the minimumValue property, and the isMinimumInclusive property controls whether the minimum + includes the minimum value or must be greater than the minimum. + + When a new ValueCommandInput is created this defaults to false so there is no limit. + """ + pass + @property + def minimumValue(self) -> float: + """ + Gets and sets the minimum value for the input. Setting this value will automatically + set the isMinimumLimited property to true, enabling the use of the minimum value. Use + the isMinimumInclusive property to control if the minimum can be equal to this value or must + be greater than the minimum. + """ + return float() + @minimumValue.setter + def minimumValue(self, value: float): + """ + Gets and sets the minimum value for the input. Setting this value will automatically + set the isMinimumLimited property to true, enabling the use of the minimum value. Use + the isMinimumInclusive property to control if the minimum can be equal to this value or must + be greater than the minimum. + """ + pass + @property + def isMinimumInclusive(self) -> bool: + """ + Gets and sets if the minimum value can be equal to the value defined by the minimumValue + property or if it must be greater than. + + When a new ValueCommandInput is created, this defaults to true. + """ + return bool() + @isMinimumInclusive.setter + def isMinimumInclusive(self, value: bool): + """ + Gets and sets if the minimum value can be equal to the value defined by the minimumValue + property or if it must be greater than. + + When a new ValueCommandInput is created, this defaults to true. + """ + pass + @property + def isMaximumLimited(self) -> bool: + """ + Gets and sets whether the maximum value has a limit. The maximum limit is set using + the maximumValue property, and the isMaximumInclusive property controls whether the maximum + includes the maximum value or must be less than the maximum. + + When a new ValueCommandInput is created this defaults to false so there is no limit. + """ + return bool() + @isMaximumLimited.setter + def isMaximumLimited(self, value: bool): + """ + Gets and sets whether the maximum value has a limit. The maximum limit is set using + the maximumValue property, and the isMaximumInclusive property controls whether the maximum + includes the maximum value or must be less than the maximum. + + When a new ValueCommandInput is created this defaults to false so there is no limit. + """ + pass + @property + def maximumValue(self) -> float: + """ + Gets and sets the maximum value for the input. Setting this value will automatically + set the isMaximumLimited property to true, enabling the use of the maximum value. Use + the isMaximumInclusive property to control if the maximum can be equal to this value or must + be less than the maximum. + """ + return float() + @maximumValue.setter + def maximumValue(self, value: float): + """ + Gets and sets the maximum value for the input. Setting this value will automatically + set the isMaximumLimited property to true, enabling the use of the maximum value. Use + the isMaximumInclusive property to control if the maximum can be equal to this value or must + be less than the maximum. + """ + pass + @property + def isMaximumInclusive(self) -> bool: + """ + Gets and sets if the maximum value can be equal to the value defined by the maximumValue + property or if it must be less than the maximum. + + When a new ValueCommandInput is created, this defaults to true. + """ + return bool() + @isMaximumInclusive.setter + def isMaximumInclusive(self, value: bool): + """ + Gets and sets if the maximum value can be equal to the value defined by the maximumValue + property or if it must be less than the maximum. + + When a new ValueCommandInput is created, this defaults to true. + """ + pass class WebRequestEvent(Event): """ diff --git a/adsk/drawing.py b/adsk/drawing.py index 064ac31..c3839ae 100644 --- a/adsk/drawing.py +++ b/adsk/drawing.py @@ -2,6 +2,7 @@ # It does not reflect the actual implementation. from __future__ import annotations +from collections.abc import Iterator from . import core diff --git a/adsk/fusion.py b/adsk/fusion.py index 919c815..94d4405 100644 --- a/adsk/fusion.py +++ b/adsk/fusion.py @@ -2,9 +2,20 @@ # It does not reflect the actual implementation. from __future__ import annotations +from collections.abc import Iterator from . import core +class BendReliefShapes(): + """ + The bend relief shapes used for a single bend. + """ + def __init__(self): + pass + StraightBendReliefShape = 0 + TearBendReliefShape = 1 + RoundBendReliefShape = 2 + class BooleanTypes(): """ Defines the different type of boolean operations that are supported. @@ -15,6 +26,56 @@ def __init__(self): IntersectionBooleanType = 1 UnionBooleanType = 2 +class BossAlignmentTypes(): + """ + List of different types of boss alignment shape types. + """ + def __init__(self): + pass + BossAlignFlat = 0 + BossAlignStepOut = 1 + BossAlignStepIn = 2 + +class BossHoleExtentTypes(): + """ + List of the different types of boss hole extent types. + """ + def __init__(self): + pass + BossHoleThrough = 0 + BossBlindFull = 1 + BossBlindDepth = 2 + +class BossRibExtentTypes(): + """ + List of different types of boss rib extent type. + """ + def __init__(self): + pass + RibSizeByLength = 0 + RibSizeToNext = 1 + RibSuppressed = 2 + +class BossRibShapeTypes(): + """ + List of different types of boss rib shape. + """ + def __init__(self): + pass + BossRibShapeNone = 0 + BossRibShapeChamfer = 1 + BossRibShapeFillet = 2 + +class BossShapeTypes(): + """ + List of different boss shank shape types. + """ + def __init__(self): + pass + BossBlank = 0 + BossConstDiameter = 1 + BossConstThickness = 2 + class BRepConvertOptions(): """ Defines the various options when converting the geometry of a B-Rep body or face @@ -73,16 +134,6 @@ def __init__(self): MiterCornerType = 1 BlendCornertype = 2 -class ChamferTypes(): - """ - List of the different ways a chamfer can be defined. - """ - def __init__(self): - pass - EqualDistanceChamferType = 0 - TwoDistancesChamferType = 1 - DistanceAndAngleChamferType = 2 - class CoilFeatureSectionPositions(): """ List of the section positions of coil feature. @@ -304,6 +355,7 @@ def __init__(self): JointPlanarBRepFaceGeometry = 6 JointNonPlanarBRepFaceGeometry = 7 JointBetweenTwoPlanesGeometry = 8 + JointByTwoEdgeIntersectionGeometry = 9 class JointKeyPointTypes(): """ @@ -345,6 +397,28 @@ def __init__(self): tracksLineStylePattern = 6 zigzagLineStylePattern = 7 +class LocalRenderStates(): + """ + The different states of a local rendering. + """ + def __init__(self): + pass + QueuedLocalRenderState = 0 + ProcessingLocalRenderState = 1 + FinishedLocalRenderState = 2 + FailedLocalRenderState = 3 + +class LoftRailEdgeConditions(): + """ + Defines the different conditions that can be applied to a loft rail + when the rail entity is defined by BRepEdge objects. + """ + def __init__(self): + pass + G0LoftRailEdgeCondition = 0 + G1LoftRailEdgeCondition = 1 + G2LoftRailEdgeCondition = 2 + class MeshRefinementSettings(): """ The different refinement settings supported when exporting the design as an STL or 3MF file. @@ -371,6 +445,8 @@ def __init__(self): class OffsetCornerTypes(): """ Specifies the different types of corners that can be created when offsetting a wire body. + These settings are used when the curves are offset outwards, which creates a gap at the + corner. These represent the three ways the gap is filled. """ def __init__(self): pass @@ -408,6 +484,16 @@ def __init__(self): BodiesPatternType = 2 OccurrencesPatternType = 3 +class PipeSectionTypes(): + """ + List of the different section types of a Pipe. + """ + def __init__(self): + pass + CircularPipeSectionType = 0 + SquarePipeSectionType = 1 + TriangularPipeSectionType = 2 + class PointContainment(): """ Types that define the nature of the relationship between a point and a containing entity. @@ -419,6 +505,67 @@ def __init__(self): PointOutsidePointContainment = 2 UnknownPointContainment = 3 +class RenderAspectRatios(): + """ + Types that indicate the output aspect ratio when rendering a scene. This is + used with in-canvas rendering, to allow you to define a different aspect + ratio than the current active viewport. + """ + def __init__(self): + pass + CurrentViewportRenderAspectRatio = 0 + Square1to1RenderAspectRatio = 1 + Presentation4to3RenderAspectRatio = 2 + Widescreen16to9RenderAspectRatio = 3 + Landscape5to4RenderAspectRatio = 4 + Portrait4to5RenderAspectRatio = 5 + CustomRenderAspectRatio = 6 + +class RenderResolutions(): + """ + The different standard resolutions supported when rendering. + """ + def __init__(self): + pass + Web800x600RenderResolution = 0 + Web1024x768RenderResolution = 1 + Web1152x864RenderResolution = 2 + Web1280x1024RenderResolution = 3 + Web1600x1200RenderResolution = 4 + Mobile960x640RenderResolution = 5 + Mobile1136x640RenderResolution = 6 + Mobile1334x750RenderResolution = 7 + Mobile1920x1080RenderResolution = 8 + Mobile2048x1536RenderResolution = 9 + Print1800x1200RenderResolution = 10 + Print2100x1500RenderResolution = 11 + Print3000x2400RenderResolution = 12 + Print3300x2550RenderResolution = 13 + Video854x480RenderResolution = 14 + Video1280x720RenderResolution = 15 + Video1920x1080RenderResolution = 16 + CustomRenderResolution = 17 + +class RenderSceneBackgroundTypes(): + """ + Types that indicate the type of background being used to render the scene. + """ + def __init__(self): + pass + EnvironmentRenderSceneBackgroundType = 0 + SolidColorRenderSceneBackgroundType = 1 + +class RipFeatureDefinitionTypes(): + """ + Specifies the different ways a Rip feature can be defined. + """ + def __init__(self): + pass + UndefinedRipFeatureDefinitionType = 0 + FaceRipFeatureDefinitionType = 1 + AlongEdgeRipFeatureDefinitionType = 2 + BetweenPointsRipFeatureDefinitionType = 3 + class RuledSurfaceCornerTypes(): """ List of Ruled Surface corner types. @@ -448,6 +595,15 @@ def __init__(self): SilhouetteSplitShelledBodyOperation = 1 SilhouetteSplitSolidBodyOperation = 2 +class SplineDegrees(): + """ + Defines the options used when specifying the degree of a spline. + """ + def __init__(self): + pass + SplineDegreeThree = 3 + SplineDegreeFive = 5 + class SplitFaceSplitTypes(): """ List of the ways to split a face using the split face feature. @@ -576,6 +732,17 @@ def __init__(self): HighEndThreadLocation = 0 LowEndThreadLocation = 1 +class ThreeBendReliefShapes(): + """ + The bend relief shapes used when three bends intersect. + """ + def __init__(self): + pass + NoReplacementThreeBendReliefShape = 0 + IntersectionThreeBendReliefShape = 1 + FullRoundThreeBendReliefShape = 2 + RoundWithRadiusThreeBendReliefShape = 3 + class TriangleMeshQualityOptions(): """ Types that indicate the level of quality of a triangle mesh. @@ -587,6 +754,29 @@ def __init__(self): HighQualityTriangleMesh = 13 VeryHighQualityTriangleMesh = 15 +class TwoBendReliefPlacements(): + """ + The placement options for a two bend relief. + """ + def __init__(self): + pass + NoTwoBendReliefPlacement = 0 + IntersectionTwoBendReliefPlacement = 1 + TangentTwoBendReliefPlacement = 2 + +class TwoBendReliefShapes(): + """ + The bend relief shapes used when two bends intersect. + """ + def __init__(self): + pass + RoundTwoBendReliefShape = 0 + SquareTwoBendReliefShape = 1 + TearTwoBendReliefShape = 2 + TrimToBendTwoBendReliefShape = 3 + LinearWeldTwoBendReliefShape = 4 + ArcWeldTwoBendReliefShape = 5 + class UntrimLoopTypes(): """ List of Untrim Loop Types. @@ -610,6 +800,229 @@ def __init__(self): lowerLeftViewCorner = 2 lowerRightViewCorner = 3 +class AccessibilityAnalyses(core.Base): + """ + Provides access to any accessibility analyses results in the design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AccessibilityAnalyses: + return AccessibilityAnalyses() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> AccessibilityAnalysis: + return None + def __iter__(self) -> Iterator[AccessibilityAnalysis]: + return None + def item(self, index: int) -> AccessibilityAnalysis: + """ + A method that returns the specified AccessibilityAnalysis object using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection + has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return AccessibilityAnalysis() + def itemByName(self, name: str) -> AccessibilityAnalysis: + """ + A method that returns the specified AccessibilityAnalysis object using the name of the analysis + as displayed in the browser. + name : The name of the AccessibilityAnalysis object as displayed in the browser. + Returns the specified item or null if an invalid name was specified. + """ + return AccessibilityAnalysis() + @property + def count(self) -> int: + """ + Returns the number of AccessibilityAnalysis objects in the collection. + """ + return int() + +class Analyses(core.Base): + """ + Provides access to the existing analysis results within a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Analyses: + return Analyses() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Analysis: + return None + def __iter__(self) -> Iterator[Analysis]: + return None + def item(self, index: int) -> Analysis: + """ + A method that returns the specified Analysis using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection + has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return Analysis() + def itemByName(self, name: str) -> Analysis: + """ + A method that returns the specified Analysis using the name of the analysis + as it is displayed in the browser. + name : The name of the Analysis as it is displayed in the browser. + Returns the specified item or null if an invalid name was specified. + """ + return Analysis() + @property + def count(self) -> int: + """ + Returns the number of Analysis objects in the collection. + """ + return int() + @property + def accessibilityAnalyses(self) -> AccessibilityAnalyses: + """ + Returns the AccessibilityAnalyses object, which provides access to any existing AccessibilityAnalysis + objects in the design. + """ + return AccessibilityAnalyses() + @property + def curvatureCombAnalyses(self) -> CurvatureCombAnalyses: + """ + Returns the CurvatureCombAnalyses object, which provides access to any existing CurvatureCombAnalysis + objects in the design. + """ + return CurvatureCombAnalyses() + @property + def curvatureMapAnalyses(self) -> CurvatureMapAnalyses: + """ + Returns the CurvatureMapAnalyses object, which provides access to any existing CurvatureMapAnalysis + objects in the design. + """ + return CurvatureMapAnalyses() + @property + def draftAnalyses(self) -> DraftAnalyses: + """ + Returns the DraftAnalyses object, which provides access to any existing DraftAnalysis + objects in the design. + """ + return DraftAnalyses() + @property + def isoCurveAnalyses(self) -> IsoCurveAnalyses: + """ + Returns the IsoCurveAnalyses object, which provides access to any existing IsoCurveAnalysis + objects in the design. + """ + return IsoCurveAnalyses() + @property + def minimumRadiusAnalyses(self) -> MinimumRadiusAnalyses: + """ + Returns the MinimumRadiusAnalyses object, which provides access to any existing MinimumRadiusAnalysis + objects in the design. + """ + return MinimumRadiusAnalyses() + @property + def sectionAnalyses(self) -> SectionAnalyses: + """ + Returns the SectionAnalyses object, which provides access to any existing SectionAnalysis + objects in the design. + """ + return SectionAnalyses() + @property + def zebraAnalyses(self) -> ZebraAnalyses: + """ + Returns the ZebraAnalyses object, which provides access to any existing ZebraAnalysis + objects in the design. + """ + return ZebraAnalyses() + @property + def isLightBulbOn(self) -> bool: + """ + A property that gets and sets if the display is enabled for all Analysis objects in the design. + If this is false, all Analysis results will be hidden. If this is true, the Analysis + objects whose isLightBulbOn property is also true will be visible. + """ + return bool() + @isLightBulbOn.setter + def isLightBulbOn(self, value: bool): + """ + A property that gets and sets if the display is enabled for all Analysis objects in the design. + If this is false, all Analysis results will be hidden. If this is true, the Analysis + objects whose isLightBulbOn property is also true will be visible. + """ + pass + +class Analysis(core.Base): + """ + The base class Analysis object that represents all the types of analysis results. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Analysis: + return Analysis() + def deleteMe(self) -> bool: + """ + A method that deletes this Analysis. + Returns true if the delete was successful. + """ + return bool() + @property + def name(self) -> str: + """ + A property that gets and sets the name of the analysis. If you use a name that is not unique, + Fusion will automatically append a number to the name to make it unique. + """ + return str() + @name.setter + def name(self, value: str): + """ + A property that gets and sets the name of the analysis. If you use a name that is not unique, + Fusion will automatically append a number to the name to make it unique. + """ + pass + @property + def isLightBulbOn(self) -> bool: + """ + A property that gets and sets if the display is enabled for this Analysis object. If false, + this analysis will be hidden. If true and the IsLightBulbOn property of the + Analyses object is True the Analysis will be visible. + """ + return bool() + @isLightBulbOn.setter + def isLightBulbOn(self, value: bool): + """ + A property that gets and sets if the display is enabled for this Analysis object. If false, + this analysis will be hidden. If true and the IsLightBulbOn property of the + Analyses object is True the Analysis will be visible. + """ + pass + @property + def isVisible(self) -> bool: + """ + Gets if this Analysis is currently visible in the graphics window. The visibility is + controlled by a combination of the isLightBulbOn properties of the Analyses collection + object and the Analysis object. If both are true, the Analysis will be visible. + """ + return bool() + @property + def attributes(self) -> core.Attributes: + """ + A property that returns the collection of attributes associated with this Analysis. + """ + return core.Attributes() + @property + def entityToken(self) -> str: + """ + Returns a token for the Analysis object. The token can be saved and used later with + the Design.findEntityByToken method to get back the same Analysis. + + When using entity tokens, it's crucial to understand that the token string returned + for a specific entity can be different over time. For example, you can have two different + token strings obtained from the same entity at different times, and when you use + findEntityByToken they will both return the same entity. Because of that, you should + never compare entity tokens as a way to determine what the token represents. Instead, + you need to use the findEntityByToken method to get the two entities identified by the + tokens and then compare them. + """ + return str() + class AreaProperties(core.Base): """ The Area properties of a sketch profile or planar surface. @@ -728,7 +1141,7 @@ def setAsRigidJointMotion(self) -> bool: Returns true if successful. """ return bool() - def setAsRevoluteJointMotion(self, rotationAxis: JointDirections, geometry: JointGeometry, customRotationAxisEntity: core.Base) -> bool: + def setAsRevoluteJointMotion(self, rotationAxis: JointDirections, geometry: JointGeometry = None, customRotationAxisEntity: core.Base = None) -> bool: """ Redefines the relationship between the two joint geometries as a revolute joint. @@ -744,7 +1157,7 @@ def setAsRevoluteJointMotion(self, rotationAxis: JointDirections, geometry: Join Returns true if the operation was successful. """ return bool() - def setAsSliderJointMotion(self, sliderDirection: JointDirections, geometry: JointGeometry, customSliderDirectionEntity: core.Base) -> bool: + def setAsSliderJointMotion(self, sliderDirection: JointDirections, geometry: JointGeometry = None, customSliderDirectionEntity: core.Base = None) -> bool: """ Redefines the relationship between the two joint geometries as a slider joint. @@ -759,7 +1172,7 @@ def setAsSliderJointMotion(self, sliderDirection: JointDirections, geometry: Joi Returns true if the operation was successful. """ return bool() - def setAsCylindricalJointMotion(self, rotationAxis: JointDirections, geometry: JointGeometry, customRotationAxisEntity: core.Base) -> bool: + def setAsCylindricalJointMotion(self, rotationAxis: JointDirections, geometry: JointGeometry = None, customRotationAxisEntity: core.Base = None) -> bool: """ Redefines the relationship between the two joint geometries as a cylindrical joint. @@ -775,7 +1188,7 @@ def setAsCylindricalJointMotion(self, rotationAxis: JointDirections, geometry: J Returns true if the operation was successful. """ return bool() - def setAsPinSlotJointMotion(self, rotationAxis: JointDirections, slideDirection: JointDirections, geometry: JointGeometry, customRotationAxisEntity: core.Base, customSlideDirectionEntity: core.Base) -> bool: + def setAsPinSlotJointMotion(self, rotationAxis: JointDirections, slideDirection: JointDirections, geometry: JointGeometry = None, customRotationAxisEntity: core.Base = None, customSlideDirectionEntity: core.Base = None) -> bool: """ Redefines the relationship between the two joint geometries as a pin-slot joint. @@ -794,7 +1207,7 @@ def setAsPinSlotJointMotion(self, rotationAxis: JointDirections, slideDirection: Returns true if the operation was successful. """ return bool() - def setAsPlanarJointMotion(self, normalDirection: JointDirections, geometry: JointGeometry, customNormalDirectionEntity: core.Base, customPrimarySlideDirection: core.Base) -> bool: + def setAsPlanarJointMotion(self, normalDirection: JointDirections, geometry: JointGeometry = None, customNormalDirectionEntity: core.Base = None, customPrimarySlideDirection: core.Base = None) -> bool: """ Redefines the relationship between the two joint geometries as a planar joint. @@ -814,7 +1227,7 @@ def setAsPlanarJointMotion(self, normalDirection: JointDirections, geometry: Joi Returns true if the operation was successful. """ return bool() - def setAsBallJointMotion(self, pitchDirection: JointDirections, yawDirection: JointDirections, geometry: JointGeometry, customPitchDirection: core.Base, customYawDirection: core.Base) -> bool: + def setAsBallJointMotion(self, pitchDirection: JointDirections, yawDirection: JointDirections, geometry: JointGeometry = None, customPitchDirection: core.Base = None, customYawDirection: core.Base = None) -> bool: """ Redefines the relationship between the two joint geometries as a ball joint. @@ -999,7 +1412,7 @@ def setAsRigidJointMotion(self) -> bool: Returns true if successful. """ return bool() - def setAsRevoluteJointMotion(self, rotationAxis: JointDirections, customRotationAxisEntity: core.Base) -> bool: + def setAsRevoluteJointMotion(self, rotationAxis: JointDirections, customRotationAxisEntity: core.Base = None) -> bool: """ Defines the relationship between the two joint geometries as a revolute joint. rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the @@ -1010,7 +1423,7 @@ def setAsRevoluteJointMotion(self, rotationAxis: JointDirections, customRotation Returns true if the operation was successful. """ return bool() - def setAsSliderJointMotion(self, sliderDirection: JointDirections, customSliderDirectionEntity: core.Base) -> bool: + def setAsSliderJointMotion(self, sliderDirection: JointDirections, customSliderDirectionEntity: core.Base = None) -> bool: """ Defines the relationship between the two joint geometries as a slider joint. sliderDirection : Specifies which axis the slide direction is along. If this is set to CustomJointDirection then the @@ -1020,7 +1433,7 @@ def setAsSliderJointMotion(self, sliderDirection: JointDirections, customSliderD Returns true if the operation was successful. """ return bool() - def setAsCylindricalJointMotion(self, rotationAxis: JointDirections, customRotationAxisEntity: core.Base) -> bool: + def setAsCylindricalJointMotion(self, rotationAxis: JointDirections, customRotationAxisEntity: core.Base = None) -> bool: """ Defines the relationship between the two joint geometries as a cylindrical joint. rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the @@ -1031,7 +1444,7 @@ def setAsCylindricalJointMotion(self, rotationAxis: JointDirections, customRotat Returns true if the operation was successful. """ return bool() - def setAsPinSlotJointMotion(self, rotationAxis: JointDirections, slideDirection: JointDirections, customRotationAxisEntity: core.Base, customSlideDirectionEntity: core.Base) -> bool: + def setAsPinSlotJointMotion(self, rotationAxis: JointDirections, slideDirection: JointDirections, customRotationAxisEntity: core.Base = None, customSlideDirectionEntity: core.Base = None) -> bool: """ Defines the relationship between the two joint geometries as a pin-slot joint. rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the @@ -1045,7 +1458,7 @@ def setAsPinSlotJointMotion(self, rotationAxis: JointDirections, slideDirection: Returns true if the operation was successful. """ return bool() - def setAsPlanarJointMotion(self, normalDirection: JointDirections, customNormalDirectionEntity: core.Base, customPrimarySlideDirection: core.Base) -> bool: + def setAsPlanarJointMotion(self, normalDirection: JointDirections, customNormalDirectionEntity: core.Base = None, customPrimarySlideDirection: core.Base = None) -> bool: """ Defines the relationship between the two joint geometries as a planar joint. normalDirection : Defines the direction of the normal of the single degree of rotation. @@ -1060,7 +1473,7 @@ def setAsPlanarJointMotion(self, normalDirection: JointDirections, customNormalD Returns true if the operation was successful. """ return bool() - def setAsBallJointMotion(self, pitchDirection: JointDirections, yawDirection: JointDirections, customPitchDirection: core.Base, customYawDirection: core.Base) -> bool: + def setAsBallJointMotion(self, pitchDirection: JointDirections, yawDirection: JointDirections, customPitchDirection: core.Base = None, customYawDirection: core.Base = None) -> bool: """ Defines the relationship between the two joint geometries as a ball joint. pitchDirection : Defines the direction the pitch angle is measured from. This can be ZAxisJointDirection or CustomJointDirection. If @@ -1127,6 +1540,12 @@ def __init__(self): @staticmethod def cast(arg) -> AsBuiltJointList: return AsBuiltJointList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> AsBuiltJoint: + return None + def __iter__(self) -> Iterator[AsBuiltJoint]: + return None def item(self, index: int) -> AsBuiltJoint: """ Function that returns the specified as-built joint using an index into the list. @@ -1158,6 +1577,12 @@ def __init__(self): @staticmethod def cast(arg) -> AsBuiltJoints: return AsBuiltJoints() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> AsBuiltJoint: + return None + def __iter__(self) -> Iterator[AsBuiltJoint]: + return None def item(self, index: int) -> AsBuiltJoint: """ Function that returns the specified as-built joint using an index into the collection. @@ -1227,7 +1652,7 @@ def allOccurrencesByComponent(self, component: Component) -> OccurrenceList: The occurrences referenced by the specified component. """ return OccurrenceList() - def findBRepUsingRay(self, originPoint: core.Point3D, rayDirection: core.Vector3D, entityType: BRepEntityTypes, proximityTolerance: float, visibleEntitiesOnly: bool, hitPoints: core.ObjectCollection) -> core.ObjectCollection: + def findBRepUsingRay(self, originPoint: core.Point3D, rayDirection: core.Vector3D, entityType: BRepEntityTypes, proximityTolerance: float = -1, visibleEntitiesOnly: bool = True, hitPoints: core.ObjectCollection = None) -> core.ObjectCollection: """ Finds all the B-Rep entities that are intersected by the specified ray. This can return BRepFace, BrepEdge, and BRepVertex objects. @@ -1248,7 +1673,7 @@ def findBRepUsingRay(self, originPoint: core.Point3D, rayDirection: core.Vector3 once, the entity is returned once for the first intersection. """ return core.ObjectCollection() - def findBRepUsingPoint(self, point: core.Point3D, entityType: BRepEntityTypes, proximityTolerance: float, visibleEntitiesOnly: bool) -> core.ObjectCollection: + def findBRepUsingPoint(self, point: core.Point3D, entityType: BRepEntityTypes, proximityTolerance: float = -1, visibleEntitiesOnly: bool = True) -> core.ObjectCollection: """ Finds all the entities of the specified type at the specified location. point : Input coordinate that specifies the component space point at which to find the entities. @@ -1325,6 +1750,13 @@ def parentDesign(self) -> Design: Returns the parent product this component is owned by. """ return Design() + @property + def canvases(self) -> Canvases: + """ + Returns the canvases collection associated with this component. This provides access to the + existing canvases and supports the creation of new canvases. + """ + return Canvases() class BaseFeatures(core.Base): """ @@ -1335,6 +1767,12 @@ def __init__(self): @staticmethod def cast(arg) -> BaseFeatures: return BaseFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BaseFeature: + return None + def __iter__(self) -> Iterator[BaseFeature]: + return None def item(self, index: int) -> BaseFeature: """ Function that returns the specified base feature using an index into the collection. @@ -1362,77 +1800,34 @@ def count(self) -> int: """ return int() -class BoundaryFillFeatureInput(core.Base): +class BossFeatureInput(core.Base): """ - This class defines the methods and properties that pertain to the definition of a BoundaryFillFeatureInput. + This class defines the methods and properties that pertain to the definition of a boss feature or a boss connection """ def __init__(self): pass @staticmethod - def cast(arg) -> BoundaryFillFeatureInput: - return BoundaryFillFeatureInput() - def cancel(self) -> bool: + def cast(arg) -> BossFeatureInput: + return BossFeatureInput() + def setPositionBySketchPoints(self, pointOrPoints: core.Base) -> bool: """ - To determine the possible boundaries and allow you to choose which cells to keep, the boundary - fill feature does a partial compute when the input object is created. To do this it starts a boundary - fill feature transaction and completes the transaction when you call the add method. If you don't - call the add method to finish the transaction it leaves Fusion 360 in a bad state and there will be undo - problems and possibly a crash. If you have created a BoundFillFeatureInput object and don't want to finish - the feature creation, you need to call the cancel method on the BoundaryFillFeatureInput object to - safely abort the current boundary fill transaction. + Defines the position and orientation of the boss feature using a sketch point(s). + pointOrPoints : The sketch point or ObjectCollection of sketch points that defines the position(s) for boss mating location. + The orientation of the boss feature is inferred from the normal (Z-axis) of the point's parent sketch. + The natural direction (or direction of the screw) will be opposite the normal of the sketch. + If multiple sketch points are provided all must belong to the same sketch. + Participant bodies will be inferred from closest visible bodies unless specified explicitly. + Returns true if successful. """ return bool() - @property - def bRepCells(self) -> BRepCells: - """ - Returns the collection of the valid cells that have been calculated based on the set of input tools. - You use this collection to specify which cells you want included in the output. - """ - return BRepCells() - @property - def operation(self) -> FeatureOperations: - """ - Gets and sets the type of operation performed by the boundary fill feature. - """ - return FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + def createSideInput(self) -> BossFeatureSideInput: """ - Gets and sets the type of operation performed by the boundary fill feature. - """ - pass - @property - def creationOccurrence(self) -> Occurrence: - """ - In order for geometry to be transformed correctly, an Occurrence for creation needs to be - specified when the Boundary Fill is created based on geometry (e.g. a profile and/or face(s)) - in another component AND (the Boundary Fill) is not in the root component. - The CreationOccurrence is analogous to the active occurrence in the UI - """ - return Occurrence() - @creationOccurrence.setter - def creationOccurrence(self, value: Occurrence): - """ - In order for geometry to be transformed correctly, an Occurrence for creation needs to be - specified when the Boundary Fill is created based on geometry (e.g. a profile and/or face(s)) - in another component AND (the Boundary Fill) is not in the root component. - The CreationOccurrence is analogous to the active occurrence in the UI - """ - pass - @property - def tools(self) -> core.ObjectCollection: - """ - Gets and sets the collection of one or more construction planes and open or closed - BRepBody objects that are used in calculating the possible closed boundaries. + Creates a new BossFeatureSideInput object that is used to specify the input for boss feature side. + This object can be set to side1 or side2. Side1 is meant to be side where screw head engages with the boss + and Side2 is meant to be a side where screw thread engages with the part or metal inserts. + Returns BossFeatureSideInput if successful. """ - return core.ObjectCollection() - @tools.setter - def tools(self, value: core.ObjectCollection): - """ - Gets and sets the collection of one or more construction planes and open or closed - BRepBody objects that are used in calculating the possible closed boundaries. - """ - pass + return BossFeatureSideInput() @property def targetBaseFeature(self) -> BaseFeature: """ @@ -1459,6 +1854,783 @@ def targetBaseFeature(self, value: BaseFeature): feature must be in an "edit" state to be able to add any additional items to it. """ pass + @property + def creationOccurrence(self) -> Occurrence: + """ + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the boss feature is created based on geometry (e.g. point) in another + component AND (the boss) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI + A value of null indicates that everything is in the context of a single component. + The occurrence provided sets scope for detection of target participant bodies. + """ + return Occurrence() + @creationOccurrence.setter + def creationOccurrence(self, value: Occurrence): + """ + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the boss feature is created based on geometry (e.g. point) in another + component AND (the boss) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI + A value of null indicates that everything is in the context of a single component. + The occurrence provided sets scope for detection of target participant bodies. + """ + pass + @property + def participantBodies(self) -> list[BRepBody]: + """ + Gets and sets the list of bodies that will participate in the boss feature. If body provided does + not intersect with direction vector at proposed position points it will be ignored. If more bodies intersect + at given position point only the closest body will be accepted. Boss feature works with solid bodies only. + If this property has not been set (or is empty) closest visible bodies will be detected automatically + based on proposed positions and orientation. + """ + return [BRepBody()] + @participantBodies.setter + def participantBodies(self, value: list[BRepBody]): + """ + Gets and sets the list of bodies that will participate in the boss feature. If body provided does + not intersect with direction vector at proposed position points it will be ignored. If more bodies intersect + at given position point only the closest body will be accepted. Boss feature works with solid bodies only. + If this property has not been set (or is empty) closest visible bodies will be detected automatically + based on proposed positions and orientation. + """ + pass + @property + def side1(self) -> BossFeatureSideInput: + """ + Gets or sets inputs for top side of the boss feature connection. It is the side where screw head engages with the boss. + Default Side1 direction is considered direction of Z-axis of the parent sketch for selected position point. + """ + return BossFeatureSideInput() + @side1.setter + def side1(self, value: BossFeatureSideInput): + """ + Gets or sets inputs for top side of the boss feature connection. It is the side where screw head engages with the boss. + Default Side1 direction is considered direction of Z-axis of the parent sketch for selected position point. + """ + pass + @property + def side2(self) -> BossFeatureSideInput: + """ + Gets or sets inputs for bottom side of the boss feature connection. It is the side where screw thread engages with the part or metal insert. + Default Side2 direction is considered opposite to the direction Z-axis of the parent sketch for selected position point. + """ + return BossFeatureSideInput() + @side2.setter + def side2(self, value: BossFeatureSideInput): + """ + Gets or sets inputs for bottom side of the boss feature connection. It is the side where screw thread engages with the part or metal insert. + Default Side2 direction is considered opposite to the direction Z-axis of the parent sketch for selected position point. + """ + pass + @property + def isDefaultDirection(self) -> bool: + """ + Get or set if the boss feature (or boss connection) goes in the default direction or is reversed. + """ + return bool() + @isDefaultDirection.setter + def isDefaultDirection(self, value: bool): + """ + Get or set if the boss feature (or boss connection) goes in the default direction or is reversed. + """ + pass + @property + def offset(self) -> core.ValueInput: + """ + Get or set offset of the parting face from the selected position point. + """ + return core.ValueInput() + @offset.setter + def offset(self, value: core.ValueInput): + """ + Get or set offset of the parting face from the selected position point. + """ + pass + +class BossFeatures(core.Base): + """ + Collection that provides access to all of the existing boss features in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BossFeatures: + return BossFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BossFeature: + return None + def __iter__(self) -> Iterator[BossFeature]: + return None + def item(self, index: int) -> BossFeature: + """ + Function that returns the specified boss feature using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return BossFeature() + def itemByName(self, name: str) -> BossFeature: + """ + Function that returns the specified boss feature using the name of the feature. + name : The name of the feature within the collection to return. This is the name seen in the timeline. + Returns the specified item or null if the specified name was not found. + """ + return BossFeature() + def add(self, input: BossFeatureInput) -> list[BossFeature]: + """ + Creates a new boss feature (or more boss features) based on the information provided + by a BossFeatureInput object. + To create a new boss or boss connection, use createInput function to define a new input object for + the type of boss feature you want to create. Use the methods and properties on the input object + to define any additional inputs. Once the information is defined on the input object, you + can pass it to the Add method to create the boss feature or boss connection. + input : The BossFeatureInput object that defines the boss or boss connection you want to create. + Returns the newly created BossFeature objects or empty vector/list if the creation failed. + """ + return [BossFeature()] + def createInput(self) -> BossFeatureInput: + """ + Creates a new BossFeatureInput object that is used to specify the input needed to create a new boss feature(s). + Returns the newly created BossFeatureInput object or null if the creation failed. + """ + return BossFeatureInput() + @property + def count(self) -> int: + """ + The number of boss features in the collection. + """ + return int() + +class BossFeatureSideInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a single side of boss feature + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BossFeatureSideInput: + return BossFeatureSideInput() + def setBlank(self, diameter: core.ValueInput) -> None: + """ + Set boss shape into blank constant diameter shank with no hole. + diameter : The outside diameter for the boss feature shank. + + """ + pass + def setSimple(self, diameter: core.ValueInput, holeDiameter: core.ValueInput) -> None: + """ + Set boss shape into constant diameter shank with simple hole. + diameter : The outside diameter for the boss feature shank. + holeDiameter : The hole diameter. + + """ + pass + def setCounterbore(self, diameter: core.ValueInput, holeDiameter: core.ValueInput, holeMajorDiameter: core.ValueInput, depth: core.ValueInput) -> None: + """ + Set boss shape into constant diameter shank with counterbore hole. + diameter : The outside diameter for the boss feature shank. + holeDiameter : The hole diameter. + holeMajorDiameter : The hole major (or counterbore) diameter. + depth : With respect to hole orientation in the boss feature the parameter is either the counterbore depth or thickness of the material + under the screw head. + + """ + pass + def setCountersink(self, diameter: core.ValueInput, holeDiameter: core.ValueInput, holeMajorDiameter: core.ValueInput, depth: core.ValueInput, countersinkAngle: core.ValueInput = None) -> None: + """ + Set boss shape into constant diameter shank with countersink hole. + diameter : The outside diameter for the boss feature shank. + holeDiameter : The hole diameter. + holeMajorDiameter : The hole major (or countersink) diameter. + depth : With respect to hole orientation in the boss feature the parameter is either the counterbore depth or thickness of the material + under the screw head. + countersinkAngle : Optional parameter for hole countersink angle. If not specified it is set to 90 deg. + + """ + pass + def setRibExtent(self, position: core.Base, ribExtentTypes: list[int]) -> None: + """ + Set rib extent type for particular rib for position point provided. + position : Position point object for the rib extent types provided + ribExtentTypes : Vector of BossRibExtentTypes for individual rib based on rib count input. + + """ + pass + def clearRibExtent(self) -> None: + """ + Clears rib extent types for all position points. + + """ + pass + @property + def alignmentType(self) -> BossAlignmentTypes: + """ + Get or set boss alignment shape. This usually corresponds to the alignment shape of the boss counterpart. + """ + return BossAlignmentTypes() + @alignmentType.setter + def alignmentType(self, value: BossAlignmentTypes): + """ + Get or set boss alignment shape. This usually corresponds to the alignment shape of the boss counterpart. + """ + pass + @property + def holeExtentType(self) -> BossHoleExtentTypes: + """ + Get or set hole extent this feature represents. For top side only through hole extent is accepted. + """ + return BossHoleExtentTypes() + @holeExtentType.setter + def holeExtentType(self, value: BossHoleExtentTypes): + """ + Get or set hole extent this feature represents. For top side only through hole extent is accepted. + """ + pass + @property + def ribType(self) -> BossRibShapeTypes: + """ + Type of boss ribs this feature represents. + """ + return BossRibShapeTypes() + @ribType.setter + def ribType(self, value: BossRibShapeTypes): + """ + Type of boss ribs this feature represents. + """ + pass + @property + def offsetClearance(self) -> core.ValueInput: + """ + Get or set offset clearance as additional small offset from the selected parting plane and position point. + """ + return core.ValueInput() + @offsetClearance.setter + def offsetClearance(self, value: core.ValueInput): + """ + Get or set offset clearance as additional small offset from the selected parting plane and position point. + """ + pass + @property + def diameter(self) -> core.ValueInput: + """ + Get or set boss shank diameter. + """ + return core.ValueInput() + @diameter.setter + def diameter(self, value: core.ValueInput): + """ + Get or set boss shank diameter. + """ + pass + @property + def draftAngle(self) -> core.ValueInput: + """ + Get or set shank draft angle. + """ + return core.ValueInput() + @draftAngle.setter + def draftAngle(self, value: core.ValueInput): + """ + Get or set shank draft angle. + """ + pass + @property + def alignmentDiameter(self) -> core.ValueInput: + """ + Get or set alignment diameter. + """ + return core.ValueInput() + @alignmentDiameter.setter + def alignmentDiameter(self, value: core.ValueInput): + """ + Get or set alignment diameter. + """ + pass + @property + def alignmentDepth(self) -> core.ValueInput: + """ + Get or set alignment depth. + """ + return core.ValueInput() + @alignmentDepth.setter + def alignmentDepth(self, value: core.ValueInput): + """ + Get or set alignment depth. + """ + pass + @property + def alignmentDraftAngle(self) -> core.ValueInput: + """ + Get or set alignment draft angle. + """ + return core.ValueInput() + @alignmentDraftAngle.setter + def alignmentDraftAngle(self, value: core.ValueInput): + """ + Get or set alignment draft angle. + """ + pass + @property + def holeDiameter(self) -> core.ValueInput: + """ + Get or set hole diameter. + """ + return core.ValueInput() + @holeDiameter.setter + def holeDiameter(self, value: core.ValueInput): + """ + Get or set hole diameter. + """ + pass + @property + def holeDraftAngle(self) -> core.ValueInput: + """ + Get or set hole draft angle. + """ + return core.ValueInput() + @holeDraftAngle.setter + def holeDraftAngle(self, value: core.ValueInput): + """ + Get or set hole draft angle. + """ + pass + @property + def holeDepth(self) -> core.ValueInput: + """ + Get or set hole depth with respect to hole extent type. + If hole extent type is set to BossHoleThrough parameter is ignored. If hole extent type is BossBlindFull + the parameter is a distance from farthest face. If hole extent type is set to BossBlindDepth the parameter + is a distance from start face of the hole. + """ + return core.ValueInput() + @holeDepth.setter + def holeDepth(self, value: core.ValueInput): + """ + Get or set hole depth with respect to hole extent type. + If hole extent type is set to BossHoleThrough parameter is ignored. If hole extent type is BossBlindFull + the parameter is a distance from farthest face. If hole extent type is set to BossBlindDepth the parameter + is a distance from start face of the hole. + """ + pass + @property + def holeMajorDiameter(self) -> core.ValueInput: + """ + Get or set major hole diameter for counterbore or countersink hole. + This input is ignored for blank boss or boss with simple hole. + """ + return core.ValueInput() + @holeMajorDiameter.setter + def holeMajorDiameter(self, value: core.ValueInput): + """ + Get or set major hole diameter for counterbore or countersink hole. + This input is ignored for blank boss or boss with simple hole. + """ + pass + @property + def holeMajorDepth(self) -> core.ValueInput: + """ + Get or set major hole depth for counterbore and countersink hole or material thickness under screw head + based on hole orientation in a boss feature. This input is ignored for blank boss or boss with simple hole. + """ + return core.ValueInput() + @holeMajorDepth.setter + def holeMajorDepth(self, value: core.ValueInput): + """ + Get or set major hole depth for counterbore and countersink hole or material thickness under screw head + based on hole orientation in a boss feature. This input is ignored for blank boss or boss with simple hole. + """ + pass + @property + def holeMajorDraftAngle(self) -> core.ValueInput: + """ + Get or set major hole draft angle for counterbore and countersink hole. + This input is ignored for blank boss or boss with simple hole. + """ + return core.ValueInput() + @holeMajorDraftAngle.setter + def holeMajorDraftAngle(self, value: core.ValueInput): + """ + Get or set major hole draft angle for counterbore and countersink hole. + This input is ignored for blank boss or boss with simple hole. + """ + pass + @property + def holeCountersinkAngle(self) -> core.ValueInput: + """ + Get or set countersink angle for countersink hole. This input is used only for countersink hole. + """ + return core.ValueInput() + @holeCountersinkAngle.setter + def holeCountersinkAngle(self, value: core.ValueInput): + """ + Get or set countersink angle for countersink hole. This input is used only for countersink hole. + """ + pass + @property + def rootRadius(self) -> core.ValueInput: + """ + Get or set blend radius of the boss shank and participant body. + """ + return core.ValueInput() + @rootRadius.setter + def rootRadius(self, value: core.ValueInput): + """ + Get or set blend radius of the boss shank and participant body. + """ + pass + @property + def tipRadius(self) -> core.ValueInput: + """ + Get or set blend radius of the boss shank top parting face. + """ + return core.ValueInput() + @tipRadius.setter + def tipRadius(self, value: core.ValueInput): + """ + Get or set blend radius of the boss shank top parting face. + """ + pass + @property + def alignmentTipRadius(self) -> core.ValueInput: + """ + Get or set blend radius of the boss alignment tip. + """ + return core.ValueInput() + @alignmentTipRadius.setter + def alignmentTipRadius(self, value: core.ValueInput): + """ + Get or set blend radius of the boss alignment tip. + """ + pass + @property + def alignmentRootRadius(self) -> core.ValueInput: + """ + Get or set blend radius of the boss alignment root. + """ + return core.ValueInput() + @alignmentRootRadius.setter + def alignmentRootRadius(self, value: core.ValueInput): + """ + Get or set blend radius of the boss alignment root. + """ + pass + @property + def holeStartRadius(self) -> core.ValueInput: + """ + Get or set blend radius of the hole start. + """ + return core.ValueInput() + @holeStartRadius.setter + def holeStartRadius(self, value: core.ValueInput): + """ + Get or set blend radius of the hole start. + """ + pass + @property + def holeEndRadius(self) -> core.ValueInput: + """ + Get or set blend radius of the hole end. + """ + return core.ValueInput() + @holeEndRadius.setter + def holeEndRadius(self, value: core.ValueInput): + """ + Get or set blend radius of the hole end. + """ + pass + @property + def holeMajorTipRadius(self) -> core.ValueInput: + """ + Get or set blend radius of major hole counterbore. + """ + return core.ValueInput() + @holeMajorTipRadius.setter + def holeMajorTipRadius(self, value: core.ValueInput): + """ + Get or set blend radius of major hole counterbore. + """ + pass + @property + def holeMajorRootRadius(self) -> core.ValueInput: + """ + Get or set blend radius of major hole counterbore root. + """ + return core.ValueInput() + @holeMajorRootRadius.setter + def holeMajorRootRadius(self, value: core.ValueInput): + """ + Get or set blend radius of major hole counterbore root. + """ + pass + @property + def ribLength(self) -> core.ValueInput: + """ + Get or set ribs length measured from the shank axis. + """ + return core.ValueInput() + @ribLength.setter + def ribLength(self, value: core.ValueInput): + """ + Get or set ribs length measured from the shank axis. + """ + pass + @property + def ribOffset(self) -> core.ValueInput: + """ + Get or set ribs offset from the top face or alignment face. + """ + return core.ValueInput() + @ribOffset.setter + def ribOffset(self, value: core.ValueInput): + """ + Get or set ribs offset from the top face or alignment face. + """ + pass + @property + def ribThickness(self) -> core.ValueInput: + """ + Get or set ribs thickness. + """ + return core.ValueInput() + @ribThickness.setter + def ribThickness(self, value: core.ValueInput): + """ + Get or set ribs thickness. + """ + pass + @property + def ribDraftAngle(self) -> core.ValueInput: + """ + Get or set ribs draft angle. + """ + return core.ValueInput() + @ribDraftAngle.setter + def ribDraftAngle(self, value: core.ValueInput): + """ + Get or set ribs draft angle. + """ + pass + @property + def ribOuterDraftAngle(self) -> core.ValueInput: + """ + Get or set rib outer draft angle. + """ + return core.ValueInput() + @ribOuterDraftAngle.setter + def ribOuterDraftAngle(self, value: core.ValueInput): + """ + Get or set rib outer draft angle. + """ + pass + @property + def ribCutSize(self) -> core.ValueInput: + """ + Get or set size of rib chamfer or fillet. + """ + return core.ValueInput() + @ribCutSize.setter + def ribCutSize(self, value: core.ValueInput): + """ + Get or set size of rib chamfer or fillet. + """ + pass + @property + def ribChamferAngle(self) -> core.ValueInput: + """ + Get or set rib chamfer angle. This input is used only for rib with chamfer. + """ + return core.ValueInput() + @ribChamferAngle.setter + def ribChamferAngle(self, value: core.ValueInput): + """ + Get or set rib chamfer angle. This input is used only for rib with chamfer. + """ + pass + @property + def ribTipRadius(self) -> core.ValueInput: + """ + Get or set rib outer tip blend radius. + """ + return core.ValueInput() + @ribTipRadius.setter + def ribTipRadius(self, value: core.ValueInput): + """ + Get or set rib outer tip blend radius. + """ + pass + @property + def ribRootRadius(self) -> core.ValueInput: + """ + Get or set rib base root blend radius. + """ + return core.ValueInput() + @ribRootRadius.setter + def ribRootRadius(self, value: core.ValueInput): + """ + Get or set rib base root blend radius. + """ + pass + @property + def ribRotation(self) -> core.ValueInput: + """ + Get or set rotation angle of the first rib from the reference vector. + Reference vector is X-axis of the parent sketch from selected sketch point(s). + """ + return core.ValueInput() + @ribRotation.setter + def ribRotation(self, value: core.ValueInput): + """ + Get or set rotation angle of the first rib from the reference vector. + Reference vector is X-axis of the parent sketch from selected sketch point(s). + """ + pass + @property + def ribTotalAngle(self) -> core.ValueInput: + """ + Get or set total angle for ribs distribution. Default is 360 deg. + """ + return core.ValueInput() + @ribTotalAngle.setter + def ribTotalAngle(self, value: core.ValueInput): + """ + Get or set total angle for ribs distribution. Default is 360 deg. + """ + pass + @property + def ribCount(self) -> core.ValueInput: + """ + Get or set number of ribs. + """ + return core.ValueInput() + @ribCount.setter + def ribCount(self, value: core.ValueInput): + """ + Get or set number of ribs. + """ + pass + +class BossPositionDefinition(core.Base): + """ + The base class for the classes that define how a boss feature can be positioned. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BossPositionDefinition: + return BossPositionDefinition() + +class BoundaryFillFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a BoundaryFillFeatureInput. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BoundaryFillFeatureInput: + return BoundaryFillFeatureInput() + def cancel(self) -> bool: + """ + To determine the possible boundaries and allow you to choose which cells to keep, the boundary + fill feature does a partial compute when the input object is created. To do this it starts a boundary + fill feature transaction and completes the transaction when you call the add method. If you don't + call the add method to finish the transaction it leaves Fusion 360 in a bad state and there will be undo + problems and possibly a crash. If you have created a BoundFillFeatureInput object and don't want to finish + the feature creation, you need to call the cancel method on the BoundaryFillFeatureInput object to + safely abort the current boundary fill transaction. + Returns true if successful. + """ + return bool() + @property + def bRepCells(self) -> BRepCells: + """ + Returns the collection of the valid cells that have been calculated based on the set of input tools. + You use this collection to specify which cells you want included in the output. + """ + return BRepCells() + @property + def operation(self) -> FeatureOperations: + """ + Gets and sets the type of operation performed by the boundary fill feature. + """ + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): + """ + Gets and sets the type of operation performed by the boundary fill feature. + """ + pass + @property + def creationOccurrence(self) -> Occurrence: + """ + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the Boundary Fill is created based on geometry (e.g. a profile and/or face(s)) + in another component AND (the Boundary Fill) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI + """ + return Occurrence() + @creationOccurrence.setter + def creationOccurrence(self, value: Occurrence): + """ + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the Boundary Fill is created based on geometry (e.g. a profile and/or face(s)) + in another component AND (the Boundary Fill) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI + """ + pass + @property + def tools(self) -> core.ObjectCollection: + """ + Gets and sets the collection of one or more construction planes and open or closed + BRepBody objects that are used in calculating the possible closed boundaries. + """ + return core.ObjectCollection() + @tools.setter + def tools(self, value: core.ObjectCollection): + """ + Gets and sets the collection of one or more construction planes and open or closed + BRepBody objects that are used in calculating the possible closed boundaries. + """ + pass + @property + def targetBaseFeature(self) -> BaseFeature: + """ + When creating a feature that is owned by a base feature, set this property to the + base feature you want to associate the new feature with. By default, this is null, + meaning it will not be associated with a base feature. + + Because of a current limitation, if you want to create a feature associated with a base + feature, you must set this property AND call the startEdit method of the base feature, + create the feature, and then call the finishEdit method of the base feature. The base + feature must be in an "edit" state to be able to add any additional items to it. + """ + return BaseFeature() + @targetBaseFeature.setter + def targetBaseFeature(self, value: BaseFeature): + """ + When creating a feature that is owned by a base feature, set this property to the + base feature you want to associate the new feature with. By default, this is null, + meaning it will not be associated with a base feature. + + Because of a current limitation, if you want to create a feature associated with a base + feature, you must set this property AND call the startEdit method of the base feature, + create the feature, and then call the finishEdit method of the base feature. The base + feature must be in an "edit" state to be able to add any additional items to it. + """ + pass + @property + def isRemoveTools(self) -> bool: + """ + Gets and sets whether any BRepBodys that were used as tools should be removed as part of the feature creation. + """ + return bool() + @isRemoveTools.setter + def isRemoveTools(self, value: bool): + """ + Gets and sets whether any BRepBodys that were used as tools should be removed as part of the feature creation. + """ + pass class BoundaryFillFeatures(core.Base): """ @@ -1470,6 +2642,12 @@ def __init__(self): @staticmethod def cast(arg) -> BoundaryFillFeatures: return BoundaryFillFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BoundaryFillFeature: + return None + def __iter__(self) -> Iterator[BoundaryFillFeature]: + return None def item(self, index: int) -> BoundaryFillFeature: """ Function that returns the specified boundary fill feature using an index into the collection. @@ -1528,6 +2706,12 @@ def __init__(self): @staticmethod def cast(arg) -> BoxFeatures: return BoxFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BoxFeature: + return None + def __iter__(self) -> Iterator[BoxFeature]: + return None def item(self, index: int) -> BoxFeature: """ Function that returns the specified box feature using an index into the collection. @@ -1559,6 +2743,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepBodies: return BRepBodies() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepBody: + return None + def __iter__(self) -> Iterator[BRepBody]: + return None def item(self, index: int) -> BRepBody: """ Function that returns the specified body using an index into the collection. @@ -1573,7 +2763,7 @@ def itemByName(self, name: str) -> BRepBody: The BRepBody or null if a body with the defined name is not found. """ return BRepBody() - def add(self, body: BRepBody, targetBaseFeature: BaseFeature) -> BRepBody: + def add(self, body: BRepBody, targetBaseFeature: BaseFeature = None) -> BRepBody: """ Creates a new BRepBody object. The input can be a persisted or transient BRepBody and the result is a persisted BRepBody. In a model where the design history is ignored (direct edit model) @@ -1713,7 +2903,7 @@ def findByTempId(self, tempId: int) -> list[core.Base]: or face was split. Returns an empty array in the case where no match is found. """ return [core.Base()] - def getPhysicalProperties(self, accuracy: CalculationAccuracy) -> PhysicalProperties: + def getPhysicalProperties(self, accuracy: CalculationAccuracy = CalculationAccuracy.LowCalculationAccuracy) -> PhysicalProperties: """ Returns the PhysicalProperties object that has properties for getting the area, density, mass, volume, moments, etc of this body. @@ -2054,6 +3244,21 @@ def entityToken(self) -> str: property is false). """ return str() + @property + def textureMapControl(self) -> core.TextureMapControl: + """ + Returns the TextureMapControl object associated with this body when there is an + appearance assigned to the body that has a texture associated with it. If there + isn't a texture, this property will return null. If there is a texture, you can + use the returned object to query and modify how the texture is applied to the body. + """ + return core.TextureMapControl() + @property + def isSheetMetal(self) -> bool: + """ + Indicates if this body represents a sheet metal folded part or not and if a flat pattern can be created. + """ + return bool() class BRepBodyDefinition(core.Base): """ @@ -2194,6 +3399,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepCells: return BRepCells() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepCell: + return None + def __iter__(self) -> Iterator[BRepCell]: + return None def item(self, index: int) -> BRepCell: """ Function that returns the specified BRepCell using an index into the collection. @@ -2373,6 +3584,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepCoEdgeDefinitions: return BRepCoEdgeDefinitions() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepCoEdgeDefinition: + return None + def __iter__(self) -> Iterator[BRepCoEdgeDefinition]: + return None def item(self, index: int) -> BRepCoEdgeDefinition: """ Function that returns the specified BRepCoEdgeDefinition object using an index into the collection. @@ -2405,6 +3622,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepCoEdges: return BRepCoEdges() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepCoEdge: + return None + def __iter__(self) -> Iterator[BRepCoEdge]: + return None def item(self, index: int) -> BRepCoEdge: """ Function that returns the specified co-edge using an index into the collection. @@ -2691,6 +3914,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepEdges: return BRepEdges() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepEdge: + return None + def __iter__(self) -> Iterator[BRepEdge]: + return None def item(self, index: int) -> BRepEdge: """ Function that returns the specified edge using an index into the collection. @@ -2968,6 +4197,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepFaceDefinitions: return BRepFaceDefinitions() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepFaceDefinition: + return None + def __iter__(self) -> Iterator[BRepFaceDefinition]: + return None def item(self, index: int) -> BRepFaceDefinition: """ Function that returns the specified BRepFaceDefinition object using an index into the collection. @@ -3001,6 +4236,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepFaces: return BRepFaces() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepFace: + return None + def __iter__(self) -> Iterator[BRepFace]: + return None def item(self, index: int) -> BRepFace: """ Function that returns the specified face using an index into the collection. @@ -3132,6 +4373,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepLoopDefinitions: return BRepLoopDefinitions() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepLoopDefinition: + return None + def __iter__(self) -> Iterator[BRepLoopDefinition]: + return None def item(self, index: int) -> BRepLoopDefinition: """ Function that returns the specified BRepLoopDefinition object using an index into the collection. @@ -3161,6 +4408,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepLoops: return BRepLoops() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepLoop: + return None + def __iter__(self) -> Iterator[BRepLoop]: + return None def item(self, index: int) -> BRepLoop: """ Function that returns the specified loop using an index into the collection. @@ -3324,6 +4577,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepLumpDefinitions: return BRepLumpDefinitions() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepLumpDefinition: + return None + def __iter__(self) -> Iterator[BRepLumpDefinition]: + return None def item(self, index: int) -> BRepLumpDefinition: """ Function that returns the specified BRepLumpDefinition object using an index into the collection. @@ -3353,6 +4612,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepLumps: return BRepLumps() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepLump: + return None + def __iter__(self) -> Iterator[BRepLump]: + return None def item(self, index: int) -> BRepLump: """ Function that returns the specified lump using an index into the collection. @@ -3535,6 +4800,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepShellDefinitions: return BRepShellDefinitions() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepShellDefinition: + return None + def __iter__(self) -> Iterator[BRepShellDefinition]: + return None def item(self, index: int) -> BRepShellDefinition: """ Function that returns the specified BRepShellDefinition object using an index into the collection. @@ -3564,6 +4835,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepShells: return BRepShells() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepShell: + return None + def __iter__(self) -> Iterator[BRepShell]: + return None def item(self, index: int) -> BRepShell: """ Function that returns the specified shell using an index into the collection. @@ -3721,6 +4998,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepVertices: return BRepVertices() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepVertex: + return None + def __iter__(self) -> Iterator[BRepVertex]: + return None def item(self, index: int) -> BRepVertex: """ Function that returns the specified vertex using an index into the collection. @@ -3904,13 +5187,20 @@ def modelSpaceCurve(self, value: core.Curve3D): class BRepWireEdgeDefinitions(core.Base): """ - + A collection of BRepWireEdgeDefinition objects. Using this collection you can create new + BRepWireDefinition objects to full define a wire body. """ def __init__(self): pass @staticmethod def cast(arg) -> BRepWireEdgeDefinitions: return BRepWireEdgeDefinitions() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepWireEdgeDefinition: + return None + def __iter__(self) -> Iterator[BRepWireEdgeDefinition]: + return None def item(self, index: int) -> BRepWireEdgeDefinition: """ Function that returns the specified BRepWireEdgeDefinition object using an index into the collection. @@ -3946,6 +5236,12 @@ def __init__(self): @staticmethod def cast(arg) -> BRepWires: return BRepWires() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> BRepWire: + return None + def __iter__(self) -> Iterator[BRepWire]: + return None def item(self, index: int) -> BRepWire: """ Function that returns the specified wire using an index into the collection. @@ -3960,6 +5256,499 @@ def count(self) -> int: """ return int() +class Canvas(core.Base): + """ + Represents a Canvas within a component. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Canvas: + return Canvas() + def deleteMe(self) -> bool: + """ + Deletes the canvas from the component. + """ + return bool() + def saveImage(self, filename: str) -> bool: + """ + Saves the image associated with the canvas to the specified file. This is useful in + cases where the original image file is no longer available but you need the image + for some other purpose. + filename : The full filename of the image to save, including the extension of the file, which + controls what format the image file will be. If file extension is other than png, jpeg + or tiff, then by default png extension will be added to the filename + Returns true if writing the file was successful. + """ + return bool() + def flipHorizontal(self) -> bool: + """ + Flips the image along the horizontal axis. This is a convenience method that + flips the direction of the X axis of the transform. + Returns true if the flip was successful. + """ + return bool() + def flipVertical(self) -> bool: + """ + Flips the image along the vertical axis. This is a convenience method that + flips the direction of the Y axis of the transform. + Returns true if the flip was successful. + """ + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> Canvas: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return Canvas() + @property + def name(self) -> str: + """ + Gets and sets the name of the canvas. This is the name seen in the browser and timeline. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of the canvas. This is the name seen in the browser and timeline. + """ + pass + @property + def planarEntity(self) -> core.Base: + """ + Gets and sets the plane the canvas is associated with. This can be either a planar Face + or a construction plane. In the case where the design history is not being captured or + the canvas is being created in a base feature, this can be a Plane object. + """ + return core.Base() + @planarEntity.setter + def planarEntity(self, value: core.Base): + """ + Gets and sets the plane the canvas is associated with. This can be either a planar Face + or a construction plane. In the case where the design history is not being captured or + the canvas is being created in a base feature, this can be a Plane object. + """ + pass + @property + def opacity(self) -> int: + """ + Gets and sets the opacity of the canvas where 0 is completely + transparent and 100 is completely opaque. Setting this property + to a value outside the range of 0-100 will result in the value + being set to the closest valid value. + """ + return int() + @opacity.setter + def opacity(self, value: int): + """ + Gets and sets the opacity of the canvas where 0 is completely + transparent and 100 is completely opaque. Setting this property + to a value outside the range of 0-100 will result in the value + being set to the closest valid value. + """ + pass + @property + def isDisplayedThrough(self) -> bool: + """ + Controls if the image is visible through the model or not. + """ + return bool() + @isDisplayedThrough.setter + def isDisplayedThrough(self, value: bool): + """ + Controls if the image is visible through the model or not. + """ + pass + @property + def isSelectable(self) -> bool: + """ + Controls if the canvas is selectable or not within the graphics window. + """ + return bool() + @isSelectable.setter + def isSelectable(self, value: bool): + """ + Controls if the canvas is selectable or not within the graphics window. + """ + pass + @property + def isRenderable(self) -> bool: + """ + Controls if the canvas will be rendered when ray tracing within the Render workspace. + """ + return bool() + @isRenderable.setter + def isRenderable(self, value: bool): + """ + Controls if the canvas will be rendered when ray tracing within the Render workspace. + """ + pass + @property + def isVisible(self) -> bool: + """ + Returns if the canvas is currently visible in the graphics window. The isLightBulbOn + property of the canvas controls if the canvas should be displayed or not, but even + when true, the canvas may not be visible because the occurrence that references the + component may not be visible. It's also possible to turn off the visibility of all + canvases for a component. This property takes all of that into account when reporting + if the canvas is visible or not. + """ + return bool() + @property + def imageFilename(self) -> str: + """ + Gets and sets the filename of the image used for the canvas. When getting this property, + the filename returned is the file that was used when the canvas was initially created. + it's possible the file may no longer exist. + + When setting this property, it is the full filename to the image to use for the canvas. + PNG, JPEG, and TIFF files are supported. + """ + return str() + @imageFilename.setter + def imageFilename(self, value: str): + """ + Gets and sets the filename of the image used for the canvas. When getting this property, + the filename returned is the file that was used when the canvas was initially created. + it's possible the file may no longer exist. + + When setting this property, it is the full filename to the image to use for the canvas. + PNG, JPEG, and TIFF files are supported. + """ + pass + @property + def plane(self) -> core.Plane: + """ + Returns a Plane object that represents the position and orientation of the canvas in model space. + """ + return core.Plane() + @property + def transform(self) -> core.Matrix2D: + """ + Gets and sets the transform of the canvas. This allows you to control the position, rotation, + scaling, and flipping. The X and Y axes defined by the matrix and must be perpendicular to one another. + + This is a 3x3 matrix where the third column controls the position of the canvas and + defines the position using 2D coordinates in the model space. + """ + return core.Matrix2D() + @transform.setter + def transform(self, value: core.Matrix2D): + """ + Gets and sets the transform of the canvas. This allows you to control the position, rotation, + scaling, and flipping. The X and Y axes defined by the matrix and must be perpendicular to one another. + + This is a 3x3 matrix where the third column controls the position of the canvas and + defines the position using 2D coordinates in the model space. + """ + pass + @property + def isLightBulbOn(self) -> bool: + """ + Gets and sets if the light bulb of this canvas as displayed in the browser is on or off. + + A canvas will only be visible if the light bulb is switched on. However, the light bulb + can be on and the canvas still invisible if the visibility of a higher level occurrence + has its light bulb off or if the light bulb for Canvases folder is off to turn off all + canvases in a component. + """ + return bool() + @isLightBulbOn.setter + def isLightBulbOn(self, value: bool): + """ + Gets and sets if the light bulb of this canvas as displayed in the browser is on or off. + + A canvas will only be visible if the light bulb is switched on. However, the light bulb + can be on and the canvas still invisible if the visibility of a higher level occurrence + has its light bulb off or if the light bulb for Canvases folder is off to turn off all + canvases in a component. + """ + pass + @property + def entityToken(self) -> str: + """ + Returns a token for the Canvas object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same canvas. + + When using entity tokens it's important to understand that the token string returned for a + specific entity can be different over time. However, even if you have two different token + strings that were obtained from the same entity, when you use findEntityByToken they + will both return the same entity. Because of that you should never compare entity tokens + as way to determine what the token represents. Instead, you need to use the findEntityByToken + method to get the two entities identified by the tokens and then compare them. + """ + return str() + @property + def assemblyContext(self) -> Occurrence: + """ + Returns the assembly occurrence (i.e. the occurrence) of this object + in an assembly. This is only valid in the case where this is acting + as a proxy in an assembly. Returns null in the case where the object + is not in the context of an assembly but is already the native object. + """ + return Occurrence() + @property + def nativeObject(self) -> Canvas: + """ + The NativeObject is the object outside the context of an assembly and + in the context of it's parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return Canvas() + @property + def timelineObject(self) -> TimelineObject: + """ + Returns the timeline object associated with the creation of this canvas. + """ + return TimelineObject() + +class Canvases(core.Base): + """ + Provides access to the Canvases in a component and provides the functionality + to add new Canvases. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Canvases: + return Canvases() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Canvas: + return None + def __iter__(self) -> Iterator[Canvas]: + return None + def item(self, index: int) -> Canvas: + """ + Returns the specified canvas using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return Canvas() + def itemByName(self, name: str) -> Canvas: + """ + Returns the specified canvas using the name of the canvas. + name : The name of the canvas as seen in the browser and timeline. + Returns the specified Canvas, if it exists. Otherwise it returns null. + """ + return Canvas() + def add(self, input: CanvasInput) -> Canvas: + """ + Creates a new canvas. Use the createInput method to first create an input object and + set the available options. Then, pass that input object to the add method to create the canvas. + input : The CanvasInput object that defines the required information needed to create a new canvas. + A CanvasInput object is the logical equivalent to the command dialog when creating + a canvas. It provides access to the various options when creating a canvas. Calling the add method and passing + in the CanvasInput is the equivalent to clicking the OK button on the dialog to create the canvas. + Returns the newly created Canvas object. + """ + return Canvas() + def createInput(self, imageFilename: str, planarEntity: core.Base) -> CanvasInput: + """ + Creates a new CanvasInput object. A CanvasInput object is the logical equivalent to the command dialog when creating + a canvas. It provides access to the various options when creating a canvas. Calling the add method and passing + in the CanvasInput is the equivalent to clicking the OK button on the dialog to create the canvas. + imageFilename : The full filename to the image to use for the canvas. PNG, JPEG, and TIFF files are supported. + planarEntity : A planar BRepFace or a Construction plane to create the canvas on. If the canvas is being created in a base + feature or in a design where the design history is not being captured, this can be a Plane object. + Returns a CanvasInput object or null in the case of failure. + """ + return CanvasInput() + @property + def count(self) -> int: + """ + Returns the number of canvases in the component. + """ + return int() + +class CanvasInput(core.Base): + """ + The CanvasInput object is used to define the various options when creating a new canvas. It's created + using the Canvases.createInput method and is used by the Canvases.add method to create a Canvas. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CanvasInput: + return CanvasInput() + def flipHorizontal(self) -> bool: + """ + Flips the image along the horizontal axis. This is a convenience method that + flips the direction of the X axis of the transform. + Returns true if the flip was successful. + """ + return bool() + def flipVertical(self) -> bool: + """ + Flips the image along the vertical axis. This is a convenience method that + flips the direction of the Y axis of the transform. + Returns true if the flip was successful. + """ + return bool() + @property + def planarEntity(self) -> core.Base: + """ + Gets and sets the plane the canvas is associated with. This can be either a planar Face + or a construction plane. In the case where the design history is not being captured or + the canvas is being created in a base feature, this can be a Plane object. + """ + return core.Base() + @planarEntity.setter + def planarEntity(self, value: core.Base): + """ + Gets and sets the plane the canvas is associated with. This can be either a planar Face + or a construction plane. In the case where the design history is not being captured or + the canvas is being created in a base feature, this can be a Plane object. + """ + pass + @property + def opacity(self) -> int: + """ + Gets and sets the opacity of the canvas where 0 is completely + transparent and 100 is completely opaque. Setting this property + to a value outside the range of 0-100 will result in the value + being set to the closest valid value. + + Defaults to 50 when the input is created. + """ + return int() + @opacity.setter + def opacity(self, value: int): + """ + Gets and sets the opacity of the canvas where 0 is completely + transparent and 100 is completely opaque. Setting this property + to a value outside the range of 0-100 will result in the value + being set to the closest valid value. + + Defaults to 50 when the input is created. + """ + pass + @property + def isDisplayedThrough(self) -> bool: + """ + Controls if the image is visible through the model or not. + + Defaults to true when the input is created. + """ + return bool() + @isDisplayedThrough.setter + def isDisplayedThrough(self, value: bool): + """ + Controls if the image is visible through the model or not. + + Defaults to true when the input is created. + """ + pass + @property + def isSelectable(self) -> bool: + """ + Controls if the canvas is selectable or not within the graphics window. + + Defaults to false when the input is created. + """ + return bool() + @isSelectable.setter + def isSelectable(self, value: bool): + """ + Controls if the canvas is selectable or not within the graphics window. + + Defaults to false when the input is created. + """ + pass + @property + def isRenderable(self) -> bool: + """ + Controls if the canvas will be rendered when ray tracing within the Render workspace. + + Defaults to false when the input is created. + """ + return bool() + @isRenderable.setter + def isRenderable(self, value: bool): + """ + Controls if the canvas will be rendered when ray tracing within the Render workspace. + + Defaults to false when the input is created. + """ + pass + @property + def imageFilename(self) -> str: + """ + Gets and sets the filename of the image used for the canvas. + + When setting this property, it is the full filename to the image to use for the canvas. + PNG, JPEG, and TIFF files are supported. + """ + return str() + @imageFilename.setter + def imageFilename(self, value: str): + """ + Gets and sets the filename of the image used for the canvas. + + When setting this property, it is the full filename to the image to use for the canvas. + PNG, JPEG, and TIFF files are supported. + """ + pass + @property + def plane(self) -> core.Plane: + """ + Returns a Plane object that is obtained from the planar face or construction plane + and defines the parameter space the canvas is positioned relative to. + """ + return core.Plane() + @property + def transform(self) -> core.Matrix2D: + """ + Gets and sets the transform of the canvas. This allows you to control the position, rotation, + scaling, and flipping. The X and Y axes defined by the matrix, must be perpendicular to one another. + The directions of the X and Y axes defines the orientation of the image. + + This is a 3x3 matrix where the third column controls the position of the canvas and is relative to + the parameter space of the plane defined by the specified planar face or construction plane. + """ + return core.Matrix2D() + @transform.setter + def transform(self, value: core.Matrix2D): + """ + Gets and sets the transform of the canvas. This allows you to control the position, rotation, + scaling, and flipping. The X and Y axes defined by the matrix, must be perpendicular to one another. + The directions of the X and Y axes defines the orientation of the image. + + This is a 3x3 matrix where the third column controls the position of the canvas and is relative to + the parameter space of the plane defined by the specified planar face or construction plane. + """ + pass + @property + def targetBaseFeature(self) -> BaseFeature: + """ + When creating a feature that is owned by a base feature, set this property to the + base feature you want to associate the new feature with. By default, this is null, + meaning it will not be associated with a base feature. + + Because of a current limitation, if you want to create a feature associated with a base + feature, you must set this property AND call the startEdit method of the base feature, + create the feature, and then call the finishEdit method of the base feature. The base + feature must be in an "edit" state to be able to add any additional items to it. + """ + return BaseFeature() + @targetBaseFeature.setter + def targetBaseFeature(self, value: BaseFeature): + """ + When creating a feature that is owned by a base feature, set this property to the + base feature you want to associate the new feature with. By default, this is null, + meaning it will not be associated with a base feature. + + Because of a current limitation, if you want to create a feature associated with a base + feature, you must set this property AND call the startEdit method of the base feature, + create the feature, and then call the finishEdit method of the base feature. The base + feature must be in an "edit" state to be able to add any additional items to it. + """ + pass + class ChamferEdgeSet(core.Base): """ The base class for the classes that define the different types of chamfer edge sets. @@ -4000,6 +5789,12 @@ def __init__(self): @staticmethod def cast(arg) -> ChamferEdgeSets: return ChamferEdgeSets() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ChamferEdgeSet: + return None + def __iter__(self) -> Iterator[ChamferEdgeSet]: + return None def item(self, index: int) -> ChamferEdgeSet: """ Function that returns the specified chamfer edge set using an index into the collection. @@ -4091,81 +5886,6 @@ def __init__(self): @staticmethod def cast(arg) -> ChamferFeatureInput: return ChamferFeatureInput() - def setToEqualDistance(self, distance: core.ValueInput) -> bool: - """ - Adds a set of edges to this input. - distance : A ValueInput object that defines the size of the chamfer. If the ValueInput uses - a real then it is interpreted as centimeters. If it is a string then the units - can be defined as part of the string (i.e. "2 in"). If no units are specified - it is interpreted using the current default units for length. - Returns true if the set of edges was successfully added to the ChamferFeatureInput. - """ - return bool() - def setToTwoDistances(self, distanceOne: core.ValueInput, distanceTwo: core.ValueInput) -> bool: - """ - Adds a set of edges to this input. - distanceOne : A ValueInput object that defines the distanceOne of the chamfer. This distance - is along the face which is on the left of the selected edge. - If the ValueInput uses a real then it is interpreted as centimeters. - If it is a string then the units can be defined as part of the string (i.e. "2 in"). - If no units are specified it is interpreted using the current default units for length. - distanceTwo : A ValueInput object that defines the distanceTwo of the chamfer. This distance - is along the face which is on the right of the selected edge. - If the ValueInput uses a real then it is interpreted as centimeters. - If it is a string then the units can be defined as part of the string (i.e. "2 in"). - If no units are specified it is interpreted using the current default units for length. - Returns true if successful. - """ - return bool() - def setToDistanceAndAngle(self, distance: core.ValueInput, angle: core.ValueInput) -> bool: - """ - Adds a set of edges to this input. - distance : A ValueInput object that defines the distance of the chamfer. This distance - is along the face which is on the right of the selected edge. - If the ValueInput uses a real then it is interpreted as centimeters. - If it is a string then the units can be defined as part of the string (i.e. "2 in"). - If no units are specified it is interpreted using the current default units for length. - angle : A valueInput object that defines the angle. The direction will be towards to the face - which is on the left of the selected edge. This can be a string or a value. - If it's a string it is interpreted using the current document units and can include - equations. For example all of the following are valid as long as they result in - angle units; "45", "45 deg", "a1 / 2". If a value is input it is interpreted - as radians. It cannot be negative. - Returns true if successful. - """ - return bool() - @property - def edges(self) -> core.ObjectCollection: - """ - Gets and sets the collection of edges that will be chamfered. - - To use this property, you need to position the timeline marker to immediately before this feature. - This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) - """ - return core.ObjectCollection() - @edges.setter - def edges(self, value: core.ObjectCollection): - """ - Gets and sets the collection of edges that will be chamfered. - - To use this property, you need to position the timeline marker to immediately before this feature. - This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) - """ - pass - @property - def isTangentChain(self) -> bool: - """ - Gets and sets if any edges that are tangentially connected to any of chamfered - edges will also be included in the chamfer. - """ - return bool() - @isTangentChain.setter - def isTangentChain(self, value: bool): - """ - Gets and sets if any edges that are tangentially connected to any of chamfered - edges will also be included in the chamfer. - """ - pass @property def targetBaseFeature(self) -> BaseFeature: """ @@ -4221,6 +5941,12 @@ def __init__(self): @staticmethod def cast(arg) -> ChamferFeatures: return ChamferFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ChamferFeature: + return None + def __iter__(self) -> Iterator[ChamferFeature]: + return None def item(self, index: int) -> ChamferFeature: """ Function that returns the specified chamfer feature using an index into the collection. @@ -4228,16 +5954,6 @@ def item(self, index: int) -> ChamferFeature: Returns the specified item or null if an invalid index was specified. """ return ChamferFeature() - def createInput(self, edges: core.ObjectCollection, isTangentChain: bool) -> ChamferFeatureInput: - """ - Creates a ChamferFeatureInput object. Use properties and methods on this object - to define the chamfer you want to create and then use the Add method, passing in - the ChamferFeatureInput object. - edges : The collection of edges that will be chamfered. - isTangentChain : Boolean indicating if all edges that are tangentially connected to any of the input edges should be included in the chamfer or not. - Returns the newly created ChamferFeatureInput object or null if the creation failed. - """ - return ChamferFeatureInput() def add(self, input: ChamferFeatureInput) -> ChamferFeature: """ Creates a new chamfer feature. @@ -4269,21 +5985,102 @@ def count(self) -> int: """ return int() -class ChamferTypeDefinition(core.Base): +class CircularPatternConstraintInput(core.Base): """ - The base class for the classes that define how a chamfer can be defined. + This class defines the methods and properties that pertain to the definition of a circular pattern + in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> ChamferTypeDefinition: - return ChamferTypeDefinition() + def cast(arg) -> CircularPatternConstraintInput: + return CircularPatternConstraintInput() @property - def parentFeature(self) -> ChamferFeature: + def entities(self) -> list[SketchEntity]: """ - Returns the feature that owns this chamfer type definition + Gets and sets the entities to pattern. Sketch points and curves are valid + entities to pattern. """ - return ChamferFeature() + return [SketchEntity()] + @entities.setter + def entities(self, value: list[SketchEntity]): + """ + Gets and sets the entities to pattern. Sketch points and curves are valid + entities to pattern. + """ + pass + @property + def centerPoint(self) -> SketchPoint: + """ + Gets and sets the sketch point that defines the center of the pattern. + """ + return SketchPoint() + @centerPoint.setter + def centerPoint(self, value: SketchPoint): + """ + Gets and sets the sketch point that defines the center of the pattern. + """ + pass + @property + def quantity(self) -> core.ValueInput: + """ + Gets and sets quantity of the elements. + """ + return core.ValueInput() + @quantity.setter + def quantity(self, value: core.ValueInput): + """ + Gets and sets quantity of the elements. + """ + pass + @property + def totalAngle(self) -> core.ValueInput: + """ + Gets and sets total angle. A positive angle is a counter-clockwise direction and + a negative angle can be used to reverse the direction. + An angle of 360 degrees or 2 pi radians will create a full circular pattern. + """ + return core.ValueInput() + @totalAngle.setter + def totalAngle(self, value: core.ValueInput): + """ + Gets and sets total angle. A positive angle is a counter-clockwise direction and + a negative angle can be used to reverse the direction. + An angle of 360 degrees or 2 pi radians will create a full circular pattern. + """ + pass + @property + def isSymmetric(self) -> bool: + """ + Gets and sets if the angle extent is in one direction or is symmetric. + """ + return bool() + @isSymmetric.setter + def isSymmetric(self, value: bool): + """ + Gets and sets if the angle extent is in one direction or is symmetric. + """ + pass + @property + def isSuppressed(self) -> list[bool]: + """ + Specifies which, if any, instances of the pattern are suppressed. This + defaults to all instances being visible. This returns an array of Booleans + that indicates if a particular instance in the pattern is suppressed or + not. A value of true will result in the associated instance being + suppressed. + """ + return [bool()] + @isSuppressed.setter + def isSuppressed(self, value: list[bool]): + """ + Specifies which, if any, instances of the pattern are suppressed. This + defaults to all instances being visible. This returns an array of Booleans + that indicates if a particular instance in the pattern is suppressed or + not. A value of true will result in the associated instance being + suppressed. + """ + pass class CircularPatternFeatureInput(core.Base): """ @@ -4414,6 +6211,12 @@ def __init__(self): @staticmethod def cast(arg) -> CircularPatternFeatures: return CircularPatternFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CircularPatternFeature: + return None + def __iter__(self) -> Iterator[CircularPatternFeature]: + return None def item(self, index: int) -> CircularPatternFeature: """ Function that returns the specified circular pattern feature using an index into the collection. @@ -4674,6 +6477,12 @@ def __init__(self): @staticmethod def cast(arg) -> CoilFeatures: return CoilFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CoilFeature: + return None + def __iter__(self) -> Iterator[CoilFeature]: + return None def item(self, index: int) -> CoilFeature: """ Function that returns the specified coil feature using an index into the collection. @@ -4808,6 +6617,12 @@ def __init__(self): @staticmethod def cast(arg) -> CombineFeatures: return CombineFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CombineFeature: + return None + def __iter__(self) -> Iterator[CombineFeature]: + return None def item(self, index: int) -> CombineFeature: """ Function that returns the specified combine feature using an index into the collection. @@ -4860,6 +6675,12 @@ def __init__(self): @staticmethod def cast(arg) -> ComponentList: return ComponentList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Component: + return None + def __iter__(self) -> Iterator[Component]: + return None def item(self, index: int) -> Component: """ Function that returns the specified component using an index into the collection. @@ -4883,6 +6704,12 @@ def __init__(self): @staticmethod def cast(arg) -> Components: return Components() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Component: + return None + def __iter__(self) -> Iterator[Component]: + return None def item(self, index: int) -> Component: """ Function that returns the specified component using an index into the collection. @@ -4921,6 +6748,12 @@ def __init__(self): @staticmethod def cast(arg) -> ConstructionAxes: return ConstructionAxes() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ConstructionAxis: + return None + def __iter__(self) -> Iterator[ConstructionAxis]: + return None def item(self, index: int) -> ConstructionAxis: """ Function that returns the specified construction axis using an index into the collection. @@ -4936,7 +6769,7 @@ def itemByName(self, name: str) -> ConstructionAxis: Returns the specified item or null if an invalid name was specified. """ return ConstructionAxis() - def createInput(self, occurrenceForCreation: Occurrence) -> ConstructionAxisInput: + def createInput(self, occurrenceForCreation: Occurrence = None) -> ConstructionAxisInput: """ Create a ConstructionAxisInput object that is in turn used to create a ConstructionAxis. occurrenceForCreation : A creation occurrence is needed if the input is in another component AND the @@ -5682,6 +7515,12 @@ def __init__(self): @staticmethod def cast(arg) -> ConstructionPlanes: return ConstructionPlanes() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ConstructionPlane: + return None + def __iter__(self) -> Iterator[ConstructionPlane]: + return None def item(self, index: int) -> ConstructionPlane: """ Function that returns the specified construction plane using an index into the collection. @@ -5697,7 +7536,7 @@ def itemByName(self, name: str) -> ConstructionPlane: Returns the specified item or null if an invalid name was specified. """ return ConstructionPlane() - def createInput(self, occurrenceForCreation: Occurrence) -> ConstructionPlaneInput: + def createInput(self, occurrenceForCreation: Occurrence = None) -> ConstructionPlaneInput: """ Create a ConstructionPlaneInput object that is in turn used to create a ConstructionPlane. occurrenceForCreation : A creation occurrence is needed if the input is in another component AND the @@ -6041,6 +7880,12 @@ def __init__(self): @staticmethod def cast(arg) -> ConstructionPoints: return ConstructionPoints() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ConstructionPoint: + return None + def __iter__(self) -> Iterator[ConstructionPoint]: + return None def item(self, index: int) -> ConstructionPoint: """ Function that returns the specified construction point using an index into the collection. @@ -6056,7 +7901,7 @@ def itemByName(self, name: str) -> ConstructionPoint: Returns the specified item or null if an invalid name was specified. """ return ConstructionPoint() - def createInput(self, occurrenceForCreation: Occurrence) -> ConstructionPointInput: + def createInput(self, occurrenceForCreation: Occurrence = None) -> ConstructionPointInput: """ Create a ConstructionPointInput object that is in turn used to create a ConstructionPoint. @@ -6150,6 +7995,12 @@ def __init__(self): @staticmethod def cast(arg) -> ContactSets: return ContactSets() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ContactSet: + return None + def __iter__(self) -> Iterator[ContactSet]: + return None def item(self, index: int) -> ContactSet: """ Returns the specified contact set using an index into the collection. @@ -6189,6 +8040,12 @@ def __init__(self): @staticmethod def cast(arg) -> CopyPasteBodies: return CopyPasteBodies() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CopyPasteBody: + return None + def __iter__(self) -> Iterator[CopyPasteBody]: + return None def item(self, index: int) -> CopyPasteBody: """ Function that returns the specified Copy/Paste Body feature using an index into the collection. @@ -6217,8 +8074,88 @@ def count(self) -> int: """ return int() +class CurvatureCombAnalyses(core.Base): + """ + Provides access to any curvature comb analyses results in the design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CurvatureCombAnalyses: + return CurvatureCombAnalyses() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CurvatureCombAnalysis: + return None + def __iter__(self) -> Iterator[CurvatureCombAnalysis]: + return None + def item(self, index: int) -> CurvatureCombAnalysis: + """ + A method that returns the specified CurvatureCombAnalysis object using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection + has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return CurvatureCombAnalysis() + def itemByName(self, name: str) -> CurvatureCombAnalysis: + """ + A method that returns the specified CurvatureCombAnalysis object using the name of the analysis + as displayed in the browser. + name : The name of the CurvatureCombAnalysis object as displayed in the browser. + Returns the specified item or null if an invalid name was specified. + """ + return CurvatureCombAnalysis() + @property + def count(self) -> int: + """ + Returns the number of CurvatureCombAnalysis objects in the collection. + """ + return int() + +class CurvatureMapAnalyses(core.Base): + """ + Provides access to any curvature map analyses results in the design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CurvatureMapAnalyses: + return CurvatureMapAnalyses() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CurvatureMapAnalysis: + return None + def __iter__(self) -> Iterator[CurvatureMapAnalysis]: + return None + def item(self, index: int) -> CurvatureMapAnalysis: + """ + A method that returns the specified CurvatureMapAnalysis object using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection + has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return CurvatureMapAnalysis() + def itemByName(self, name: str) -> CurvatureMapAnalysis: + """ + A method that returns the specified CurvatureMapAnalysis object using the name of the analysis + as displayed in the browser. + name : The name of the CurvatureMapAnalysis object as displayed in the browser. + Returns the specified item or null if an invalid name was specified. + """ + return CurvatureMapAnalysis() + @property + def count(self) -> int: + """ + Returns the number of CurvatureMapAnalysis objects in the collection. + """ + return int() + class CustomFeatureDefinition(core.Base): """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + The CustomFeatureDefinition object defines a specific type of custom feature. It contains the settings that apply to all custom features of that type and is used when creating new custom features of that type. It also supports the events used to handle changes to custom @@ -6327,6 +8264,10 @@ def customFeatureCompute(self) -> CustomFeatureEvent: class CustomFeatureDependencies(core.Base): """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + A collection of dependencies associated with a particular custom feature. These are the entities that the custom feature is dependent on. If these entities are modified, it will cause the custom feature to recompute so it can be up to date. @@ -6338,6 +8279,12 @@ def __init__(self): @staticmethod def cast(arg) -> CustomFeatureDependencies: return CustomFeatureDependencies() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CustomFeatureDependency: + return None + def __iter__(self) -> Iterator[CustomFeatureDependency]: + return None def item(self, index: int) -> CustomFeatureDependency: """ Function that returns the specified custom dependency using an index into the collection. @@ -6379,6 +8326,10 @@ def count(self) -> int: class CustomFeatureDependency(core.Base): """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + A custom feature dependency defines a dependency the custom feature has on an entity outside the custom feature. For example, a feature might be dependent on a face or a point and if those entities are modified the custom feature needs to recompute to be @@ -6422,6 +8373,10 @@ def parentCustomFeature(self) -> CustomFeature: class CustomFeatureEventHandler(core.EventHandler): """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + The CustomFeatureEventHandler is a client implemented class that can be added as a handler to a CustomFeatureEvent. """ @@ -6439,6 +8394,10 @@ def notify(self, eventArgs: CustomFeatureEventArgs) -> None: class CustomFeatureInput(core.Base): """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + This class defines the methods and properties that pertain to the definition of a Ruled Surface feature. """ def __init__(self): @@ -6457,7 +8416,7 @@ def addDependency(self, id: str, entity: core.Base) -> bool: Returns true if the dependency was successfully added. """ return bool() - def addCustomParameter(self, id: str, label: str, value: core.ValueInput, units: str, isVisible: bool) -> bool: + def addCustomParameter(self, id: str, label: str, value: core.ValueInput, units: str, isVisible: bool = True) -> bool: """ Defines the information needed to create a new custom parameter that will be associated with this feature. A custom parameter appears as a model parameter and will be listed as a child of the @@ -6533,6 +8492,10 @@ def features(self) -> list[core.Base]: class CustomFeatureParameters(core.Base): """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + A collection of custom parameters associated with a particular custom feature. """ def __init__(self): @@ -6540,6 +8503,12 @@ def __init__(self): @staticmethod def cast(arg) -> CustomFeatureParameters: return CustomFeatureParameters() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CustomFeatureParameter: + return None + def __iter__(self) -> Iterator[CustomFeatureParameter]: + return None def item(self, index: int) -> CustomFeatureParameter: """ Function that returns the specified custom parameter feature using an index into the collection. @@ -6563,6 +8532,10 @@ def count(self) -> int: class CustomFeatures(core.Base): """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + Collection that provides access to all of the existing custom features in a component and supports the ability to create new custom features. """ @@ -6571,6 +8544,12 @@ def __init__(self): @staticmethod def cast(arg) -> CustomFeatures: return CustomFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CustomFeature: + return None + def __iter__(self) -> Iterator[CustomFeature]: + return None def item(self, index: int) -> CustomFeature: """ Function that returns the specified ruled surface feature using an index into the collection. @@ -6625,14 +8604,7 @@ def create(anchorPoint: core.Point3D) -> CustomGraphicsBillBoard: Creates a new CustomGraphicsBillBoard object that can be used when calling the billBoarding property of the CustomGraphicsEntity object to specify the billboarding behavior of some custom graphics. Once created you can assign it to a custom graphics entity using its billBoarding property. - anchorPoint : Specifies the coordinate that the graphics will anchor to. The anchor point is the point where the - custom graphics are anchored in world space. As the user manipulates the camera and rotates around - the model, making it appear that world space is rotating, the graphics remain facing the camera and - the anchor point defines the common location between world space and the graphics. - - For graphics where the If the isViewDependent property of the graphics entity is true, then the - anchor point is defined in pixels relative to the upper-left corner of the view and the z component - of the input point is ignored. + anchorPoint : The parameter must be input and can be null but the value is ignored. Use of the anchor point has been retired and it is no longer used. Returns the newly created CustomGraphicsBillBoard object or null in the case of failure. This can be assigned to a custom graphics entity using its billBoarding property. """ @@ -6640,19 +8612,33 @@ def create(anchorPoint: core.Point3D) -> CustomGraphicsBillBoard: @property def anchorPoint(self) -> core.Point3D: """ + + RETIRED - This property has been retired. It is not needed since the matrix defined for the CustomGraphicsText + object defines the position and anchor for the billboarded text. Getting the value of this property will return a + point at the origin. Setting this property will be ignored. + + Specifies the coordinate in model or view space that the graphics will anchor to. For graphics that represent a label, this will typically be the point where the label attaches to the model. A CustomGraphicsAnchorPoint can be created using the static create method on the CustomGraphicsAnchorPoint object. + """ return core.Point3D() @anchorPoint.setter def anchorPoint(self, value: core.Point3D): """ + + RETIRED - This property has been retired. It is not needed since the matrix defined for the CustomGraphicsText + object defines the position and anchor for the billboarded text. Getting the value of this property will return a + point at the origin. Setting this property will be ignored. + + Specifies the coordinate in model or view space that the graphics will anchor to. For graphics that represent a label, this will typically be the point where the label attaches to the model. A CustomGraphicsAnchorPoint can be created using the static create method on the CustomGraphicsAnchorPoint object. + """ pass @property @@ -6688,36 +8674,6 @@ def axis(self, value: core.Vector3D): """ pass -class CustomGraphicsBRepEdges(core.Base): - """ - A collection of CustomGraphicsBRepEdge objects associated with a specific CustomGraphics body object. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CustomGraphicsBRepEdges: - return CustomGraphicsBRepEdges() - -class CustomGraphicsBRepFaces(core.Base): - """ - A collection of CustomGraphicsBRepFace objects associated with a specific CustomGraphicsBRepBody object. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CustomGraphicsBRepFaces: - return CustomGraphicsBRepFaces() - -class CustomGraphicsBRepVertices(core.Base): - """ - A collection of CustomGraphicsBRepVertex objects associated with a specific CustomGraphics body object. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CustomGraphicsBRepVertices: - return CustomGraphicsBRepVertices() - class CustomGraphicsColorEffect(core.Base): """ The base class for all custom graphics color effects. @@ -6801,7 +8757,7 @@ def coordinateCount(self) -> int: @property def colors(self) -> list[int]: """ - Gets and sets the colors assoicated with the coordinate data. This is used when a mesh is + Gets and sets the colors associated with the coordinate data. This is used when a mesh is displayed using per-vertex coloring. The color at each vertex is represented by four values where they are the red, green, blue, and alpha values. This should contain the same number of colors as vertices. @@ -6810,7 +8766,7 @@ def colors(self) -> list[int]: @colors.setter def colors(self, value: list[int]): """ - Gets and sets the colors assoicated with the coordinate data. This is used when a mesh is + Gets and sets the colors associated with the coordinate data. This is used when a mesh is displayed using per-vertex coloring. The color at each vertex is represented by four values where they are the red, green, blue, and alpha values. This should contain the same number of colors as vertices. @@ -7055,6 +9011,20 @@ def viewScale(self, value: CustomGraphicsViewScale): in view space (pixels) instead of model space (centimeters). """ pass + @property + def name(self) -> str: + """ + Gets and sets the name displayed when this entity is selected. If no name has been set, + "Custom Graphics" will be displayed. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name displayed when this entity is selected. If no name has been set, + "Custom Graphics" will be displayed. + """ + pass class CustomGraphicsGroups(core.Base): """ @@ -7066,6 +9036,12 @@ def __init__(self): @staticmethod def cast(arg) -> CustomGraphicsGroups: return CustomGraphicsGroups() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CustomGraphicsGroup: + return None + def __iter__(self) -> Iterator[CustomGraphicsGroup]: + return None def item(self, index: int) -> CustomGraphicsGroup: """ Function that returns the specified graphics group using an index into the collection. @@ -7241,6 +9217,10 @@ def anchorPoint(self, value: core.Point3D): class CustomNamedValues(core.Base): """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + A collection of named values. The values are strings that Fusion stores but can be anything you choose. If you have several things you need to save you can choose to combine the data into a JSON or XML representation and save it as a single custom value @@ -7252,6 +9232,8 @@ def __init__(self): @staticmethod def cast(arg) -> CustomNamedValues: return CustomNamedValues() + def __len__(self) -> int: + return 0 def addOrSetValue(self, id: str, value: str) -> bool: """ Adds or updates a value. If the specified ID does not exist, a new named value is @@ -7308,6 +9290,12 @@ def __init__(self): @staticmethod def cast(arg) -> CutPasteBodies: return CutPasteBodies() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CutPasteBody: + return None + def __iter__(self) -> Iterator[CutPasteBody]: + return None def item(self, index: int) -> CutPasteBody: """ Function that returns the specified Cut/Paste Body feature using an index into the collection. @@ -7346,6 +9334,12 @@ def __init__(self): @staticmethod def cast(arg) -> CylinderFeatures: return CylinderFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CylinderFeature: + return None + def __iter__(self) -> Iterator[CylinderFeature]: + return None def item(self, index: int) -> CylinderFeature: """ Function that returns the specified cylinder feature using an index into the collection. @@ -7384,6 +9378,12 @@ def __init__(self): @staticmethod def cast(arg) -> DeleteFaceFeatures: return DeleteFaceFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> DeleteFaceFeature: + return None + def __iter__(self) -> Iterator[DeleteFaceFeature]: + return None def item(self, index: int) -> DeleteFaceFeature: """ Function that returns the specified DeleteFaceFeature object using an index into the collection. @@ -7415,6 +9415,44 @@ def count(self) -> int: """ return int() +class DraftAnalyses(core.Base): + """ + Provides access to any draft analyses results in the design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DraftAnalyses: + return DraftAnalyses() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> DraftAnalysis: + return None + def __iter__(self) -> Iterator[DraftAnalysis]: + return None + def item(self, index: int) -> DraftAnalysis: + """ + A method that returns the specified DraftAnalysis object using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection + has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return DraftAnalysis() + def itemByName(self, name: str) -> DraftAnalysis: + """ + A method that returns the specified DraftAnalysis object using the name of the analysis + as displayed in the browser. + name : The name of the DraftAnalysis object as displayed in the browser. + Returns the specified item or null if an invalid name was specified. + """ + return DraftAnalysis() + @property + def count(self) -> int: + """ + Returns the number of DraftAnalysis objects in the collection. + """ + return int() + class DraftFeatureInput(core.Base): """ This class defines the methods and properties that pertain to the definition of a draft @@ -7554,6 +9592,12 @@ def __init__(self): @staticmethod def cast(arg) -> DraftFeatures: return DraftFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> DraftFeature: + return None + def __iter__(self) -> Iterator[DraftFeature]: + return None def item(self, index: int) -> DraftFeature: """ Function that returns the specified draft feature using an index into the collection. @@ -7561,7 +9605,7 @@ def item(self, index: int) -> DraftFeature: Returns the specified item or null if an invalid index was specified. """ return DraftFeature() - def createInput(self, inputFaces: list[BRepFace], plane: core.Base, isTangentChain: bool) -> DraftFeatureInput: + def createInput(self, inputFaces: list[BRepFace], plane: core.Base, isTangentChain: bool = True) -> DraftFeatureInput: """ Creates a DraftFeatureInput object. Use properties and methods on this object to define the draft you want to create and then use the Add method, passing in @@ -7606,7 +9650,7 @@ def __init__(self): @staticmethod def cast(arg) -> ExportManager: return ExportManager() - def createIGESExportOptions(self, filename: str, geometry: core.Base) -> IGESExportOptions: + def createIGESExportOptions(self, filename: str, geometry: core.Base = None) -> IGESExportOptions: """ Creates an IGESExportOptions object that's used to export a design in IGES format. Creation of the IGESExportOptions object does not perform the export. You must pass this object to the @@ -7618,7 +9662,7 @@ def createIGESExportOptions(self, filename: str, geometry: core.Base) -> IGESExp The created IGESExportOptions object or null if the creation failed. """ return IGESExportOptions() - def createSTEPExportOptions(self, filename: str, geometry: core.Base) -> STEPExportOptions: + def createSTEPExportOptions(self, filename: str, geometry: core.Base = None) -> STEPExportOptions: """ Creates an STEPExportOptions object that's used to export a design in STEP format. Creation of the STEPExportOptions object does not perform the export. You must pass this object to the @@ -7630,7 +9674,7 @@ def createSTEPExportOptions(self, filename: str, geometry: core.Base) -> STEPExp The created STEPExportOptions object or null if the creation failed. """ return STEPExportOptions() - def createSATExportOptions(self, filename: str, geometry: core.Base) -> SATExportOptions: + def createSATExportOptions(self, filename: str, geometry: core.Base = None) -> SATExportOptions: """ Creates an SATExportOptions object that's used to export a design in SAT format. Creation of the SATExportOptions object does not perform the export. You must pass this object to the @@ -7642,7 +9686,7 @@ def createSATExportOptions(self, filename: str, geometry: core.Base) -> SATExpor The created SATExportOptions object or null if the creation failed. """ return SATExportOptions() - def createSMTExportOptions(self, filename: str, geometry: core.Base) -> SMTExportOptions: + def createSMTExportOptions(self, filename: str, geometry: core.Base = None) -> SMTExportOptions: """ Creates an SMTExportOptions object that's used to export a design in SMT format. Creation of the SMTExportOptions object does not perform the export. You must pass this object to the @@ -7654,7 +9698,7 @@ def createSMTExportOptions(self, filename: str, geometry: core.Base) -> SMTExpor The created SMTExportOptions object or null if the creation failed. """ return SMTExportOptions() - def createFusionArchiveExportOptions(self, filename: str, geometry: core.Base) -> FusionArchiveExportOptions: + def createFusionArchiveExportOptions(self, filename: str, geometry: core.Base = None) -> FusionArchiveExportOptions: """ Creates an FusionArchiveExportOptions object that's used to export a design in Fusion 360 archive format. Creation of the FusionArchiveExportOptions object does not perform the export. You must pass this object to the @@ -7666,7 +9710,7 @@ def createFusionArchiveExportOptions(self, filename: str, geometry: core.Base) - The created FusionArchiveExportOptions object or null if the creation failed. """ return FusionArchiveExportOptions() - def createSTLExportOptions(self, geometry: core.Base, filename: str) -> STLExportOptions: + def createSTLExportOptions(self, geometry: core.Base, filename: str = "") -> STLExportOptions: """ Creates an STLExportOptions object that's used to export a design in STL format. Creation of the STLExportOptions object does not perform the export. You must pass this object to the @@ -7678,22 +9722,55 @@ def createSTLExportOptions(self, geometry: core.Base, filename: str) -> STLExpor return STLExportOptions() def execute(self, exportOptions: ExportOptions) -> bool: """ - Executes the export operation to create the file in the format specified by the input ExportOptions object. + Executes the export operation to create the file in the format specified by the provided ExportOptions object. exportOptions : An ExportOptions object that is created using one of the create methods on the ExportManager object. This defines the type of file and any available options supported for that file type. Returns true if the export was successful. """ return bool() - def createC3MFExportOptions(self, geometry: core.Base, filename: str) -> C3MFExportOptions: + def createC3MFExportOptions(self, geometry: core.Base, filename: str = "") -> C3MFExportOptions: """ - Creates a C3MFExportOptions object that's used to export a design in 3MF format. Creation - of the C3MFExportOptions object does not perform the export. You must pass this object to the + Creates a C3MFExportOptions object that's used to export a design in 3MF format. Creation + of the C3MFExportOptions object does not perform the export. You must pass this object to the ExportManager.execute method to perform the export. - geometry : The geometry to export. This can be a BRepBody, Occurrence, or Component object. - filename : The filename of the 3MF file to be created. This is optional and can be left out if the mesh will be opened in a mesh editor. + geometry : The geometry to export. This can be a BRepBody, Occurrence, or Component object. + filename : The filename of the 3MF file to be created. This is optional and can be left out if the mesh will be opened in a mesh editor. The created createC3MFExportOptions object or null if the creation failed. """ return C3MFExportOptions() + def createUSDExportOptions(self, filename: str, geometry: core.Base = None) -> USDExportOptions: + """ + Creates an USDExportOptions object that's used to export a design in USD format. Creation + of the USDExportOptions object does not perform the export. You must pass this object to the + ExportManager.execute method to perform the export. The USDExportOptions supports any available + options when exporting to USD format. + filename : The filename of the USD file to be created. + geometry : The geometry to export. Valid geometry for this is currently a Component object. This argument is optional + and if not specified, it results in the root component and it entire contents being exported. + The created USDExportOptions object or null if the creation failed. + """ + return USDExportOptions() + def createOBJExportOptions(self, geometry: core.Base, filename: str = "") -> OBJExportOptions: + """ + Creates an OBJExportOptions object that's used to export a design in OBJ format. Creation + of the OBJExportOptions object does not perform the export. You must pass this object to the + ExportManager.execute method to perform the export. + geometry : The geometry to export. This can be a BRepBody, Occurrence, or Component object. + filename : The filename of the OBJ file to be created. This is optional and can be left out if the mesh will be opened in a mesh editor. + The created createOBJExportOptions object or null if the creation failed. + """ + return OBJExportOptions() + def createDXFFlatPatternExportOptions(self, filename: str, flatPattern: FlatPattern) -> DXFFlatPatternExportOptions: + """ + Creates a DXFFlatPatternExport object that's used to export a flat pattern in DXF format. Creation + of the DXFFlatPatternExport object does not perform the export. You must call the execute method. + You can change any additional settings by setting properties on the returned object before calling + the execute method. + filename : The filename of the DXF file to be created. + flatPattern : The FlatPattern object to export. + The created DXFFlatPatternExport object or null if the creation failed. + """ + return DXFFlatPatternExportOptions() class ExportOptions(core.Base): """ @@ -7724,14 +9801,14 @@ def filename(self, value: str): def geometry(self) -> core.Base: """ Specifies the geometry to export. This can be an Occurrence, or the root Component. - For STL export, it can also be a BRepBody. For DXF export, it can be a sketch of flat pattern. + For STL, OBJ, and 3MF export, it can be a BRepBody. For DXF export, it can be a sketch of flat pattern. """ return core.Base() @geometry.setter def geometry(self, value: core.Base): """ Specifies the geometry to export. This can be an Occurrence, or the root Component. - For STL export, it can also be a BRepBody. For DXF export, it can be a sketch of flat pattern. + For STL, OBJ, and 3MF export, it can be a BRepBody. For DXF export, it can be a sketch of flat pattern. """ pass @@ -7843,6 +9920,12 @@ def __init__(self): @staticmethod def cast(arg) -> ExtendFeatures: return ExtendFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ExtendFeature: + return None + def __iter__(self) -> Iterator[ExtendFeature]: + return None def item(self, index: int) -> ExtendFeature: """ Function that returns the specified extend feature using an index into the collection. @@ -7850,7 +9933,7 @@ def item(self, index: int) -> ExtendFeature: Returns the specified item or null if an invalid index was specified. """ return ExtendFeature() - def createInput(self, edges: core.ObjectCollection, distance: core.ValueInput, extendType: SurfaceExtendTypes, isChainingEnabled: bool) -> ExtendFeatureInput: + def createInput(self, edges: core.ObjectCollection, distance: core.ValueInput, extendType: SurfaceExtendTypes, isChainingEnabled: bool = True) -> ExtendFeatureInput: """ Creates a ExtendFeatureInput object. Use properties and methods on this object to define the extend feature you want to create and then use the Add method, passing in @@ -7926,62 +10009,7 @@ def __init__(self): @staticmethod def cast(arg) -> ExtrudeFeatureInput: return ExtrudeFeatureInput() - def setDistanceExtent(self, isSymmetric: bool, distance: core.ValueInput) -> bool: - """ - Sets the extrusion extents option to 'Distance'. - isSymmetric : Set to 'true' for an extrusion symmetrical about the profile plane - distance : ValueInput object that defines the extrude distance. - If the isSymmetric argument is 'false', a positive or negative distance can be used to control the direction. - Returns true if successful - """ - return bool() - def setTwoSidesDistanceExtent(self, distanceOne: core.ValueInput, distanceTwo: core.ValueInput) -> bool: - """ - Sets the extrusion extents option to 'Two Side'. - This method will fail in the case of a non-parametric extrusion. - distanceOne : ValueInput object that defines the extrude distance for the first side. - distanceTwo : ValueInput object that defines the extrude distance for the second side. - Returns true if successful - """ - return bool() - def setAllExtent(self, direction: ExtentDirections) -> bool: - """ - Sets the extrusion extents option to 'All' (i.e. the extrusion is through-all, in both directions.) - This method will fail in the case of a non-parametric extrusion. - direction : The direction can be either positive, negative, or symmetric. - Returns true if successful - """ - return bool() - def setOneSideToExtent(self, toEntity: core.Base, matchShape: bool, directionHint: core.Vector3D) -> bool: - """ - Sets the extrusion Direction option to 'One Side' and the Extents option to 'To' (a specified face) - toEntity : The entity that defines the "to" extent. The valid types of entities can vary depending on - the type of feature this is being used with. For an extrude it can be a BRepBody, BRepFace, - BRepVertex, ConstructionPlane, or ConstructionPoint. - matchShape : If the matchShape argument is 'true', the toEntity is extended to fully intersect the extrusion. - directionHint : Specifies the direction of the extrusion. This is only used in the case where there are two possible solutions and the extrusion can - hit the toEntity in either direction. An example is if the profile of the extrusion is within a hole. - The extrusion will intersect the cylinder of the hole in either direction. - - Typically there is only a single solution and the direction is determined automatically. - Returns true if successful. - """ - return bool() - def setTwoSidesToExtent(self, toEntityOne: core.Base, toEntityTwo: core.Base, matchShape: bool) -> bool: - """ - Set the extrusion Direction option to 'Two Side' - This method will fail in the case of a non-parametric extrusion. - toEntityOne : The first entity that defines the "to" extent. The valid types of entities can vary depending on - the type of feature this is being used with. For an extrude it can be a BRepBody, BRepFace, - BRepVertex, ConstructionPlane, or ConstructionPoint. - toEntityTwo : The second entity that defines the "to" extent. The valid types of entities can vary depending on - the type of feature this is being used with. For an extrude it can be a BRepBody, BRepFace, - BRepVertex, ConstructionPlane, or ConstructionPoint. - matchShape : If the matchShape argument is 'true', the toEntity is extended to fully intersect the extrusion. - Returns true if successful. - """ - return bool() - def setOneSideExtent(self, extent: ExtentDefinition, direction: ExtentDirections, taperAngle: core.ValueInput) -> bool: + def setOneSideExtent(self, extent: ExtentDefinition, direction: ExtentDirections, taperAngle: core.ValueInput = None) -> bool: """ Defines the extrusion to go in one direction from the profile. The extent of the extrusion is defined by the extent argument. @@ -7995,7 +10023,7 @@ def setOneSideExtent(self, extent: ExtentDefinition, direction: ExtentDirections Returns true is setting the input to a one sided extent was successful. """ return bool() - def setTwoSidesExtent(self, sideOneExtent: ExtentDefinition, sideTwoExtent: ExtentDefinition, sideOneTaperAngle: core.ValueInput, sideTwoTaperAngle: core.ValueInput) -> bool: + def setTwoSidesExtent(self, sideOneExtent: ExtentDefinition, sideTwoExtent: ExtentDefinition, sideOneTaperAngle: core.ValueInput = None, sideTwoTaperAngle: core.ValueInput = None) -> bool: """ Defines the extrusion to go in both directions from the profile. The extent is defined independently for each direction using the input arguments. @@ -8010,7 +10038,7 @@ def setTwoSidesExtent(self, sideOneExtent: ExtentDefinition, sideTwoExtent: Exte Returns true is setting the extent was successful. """ return bool() - def setSymmetricExtent(self, distance: core.ValueInput, isFullLength: bool, taperAngle: core.ValueInput) -> bool: + def setSymmetricExtent(self, distance: core.ValueInput, isFullLength: bool, taperAngle: core.ValueInput = None) -> bool: """ Defines the extrusion to go symmetrically in both directions from the profile. distance : The distance of the extrusions. This is either the full length of half of the length of the final extrusion @@ -8022,7 +10050,7 @@ def setSymmetricExtent(self, distance: core.ValueInput, isFullLength: bool, tape Returns true is setting the extent was successful. """ return bool() - def setThinExtrude(self, thinExtrudeWallLocationOne: ThinExtrudeWallLocation, thinExtrudeWallThicknessOne: core.ValueInput, thinExtrudeWallLocationTwo: ThinExtrudeWallLocation, thinExtrudeWallThicknessTwo: core.ValueInput) -> bool: + def setThinExtrude(self, thinExtrudeWallLocationOne: ThinExtrudeWallLocation, thinExtrudeWallThicknessOne: core.ValueInput, thinExtrudeWallLocationTwo: ThinExtrudeWallLocation = ThinExtrudeWallLocation.Side1, thinExtrudeWallThicknessTwo: core.ValueInput = None) -> bool: """ Changes the extrude feature to be a thin extrude. This is only valid if the isThinExtrude property is False. If the extrusion is already a thin extrude, you can use the properties on the ExtrudeFeature @@ -8077,26 +10105,6 @@ def operation(self, value: FeatureOperations): """ pass @property - def taperAngle(self) -> core.ValueInput: - """ - Gets and sets the taper angle of the extrusion. This is used to define the - taper angle for a single sided and symmetric and defines the angle for side one - of a two sided extrusion. This property is initialized with a taper angle of zero. - A negative angle will taper the extrusion inward while a positive value will taper - the extrusion outward. This property is valid for both parametric and non-parametric extrusions. - """ - return core.ValueInput() - @taperAngle.setter - def taperAngle(self, value: core.ValueInput): - """ - Gets and sets the taper angle of the extrusion. This is used to define the - taper angle for a single sided and symmetric and defines the angle for side one - of a two sided extrusion. This property is initialized with a taper angle of zero. - A negative angle will taper the extrusion inward while a positive value will taper - the extrusion outward. This property is valid for both parametric and non-parametric extrusions. - """ - pass - @property def creationOccurrence(self) -> Occurrence: """ In order for geometry to be transformed correctly, an Occurrence for creation needs to be @@ -8310,6 +10318,12 @@ def __init__(self): @staticmethod def cast(arg) -> ExtrudeFeatures: return ExtrudeFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ExtrudeFeature: + return None + def __iter__(self) -> Iterator[ExtrudeFeature]: + return None def item(self, index: int) -> ExtrudeFeature: """ Function that returns the specified extrude feature using an index into the collection. @@ -8357,9 +10371,8 @@ def addSimple(self, profile: core.Base, distance: core.ValueInput, operation: Fe or an ObjectCollection consisting of multiple profiles, planar faces, and sketch texts. When an ObjectCollection is used all of the profiles, faces, and sketch texts must be co-planar. - To create a surface (non-solid) extrusion, you can use the createOpenProfile and createBRepEdgeProfile - methods of the Component object to create an open profile. You also need to set the isSolid property - of the returned ExtrudeFeatureInput property to False. + This method can only be used to create solid extrusions. To create a surface extrusion you need + to use the add method. distance : ValueInput object that defines the extrude distance. A positive value extrudes in the positive direction of the sketch plane and negative value is in the opposite direction. operation : The feature operation to perform. @@ -8541,6 +10554,12 @@ def __init__(self): @staticmethod def cast(arg) -> FeatureList: return FeatureList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Feature: + return None + def __iter__(self) -> Iterator[Feature]: + return None def item(self, index: int) -> Feature: """ Returns the specified folder. @@ -8567,6 +10586,12 @@ def __init__(self): @staticmethod def cast(arg) -> Features: return Features() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Feature: + return None + def __iter__(self) -> Iterator[Feature]: + return None def item(self, index: int) -> Feature: """ Function that returns the specified feature using an index into the collection. @@ -8574,7 +10599,7 @@ def item(self, index: int) -> Feature: Returns the specified item or null if an invalid index was specified. """ return Feature() - def createPath(self, curve: core.Base, isChain: bool) -> Path: + def createPath(self, curve: core.Base, isChain: bool = True) -> Path: """ Method that creates a Path used to define the shape of a Sweep feature. A Path is a contiguous set of curves that can be a combination of sketch curves and model edges. @@ -8950,6 +10975,10 @@ def ruledSurfaceFeatures(self) -> RuledSurfaceFeatures: @property def customFeatures(self) -> CustomFeatures: """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + Returns the collection that provides access to the custom features within the component and supports the creation of new custom features. """ @@ -8961,6 +10990,19 @@ def untrimFeatures(self) -> UntrimFeatures: and supports the creation of new Untrim features. """ return UntrimFeatures() + @property + def bossFeatures(self) -> BossFeatures: + """ + Returns the collection that provides access to the boss features within the component + and supports the creation of new boss features. + """ + return BossFeatures() + @property + def ripFeatures(self) -> RipFeatures: + """ + Returns the collection that provides access to the existing Rip features. + """ + return RipFeatures() class FilletEdgeSet(core.Base): """ @@ -8971,6 +11013,15 @@ def __init__(self): @staticmethod def cast(arg) -> FilletEdgeSet: return FilletEdgeSet() + def deleteMe(self) -> bool: + """ + Deletes the fillet edge set from the fillet. + + To use this method, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + Returns true if the operation was successful. + """ + return bool() @property def isTangentChain(self) -> bool: """ @@ -8983,60 +11034,226 @@ def isTangentChain(self, value: bool): Gets and sets the Tangent chain for fillet. This enables tangent chain option for fillet. """ pass + @property + def continuity(self) -> SurfaceContinuityTypes: + """ + Gets and sets the continuity of the fillet edge set. Valid values are + TangentSurfaceContinuityType and CurvatureSurfaceContinuityType. + """ + return SurfaceContinuityTypes() + @continuity.setter + def continuity(self, value: SurfaceContinuityTypes): + """ + Gets and sets the continuity of the fillet edge set. Valid values are + TangentSurfaceContinuityType and CurvatureSurfaceContinuityType. + """ + pass + @property + def tangencyWeight(self) -> ModelParameter: + """ + Returns the model parameter that controls the G1 or G2 tangency weight of the fillet. + It must be a real value between 0.1 and 2.0 inclusive. You can edit the tangency weight + by using the properties on the returned ModelParameter object. + """ + return ModelParameter() -class FilletEdgeSets(core.Base): +class FilletEdgeSetInput(core.Base): """ - Collection that provides access to all of the existing fillet edge sets associated with a fillet feature. + Represents the input to define a fillet edge set. """ def __init__(self): pass @staticmethod - def cast(arg) -> FilletEdgeSets: - return FilletEdgeSets() - def item(self, index: int) -> FilletEdgeSet: + def cast(arg) -> FilletEdgeSetInput: + return FilletEdgeSetInput() + @property + def entities(self) -> core.ObjectCollection: """ - Function that returns the specified fillet edge set using an index into the collection. + Gets and sets the entities associated with this fillet edge set. For constant radius and chord length + edge sets, this can be edges, faces, and features. For variable radius edges sets, this must be edges. + """ + return core.ObjectCollection() + @entities.setter + def entities(self, value: core.ObjectCollection): + """ + Gets and sets the entities associated with this fillet edge set. For constant radius and chord length + edge sets, this can be edges, faces, and features. For variable radius edges sets, this must be edges. + """ + pass + @property + def continuity(self) -> SurfaceContinuityTypes: + """ + Gets and sets the continuity of the fillet edge set. Valid values are + TangentSurfaceContinuityType and CurvatureSurfaceContinuityType. The default + is TangentSurfaceContinuityType. + """ + return SurfaceContinuityTypes() + @continuity.setter + def continuity(self, value: SurfaceContinuityTypes): + """ + Gets and sets the continuity of the fillet edge set. Valid values are + TangentSurfaceContinuityType and CurvatureSurfaceContinuityType. The default + is TangentSurfaceContinuityType. + """ + pass + @property + def tangencyWeight(self) -> core.ValueInput: + """ + Gets and sets the tangency weight for the given edge set. The tangency weight controls the influence + of the continuity (G1 or G2) on the fillet. The ValueInput must be a real value between 0.1 and 2.0 inclusive, + with no units. The default value is 1.0. + """ + return core.ValueInput() + @tangencyWeight.setter + def tangencyWeight(self, value: core.ValueInput): + """ + Gets and sets the tangency weight for the given edge set. The tangency weight controls the influence + of the continuity (G1 or G2) on the fillet. The ValueInput must be a real value between 0.1 and 2.0 inclusive, + with no units. The default value is 1.0. + """ + pass + +class FilletEdgeSetInputs(core.Base): + """ + Collection of edge sets associated with the input object that will be used + to create the new fillet feature. Use the various add methods on this object + to add new edge sets to the input object. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FilletEdgeSetInputs: + return FilletEdgeSetInputs() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> FilletEdgeSetInput: + return None + def __iter__(self) -> Iterator[FilletEdgeSetInput]: + return None + def item(self, index: int) -> FilletEdgeSetInput: + """ + Function that returns the specified fillet edge set input using an index into the collection. index : The index of the item within the collection to return. The first item in the collection has an index of 0. + The edge sets are returned in the same order they were created in. Returns the specified item or null if an invalid index was specified. """ - return FilletEdgeSet() + return FilletEdgeSetInput() + def addConstantRadiusEdgeSet(self, entities: core.ObjectCollection, radius: core.ValueInput, isTangentChain: bool) -> ConstantRadiusFilletEdgeSetInput: + """ + Adds a constant radius fillet edge set to the fillet feature input. Some settings are initialized + with a default value and can be set by modifying properties on the returned ConstantRadiusFilletEdgeSetInput object. + entities : An ObjectCollection containing the BRepEdge, BRepFace, and Feature objects to be filleted. If the isTangentChain argument is true + additional edges or faces may also get filleted if they are tangentially connected to any of the + input edges or faces. + radius : A ValueInput object that defines the radius of the fillet. If the ValueInput uses + a real then it is interpreted as centimeters. If it is a string then the units + can be defined as part of the string (i.e. "2 in") or if no units are specified + it is interpreted using the current default units for length. + isTangentChain : A boolean value for setting whether or not edges that are tangentially connected to + the input edges (if any) will also be filleted. + Returns the newly created ConstantRadiusFilletEdgeSetInput. This object provides access to additional settings. + """ + return ConstantRadiusFilletEdgeSetInput() + def addVariableRadiusEdgeSet(self, tangentEdges: core.ObjectCollection, startRadius: core.ValueInput, endRadius: core.ValueInput, isTangentChain: bool) -> VariableRadiusFilletEdgeSetInput: + """ + Adds a single edge or set of tangent edges to the fillet feature input. Some settings are initialized + with a default value and can be set by modifying properties on the returned VariableRadiusFilletEdgeSetInput object. + tangentEdges : An object collection containing a single edge or multiple edges. Multiple edges + must be tangentially connected and added to the collection in their connected order. If a single edge + is input, you can use the isTangentChain argument to automatically find any tangentially connected edges. + startRadius : A ValueInput object that defines the starting radius of the fillet. If a single edge is + being filleted, the start radius is at the start end of the edge. If multiple tangent + edges are being filleted the start radius is the start end of the first edge in the + collection. + + If the ValueInput uses a real then it is interpreted as centimeters. If it is a string then + the units can be defined as part of the string (i.e. "2 in") or if no units are specified + it is interpreted using the current default units for length. + endRadius : A ValueInput object that defines the ending radius of the fillet. If a single edge is + being filleted, the end radius is at the end of the edge. If multiple tangent + edges are being filleted the end radius is the open end of the last edge in the + collection. + + If the ValueInput uses a real then it is interpreted as centimeters. If it is a string then + the units can be defined as part of the string (i.e. "2 in") or if no units are specified + it is interpreted using the current default units for length. + isTangentChain : A boolean value for setting whether or not edges that are tangentially connected to the single + input edge will also be filleted. + Returns the newly created VariableRadiusFilletEdgeSetInput. This object provides access to additional settings. + """ + return VariableRadiusFilletEdgeSetInput() + def addChordLengthEdgeSet(self, entities: core.ObjectCollection, chordLength: core.ValueInput, isTangentChain: bool) -> ChordLengthFilletEdgeSetInput: + """ + Adds a set of edges to be filleted with a chord length fillet to the fillet feature input. Some settings are + initialized with a default value and can be set by modifying properties on the returned ChordLengthFilletEdgeSetInput object. + entities : An ObjectCollection containing the BRepEdge, BRepFace, and Feature objects to be filleted. If the isTangentChain argument is true + additional edges or faces may also get filleted if they are tangentially connected to any of the + input edges or faces. + chordLength : A ValueInput object that defines the chord length of the fillet. If the ValueInput uses + a real value then it is interpreted as centimeters. If it is a string then the units + can be defined as part of the string (i.e. "2 in") or if no units are specified + it is interpreted using the current document units for length. + isTangentChain : A boolean value for setting whether or not edges or faces that are tangentially connected to + the input edges or faces (if any) will also be filleted. + Returns the newly created ChordLengthFilletEdgeSetInput. This object provides access to additional settings. + """ + return ChordLengthFilletEdgeSetInput() @property def count(self) -> int: """ - The number of fillet edge sets in the collection. + The number of fillet edge set input objects in the collection. """ return int() -class FilletFeatureInput(core.Base): +class FilletEdgeSets(core.Base): """ - This class defines the methods and properties that pertain to the definition of a fillet - feature. + Collection that provides access to all of the existing fillet edge sets associated with a fillet feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> FilletFeatureInput: - return FilletFeatureInput() - def addConstantRadiusEdgeSet(self, edges: core.ObjectCollection, radius: core.ValueInput, isTangentChain: bool) -> bool: + def cast(arg) -> FilletEdgeSets: + return FilletEdgeSets() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> FilletEdgeSet: + return None + def __iter__(self) -> Iterator[FilletEdgeSet]: + return None + def item(self, index: int) -> FilletEdgeSet: + """ + Function that returns the specified fillet edge set using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. """ - Adds a set of edges with a constant radius to this input. - edges : An ObjectCollection containing the edges to be filleted. If the isTangentChain argument is true - additional edges may also get filleted if they are tangentially connected to any of the - input edges. + return FilletEdgeSet() + def addConstantRadiusEdgeSet(self, entities: core.ObjectCollection, radius: core.ValueInput, isTangentChain: bool) -> ConstantRadiusFilletEdgeSet: + """ + Adds a set of edges with a constant radius to this fillet feature. + + To use this method, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + entities : An ObjectCollection containing the BRepEdge, BRepFace, and Feature objects to be filleted. If the isTangentChain argument is true + additional edges or faces may also get filleted if they are tangentially connected to any of the + input edges or faces. radius : A ValueInput object that defines the radius of the fillet. If the ValueInput uses a real then it is interpreted as centimeters. If it is a string then the units can be defined as part of the string (i.e. "2 in") or if no units are specified it is interpreted using the current default units for length. isTangentChain : A boolean value for setting whether or not edges that are tangentially connected to the input edges (if any) will also be filleted. - Returns true if the set of edges was successfully added to the FilletFeatureInput. + Returns the newly created FilletEdgeSet. """ - return bool() - def addVariableRadiusEdgeSet(self, tangentEdges: core.ObjectCollection, startRadius: core.ValueInput, endRadius: core.ValueInput, positions: list[core.ValueInput], radii: list[core.ValueInput]) -> bool: + return ConstantRadiusFilletEdgeSet() + def addVariableRadiusEdgeSet(self, tangentEdges: core.ObjectCollection, startRadius: core.ValueInput, endRadius: core.ValueInput, positions: list[core.ValueInput], radii: list[core.ValueInput], isTangentChain: bool) -> VariableRadiusFilletEdgeSet: """ - Adds a single edge or set of tangent edges along with variable radius information to this input. + Adds a single edge or set of tangent edges along with variable radius information to this fillet feature. + + To use this method, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) tangentEdges : An object collection containing a single edge or multiple edges. Multiple edges - must be tangentially connected and added to the collection in order. + must be tangentially connected and added to the collection in their connected order. If a single edge + is input, you can use the isTangentChain argument to automatically find any tangentially connected edges. startRadius : A ValueInput object that defines the starting radius of the fillet. If a single edge is being filleted, the start radius is at the start end of the edge. If multiple tangent edges are being filleted the start radius is the open end of the first edge in the @@ -9061,36 +11278,46 @@ def addVariableRadiusEdgeSet(self, tangentEdges: core.ObjectCollection, startRad the positions argument. If the ValueInput uses a real then it is interpreted as centimeters. If it is a string then the units can be defined as part of the string (i.e. "2 in"). If no units are specified it will be interpreted using the current default units for length. - Returns true if the edge set was successfully added to the FilletFeatureInput. + isTangentChain : A boolean value for setting whether or not edges that are tangentially connected to the single + input edge will also be filleted. + Returns the newly created FilletEdgeSet. """ - return bool() - def addChordLengthEdgeSet(self, edges: core.ObjectCollection, chordLength: core.ValueInput, isTangentChain: bool) -> bool: + return VariableRadiusFilletEdgeSet() + def addChordLengthEdgeSet(self, entities: core.ObjectCollection, chordLength: core.ValueInput, isTangentChain: bool) -> ChordLengthFilletEdgeSet: """ - Adds a set of edges with a chord length to this input. - edges : An ObjectCollection containing the edges to be filleted. If the isTangentChain argument is true - additional edges may also get filleted if they are tangentially connected to any of the - input edges. + Adds a set of edges with a chord length to this fillet feature. + + To use this method, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + entities : An ObjectCollection containing the BRepEdge, BRepFace, and Feature objects to be filleted. If the isTangentChain argument is true + additional edges or faces may also get filleted if they are tangentially connected to any of the + input edges or faces. chordLength : A ValueInput object that defines the chord length of the fillet. If the ValueInput uses a real then it is interpreted as centimeters. If it is a string then the units can be defined as part of the string (i.e. "2 in") or if no units are specified it is interpreted using the current default units for length. isTangentChain : A boolean value for setting whether or not edges that are tangentially connected to the input edges (if any) will also be filleted. - Returns true if the set of edges was successfully added to the FilletFeatureInput. + Returns the newly created FilletEdgeSet. """ - return bool() + return ChordLengthFilletEdgeSet() @property - def isG2(self) -> bool: - """ - Gets and sets if the fillet uses the G2 (curvature-continuity) surface quality option . - """ - return bool() - @isG2.setter - def isG2(self, value: bool): + def count(self) -> int: """ - Gets and sets if the fillet uses the G2 (curvature-continuity) surface quality option . + The number of fillet edge sets in the collection. """ + return int() + +class FilletFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a fillet + feature. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> FilletFeatureInput: + return FilletFeatureInput() @property def isRollingBallCorner(self) -> bool: """ @@ -9104,20 +11331,6 @@ def isRollingBallCorner(self, value: bool): """ pass @property - def isTangentChain(self) -> bool: - """ - Gets and sets if any edges that are tangentially connected to any of filleted - edges will also be included in the fillet. - """ - return bool() - @isTangentChain.setter - def isTangentChain(self, value: bool): - """ - Gets and sets if any edges that are tangentially connected to any of filleted - edges will also be included in the fillet. - """ - pass - @property def targetBaseFeature(self) -> BaseFeature: """ When creating a feature that is owned by a base feature, set this property to the @@ -9143,6 +11356,13 @@ def targetBaseFeature(self, value: BaseFeature): feature must be in an "edit" state to be able to add any additional items to it. """ pass + @property + def edgeSetInputs(self) -> FilletEdgeSetInputs: + """ + Gets the FilletEdgeSetInputs object that provides support to create the various types of edge + sets that will be used to create the fillet. + """ + return FilletEdgeSetInputs() class FilletFeatures(core.Base): """ @@ -9154,6 +11374,12 @@ def __init__(self): @staticmethod def cast(arg) -> FilletFeatures: return FilletFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> FilletFeature: + return None + def __iter__(self) -> Iterator[FilletFeature]: + return None def item(self, index: int) -> FilletFeature: """ Function that returns the specified fillet feature using an index into the collection. @@ -9201,6 +11427,12 @@ def __init__(self): @staticmethod def cast(arg) -> FlangeFeatures: return FlangeFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> FlangeFeature: + return None + def __iter__(self) -> Iterator[FlangeFeature]: + return None def item(self, index: int) -> FlangeFeature: """ Function that returns the specified flange feature using an index into the collection. @@ -9231,6 +11463,12 @@ def __init__(self): @staticmethod def cast(arg) -> FormFeatures: return FormFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> FormFeature: + return None + def __iter__(self) -> Iterator[FormFeature]: + return None def item(self, index: int) -> FormFeature: """ Function that returns the specified Form feature using an index into the collection. @@ -9325,6 +11563,12 @@ def __init__(self): @staticmethod def cast(arg) -> GeometricConstraintList: return GeometricConstraintList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> GeometricConstraint: + return None + def __iter__(self) -> Iterator[GeometricConstraint]: + return None def item(self, index: int) -> GeometricConstraint: """ Function that returns the specified geometry constraint using an index into the collection. @@ -9349,6 +11593,12 @@ def __init__(self): @staticmethod def cast(arg) -> GeometricConstraints: return GeometricConstraints() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> GeometricConstraint: + return None + def __iter__(self) -> Iterator[GeometricConstraint]: + return None def item(self, index: int) -> GeometricConstraint: """ Function that returns the specified sketch constraint using an index into the collection. @@ -9446,7 +11696,7 @@ def addTangent(self, curveOne: SketchCurve, curveTwo: SketchCurve) -> TangentCon def addSmooth(self, curveOne: SketchCurve, curveTwo: SketchCurve) -> SmoothConstraint: """ Creates a new smooth constraint between two curves. One of the curves - must be a spline. The other curve can be a spline or an arc. + must be a spline. The other curve can be a spline or any other type of curve. curveOne : The first curve to be constrained to be smooth to the second curve. curveTwo : The second curve to be constrained to be smooth to the first curve. Returns the newly created SmoothConstraint object or null if the creation failed. @@ -9469,6 +11719,101 @@ def addSymmetry(self, entityOne: SketchEntity, entityTwo: SketchEntity, symmetry Returns the newly created SymmetryConstraint object or null if the creation failed. """ return SymmetryConstraint() + def addOffset(self, curves: list[SketchCurve], offset: core.ValueInput, basePoint: core.Point3D) -> OffsetConstraint: + """ + Creates an offset constraint, which results in creating a new set of curves that are an offset of + the input curves. The returned offset constraint provides access to the created curves and the + parameter controlling the offset. + + The offset direction is implied by the flow direction of the provided curves. For example, if + two connected lines are offset, the flow direction is from line 1 to line 2. A positive offset + value creates the offset curve to the "right" of the lines and a negative offset goes to the "left". + Left and right are evaluated with respect to the geometry. If you are standing on line 1 looking + towards line 2 your left and right are the offset left and right. For closed single curves like + circles and ellipses their flow direction is always counterclockwise so a positive offset is + always to the outsides. + curves : A set of end connected curves. The Sketch.FindConnectedCurves method is a convenient way to get + this set of curves. + offset : The value that defines the offset. This is a ValueInput object so it can be a float value to define + the offset in centimeters or it can be a string defining an expression that will be used by the + dimension that controls the offset. + basePoint : The location on one of the curves where the offset dimension will be created. + The created OffsetConstraint. You can use properties on the constraint to get information about the offset. + """ + return OffsetConstraint() + def createRectangularPatternInput(self, entities: list[SketchEntity], distanceType: PatternDistanceType) -> RectangularPatternConstraintInput: + """ + Creates a new RectangularPatternConstraintInput object. Use this object to define the various settings + associated with a rectangular pattern in a sketch. Once the pattern is defined you can call the addRectangularPattern + method and pass in the input object to create the sketch rectangular pattern. + entities : An array of sketch entities to pattern. These can be sketch points and curves. + distanceType : Specifies if the distances defined for the pattern define the overall size of the pattern or the distance between the rows and columns. + Returns the created RectangularPatternsConstraintInput object or null in the case of failure. + """ + return RectangularPatternConstraintInput() + def addRectangularPattern(self, input: RectangularPatternConstraintInput) -> RectangularPatternConstraint: + """ + Creates a new rectangular pattern in the sketch. + input : A RectangularPatternConstraintInput object that defines all of inputs required to create + the desired rectangular pattern. Use the createRectangularPatternInput method to create the + input object. + + """ + return RectangularPatternConstraint() + def createCircularPatternInput(self, inputEntities: list[SketchEntity], centerPoint: SketchPoint) -> CircularPatternConstraintInput: + """ + Creates a CircularPatternConstraintInput object. Use properties and methods on this object + to define the circular pattern you want to create and then use the Add method, passing in + the CircularPatternConstraintInput object. + inputEntities : An array of sketch entities to be patterned. + All of the entities must be from the current sketch. + centerPoint : A SketchPoint from the same sketch that defines the center of the pattern. + Returns the newly created CircularPatternConstraintInput object or null if the creation failed. + """ + return CircularPatternConstraintInput() + def addCircularPattern(self, input: CircularPatternConstraintInput) -> CircularPatternConstraint: + """ + Creates a new circular pattern in the sketch. + input : A CircularPatternConstraintInput object that defines the desired circular pattern. Use the + createCircularPatternInput method to create a new CircularPatternConstraintInput + object and then use methods on it to define the circular pattern. + Returns the newly created CircularPatternConstraint object or null if the creation failed. + """ + return CircularPatternConstraint() + def addCoincidentToSurface(self, point: SketchPoint, surface: core.Base) -> CoincidentToSurfaceConstraint: + """ + Creates a new coincident constraint between the sketch point and surface. This forces the point to + lie on the surface. + point : The SketchPoint to constrain to the surface. + surface : The BRepFace or ConstructionPlane the point will be coincident to. + Returns the newly created CoincidentToSurfaceConstraint object or null if the creation failed. + """ + return CoincidentToSurfaceConstraint() + def addLineParallelToPlanarSurface(self, line: SketchLine, planarSurface: core.Base) -> LineParallelToPlanarSurfaceConstraint: + """ + Creates a new parallel constraint between a sketch line and a planar surface that will constrain + the line to lie on a plane parallel to the specified surface. + line : The SketchLine to constrain to the surface. + planarSurface : The planar BRepFace or CosntructionPlane the sketch line will be parallel to. + Returns the newly created LineParallelToPlanarSurfaceConstraint object or null if the creation failed. + """ + return LineParallelToPlanarSurfaceConstraint() + def addLineOnPlanarSurface(self, line: SketchLine, planarSurface: core.Base) -> LineOnPlanarSurfaceConstraint: + """ + Creates a new constraint that forces the sketch line to lie on a planar surface. + line : The SketchLine to constrain to the surface. + planarSurface : The planar BRepFace or CosntructionPlane the sketch line will lie on. + Returns the newly created LineOnPlanarSurfaceConstraint object or null if the creation failed. + """ + return LineOnPlanarSurfaceConstraint() + def addPerpendicularToSurface(self, curve: SketchCurve, surface: core.Base) -> PerpendicularToSurfaceConstraint: + """ + Creates a new perpendicular constraint that forces the sketch curve to be perpendicular to the specified surface. Line and spline curves are supported. + curve : The SketchCurve to constrain to the surface. + surface : The BRepFace or ConstructionPlane the line will be perpendicular to. + Returns the newly created PerpendicularToSurfaceConstraint object or null if the creation failed. + """ + return PerpendicularToSurfaceConstraint() @property def count(self) -> int: """ @@ -9519,7 +11864,7 @@ def setPositionBySketchPoint(self, sketchPoint: SketchPoint) -> bool: Returns true if successful. """ return bool() - def setPositionByPlaneAndOffsets(self, planarEntity: core.Base, point: core.Point3D, edgeOne: BRepEdge, offsetOne: core.ValueInput, edgeTwo: BRepEdge, offsetTwo: core.ValueInput) -> bool: + def setPositionByPlaneAndOffsets(self, planarEntity: core.Base, point: core.Point3D, edgeOne: BRepEdge, offsetOne: core.ValueInput, edgeTwo: BRepEdge = None, offsetTwo: core.ValueInput = None) -> bool: """ Defines the orientation of the hole using a planar face or construction plane. The position of the hole is defined by the distance from one or two edges. @@ -9529,6 +11874,10 @@ def setPositionByPlaneAndOffsets(self, planarEntity: core.Base, point: core.Poin projected onto the plane. This point should be close to the final position of the hole and is used to determine which solution out of several possible solutions should be chosen for the hole location. + + This point is defined in the coordinate system of the native entity used for the planarEntity + argument. For example, if the planarEntity argument is a proxy to a BRepFace, the point argument + must be in the coordinate system of the component of the native face, not the proxy. edgeOne : A linear BRepEdge object that the position of the hole will be measured from. The position of the hole will be measured along a perpendicular from this edge. offsetOne : A ValueInput object that defines the offset distance from edgeOne. If the ValueInput uses @@ -9574,7 +11923,7 @@ def setAllExtent(self, direction: ExtentDirections) -> bool: Returns true if successful. """ return bool() - def setOneSideToExtent(self, toEntity: core.Base, matchShape: bool, directionHint: core.Vector3D) -> bool: + def setOneSideToExtent(self, toEntity: core.Base, matchShape: bool, directionHint: core.Vector3D = None) -> bool: """ Sets the extent of the hole to be from the sketch plane to the specified "to" face. toEntity : The entity that defines the "to" extent. The valid types of entities can vary depending on @@ -9706,6 +12055,12 @@ def __init__(self): @staticmethod def cast(arg) -> HoleFeatures: return HoleFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> HoleFeature: + return None + def __iter__(self) -> Iterator[HoleFeature]: + return None def item(self, index: int) -> HoleFeature: """ Function that returns the specified hole feature using an index into the collection. @@ -9802,6 +12157,147 @@ def __init__(self): def cast(arg) -> HolePositionDefinition: return HolePositionDefinition() +class InCanvasRendering(core.Base): + """ + Provides access to the in-canvas rendering capabilities of Fusion. This + uses the active viewport and the user will see the rendering as it takes place. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> InCanvasRendering: + return InCanvasRendering() + def start(self, renderQuality: float) -> bool: + """ + Starts the process of in-canvas rendering. There are two modes + when doing in-canvas rendering; advanced and fast. This is specified in the + API using the isAdvanced property. When using advanced rendering, you can + specify the desired quality and the rendering will stop once that quality has + been reached. When using fast rendering, the rendering never stops but continues + until you stop it. + + When using the API, it's generally best to use advanced rendering so you + can easily control the final quality and get notified by the renderComplete + event when it has finished. When using fast rendering, the renderComplete event + is not fired and you have to use some other criteria like the number of iterations + complete or the time taken to determine when to stop the rendering process. + renderQuality : Specifies the desired quality of the rendering. The quality is specified using a + value between 0 and 1, where 0.75 is the equivalent of "Excellent" and 1.0 is + the same as "Final" in the user interface. + + This is ignored when using fast rendering (the isAdvanced property is False). + Returns true if the rendering was successfully started. + """ + return bool() + def stop(self) -> bool: + """ + Stops the current rendering process. + Returns true if successful. + """ + return bool() + def saveImage(self, filename: str) -> bool: + """ + Saves the image as it currently exists in the active viewport. To get the + best quality, this should be called after the renderComplete event has fired. + filename : The filename to save the image to. This must be the full path. + The file extension can be .png, .jpg, .jpeg, or .tiff and the + file will be saved as that type. + + The size of the image is dependent on the size of the viewport and + the current specified aspect ratio. + Returns true if the save was successful. + """ + return bool() + @property + def lockView(self) -> bool: + """ + Gets and sets if the view should be locked during the in-canvas render. This prohibits + the user from interacting with the view, which will cause the rendering to restart. + """ + return bool() + @lockView.setter + def lockView(self, value: bool): + """ + Gets and sets if the view should be locked during the in-canvas render. This prohibits + the user from interacting with the view, which will cause the rendering to restart. + """ + pass + @property + def limitResolution(self) -> float: + """ + Sets the percentage of the full resolution to render the image. Valid + values are between 20 and 100 inclusive. 100 is full resolution (100%). + """ + return float() + @limitResolution.setter + def limitResolution(self, value: float): + """ + Sets the percentage of the full resolution to render the image. Valid + values are between 20 and 100 inclusive. 100 is full resolution (100%). + """ + pass + @property + def elapsedTime(self) -> int: + """ + Returns the seconds spent on the current render. + """ + return int() + @property + def iterations(self) -> int: + """ + Returns the current number of iterations the renderer has completed. + """ + return int() + @property + def isAdvanced(self) -> bool: + """ + Gets and sets if "Fast" or "Advanced" rendering should be used. + If false, "Fast" rendering is used, which uses simplified lighting + and materials. + + There are two modes when doing in-canvas rendering; advanced and fast. When + using advanced rendering, you can specify the desired quality and the rendering + will stop once that quality has been reached. When using fast rendering, the + rendering never stops but continues until you stop it. + + When using the API, it's generally best to use advanced rendering so you + can easily control the final quality and get notified by the renderComplete + event when it has finished. When using fast rendering, the renderComplete event + is not fired, and you have to use some other criteria like the number of iterations + complete, or the time taken to determine when to stop the rendering process. + """ + return bool() + @isAdvanced.setter + def isAdvanced(self, value: bool): + """ + Gets and sets if "Fast" or "Advanced" rendering should be used. + If false, "Fast" rendering is used, which uses simplified lighting + and materials. + + There are two modes when doing in-canvas rendering; advanced and fast. When + using advanced rendering, you can specify the desired quality and the rendering + will stop once that quality has been reached. When using fast rendering, the + rendering never stops but continues until you stop it. + + When using the API, it's generally best to use advanced rendering so you + can easily control the final quality and get notified by the renderComplete + event when it has finished. When using fast rendering, the renderComplete event + is not fired, and you have to use some other criteria like the number of iterations + complete, or the time taken to determine when to stop the rendering process. + """ + pass + @property + def renderComplete(self) -> RenderEvent: + """ + The RenderEvent event fires when the rendering has reached the + quality that was specified when the rendering started. This event is only fired + when using advanced rendering (the isAdvanced property is True). To save the + finished rendering, use the saveImage method. + + You can add or remove event handlers from the RenderEvent. + """ + return RenderEvent() + class InterferenceInput(core.Base): """ Used to gather and define the various inputs and settings needed to calculate interference. This @@ -9898,6 +12394,12 @@ def __init__(self): @staticmethod def cast(arg) -> InterferenceResults: return InterferenceResults() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> InterferenceResult: + return None + def __iter__(self) -> Iterator[InterferenceResult]: + return None def item(self, index: int) -> InterferenceResult: """ Function that returns the specified interference result using an index into the collection. @@ -9923,6 +12425,44 @@ def count(self) -> int: """ return int() +class IsoCurveAnalyses(core.Base): + """ + Provides access to any Iso Curve analyses results in the design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> IsoCurveAnalyses: + return IsoCurveAnalyses() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> IsoCurveAnalysis: + return None + def __iter__(self) -> Iterator[IsoCurveAnalysis]: + return None + def item(self, index: int) -> IsoCurveAnalysis: + """ + A method that returns the specified IsoCurveAnalysis object using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection + has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return IsoCurveAnalysis() + def itemByName(self, name: str) -> IsoCurveAnalysis: + """ + A method that returns the specified IsoCurveAnalysis object using the name of the analysis + as displayed in the browser. + name : The name of the IsoCurveAnalysis object as displayed in the browser. + Returns the specified item or null if an invalid name was specified. + """ + return IsoCurveAnalysis() + @property + def count(self) -> int: + """ + Returns the number of CurvatureCombAnalysis objects in the collection. + """ + return int() + class Joint(core.Base): """ A joint in a design. @@ -9947,7 +12487,7 @@ def setAsRigidJointMotion(self) -> bool: Returns true if successful. """ return bool() - def setAsRevoluteJointMotion(self, rotationAxis: JointDirections, customRotationAxisEntity: core.Base) -> bool: + def setAsRevoluteJointMotion(self, rotationAxis: JointDirections, customRotationAxisEntity: core.Base = None) -> bool: """ Redefines the relationship between the two joint geometries as a revolute joint. @@ -9961,7 +12501,7 @@ def setAsRevoluteJointMotion(self, rotationAxis: JointDirections, customRotation Returns true if the operation was successful. """ return bool() - def setAsSliderJointMotion(self, sliderDirection: JointDirections, customSliderDirectionEntity: core.Base) -> bool: + def setAsSliderJointMotion(self, sliderDirection: JointDirections, customSliderDirectionEntity: core.Base = None) -> bool: """ Redefines the relationship between the two joint geometries as a slider joint. @@ -9974,7 +12514,7 @@ def setAsSliderJointMotion(self, sliderDirection: JointDirections, customSliderD Returns true if the operation was successful. """ return bool() - def setAsCylindricalJointMotion(self, rotationAxis: JointDirections, customRotationAxisEntity: core.Base) -> bool: + def setAsCylindricalJointMotion(self, rotationAxis: JointDirections, customRotationAxisEntity: core.Base = None) -> bool: """ Redefines the relationship between the two joint geometries as a cylindrical joint. @@ -9988,7 +12528,7 @@ def setAsCylindricalJointMotion(self, rotationAxis: JointDirections, customRotat Returns true if the operation was successful. """ return bool() - def setAsPinSlotJointMotion(self, rotationAxis: JointDirections, slideDirection: JointDirections, customRotationAxisEntity: core.Base, customSlideDirectionEntity: core.Base) -> bool: + def setAsPinSlotJointMotion(self, rotationAxis: JointDirections, slideDirection: JointDirections, customRotationAxisEntity: core.Base = None, customSlideDirectionEntity: core.Base = None) -> bool: """ Redefines the relationship between the two joint geometries as a pin-slot joint. @@ -10005,7 +12545,7 @@ def setAsPinSlotJointMotion(self, rotationAxis: JointDirections, slideDirection: Returns true if the operation was successful. """ return bool() - def setAsPlanarJointMotion(self, normalDirection: JointDirections, customNormalDirectionEntity: core.Base, customPrimarySlideDirection: core.Base) -> bool: + def setAsPlanarJointMotion(self, normalDirection: JointDirections, customNormalDirectionEntity: core.Base = None, customPrimarySlideDirection: core.Base = None) -> bool: """ Redefines the relationship between the two joint geometries as a planar joint. @@ -10023,7 +12563,7 @@ def setAsPlanarJointMotion(self, normalDirection: JointDirections, customNormalD Returns true if the operation was successful. """ return bool() - def setAsBallJointMotion(self, pitchDirection: JointDirections, yawDirection: JointDirections, customPitchDirection: core.Base, customYawDirection: core.Base) -> bool: + def setAsBallJointMotion(self, pitchDirection: JointDirections, yawDirection: JointDirections, customPitchDirection: core.Base = None, customYawDirection: core.Base = None) -> bool: """ Redefines the relationship between the two joint geometries as a ball joint. @@ -10268,6 +12808,20 @@ def entityToken(self) -> str: method to get the two entities identified by the tokens and then compare them. """ return str() + @property + def offsetX(self) -> ModelParameter: + """ + Returns the parameter controlling the offset along the primary axis (x axis) of the joint. To edit this + value, get the parameter and use one of its properties to edit the value. + """ + return ModelParameter() + @property + def offsetY(self) -> ModelParameter: + """ + Returns the parameter controlling the offset along the primary axis (y axis) of the joint. To edit this + value, get the parameter and use one of its properties to edit the value. + """ + return ModelParameter() class JointGeometry(core.Base): """ @@ -10382,6 +12936,16 @@ def createByBetweenTwoPlanes(planeOne: core.Base, planeTwo: core.Base, entityOne Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in case of a failure. """ return JointGeometry() + @staticmethod + def createByTwoEdgeIntersection(edgeOne: BRepEdge, edgeTwo: BRepEdge) -> JointGeometry: + """ + Creates a new transient JointGeometry object that is positioned at the intersection of the two input linear BRepEdge objects. + edgeOne : The first linear BRepEdge object. + edgeTwo : The second linear BRepEdge object. This edge must exist either on the same body as edgeOne or on a body in the same component as edgeOne. + edgeOne and edgeTwo must also both lie on the same plane and must intersect, they cannot be parallel. + Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in case of a failure. + """ + return JointGeometry() @property def geometryType(self) -> JointGeometryTypes: """ @@ -10420,21 +12984,21 @@ def origin(self) -> core.Point3D: def primaryAxisVector(self) -> core.Vector3D: """ Returns the direction of the primary axis that's been calculated for this joint geometry. - Conceptually, this is the X-axis of the computed coordinate system. + Conceptually, this is the Z-axis of the computed coordinate system. """ return core.Vector3D() @property def secondaryAxisVector(self) -> core.Vector3D: """ Returns the direction of the secondary axis that's been calculated for this joint geometry. - Conceptually, this is the Y-axis of the computed coordinate system. + Conceptually, this is the X-axis of the computed coordinate system. """ return core.Vector3D() @property def thirdAxisVector(self) -> core.Vector3D: """ Returns the direction of the third axis that's been calculated for this joint geometry. - Conceptually, this is the Z-axis of the computed coordinate system. + Conceptually, this is the Y-axis of the computed coordinate system. """ return core.Vector3D() @property @@ -10467,7 +13031,7 @@ def setAsRigidJointMotion(self) -> bool: Returns true if successful. """ return bool() - def setAsRevoluteJointMotion(self, rotationAxis: JointDirections, customRotationAxisEntity: core.Base) -> bool: + def setAsRevoluteJointMotion(self, rotationAxis: JointDirections, customRotationAxisEntity: core.Base = None) -> bool: """ Defines the relationship between the two joint geometries as a revolute joint. rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the @@ -10478,7 +13042,7 @@ def setAsRevoluteJointMotion(self, rotationAxis: JointDirections, customRotation Returns true if the operation was successful. """ return bool() - def setAsSliderJointMotion(self, sliderDirection: JointDirections, customSliderDirectionEntity: core.Base) -> bool: + def setAsSliderJointMotion(self, sliderDirection: JointDirections, customSliderDirectionEntity: core.Base = None) -> bool: """ Defines the relationship between the two joint geometries as a slider joint. sliderDirection : Specifies which axis the slide direction is along. If this is set to CustomJointDirection then the @@ -10488,7 +13052,7 @@ def setAsSliderJointMotion(self, sliderDirection: JointDirections, customSliderD Returns true if the operation was successful. """ return bool() - def setAsCylindricalJointMotion(self, rotationAxis: JointDirections, customRotationAxisEntity: core.Base) -> bool: + def setAsCylindricalJointMotion(self, rotationAxis: JointDirections, customRotationAxisEntity: core.Base = None) -> bool: """ Defines the relationship between the two joint geometries as a cylindrical joint. rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the @@ -10499,7 +13063,7 @@ def setAsCylindricalJointMotion(self, rotationAxis: JointDirections, customRotat Returns true if the operation was successful. """ return bool() - def setAsPinSlotJointMotion(self, rotationAxis: JointDirections, slideDirection: JointDirections, customRotationAxisEntity: core.Base, customSlideDirectionEntity: core.Base) -> bool: + def setAsPinSlotJointMotion(self, rotationAxis: JointDirections, slideDirection: JointDirections, customRotationAxisEntity: core.Base = None, customSlideDirectionEntity: core.Base = None) -> bool: """ Defines the relationship between the two joint geometries as a pin-slot joint. rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the @@ -10513,7 +13077,7 @@ def setAsPinSlotJointMotion(self, rotationAxis: JointDirections, slideDirection: Returns true if the operation was successful. """ return bool() - def setAsPlanarJointMotion(self, normalDirection: JointDirections, customNormalDirectionEntity: core.Base, customPrimarySlideDirection: core.Base) -> bool: + def setAsPlanarJointMotion(self, normalDirection: JointDirections, customNormalDirectionEntity: core.Base = None, customPrimarySlideDirection: core.Base = None) -> bool: """ Defines the relationship between the two joint geometries as a planar joint. normalDirection : Defines the direction of the normal of the single degree of rotation. @@ -10528,7 +13092,7 @@ def setAsPlanarJointMotion(self, normalDirection: JointDirections, customNormalD Returns true if the operation was successful. """ return bool() - def setAsBallJointMotion(self, pitchDirection: JointDirections, yawDirection: JointDirections, customPitchDirection: core.Base, customYawDirection: core.Base) -> bool: + def setAsBallJointMotion(self, pitchDirection: JointDirections, yawDirection: JointDirections, customPitchDirection: core.Base = None, customYawDirection: core.Base = None) -> bool: """ Defines the relationship between the two joint geometries as a ball joint. pitchDirection : Defines the direction the pitch angle is measured from. This can be ZAxisJointDirection or CustomJointDirection. If @@ -10740,6 +13304,12 @@ def __init__(self): @staticmethod def cast(arg) -> JointList: return JointList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Joint: + return None + def __iter__(self) -> Iterator[Joint]: + return None def item(self, index: int) -> Joint: """ Function that returns the specified joint using an index into the list. @@ -10929,19 +13499,22 @@ def zAxisEntity(self, value: core.Base): @property def primaryAxisVector(self) -> core.Vector3D: """ - Returns the direction of the primary axis that's been calculated for this joint origin. + Returns the direction of the primary axis that's been calculated for this joint origin. This + is conceptually the Z axis as shown by the triad representing the joint origin. """ return core.Vector3D() @property def secondaryAxisVector(self) -> core.Vector3D: """ - Returns the direction of the secondary axis that's been calculated for this joint origin. + Returns the direction of the secondary axis that's been calculated for this joint origin. This + is conceptually the X axis as shown by the triad representing the joint origin. """ return core.Vector3D() @property def thirdAxisVector(self) -> core.Vector3D: """ - Returns the direction of the third axis that's been calculated for this joint origin. + Returns the direction of the third axis that's been calculated for this joint origin. This + is conceptually the Y axis as shown by the triad representing the joint origin. """ return core.Vector3D() @property @@ -10988,6 +13561,26 @@ def entityToken(self) -> str: method to get the two entities identified by the tokens and then compare them. """ return str() + @property + def isLightBulbOn(self) -> bool: + """ + Gets and sets if the light bulb of this jointOrigin as displayed in the browser is on or off. + A joint origin will only be visible if the light bulb is switched on. However, + the light bulb can be on and the joint origin still invisible if a higher level occurrence + in the assembly context is not visible because its light bulb is off or the joint origins folder + light bulb is off. + """ + return bool() + @isLightBulbOn.setter + def isLightBulbOn(self, value: bool): + """ + Gets and sets if the light bulb of this jointOrigin as displayed in the browser is on or off. + A joint origin will only be visible if the light bulb is switched on. However, + the light bulb can be on and the joint origin still invisible if a higher level occurrence + in the assembly context is not visible because its light bulb is off or the joint origins folder + light bulb is off. + """ + pass class JointOriginInput(core.Base): """ @@ -11121,19 +13714,22 @@ def zAxisEntity(self, value: core.Base): @property def primaryAxisVector(self) -> core.Vector3D: """ - Returns the direction of the primary axis that's been calculated for this joint origin. + Returns the direction of the primary axis that's been calculated for this joint origin. This + is conceptually the Z axis as shown by the triad representing the joint origin. """ return core.Vector3D() @property def secondaryAxisVector(self) -> core.Vector3D: """ - Returns the direction of the secondary axis that's been calculated for this joint origin. + Returns the direction of the secondary axis that's been calculated for this joint origin. This + is conceptually the X axis as shown by the triad representing the joint origin. """ return core.Vector3D() @property def thirdAxisVector(self) -> core.Vector3D: """ - Returns the direction of the third axis that's been calculated for this joint origin. + Returns the direction of the third axis that's been calculated for this joint origin. This + is conceptually the Y axis as shown by the triad representing the joint origin. """ return core.Vector3D() @@ -11146,6 +13742,12 @@ def __init__(self): @staticmethod def cast(arg) -> JointOriginList: return JointOriginList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> JointOrigin: + return None + def __iter__(self) -> Iterator[JointOrigin]: + return None def item(self, index: int) -> JointOrigin: """ Function that returns the specified joint origin using an index into the list. @@ -11177,6 +13779,12 @@ def __init__(self): @staticmethod def cast(arg) -> JointOrigins: return JointOrigins() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> JointOrigin: + return None + def __iter__(self) -> Iterator[JointOrigin]: + return None def item(self, index: int) -> JointOrigin: """ Function that returns the specified joint origin using an index into the collection. @@ -11227,6 +13835,12 @@ def __init__(self): @staticmethod def cast(arg) -> Joints: return Joints() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Joint: + return None + def __iter__(self) -> Iterator[Joint]: + return None def item(self, index: int) -> Joint: """ Function that returns the specified joint using an index into the collection. @@ -11311,6 +13925,30 @@ def entity(self, value: core.Base): Gets and sets the entity that defines the centerline or rail. This can be a single sketch entity, a single BRepEdge, a Path, or a Profile. + If this LoftCenterLineOrRail object is associated with a created feature, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass + @property + def edgeCondition(self) -> LoftRailEdgeConditions: + """ + Gets and sets the edge condition for this rail. This value is only + applicable when a BRepEdge is used as the rail entity. If sketch + geometry is used, this value is ignored. The property defaults + to G0LoftRailEdgeCondition. + + If this LoftCenterLineOrRail object is associated with a created feature, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + return LoftRailEdgeConditions() + @edgeCondition.setter + def edgeCondition(self, value: LoftRailEdgeConditions): + """ + Gets and sets the edge condition for this rail. This value is only + applicable when a BRepEdge is used as the rail entity. If sketch + geometry is used, this value is ignored. The property defaults + to G0LoftRailEdgeCondition. + If this LoftCenterLineOrRail object is associated with a created feature, you need to position the timeline marker to immediately before this feature. This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) """ @@ -11325,6 +13963,12 @@ def __init__(self): @staticmethod def cast(arg) -> LoftCenterLineOrRails: return LoftCenterLineOrRails() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> LoftCenterLineOrRail: + return None + def __iter__(self) -> Iterator[LoftCenterLineOrRail]: + return None def item(self, index: int) -> LoftCenterLineOrRail: """ Function that returns the specified LoftCenterLineOrRail using an index into the collection. @@ -11545,6 +14189,12 @@ def __init__(self): @staticmethod def cast(arg) -> LoftFeatures: return LoftFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> LoftFeature: + return None + def __iter__(self) -> Iterator[LoftFeature]: + return None def item(self, index: int) -> LoftFeature: """ Function that returns the specified loft feature using an index into the collection. @@ -11627,7 +14277,7 @@ def setFreeEndCondition(self) -> bool: Returns true if the operation was successful. """ return bool() - def setDirectionEndCondition(self, angle: core.ValueInput, weight: core.ValueInput) -> bool: + def setDirectionEndCondition(self, angle: core.ValueInput = None, weight: core.ValueInput = None) -> bool: """ Sets the end condition to be defined by a direction and weight. @@ -11747,6 +14397,12 @@ def __init__(self): @staticmethod def cast(arg) -> LoftSections: return LoftSections() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> LoftSection: + return None + def __iter__(self) -> Iterator[LoftSection]: + return None def item(self, index: int) -> LoftSection: """ Function that returns the specified LoftSection using an index into the collection. They are returned @@ -11785,7 +14441,13 @@ def __init__(self): @staticmethod def cast(arg) -> MeshBodies: return MeshBodies() - def add(self, fullFilename: str, units: MeshUnits, baseOrFormFeature: core.Base) -> MeshBodyList: + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MeshBody: + return None + def __iter__(self) -> Iterator[MeshBody]: + return None + def add(self, fullFilename: str, units: MeshUnits, baseOrFormFeature: core.Base = None) -> MeshBodyList: """ Creates a new mesh body by importing an STL, OBJ or 3MF file. @@ -12047,6 +14709,15 @@ def entityToken(self) -> str: method to get the two entities identified by the tokens and then compare them. """ return str() + @property + def textureMapControl(self) -> core.TextureMapControl: + """ + Returns the TextureMapControl object associated with this body when there is an + appearance assigned to the body that has a texture associated with it. If there + isn't a texture, this property will return null. If there is a texture, you can + use the returned object to query and modify how the texture is applied to the body. + """ + return core.TextureMapControl() class MeshBodyList(core.Base): """ @@ -12057,6 +14728,12 @@ def __init__(self): @staticmethod def cast(arg) -> MeshBodyList: return MeshBodyList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MeshBody: + return None + def __iter__(self) -> Iterator[MeshBody]: + return None def item(self, index: int) -> MeshBody: """ Provides access to a mesh body within the collection. @@ -12101,6 +14778,44 @@ def parent(self) -> core.Base: """ return core.Base() +class MinimumRadiusAnalyses(core.Base): + """ + Provides access to any minimum radius analyses results in the design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MinimumRadiusAnalyses: + return MinimumRadiusAnalyses() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MinimumRadiusAnalysis: + return None + def __iter__(self) -> Iterator[MinimumRadiusAnalysis]: + return None + def item(self, index: int) -> MinimumRadiusAnalysis: + """ + A method that returns the specified MinimumRadiusAnalysis object using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection + has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return MinimumRadiusAnalysis() + def itemByName(self, name: str) -> MinimumRadiusAnalysis: + """ + A method that returns the specified MinimumRadiusAnalysis object using the name of the analysis + as displayed in the browser. + name : The name of the MinimumRadiusAnalysis object as displayed in the browser. + Returns the specified item or null if an invalid name was specified. + """ + return MinimumRadiusAnalysis() + @property + def count(self) -> int: + """ + Returns the number of MinimumRadiusAnalysis objects in the collection. + """ + return int() + class MirrorFeatureInput(core.Base): """ This class defines the methods and properties that pertain to the definition of a mirror @@ -12226,6 +14941,12 @@ def __init__(self): @staticmethod def cast(arg) -> MirrorFeatures: return MirrorFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MirrorFeature: + return None + def __iter__(self) -> Iterator[MirrorFeature]: + return None def item(self, index: int) -> MirrorFeature: """ Function that returns the specified mirror feature using an index into the collection. @@ -12277,6 +14998,12 @@ def __init__(self): @staticmethod def cast(arg) -> ModelParameters: return ModelParameters() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ModelParameter: + return None + def __iter__(self) -> Iterator[ModelParameter]: + return None def item(self, index: int) -> ModelParameter: """ Function that returns the specified Model Parameter using an index into the collection. @@ -12306,6 +15033,22 @@ def component(self) -> Component: """ return Component() +class MoveFeatureDefinition(core.Base): + """ + A Base class to return the information used to define a Move feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MoveFeatureDefinition: + return MoveFeatureDefinition() + @property + def parentMoveFeature(self) -> MoveFeature: + """ + Returns the parent MoveFeature object + """ + return MoveFeature() + class MoveFeatureInput(core.Base): """ This class defines the methods and properties that pertain to the definition of a move feature. @@ -12315,6 +15058,90 @@ def __init__(self): @staticmethod def cast(arg) -> MoveFeatureInput: return MoveFeatureInput() + def defineAsFreeMove(self, transform: core.Matrix3D) -> bool: + """ + This method will define a move feature whose translation and orientation + is defined using a transformation matrix. A matrix can define any translation and + orientation. + transform : The transformation matrix that defines the transform to apply. The matrix must + be an orthogonal matrix; that is the axes are perpendicular to each other + and there isn't any scaling or mirroring defined. + Returns true if defining the type of move is successful. + """ + return bool() + def defineAsTranslateXYZ(self, xDistance: core.ValueInput, yDistance: core.ValueInput, zDistance: core.ValueInput, isDesignSpace: bool) -> bool: + """ + This method will define a move feature that defines a translation in X, Y, and Z. + xDistance : A ValueInput object that defines the offset in the X direction. If the ValueInput + is created using a real value, the distance is in centimeters. If it's defined using + a string, the default document units are used. + yDistance : A ValueInput object that defines the offset in the Y direction. If the ValueInput + is created using a real value, the distance is in centimeters. If it's defined using + a string, the default document units are used. + zDistance : A ValueInput object that defines the offset in the Z direction. If the ValueInput + is created using a real value, the distance is in centimeters. If it's defined using + a string, the default document units are used. + isDesignSpace : Defines if the translation is defined with respect to the design or component space. + Design space is the same as the root component space. + Returns true if defining the type of move is successful. + """ + return bool() + def defineAsTranslateAlongEntity(self, linearEntity: core.Base, distance: core.ValueInput) -> bool: + """ + This method will define a move feature that defines a translation along a specified entity. + linearEntity : A linear entity that defines the direction of the move. This can be a linear BRepEdge, + ConstructionAxis, or a SketchLine. The entity defines the direction, not the distance. + The natural direction of the entity defines the translation direction. + distance : A ValueInput object that defines the offset distance. If the ValueInput + is created using a real value, the distance is in centimeters. If it's defined using + a string, the default document units are used. + Returns true if defining the type of move is successful. + """ + return bool() + def defineAsRotate(self, axisEntity: core.Base, angle: core.ValueInput) -> bool: + """ + This method defines a move feature that is described by an axis and rotation angle. + axisEntity : A linear entity that defines the axis of rotation. This can be a linear BRepEdge, + ConstructionAxis, or a SketchLine. The natural direction of the entity defines a + right-hand rule for the rotation direction. + angle : A ValueInput object that defines the rotation angle. If the ValueInput + is created using a real value, the angle is in radians. If it's defined using + a string, the default document units will be used. + Returns true if defining the type of move is successful. + """ + return bool() + def defineAsPointToPoint(self, originPoint: core.Base, targetPoint: core.Base) -> bool: + """ + This method defines a move feature described by a translation from one point to another. + originPoint : The first point that defines the start position of the move. + targetPoint : The second point that defines the direction and distance of the move. + Returns true if defining the type of move is successful. + """ + return bool() + def defineAsPointToPosition(self, point: core.Base, xDistance: core.ValueInput, yDistance: core.ValueInput, zDistance: core.ValueInput, isDesignSpace: bool) -> bool: + """ + This method defines a move feature described by a point and an offset. The distances + define offsets in the X, Y, and Z directions in either design or component space. To + not move the input entities at all the offset distances should be set to the current + location of the point in either design or component space. Adding or subtracting to + those values will then move the entities that distance. It's best to experiment with + the command interactively to understand the behavior. + point : An entity that defines a point in space. This can be a sketch point, a construction point, + or a BRepVertex. + xDistance : A ValueInput object that defines the offset in the X direction. If the ValueInput + is created using a real value, the distance is in centimeters. If it's defined using + a string, the default document units will be used. + yDistance : A ValueInput object that defines the offset in the Y direction. If the ValueInput + is created using a real value, the distance is in centimeters. If it's defined using + a string, the default document units will be used. + zDistance : A ValueInput object that defines the offset in the Z direction. If the ValueInput + is created using a real value, the distance is in centimeters. If it's defined using + a string, the default document units will be used. + isDesignSpace : Defines if the translation is defined with respect to the design or component space. + Design space is the same as the root component space. + Returns true if defining the type of move is successful. + """ + return bool() @property def inputEntities(self) -> core.ObjectCollection: """ @@ -12330,22 +15157,6 @@ def inputEntities(self, value: core.ObjectCollection): """ pass @property - def transform(self) -> core.Matrix3D: - """ - Gets and sets the transform to apply to the input entities. This can describe a move (translation) - or a rotation. The matrix must define an orthogonal transform. That is the axes remain - perpendicular to each other and there isn't any scale or mirror defined. - """ - return core.Matrix3D() - @transform.setter - def transform(self, value: core.Matrix3D): - """ - Gets and sets the transform to apply to the input entities. This can describe a move (translation) - or a rotation. The matrix must define an orthogonal transform. That is the axes remain - perpendicular to each other and there isn't any scale or mirror defined. - """ - pass - @property def targetBaseFeature(self) -> BaseFeature: """ When creating a feature that is owned by a base feature, set this property to the @@ -12382,6 +15193,12 @@ def __init__(self): @staticmethod def cast(arg) -> MoveFeatures: return MoveFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MoveFeature: + return None + def __iter__(self) -> Iterator[MoveFeature]: + return None def item(self, index: int) -> MoveFeature: """ Function that returns the specified move feature using an index into the collection. @@ -12389,20 +15206,6 @@ def item(self, index: int) -> MoveFeature: Returns the specified item or null if an invalid index was specified. """ return MoveFeature() - def createInput(self, inputEntities: core.ObjectCollection, transform: core.Matrix3D) -> MoveFeatureInput: - """ - Creates a MoveFeatureInput object. Use properties and methods on this object - to define the move feature you want to create and then use the Add method, passing in - the MoveFeatureInput object. - inputEntities : An ObjectCollection containing the entities to move. This collection can only contain - BRepBody objects in parametric modeling. It can be BRep bodies, T-Spline bodies, - mesh bodies mixed or faces and features mixed in non-parametric modeling. - transform : The transform to apply to the input entities. This can describe a move (translation) or a rotation. The - matrix must define an orthogonal transform. That is the axes must be perpendicular to each other and there - can't be any scaling or mirroring defined. - Returns the newly created MoveFeatureInput object or null if the creation failed. - """ - return MoveFeatureInput() def add(self, input: MoveFeatureInput) -> MoveFeature: """ Creates a new move feature. @@ -12420,6 +15223,16 @@ def itemByName(self, name: str) -> MoveFeature: Returns the specified item or null if the specified name was not found. """ return MoveFeature() + def createInput2(self, inputEntities: core.ObjectCollection) -> MoveFeatureInput: + """ + Creates a MoveFeatureInput object. Use properties and methods on this object + to define how the move is defined and then use the MoveFeatues.add method, passing in + the MoveFeatureInput object to create a move feature. + inputEntities : An ObjectCollection containing the objects to move. For a parametric model, the collection can contain + BRepBody or BRepFace objects but not a combination of both. + Returns the newly created MoveFeatureInput object or null if the creation failed. + """ + return MoveFeatureInput() @property def count(self) -> int: """ @@ -12471,7 +15284,7 @@ def moveToComponent(self, targetOccurrence: Occurrence) -> Occurrence: Returns the moved Occurrence or null in the case the move failed. """ return Occurrence() - def getPhysicalProperties(self, accuracy: CalculationAccuracy) -> PhysicalProperties: + def getPhysicalProperties(self, accuracy: CalculationAccuracy = CalculationAccuracy.LowCalculationAccuracy) -> PhysicalProperties: """ Returns the PhysicalProperties object that has properties for getting the area, density, mass, volume, moments, etc of this occurrence. @@ -12490,6 +15303,18 @@ def breakLink(self) -> bool: Returns true if the break link was successful. """ return bool() + def replace(self, newFile: core.DataFile, replaceAll: bool) -> bool: + """ + Replaces this occurrence or all occurrences that reference the same external component with a new component. + + This method will fail if the occurrence is not referencing an external component. + newFile : Specifies the DataFile you want to use as the replacement. The DataFile specified + must exist in the same hub as the parent assembly. + replaceAll : Indicates if you want to replace only this single occurrence or all occurrences that reference + the same external design. + Returns true if the replacement was successful. + """ + return bool() @property def sourceComponent(self) -> Component: """ @@ -12571,20 +15396,6 @@ def isVisible(self) -> bool: """ return bool() @property - def transform(self) -> core.Matrix3D: - """ - Gets and sets the 3d matrix data that defines this occurrences orientation and - position in its assembly context - """ - return core.Matrix3D() - @transform.setter - def transform(self, value: core.Matrix3D): - """ - Gets and sets the 3d matrix data that defines this occurrences orientation and - position in its assembly context - """ - pass - @property def timelineObject(self) -> TimelineObject: """ Returns the timeline object associated with the creation of this occurrence. @@ -12756,6 +15567,16 @@ def transform2(self, value: core.Matrix3D): position in its assembly context """ pass + @property + def documentReference(self) -> core.DocumentReference: + """ + When the component this occurrence references is an external reference (the isReferencedComponent property returns true), + this will return the object that represents that reference. Through the DocumentReference object you can modify + the version and get other information associated with the reference. + + This property will fail if the occurrence is not referencing an external component. + """ + return core.DocumentReference() class OccurrenceList(core.Base): """ @@ -12766,6 +15587,12 @@ def __init__(self): @staticmethod def cast(arg) -> OccurrenceList: return OccurrenceList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Occurrence: + return None + def __iter__(self) -> Iterator[Occurrence]: + return None def item(self, index: int) -> Occurrence: """ Returns the specified occurrence using an index into the collection. @@ -12797,6 +15624,12 @@ def __init__(self): @staticmethod def cast(arg) -> Occurrences: return Occurrences() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Occurrence: + return None + def __iter__(self) -> Iterator[Occurrence]: + return None def item(self, index: int) -> Occurrence: """ Function that returns the specified occurrence using an index into the collection. @@ -12847,6 +15680,19 @@ def asArray(self) -> list[Occurrence]: Returns the current list of all occurrences. """ return [Occurrence()] + def addNewComponentCopy(self, component: Component, transform: core.Matrix3D) -> Occurrence: + """ + Method that creates a new occurrence by creating a new component that is a copy of an existing + component. This is the equivalent of copying and using the "Paste New" command in the user interface. This + is different from the addExistingComponent in that it's not a new instance to the existing component but a + new component is created that has it's own definition (sketches, features, etc.) and a new occurrence instance + is created to reference this new component. + component : The existing component to create a copy of. + transform : A transform that defines the location for the new occurrence + Returns the newly created occurrence or null if the creation failed. The newly created component can be + obtained by using the component property of the returned Occurrence. + """ + return Occurrence() @property def count(self) -> int: """ @@ -12871,6 +15717,12 @@ def __init__(self): @staticmethod def cast(arg) -> OffsetFacesFeatures: return OffsetFacesFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> OffsetFacesFeature: + return None + def __iter__(self) -> Iterator[OffsetFacesFeature]: + return None def item(self, index: int) -> OffsetFacesFeature: """ Function that returns the specified Offset Face feature using an index into the collection. @@ -12990,6 +15842,12 @@ def __init__(self): @staticmethod def cast(arg) -> OffsetFeatures: return OffsetFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> OffsetFeature: + return None + def __iter__(self) -> Iterator[OffsetFeature]: + return None def item(self, index: int) -> OffsetFeature: """ Function that returns the specified offset feature using an index into the collection. @@ -12997,7 +15855,7 @@ def item(self, index: int) -> OffsetFeature: Returns the specified item or null if an invalid index was specified. """ return OffsetFeature() - def createInput(self, entities: core.ObjectCollection, distance: core.ValueInput, operation: FeatureOperations, isChainSelection: bool) -> OffsetFeatureInput: + def createInput(self, entities: core.ObjectCollection, distance: core.ValueInput, operation: FeatureOperations, isChainSelection: bool = True) -> OffsetFeatureInput: """ Creates a OffsetFeatureInput object. Use properties and methods on this object to define the offset feature you want to create and then use the Add method, passing in @@ -13153,6 +16011,12 @@ def entityToken(self) -> str: method to get the two entities identified by the tokens and then compare them. """ return str() + @property + def dependencyParameters(self) -> ParameterList: + """ + Returns a list of parameters that this parameter is dependent on. + """ + return ParameterList() class ParameterList(core.Base): """ @@ -13163,6 +16027,12 @@ def __init__(self): @staticmethod def cast(arg) -> ParameterList: return ParameterList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Parameter: + return None + def __iter__(self) -> Iterator[Parameter]: + return None @staticmethod def create() -> ParameterList: """ @@ -13212,7 +16082,7 @@ def removeByItem(self, item: Parameter) -> bool: Returns true if successful. This method will fail if the list is read-only """ return bool() - def find(self, parameter: Parameter, startIndex: int) -> int: + def find(self, parameter: Parameter, startIndex: int = 0) -> int: """ Finds the specified parameter in the list. The search can be started at a specified index rather than from the beginning of the list. @@ -13253,30 +16123,74 @@ def __init__(self): @staticmethod def cast(arg) -> PatchFeatureInput: return PatchFeatureInput() + def setContinuity(self, continuity: list[int], weight: list[float], isContinuityDirectionFlipped: list[bool]) -> bool: + """ + Sets the continuity to use for each edge in the boundary. The arrays for the arguments correspond + to B-Rep edges in the boundary. You can use the getContinuity method to get the list of edges to + know their order. This order applies to the arrays provided for the arguments. + continuity : An array whose size of the number of B-Rep edges in the boundary. You can use the getContinuity + method to get the list of edges, so you know the number and order of the edges. The continuity array defines the + type of continuity to apply to the edge at the same index. The values are obtained from the SurfaceContinuityTypes + enum and passed in as an integer. + weight : An array whose size is the number of B-Rep edges in the boundary. You can use the getContinuity + method to get the list of edges, so you know the number and order of the edges. The weight array defines the + weight to apply to the edge at the same index. If the continuity of an edge is ConnectedSurfaceContinuityType, + the weight value is ignored. + isContinuityDirectionFlipped : An array whose size is the number of B-Rep edges in the boundary. You can use the getContinuity + method to get the list of edges, so you know the number and order of the edges. The isContinuityDirectionFlipped + array defines which of the two faces the edge connects to and is used in computing the continuity direction. If the + continuity is ConnectedSurfaceContinuityType, or the edge is an open edge and only connected to a single face, + the value is ignored. + + If false, the face associated with the first co-edge returned by the edge is used. + Returns true if successful. + """ + return bool() + def getContinuity(self) -> tuple[bool, list[BRepEdge], list[int], list[float], list[bool]]: + """ + Gets the continuity used for each edge in the boundary. + edges : Output array containing all of the BRepEdge objects in the boundary. + continuity : Output array the same size as the edges array that defines the continuity + to apply to the edge in the same index in the edges array. The values are obtained + from the SurfaceContinuityTypes enum and passed in as an integers. + weight : Output array the same size as the edges array that defines the weight applied + to the edge in the same index in the edges array. If the continuity + of an edge is ConnectedSurfaceContinuityType, the weight value should be ignored. + isContinuityDirectionFlipped : Output array the same size as the edges array that defines which of the two faces the + edge connects to is used in computing the continuity direction. If the continuity is + ConnectedSurfaceContinuityType or the edge is an open edge and only connected to a + single face, the value should be ignored. + + If false, the face associated with the first co-edge returned by the edge is used. + Returns true if successful. + """ + return (bool(), [BRepEdge()], [int()], [float()], [bool()]) @property def boundaryCurve(self) -> core.Base: """ - Gets and set the input geometry that will be used to define the boundary. This can be a sketch profile, - a single sketch curve, a single B-Rep edge, or a Path object. + Gets and sets the input geometry that will be used to define the boundary. This can be a sketch profile, + a single sketch curve, a single B-Rep edge, an ObjectCollection, or a Path object. - If a single sketch curve or B-Rep edge is input, that is not closed, Fusion 360 will automatically find connected sketch curves - or B-Rep edges in order to define a closed loop. All sketch curves are valid as input. BRepEdges are valid if they are - an "open" edge, which means they are only used by one face. + If a single open sketch curve or B-Rep edge is input, Fusion will automatically find connected sketch curves + or B-Rep edges to define a closed loop. - If a Path is input it must define a closed shape and the B-Rep edges must be valid "open" edges. + If an ObjectCollection is used as input, it must be a set of curves that define a closed shape. + + If a Path is used as input, it must define a closed shape. """ return core.Base() @boundaryCurve.setter def boundaryCurve(self, value: core.Base): """ - Gets and set the input geometry that will be used to define the boundary. This can be a sketch profile, - a single sketch curve, a single B-Rep edge, or a Path object. + Gets and sets the input geometry that will be used to define the boundary. This can be a sketch profile, + a single sketch curve, a single B-Rep edge, an ObjectCollection, or a Path object. + + If a single open sketch curve or B-Rep edge is input, Fusion will automatically find connected sketch curves + or B-Rep edges to define a closed loop. - If a single sketch curve or B-Rep edge is input, that is not closed, Fusion 360 will automatically find connected sketch curves - or B-Rep edges in order to define a closed loop. All sketch curves are valid as input. BRepEdges are valid if they are - an "open" edge, which means they are only used by one face. + If an ObjectCollection is used as input, it must be a set of curves that define a closed shape. - If a Path is input it must define a closed shape and the B-Rep edges must be valid "open" edges. + If a Path is used as input, it must define a closed shape. """ pass @property @@ -13294,20 +16208,6 @@ def operation(self, value: FeatureOperations): """ pass @property - def continuity(self) -> SurfaceContinuityTypes: - """ - Gets and sets type of surface continuity to use when matching boundary edges to face edges. When a new PatchFeatureInput is - created, this is initialized to ConnectedSurfaceContinuityType. This value is ignored when creating a patch for sketch curves. - """ - return SurfaceContinuityTypes() - @continuity.setter - def continuity(self, value: SurfaceContinuityTypes): - """ - Gets and sets type of surface continuity to use when matching boundary edges to face edges. When a new PatchFeatureInput is - created, this is initialized to ConnectedSurfaceContinuityType. This value is ignored when creating a patch for sketch curves. - """ - pass - @property def targetBaseFeature(self) -> BaseFeature: """ When creating a feature that is owned by a base feature, set this property to the @@ -13336,8 +16236,8 @@ def targetBaseFeature(self, value: BaseFeature): @property def creationOccurrence(self) -> Occurrence: """ - In order for geometry to be transformed correctly, an Occurrence for creation needs to be - specified when the Patch feature is created based on geometry (e.g. a profile, edges, faces) + For geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the Patch feature is created based on geometry (e.g., a profile, edges, faces) in another component AND (the Patch feature) is not in the root component. The CreationOccurrence is analogous to the active occurrence in the UI """ @@ -13345,12 +16245,114 @@ def creationOccurrence(self) -> Occurrence: @creationOccurrence.setter def creationOccurrence(self, value: Occurrence): """ - In order for geometry to be transformed correctly, an Occurrence for creation needs to be - specified when the Patch feature is created based on geometry (e.g. a profile, edges, faces) + For geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the Patch feature is created based on geometry (e.g., a profile, edges, faces) in another component AND (the Patch feature) is not in the root component. The CreationOccurrence is analogous to the active occurrence in the UI """ pass + @property + def interiorRailsAndPoints(self) -> core.ObjectCollection: + """ + Gets and sets any interior curves or points the patch should fit + through. Valid entities include object collections of connected curves, paths, sketch curves, + sketch points, B-Rep edges, and construction points. + + When getting this property, the returned ObjectCollection can contain individual edges, sketch curves, + sketch points, construction points, vertices, and ObjectCollection objects that represent a group + of the curves and points listed above. + + Can be set to null to remove any interior rails and points from the patch. + """ + return core.ObjectCollection() + @interiorRailsAndPoints.setter + def interiorRailsAndPoints(self, value: core.ObjectCollection): + """ + Gets and sets any interior curves or points the patch should fit + through. Valid entities include object collections of connected curves, paths, sketch curves, + sketch points, B-Rep edges, and construction points. + + When getting this property, the returned ObjectCollection can contain individual edges, sketch curves, + sketch points, construction points, vertices, and ObjectCollection objects that represent a group + of the curves and points listed above. + + Can be set to null to remove any interior rails and points from the patch. + """ + pass + @property + def isGroupEdges(self) -> bool: + """ + Gets and sets if the edges in the boundary curve are treated as a group, + and they all use the same continuity. If this property is True (which is the default), + the continuity property controls the continuity for all edges. If + this property is false; the continuity is set for each edge using the + setContinuity method. + + When this property is set to true, the continuity and weight of the first edge + will be used for all edges. When set to false, each edge will initially have + the same continuity and weight. This is typically set to false as a side-effect + of calling the setContinuity method. + """ + return bool() + @isGroupEdges.setter + def isGroupEdges(self, value: bool): + """ + Gets and sets if the edges in the boundary curve are treated as a group, + and they all use the same continuity. If this property is True (which is the default), + the continuity property controls the continuity for all edges. If + this property is false; the continuity is set for each edge using the + setContinuity method. + + When this property is set to true, the continuity and weight of the first edge + will be used for all edges. When set to false, each edge will initially have + the same continuity and weight. This is typically set to false as a side-effect + of calling the setContinuity method. + """ + pass + @property + def groupContinuity(self) -> SurfaceContinuityTypes: + """ + Gets and sets the type of surface continuity to use for all edges when the isGroupEdges property is true. The continuity + is used to determine how the patch connects to any B-Rep edges in the boundary. It is ignored for any sketch curves in the + boundary. The property defaults to ConnectedSurfaceContinuityType. The value of this property is ignored if the isGroupEdges property is false. + """ + return SurfaceContinuityTypes() + @groupContinuity.setter + def groupContinuity(self, value: SurfaceContinuityTypes): + """ + Gets and sets the type of surface continuity to use for all edges when the isGroupEdges property is true. The continuity + is used to determine how the patch connects to any B-Rep edges in the boundary. It is ignored for any sketch curves in the + boundary. The property defaults to ConnectedSurfaceContinuityType. The value of this property is ignored if the isGroupEdges property is false. + """ + pass + @property + def groupWeight(self) -> float: + """ + Gets and sets the weight to use for all edges when the isGroupEdges property is true. It is ignored for any sketch curves + in the boundary. The property defaults to 0.5. The value of this property is ignored if the isGroupEdges property is false. + """ + return float() + @groupWeight.setter + def groupWeight(self, value: float): + """ + Gets and sets the weight to use for all edges when the isGroupEdges property is true. It is ignored for any sketch curves + in the boundary. The property defaults to 0.5. The value of this property is ignored if the isGroupEdges property is false. + """ + pass + @property + def groupIsContinuityDirectionFlipped(self) -> bool: + """ + Gets and sets the continuity direction for all edges when the isGroupEdges property is true. It is ignored for any sketch curves + in the boundary. The property defaults to false. The value of this property is ignored if the isGroupEdges property is false. + """ + return bool() + @groupIsContinuityDirectionFlipped.setter + def groupIsContinuityDirectionFlipped(self, value: bool): + """ + Gets and sets the continuity direction for all edges when the isGroupEdges property is true. It is ignored for any sketch curves + in the boundary. The property defaults to false. The value of this property is ignored if the isGroupEdges property is false. + """ + pass class PatchFeatures(core.Base): """ @@ -13362,6 +16364,12 @@ def __init__(self): @staticmethod def cast(arg) -> PatchFeatures: return PatchFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> PatchFeature: + return None + def __iter__(self) -> Iterator[PatchFeature]: + return None def item(self, index: int) -> PatchFeature: """ Function that returns the specified patch feature using an index into the collection. @@ -13379,19 +16387,20 @@ def itemByName(self, name: str) -> PatchFeature: def createInput(self, boundaryCurve: core.Base, operation: FeatureOperations) -> PatchFeatureInput: """ Creates a PatchFeatureInput object. Use properties and methods on the returned PatchFeatureInput - object to set other settings. The PatchFeatureInput object can then be used as input to the - add method to create the patch feature. + object to set other settings. The PatchFeatureInput object is used as input to the add method + to create the patch feature. boundaryCurve : Defines the input geometry that will be used to define the boundary. This can be a sketch profile, - a single sketch curve, a single B-Rep edge, or a Path object. + a single sketch curve, a single B-Rep edge, an ObjectCollection, or a Path object. + + If a single sketch curve or B-Rep edge is an input that is not closed; Fusion 360 will automatically find connected sketch curves + or B-Rep edges to define a closed loop. - If a single sketch curve or B-Rep edge is input, that is not closed, Fusion 360 will automatically find connected sketch curves - or B-Rep edges in order to define a closed loop. All sketch curves are valid as input. BRepEdges are valid if they are - an "open" edge, which means they are only used by one face. + If an ObjectCollection is an input, it must be a set of curves that define a closed shape. - If a Path is input it must define a closed shape and the B-Rep edges must be valid "open" edges. + If a Path is an input, it must define a closed shape. operation : The feature operation to perform. Only 'NewBodyFeatureOperation' and 'NewComponentFeatureOperation' are valid operations for patch features. - Returns the newly created PatchFeatureInput object or null if the creation failed. + Returns the newly created PatchFeatureInput object or null if the creation fails. """ return PatchFeatureInput() def add(self, input: PatchFeatureInput) -> PatchFeature: @@ -13423,6 +16432,12 @@ def __init__(self): @staticmethod def cast(arg) -> Path: return Path() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> PathEntity: + return None + def __iter__(self) -> Iterator[PathEntity]: + return None @staticmethod def create(curves: core.Base, chainOptions: ChainedCurveOptions) -> Path: """ @@ -13740,6 +16755,12 @@ def __init__(self): @staticmethod def cast(arg) -> PathPatternFeatures: return PathPatternFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> PathPatternFeature: + return None + def __iter__(self) -> Iterator[PathPatternFeature]: + return None def item(self, index: int) -> PathPatternFeature: """ Function that returns the specified path pattern feature using an index into the collection. @@ -13858,6 +16879,12 @@ def __init__(self): @staticmethod def cast(arg) -> PatternElements: return PatternElements() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> PatternElement: + return None + def __iter__(self) -> Iterator[PatternElement]: + return None def item(self, index: int) -> PatternElement: """ Function that returns the specified pattern element using an index into the collection. @@ -13967,33 +16994,271 @@ def centerOfMass(self) -> core.Point3D: """ return core.Point3D() +class PipeFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a Pipe + feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PipeFeatureInput: + return PipeFeatureInput() + @property + def operation(self) -> FeatureOperations: + """ + Gets and sets the type of operation performed by the Pipe. + """ + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): + """ + Gets and sets the type of operation performed by the Pipe. + """ + pass + @property + def path(self) -> Path: + """ + Gets and sets the path to create the Pipe. + """ + return Path() + @path.setter + def path(self, value: Path): + """ + Gets and sets the path to create the Pipe. + """ + pass + @property + def sectionType(self) -> PipeSectionTypes: + """ + Gets and sets the section type of the Pipe. + The type can be: Circular, Square, Triangular. + """ + return PipeSectionTypes() + @sectionType.setter + def sectionType(self, value: PipeSectionTypes): + """ + Gets and sets the section type of the Pipe. + The type can be: Circular, Square, Triangular. + """ + pass + @property + def sectionSize(self) -> core.ValueInput: + """ + Gets and sets the section size of the Pipe. + """ + return core.ValueInput() + @sectionSize.setter + def sectionSize(self, value: core.ValueInput): + """ + Gets and sets the section size of the Pipe. + """ + pass + @property + def isHollow(self) -> bool: + """ + Specifies if the Pipe is hollow or not. + + Setting this to true will default the sectionThickness to 0.1 cm. + """ + return bool() + @isHollow.setter + def isHollow(self, value: bool): + """ + Specifies if the Pipe is hollow or not. + + Setting this to true will default the sectionThickness to 0.1 cm. + """ + pass + @property + def sectionThickness(self) -> core.ValueInput: + """ + Gets and sets the section thickness of the Pipe. + + Setting this will also set the isHollow setting to true. + """ + return core.ValueInput() + @sectionThickness.setter + def sectionThickness(self, value: core.ValueInput): + """ + Gets and sets the section thickness of the Pipe. + + Setting this will also set the isHollow setting to true. + """ + pass + @property + def creationOccurrence(self) -> Occurrence: + """ + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the Pipe is created based on geometry (e.g. a path) + in another component AND (the Pipe) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI + """ + return Occurrence() + @creationOccurrence.setter + def creationOccurrence(self, value: Occurrence): + """ + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the Pipe is created based on geometry (e.g. a path) + in another component AND (the Pipe) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI + """ + pass + @property + def targetBaseFeature(self) -> BaseFeature: + """ + When creating a feature that is owned by a base feature, set this property to the + base feature you want to associate the new feature with. By default, this is null, + meaning it will not be associated with a base feature. + + Because of a current limitation, if you want to create a feature associated with a base + feature, you must set this property AND call the startEdit method of the base feature, + create the feature, and then call the finishEdit method of the base feature. The base + feature must be in an "edit" state to be able to add any additional items to it. + """ + return BaseFeature() + @targetBaseFeature.setter + def targetBaseFeature(self, value: BaseFeature): + """ + When creating a feature that is owned by a base feature, set this property to the + base feature you want to associate the new feature with. By default, this is null, + meaning it will not be associated with a base feature. + + Because of a current limitation, if you want to create a feature associated with a base + feature, you must set this property AND call the startEdit method of the base feature, + create the feature, and then call the finishEdit method of the base feature. The base + feature must be in an "edit" state to be able to add any additional items to it. + """ + pass + @property + def distanceOne(self) -> core.ValueInput: + """ + Gets and sets the distance for the pipe created while following the path given as input, in the same order. + This value defaults to 1.0 if not set. + + If the path is open, setting this to a value between 0.0 and 1.0 decides the length of the created Pipe. + If the path is closed, setting this value should not be higher than 1.0 - distanceTwo. + Ex: Path is made of curves A-B-C-A. The distanceOne returns and sets the length of the pipe going from A-B-C-A. + + This property returns null in the case where the feature is non-parametric. + """ + return core.ValueInput() + @distanceOne.setter + def distanceOne(self, value: core.ValueInput): + """ + Gets and sets the distance for the pipe created while following the path given as input, in the same order. + This value defaults to 1.0 if not set. + + If the path is open, setting this to a value between 0.0 and 1.0 decides the length of the created Pipe. + If the path is closed, setting this value should not be higher than 1.0 - distanceTwo. + Ex: Path is made of curves A-B-C-A. The distanceOne returns and sets the length of the pipe going from A-B-C-A. + + This property returns null in the case where the feature is non-parametric. + """ + pass + @property + def distanceTwo(self) -> core.ValueInput: + """ + Gets and sets the distance for the pipe created while following the reversed path given as input. + Before setting this value, distanceOne must be set. + + If the path is open, getting this value returns null, and setting the value is ignored. + If the path is closed, setting this value should not be higher than 1.0 - distanceOne. + Ex: Path is made of curves A-B-C-A. The distanceTwo returns and sets the length of the pipe going from A-C-B-A. + + This property returns null in the case where the feature is non-parametric. + """ + return core.ValueInput() + @distanceTwo.setter + def distanceTwo(self, value: core.ValueInput): + """ + Gets and sets the distance for the pipe created while following the reversed path given as input. + Before setting this value, distanceOne must be set. + + If the path is open, getting this value returns null, and setting the value is ignored. + If the path is closed, setting this value should not be higher than 1.0 - distanceOne. + Ex: Path is made of curves A-B-C-A. The distanceTwo returns and sets the length of the pipe going from A-C-B-A. + + This property returns null in the case where the feature is non-parametric. + """ + pass + @property + def participantBodies(self) -> list[BRepBody]: + """ + Gets and sets the list of bodies that will participate in the feature when the operation is a cut or intersection. + + If this property has not been set, the default behavior is that all bodies that are intersected by the + feature will participate. + + This property can return null in the case where the feature has not been fully defined so that + possible intersecting bodies can be computed. + """ + return [BRepBody()] + @participantBodies.setter + def participantBodies(self, value: list[BRepBody]): + """ + Gets and sets the list of bodies that will participate in the feature when the operation is a cut or intersection. + + If this property has not been set, the default behavior is that all bodies that are intersected by the + feature will participate. + + This property can return null in the case where the feature has not been fully defined so that + possible intersecting bodies can be computed. + """ + pass + class PipeFeatures(core.Base): """ - Collection that provides access to all of the existing pipe features in a design. + Collection that provides access to all of the existing Pipe features in a design. """ def __init__(self): pass @staticmethod def cast(arg) -> PipeFeatures: return PipeFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> PipeFeature: + return None + def __iter__(self) -> Iterator[PipeFeature]: + return None def item(self, index: int) -> PipeFeature: """ - Function that returns the specified pipe feature using an index into the collection. + Function that returns the specified Pipe feature using an index into the collection. index : The index of the item within the collection to return. The first item in the collection has an index of 0. Returns the specified item or null if an invalid index was specified. """ return PipeFeature() def itemByName(self, name: str) -> PipeFeature: """ - Function that returns the specified pipe feature using the name of the feature. + Function that returns the specified Pipe feature using the name of the feature. name : The name of the feature within the collection to return. This is the name seen in the timeline. Returns the specified item or null if the specified name was not found. """ return PipeFeature() + def createInput(self, path: Path, operation: FeatureOperations) -> PipeFeatureInput: + """ + Creates a PipeFeatureInput object for defining a simple Pipe feature with only a path. + Use properties and methods on this object to define the Pipe you want to create and then use the Add method, + passing in the PipeFeatureInput object. + path : The path to create the Pipe. + operation : The feature operation to perform. + Returns the newly created PipeFeatureInput object or null if the creation failed. + """ + return PipeFeatureInput() + def add(self, input: PipeFeatureInput) -> PipeFeature: + """ + Creates a new Pipe feature. + input : A PipeFeatureInput object that defines the desired Pipe. Use the createInput + method to create a new PipeFeatureInput object and then use methods on it + (the PipeFeatureInput object) to define the Pipe. + Returns the newly created PipeFeature object or null if the creation failed. + """ + return PipeFeature() @property def count(self) -> int: """ - The number of pipe features in the collection. + The number of Pipe features in the collection. """ return int() @@ -14122,7 +17387,7 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> Profile: Returns the proxy object or null if this isn't the NativeObject. """ return Profile() - def areaProperties(self, accuracy: CalculationAccuracy) -> AreaProperties: + def areaProperties(self, accuracy: CalculationAccuracy = CalculationAccuracy.LowCalculationAccuracy) -> AreaProperties: """ Calculates the area properties for the profile. accuracy : Specifies the desired level of computational accuracy of the property calculations. @@ -14280,6 +17545,12 @@ def __init__(self): @staticmethod def cast(arg) -> ProfileCurves: return ProfileCurves() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ProfileCurve: + return None + def __iter__(self) -> Iterator[ProfileCurve]: + return None def item(self, index: int) -> ProfileCurve: """ Function that returns the specified profile curve using an index into the collection. @@ -14360,6 +17631,12 @@ def __init__(self): @staticmethod def cast(arg) -> ProfileLoops: return ProfileLoops() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ProfileLoop: + return None + def __iter__(self) -> Iterator[ProfileLoop]: + return None def item(self, index: int) -> ProfileLoop: """ Function that returns the specified profile loop using an index into the collection. @@ -14388,6 +17665,12 @@ def __init__(self): @staticmethod def cast(arg) -> Profiles: return Profiles() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Profile: + return None + def __iter__(self) -> Iterator[Profile]: + return None def item(self, index: int) -> Profile: """ Function that returns the specified closed profile using an index into the collection. @@ -14403,6 +17686,218 @@ def count(self) -> int: """ return int() +class RectangularPatternConstraintInput(core.Base): + """ + Used to define the inputs need to create a rectangular pattern in a sketch. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RectangularPatternConstraintInput: + return RectangularPatternConstraintInput() + def setDirectionOne(self, directionOneEntity: SketchLine, quantityOne: core.ValueInput, distanceOne: core.ValueInput) -> bool: + """ + Sets all of the input required to define the pattern in the first direction. + directionOneEntity : Specifies the SketchLine object used to define the first direction entity. + + This argument can be null to indicate that the default first direction is to be used, which is along the X axis of the sketch. + quantityOne : Specifies the number of instances in the first direction. + distanceOne : Specifies the distance in the first direction. How this value is used depends on the value of the PatternDistanceType property. + If the value is ExtentPatternDistanceType then it defines the total distance of the pattern. + If the value is SpacingPatternDistanceType then it defines the distance between each element. + Returns true if it was successful. + """ + return bool() + def setDirectionTwo(self, directionTwoEntity: SketchLine, quantityTwo: core.ValueInput, distanceTwo: core.ValueInput) -> bool: + """ + Sets all of the input required to define the pattern in the second direction. + directionTwoEntity : Specifies the SketchLine object used to define the second direction entity. + + This argument can be null to indicate that the default second direction is to be used, which is 90 degrees to the first direction. + quantityTwo : Specifies the number of instances in the second direction. + distanceTwo : Specifies the distance in the second direction. How this value is used depends on the value of the PatternDistanceType property. + If the value is ExtentPatternDistanceType then it defines the total distance of the pattern. + If the value is SpacingPatternDistanceType then it defines the distance between each element. + Returns true if it was successful. + """ + return bool() + @property + def entities(self) -> list[SketchEntity]: + """ + Gets and sets the entities to pattern. Sketch points and curves are valid + entities to pattern. + """ + return [SketchEntity()] + @entities.setter + def entities(self, value: list[SketchEntity]): + """ + Gets and sets the entities to pattern. Sketch points and curves are valid + entities to pattern. + """ + pass + @property + def directionOneEntity(self) -> SketchLine: + """ + Defines the first direction of the pattern. This can be null which indicates + to use the default which is the X-axis of the sketch. Setting this property + to null will automatically clear directionTwoEntity, if it has been set. + """ + return SketchLine() + @directionOneEntity.setter + def directionOneEntity(self, value: SketchLine): + """ + Defines the first direction of the pattern. This can be null which indicates + to use the default which is the X-axis of the sketch. Setting this property + to null will automatically clear directionTwoEntity, if it has been set. + """ + pass + @property + def directionTwoEntity(self) -> SketchLine: + """ + Defines the second direction of the pattern. This can be null which indicates + to use the default which is perpendicular to direction one. The directionOneEntity + property must be set before setting this property. + """ + return SketchLine() + @directionTwoEntity.setter + def directionTwoEntity(self, value: SketchLine): + """ + Defines the second direction of the pattern. This can be null which indicates + to use the default which is perpendicular to direction one. The directionOneEntity + property must be set before setting this property. + """ + pass + @property + def quantityOne(self) -> core.ValueInput: + """ + Gets and sets the number of instances in the first direction. + """ + return core.ValueInput() + @quantityOne.setter + def quantityOne(self, value: core.ValueInput): + """ + Gets and sets the number of instances in the first direction. + """ + pass + @property + def quantityTwo(self) -> core.ValueInput: + """ + Gets and sets the number of instances in the second direction. + """ + return core.ValueInput() + @quantityTwo.setter + def quantityTwo(self, value: core.ValueInput): + """ + Gets and sets the number of instances in the second direction. + """ + pass + @property + def distanceOne(self) -> core.ValueInput: + """ + Gets and sets the distance in the first direction. + """ + return core.ValueInput() + @distanceOne.setter + def distanceOne(self, value: core.ValueInput): + """ + Gets and sets the distance in the first direction. + """ + pass + @property + def distanceTwo(self) -> core.ValueInput: + """ + Gets and sets the distance in the second direction. + """ + return core.ValueInput() + @distanceTwo.setter + def distanceTwo(self, value: core.ValueInput): + """ + Gets and sets the distance in the second direction. + """ + pass + @property + def isSymmetricInDirectionOne(self) -> bool: + """ + Gets and sets if the pattern in direction one is in one direction or is symmetric. + """ + return bool() + @isSymmetricInDirectionOne.setter + def isSymmetricInDirectionOne(self, value: bool): + """ + Gets and sets if the pattern in direction one is in one direction or is symmetric. + """ + pass + @property + def isSymmetricInDirectionTwo(self) -> bool: + """ + Gets and sets if the pattern in direction two is in one direction or is symmetric. + """ + return bool() + @isSymmetricInDirectionTwo.setter + def isSymmetricInDirectionTwo(self, value: bool): + """ + Gets and sets if the pattern in direction two is in one direction or is symmetric. + """ + pass + @property + def distanceType(self) -> PatternDistanceType: + """ + Gets and sets how the distance between elements is computed. + """ + return PatternDistanceType() + @distanceType.setter + def distanceType(self, value: PatternDistanceType): + """ + Gets and sets how the distance between elements is computed. + """ + pass + @property + def isSuppressed(self) -> list[bool]: + """ + Specifies which, if any, instances of the pattern are suppressed. This + defaults to all instances being visible. This returns an array of Booleans + that indicates if a particular instance in the pattern is suppressed or + not. A value of true will result in the associated instance being + suppressed. + + Both the quantityOne and quantityTwo properties must be set with valid + values before using the isSuppressed property is valid. A quantity of + one is a valid value. + + The indices represent the pattern instances in a row-column order, with the + initial geometry not counting. For example, if you have a 4x4 pattern, the + array will have 15 elements rather than 16 because the original geometry + cannot be suppressed as part of the pattern. The first element in the array + is the one next to the original in the first direction. The second element is + the next one on the first row, and the third is the next one. The fourth element + will be the first element in the row next to the first row that contains the + original geometry. + """ + return [bool()] + @isSuppressed.setter + def isSuppressed(self, value: list[bool]): + """ + Specifies which, if any, instances of the pattern are suppressed. This + defaults to all instances being visible. This returns an array of Booleans + that indicates if a particular instance in the pattern is suppressed or + not. A value of true will result in the associated instance being + suppressed. + + Both the quantityOne and quantityTwo properties must be set with valid + values before using the isSuppressed property is valid. A quantity of + one is a valid value. + + The indices represent the pattern instances in a row-column order, with the + initial geometry not counting. For example, if you have a 4x4 pattern, the + array will have 15 elements rather than 16 because the original geometry + cannot be suppressed as part of the pattern. The first element in the array + is the one next to the original in the first direction. The second element is + the next one on the first row, and the third is the next one. The fourth element + will be the first element in the row next to the first row that contains the + original geometry. + """ + pass + class RectangularPatternFeatureInput(core.Base): """ This class defines the methods and properties that pertain to the definition of a rectangular pattern @@ -14622,6 +18117,12 @@ def __init__(self): @staticmethod def cast(arg) -> RectangularPatternFeatures: return RectangularPatternFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RectangularPatternFeature: + return None + def __iter__(self) -> Iterator[RectangularPatternFeature]: + return None def item(self, index: int) -> RectangularPatternFeature: """ Function that returns the specified rectangular pattern feature using an index into the collection. @@ -14680,6 +18181,12 @@ def __init__(self): @staticmethod def cast(arg) -> RefoldFeatures: return RefoldFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RefoldFeature: + return None + def __iter__(self) -> Iterator[RefoldFeature]: + return None def item(self, index: int) -> RefoldFeature: """ Function that returns the specified refold feature using an index into the collection. @@ -14711,6 +18218,12 @@ def __init__(self): @staticmethod def cast(arg) -> RemoveFeatures: return RemoveFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RemoveFeature: + return None + def __iter__(self) -> Iterator[RemoveFeature]: + return None def item(self, index: int) -> RemoveFeature: """ Function that returns the specified Remove feature using an index into the collection. @@ -14739,6 +18252,342 @@ def count(self) -> int: """ return int() +class RenderEnvironment(core.Base): + """ + A render environment that is used when defining the scene for rendering. You see these + in the user interface in the "Environment Library" tab of the "Scene Settings" dialog. + Use this with the backgroundEnvironment property of the SceneSettings object to set + a render environment. For a custom render environment, use the loadCustomEnvironment + method to statically create a custom environment and assign it to the backgroundEnvironment + property. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RenderEnvironment: + return RenderEnvironment() + @staticmethod + def loadCustomEnvironment(fullFilename: str) -> RenderEnvironment: + """ + Statically creates a RenderEnvironment which can be used to set the environment for + a scene using the SceneSettings.backgroundEnvironment property. + fullFilename : + + """ + return RenderEnvironment() + @property + def isCustomEnvironment(self) -> bool: + """ + Returns true if this environment is a custom environment. + """ + return bool() + @property + def name(self) -> str: + """ + The name of the environment. + """ + return str() + @property + def id(self) -> str: + """ + The internal ID of the environment. + """ + return str() + +class RenderEnvironments(core.Base): + """ + The list of available render environments. This represents the list of environments + shown in the "Scene Settings" dialog as being in the "Fusion 360 Library". It does not + include a custom environment, if one has been loaded. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RenderEnvironments: + return RenderEnvironments() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RenderEnvironment: + return None + def __iter__(self) -> Iterator[RenderEnvironment]: + return None + def item(self, index: int) -> RenderEnvironment: + """ + Method that returns the specified render environment using an index into the collection. + index : The index of the item within the collection. The first item has an index of 0. + Returns the specified render environment or null if an invalid index was specified. + """ + return RenderEnvironment() + def itemByName(self, name: str) -> RenderEnvironment: + """ + Returns the specified render environment using the name as seen in the user interface. + name : The name of the render environment to return. + Returns the specified render environment or null if there's no match on the name. + """ + return RenderEnvironment() + def itemById(self, id: str) -> RenderEnvironment: + """ + Returns the render environment with the specified ID. + id : The ID of the render environment to return. + Returns the specified render environment or null if the ID does not match a render environment. + """ + return RenderEnvironment() + @property + def count(self) -> int: + """ + The number of render environments in the collection. + """ + return int() + +class RenderEventHandler(core.EventHandler): + """ + The RenderEventHandler is a client implemented class that can be added as a handler to a + RenderEvent. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RenderEventHandler: + return RenderEventHandler() + def notify(self, eventArgs: RenderEventArgs) -> None: + """ + The function called by Fusion 360 when the associated event is fired. + eventArgs : Returns an object that provides access to additional information associated with the event. + """ + pass + +class RenderFuture(core.Base): + """ + Used to check the state of a local or in canvas rendering. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RenderFuture: + return RenderFuture() + @property + def progress(self) -> float: + """ + Returns the progress of this rendering expressed as a percentage + where 0.0 is no progress and 1.0 is complete. + """ + return float() + @property + def renderState(self) -> LocalRenderStates: + """ + Returns the current state of the rendering. + """ + return LocalRenderStates() + @property + def imageWidth(self) -> int: + """ + Returns the width of the image. The width was specified when the + rendering was started. + """ + return int() + @property + def imageHeight(self) -> int: + """ + Returns the height of the image. The height was specified when the + rendering was started. + """ + return int() + @property + def filename(self) -> str: + """ + The filename that the finished rendering will be saved to. If being + saved to the cloud, this is the name Fusion will use for the completed + rendering. + """ + return str() + +class Rendering(core.Base): + """ + Provides access to the ability to render in a background process on the local machine. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Rendering: + return Rendering() + def startLocalRender(self, filename: str = "", camera: core.Camera = None) -> RenderFuture: + """ + Starts a local rendering process using either the active viewport or a specified camera to define + the camera information. This starts a background process on the local machine to generate the rendering. + Even though this is a background process, it is tied to the running Fusion process and will be terminated + if Fusion is shut down. If multiple local renders are started, they are queued and only one runs at a time. + filename : Optional argument that is the full path and filename of the file to write the resulting rendering + to. The file extension can be .png, .jpg, .jpeg, or .tiff and the file will be saved as that type. + If not provided or is an empty string, the rendering will be saved to the cloud as a PNG file. + camera : Optional argument that specifies the camera to use for the rendering. The default value is null, which + will use the camera associated with the active viewport. + Returns a RenderFuture that allows you to check the current state of this rendering job. + """ + return RenderFuture() + @property + def aspectRatio(self) -> RenderAspectRatios: + """ + Gets and sets the aspect ratio of the rendered image. This is not the resolution, but + only the aspect ratio. To define a custom aspect ratio set this property to CustomAspectRatio + and use the resolutionHeight and resolutionWidth properties to define the resolution and aspect ratio. + The default value is the aspect ratio defined in the scene settings. + The width and height must be between 108 and 4000 pixels. + """ + return RenderAspectRatios() + @aspectRatio.setter + def aspectRatio(self, value: RenderAspectRatios): + """ + Gets and sets the aspect ratio of the rendered image. This is not the resolution, but + only the aspect ratio. To define a custom aspect ratio set this property to CustomAspectRatio + and use the resolutionHeight and resolutionWidth properties to define the resolution and aspect ratio. + The default value is the aspect ratio defined in the scene settings. + The width and height must be between 108 and 4000 pixels. + """ + pass + @property + def renderQuality(self) -> int: + """ + Gets and sets the desired quality of the rendering. The quality is specified using a + value between 25 and 100, where 75 is the equivalent of "Final" and 100 is + the same as "Excellent" in the user interface. The default value is 75 + """ + return int() + @renderQuality.setter + def renderQuality(self, value: int): + """ + Gets and sets the desired quality of the rendering. The quality is specified using a + value between 25 and 100, where 75 is the equivalent of "Final" and 100 is + the same as "Excellent" in the user interface. The default value is 75 + """ + pass + @property + def isBackgroundTransparent(self) -> bool: + """ + Specifies if the background of the rendering should be transparent. The default + is false, which means it will not be transparent. + """ + return bool() + @isBackgroundTransparent.setter + def isBackgroundTransparent(self, value: bool): + """ + Specifies if the background of the rendering should be transparent. The default + is false, which means it will not be transparent. + """ + pass + @property + def resolution(self) -> RenderResolutions: + """ + Gets and sets the resolution of the rendered image. This is the final width and height of the + image in pixels. To define a custom aspect ratio, use the resolutionHeight and resolutionWidth + properties to define any resolution. Using those has the side effect of setting this property + to CustomRenderResolution. Setting this to anything except CustomRenderResolution, will also have + the side effect of setting the aspect ratio. + """ + return RenderResolutions() + @resolution.setter + def resolution(self, value: RenderResolutions): + """ + Gets and sets the resolution of the rendered image. This is the final width and height of the + image in pixels. To define a custom aspect ratio, use the resolutionHeight and resolutionWidth + properties to define any resolution. Using those has the side effect of setting this property + to CustomRenderResolution. Setting this to anything except CustomRenderResolution, will also have + the side effect of setting the aspect ratio. + """ + pass + @property + def resolutionHeight(self) -> int: + """ + Gets and sets the height of the image in pixels. If anything but CustomRenderAspectRatio is defined as the + aspect ratio, the resolution width will be modified to maintain the specified aspect ratio. + The height must be between 108 and 4000 pixels. + """ + return int() + @resolutionHeight.setter + def resolutionHeight(self, value: int): + """ + Gets and sets the height of the image in pixels. If anything but CustomRenderAspectRatio is defined as the + aspect ratio, the resolution width will be modified to maintain the specified aspect ratio. + The height must be between 108 and 4000 pixels. + """ + pass + @property + def resolutionWidth(self) -> int: + """ + Gets and sets the width of the image in pixels. If anything but CustomRenderAspectRatio is defined as the + aspect ratio, the resolution height will be modified to maintain the specified aspect ratio. + The width must be between 108 and 4000 pixels. + """ + return int() + @resolutionWidth.setter + def resolutionWidth(self, value: int): + """ + Gets and sets the width of the image in pixels. If anything but CustomRenderAspectRatio is defined as the + aspect ratio, the resolution height will be modified to maintain the specified aspect ratio. + The width must be between 108 and 4000 pixels. + """ + pass + +class RenderManager(core.Base): + """ + Provides access to the Rendering functionality in Fusion and is accessed from the Design object. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RenderManager: + return RenderManager() + def activateRenderWorkspace(self) -> bool: + """ + Activates the Render workspace for this design. If the workspace is already + active, nothing happens and it remains active. + Returns true if the activation was successful or if the Render workspace was already active. + """ + return bool() + @property + def parentDesign(self) -> core.Product: + """ + Returns the parent Design this RenderManager was obtained from. + """ + return core.Product() + @property + def sceneSettings(self) -> SceneSettings: + """ + Returns the SceneSettings object that provides access to all of the + settings that control how the scene is rendered. This provides equivalent + functionality as the "Settings" tab in the "SCENE SETTINGS" dialog. + """ + return SceneSettings() + @property + def renderEnvironments(self) -> RenderEnvironments: + """ + Provides access to the provided environments and supports specifying + a custom environment. This provides access to the same list of environments + that you see in the "Environment Library" tab of the "SCENE SETTINGS" dialog. + """ + return RenderEnvironments() + @property + def rendering(self) -> Rendering: + """ + Provides access to the local and cloud rendering capabilities of Fusion. In both + cases, the rendering is done in a process external to Fusion, either a local or + cloud rendering process. + """ + return Rendering() + @property + def isRenderWorkspaceActive(self) -> bool: + """ + Returns if the Render workspace for this Design is active or not. Returns + true if the workspace is active. + """ + return bool() + @property + def inCanvasRendering(self) -> InCanvasRendering: + """ + Provides access to the in-canvas rendering capabilities of Fusion. This + uses the active viewport and the user will see the rendering as it takes place. + """ + return InCanvasRendering() + class ReplaceFaceFeatureInput(core.Base): """ This class defines the methods and properties that pertain to the definition of a replace face feature. @@ -14827,6 +18676,12 @@ def __init__(self): @staticmethod def cast(arg) -> ReplaceFaceFeatures: return ReplaceFaceFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ReplaceFaceFeature: + return None + def __iter__(self) -> Iterator[ReplaceFaceFeature]: + return None def item(self, index: int) -> ReplaceFaceFeature: """ Function that returns the specified replace face feature using an index into the collection. @@ -14882,6 +18737,12 @@ def __init__(self): @staticmethod def cast(arg) -> ReverseNormalFeatures: return ReverseNormalFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ReverseNormalFeature: + return None + def __iter__(self) -> Iterator[ReverseNormalFeature]: + return None def item(self, index: int) -> ReverseNormalFeature: """ Function that returns the specified Reverse Normal feature using an index into the collection. @@ -14943,7 +18804,7 @@ def setTwoSideAngleExtent(self, angleOne: core.ValueInput, angleTwo: core.ValueI Returns true if successful """ return bool() - def setOneSideToExtent(self, toEntity: core.Base, directionHint: core.Vector3D) -> bool: + def setOneSideToExtent(self, toEntity: core.Base, directionHint: core.Vector3D = None) -> bool: """ Defines the extent of the revolve to be from the sketch or profile plane to the specified "To" face. @@ -15108,6 +18969,24 @@ def participantBodies(self, value: list[BRepBody]): possible intersecting bodies can be computed. """ pass + @property + def isProjectAxis(self) -> bool: + """ + Specifies if the axis should be projected on the same plane as the profile sketch plane or not. + + Setting this to true will use a projected axis, while setting it to false will keep it in its original location. + This is initialized to false so the selected axis will be used in the feature. + """ + return bool() + @isProjectAxis.setter + def isProjectAxis(self, value: bool): + """ + Specifies if the axis should be projected on the same plane as the profile sketch plane or not. + + Setting this to true will use a projected axis, while setting it to false will keep it in its original location. + This is initialized to false so the selected axis will be used in the feature. + """ + pass class RevolveFeatures(core.Base): """ @@ -15119,6 +18998,12 @@ def __init__(self): @staticmethod def cast(arg) -> RevolveFeatures: return RevolveFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RevolveFeature: + return None + def __iter__(self) -> Iterator[RevolveFeature]: + return None def item(self, index: int) -> RevolveFeature: """ Function that returns the specified revolve feature using an index into the collection. @@ -15178,6 +19063,12 @@ def __init__(self): @staticmethod def cast(arg) -> RibFeatures: return RibFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RibFeature: + return None + def __iter__(self) -> Iterator[RibFeature]: + return None def item(self, index: int) -> RibFeature: """ Function that returns the specified Rib feature using an index into the collection. @@ -15314,6 +19205,18 @@ def entityToken(self) -> str: method to get the two entities identified by the tokens and then compare them. """ return str() + @property + def isVisible(self) -> bool: + """ + Gets and sets whether the occurrences that are part of this rigid group are visible or not. + """ + return bool() + @isVisible.setter + def isVisible(self, value: bool): + """ + Gets and sets whether the occurrences that are part of this rigid group are visible or not. + """ + pass class RigidGroupList(core.Base): """ @@ -15324,6 +19227,12 @@ def __init__(self): @staticmethod def cast(arg) -> RigidGroupList: return RigidGroupList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RigidGroup: + return None + def __iter__(self) -> Iterator[RigidGroup]: + return None def item(self, index: int) -> RigidGroup: """ Function that returns the specified rigid group using an index into the list. @@ -15355,6 +19264,12 @@ def __init__(self): @staticmethod def cast(arg) -> RigidGroups: return RigidGroups() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RigidGroup: + return None + def __iter__(self) -> Iterator[RigidGroup]: + return None def item(self, index: int) -> RigidGroup: """ Function that returns the specified rigid group using an index into the collection. @@ -15384,6 +19299,112 @@ def count(self) -> int: """ return int() +class RipFeatureDefinition(core.Base): + """ + A Base class to return the information used to define the RipFeature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RipFeatureDefinition: + return RipFeatureDefinition() + +class RipFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a Rip feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RipFeatureInput: + return RipFeatureInput() + def setByFace(self, face: BRepFace) -> bool: + """ + Specifies the rip feature will be defined by a face.. + face : The sheet metal face that defines the rip. + Returns true if the defining the rip is successful. + """ + return bool() + def setAlongEdge(self, edge: BRepEdge, gapDistance: core.ValueInput) -> bool: + """ + Specifies the rip feature will be along an edge. + edge : The BRepEdge that defines the location of the rip. + gapDistance : The gap distance of the rip. + Returns true if the defining the rip is successful. + """ + return bool() + def setBetweenPoints(self, pointOneEntity: core.Base, pointTwoEntity: core.Base, gapDistance: core.ValueInput, pointOneOffset: core.ValueInput = None, pointTwoOffset: core.ValueInput = None) -> bool: + """ + This input method is for creating a rip between two points. Each point can be either a BRepVertex + or a BRepEdge and an associated offset along the edge. + pointOneEntity : The first point of the rip. This can be defined using a BrepVertex or a BRepEdge and offset to define + where the point is along the edge. If an edge is specified, the pointOneOffset parameter must be specified. + pointTwoEntity : The second point of the rip and must lie on the same face as point 1. This can be defined using a + BrepVertex or a BRepEdge and an offset to define where the point is along the edge. + If an edge is specified, the pointTwoOffset parameter must be specified. + gapDistance : The gap distance of the rip. + pointOneOffset : If the first point lies on an edge, then this is the offset along the edge which defines the point. + This is the physical distance from the topological start of the edge. + If the offset is negative or exceeds the edge length, the corresponding vertex of the edge will be used. + pointTwoOffset : If the second point lies on an edge, then this is the offset along the edge which defines the point. + This is the physical distance from the topological start of the edge. + If the offset is negative or exceeds the edge length, the corresponding vertex of the edge will be used. + Returns true if the rip definition is successful. + """ + return bool() + +class RipFeatures(core.Base): + """ + Collection that provides access to all of the existing Rip features in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RipFeatures: + return RipFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RipFeature: + return None + def __iter__(self) -> Iterator[RipFeature]: + return None + def item(self, index: int) -> RipFeature: + """ + Function that returns the specified Rip feature using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return RipFeature() + def itemByName(self, name: str) -> RipFeature: + """ + Function that returns the specified Rip feature using the name of the feature. + name : The name of the feature within the collection to return. This is the name seen in the timeline. + Returns the specified item or null if the specified name was not found. + """ + return RipFeature() + def createRipFeatureInput(self) -> RipFeatureInput: + """ + Creates a RipFeatureInput object. Use methods on this object to define the rip you want + to create and then use the add method, passing in the RipFeatureInput object. + Returns the newly created RipFeatureInput object or null if the creation failed. + """ + return RipFeatureInput() + def add(self, input: RipFeatureInput) -> RipFeature: + """ + Creates a new Rip feature. + input : A RipFeatureInput object that defines the desired rip. Use the createInput + method to create a new RipFeatureInput object and then use methods on it + (the RipFeatureInput object) to define the rip. + Returns the newly created RipFeature object or null if the creation failed. + """ + return RipFeature() + @property + def count(self) -> int: + """ + The number of Rip features in the collection. + """ + return int() + class RuledSurfaceFeatureInput(core.Base): """ This class defines the methods and properties that pertain to the definition of a Ruled Surface feature. @@ -15578,6 +19599,12 @@ def __init__(self): @staticmethod def cast(arg) -> RuledSurfaceFeatures: return RuledSurfaceFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RuledSurfaceFeature: + return None + def __iter__(self) -> Iterator[RuledSurfaceFeature]: + return None def item(self, index: int) -> RuledSurfaceFeature: """ Function that returns the specified ruled surface feature using an index into the collection. @@ -15585,7 +19612,7 @@ def item(self, index: int) -> RuledSurfaceFeature: Returns the specified item or null if an invalid index was specified. """ return RuledSurfaceFeature() - def createInput(self, profile: core.Base, distance: core.ValueInput, angle: core.ValueInput, ruledSurfaceType: RuledSurfaceTypes, direction: core.Base) -> RuledSurfaceFeatureInput: + def createInput(self, profile: core.Base, distance: core.ValueInput, angle: core.ValueInput, ruledSurfaceType: RuledSurfaceTypes, direction: core.Base = None) -> RuledSurfaceFeatureInput: """ Creates a RuledSurfaceFeatureInput object that defines the input needed to create a ruled surface feature. Use the input object to define the input to create the desired feature and then use the Add method, passing in the RuledSurfaceFeatureInput object. @@ -15631,6 +19658,12 @@ def __init__(self): @staticmethod def cast(arg) -> RuleFilletFeatures: return RuleFilletFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> RuleFilletFeature: + return None + def __iter__(self) -> Iterator[RuleFilletFeature]: + return None def item(self, index: int) -> RuleFilletFeature: """ Function that returns the specified rule fillet feature using an index into the collection. @@ -15778,6 +19811,12 @@ def __init__(self): @staticmethod def cast(arg) -> ScaleFeatures: return ScaleFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ScaleFeature: + return None + def __iter__(self) -> Iterator[ScaleFeature]: + return None def item(self, index: int) -> ScaleFeature: """ Function that returns the specified scale feature using an index into the collection. @@ -15821,6 +19860,845 @@ def count(self) -> int: """ return int() +class SceneSettings(core.Base): + """ + Provides access to all the settings that control how the scene is rendered. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SceneSettings: + return SceneSettings() + def saveAsDefaults(self) -> bool: + """ + Saves all of the scene settings as the default settings for this Design. + Returns true if saving the defaults was successful. + """ + return bool() + def restoreDefaults(self) -> bool: + """ + Changes all of the scene settings to the default values. + Returns true if setting to the default settings was successful. + """ + return bool() + @property + def brightness(self) -> float: + """ + Gets and sets the brightness or luminance of the scene. This must be a value between + 0 and 100,000 and is in lux units. + """ + return float() + @brightness.setter + def brightness(self, value: float): + """ + Gets and sets the brightness or luminance of the scene. This must be a value between + 0 and 100,000 and is in lux units. + """ + pass + @property + def groundPosition(self) -> core.Point3D: + """ + Gets and sets the origin of the projection of the environment onto the textured + ground plane. This lets you position the environment relative to the model. This + is only used when the isGroundFlattened property is true. + + If the isGroundFlattened property is true, and a texture is being applied to + the ground, the groundPosition property can be used to change both + the offset and location of the texture on the ground. The lightAngle + property controls the orientation of the texture. + """ + return core.Point3D() + @groundPosition.setter + def groundPosition(self, value: core.Point3D): + """ + Gets and sets the origin of the projection of the environment onto the textured + ground plane. This lets you position the environment relative to the model. This + is only used when the isGroundFlattened property is true. + + If the isGroundFlattened property is true, and a texture is being applied to + the ground, the groundPosition property can be used to change both + the offset and location of the texture on the ground. The lightAngle + property controls the orientation of the texture. + """ + pass + @property + def groundOffset(self) -> float: + """ + Gets and sets the distance of the ground from the bottom of the model. + A value of 0 is at the bottom of the model and a positive value moves + the plane up and negative down. The value is in centimeters. + + If the isGroundFlattened property is true, and a texture is being applied to + the ground, the groundPosition property can be used to change both + the offset and location of the texture on the ground. The lightAngle + property controls the orientation of the texture. + """ + return float() + @groundOffset.setter + def groundOffset(self, value: float): + """ + Gets and sets the distance of the ground from the bottom of the model. + A value of 0 is at the bottom of the model and a positive value moves + the plane up and negative down. The value is in centimeters. + + If the isGroundFlattened property is true, and a texture is being applied to + the ground, the groundPosition property can be used to change both + the offset and location of the texture on the ground. The lightAngle + property controls the orientation of the texture. + """ + pass + @property + def lightAngle(self) -> float: + """ + Specifies the rotation of the lighting. The angle is specified in Radians. + + When the isGroundFlattened property is true, this also controls the angle + of the texture that is applied to the ground. When the background is an + environment, this controls the rotation of the environment relative to + the model. + """ + return float() + @lightAngle.setter + def lightAngle(self, value: float): + """ + Specifies the rotation of the lighting. The angle is specified in Radians. + + When the isGroundFlattened property is true, this also controls the angle + of the texture that is applied to the ground. When the background is an + environment, this controls the rotation of the environment relative to + the model. + """ + pass + @property + def backgroundSolidColor(self) -> core.Color: + """ + Gets and sets the background color. When this property is set, it defines + the background to be a solid color. The opacity component of the color is ignored. + + Getting this property is only valid when the backgroundType property returns + SolidColorRenderSceneBackgroundType. Setting this property will automatically + set the background type to SolidColorRenderSceneBackgroundType. + """ + return core.Color() + @backgroundSolidColor.setter + def backgroundSolidColor(self, value: core.Color): + """ + Gets and sets the background color. When this property is set, it defines + the background to be a solid color. The opacity component of the color is ignored. + + Getting this property is only valid when the backgroundType property returns + SolidColorRenderSceneBackgroundType. Setting this property will automatically + set the background type to SolidColorRenderSceneBackgroundType. + """ + pass + @property + def backgroundEnvironment(self) -> RenderEnvironment: + """ + Gets and sets the environment to use for the background. The available environments + can be accessed through the RenderManager.renderEnvironments property. + + Getting this property is only valid when the backgroundType property returns + EnvironmentRenderSceneBackgroundType. Setting this property will automatically + set the background type to EnvironmentRenderSceneBackgroundType. + """ + return RenderEnvironment() + @backgroundEnvironment.setter + def backgroundEnvironment(self, value: RenderEnvironment): + """ + Gets and sets the environment to use for the background. The available environments + can be accessed through the RenderManager.renderEnvironments property. + + Getting this property is only valid when the backgroundType property returns + EnvironmentRenderSceneBackgroundType. Setting this property will automatically + set the background type to EnvironmentRenderSceneBackgroundType. + """ + pass + @property + def backgroundType(self) -> RenderSceneBackgroundTypes: + """ + Specifies the current type of background being used to render the scene. + To change the background type use either the backgroundEnvironment + or the backgroundSolidColor to set the environment or color. + """ + return RenderSceneBackgroundTypes() + @property + def isGroundDisplayed(self) -> bool: + """ + Gets and sets if the ground plane is displayed. The plane allows shadows + on the ground and reflections if the isGroundReflections property is true. + """ + return bool() + @isGroundDisplayed.setter + def isGroundDisplayed(self, value: bool): + """ + Gets and sets if the ground plane is displayed. The plane allows shadows + on the ground and reflections if the isGroundReflections property is true. + """ + pass + @property + def isGroundFlattened(self) -> bool: + """ + Gets and sets if the ground plane is "textured" where the environment + image is mapped as a texture. + """ + return bool() + @isGroundFlattened.setter + def isGroundFlattened(self, value: bool): + """ + Gets and sets if the ground plane is "textured" where the environment + image is mapped as a texture. + """ + pass + @property + def isGroundReflections(self) -> bool: + """ + Gets and sets if objects are reflected on the ground plane. + """ + return bool() + @isGroundReflections.setter + def isGroundReflections(self, value: bool): + """ + Gets and sets if objects are reflected on the ground plane. + """ + pass + @property + def groundRoughness(self) -> float: + """ + Gets and sets the roughness of the ground which controls the sharpness + of the reflection. This is only used when the isGroundReflections property + is true. This is a value between 0 and 1, where 0 is smooth and 1 is rough. + """ + return float() + @groundRoughness.setter + def groundRoughness(self, value: float): + """ + Gets and sets the roughness of the ground which controls the sharpness + of the reflection. This is only used when the isGroundReflections property + is true. This is a value between 0 and 1, where 0 is smooth and 1 is rough. + """ + pass + @property + def cameraType(self) -> core.CameraTypes: + """ + Gets and sets the type of camera to use when rendering the scene. + """ + return core.CameraTypes() + @cameraType.setter + def cameraType(self, value: core.CameraTypes): + """ + Gets and sets the type of camera to use when rendering the scene. + """ + pass + @property + def cameraFocalLength(self) -> float: + """ + Gets and sets the focal length of the camera, specified in millimeters. + Changing the perspective angle of the camera associated with the active + viewport will also change the focal length. Focal length and perspective + angle are two different ways to control the same setting. + """ + return float() + @cameraFocalLength.setter + def cameraFocalLength(self, value: float): + """ + Gets and sets the focal length of the camera, specified in millimeters. + Changing the perspective angle of the camera associated with the active + viewport will also change the focal length. Focal length and perspective + angle are two different ways to control the same setting. + """ + pass + @property + def cameraExposure(self) -> float: + """ + Gets and sets if the exposure of the camera as specified using the "Exposure Value" (EV). Valid + values are between -15.0 and 25.0, inclusive. + """ + return float() + @cameraExposure.setter + def cameraExposure(self, value: float): + """ + Gets and sets if the exposure of the camera as specified using the "Exposure Value" (EV). Valid + values are between -15.0 and 25.0, inclusive. + """ + pass + @property + def isDepthOfFieldEnabled(self) -> bool: + """ + Gets and sets if the depth of field option is enabled. When setting this to true, use the + centerOfFocus and depthOfFieldBlur properties to specify how the depth of field is defined. + """ + return bool() + @isDepthOfFieldEnabled.setter + def isDepthOfFieldEnabled(self, value: bool): + """ + Gets and sets if the depth of field option is enabled. When setting this to true, use the + centerOfFocus and depthOfFieldBlur properties to specify how the depth of field is defined. + """ + pass + @property + def centerOfFocus(self) -> core.Point3D: + """ + When the isDepthofFieldEnabled property is true, this point is used as the center of focus. + All objects that are the same distance from the camera as this point will be in focus. + Any geometry that is closer or further away from the camera than this point will appear more out of focus. + + Setting this property has the side effect of setting the isDepthOfField property to true. If the + isDepthOfFieldEnabled property is false, the value of this property is ignored. + """ + return core.Point3D() + @centerOfFocus.setter + def centerOfFocus(self, value: core.Point3D): + """ + When the isDepthofFieldEnabled property is true, this point is used as the center of focus. + All objects that are the same distance from the camera as this point will be in focus. + Any geometry that is closer or further away from the camera than this point will appear more out of focus. + + Setting this property has the side effect of setting the isDepthOfField property to true. If the + isDepthOfFieldEnabled property is false, the value of this property is ignored. + """ + pass + @property + def depthOfFieldBlur(self) -> float: + """ + Specify the amount of blur to apply to objects outside the center of focus. This must be a value + between 0.001 and 2.000 inclusive. The depth of field is defined by using the centerOfFocus + property to set the depth where the model is in focus. + + Setting this property has the side effect of setting the isDepthOfField property to true. If the + isDepthOfFieldEnabled property is false, the value of this property is ignored. + """ + return float() + @depthOfFieldBlur.setter + def depthOfFieldBlur(self, value: float): + """ + Specify the amount of blur to apply to objects outside the center of focus. This must be a value + between 0.001 and 2.000 inclusive. The depth of field is defined by using the centerOfFocus + property to set the depth where the model is in focus. + + Setting this property has the side effect of setting the isDepthOfField property to true. If the + isDepthOfFieldEnabled property is false, the value of this property is ignored. + """ + pass + @property + def aspectRatio(self) -> RenderAspectRatios: + """ + Gets and sets the aspect ratio of the rendered image. This is not the resolution, but + only the aspect ratio. To define a custom aspect ratio set this property to CustomRenderAspectRatio + and use the aspectRatioHeight and aspectRatioWidth properties to define any aspect ratio. + + This is used for in-canvas render to allow you to use a different aspect ratio than what + is implicitly defined by the size of the active viewport. + + If this is set to CustomRenderAspectRatio, use the aspectRatioHeight and aspectRatioWidth to + define the aspect ratio. + """ + return RenderAspectRatios() + @aspectRatio.setter + def aspectRatio(self, value: RenderAspectRatios): + """ + Gets and sets the aspect ratio of the rendered image. This is not the resolution, but + only the aspect ratio. To define a custom aspect ratio set this property to CustomRenderAspectRatio + and use the aspectRatioHeight and aspectRatioWidth properties to define any aspect ratio. + + This is used for in-canvas render to allow you to use a different aspect ratio than what + is implicitly defined by the size of the active viewport. + + If this is set to CustomRenderAspectRatio, use the aspectRatioHeight and aspectRatioWidth to + define the aspect ratio. + """ + pass + @property + def aspectRatioHeight(self) -> int: + """ + Gets and sets the height of the aspect ratio of the rendered image. This is not the resolution, but + only the aspect ratio. For example specifying the width and height of 4:3 is equivalent to setting + 20:15. It's only the ratio of the numbers that matters. + + The resolution is determined by the screen resolution when rendering in-canvas or is specified when + rendering locally or using the cloud. When setting this property the aspectRatio property is + automatically set to CustomRenderAspectRatio. + """ + return int() + @aspectRatioHeight.setter + def aspectRatioHeight(self, value: int): + """ + Gets and sets the height of the aspect ratio of the rendered image. This is not the resolution, but + only the aspect ratio. For example specifying the width and height of 4:3 is equivalent to setting + 20:15. It's only the ratio of the numbers that matters. + + The resolution is determined by the screen resolution when rendering in-canvas or is specified when + rendering locally or using the cloud. When setting this property the aspectRatio property is + automatically set to CustomRenderAspectRatio. + """ + pass + @property + def aspectRatioWidth(self) -> int: + """ + Gets and sets the width of the aspect ratio of the rendered image. This is not the resolution, but + only the aspect ratio. For example specifying the width and height of 4:3 is equivalent to setting + 20:15. It's only the ratio of the numbers that matters. + + The resolution is determined by the screen resolution when rendering in-canvas or is specified when + rendering locally or using the cloud. When setting this property the aspectRatio property is + automatically set to CustomRenderAspectRatio. + """ + return int() + @aspectRatioWidth.setter + def aspectRatioWidth(self, value: int): + """ + Gets and sets the width of the aspect ratio of the rendered image. This is not the resolution, but + only the aspect ratio. For example specifying the width and height of 4:3 is equivalent to setting + 20:15. It's only the ratio of the numbers that matters. + + The resolution is determined by the screen resolution when rendering in-canvas or is specified when + rendering locally or using the cloud. When setting this property the aspectRatio property is + automatically set to CustomRenderAspectRatio. + """ + pass + +class SectionAnalyses(core.Base): + """ + Provides access to any section analyses results in the design and supports + the ability to create new sections. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SectionAnalyses: + return SectionAnalyses() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SectionAnalysis: + return None + def __iter__(self) -> Iterator[SectionAnalysis]: + return None + def item(self, index: int) -> SectionAnalysis: + """ + A method that returns the specified SectionAnalysis object using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection + has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return SectionAnalysis() + def itemByName(self, name: str) -> SectionAnalysis: + """ + A method that returns the specified SectionAnalysis object using the name of the analysis + as displayed in the browser. + name : The name of the SectionAnalysis object as displayed in the browser. + Returns the specified item or null if an invalid name was specified. + """ + return SectionAnalysis() + def createInput(self, cutPlaneEntity: core.Base, distance: float) -> SectionAnalysisInput: + """ + Creates a new SectionAnalysisInput object to use when creating a new Section Analysis. + A SectionAnalysisInput object is the API equivalent of the command dialog that + contains the inputs to create a section analysis. Use this object to define the + settings you need and then pass this into the add method to create the section analysis. + cutPlaneEntity : The planar entity used to define the cut plane and can be either a + planar BRepFace or a ConstructionPlane object. + distance : The offset distance of the section from the cut plane. A positive value will offset + in the positive normal direction of the cut plane entity. The value is in centimeters. + This value is used to create a transformation matrix that defines the specified offset. + Returns a SectionAnalysisInput object if successful. + """ + return SectionAnalysisInput() + def add(self, input: SectionAnalysisInput) -> SectionAnalysis: + """ + Creates a new Section Analysis. + input : A SectionAnalysisInput object that defines how the section analysis should be created. + Use the createInput method to create a new SectionAnalysisInput object. + Returns the new SectionAnalysis object if successful. + """ + return SectionAnalysis() + @property + def count(self) -> int: + """ + Returns the number of SectionAnalysis objects in the collection. + """ + return int() + +class SectionAnalysisInput(core.Base): + """ + Provides access the all of the settings available when creating a section analysis. + This object is the API equivalent of the command dialog that contains the inputs + to create a section analysis. Use this object to define the settings you need and + then pass this into the add method to create the section analysis. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SectionAnalysisInput: + return SectionAnalysisInput() + def flip(self) -> bool: + """ + A property that flips which side of the part is cut away by the section. This is a + convenience method that results in flipping the Z axis of the transform while maintaining + a valid rectangular coordinate system. You can directly manipulate the transform matrix + to have the same effect. + """ + return bool() + @property + def cutPlaneEntity(self) -> core.Base: + """ + A property that gets and sets the planar entity used to define the cut plane and can be either + a planar BRepFace or a ConstructionPlane object. + """ + return core.Base() + @cutPlaneEntity.setter + def cutPlaneEntity(self, value: core.Base): + """ + A property that gets and sets the planar entity used to define the cut plane and can be either + a planar BRepFace or a ConstructionPlane object. + """ + pass + @property + def initialPosition(self) -> core.Matrix3D: + """ + Returns the matrix that describes the initial position and orientation of the + specified cut plane entity. Any additional offsets or rotations are defined + by a transformation matrix that is applied to this initial position matrix. + That matrix is obtained and set using the transform property. + """ + return core.Matrix3D() + @property + def transform(self) -> core.Matrix3D: + """ + The initial position of the section plane is defined by the specified cut plane + entity. Any offsets or rotations are defined by a transformation matrix that is + applied to the initial position. This property allows you to get and set the + transformation matrix. + """ + return core.Matrix3D() + @transform.setter + def transform(self, value: core.Matrix3D): + """ + The initial position of the section plane is defined by the specified cut plane + entity. Any offsets or rotations are defined by a transformation matrix that is + applied to the initial position. This property allows you to get and set the + transformation matrix. + """ + pass + @property + def sectionColor(self) -> core.Color: + """ + A property that gets and sets the color of the section. This property defaults to null, + indicating that the component color should be used. The opacity value of the color is ignored. + """ + return core.Color() + @sectionColor.setter + def sectionColor(self, value: core.Color): + """ + A property that gets and sets the color of the section. This property defaults to null, + indicating that the component color should be used. The opacity value of the color is ignored. + """ + pass + @property + def isHatchShown(self) -> bool: + """ + A property that gets and sets if a hatch pattern should be shown on the section. This + property defaults to true when the input is created. + """ + return bool() + @isHatchShown.setter + def isHatchShown(self, value: bool): + """ + A property that gets and sets if a hatch pattern should be shown on the section. This + property defaults to true when the input is created. + """ + pass + +class SheetMetalRule(core.Base): + """ + A sheet metal rule. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SheetMetalRule: + return SheetMetalRule() + def deleteMe(self) -> bool: + """ + Deletes the rule from the design or library. If the rule is in the + library and set as the default rule, you cannot delete it. If the + rule is in a design and is used by a component you cannot use it. + Returns true if the delete was successful. + """ + return bool() + @property + def name(self) -> str: + """ + The name of the sheet metal rule. When setting the name, it should be + unique with respect to other sheet metal rules in the design or library. + """ + return str() + @name.setter + def name(self, value: str): + """ + The name of the sheet metal rule. When setting the name, it should be + unique with respect to other sheet metal rules in the design or library. + """ + pass + @property + def thickness(self) -> SheetMetalRuleValue: + """ + The thickness of the part. Use the returned SheetMetalRuleValue + object to get and set the current value of the thickness. + """ + return SheetMetalRuleValue() + @property + def kFactor(self) -> float: + """ + The K Factor value that is used when calculating the flat pattern. It must be + a value between 0 and 1. + """ + return float() + @kFactor.setter + def kFactor(self, value: float): + """ + The K Factor value that is used when calculating the flat pattern. It must be + a value between 0 and 1. + """ + pass + @property + def gap(self) -> SheetMetalRuleValue: + """ + The value used for miter, rip, and seam, gaps. Use the returned SheetMetalRuleValue + object to get and set the current value of the gap. + """ + return SheetMetalRuleValue() + @property + def bendRadius(self) -> SheetMetalRuleValue: + """ + The interior radius of the bends. Use the returned SheetMetalRuleValue + object to get and set the current value of the radius. + """ + return SheetMetalRuleValue() + @property + def reliefWidth(self) -> SheetMetalRuleValue: + """ + The relief width used in the flat pattern. Use the returned SheetMetalRuleValue + object to get and set the current value of the relief width. + """ + return SheetMetalRuleValue() + @property + def reliefDepth(self) -> SheetMetalRuleValue: + """ + The relief depth used in the flat pattern. Use the returned SheetMetalRuleValue + object to get and set the current value of the relief depth. + """ + return SheetMetalRuleValue() + @property + def reliefRemnant(self) -> SheetMetalRuleValue: + """ + The relief remnant used in the flat pattern. Use the returned SheetMetalRuleValue + object to get and set the current value of the relief remnant. + """ + return SheetMetalRuleValue() + @property + def reliefShape(self) -> BendReliefShapes: + """ + Gets and sets the bend relief shape to use. + """ + return BendReliefShapes() + @reliefShape.setter + def reliefShape(self, value: BendReliefShapes): + """ + Gets and sets the bend relief shape to use. + """ + pass + @property + def twoBendReliefShape(self) -> TwoBendReliefShapes: + """ + Gets and sets the relief shape to use when two bends intersect. + + When set to square or round relief shape, the value of the twoBendReliefPlacement + property will be set to IntersectionTwoBendReliefPlacement. For a round relief + shape you can change the twoBendReliefPlacment property to TangentTwoBendReliefPlacement. + """ + return TwoBendReliefShapes() + @twoBendReliefShape.setter + def twoBendReliefShape(self, value: TwoBendReliefShapes): + """ + Gets and sets the relief shape to use when two bends intersect. + + When set to square or round relief shape, the value of the twoBendReliefPlacement + property will be set to IntersectionTwoBendReliefPlacement. For a round relief + shape you can change the twoBendReliefPlacment property to TangentTwoBendReliefPlacement. + """ + pass + @property + def twoBendReliefSize(self) -> SheetMetalRuleValue: + """ + The relief size used when two bends meet in the flat pattern and the relief + shape is round or square. Use the returned SheetMetalRuleValue object to + get and set the current value of the relief size. + """ + return SheetMetalRuleValue() + @property + def twoBendReliefPlacement(self) -> TwoBendReliefPlacements: + """ + Gets and sets the relief placement for a two bend relief shape. When the relief shape + is round, both intersection and tangent are valid placements. For square shape, only + intersection is valid. For all other shapes, this property will return NoTwoBendReliefPlacement + because the placement option is not used. + """ + return TwoBendReliefPlacements() + @twoBendReliefPlacement.setter + def twoBendReliefPlacement(self, value: TwoBendReliefPlacements): + """ + Gets and sets the relief placement for a two bend relief shape. When the relief shape + is round, both intersection and tangent are valid placements. For square shape, only + intersection is valid. For all other shapes, this property will return NoTwoBendReliefPlacement + because the placement option is not used. + """ + pass + @property + def threeBendReliefShape(self) -> ThreeBendReliefShapes: + """ + Gets and sets the relief shape to use when three bends intersect. + """ + return ThreeBendReliefShapes() + @threeBendReliefShape.setter + def threeBendReliefShape(self, value: ThreeBendReliefShapes): + """ + Gets and sets the relief shape to use when three bends intersect. + """ + pass + @property + def threeBendReliefRadius(self) -> SheetMetalRuleValue: + """ + The relief size used when three bends meet in the flat pattern and the relief shape + is "round with radius". Use the returned SheetMetalRuleValue object to get and set + the current value of the relief size. + """ + return SheetMetalRuleValue() + @property + def parentDesign(self) -> Design: + """ + Returns the parent design for a sheet metal rule in a design or it + returns null if the sheet metal rule is in the library. + """ + return Design() + @property + def isDefault(self) -> bool: + """ + This gets and sets which rule in a library is the default rule. This is only + valid for rules in a library and will fail for rules in a design. + """ + return bool() + @isDefault.setter + def isDefault(self, value: bool): + """ + This gets and sets which rule in a library is the default rule. This is only + valid for rules in a library and will fail for rules in a design. + """ + pass + @property + def isUsed(self) -> bool: + """ + Indicates if this rule is currently being used by a component. This is only + valid for rules in a design. + """ + return bool() + +class SheetMetalRules(core.Base): + """ + A collection of sheet metal rules. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SheetMetalRules: + return SheetMetalRules() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SheetMetalRule: + return None + def __iter__(self) -> Iterator[SheetMetalRule]: + return None + def item(self, index: int) -> SheetMetalRule: + """ + Function that returns the specified sheet metal rule using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return SheetMetalRule() + def itemByName(self, name: str) -> SheetMetalRule: + """ + Function that returns the specified sheet metal rule using the name of the rule. + name : The name of the rule within the collection to return. This is the name seen in the Sheet Metal Rules dialog. + Returns the specified item or null if the specified name was not found. + """ + return SheetMetalRule() + def addByCopy(self, existingSheetMetalRule: SheetMetalRule, name: str) -> SheetMetalRule: + """ + Creates a new sheet metal rule by copying an existing rule. The new rule + can then be edited to define the rule characteristics you want. + existingSheetMetalRule : The existing SheetMetalRule object you want to copy. This can be a rule from the + library or the design. + name : The name to assign to the new sheet metal rule. This name must be unique with respect to other + sheet metal rules in the design or library it's created in. + Returns the new SheetMetalRule object or will assert in the case where it fails. + """ + return SheetMetalRule() + @property + def count(self) -> int: + """ + The number of sheet metal rules in the collection. + """ + return int() + +class SheetMetalRuleValue(core.Base): + """ + Used to get and set the current value of a value associated with a sheet metal rule. A value + can be gotten or set using a string or a double. A string can contain equations and unit specifiers + whereas a double defines the size in centimeters. In the user-interface, the user is always + setting the string expression. However, when programming it is typically more convenient to set + it using an explicit value. When the value is set using a double, Fusion creates an equivalent + expression. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SheetMetalRuleValue: + return SheetMetalRuleValue() + @property + def expression(self) -> str: + """ + Gets and sets the expression of the sheet metal rule value. This can be an + equation that includes the name "Thickness" and can also include length unit + specifiers. For example, a valid expression is "Thickness / 2 + 1 mm". If no + units are specified, the document default units are implied. For example an + expression of "3" will be 3 inches if the document units are inches or 3 mm if + the document units are millimeters. + """ + return str() + @expression.setter + def expression(self, value: str): + """ + Gets and sets the expression of the sheet metal rule value. This can be an + equation that includes the name "Thickness" and can also include length unit + specifiers. For example, a valid expression is "Thickness / 2 + 1 mm". If no + units are specified, the document default units are implied. For example an + expression of "3" will be 3 inches if the document units are inches or 3 mm if + the document units are millimeters. + """ + pass + @property + def value(self) -> float: + """ + Gets and sets the value of the sheet metal rule value in centimeters. Setting + this value will create a new expression that is equivalent to the new value. + """ + return float() + @value.setter + def value(self, value: float): + """ + Gets and sets the value of the sheet metal rule value in centimeters. Setting + this value will create a new expression that is equivalent to the new value. + """ + pass + class ShellFeatureInput(core.Base): """ This class defines the methods and properties that pertain to the definition of a shell @@ -15940,6 +20818,12 @@ def __init__(self): @staticmethod def cast(arg) -> ShellFeatures: return ShellFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ShellFeature: + return None + def __iter__(self) -> Iterator[ShellFeature]: + return None def item(self, index: int) -> ShellFeature: """ Function that returns the specified shell feature using an index into the collection. @@ -15947,7 +20831,7 @@ def item(self, index: int) -> ShellFeature: Returns the specified item or null if an invalid index was specified. """ return ShellFeature() - def createInput(self, inputEntities: core.ObjectCollection, isTangentChain: bool) -> ShellFeatureInput: + def createInput(self, inputEntities: core.ObjectCollection, isTangentChain: bool = True) -> ShellFeatureInput: """ Creates a ShellFeatureInput object. Use properties and methods on this object to define the shell you want to create and then use the Add method, passing in @@ -16066,6 +20950,12 @@ def __init__(self): @staticmethod def cast(arg) -> SilhouetteSplitFeatures: return SilhouetteSplitFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SilhouetteSplitFeature: + return None + def __iter__(self) -> Iterator[SilhouetteSplitFeature]: + return None def item(self, index: int) -> SilhouetteSplitFeature: """ Function that returns the specified silhouette split feature using an index into the collection. @@ -16119,11 +21009,17 @@ def cast(arg) -> Sketch: return Sketch() def project(self, entity: core.Base) -> core.ObjectCollection: """ - Projects the specified entity onto the x-y plane of the sketch - and returns the created sketch entity(s). - entity : The entity to project. This can be a sketch entity, an edge, a face to get all - of its edges, a vertex, a construction axis, a construction point, or a - construction plane that is perpendicular to the sketch to create a line. + Projects the specified entity or entities onto the x-y plane of the sketch + and returns the created sketch entity(s). You can provide either a single + entity or an ObjectCollection of multiple entities, which will be projected simultaneously. + entity : The entity to project. This can be a single entity of the following types: + sketch entity, an edge, a face (which will get all of its edges), a vertex, + a construction axis, a construction point, or a construction plane that is + perpendicular to the sketch to create a line. + + This can also be an ObjectCollection that contains multiple entities and will be + projected simultaneously. The entities that can be projected must be the types + and have the same restrictions as described above. Returns a collection of the sketch entities that were created as a result of the projection. """ @@ -16159,7 +21055,7 @@ def findConnectedCurves(self, curve: SketchCurve) -> core.ObjectCollection: the original input curve being one of the curves. """ return core.ObjectCollection() - def offset(self, curves: core.ObjectCollection, directionPoint: core.Point3D, offset: float) -> core.ObjectCollection: + def offset(self, curves: core.ObjectCollection, directionPoint: core.Point3D, offset: float = 0) -> core.ObjectCollection: """ Creates offset curves for the set of input curves. If the offset distance is not provided, the offset distance is defined by the direction point. @@ -16195,7 +21091,7 @@ def move(self, sketchEntities: core.ObjectCollection, transform: core.Matrix3D) Returns true if the move was successful. """ return bool() - def copy(self, sketchEntities: core.ObjectCollection, transform: core.Matrix3D, targetSketch: Sketch) -> core.ObjectCollection: + def copy(self, sketchEntities: core.ObjectCollection, transform: core.Matrix3D, targetSketch: Sketch = None) -> core.ObjectCollection: """ Copies the specified sketch entities, applying the specified transform. Any geometric or dimension constraints associated with the entities will @@ -16261,7 +21157,7 @@ def intersectWithSketchPlane(self, entities: list[core.Base]) -> list[SketchEnti entities don't intersect the sketch plane. """ return [SketchEntity()] - def projectToSurface(self, faces: list[BRepFace], curves: list[core.Base], projectType: SurfaceProjectTypes, directionEntity: core.Base) -> list[SketchEntity]: + def projectToSurface(self, faces: list[BRepFace], curves: list[core.Base], projectType: SurfaceProjectTypes, directionEntity: core.Base = None) -> list[SketchEntity]: """ Projects the specified set of curves onto the specified set of faces using the specified method of projection. if the projection type is along a vector, then the directionEntity argument must be supplied. if the projectionType @@ -16630,6 +21526,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchArcs: return SketchArcs() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchArc: + return None + def __iter__(self) -> Iterator[SketchArc]: + return None def item(self, index: int) -> SketchArc: """ Function that returns the specified sketch arc using an index into the collection. @@ -16687,6 +21589,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchCircles: return SketchCircles() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchCircle: + return None + def __iter__(self) -> Iterator[SketchCircle]: + return None def item(self, index: int) -> SketchCircle: """ Function that returns the specified sketch circle using an index into the collection. @@ -16779,6 +21687,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchConicCurves: return SketchConicCurves() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchConicCurve: + return None + def __iter__(self) -> Iterator[SketchConicCurve]: + return None def item(self, index: int) -> SketchConicCurve: """ Function that returns the specified conic curve using an index into the collection. @@ -16786,6 +21700,17 @@ def item(self, index: int) -> SketchConicCurve: Returns the specified item or null if an invalid index was specified. """ return SketchConicCurve() + def add(self, startPoint: core.Base, endPoint: core.Base, apexPoint: core.Base, rhoValue: float) -> SketchConicCurve: + """ + Creates a new conic curve. + startPoint : The start point of the conic curve. This can be either an existing SketchPoint or a Point3D object. + endPoint : The end point of the conic curve. This can be either an existing SketchPoint or a Point3D object. + apexPoint : The apex point of the conic curve. This can be either an existing SketchPoint or a Point3D object. + rhoValue : Double that specifies the rho value for the conic. This value must be greater than zero and less + than one. + Returns the new conic curve or null if the creation failed. + """ + return SketchConicCurve() @property def count(self) -> int: """ @@ -16793,6 +21718,44 @@ def count(self) -> int: """ return int() +class SketchControlPointSplines(core.Base): + """ + The collection of control point splines in a sketch. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchControlPointSplines: + return SketchControlPointSplines() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchControlPointSpline: + return None + def __iter__(self) -> Iterator[SketchControlPointSpline]: + return None + def item(self, index: int) -> SketchControlPointSpline: + """ + Function that returns the specified sketch control point spline using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return SketchControlPointSpline() + def add(self, controlPoints: list[core.Base], degree: SplineDegrees) -> SketchControlPointSpline: + """ + Creates a new control point spline. + controlPoints : An array of points that define the control points of the curve's polygon. They + can be any combination of existing SketchPoint or Point3D objects. + degree : Specifies the degree of the spline. + Returns the newly created SketchControlPointSpline object if the creation was successful or null if it failed. + """ + return SketchControlPointSpline() + @property + def count(self) -> int: + """ + Returns the number of control point splines in the sketch. + """ + return int() + class SketchCurves(core.Base): """ A collection of sketch curves in a sketch. This also provides access to collections @@ -16804,6 +21767,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchCurves: return SketchCurves() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchCurve: + return None + def __iter__(self) -> Iterator[SketchCurve]: + return None def item(self, index: int) -> SketchCurve: """ Function that returns the specified sketch curve using an index into the collection. @@ -16877,10 +21846,18 @@ def sketchFixedSplines(self) -> SketchFixedSplines: def sketchConicCurves(self) -> SketchConicCurves: """ Returns the conic curves collection associated with this sketch. - This provides access to the existing conic curves and support the + This provides access to the existing conic curves and supports the creation of new conic curves. """ return SketchConicCurves() + @property + def sketchControlPointSplines(self) -> SketchControlPointSplines: + """ + Returns the control point splines collection associated with this sketch. + This provides access to the existing control point splines and supports the + creation of new control point splines. + """ + return SketchControlPointSplines() class SketchDimension(core.Base): """ @@ -16970,6 +21947,38 @@ def entityToken(self) -> str: method to get the two entities identified by the tokens and then compare them. """ return str() + @property + def value(self) -> float: + """ + Gets and sets the current value of the sketch dimension. + + In a design where the design history is being captured (parametric) and the isDriving property is True, this is exactly + equivalent to getting the parameter associated with the dimension and editing its value. Editing this property will result + in the parameter value being changed. If isDriving is False, this acts as a read-only property and attempting to set it will fail. + + In a design where the design history is NOT being captured (direct edit) the parameter property will return null and this + property can be used to get and set the value of the dimension because in this case, there isn't an associated parameter. + + The value is always in internal units which means that for dimensions that represent a distance, the value is in + Centimeters and for dimensions representing an angle the value is in Radians. + """ + return float() + @value.setter + def value(self, value: float): + """ + Gets and sets the current value of the sketch dimension. + + In a design where the design history is being captured (parametric) and the isDriving property is True, this is exactly + equivalent to getting the parameter associated with the dimension and editing its value. Editing this property will result + in the parameter value being changed. If isDriving is False, this acts as a read-only property and attempting to set it will fail. + + In a design where the design history is NOT being captured (direct edit) the parameter property will return null and this + property can be used to get and set the value of the dimension because in this case, there isn't an associated parameter. + + The value is always in internal units which means that for dimensions that represent a distance, the value is in + Centimeters and for dimensions representing an angle the value is in Radians. + """ + pass class SketchDimensionList(core.Base): """ @@ -16980,6 +21989,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchDimensionList: return SketchDimensionList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchDimension: + return None + def __iter__(self) -> Iterator[SketchDimension]: + return None def item(self, index: int) -> SketchDimension: """ Function that returns the specified sketch dimension using an index into the collection. @@ -17005,6 +22020,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchDimensions: return SketchDimensions() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchDimension: + return None + def __iter__(self) -> Iterator[SketchDimension]: + return None def item(self, index: int) -> SketchDimension: """ Function that returns the specified sketch dimension using an index into the @@ -17014,7 +22035,7 @@ def item(self, index: int) -> SketchDimension: Returns the specified item or null if an invalid index was specified. """ return SketchDimension() - def addDistanceDimension(self, pointOne: SketchPoint, pointTwo: SketchPoint, orientation: DimensionOrientations, textPoint: core.Point3D, isDriving: bool) -> SketchLinearDimension: + def addDistanceDimension(self, pointOne: SketchPoint, pointTwo: SketchPoint, orientation: DimensionOrientations, textPoint: core.Point3D, isDriving: bool = True) -> SketchLinearDimension: """ Creates a new linear dimension constraint between the two input entities. pointOne : The first SketchPoint to dimension to. @@ -17027,7 +22048,7 @@ def addDistanceDimension(self, pointOne: SketchPoint, pointTwo: SketchPoint, ori Returns the newly created dimension or null if the creation failed. """ return SketchLinearDimension() - def addOffsetDimension(self, line: SketchLine, entityTwo: SketchEntity, textPoint: core.Point3D, isDriving: bool) -> SketchOffsetDimension: + def addOffsetDimension(self, line: SketchLine, entityTwo: SketchEntity, textPoint: core.Point3D, isDriving: bool = True) -> SketchOffsetDimension: """ Creates a new linear dimension constraint between the two input entities. The first input entity must be a sketch line. The second entity can be a point or a line that is parallel @@ -17043,7 +22064,7 @@ def addOffsetDimension(self, line: SketchLine, entityTwo: SketchEntity, textPoin Returns the newly created dimension or null if the creation failed. """ return SketchOffsetDimension() - def addAngularDimension(self, lineOne: SketchLine, lineTwo: SketchLine, textPoint: core.Point3D, isDriving: bool) -> SketchAngularDimension: + def addAngularDimension(self, lineOne: SketchLine, lineTwo: SketchLine, textPoint: core.Point3D, isDriving: bool = True) -> SketchAngularDimension: """ Creates a new angular dimension constraint between the two input lines. The position of the text controls which of the four quadrants will be dimensioned. @@ -17057,7 +22078,7 @@ def addAngularDimension(self, lineOne: SketchLine, lineTwo: SketchLine, textPoin Returns the newly created dimension or null if the creation failed. """ return SketchAngularDimension() - def addDiameterDimension(self, entity: SketchCurve, textPoint: core.Point3D, isDriving: bool) -> SketchDiameterDimension: + def addDiameterDimension(self, entity: SketchCurve, textPoint: core.Point3D, isDriving: bool = True) -> SketchDiameterDimension: """ Creates a new diameter dimension constraint on the arc or circle. entity : The SketchCircle or SketchArc to dimension. @@ -17068,7 +22089,7 @@ def addDiameterDimension(self, entity: SketchCurve, textPoint: core.Point3D, isD Returns the newly created dimension or null if the creation failed. """ return SketchDiameterDimension() - def addRadialDimension(self, entity: SketchCurve, textPoint: core.Point3D, isDriving: bool) -> SketchRadialDimension: + def addRadialDimension(self, entity: SketchCurve, textPoint: core.Point3D, isDriving: bool = True) -> SketchRadialDimension: """ Creates a new radial dimension constraint on the arc or circle. entity : The SketchCircle or SketchArc to dimension. @@ -17079,7 +22100,7 @@ def addRadialDimension(self, entity: SketchCurve, textPoint: core.Point3D, isDri Returns the newly created dimension or null if the creation failed. """ return SketchRadialDimension() - def addEllipseMajorRadiusDimension(self, ellipse: SketchCurve, textPoint: core.Point3D, isDriving: bool) -> SketchEllipseMajorRadiusDimension: + def addEllipseMajorRadiusDimension(self, ellipse: SketchCurve, textPoint: core.Point3D, isDriving: bool = True) -> SketchEllipseMajorRadiusDimension: """ Creates a new dimension constraint on the major radius of an ellipse. ellipse : The SketchEllipse to dimension. @@ -17090,7 +22111,7 @@ def addEllipseMajorRadiusDimension(self, ellipse: SketchCurve, textPoint: core.P Returns the newly created dimension or null if the creation failed. """ return SketchEllipseMajorRadiusDimension() - def addEllipseMinorRadiusDimension(self, ellipse: SketchCurve, textPoint: core.Point3D, isDriving: bool) -> SketchEllipseMinorRadiusDimension: + def addEllipseMinorRadiusDimension(self, ellipse: SketchCurve, textPoint: core.Point3D, isDriving: bool = True) -> SketchEllipseMinorRadiusDimension: """ Creates a new dimension constraint on the minor radius of an ellipse. ellipse : The SketchEllipse to dimension. @@ -17101,7 +22122,7 @@ def addEllipseMinorRadiusDimension(self, ellipse: SketchCurve, textPoint: core.P Returns the newly created dimension or null if the creation failed. """ return SketchEllipseMinorRadiusDimension() - def addConcentricCircleDimension(self, circleOne: SketchCurve, circleTwo: SketchCurve, textPoint: core.Point3D, isDriving: bool) -> SketchConcentricCircleDimension: + def addConcentricCircleDimension(self, circleOne: SketchCurve, circleTwo: SketchCurve, textPoint: core.Point3D, isDriving: bool = True) -> SketchConcentricCircleDimension: """ Creates a new dimension constraint between to concentric circles or arcs. circleOne : The first SketchCircle or SketchArc to dimension. @@ -17113,6 +22134,69 @@ def addConcentricCircleDimension(self, circleOne: SketchCurve, circleTwo: Sketch Returns the newly created dimension or null if the creation failed. """ return SketchConcentricCircleDimension() + def addTangentDistanceDimension(self, entityOne: SketchEntity, isCloseToEnityTwo: bool, entityTwo: SketchCurve, isCloseToEnityOne: bool, textPoint: core.Point3D, isDriving: bool = True) -> SketchTangentDistanceDimension: + """ + Creates a new linear dimension from between a line and circle or arc and a second circle or arc where + the dimension is to the tangent on the edge of the circle or arc. + entityOne : The first entity to dimension to. This can be a SketchPoint, SketchLine, SketchCircle or SketchArc. + If a circle or arc is provided then the tangentSideOne argument must be specified. + isCloseToEnityTwo : If entityOne is a circle or arc this specifies which side of the circle or arc the dimension will be tangent to. + If true, it will be on the side that is closer to entityTwo. If a SketchLine or SketchPoint was input for the + entityOne argument this argument is ignored and any value can be used. + entityTwo : A SketchCircle or SketchArc entity that you will dimension to. + isCloseToEnityOne : Specifies which side of the circle or arc input as the entityTwo argument the dimension will be tangent to. + If true, it will be on the side that is closer to entityOne. + textPoint : A Point3D object that defines the position of the dimension text. + isDriving : Optional argument that specifies if a driving (the dimension controls the geometry) + or a driven (the geometry controls the dimension) dimension is created. If not provided + a driving dimension will be created. + Returns the newly created dimension or null if the creation failed. + """ + return SketchTangentDistanceDimension() + def addLinearDiameterDimension(self, centerLine: SketchLine, entityTwo: SketchEntity, textPoint: core.Point3D, isDriving: bool = True) -> SketchLinearDiameterDimension: + """ + Creates a new linear dimension showing the diameter where the first line acts as the center line + and the second entity defines the size. The first input entity must be a sketch line. The second entity + can be a point or a line that is parallel to the first. The dimension controls the distance as measured + perpendicular to the first input line. + centerLine : The SketchLine to dimension to which acts as the center line. + entityTwo : The parallel SketchLine or SketchPoint to dimension to. If a SketchLine is used it must be + parallel to the first line. + textPoint : A Point3D object that defines the position of the dimension text. + isDriving : Optional argument that specifies if a driving (the dimension controls the geometry) + or a driven (the geometry controls the dimension) dimension is created. If not provided + a driving dimension will be created. + Returns the newly created dimension or null if the creation failed. + """ + return SketchLinearDiameterDimension() + def addDistanceBetweenPointAndSurfaceDimension(self, point: SketchPoint, surface: core.Base, isDriving: bool = True) -> SketchDistanceBetweenPointAndSurfaceDimension: + """ + Creates a new linear dimension controlling the distance between a sketch point and the specified surface or point. The text position is + automatically chosen and is positioned so it is midway between the point and surface and the extension lines are a minimum length. You + can modify the position by using functionality on the returned SketchDistanceBetweenPointAndSurfaceDimension object. + point : The SketchPoint being constrained by the dimension. + surface : The BRepFace or ConstructionPlane to which the dimension will anchor. Planar, cylindrical, and spherical faces are supported. + If a cylindrical or spherical face is used, the dimension is from the point to the nearest point on the surface. + isDriving : Optional argument that specifies if a driving (the dimension controls the geometry) + or a driven (the geometry controls the dimension) dimension is created. If not provided + a driving dimension will be created. + Returns the newly created dimension or null if the creation failed. + """ + return SketchDistanceBetweenPointAndSurfaceDimension() + def addDistanceBetweenLineAndPlanarSurfaceDimension(self, line: SketchLine, planarSurface: core.Base, isDriving: bool = True) -> SketchDistanceBetweenLineAndPlanarSurfaceDimension: + """ + Creates a new linear dimension controlling the distance between a sketch line and the specified planar face or construction plane. The sketch line + must lie on a plane that is parallel to the planar surface. The text position is automatically chosen and is positioned so it is midway between + the line and surface and the extension lines are a minimum length. You can modify the position by using functionality on the returned + SketchDistanceBetweenLineAndPlanarSurfaceDimension object. + line : The SketchLine being constrained by the dimension. + planarSurface : The planar BRepFace or ConstructionPlane that the dimension will anchor to. + isDriving : Optional argument that specifies if a driving (the dimension controls the geometry) + or a driven (the geometry controls the dimension) dimension is created. If not provided + a driving dimension will be created. + Returns the newly created dimension or null if the creation failed. + """ + return SketchDistanceBetweenLineAndPlanarSurfaceDimension() @property def count(self) -> int: """ @@ -17130,6 +22214,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchEllipses: return SketchEllipses() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchEllipse: + return None + def __iter__(self) -> Iterator[SketchEllipse]: + return None def item(self, index: int) -> SketchEllipse: """ Function that returns the specified sketch ellipse using an index into the collection. @@ -17165,6 +22255,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchEllipticalArcs: return SketchEllipticalArcs() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchEllipticalArc: + return None + def __iter__(self) -> Iterator[SketchEllipticalArc]: + return None def item(self, index: int) -> SketchEllipticalArc: """ Function that returns the specified sketch elliptical arc using an index into the collection. @@ -17172,6 +22268,33 @@ def item(self, index: int) -> SketchEllipticalArc: Returns the specified item or null if an invalid index was specified. """ return SketchEllipticalArc() + def addByAngle(self, centerPoint: core.Base, majorAxis: core.Vector3D, minorAxis: core.Vector3D, startAngle: float, sweepAngle: float) -> SketchEllipticalArc: + """ + Creates an elliptical sketch arc where the sweep of the arc is defined by the start and sweep angles. + centerPoint : The center point of the ellipse. This can be either an existing SketchPoint or a Point3D object. + majorAxis : The direction of the major axis. The magnitude of this vector defines the major radius. + minorAxis : The direction of the minor axis. The magnitude of this vector defines the minor radius. + This vector should be perpendicular to the major axis. + startAngle : The start angle of the elliptical arc in radians, where 0 is along the major axis. + sweepAngle : The sweep angle of the elliptical arc in radians, where a positive value is counterclockwise. + Returns the newly created SketchEllipticalArc or null if the creation failed. + """ + return SketchEllipticalArc() + def addByEndPoints(self, centerPoint: core.Base, majorAxis: core.Vector3D, minorAxis: core.Vector3D, startPoint: core.Base, endPoint: core.Base) -> SketchEllipticalArc: + """ + Creates an elliptical sketch arc where the sweep of the arc is defined by two points. + centerPoint : The center point of the ellipse. This can be either an existing SketchPoint or a Point3D object. + majorAxis : The direction of the major axis. The magnitude of this vector defines the major radius. + minorAxis : The direction of the minor axis. The magnitude of this vector defines the minor radius. + This vector should be perpendicular to the major axis. + startPoint : The start point of the elliptical arc. This can be either an existing SketchPoint or a Point3D object. + The point should lie on the defined ellipse. + endPoint : The end point of the elliptical arc. This can be either an existing SketchPoint or a Point3D object. + The point should lie on the defined ellipse and the elliptical arc is defined by a counterclockwise + sweep from the start point to the end point. + Returns the newly created SketchEllipticalArc or null if the creation failed. + """ + return SketchEllipticalArc() @property def count(self) -> int: """ @@ -17181,8 +22304,8 @@ def count(self) -> int: class SketchEntity(core.Base): """ - This object represents all geometry in a sketch, including - points and lines and the various curves. + This object represents all geometry in a sketch, including all + the various curves, points, and text. """ def __init__(self): pass @@ -17336,6 +22459,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchEntityList: return SketchEntityList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchEntity: + return None + def __iter__(self) -> Iterator[SketchEntity]: + return None def item(self, index: int) -> SketchEntity: """ Function that returns the specified sketch entity using an index into the collection. @@ -17360,6 +22489,12 @@ def __init__(self): @staticmethod def cast(arg) -> Sketches: return Sketches() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Sketch: + return None + def __iter__(self) -> Iterator[Sketch]: + return None def item(self, index: int) -> Sketch: """ Function that returns the specified sketch using an index into the collection. @@ -17375,7 +22510,7 @@ def itemByName(self, name: str) -> Sketch: Returns the sketch or null if there isn't a sketch with that name. """ return Sketch() - def add(self, planarEntity: core.Base, occurrenceForCreation: Occurrence) -> Sketch: + def add(self, planarEntity: core.Base, occurrenceForCreation: Occurrence = None) -> Sketch: """ Creates a new sketch on the specified planar entity. planarEntity : A construction plane or planar face that defines the sketch plane @@ -17400,7 +22535,7 @@ def addToBaseOrFormFeature(self, planarEntity: core.Base, targetBaseOrFormFeatur Returns the newly created Sketch or null if the creation failed. """ return Sketch() - def addWithoutEdges(self, planarEntity: core.Base, occurrenceForCreation: Occurrence) -> Sketch: + def addWithoutEdges(self, planarEntity: core.Base, occurrenceForCreation: Occurrence = None) -> Sketch: """ Creates a new sketch on the specified planar entity. If a BRepFace is provided, the edges of the face are not projected into the sketch so the result of creating a new sketch with this method will @@ -17429,6 +22564,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchFittedSplines: return SketchFittedSplines() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchFittedSpline: + return None + def __iter__(self) -> Iterator[SketchFittedSpline]: + return None def item(self, index: int) -> SketchFittedSpline: """ Function that returns the specified sketch fitted spline using an index into the collection. @@ -17444,14 +22585,6 @@ def add(self, fitPoints: core.ObjectCollection) -> SketchFittedSpline: Returns the newly created SketchFittedSpline object if the creation was successful or null if it failed. """ return SketchFittedSpline() - def addByNurbsCurve(self, nurbsCurve: core.NurbsCurve3D) -> SketchFittedSpline: - """ - Creates a new fitted spline using the input NurbsCurve3D to define the shape. Fit points are created - to create a curve that exactly matches the input curve. - nurbsCurve : A NurbsCurve3D object that defines a valid NURBS curve. - Returns the newly created SketchFittedSpline object if the creation was successful or null if it failed. - """ - return SketchFittedSpline() @property def count(self) -> int: """ @@ -17469,6 +22602,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchFixedSplines: return SketchFixedSplines() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchFixedSpline: + return None + def __iter__(self) -> Iterator[SketchFixedSpline]: + return None def item(self, index: int) -> SketchFixedSpline: """ Function that returns the specified sketch fixed spline using an index into the collection. @@ -17501,6 +22640,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchLineList: return SketchLineList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchLine: + return None + def __iter__(self) -> Iterator[SketchLine]: + return None def item(self, index: int) -> SketchLine: """ Function that returns the specified sketch line using an index into the collection. @@ -17525,6 +22670,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchLines: return SketchLines() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchLine: + return None + def __iter__(self) -> Iterator[SketchLine]: + return None def item(self, index: int) -> SketchLine: """ Function that returns the specified sketch line using an index into the collection. @@ -17630,6 +22781,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchPointList: return SketchPointList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchPoint: + return None + def __iter__(self) -> Iterator[SketchPoint]: + return None def item(self, index: int) -> SketchPoint: """ Function that returns the specified sketch point using an index into the collection. @@ -17653,6 +22810,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchPoints: return SketchPoints() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchPoint: + return None + def __iter__(self) -> Iterator[SketchPoint]: + return None def item(self, index: int) -> SketchPoint: """ Function that returns the specified sketch using an index into the collection. @@ -17685,6 +22848,14 @@ def __init__(self): @staticmethod def cast(arg) -> SketchTextDefinition: return SketchTextDefinition() + @property + def parentSketchText(self) -> SketchText: + """ + Returns the SketchText object this definition is associated with. This property will + return null in the case the definition object was obtained from a SketchTextInput object + because the SketchText object does not yet exist. + """ + return SketchText() class SketchTextInput(core.Base): """ @@ -17760,20 +22931,6 @@ def text(self, value: str): """ pass @property - def position(self) -> core.Point3D: - """ - Gets and sets the position of the text on the x-y plane of the sketch. The text must lie on the x-y plane so the Z component - of the point is ignored and always treated as zero. - """ - return core.Point3D() - @position.setter - def position(self, value: core.Point3D): - """ - Gets and sets the position of the text on the x-y plane of the sketch. The text must lie on the x-y plane so the Z component - of the point is ignored and always treated as zero. - """ - pass - @property def fontName(self) -> str: """ Gets and sets the name of the font to use. @@ -17786,18 +22943,6 @@ def fontName(self, value: str): """ pass @property - def angle(self) -> float: - """ - Gets and sets the angle of the text relative to the x-axis of the x-y plane of the sketch. - """ - return float() - @angle.setter - def angle(self, value: float): - """ - Gets and sets the angle of the text relative to the x-axis of the x-y plane of the sketch. - """ - pass - @property def textStyle(self) -> TextStyles: """ Gets and sets the text style to apply to the entire text. This is a bitwise enum so styles @@ -17854,6 +22999,12 @@ def __init__(self): @staticmethod def cast(arg) -> SketchTexts: return SketchTexts() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SketchText: + return None + def __iter__(self) -> Iterator[SketchText]: + return None def item(self, index: int) -> SketchText: """ Function that returns the specified sketch text using an index into the collection. @@ -17861,19 +23012,6 @@ def item(self, index: int) -> SketchText: Returns the specified item or null if an invalid index was specified. """ return SketchText() - def createInput(self, formattedText: str, height: float, position: core.Point3D) -> SketchTextInput: - """ - Creates a SketchTextInput object that can be used to define additional settings when creating sketch text. The - SketchTextInput object is equivalent to the Sketch Text dialog in that it collects all of the input required - to create sketch text. Once the properties of the SketchTextInput object have been defined, use the add method - to create the sketch text. - formattedText : The text used for the sketch text. This is a simple string as no additional formatting is currently supported. - height : The height of the text in centimeters. - position : The position of the text on the x-y plane of the sketch. The text must lie on the x-y plane so the Z component - of the point is ignored and always treated as zero. - Returns a SketchTextInput object that can be used to set additional formatting and is used as input to the add method. - """ - return SketchTextInput() def add(self, input: SketchTextInput) -> SketchText: """ Creates a sketch text. @@ -17945,6 +23083,12 @@ def __init__(self): @staticmethod def cast(arg) -> Snapshots: return Snapshots() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Snapshot: + return None + def __iter__(self) -> Iterator[Snapshot]: + return None def add(self) -> Snapshot: """ Creates a new snapshot. Creating a snapshot is only valid when the HasPendingTransforms property returns true. @@ -17988,6 +23132,12 @@ def __init__(self): @staticmethod def cast(arg) -> SphereFeatures: return SphereFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SphereFeature: + return None + def __iter__(self) -> Iterator[SphereFeature]: + return None def item(self, index: int) -> SphereFeature: """ Function that returns the specified sphere feature using an index into the collection. @@ -18097,6 +23247,12 @@ def __init__(self): @staticmethod def cast(arg) -> SplitBodyFeatures: return SplitBodyFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SplitBodyFeature: + return None + def __iter__(self) -> Iterator[SplitBodyFeature]: + return None def item(self, index: int) -> SplitBodyFeature: """ Function that returns the specified split body feature using an index into the collection. @@ -18263,6 +23419,12 @@ def __init__(self): @staticmethod def cast(arg) -> SplitFaceFeatures: return SplitFaceFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SplitFaceFeature: + return None + def __iter__(self) -> Iterator[SplitFaceFeature]: + return None def item(self, index: int) -> SplitFaceFeature: """ Function that returns the specified split face feature using an index into the collection. @@ -18397,6 +23559,12 @@ def __init__(self): @staticmethod def cast(arg) -> StitchFeatures: return StitchFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> StitchFeature: + return None + def __iter__(self) -> Iterator[StitchFeature]: + return None def item(self, index: int) -> StitchFeature: """ Function that returns the specified stitch feature using an index into the collection. @@ -18404,7 +23572,7 @@ def item(self, index: int) -> StitchFeature: Returns the specified item or null if an invalid index was specified. """ return StitchFeature() - def createInput(self, stitchSurfaces: core.ObjectCollection, tolerance: core.ValueInput, operation: FeatureOperations) -> StitchFeatureInput: + def createInput(self, stitchSurfaces: core.ObjectCollection, tolerance: core.ValueInput, operation: FeatureOperations = FeatureOperations.NewBodyFeatureOperation) -> StitchFeatureInput: """ Creates a StitchFeatureInput object. Use properties and methods on this object to define the stitch feature you want to create and then use the Add method, passing in @@ -18459,6 +23627,12 @@ def __init__(self): @staticmethod def cast(arg) -> SurfaceDeleteFaceFeatures: return SurfaceDeleteFaceFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SurfaceDeleteFaceFeature: + return None + def __iter__(self) -> Iterator[SurfaceDeleteFaceFeature]: + return None def item(self, index: int) -> SurfaceDeleteFaceFeature: """ Function that returns the specified SurfaceDeleteFaceFeature object using an index into the collection. @@ -18738,17 +23912,15 @@ def taperAngle(self, value: core.ValueInput): @property def twistAngle(self) -> core.ValueInput: """ - Gets and sets the taper angle of the sweep. This property is initialized with a taper angle of zero. - A negative angle will taper the sweep inward while a positive value will taper - the sweep outward. This property is valid for both parametric and non-parametric extrusions. + Gets and sets the twist angle of the sweep. This property is initialized with a twist angle of zero. + This property is valid for both parametric and non-parametric extrusions. """ return core.ValueInput() @twistAngle.setter def twistAngle(self, value: core.ValueInput): """ - Gets and sets the taper angle of the sweep. This property is initialized with a taper angle of zero. - A negative angle will taper the sweep inward while a positive value will taper - the sweep outward. This property is valid for both parametric and non-parametric extrusions. + Gets and sets the twist angle of the sweep. This property is initialized with a twist angle of zero. + This property is valid for both parametric and non-parametric extrusions. """ pass @property @@ -18776,6 +23948,12 @@ def __init__(self): @staticmethod def cast(arg) -> SweepFeatures: return SweepFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> SweepFeature: + return None + def __iter__(self) -> Iterator[SweepFeature]: + return None def item(self, index: int) -> SweepFeature: """ Function that returns the specified sweep feature using an index into the collection. @@ -18819,6 +23997,269 @@ def count(self) -> int: """ return int() +class TangentRelationship(core.Base): + """ + A tangent relationship in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TangentRelationship: + return TangentRelationship() + def deleteMe(self) -> bool: + """ + Deletes this tangent relationship. + Returns true if the delete is successful. + """ + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> TangentRelationship: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return TangentRelationship() + @property + def parentComponent(self) -> Component: + """ + Returns the parent component that owns this tangent relationship. + """ + return Component() + @property + def name(self) -> str: + """ + Gets and sets the name of the tangent relationship. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of the tangent relationship. + """ + pass + @property + def faceOne(self) -> core.Base: + """ + Gets and sets the first BRepFace object that will remain tangent to the set of specified tangent faces. + + To set this property, you need to position the timeline marker to immediately before this + tangent relationship. This can be accomplished using the following code: + thisTangentRelationship.timelineObject.rollTo(True) + """ + return core.Base() + @faceOne.setter + def faceOne(self, value: core.Base): + """ + Gets and sets the first BRepFace object that will remain tangent to the set of specified tangent faces. + + To set this property, you need to position the timeline marker to immediately before this + tangent relationship. This can be accomplished using the following code: + thisTangentRelationship.timelineObject.rollTo(True) + """ + pass + @property + def tangentFaces(self) -> core.Base: + """ + Gets and sets a single BRepFace object that is part of the body that faceOne will remain + tangent to. All of the faces of the body will be used when computing the tangent relationship. + + To set this property, you need to position the timeline marker to immediately before this + tangent relationship. This can be accomplished using the following code: + thisTangentRelationship.timelineObject.rollTo(True) + """ + return core.Base() + @tangentFaces.setter + def tangentFaces(self, value: core.Base): + """ + Gets and sets a single BRepFace object that is part of the body that faceOne will remain + tangent to. All of the faces of the body will be used when computing the tangent relationship. + + To set this property, you need to position the timeline marker to immediately before this + tangent relationship. This can be accomplished using the following code: + thisTangentRelationship.timelineObject.rollTo(True) + """ + pass + @property + def timelineObject(self) -> TimelineObject: + """ + Returns the timeline object associated with this tangent relationship. + """ + return TimelineObject() + @property + def nativeObject(self) -> TangentRelationship: + """ + The native object is the tangent relationship in the context of the + component it was created within. + + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return TangentRelationship() + @property + def assemblyContext(self) -> Occurrence: + """ + Returns the assembly occurrence (i.e. the occurrence) of this object + in an assembly. This is only valid in the case where this is acting + as a proxy in an assembly. Returns null in the case where the object + is not in the context of an assembly but is already the native object. + """ + return Occurrence() + @property + def isSuppressed(self) -> bool: + """ + Gets and sets if this tangent relationship is suppressed. + """ + return bool() + @isSuppressed.setter + def isSuppressed(self, value: bool): + """ + Gets and sets if this tangent relationship is suppressed. + """ + pass + @property + def attributes(self) -> core.Attributes: + """ + Returns the collection of attributes associated with this tangent relationship. + """ + return core.Attributes() + @property + def healthState(self) -> FeatureHealthStates: + """ + Returns the current health state of the tangent relationship. + """ + return FeatureHealthStates() + @property + def errorOrWarningMessage(self) -> str: + """ + Returns the error or warning message in the case where the healthState property returns either + WarningFeatureHealthState or ErrorFeatureHealthState. Otherwise this property returns an empty string. + """ + return str() + @property + def occurrenceOne(self) -> Occurrence: + """ + Returns the first of two occurrences that this tangent relationship defines a relationship between. + """ + return Occurrence() + @property + def occurrenceTwo(self) -> Occurrence: + """ + Returns the second of two occurrences that this tangent relationship defines a relationship between. + """ + return Occurrence() + @property + def entityToken(self) -> str: + """ + Returns a token for the TangentRelationship object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same tangent relationship. + + When using entity tokens it's important to understand that the token string returned for a + specific entity can be different over time. However, even if you have two different token + strings that were obtained from the same entity, when you use findEntityByToken they + will both return the same entity. Because of that you should never compare entity tokens + as way to determine what the token represents. Instead, you need to use the findEntityByToken + method to get the two entities identified by the tokens and then compare them. + """ + return str() + +class TangentRelationshipInput(core.Base): + """ + Defines all of the information required to create a new tangent relationship. This object provides + equivalent functionality to the Tangent Relationship command dialog in that it gathers the required + information to create a tangent relationship. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TangentRelationshipInput: + return TangentRelationshipInput() + @property + def faceOne(self) -> BRepFace: + """ + Gets and sets the first BRepFace object that will remain tangent to the set of specified tangent faces. + """ + return BRepFace() + @faceOne.setter + def faceOne(self, value: BRepFace): + """ + Gets and sets the first BRepFace object that will remain tangent to the set of specified tangent faces. + """ + pass + @property + def tangentFaces(self) -> core.Base: + """ + Gets and sets a single BRepFace object that is part of the body that faceOne will remain tangent to. All + of the faces of the body will be used when computing the tangent relationship. + """ + return core.Base() + @tangentFaces.setter + def tangentFaces(self, value: core.Base): + """ + Gets and sets a single BRepFace object that is part of the body that faceOne will remain tangent to. All + of the faces of the body will be used when computing the tangent relationship. + """ + pass + +class TangentRelationships(core.Base): + """ + The collection of Tangent Relationships in this component. This provides access to all existing tangent relationships + and supports the ability to create new tangent relationships. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TangentRelationships: + return TangentRelationships() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> TangentRelationship: + return None + def __iter__(self) -> Iterator[TangentRelationship]: + return None + def item(self, index: int) -> TangentRelationship: + """ + Function that returns the specified tangent relationship using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return TangentRelationship() + def createInput(self, faceOne: BRepFace, tangentFaces: core.Base) -> TangentRelationshipInput: + """ + Creates a TangentRelationshipInput object, which is the API equivalent to the Tangent Relationship + command dialog. You use methods and properties on the returned class to set the desired options, + similar to providing input in the Tangent Relationship command dialog. Once the settings are defined + you call the TangentRelationships.add method passing in the TangentRelationshipInput object to create + the actual TangentRelationship. + faceOne : A BRepFace object that will remain tangent to the set of specified tangent faces. + tangentFaces : A single BRepFace object that is part of the body that faceOne will remain tangent to. All + of the faces of the body will be used when computing the tangent relationship. + Returns the TangentRelationshipInput object or null if the creation failed. + """ + return TangentRelationshipInput() + def add(self, input: TangentRelationshipInput) -> TangentRelationship: + """ + Creates a new tangent relationship between two components. + input : The TangentRelationshipInput object that defines the geometry and various inputs that fully define a tangent + relationship. A TangentRelationshipInput object is created using the TangentRelationships.createInput method. + Returns the newly created TangentRelationship or null in the case of failure. + """ + return TangentRelationship() + def itemByName(self, name: str) -> TangentRelationship: + """ + Function that returns the specified tangent relationship using a name. + name : The name of the item within the collection to return. + Returns the specified item or null if an invalid name was specified. + """ + return TangentRelationship() + @property + def count(self) -> int: + """ + Returns number of TangentRelationship objects in the collection. + """ + return int() + class TemporaryBRepManager(core.Base): """ A utility object that provides functionality to create and manipulate B-Rep data outside @@ -18993,29 +24434,22 @@ def createFaceFromPlanarWires(self, wireBodies: list[BRepBody]) -> BRepBody: Returns a BRepBody containing the created BRepFace object or null in the case of failure. """ return BRepBody() - def imprintOverlapBodies(self, bodyOne: BRepBody, bodyTwo: BRepBody, imprintCoincidentEdges: bool, tolerance: float) -> tuple[bool, BRepBody, BRepBody, list[BRepFace], list[BRepFace], list[BRepEdge], list[BRepEdge]]: + def imprintOverlapBodies(self, bodyOne: BRepBody, bodyTwo: BRepBody, imprintCoincidentEdges: bool, tolerance: float = 0.0) -> tuple[bool, BRepBody, BRepBody, list[BRepFace], list[BRepFace], list[BRepEdge], list[BRepEdge]]: """ -

Method that finds regions of faces on two bodies which overlap and creates new bodies where the faces + Method that finds regions of faces on two bodies which overlap and creates new bodies where the faces are split at the edges of the overlaps. This does not modify the original bodies but creates new - temporary bodies that contain the imprints.

- -

The picture below shows an example of imprinting. The picture on the left shows the initial two bodies - that are positioned so there are coincident faces. The picture on the right shows the two bodies individually - so you can see the result of the imprint and how the coincident faces were split.

-


- -

The ability to imprint solids can be important to applications that need to mesh models. By creating edges - at the points where solids connect, it guarantees that there will be mesh nodes along those boundaries.

+ temporary bodies that contain the imprints. bodyOne : Input BRepBody that will participate in the imprint operation. This body can be either a parametric or temporary body. bodyTwo : Input BRepBody that will participate in the imprint operation. This body can be either a parametric or temporary body. - imprintCoincidentEdges :

Input Boolean that indicates if overlapping edges should be included in the result. The picture below + imprintCoincidentEdges : Input Boolean that indicates if overlapping edges should be included in the result. The picture below shows an example of when this argument will make a difference. The two bodies have overlapping faces and there is also an overlapping edge. If this argument is true, then the edge shown in red below will be included in the output as an overlapping edge. If False it will not be included and only - the edges of the overlapping faces will be in the overlapping faces collections.

+ the edges of the overlapping faces will be in the overlapping faces collections.

+ resultBodyOne : Output temporary BRepBody that contains the imprinted body that corresponds to the body provided through the bodyOne argument. resultBodyTwo : Output temporary BRepBody that contains the imprinted body that corresponds to the body provided through the bodyTwo argument. bodyOneOverlappingFaces : Output array of BRepFace objects that represent the overlapping faces that are part of resultBodyOne. Faces at the same index within the @@ -19031,7 +24465,7 @@ def imprintOverlapBodies(self, bodyOne: BRepBody, bodyTwo: BRepBody, imprintCoin Returns true if the imprint calculation was successful. """ return (bool(), BRepBody(), BRepBody(), [BRepFace()], [BRepFace()], [BRepEdge()], [BRepEdge()]) - def createWireFromCurves(self, curves: list[core.Curve3D], allowSelfIntersections: bool) -> tuple[BRepBody, list[BRepEdge]]: + def createWireFromCurves(self, curves: list[core.Curve3D], allowSelfIntersections: bool = False) -> tuple[BRepBody, list[BRepEdge]]: """ Give an array of curve geometry objects, this method creates a new wire body. curves : An array containing the input Curve3D objects. These can be Arc3D, Circle3D, Ellipse3D, EllipticalArc3D or Line3D objects. @@ -19057,22 +24491,6 @@ def createHelixWire(self, axisPoint: core.Point3D, axisVector: core.Vector3D, st """ return BRepBody() -class TextureImage(core.Base): - """ - Provides access to the image data associated with a texture map. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> TextureImage: - return TextureImage() - @property - def transform(self) -> core.Matrix2D: - """ - The transform of the texture image in parametric space. - """ - return core.Matrix2D() - class ThickenFeatureInput(core.Base): """ This class defines the methods and properties that pertain to the definition of a Thicken feature. @@ -19168,6 +24586,24 @@ def targetBaseFeature(self, value: BaseFeature): feature must be in an "edit" state to be able to add any additional items to it. """ pass + @property + def creationOccurrence(self) -> Occurrence: + """ + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the Thicken feature is created based on geometry (e.g. a profile and/or face(s)) + in another component AND (the Thicken feature) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI + """ + return Occurrence() + @creationOccurrence.setter + def creationOccurrence(self, value: Occurrence): + """ + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the Thicken feature is created based on geometry (e.g. a profile and/or face(s)) + in another component AND (the Thicken feature) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI + """ + pass class ThickenFeatures(core.Base): """ @@ -19179,6 +24615,12 @@ def __init__(self): @staticmethod def cast(arg) -> ThickenFeatures: return ThickenFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ThickenFeature: + return None + def __iter__(self) -> Iterator[ThickenFeature]: + return None def item(self, index: int) -> ThickenFeature: """ Function that returns the specified Thicken feature using an index into the collection. @@ -19186,7 +24628,7 @@ def item(self, index: int) -> ThickenFeature: Returns the specified item or null if an invalid index was specified. """ return ThickenFeature() - def createInput(self, inputFaces: core.ObjectCollection, thickness: core.ValueInput, isSymmetric: bool, operation: FeatureOperations, isChainSelection: bool) -> ThickenFeatureInput: + def createInput(self, inputFaces: core.ObjectCollection, thickness: core.ValueInput, isSymmetric: bool, operation: FeatureOperations, isChainSelection: bool = True) -> ThickenFeatureInput: """ Creates a ThickenFeatureInput object. Use properties and methods on this object to define the Thicken feature you want to create and then use the Add method, passing in @@ -19482,6 +24924,12 @@ def __init__(self): @staticmethod def cast(arg) -> ThreadFeatures: return ThreadFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ThreadFeature: + return None + def __iter__(self) -> Iterator[ThreadFeature]: + return None def item(self, index: int) -> ThreadFeature: """ Function that returns the specified thread feature using an index into the collection. @@ -19661,6 +25109,12 @@ def __init__(self): @staticmethod def cast(arg) -> Timeline: return Timeline() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> TimelineObject: + return None + def __iter__(self) -> Iterator[TimelineObject]: + return None def moveToBeginning(self) -> bool: """ Moves the marker to the beginning of the timeline. @@ -19697,7 +25151,10 @@ def item(self, index: int) -> TimelineObject: The items are returned in the order they appear in the timeline. index : The index of the item within the collection to return. The first item in the collection has an index of 0. - Returns the specified item or null if an invalid index was specified. + Returns the specified TimeLineObject or null if an invalid index was specified. A TimeLineObject + represents both a simple timeline object like a feature or sketch, but is also the base class + for the TimelineGroup object. This means the this method can return a TimelineObject or a + TimelineGroup. """ return TimelineObject() def deleteAllAfterMarker(self) -> bool: @@ -19745,6 +25202,12 @@ def __init__(self): @staticmethod def cast(arg) -> TimelineGroups: return TimelineGroups() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> TimelineGroup: + return None + def __iter__(self) -> Iterator[TimelineGroup]: + return None def add(self, startIndex: int, endIndex: int) -> TimelineGroup: """ Creates a new group within the timeline. The sequential set of items defined @@ -19787,7 +25250,7 @@ def rollTo(self, rollBefore: bool) -> bool: Returns true if the move was successful """ return bool() - def canReorder(self, beforeIndex: int) -> bool: + def canReorder(self, beforeIndex: int = -1) -> bool: """ Checks to see if this object can be reordered to the specified position. The default value of -1 indicates the end of the timeline. @@ -19797,10 +25260,11 @@ def canReorder(self, beforeIndex: int) -> bool: Returns true if the object can be reordered to the specified position """ return bool() - def reorder(self, beforeIndex: int) -> bool: + def reorder(self, beforeIndex: int = -1) -> bool: """ Reorders this object to the position specified. The default value of -1 indicates the end of the timeline. + beforeIndex : The index number of the position in the timeline to place this object before Returns true if the reorder operation was successful This method will fail and return false if this is a timelineGroup object and the @@ -19834,7 +25298,9 @@ def index(self) -> int: This property can return -1 in the two cases where this object is not currently represented in the timeline. The two cases are: + 1. When this is a TimelineGroup object and the group is expanded. + 2. When this object is part of a group and the group is collapsed. """ return int() @@ -19856,7 +25322,8 @@ def entity(self) -> core.Base: representing the associated entity and using the methods and properties on that entity to make changes. - Returns null if this is a TimelineGroup object + Returns null if this TimelineObject represents a TimelineGroup object, + since it does not have an associated entity. """ return core.Base() @property @@ -19909,6 +25376,12 @@ def __init__(self): @staticmethod def cast(arg) -> TorusFeatures: return TorusFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> TorusFeature: + return None + def __iter__(self) -> Iterator[TorusFeature]: + return None def item(self, index: int) -> TorusFeature: """ Function that returns the specified torus feature using an index into the collection. @@ -20059,9 +25532,10 @@ def setQuality(self, triangleMeshQuality: TriangleMeshQualityOptions) -> bool: box diameter. Then the surface tolerance is calculated as shown below where the meshLOD is the "Level of Detail" and is described in more detail below. The diameter is the bounding box diameter. - double nodeApproximateSize = std::pow(2.0, meshLOD); - double fracTol = 1.0 / nodeApproximateSize; - surfaceTolerance = fracTol * diameter; + double nodeApproximateSize = std::pow(2.0, meshLOD); + double fracTol = 1.0 / nodeApproximateSize; + surfaceTolerance = fracTol * diameter; + triangleMeshQuality : The mesh quality is specified by using an item from the enum list where the following items result in a corresponding mesh LOD that's used in the equation above. @@ -20156,6 +25630,12 @@ def __init__(self): @staticmethod def cast(arg) -> TriangleMeshList: return TriangleMeshList() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> TriangleMesh: + return None + def __iter__(self) -> Iterator[TriangleMesh]: + return None def item(self, index: int) -> TriangleMesh: """ Returns the specified triangle meshes. @@ -20167,7 +25647,7 @@ def item(self, index: int) -> TriangleMesh: def bestMesh(self) -> TriangleMesh: """ Returns the mesh with the tightest surface tolerance. This can return null - in the case the list is empty, ie. Count is 0. + in the case the list is empty, i.e. Count is 0. """ return TriangleMesh() @property @@ -20253,6 +25733,12 @@ def __init__(self): @staticmethod def cast(arg) -> TrimFeatures: return TrimFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> TrimFeature: + return None + def __iter__(self) -> Iterator[TrimFeature]: + return None def item(self, index: int) -> TrimFeature: """ Function that returns the specified trim feature using an index into the collection. @@ -20309,6 +25795,12 @@ def __init__(self): @staticmethod def cast(arg) -> TSplineBodies: return TSplineBodies() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> TSplineBody: + return None + def __iter__(self) -> Iterator[TSplineBody]: + return None def item(self, index: int) -> TSplineBody: """ Function that returns the specified T-Spline body using an index into the collection. @@ -20402,6 +25894,15 @@ def entityToken(self) -> str: method to get the two entities identified by the tokens and then compare them. """ return str() + @property + def textureMapControl(self) -> core.TextureMapControl: + """ + Returns the TextureMapControl object associated with this body when there is an + appearance assigned to the body that has a texture associated with it. If there + isn't a texture, this property will return null. If there is a texture, you can + use the returned object to query and modify how the texture is applied to the body. + """ + return core.TextureMapControl() class UnfoldFeatures(core.Base): """ @@ -20412,6 +25913,12 @@ def __init__(self): @staticmethod def cast(arg) -> UnfoldFeatures: return UnfoldFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> UnfoldFeature: + return None + def __iter__(self) -> Iterator[UnfoldFeature]: + return None def item(self, index: int) -> UnfoldFeature: """ Function that returns the specified unfold feature using an index into the collection. @@ -20443,6 +25950,12 @@ def __init__(self): @staticmethod def cast(arg) -> UnstitchFeatures: return UnstitchFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> UnstitchFeature: + return None + def __iter__(self) -> Iterator[UnstitchFeature]: + return None def item(self, index: int) -> UnstitchFeature: """ Function that returns the specified Unstitch feature using an index into the collection. @@ -20450,7 +25963,7 @@ def item(self, index: int) -> UnstitchFeature: Returns the specified item or null if an invalid index was specified. """ return UnstitchFeature() - def add(self, faces: core.ObjectCollection, isChainSelection: bool) -> UnstitchFeature: + def add(self, faces: core.ObjectCollection, isChainSelection: bool = True) -> UnstitchFeature: """ Creates a new Unstitch feature. faces : The faces and/or bodies to Unstitch. Individual faces can be unstitched from solid and/or patch bodies. The faces being unstitched @@ -20547,6 +26060,12 @@ def __init__(self): @staticmethod def cast(arg) -> UntrimFeatures: return UntrimFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> UntrimFeature: + return None + def __iter__(self) -> Iterator[UntrimFeature]: + return None def item(self, index: int) -> UntrimFeature: """ Function that returns the specified Untrim feature using an index into the collection. @@ -20554,7 +26073,7 @@ def item(self, index: int) -> UntrimFeature: Returns the specified item or null if an invalid index was specified. """ return UntrimFeature() - def createInputFromFaces(self, faces: list[BRepFace], untrimLoopType: UntrimLoopTypes, extensionDistance: core.ValueInput) -> UntrimFeatureInput: + def createInputFromFaces(self, faces: list[BRepFace], untrimLoopType: UntrimLoopTypes, extensionDistance: core.ValueInput = None) -> UntrimFeatureInput: """ Creates a UntrimFeatureInput object that defines the input needed to create a untrim feature. Use the input object to define the input to create the desired feature and then use the Add method, passing in the UntrimFeatureInput object. @@ -20566,7 +26085,7 @@ def createInputFromFaces(self, faces: list[BRepFace], untrimLoopType: UntrimLoop Returns the newly created UntrimFeatureInput object or null if the creation failed. """ return UntrimFeatureInput() - def createInputFromLoops(self, loops: list[BRepLoop], extensionDistance: core.ValueInput) -> UntrimFeatureInput: + def createInputFromLoops(self, loops: list[BRepLoop], extensionDistance: core.ValueInput = None) -> UntrimFeatureInput: """ Creates a UntrimFeatureInput object that defines the input needed to create a untrim feature. Use the input object to define the input to create the desired feature and then use the Add method, passing in the UntrimFeatureInput object. @@ -20610,6 +26129,12 @@ def __init__(self): @staticmethod def cast(arg) -> UserParameters: return UserParameters() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> UserParameter: + return None + def __iter__(self) -> Iterator[UserParameter]: + return None def item(self, index: int) -> UserParameter: """ Function that returns the specified User Parameter using an index into the collection. @@ -20677,6 +26202,12 @@ def __init__(self): @staticmethod def cast(arg) -> WebFeatures: return WebFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> WebFeature: + return None + def __iter__(self) -> Iterator[WebFeature]: + return None def item(self, index: int) -> WebFeature: """ Function that returns the specified web feature using an index into the collection. @@ -20698,30 +26229,82 @@ def count(self) -> int: """ return int() -class AllExtentDefinition(ExtentDefinition): +class ZebraAnalyses(core.Base): """ - Defines the inputs for a AllExtentDefinition object. - This defines a feature extent where the direction can be positive, negative, or symmetric. - Setting the direction to Symmetric specifies that the extrusion is through-all, - and goes in both directions. + Provides access to any zebra analyses results in the design. """ def __init__(self): pass @staticmethod - def cast(arg) -> AllExtentDefinition: - return AllExtentDefinition() + def cast(arg) -> ZebraAnalyses: + return ZebraAnalyses() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ZebraAnalysis: + return None + def __iter__(self) -> Iterator[ZebraAnalysis]: + return None + def item(self, index: int) -> ZebraAnalysis: + """ + A method that returns the specified ZebraAnalysis object using an index into the collection. + index : The index of the item within the collection to return. The first item in the collection + has an index of 0. + Returns the specified item or null if an invalid index was specified. + """ + return ZebraAnalysis() + def itemByName(self, name: str) -> ZebraAnalysis: + """ + A method that returns the specified ZebraAnalysis object using the name of the analysis + as it is displayed in the browser. + name : The name of the ZebraAnalysis object as it is displayed in the browser. + Returns the specified item or null if an invalid name was specified. + """ + return ZebraAnalysis() @property - def direction(self) -> ExtentDirections: + def count(self) -> int: """ - Gets and sets the direction of the extent. + Returns the number of ZebraAnalysis objects in the collection. """ - return ExtentDirections() - @direction.setter - def direction(self, value: ExtentDirections): + return int() + +class AccessibilityAnalysis(Analysis): + """ + Represents any existing Accessibility Analysis that exist in the design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AccessibilityAnalysis: + return AccessibilityAnalysis() + +class AlongEdgeRipFeatureDefinition(RipFeatureDefinition): + """ + The definition for an along edge rip. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AlongEdgeRipFeatureDefinition: + return AlongEdgeRipFeatureDefinition() + @property + def ripEdge(self) -> BRepEdge: + """ + Gets and sets the input edge for an along edge rip. + """ + return BRepEdge() + @ripEdge.setter + def ripEdge(self, value: BRepEdge): """ - Gets and sets the direction of the extent. + Gets and sets the input edge for an along edge rip. """ pass + @property + def gapDistance(self) -> ModelParameter: + """ + Gets the ModelParameter that defines the gap distance of the rip. + The value can be edited by using the properties of the returned ModelParameter object. + """ + return ModelParameter() class AlongPathTextDefinition(SketchTextDefinition): """ @@ -21109,11 +26692,454 @@ def meshBodies(self) -> list[MeshBody]: def nativeObject(self) -> BaseFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ return BaseFeature() + @property + def sourceBodies(self) -> list[BRepBody]: + """ + Returns the B-Rep bodies owned by the base feature. + + When a body is added to a base feature, that body is owned by the base feature + and is only seen in the UI when the base feature is active. This body is referred + to as a "source body". Fusion creates a parametric copy of the body when you + exit the base feature. This copy is referred to as the "result body," and it + is used for subsequent modeling operations. The result bodies can be obtained by + using the bodies property of the BaseFeature object. + + You can map between the source and result bodies by using their position + within the bodies returned. To get a valid list of result bodies, you should + roll the timeline to immediately after the base feature node in the timeline. + Otherwise, subsequent operations could have done something to cause one or + more bodies to no longer be available. + """ + return [BRepBody()] + +class BetweenPointsRipFeatureDefinition(RipFeatureDefinition): + """ + The definition for an along edge rip. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BetweenPointsRipFeatureDefinition: + return BetweenPointsRipFeatureDefinition() + @property + def pointOneEntity(self) -> core.Base: + """ + Gets and sets the BRepEdge or BRepVertex that defines the first point for a between points rip. + If a BRepEdge is returned the pointOneOffset property will control the position of the point along the edge. + """ + return core.Base() + @pointOneEntity.setter + def pointOneEntity(self, value: core.Base): + """ + Gets and sets the BRepEdge or BRepVertex that defines the first point for a between points rip. + If a BRepEdge is returned the pointOneOffset property will control the position of the point along the edge. + """ + pass + @property + def pointTwoEntity(self) -> core.Base: + """ + Gets and sets the BRepEdge or BRepVertex that defines the second point for a between points rip. + If a BRepEdge is returned the pointTwoOffset property will control the position of the point along the edge. + """ + return core.Base() + @pointTwoEntity.setter + def pointTwoEntity(self, value: core.Base): + """ + Gets and sets the BRepEdge or BRepVertex that defines the second point for a between points rip. + If a BRepEdge is returned the pointTwoOffset property will control the position of the point along the edge. + """ + pass + @property + def pointOneOffset(self) -> ModelParameter: + """ + Gets the ModelParameter that defines the offset for the first point of a between points rip. + This is the physical distance from the topological start of the edge. + If the offset is either negative, or exceeds the edge length, + then the point will be taken as the corresponding vertex of the edge. + Returns null if the first point is defined by a vertex. + The value can be edited by using the properties of the returned ModelParameter object. + """ + return ModelParameter() + @property + def pointTwoOffset(self) -> ModelParameter: + """ + Gets the ModelParameter that defines the offset for the second point of a between points rip. + This is the physical distance from the topological start of the edge. + If the offset is either negative, or exceeds the edge length, + then the point will be taken as the corresponding vertex of the edge. + Returns null if the first point is defined by a vertex. + The value can be edited by using the properties of the returned ModelParameter object. + """ + return ModelParameter() + @property + def gapDistance(self) -> ModelParameter: + """ + Gets the ModelParameter that defines the gap distance of the rip. + The value can be edited by using the properties of the returned ModelParameter object. + """ + return ModelParameter() + +class BossFeature(Feature): + """ + Object that represents an existing boss feature in a design. + For history free model this interface has limited functionality. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BossFeature: + return BossFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> BossFeature: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return BossFeature() + def createInput(self) -> BossFeatureInput: + """ + Creates object with inputs this feature represents. + To use this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True). + Returns BossFeatureInput this feature represent if successful. + """ + return BossFeatureInput() + def update(self, input: BossFeatureInput) -> bool: + """ + Changes the boss feature (or boss connection) to the input provided. + To use this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True). + input : The object defines inputs the feature will be set to. + Returns true if successful. + """ + return bool() + @property + def nativeObject(self) -> BossFeature: + """ + The NativeObject is the object outside the context of an assembly and + in the context of its parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return BossFeature() + @property + def direction(self) -> core.Vector3D: + """ + Returns the direction of the boss feature with respect to selected position point. + For selected sketch point this direction represents a Z-axis of the sketch. + """ + return core.Vector3D() + @property + def isDirectionFlipped(self) -> bool: + """ + Gets and sets if the direction of the boss (or boss connection) is flipped. + """ + return bool() + @isDirectionFlipped.setter + def isDirectionFlipped(self, value: bool): + """ + Gets and sets if the direction of the boss (or boss connection) is flipped. + """ + pass + @property + def isGeometryOpposite(self) -> bool: + """ + Gets if this boss feature instance represents a bottom side where screw thread engages with the part. + If this feature instance represents a geometry where screw head engages it returns false. + """ + return bool() + @property + def shapeType(self) -> BossShapeTypes: + """ + Returns the current boss shape this feature represents. + """ + return BossShapeTypes() + @property + def alignmentType(self) -> BossAlignmentTypes: + """ + Returns the current boss alignment shape this feature represents. + """ + return BossAlignmentTypes() + @property + def holeType(self) -> HoleTypes: + """ + Returns the current type of hole this feature represents. + """ + return HoleTypes() + @property + def holeExtentType(self) -> BossHoleExtentTypes: + """ + Returns the current type of hole extent this feature represents. + """ + return BossHoleExtentTypes() + @property + def ribType(self) -> BossRibShapeTypes: + """ + Returns the current type of ribs shape this feature represents. + """ + return BossRibShapeTypes() + @property + def positionDefinition(self) -> BossPositionDefinition: + """ + Returns a BossPositionDefinition object that provides access to the information used + to define the position of the boss feature. + """ + return BossPositionDefinition() + @property + def thickness(self) -> ModelParameter: + """ + Returns the model parameter for thickness - plastic part rule reference. + """ + return ModelParameter() + @property + def taperAngle(self) -> ModelParameter: + """ + Returns the model parameter for taper angle - plastic part rule reference. + """ + return ModelParameter() + @property + def innerRadius(self) -> ModelParameter: + """ + Returns the model parameter for inner radius - reference for parametric expressions. + """ + return ModelParameter() + @property + def screwDiameter(self) -> ModelParameter: + """ + Returns the model parameter for screw diameter - reference for parametric expressions. + """ + return ModelParameter() + @property + def screwHeadDiameter(self) -> ModelParameter: + """ + Returns the model parameter for screw head diameter - reference for parametric expressions. + """ + return ModelParameter() + @property + def screwHeadAngle(self) -> ModelParameter: + """ + Returns the model parameter for countersink head angle - reference for parametric expressions. + """ + return ModelParameter() + @property + def offset(self) -> ModelParameter: + """ + Returns the model parameter controlling the offset from the selected parting plane. + """ + return ModelParameter() + @property + def offsetClearance(self) -> ModelParameter: + """ + Returns the model parameter controlling the offset clearance from the selected parting plane and offset. + """ + return ModelParameter() + @property + def diameter(self) -> ModelParameter: + """ + Returns the model parameter controlling the shank diameter. + """ + return ModelParameter() + @property + def draftAngle(self) -> ModelParameter: + """ + Returns the model parameter controlling the shank draft angle. + """ + return ModelParameter() + @property + def alignmentDiameter(self) -> ModelParameter: + """ + Returns the model parameter controlling the step diameter used for alignment of its counterparts. + """ + return ModelParameter() + @property + def alignmentDepth(self) -> ModelParameter: + """ + Returns the model parameter controlling the step depth used for alignment of its counterparts. + """ + return ModelParameter() + @property + def alignmentDraftAngle(self) -> ModelParameter: + """ + Returns the model parameter controlling the step draft angle. + """ + return ModelParameter() + @property + def holeDiameter(self) -> ModelParameter: + """ + Returns the model parameter controlling the hole diameter. + """ + return ModelParameter() + @property + def holeDraftAngle(self) -> ModelParameter: + """ + Returns the model parameter controlling hole draft angle. + """ + return ModelParameter() + @property + def holeDepth(self) -> ModelParameter: + """ + Returns the model parameter controlling the hole depth with respect to hole extent type. + If hole extent type is set to BossHoleThrough parameter not used. If hole extent type is BossBlindFull + the parameter is a distance from farthest face. If hole extent type is set to BossBlindDepth the parameter + is a distance from start face of the hole. + """ + return ModelParameter() + @property + def holeMajorDiameter(self) -> ModelParameter: + """ + Returns the model parameter controlling major hole diameter for counterbore and countersink hole. + If hole type is set to simple hole or boss shape is to BossBlank this parameter is unused. + """ + return ModelParameter() + @property + def holeMajorDepth(self) -> ModelParameter: + """ + Returns the model parameter controlling major hole depth for counterbore and countersink hole. + If hole type is set to simple hole or boss shape is to BossBlank this parameter is unused. + """ + return ModelParameter() + @property + def holeMajorDraftAngle(self) -> ModelParameter: + """ + Returns the model parameter controlling major hole draft angle for counterbore and countersink hole. + If hole type is set to simple hole or boss shape is to BossBlank this parameter is unused. + """ + return ModelParameter() + @property + def holeCountersinkAngle(self) -> ModelParameter: + """ + Returns the model parameter controlling countersink angle for countersink hole. + If hole type is not set to countersink hole or boss shape is to BossBlank this parameter is unused. + """ + return ModelParameter() + @property + def rootRadius(self) -> ModelParameter: + """ + Returns the model parameter controlling blend radius of the boss shank. + """ + return ModelParameter() + @property + def tipRadius(self) -> ModelParameter: + """ + Returns the model parameter controlling blend radius of the boss shank top face. + """ + return ModelParameter() + @property + def alignmentTipRadius(self) -> ModelParameter: + """ + Returns the model parameter controlling blend radius of the boss alignment top face. + """ + return ModelParameter() + @property + def alignmentRootRadius(self) -> ModelParameter: + """ + Returns the model parameter controlling blend radius of the boss alignment root. + """ + return ModelParameter() + @property + def holeStartRadius(self) -> ModelParameter: + """ + Returns the model parameter controlling blend radius of the hole start. + """ + return ModelParameter() + @property + def holeEndRadius(self) -> ModelParameter: + """ + Returns the model parameter controlling blend radius of the hole end. + """ + return ModelParameter() + @property + def holeMajorTipRadius(self) -> ModelParameter: + """ + Returns the model parameter controlling blend radius of major hole counterbore. + """ + return ModelParameter() + @property + def holeMajorRootRadius(self) -> ModelParameter: + """ + Returns the model parameter controlling blend radius of major hole counterbore root. + """ + return ModelParameter() + @property + def ribLength(self) -> ModelParameter: + """ + Returns the model parameter controlling ribs length measured from the shank axis. + """ + return ModelParameter() + @property + def ribOffset(self) -> ModelParameter: + """ + Returns the model parameter controlling ribs offset from the top face or alignment face. + """ + return ModelParameter() + @property + def ribThickness(self) -> ModelParameter: + """ + Returns the model parameter controlling ribs thickness. + """ + return ModelParameter() + @property + def ribDraftAngle(self) -> ModelParameter: + """ + Returns the model parameter controlling ribs draft angle. + """ + return ModelParameter() + @property + def ribOuterDraftAngle(self) -> ModelParameter: + """ + Returns the model parameter controlling size of rib outer draft angle. + """ + return ModelParameter() + @property + def ribCutSize(self) -> ModelParameter: + """ + Returns the model parameter controlling size of rib chamfer or fillet. + """ + return ModelParameter() + @property + def ribChamferAngle(self) -> ModelParameter: + """ + Returns the model parameter controlling size of rib chamfer angle. + """ + return ModelParameter() + @property + def ribTipRadius(self) -> ModelParameter: + """ + Returns the model parameter controlling size of rib tip blend radius. + """ + return ModelParameter() + @property + def ribBlendRadius(self) -> ModelParameter: + """ + Returns the model parameter controlling size of rib root blend radius. + """ + return ModelParameter() + @property + def ribRotation(self) -> ModelParameter: + """ + Returns the model parameter controlling rotation angle of the first rib from the reference vector. + For selected sketch point(s) the direction of reference vector is X-axis of the parent sketch. + """ + return ModelParameter() + @property + def ribTotalAngle(self) -> ModelParameter: + """ + Returns the model parameter controlling total angle for ribs distribution. + """ + return ModelParameter() + @property + def ribCount(self) -> ModelParameter: + """ + Returns the model parameter controlling number of ribs. + """ + return ModelParameter() class BoundaryFillFeature(Feature): """ @@ -21190,11 +27216,29 @@ def operation(self, value: FeatureOperations): def nativeObject(self) -> BoundaryFillFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ return BoundaryFillFeature() + @property + def isRemoveTools(self) -> bool: + """ + Gets and sets whether any BRepBodys that were used as tools should be removed as part of the feature creation. + + To set this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + return bool() + @isRemoveTools.setter + def isRemoveTools(self, value: bool): + """ + Gets and sets whether any BRepBodys that were used as tools should be removed as part of the feature creation. + + To set this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass class BoxFeature(Feature): """ @@ -21220,7 +27264,7 @@ def isOneFilePerBody(self) -> bool: """ If the input is an Occurrence or the root Component, this specifies if a single file should be created containing all of the bodies within that occurrence or component or if multiple files should be created; one for each body. - If multiple files are created, the body name is appended to the filename. The default is false. + If multiple files are created, the body name is appended to the filename. The default is false. """ return bool() @isOneFilePerBody.setter @@ -21228,31 +27272,31 @@ def isOneFilePerBody(self, value: bool): """ If the input is an Occurrence or the root Component, this specifies if a single file should be created containing all of the bodies within that occurrence or component or if multiple files should be created; one for each body. - If multiple files are created, the body name is appended to the filename. The default is false. + If multiple files are created, the body name is appended to the filename. The default is false. """ pass @property def meshRefinement(self) -> MeshRefinementSettings: """ - Gets and sets the current simple mesh refinement settings. Setting this property + Gets and sets the current simple mesh refinement settings. Setting this property will reset the surfaceDeviation, normalDeviation, maximumEdgeLength, and aspectRatio - to values that correspond to the specified mesh refinement. The default is MeshRefinementMedium + to values that correspond to the specified mesh refinement. The default is MeshRefinementMedium. """ return MeshRefinementSettings() @meshRefinement.setter def meshRefinement(self, value: MeshRefinementSettings): """ - Gets and sets the current simple mesh refinement settings. Setting this property + Gets and sets the current simple mesh refinement settings. Setting this property will reset the surfaceDeviation, normalDeviation, maximumEdgeLength, and aspectRatio - to values that correspond to the specified mesh refinement. The default is MeshRefinementMedium + to values that correspond to the specified mesh refinement. The default is MeshRefinementMedium. """ pass @property def surfaceDeviation(self) -> float: """ Gets and sets the current surface deviation, or the distance the mesh can deviate - from the actual surface. This is defined in centimeter. Setting this property - will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + from the actual surface. This is defined in centimeter. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value associated with medium mesh refinement. """ return float() @@ -21260,8 +27304,8 @@ def surfaceDeviation(self) -> float: def surfaceDeviation(self, value: float): """ Gets and sets the current surface deviation, or the distance the mesh can deviate - from the actual surface. This is defined in centimeter. Setting this property - will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + from the actual surface. This is defined in centimeter. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value associated with medium mesh refinement. """ pass @@ -21269,8 +27313,8 @@ def surfaceDeviation(self, value: float): def normalDeviation(self) -> float: """ Gets and sets the current normal deviation, or the angle the mesh normals at the vertices can deviate - from the actual surface normals. This is defined in radians. Setting this property - will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + from the actual surface normals. This is defined in radians. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value associated with medium mesh refinement. """ return float() @@ -21278,47 +27322,47 @@ def normalDeviation(self) -> float: def normalDeviation(self, value: float): """ Gets and sets the current normal deviation, or the angle the mesh normals at the vertices can deviate - from the actual surface normals. This is defined in radians. Setting this property - will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + from the actual surface normals. This is defined in radians. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value associated with medium mesh refinement. """ pass @property def maximumEdgeLength(self) -> float: """ - Gets and sets the maximum length of any mesh edge. This is defined in centimeter. Setting this property - will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + Gets and sets the maximum length of any mesh edge. This is defined in centimeter. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value associated with medium mesh refinement. """ return float() @maximumEdgeLength.setter def maximumEdgeLength(self, value: float): """ - Gets and sets the maximum length of any mesh edge. This is defined in centimeter. Setting this property - will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + Gets and sets the maximum length of any mesh edge. This is defined in centimeter. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value associated with medium mesh refinement. """ pass @property def aspectRatio(self) -> float: """ - Gets and sets the minimum aspect ratio for that triangles that are generated for the mesh. Setting this property - will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + Gets and sets the minimum aspect ratio for that triangles that are generated for the mesh. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value associated with medium mesh refinement. """ return float() @aspectRatio.setter def aspectRatio(self, value: float): """ - Gets and sets the minimum aspect ratio for that triangles that are generated for the mesh. Setting this property - will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + Gets and sets the minimum aspect ratio for that triangles that are generated for the mesh. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value associated with medium mesh refinement. """ pass @property def availablePrintUtilities(self) -> list[str]: """ - Returns a list of the known available print utilities. These strings can be used to set the PrintUtility + Returns a list of the known available print utilities. These strings can be used to set the PrintUtility property to specify which print utility to open the 3MF file in. """ return [str()] @@ -21345,14 +27389,14 @@ def printUtility(self, value: str): @property def sendToPrintUtility(self) -> bool: """ - Gets and sets whether the created 3MF file will be sent to the print utility specified by the printUtility property. If this + Gets and sets whether the created 3MF file will be sent to the print utility specified by the printUtility property. If this is false a filename must be defined. """ return bool() @sendToPrintUtility.setter def sendToPrintUtility(self, value: bool): """ - Gets and sets whether the created 3MF file will be sent to the print utility specified by the printUtility property. If this + Gets and sets whether the created 3MF file will be sent to the print utility specified by the printUtility property. If this is false a filename must be defined. """ pass @@ -21366,50 +27410,6 @@ def __init__(self): @staticmethod def cast(arg) -> ChamferFeature: return ChamferFeature() - def setEqualDistance(self, distance: core.ValueInput) -> bool: - """ - Changes the type of chamfer to be an equal distance chamfer. - distance : A ValueInput object that defines the distance of the chamfer. If the ValueInput uses - a real then it is interpreted as centimeters. If it is a string then the units - can be defined as part of the string (i.e. "2 in"). If no units are specified - it is interpreted using the current default units for length. - Returns true if the feature is successfully changed - """ - return bool() - def setTwoDistances(self, distanceOne: core.ValueInput, distanceTwo: core.ValueInput) -> bool: - """ - Changes the type of chamfer to be a two distances chamfer. - distanceOne : A ValueInput object that defines the distanceOne of the chamfer. This distance - is along the face which is on the left of the selected edge. - If the ValueInput uses a real then it is interpreted as centimeters. - If it is a string then the units can be defined as part of the string (i.e. "2 in"). - If no units are specified it is interpreted using the current default units for length. - distanceTwo : A ValueInput object that defines the distanceTwo of the chamfer. This distance - is along the face which is on the right of the selected edge. - If the ValueInput uses a real then it is interpreted as centimeters. - If it is a string then the units can be defined as part of the string (i.e. "2 in"). - If no units are specified it is interpreted using the current default units for length. - Returns true if the feature is successfully changed - """ - return bool() - def setDistanceAndAngle(self, distance: core.ValueInput, angle: core.ValueInput) -> bool: - """ - Changes the type of chamfer to be a distance and angle chamfer. - distance : A ValueInput object that defines the distance of the chamfer. This distance - is along the face which is on the right of the selected edge. - If the ValueInput uses a real then it is interpreted as centimeters. - If it is a string then the units can be defined as part of the string (i.e. "2 in"). - If no units are specified it is interpreted using the current default units for length. - angle : A valueInput object that defines the angle. The direction will be towards to the face - which is on the left of the selected edge. This can be a string or a value. - If it's a string it is interpreted using the current document units and can include - equations. For example all of the following are valid as long as they result in - angle units; "45", "45 deg", "a1 / 2". If a value is input it is interpreted - as radians. - It cannot be negative. - Returns true if the feature is successfully changed - """ - return bool() def createForAssemblyContext(self, occurrence: Occurrence) -> ChamferFeature: """ Creates or returns a proxy for the native object @@ -21420,74 +27420,10 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> ChamferFeature: """ return ChamferFeature() @property - def edges(self) -> core.ObjectCollection: - """ - Gets and sets the edges being chamfered. Specific edges can be defined using one or more BRepEdge - objects or BRepFace objects can be used to chamfer all edges of the face or Feature objects can - be used to chamfer all edges associated with the input features. If BRepEdge objects are provided - and the isTangentChain argument is true additional edges may also get chamfered if they are - tangentially connected to any of the input edges. When getting the property, your - code should check for the different types in the returned collection and handle it appropriately. - - To use this property, you need to position the timeline marker to immediately before this feature. - This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) - - This property returns nothing in the case where the feature is non-parametric. - """ - return core.ObjectCollection() - @edges.setter - def edges(self, value: core.ObjectCollection): - """ - Gets and sets the edges being chamfered. Specific edges can be defined using one or more BRepEdge - objects or BRepFace objects can be used to chamfer all edges of the face or Feature objects can - be used to chamfer all edges associated with the input features. If BRepEdge objects are provided - and the isTangentChain argument is true additional edges may also get chamfered if they are - tangentially connected to any of the input edges. When getting the property, your - code should check for the different types in the returned collection and handle it appropriately. - - To use this property, you need to position the timeline marker to immediately before this feature. - This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) - - This property returns nothing in the case where the feature is non-parametric. - """ - pass - @property - def isTangentChain(self) -> bool: - """ - Gets and sets whether or not edges that are tangentially connected to - the input edges (if any) will also be chamfered. - """ - return bool() - @isTangentChain.setter - def isTangentChain(self, value: bool): - """ - Gets and sets whether or not edges that are tangentially connected to - the input edges (if any) will also be chamfered. - """ - pass - @property - def chamferType(self) -> ChamferTypes: - """ - Gets an enum indicating how the chamfer was defined. The valid return values are - EqualDistanceType, TwoDistancesType and DistanceAndAngleType. - This property returns nothing in the case where the feature is non-parametric. - """ - return ChamferTypes() - @property - def chamferTypeDefinition(self) -> ChamferTypeDefinition: - """ - Gets the definition object that is defining the type of chamfer. Modifying the - definition object will cause the chamfer to recompute. Various types of definition objects can - be returned depending on how the chamfer is defined. The ChamferType property can - be used to determine which type of definition will be returned. - This property returns nothing in the case where the feature is non-parametric. - """ - return ChamferTypeDefinition() - @property def nativeObject(self) -> ChamferFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -21523,7 +27459,9 @@ def cast(arg) -> ChordLengthFilletEdgeSet: @property def edges(self) -> core.ObjectCollection: """ - Gets and sets the edges that will be filleted. + Gets and sets an ObjectCollection containing the BRepEdge, BRepFace, and Feature that are filleted. + If the isTangentChain argument is true additional edges or faces may also get filleted if they are tangentially + connected to any of the input edges or faces. To use this property, you need to position the timeline marker to immediately before this feature. This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) @@ -21532,7 +27470,9 @@ def edges(self) -> core.ObjectCollection: @edges.setter def edges(self, value: core.ObjectCollection): """ - Gets and sets the edges that will be filleted. + Gets and sets an ObjectCollection containing the BRepEdge, BRepFace, and Feature that are filleted. + If the isTangentChain argument is true additional edges or faces may also get filleted if they are tangentially + connected to any of the input edges or faces. To use this property, you need to position the timeline marker to immediately before this feature. This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) @@ -21546,6 +27486,34 @@ def chordLength(self) -> ModelParameter: """ return ModelParameter() +class ChordLengthFilletEdgeSetInput(FilletEdgeSetInput): + """ + Provides access to the edges and the parameter associated with a chord length fillet. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ChordLengthFilletEdgeSetInput: + return ChordLengthFilletEdgeSetInput() + @property + def chordLength(self) -> core.ValueInput: + """ + Gets and sets a ValueInput object that defines the chord length of the fillet. If the + ValueInput uses a real value then it is interpreted as centimeters. If it is a string + then the units can be defined as part of the string (i.e. "2 in") or if no units are + specified it is interpreted using the current document units for length. + """ + return core.ValueInput() + @chordLength.setter + def chordLength(self, value: core.ValueInput): + """ + Gets and sets a ValueInput object that defines the chord length of the fillet. If the + ValueInput uses a real value then it is interpreted as centimeters. If it is a string + then the units can be defined as part of the string (i.e. "2 in") or if no units are + specified it is interpreted using the current document units for length. + """ + pass + class CircularPatternConstraint(GeometricConstraint): """ A circular pattern constraint in a sketch. @@ -21555,6 +27523,101 @@ def __init__(self): @staticmethod def cast(arg) -> CircularPatternConstraint: return CircularPatternConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> CircularPatternConstraint: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return CircularPatternConstraint() + @property + def entities(self) -> list[SketchEntity]: + """ + Gets and sets the entities to pattern. Sketch points and curves are valid + entities to pattern. + """ + return [SketchEntity()] + @entities.setter + def entities(self, value: list[SketchEntity]): + """ + Gets and sets the entities to pattern. Sketch points and curves are valid + entities to pattern. + """ + pass + @property + def createdEntities(self) -> list[SketchEntity]: + """ + Returns an array that contains all of the sketch entities that were created as a result + of the pattern. This does not contain the original entities that were used as input to + the pattern. The input entities can be obtained by using the entities property. + """ + return [SketchEntity()] + @property + def centerPoint(self) -> SketchPoint: + """ + Gets and sets the sketch point that defines the center of the pattern. + """ + return SketchPoint() + @centerPoint.setter + def centerPoint(self, value: SketchPoint): + """ + Gets and sets the sketch point that defines the center of the pattern. + """ + pass + @property + def quantity(self) -> ModelParameter: + """ + Returns the parameter that controls the number of instances in the pattern. To change + the value, use the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def totalAngle(self) -> ModelParameter: + """ + Returns the parameter that controls the number of instances in the pattern. A positive + angle is a counter-clockwise direction and a negative angle can be used to reverse the direction. + An angle of 360 degrees or 2 pi radians will create a full circular pattern. + """ + return ModelParameter() + @property + def isSymmetric(self) -> bool: + """ + Gets and sets if the angle extent is in one direction or is symmetric. + """ + return bool() + @isSymmetric.setter + def isSymmetric(self, value: bool): + """ + Gets and sets if the angle extent is in one direction or is symmetric. + """ + pass + @property + def isSuppressed(self) -> list[bool]: + """ + Specifies which, if any, instances of the pattern are suppressed. This returns an + array of Boolean values that indicates if a particular instance in the pattern is + suppressed or not. A value of true will result in the associated instance being suppressed. + """ + return [bool()] + @isSuppressed.setter + def isSuppressed(self, value: list[bool]): + """ + Specifies which, if any, instances of the pattern are suppressed. This returns an + array of Boolean values that indicates if a particular instance in the pattern is + suppressed or not. A value of true will result in the associated instance being suppressed. + """ + pass + @property + def nativeObject(self) -> CircularPatternConstraint: + """ + The NativeObject is the object outside the context of an assembly and + in the context of it's parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return CircularPatternConstraint() class CircularPatternFeature(Feature): """ @@ -21687,7 +27750,7 @@ def resultFeatures(self) -> core.ObjectCollection: def nativeObject(self) -> CircularPatternFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -21770,6 +27833,46 @@ def nativeObject(self) -> CoincidentConstraint: """ return CoincidentConstraint() +class CoincidentToSurfaceConstraint(GeometricConstraint): + """ + A sketch constraint defining that a point is coincident to a surface. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CoincidentToSurfaceConstraint: + return CoincidentToSurfaceConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> CoincidentToSurfaceConstraint: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return CoincidentToSurfaceConstraint() + @property + def point(self) -> SketchPoint: + """ + Returns the sketch point that is constrained. + """ + return SketchPoint() + @property + def surface(self) -> core.Base: + """ + Returns the BRepFace or ConstructionPlane the point is constrained to. + """ + return core.Base() + @property + def nativeObject(self) -> CoincidentToSurfaceConstraint: + """ + The NativeObject is the object outside the context of an assembly and + in the context of it's parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return CoincidentToSurfaceConstraint() + class CollinearConstraint(GeometricConstraint): """ A collinear constraint in a sketch. @@ -21913,7 +28016,7 @@ def isKeepToolBodies(self, value: bool): def nativeObject(self) -> CombineFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -21930,7 +28033,7 @@ def __init__(self): @staticmethod def cast(arg) -> Component: return Component() - def createOpenProfile(self, curves: core.Base, chainCurves: bool) -> Profile: + def createOpenProfile(self, curves: core.Base, chainCurves: bool = True) -> Profile: """ Creates an open profile based on the input curve(s). curves : A SketchCurve or an ObjectCollection containing multiple sketch entities. If a single sketch curve @@ -21946,7 +28049,7 @@ def createOpenProfile(self, curves: core.Base, chainCurves: bool) -> Profile: Returns the new Profile object or null in the case of a failure. """ return Profile() - def createBRepEdgeProfile(self, edges: core.Base, chainEdges: bool) -> Profile: + def createBRepEdgeProfile(self, edges: core.Base, chainEdges: bool = True) -> Profile: """ Creates a profile based on the outside open edges of a BRepFace. edges : A single BRepEdge object or an ObjectCollection containing multiple BRepEdge objects, or a BRepLoop object. If a single edge @@ -21974,7 +28077,7 @@ def saveCopyAs(self, name: str, dataFolder: core.DataFolder, description: str, t resulting DataFile once it's available on A360. """ return core.DataFileFuture() - def getPhysicalProperties(self, accuracy: CalculationAccuracy) -> PhysicalProperties: + def getPhysicalProperties(self, accuracy: CalculationAccuracy = CalculationAccuracy.LowCalculationAccuracy) -> PhysicalProperties: """ Returns the PhysicalProperties object that has properties for getting the area, density, mass, volume, moments, etc of this component. @@ -21998,6 +28101,18 @@ def transformOccurrences(self, occurrences: list[Occurrence], transforms: list[c Returns true if the transform was successful. """ return bool() + def createFlatPattern(self, stationaryFace: BRepFace) -> FlatPattern: + """ + Creates a flat pattern of the sheet metal folded body. The isSheetMetal property of the BRepBody object can be + used to determine if a particular body can be flattened. Creating a flat pattern will fail if a flat pattern already exists in the + component. You can determine if a flat pattern already exists by checking if the flatPattern property returns a FlatPattern object + or null. + stationaryFace : A planar face in the sheet metal body that is on the top or bottom of the part and not an edge face. This face will + be positioned on the X-Y plane of the flat pattern and the rest of the model will be flattened relative to this face. + The face must exist on a body that is owned by this component. + Returns the newly created flat pattern. + """ + return FlatPattern() @property def sketches(self) -> Sketches: """ @@ -22144,14 +28259,6 @@ def joints(self) -> Joints: """ return Joints() @property - def jointOrgins(self) -> JointOrigins: - """ - This property was incorrectly spelled and has been replaced with the JointOrigins property. - However, this needs to remain in the implementation to continue to support programs that - already used it, but it will be hidden in the documentation. - """ - return JointOrigins() - @property def asBuiltJoints(self) -> AsBuiltJoints: """ Returns the collection of as-built joints associated with this component. @@ -22345,6 +28452,55 @@ def id(self) -> str: The ID is also the same ID used by PIM (Product Information Model). """ return str() + @property + def allTangentRelationships(self) -> list[TangentRelationship]: + """ + Returns all tangent relationships in this component and any sub components. The tangent relationships returned are all + in the context of this component so any tangent relationships in sub components will be proxies. This is primarily useful when used + from the root component because Fusion 360 flattens the assembly structure, including tangent relationships, when manipulating + an assembly. + """ + return [TangentRelationship()] + @property + def tangentRelationships(self) -> TangentRelationships: + """ + Returns the collection of tangent relationships associated with this component. + """ + return TangentRelationships() + @property + def flatPattern(self) -> FlatPattern: + """ + Gets the existing flat pattern or returns null in the case where a flat pattern doesn't exist in this component. + """ + return FlatPattern() + @property + def activeSheetMetalRule(self) -> SheetMetalRule: + """ + Gets and sets the active sheet metal rule. This can return null in the case where + the component has never contained any sheet metal related data. + """ + return SheetMetalRule() + @activeSheetMetalRule.setter + def activeSheetMetalRule(self, value: SheetMetalRule): + """ + Gets and sets the active sheet metal rule. This can return null in the case where + the component has never contained any sheet metal related data. + """ + pass + @property + def isCanvasFolderLightBulbOn(self) -> bool: + """ + Gets and sets if the light bulb of the canvas folder as seen in the browser is on or off. + This controls the visibility of all the canvases in the component. + """ + return bool() + @isCanvasFolderLightBulbOn.setter + def isCanvasFolderLightBulbOn(self, value: bool): + """ + Gets and sets if the light bulb of the canvas folder as seen in the browser is on or off. + This controls the visibility of all the canvases in the component. + """ + pass class ConcentricConstraint(GeometricConstraint): """ @@ -22398,7 +28554,9 @@ def cast(arg) -> ConstantRadiusFilletEdgeSet: @property def edges(self) -> core.ObjectCollection: """ - Gets and sets the edges that will be filleted. + Gets and sets an ObjectCollection containing the BRepEdge, BRepFace, and Feature that are filleted. + If the isTangentChain argument is true additional edges or faces may also get filleted if they are tangentially + connected to any of the input edges or faces. To use this property, you need to position the timeline marker to immediately before this feature. This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) @@ -22407,7 +28565,9 @@ def edges(self) -> core.ObjectCollection: @edges.setter def edges(self, value: core.ObjectCollection): """ - Gets and sets the edges that will be filleted. + Gets and sets an ObjectCollection containing the BRepEdge, BRepFace, and Feature that are filleted. + If the isTangentChain argument is true additional edges or faces may also get filleted if they are tangentially + connected to any of the input edges or faces. To use this property, you need to position the timeline marker to immediately before this feature. This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) @@ -22421,6 +28581,34 @@ def radius(self) -> ModelParameter: """ return ModelParameter() +class ConstantRadiusFilletEdgeSetInput(FilletEdgeSetInput): + """ + Provides access to the edges and the parameter associated with a constant radius fillet. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstantRadiusFilletEdgeSetInput: + return ConstantRadiusFilletEdgeSetInput() + @property + def radius(self) -> core.ValueInput: + """ + Gets and sets ValueInput object that defines the radius of the fillet. If the ValueInput uses + a real then it is interpreted as centimeters. If it is a string then the units + can be defined as part of the string (i.e. "2 in") or if no units are specified + it is interpreted using the current default units for length. + """ + return core.ValueInput() + @radius.setter + def radius(self, value: core.ValueInput): + """ + Gets and sets ValueInput object that defines the radius of the fillet. If the ValueInput uses + a real then it is interpreted as centimeters. If it is a string then the units + can be defined as part of the string (i.e. "2 in") or if no units are specified + it is interpreted using the current default units for length. + """ + pass + class ConstructionAxisByLineDefinition(ConstructionAxisDefinition): """ The definition for a non-parametric construction axis. In a non-parametric design @@ -23094,8 +29282,32 @@ def sourceBody(self) -> core.ObjectCollection: """ return core.ObjectCollection() +class CurvatureCombAnalysis(Analysis): + """ + Represents any existing Curvature Comb Analysis that exist in the design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CurvatureCombAnalysis: + return CurvatureCombAnalysis() + +class CurvatureMapAnalysis(Analysis): + """ + Represents any existing Curvature Map Analysis that exist in the design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CurvatureMapAnalysis: + return CurvatureMapAnalysis() + class CustomFeature(Feature): """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + Object that represents an existing CustomFeature feature in a design. """ def __init__(self): @@ -23177,7 +29389,7 @@ def customNamedValues(self) -> CustomNamedValues: def nativeObject(self) -> CustomFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -23185,6 +29397,10 @@ def nativeObject(self) -> CustomFeature: class CustomFeatureEvent(core.Event): """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + A CustomFeature event is an event associated with handling changes to a custom feature. """ def __init__(self): @@ -23209,6 +29425,10 @@ def remove(self, handler: CustomFeatureEventHandler) -> bool: class CustomFeatureEventArgs(core.EventArgs): """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + The CustomFeatureEventArgs provides information associated with a custom feature event. """ def __init__(self): @@ -23247,9 +29467,9 @@ def create(appearance: core.Appearance) -> CustomGraphicsAppearanceColorEffect: """ Statically creates a new CustomGraphicsAppearanceColorEffect object. This can be used when setting the color property of the various custom graphics objects. With this coloring - effect, an existing appearance is used. The appearance must be avaialable in the + effect, an existing appearance is used. The appearance must be available in the design where the graphics will be drawn. - appearance : The appearance to use. The appearance must be avaialable in the design where the + appearance : The appearance to use. The appearance must be available in the design where the graphics will be drawn. Returns the created CustomGraphicsAppearanceColorEffect or null in case of a failure. """ @@ -23272,7 +29492,7 @@ def appearance(self, value: core.Appearance): class CustomGraphicsBasicMaterialColorEffect(CustomGraphicsColorEffect): """ One of the types of color effects that can be applied to a custom graphics entity. With this type - of effect, basic phong shading and lighting techniques are used so give the entity a 3-dimensional + of effect, basic Phong shading and lighting techniques are used so give the entity a 3-dimensional appearance. """ def __init__(self): @@ -23281,14 +29501,14 @@ def __init__(self): def cast(arg) -> CustomGraphicsBasicMaterialColorEffect: return CustomGraphicsBasicMaterialColorEffect() @staticmethod - def create(diffuseColor: core.Color, ambientColor: core.Color, specularColor: core.Color, emissiveColor: core.Color, glossiness: float, opacity: float) -> CustomGraphicsBasicMaterialColorEffect: + def create(diffuseColor: core.Color, ambientColor: core.Color = None, specularColor: core.Color = None, emissiveColor: core.Color = None, glossiness: float = 5.0, opacity: float = 1.0) -> CustomGraphicsBasicMaterialColorEffect: """ Statically creates a new basic CustomGraphicsBasicMaterialColorEffect object. This can be used to - color custom graphics entities. With this type of effect you define the basic phong shading + color custom graphics entities. With this type of effect you define the basic Phong shading properties so that the entity can be rendered with basic shading and lighting effects applied so that it appears 3-dimensional. - If only the emmissive coloris provided, the API will automatically create values for the + If only the emissive color is provided, the API will automatically create values for the other colors to render the object as a single color. diffuseColor : The diffuse color is the color of reflected light as it scatters off of a rough surface and is the primary color of the entity. This color is always required. @@ -23299,8 +29519,8 @@ def create(diffuseColor: core.Color, ambientColor: core.Color, specularColor: co emissiveColor : The emissive color is the color of light that entity emits, such as in a light bulb. If not specified, black for no emissive light is used. glossiness : This specifies how glossy the entity is. The glossiness determines the size of highlights, and thus - the apparent shininess of the material. A value of 0.0 will result in very large hightlights like you - would see with a rough surface. A maximum valaue of 128.0 will result in very small highlight as + the apparent shininess of the material. A value of 0.0 will result in very large highlights like you + would see with a rough surface. A maximum value of 128.0 will result in very small highlight as from a smooth surface. opacity : Specifies the opacity of the entity where a value of 1.0 is completely opaque and 0.0 is completely transparent. Returns the created CustomGraphicsBasicMaterialColorEffect or null in case of a failure. @@ -23369,8 +29589,8 @@ def glossiness(self) -> float: """ Gets and sets the glossiness associated with this CustomGraphicsBasicMaterialColorEffect object. The glossiness determines the size of highlights, and thus the apparent shininess of the material. - A value of 0.0 will result in very large hightlights like you would see with a rough surface. - A maximum valaue of 128.0 will result in very small highlight as from a smooth surface. + A value of 0.0 will result in very large highlights like you would see with a rough surface. + A maximum value of 128.0 will result in very small highlight as from a smooth surface. """ return float() @glossiness.setter @@ -23378,8 +29598,8 @@ def glossiness(self, value: float): """ Gets and sets the glossiness associated with this CustomGraphicsBasicMaterialColorEffect object. The glossiness determines the size of highlights, and thus the apparent shininess of the material. - A value of 0.0 will result in very large hightlights like you would see with a rough surface. - A maximum valaue of 128.0 will result in very small highlight as from a smooth surface. + A value of 0.0 will result in very large highlights like you would see with a rough surface. + A maximum value of 128.0 will result in very small highlight as from a smooth surface. """ pass @property @@ -23469,6 +29689,32 @@ def weight(self, value: float): Defines the thickness of the curve in pixels. """ pass + @property + def lineStylePattern(self) -> LineStylePatterns: + """ + The line style to apply to the curve. The default is to draw the curve using continuous line style. + """ + return LineStylePatterns() + @lineStylePattern.setter + def lineStylePattern(self, value: LineStylePatterns): + """ + The line style to apply to the curve. The default is to draw the curve using continuous line style. + """ + pass + @property + def lineStyleScale(self) -> float: + """ + Defines the scale as it relates to how the line style is applied. The effect is to + shrink or expand the line style as it is applied to the line. This does not affect the line width. + """ + return float() + @lineStyleScale.setter + def lineStyleScale(self, value: float): + """ + Defines the scale as it relates to how the line style is applied. The effect is to + shrink or expand the line style as it is applied to the line. This does not affect the line width. + """ + pass class CustomGraphicsGroup(CustomGraphicsEntity): """ @@ -23479,6 +29725,12 @@ def __init__(self): @staticmethod def cast(arg) -> CustomGraphicsGroup: return CustomGraphicsGroup() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CustomGraphicsEntity: + return None + def __iter__(self) -> Iterator[CustomGraphicsEntity]: + return None def item(self, index: int) -> CustomGraphicsEntity: """ Function that returns the specified custom graphics entity within this group. This also includes @@ -23510,7 +29762,7 @@ def addMesh(self, coordinates: CustomGraphicsCoordinates, coordinateIndexList: l Returns the new CustomGraphicsMesh object or null in the case of a failure. """ return CustomGraphicsMesh() - def addLines(self, coordinates: CustomGraphicsCoordinates, indexList: list[int], isLineStrip: bool, lineStripLengths: list[int]) -> CustomGraphicsLines: + def addLines(self, coordinates: CustomGraphicsCoordinates, indexList: list[int], isLineStrip: bool, lineStripLengths: list[int] = None) -> CustomGraphicsLines: """ Adds a new CustomGraphicsLines entity to this group. coordinates : The CustomGraphicsCoordinates object that defines the coordinates of the vertices of the lines. @@ -23551,10 +29803,10 @@ def addPointSet(self, coordinates: CustomGraphicsCoordinates, indexList: list[in pointType : Specifies the type of point to display. Currently there are two choices; UserDefinedCustomGraphicsPointType and PointCloudCustomGraphicsPointType. When set to PointCloudCustomGraphicsPointType, each point displays as a single pixel and is the most efficient point display type for displaying sets that contain very large quantities of points. When - set to UserDefinedCustomGraphicsPointType, you specify the image to display as the point. This can be any png image and is + set to UserDefinedCustomGraphicsPointType, you specify the image to display as the point. This can be any PNG image and is centered on the point. pointImage : If the pointType is PointCloudCustomGraphicsPointType this argument is ignored and can be an empty string. This argument - must be specified if the pointType is UserDefinedCustomGraphicsPointType. This is the path to the png image file that will be + must be specified if the pointType is UserDefinedCustomGraphicsPointType. This is the path to the PNG image file that will be displayed as the point. It can be either a full path to the file or a relative path that is respect to the .py, dll, or dylib file being run. There is no restriction on the size of the image, but generally very small images would be used for points. Returns the newly created CustomGraphicsPointSet object or null in the case of failure. @@ -23565,7 +29817,7 @@ def addText(self, formattedText: str, font: str, size: float, transform: core.Ma Adds a new CustomGraphicsText entity to this group. This will be displayed as a single line of text. It is placed so that the upper-left corner is at the point defined and the text will be parallel to the X-Y plane of the world coordinate system and in the X direction. To change it's position relative - to the input point you can change the horizontal and vertical justification on the returnsed CustomGrahicsText + to the input point you can change the horizontal and vertical justification on the returned CustomGrahicsText object. You can also reorient the text by changing the transform of the returned CustomGraphicsText object. formattedText : The text string to be displayed. Overall formatting can be defined using properties on the returned CustomGraphicsText object. Formatting overrides can be defined within the string using formatting codes. @@ -23768,7 +30020,7 @@ def vertexIndexList(self) -> list[int]: """ Gets and sets an array of indices that define which coordinate in the coordinate list is used for each vertex in the mesh. Each set of three - indices defines a triagle. For example: + indices defines a triangle. For example: Indices 0, 1, and 2 define the coordinates to use for the first triangle and indices 3, 4, and 5 define the coordinates for the second triangle, and so on. """ @@ -23778,7 +30030,7 @@ def vertexIndexList(self, value: list[int]): """ Gets and sets an array of indices that define which coordinate in the coordinate list is used for each vertex in the mesh. Each set of three - indices defines a triagle. For example: + indices defines a triangle. For example: Indices 0, 1, and 2 define the coordinates to use for the first triangle and indices 3, 4, and 5 define the coordinates for the second triangle, and so on. """ @@ -23859,8 +30111,8 @@ def indexList(self, value: list[int]): def pointImage(self) -> str: """ Gets and sets the image that will be used to display the point if the point type - is a custom image. The image will always be be billboarded. The file should be - a png image and can use transparency. The filename can be a full path or a + is a custom image. The image will always be billboarded. The file should be + a PNG image and can use transparency. The filename can be a full path or a relative path that is relative to your runtime file. Setting this will automatically set the pointType to UserDefinedCustomGraphicsPointType. This property can also return an empty string in the case where a user defined image point is not being used. @@ -23870,8 +30122,8 @@ def pointImage(self) -> str: def pointImage(self, value: str): """ Gets and sets the image that will be used to display the point if the point type - is a custom image. The image will always be be billboarded. The file should be - a png image and can use transparency. The filename can be a full path or a + is a custom image. The image will always be billboarded. The file should be + a PNG image and can use transparency. The filename can be a full path or a relative path that is relative to your runtime file. Setting this will automatically set the pointType to UserDefinedCustomGraphicsPointType. This property can also return an empty string in the case where a user defined image point is not being used. @@ -23880,7 +30132,7 @@ def pointImage(self, value: str): @property def pointType(self) -> CustomGraphicsPointTypes: """ - Specifies which of the pre-defined point images to use. Attempting to set this property + Specifies which of the predefined point images to use. Attempting to set this property to UserDefinedCustomGraphicsPointType will fail. To change to a user defined point type you must set use the pointImage property to specify the image to use and this will have the side-effect of changing the value of this property to UserDefinedCustomGraphicsPointType. @@ -23889,7 +30141,7 @@ def pointType(self) -> CustomGraphicsPointTypes: @pointType.setter def pointType(self, value: CustomGraphicsPointTypes): """ - Specifies which of the pre-defined point images to use. Attempting to set this property + Specifies which of the predefined point images to use. Attempting to set this property to UserDefinedCustomGraphicsPointType will fail. To change to a user defined point type you must set use the pointImage property to specify the image to use and this will have the side-effect of changing the value of this property to UserDefinedCustomGraphicsPointType. @@ -23913,7 +30165,7 @@ def create(color: core.Color, opacity: float) -> CustomGraphicsShowThroughColorE Creates a new CustomGraphicsShowThroughColorEffect object that can be assigned to a custom graphics entity using its showThrough property. color : The color that will be used to render the custom graphics object. - opacity : The level of opacity that will be applied when rendering the the custom graphics object. A value of 0 is fully translucent + opacity : The level of opacity that will be applied when rendering the custom graphics object. A value of 0 is fully translucent and will have the effect of the object being completely covered by objects in front of it. A value of 1 is fully opaque which will have the effect of the object completely covering all objects. Values in between will make objects in front of the graphics object appear translucent to varying degrees so you can see the custom graphics object through it. @@ -23972,7 +30224,7 @@ def create(color: core.Color) -> CustomGraphicsSolidColorEffect: colors the entity with a single color without any lighting effects. With this coloring effect, a sphere will display as a solid filled circle. color : The color to use for the solid color display. The opacity component of the color is ignored - because the opacity of custom graphics is controlled seperately using an opacity attribute. + because the opacity of custom graphics is controlled separately using an opacity attribute. Returns the created CustomGraphicsSolidColorEffect or null in case of a failure. """ return CustomGraphicsSolidColorEffect() @@ -23980,14 +30232,14 @@ def create(color: core.Color) -> CustomGraphicsSolidColorEffect: def color(self) -> core.Color: """ The color to use for the solid color display. The opacity component of the color is ignored - because the opacity of custom graphics is controlled seperately using an opacity attribute. + because the opacity of custom graphics is controlled separately using an opacity attribute. """ return core.Color() @color.setter def color(self, value: core.Color): """ The color to use for the solid color display. The opacity component of the color is ignored - because the opacity of custom graphics is controlled seperately using an opacity attribute. + because the opacity of custom graphics is controlled separately using an opacity attribute. """ pass @@ -24330,7 +30582,7 @@ def deletedFaces(self, value: list[BRepFace]): def nativeObject(self) -> DeleteFaceFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -24374,7 +30626,7 @@ def analyzeInterference(self, input: InterferenceInput) -> InterferenceResults: Returns an InterferenceResults object that can be used to examine the interference results. """ return InterferenceResults() - def areaProperties(self, inputs: core.ObjectCollection, accuracy: CalculationAccuracy) -> AreaProperties: + def areaProperties(self, inputs: core.ObjectCollection, accuracy: CalculationAccuracy = CalculationAccuracy.LowCalculationAccuracy) -> AreaProperties: """ Returns the AreaProperties object that has properties for getting the area, perimeter, centroid, etc for a collection of 2D sketch profiles and/or planar surfaces that all lie on the same plane. @@ -24386,7 +30638,7 @@ def areaProperties(self, inputs: core.ObjectCollection, accuracy: CalculationAcc Returns an AreaProperties object that can be used to examine the area results. """ return AreaProperties() - def physicalProperties(self, inputs: core.ObjectCollection, accuracy: CalculationAccuracy) -> PhysicalProperties: + def physicalProperties(self, inputs: core.ObjectCollection, accuracy: CalculationAccuracy = CalculationAccuracy.LowCalculationAccuracy) -> PhysicalProperties: """ Returns the PhysicalProperties object that has properties for getting the area, density, mass, volume, moments, etc for a collection of 3D solid objects. @@ -24420,6 +30672,30 @@ def computeAll(self) -> bool: in the timeline to determine if everything successfully computed or not. """ return bool() + def modifyParameters(self, parameters: list[Parameter], values: list[core.ValueInput]) -> bool: + """ + Modifies the values of many parameters all at once. Changing them all at once is more efficient + than modifying them one at a time. + parameters : An array of UserParameter and ModelParameter objects that you want to change the value. The parameters + must all exist within the Design object you're calling this method from. They can be in any component + but must be local components owned by the Design. + values : An array of ValueInput objects that defines the new value for each parameter defined by the "parameters" argument. + This array must be the same size as the array used for the "parameters" argument, and the items in the arrays are + used in the order they exist within the arrays. For example, the parameter at index 0 will use the value at index 0. + + If you use the createByString method to create the ValueInput, the expression of the parameter will be edited, and + the effect is the same as interactively editing the expression.When you set the expression, you can include units, + references to other parameters, and math operators and functions.For example, "(Length / 3) * cos(Angle)" is a valid + expression for a distance parameter if the parameters "Length" and "Angle" already exist. + + If you use the createByReal method, the value is assigned directly and is always in the internal units for the unit + type associated with the parameter.For example, if the parameter is a length, the value will ALWAYS be used as + centimeters. If the parameter is an angle, the value will ALWAYS be used as radians.This is because the default design + unit types for length are ignored, and internal units are ALWAYS used. + Returns true if setting all of the parameters was successful. Setting multiple parameters is either all or none. If it + fails to set any parameters, none of them are updated, and the method will return false. + """ + return bool() @property def designType(self) -> DesignTypes: """ @@ -24439,14 +30715,14 @@ def designType(self, value: DesignTypes): @property def rootComponent(self) -> Component: """ - Returns the root Component + Returns the root Component. """ return Component() @property def allComponents(self) -> Components: """ Returns the Components collection that provides access to existing components - in a design + in a design. """ return Components() @property @@ -24579,6 +30855,31 @@ def isContactSetAnalysis(self, value: bool): isContactAnalysisEnabled is False then no contact analysis is performed. """ pass + @property + def designSheetMetalRules(self) -> SheetMetalRules: + """ + Gets the collection of sheet metal rules in the design. + """ + return SheetMetalRules() + @property + def librarySheetMetalRules(self) -> SheetMetalRules: + """ + Gets the collection of sheet metal rules in the sheet metal rule library. + """ + return SheetMetalRules() + @property + def analyses(self) -> Analyses: + """ + Gets the collection of design analyses associated with this design. + """ + return Analyses() + @property + def renderManager(self) -> RenderManager: + """ + Returns the RenderManager object associated with this design. Using the RenderManager you can access the + same functionality that is available in the Render workspace. + """ + return RenderManager() class DistanceAndAngleChamferEdgeSet(ChamferEdgeSet): """ @@ -24644,30 +30945,6 @@ def isFlipped(self, value: bool): """ pass -class DistanceAndAngleChamferTypeDefinition(ChamferTypeDefinition): - """ - Provides information to create a chamfer that is defined by a distance from the edge and an angle. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> DistanceAndAngleChamferTypeDefinition: - return DistanceAndAngleChamferTypeDefinition() - @property - def distance(self) -> ModelParameter: - """ - Returns the parameter controlling the distance. You can edit the distance - by editing the value of the parameter object. - """ - return ModelParameter() - @property - def angle(self) -> ModelParameter: - """ - Returns the parameter controlling the angle. You can edit the angle - by editing the value of the parameter object. - """ - return ModelParameter() - class DistanceExtentDefinition(ExtentDefinition): """ Defines the inputs for a distance ExtentDefinition object. @@ -24691,20 +30968,6 @@ def create(distance: core.ValueInput) -> DistanceExtentDefinition: """ return DistanceExtentDefinition() @property - def isSymmetric(self) -> bool: - """ - Gets and sets if the distance extent is symmetric or not - For a hole this property will always return false and setting it is ignored. - """ - return bool() - @isSymmetric.setter - def isSymmetric(self, value: bool): - """ - Gets and sets if the distance extent is symmetric or not - For a hole this property will always return false and setting it is ignored. - """ - pass - @property def distance(self) -> ModelParameter: """ Returns the parameter controlling the distance. You can edit the distance @@ -24712,6 +30975,16 @@ def distance(self) -> ModelParameter: """ return ModelParameter() +class DraftAnalysis(Analysis): + """ + Represents any existing Draft Analysis that exist in the design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DraftAnalysis: + return DraftAnalysis() + class DraftFeature(Feature): """ Object that represents an existing draft feature in a design. @@ -24847,12 +31120,52 @@ def draftDefinition(self) -> ExtentDefinition: def nativeObject(self) -> DraftFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ return DraftFeature() +class DXFFlatPatternExportOptions(ExportOptions): + """ + Defines that a DXF export of a flat pattern is to be done and specifies the various options. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DXFFlatPatternExportOptions: + return DXFFlatPatternExportOptions() + @property + def isSplineConvertedToPolyline(self) -> bool: + """ + Specifies if splines are converted to polylines. If true, the convertToPolylineTolerance + value is used to specify the accuracy of the conversion. Defaults to false. + """ + return bool() + @isSplineConvertedToPolyline.setter + def isSplineConvertedToPolyline(self, value: bool): + """ + Specifies if splines are converted to polylines. If true, the convertToPolylineTolerance + value is used to specify the accuracy of the conversion. Defaults to false. + """ + pass + @property + def convertToPolylineTolerance(self) -> float: + """ + Specifies the tolerance when converting a spline to polylines. This value is only used when + the isSplineConvertedToPolyline property is true and otherwise it is ignored. The units for + this value are centimeters. Defaults to 0.01 cm. + """ + return float() + @convertToPolylineTolerance.setter + def convertToPolylineTolerance(self, value: float): + """ + Specifies the tolerance when converting a spline to polylines. This value is only used when + the isSplineConvertedToPolyline property is true and otherwise it is ignored. The units for + this value are centimeters. Defaults to 0.01 cm. + """ + pass + class EqualConstraint(GeometricConstraint): """ An equal constraint in a sketch. @@ -24932,23 +31245,6 @@ def distance(self) -> ModelParameter: """ return ModelParameter() -class EqualDistanceChamferTypeDefinition(ChamferTypeDefinition): - """ - Provides information to create a chamfer that is defined by a single distance and has an equal offset from the edge. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> EqualDistanceChamferTypeDefinition: - return EqualDistanceChamferTypeDefinition() - @property - def distance(self) -> ModelParameter: - """ - Returns the parameter controlling the distance. You can edit the distance - by editing the value of the parameter object. - """ - return ModelParameter() - class ExtendFeature(Feature): """ Object that represents an existing extend feature in a design. @@ -24958,7 +31254,7 @@ def __init__(self): @staticmethod def cast(arg) -> ExtendFeature: return ExtendFeature() - def setInputEntities(self, edges: core.ObjectCollection, isChainingEnabled: bool) -> bool: + def setInputEntities(self, edges: core.ObjectCollection, isChainingEnabled: bool = True) -> bool: """ Sets the edges for the extend feature. @@ -25029,7 +31325,7 @@ def isChainingEnabled(self) -> bool: def nativeObject(self) -> ExtendFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -25062,61 +31358,6 @@ def __init__(self): @staticmethod def cast(arg) -> ExtrudeFeature: return ExtrudeFeature() - def setDistanceExtent(self, isSymmetric: bool, distance: core.ValueInput) -> bool: - """ - Sets the extrusion extents option to 'Distance'. - isSymmetric : Set to 'true' for an extrusion symmetrical about the profile plane - distance : ValueInput object that defines the extrude distance. - If the isSymmetric argument is 'false', a positive or negative distance can be used to control the direction. - Returns true if successful - """ - return bool() - def setTwoSidesDistanceExtent(self, distanceOne: core.ValueInput, distanceTwo: core.ValueInput) -> bool: - """ - Sets the extrusion extents option to 'Two Side'. - This method will fail in the case of a non-parametric extrusion. - distanceOne : ValueInput object that defines the extrude distance for the first side. - distanceTwo : ValueInput object that defines the extrude distance for the second side. - Returns true if successful - """ - return bool() - def setAllExtent(self, direction: ExtentDirections) -> bool: - """ - Sets the extrusion extents option to 'All' (i.e. the extrusion is through-all, in both directions.) - This method will fail in the case of a non-parametric extrusion. - direction : The direction can be either positive, negative, or symmetric. - Returns true if successful - """ - return bool() - def setOneSideToExtent(self, toEntity: core.Base, matchShape: bool, directionHint: core.Vector3D) -> bool: - """ - Sets the extrusion Direction option to 'One Side' and the Extents option to 'To' (a specified face) - toEntity : The entity that defines the "to" extent. The valid types of entities can vary depending on - the type of feature this is being used with. For an extrude it can be a BRepBody, BRepFace, - BRepVertex, ConstructionPlane, or ConstructionPoint. - matchShape : If the matchShape argument is 'true', the toEntity is extended to fully intersect the extrusion. - directionHint : Specifies the direction of the extrusion. This is only used in the case where there are two possible solutions and the extrusion can - hit the toEntity in either direction. An example is if the profile of the extrusion is within a hole. - The extrusion will intersect the cylinder of the hole in either direction. - - Typically there is only a single solution and the direction is determined automatically. - Returns true if successful. - """ - return bool() - def setTwoSidesToExtent(self, toEntityOne: core.Base, toEntityTwo: core.Base, matchShape: bool) -> bool: - """ - Set the extrusion Direction option to 'Two Side' - This method will fail in the case of a non-parametric extrusion. - toEntityOne : The first entity that defines the "to" extent. The valid types of entities can vary depending on - the type of feature this is being used with. For an extrude it can be a BRepBody, BRepFace, - BRepVertex, ConstructionPlane, or ConstructionPoint. - toEntityTwo : The second entity that defines the "to" extent. The valid types of entities can vary depending on - the type of feature this is being used with. For an extrude it can be a BRepBody, BRepFace, - BRepVertex, ConstructionPlane, or ConstructionPoint. - matchShape : If the matchShape argument is 'true', the toEntity is extended to fully intersect the extrusion. - Returns true if successful. - """ - return bool() def createForAssemblyContext(self, occurrence: Occurrence) -> ExtrudeFeature: """ Creates or returns a proxy for the native object @@ -25126,7 +31367,7 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> ExtrudeFeature: Returns the proxy object or null if this isn't the NativeObject. """ return ExtrudeFeature() - def setOneSideExtent(self, extent: ExtentDefinition, direction: ExtentDirections, taperAngle: core.ValueInput) -> bool: + def setOneSideExtent(self, extent: ExtentDefinition, direction: ExtentDirections, taperAngle: core.ValueInput = None) -> bool: """ Redefines the extrusion to go in one direction from the profile. The extent of the extrusion is defined by the extent argument. @@ -25143,7 +31384,7 @@ def setOneSideExtent(self, extent: ExtentDefinition, direction: ExtentDirections Returns true is setting the input to a one sided extent was successful. """ return bool() - def setTwoSidesExtent(self, sideOneExtent: ExtentDefinition, sideTwoExtent: ExtentDefinition, sideOneTaperAngle: core.ValueInput, sideTwoTaperAngle: core.ValueInput) -> bool: + def setTwoSidesExtent(self, sideOneExtent: ExtentDefinition, sideTwoExtent: ExtentDefinition, sideOneTaperAngle: core.ValueInput = None, sideTwoTaperAngle: core.ValueInput = None) -> bool: """ Redefines the extrusion to go in both directions from the profile. The extent is defined independently for each direction using the input arguments. @@ -25161,7 +31402,7 @@ def setTwoSidesExtent(self, sideOneExtent: ExtentDefinition, sideTwoExtent: Exte Returns true, if the call was successful. """ return bool() - def setSymmetricExtent(self, distance: core.ValueInput, isFullLength: bool, taperAngle: core.ValueInput) -> bool: + def setSymmetricExtent(self, distance: core.ValueInput, isFullLength: bool, taperAngle: core.ValueInput = None) -> bool: """ Redefines the extrusion to go symmetrically in both directions from the profile. @@ -25176,7 +31417,7 @@ def setSymmetricExtent(self, distance: core.ValueInput, isFullLength: bool, tape Returns true, if the call was successful. """ return bool() - def setThinExtrude(self, thinExtrudeWallLocationOne: ThinExtrudeWallLocation, thinExtrudeWallThicknessOne: core.ValueInput, thinExtrudeWallLocationTwo: ThinExtrudeWallLocation, thinExtrudeWallThicknessTwo: core.ValueInput) -> bool: + def setThinExtrude(self, thinExtrudeWallLocationOne: ThinExtrudeWallLocation, thinExtrudeWallThicknessOne: core.ValueInput, thinExtrudeWallLocationTwo: ThinExtrudeWallLocation = ThinExtrudeWallLocation.Side1, thinExtrudeWallThicknessTwo: core.ValueInput = None) -> bool: """ Changes the extrude feature to be a thin extrude. This is only valid if the isThinExtrude property is False. If the extrusion is already a thin extrude, you can use the properties on the ExtrudeFeature @@ -25223,14 +31464,6 @@ def profile(self, value: core.Base): """ pass @property - def taperAngle(self) -> ModelParameter: - """ - Returns the parameter controlling the taper angle of the extrusion. To - edit the taper angle use properties on the parameter to edit its value. - This property returns nothing in the case where the feature is non-parametric. - """ - return ModelParameter() - @property def operation(self) -> FeatureOperations: """ Gets and sets the type of operation performed by the extrusion. @@ -25243,15 +31476,6 @@ def operation(self, value: FeatureOperations): """ pass @property - def extentDefinition(self) -> ExtentDefinition: - """ - Gets the ExtentDefinition object that defines the extent of the extrude. Modifying the - properties of the returned extent definition object will cause the extrude to recompute. - Various types of objects can be returned depending on the type of extent currently defined for - the extrusion. This property returns nothing in the case where the feature is non-parametric. - """ - return ExtentDefinition() - @property def startFaces(self) -> BRepFaces: """ Property that returns the set of faces that cap the end of the extrusion and are coincident @@ -25278,7 +31502,7 @@ def sideFaces(self) -> BRepFaces: def nativeObject(self) -> ExtrudeFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -25468,6 +31692,28 @@ def thinExtrudeWallThicknessTwo(self) -> ModelParameter: """ return ModelParameter() +class FaceRipFeatureDefinition(RipFeatureDefinition): + """ + The definition for a face rip. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FaceRipFeatureDefinition: + return FaceRipFeatureDefinition() + @property + def ripFace(self) -> BRepFace: + """ + Gets and sets the input face for a face rip. + """ + return BRepFace() + @ripFace.setter + def ripFace(self, value: BRepFace): + """ + Gets and sets the input face for a face rip. + """ + pass + class FilletFeature(Feature): """ Object that represents an existing fillet feature in a design. @@ -25493,18 +31739,6 @@ def edgeSets(self) -> FilletEdgeSets: """ return FilletEdgeSets() @property - def isG2(self) -> bool: - """ - Gets and sets if the fillet uses the G2 (curvature-continuity) surface quality option. - """ - return bool() - @isG2.setter - def isG2(self, value: bool): - """ - Gets and sets if the fillet uses the G2 (curvature-continuity) surface quality option. - """ - pass - @property def isRollingBallCorner(self) -> bool: """ Gets and sets if a rolling ball solution is to be used in any corners. @@ -25523,20 +31757,6 @@ def isRollingBallCorner(self, value: bool): """ pass @property - def isTangentChain(self) -> bool: - """ - Gets and sets whether or not edges that are tangentially connected to - the input edges (if any) will also be filleted. - """ - return bool() - @isTangentChain.setter - def isTangentChain(self, value: bool): - """ - Gets and sets whether or not edges that are tangentially connected to - the input edges (if any) will also be filleted. - """ - pass - @property def nativeObject(self) -> FilletFeature: """ The NativeObject is the object outside the context of an assembly and @@ -25590,6 +31810,75 @@ def __init__(self): def cast(arg) -> FlangeFeature: return FlangeFeature() +class FlatPattern(Feature): + """ + The FlatPattern object provides access to the flattened representation of a folded part. + This supports most of the functionality of a regular component like creating sketches, + construction geometry, and most features. Functionality that is not supported in a + flat pattern will fail if you attempt to use it. For example, the creation of occurrences + and new components is not supported. Also the creation of sheet metal features is + not supported. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FlatPattern: + return FlatPattern() + def getBendInfo(self, bendEdge: BRepEdge) -> tuple[bool, bool, float]: + """ + Returns bend information for the specified bend. + bendEdge : The wire BrepEdge that represents a bend line in the model. The edges are obtained from the wire + body returned by the bendLinesBody property. + isBendUp : Indicates if the bend is in the natural direction of the bend line or in the opposite direction. Returns true + if the bend is in the same direction as the input bend line. + bendAngle : Returns the bend angle of the bend in radians. + Returns true if the bend information was successfully returned. + """ + return (bool(), bool(), float()) + @property + def flatBody(self) -> BRepBody: + """ + Returns the B-Rep body that represents the flattened sheet metal part. + """ + return BRepBody() + @property + def bendLinesBody(self) -> BRepBody: + """ + Returns the wire B-Rep body that represents the bend lines of the flattened sheet metal part. + """ + return BRepBody() + @property + def extentLinesBody(self) -> BRepBody: + """ + Returns the wire B-Rep body that represents the extent lines of the flattened sheet metal part. + """ + return BRepBody() + @property + def topFace(self) -> BRepFace: + """ + Returns the "top" face of the flat pattern B-Rep body. + """ + return BRepFace() + @property + def bottomFace(self) -> BRepFace: + """ + Returns the "bottom" face of the flat pattern B-Rep body. + """ + return BRepFace() + @property + def sideFaces(self) -> BRepFaces: + """ + Returns the "side" faces of the flat pattern B-Rep body. These are the faces around + the edge of the flat pattern that connect the top and bottom faces. + """ + return BRepFaces() + @property + def foldedBody(self) -> BRepBody: + """ + Returns the folded B-Rep body in the design that this flat pattern was created from. + """ + return BRepBody() + class FormFeature(Feature): """ Object that represents an existing Form feature in a design. @@ -25834,6 +32123,80 @@ def isAutoProjectGeometry(self, value: bool): Gets and Sets if geometry, not in the active sketch plane, is to be automatically projected. """ pass + @property + def isAutoProjectEdgesOnReference(self) -> bool: + """ + Gets and sets if model edges should be automatically projected when creating + constraints and dimensions in the active sketch when the orientation is normal + to the active sketch plane. + """ + return bool() + @isAutoProjectEdgesOnReference.setter + def isAutoProjectEdgesOnReference(self, value: bool): + """ + Gets and sets if model edges should be automatically projected when creating + constraints and dimensions in the active sketch when the orientation is normal + to the active sketch plane. + """ + pass + @property + def isAutoHideSketchOnFeatureCreation(self) -> bool: + """ + Gets and sets if the sketch should be automatically hidden whenever + a feature is created from it. + """ + return bool() + @isAutoHideSketchOnFeatureCreation.setter + def isAutoHideSketchOnFeatureCreation(self, value: bool): + """ + Gets and sets if the sketch should be automatically hidden whenever + a feature is created from it. + """ + pass + @property + def isSketchScaledWithFirstDimension(self) -> bool: + """ + Gets and sets if the sketch geometry is automatically scaled when + the first dimension is added. + """ + return bool() + @isSketchScaledWithFirstDimension.setter + def isSketchScaledWithFirstDimension(self, value: bool): + """ + Gets and sets if the sketch geometry is automatically scaled when + the first dimension is added. + """ + pass + @property + def isAllowReferencesDuringEditInPlace(self) -> bool: + """ + Gets and sets if you can create associative references while editing + external components in context. + """ + return bool() + @isAllowReferencesDuringEditInPlace.setter + def isAllowReferencesDuringEditInPlace(self, value: bool): + """ + Gets and sets if you can create associative references while editing + external components in context. + """ + pass + @property + def isEnableArrangeAndSimplifyTools(self) -> bool: + """ + Gets and sets if the Arrange, Remove Features, Remove Faces, and + Replace with Primitives commands should be added to the Modify menu + in the Design workspace. + """ + return bool() + @isEnableArrangeAndSimplifyTools.setter + def isEnableArrangeAndSimplifyTools(self, value: bool): + """ + Gets and sets if the Arrange, Remove Features, Remove Faces, and + Replace with Primitives commands should be added to the Modify menu + in the Design workspace. + """ + pass class FusionUnitsManager(core.UnitsManager): """ @@ -25939,7 +32302,7 @@ def setAllExtent(self, direction: ExtentDirections) -> bool: Returns true if successful. """ return bool() - def setOneSideToExtent(self, toEntity: core.Base, matchShape: bool, directionHint: core.Vector3D) -> bool: + def setOneSideToExtent(self, toEntity: core.Base, matchShape: bool, directionHint: core.Vector3D = None) -> bool: """ Sets the extent of the hole to be from the sketch plane to the specified "to" face. @@ -26011,7 +32374,7 @@ def setPositionBySketchPoints(self, sketchPoints: core.ObjectCollection) -> bool Returns true if successful. """ return bool() - def setPositionByPlaneAndOffsets(self, planarEntity: core.Base, point: core.Point3D, edgeOne: BRepEdge, offsetOne: core.ValueInput, edgeTwo: BRepEdge, offsetTwo: core.ValueInput) -> bool: + def setPositionByPlaneAndOffsets(self, planarEntity: core.Base, point: core.Point3D, edgeOne: BRepEdge, offsetOne: core.ValueInput, edgeTwo: BRepEdge = None, offsetTwo: core.ValueInput = None) -> bool: """ Redefines the orientation of the hole using a planar face or construction plane. The position of the hole is defined by the distance from one or two edges. @@ -26173,7 +32536,7 @@ def holePositionDefinition(self) -> HolePositionDefinition: def nativeObject(self) -> HoleFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -26281,6 +32644,96 @@ def __init__(self): def cast(arg) -> IGESExportOptions: return IGESExportOptions() +class IsoCurveAnalysis(Analysis): + """ + Represents any existing Iso Curve Analysis that exist in the design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> IsoCurveAnalysis: + return IsoCurveAnalysis() + +class LineOnPlanarSurfaceConstraint(GeometricConstraint): + """ + A sketch constraint defining that a line that lies on a planar face or construction plane. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> LineOnPlanarSurfaceConstraint: + return LineOnPlanarSurfaceConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> LineOnPlanarSurfaceConstraint: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return LineOnPlanarSurfaceConstraint() + @property + def line(self) -> SketchLine: + """ + Returns the SketchLine object that is constrained. + """ + return SketchLine() + @property + def planarSurface(self) -> core.Base: + """ + Returns the planar BRepFace or ConstructionPlane the line is constrained to lie on. + """ + return core.Base() + @property + def nativeObject(self) -> LineOnPlanarSurfaceConstraint: + """ + The NativeObject is the object outside the context of an assembly and + in the context of it's parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return LineOnPlanarSurfaceConstraint() + +class LineParallelToPlanarSurfaceConstraint(GeometricConstraint): + """ + A sketch constraint defining that a line is parallel to a planar face or construction plane. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> LineParallelToPlanarSurfaceConstraint: + return LineParallelToPlanarSurfaceConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> LineParallelToPlanarSurfaceConstraint: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return LineParallelToPlanarSurfaceConstraint() + @property + def line(self) -> SketchLine: + """ + Returns the SketchLine object that is constrained. + """ + return SketchLine() + @property + def planarSurface(self) -> core.Base: + """ + Returns the planar BRepFace or ConstructionPlane the line is parallel to. + """ + return core.Base() + @property + def nativeObject(self) -> LineParallelToPlanarSurfaceConstraint: + """ + The NativeObject is the object outside the context of an assembly and + in the context of it's parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return LineParallelToPlanarSurfaceConstraint() + class LoftDirectionEndCondition(LoftEndCondition): """ Represents a "Direction" loft end condition. @@ -26396,7 +32849,7 @@ def isSolid(self) -> bool: def nativeObject(self) -> LoftFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -26570,6 +33023,16 @@ def nativeObject(self) -> MidPointConstraint: """ return MidPointConstraint() +class MinimumRadiusAnalysis(Analysis): + """ + Represents any existing Minimum Radius Analysis that exist in the design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MinimumRadiusAnalysis: + return MinimumRadiusAnalysis() + class MirrorFeature(Feature): """ Object that represents an existing mirror feature in a design. @@ -26647,7 +33110,7 @@ def resultFeatures(self) -> core.ObjectCollection: def nativeObject(self) -> MirrorFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -26759,6 +33222,107 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> MoveFeature: Returns the proxy object or null if this isn't the NativeObject. """ return MoveFeature() + def redefineAsFreeMove(self, transform: core.Matrix3D) -> bool: + """ + Redefines the move feature to be described by an arbitrary translation and orientation + which is defined using a transformation matrix. + + To use this method, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + transform : The transformation matrix that defines the transform to apply. The matrix must + be an orthogonal matrix; that is the axes are perpendicular to each other + and there isn't any scaling or mirroring defined. + Returns true if the re-definition is successful. + """ + return bool() + def redefineAsTranslateXYZ(self, xDistance: core.ValueInput, yDistance: core.ValueInput, zDistance: core.ValueInput, isDesignSpace: bool) -> bool: + """ + Redefines the move feature to be described by a translation in X, Y, and Z. + + To use this method, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + xDistance : A ValueInput object that defines the offset in the X direction. If the ValueInput + is created using a real value, the distance is in centimeters. If it's defined using + a string, the default document units will be used. + yDistance : A ValueInput object that defines the offset in the Y direction. If the ValueInput + is created using a real value, the distance is in centimeters. If it's defined using + a string, the default document units will be used. + zDistance : A ValueInput object that defines the offset in the Z direction. If the ValueInput + is created using a real value, the distance is in centimeters. If it's defined using + a string, the default document units will be used. + isDesignSpace : Defines if the translation is defined with respect to the design or component space. + Design space is the same as the root component space. + Returns true if the re-definition is successful. + """ + return bool() + def redefineAsTranslateAlongEntity(self, linearEntity: core.Base, distance: core.ValueInput) -> bool: + """ + Redefines the move feature to be a translation along a specified entity. + + To use this method, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + linearEntity : A linear entity that defines the direction of the move. This can be a linear BRepEdge, + ConstructionAxis, or a SketchLine. The entity defines the direction, not the distance. + The natural direction of the entity defines the translation direction. + distance : A ValueInput object that defines the offset distance. If the ValueInput + is created using a real value, the distance is in centimeters. If it's defined using + a string, the default document units will be used. + Returns true if the redefinition is successful. + """ + return bool() + def redefineAsRotate(self, axisEntity: core.Base, angle: core.ValueInput) -> bool: + """ + Redefines the move feature to be described by an axis and rotation angle. + + To use this method, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + axisEntity : A linear entity that defines the axis of rotation. This can be a linear BRepEdge, + ConstructionAxis, or a SketchLine. The natural direction of the entity defines a + right-hand rule for the rotation direction. + angle : A ValueInput object that defines the rotation angle. If the ValueInput + is created using a real value, the angle is in radians. If it's defined using + a string, the default document units will be used. + Returns true if the redefinition is successful. + """ + return bool() + def redefineAsPointToPoint(self, originPoint: core.Base, targetPoint: core.Base) -> bool: + """ + Redefines the move feature to be a translation from one point to another. + + To use this method, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + originPoint : The first point that defines the start position of the move. + targetPoint : The second point that defines the direction and distance of the move. + Returns true if the redefinition is successful. + """ + return bool() + def redefineAsPointToPosition(self, point: core.Base, xDistance: core.ValueInput, yDistance: core.ValueInput, zDistance: core.ValueInput, isDesignSpace: bool) -> bool: + """ + Redefines a move feature to be described by a point and an offset. The distances + define offsets in the X, Y, and Z directions in either design or component space. To + not move the input entities at all the offset distances should be set to the current + location of the point in either design or component space. Adding or subtracting to + those values will then move the entities that distance. It's best to experiment with + the command interactively to understand the behavior. + + To use this method, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + point : An entity that defines a point in space. This can be a sketch point, a construction point, + or a BRepVertex. + xDistance : A ValueInput object that defines the offset in the X direction. If the ValueInput + is created using a real value, the distance is in centimeters. If it's defined using + a string, the default document units will be used. + yDistance : A ValueInput object that defines the offset in the Y direction. If the ValueInput + is created using a real value, the distance is in centimeters. If it's defined using + a string, the default document units will be used. + zDistance : A ValueInput object that defines the offset in the Z direction. If the ValueInput + is created using a real value, the distance is in centimeters. If it's defined using + a string, the default document units will be used. + isDesignSpace : Defines if the translation is defined with respect to the design or component space. + Design space is the same as the root component space. + Returns true if the redefinition is successful. + """ + return bool() @property def inputEntities(self) -> core.ObjectCollection: """ @@ -26782,9 +33346,37 @@ def inputEntities(self, value: core.ObjectCollection): """ pass @property + def nativeObject(self) -> MoveFeature: + """ + The NativeObject is the object outside the context of an assembly and + in the context of its parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return MoveFeature() + @property + def definition(self) -> MoveFeatureDefinition: + """ + Returns the MoveFeatureDefinition object which provides access to the information + that specifies how this MoveFeature is defined. + """ + return MoveFeatureDefinition() + +class MoveFeatureFreeMoveDefinition(MoveFeatureDefinition): + """ + The MoveFeatureFreeMoveDefinition object defines a move feature described by a transformation matrix. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MoveFeatureFreeMoveDefinition: + return MoveFeatureFreeMoveDefinition() + @property def transform(self) -> core.Matrix3D: """ - Gets and sets the move transform of the input bodies. + Gets and sets the transform that's applied to the face or body. + The matrix must be an orthogonal matrix; that is the axes are + perpendicular to each other and there isn't any scaling or mirroring defined. To set this property, you need to position the timeline marker to immediately before this feature. This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) @@ -26793,21 +33385,266 @@ def transform(self) -> core.Matrix3D: @transform.setter def transform(self, value: core.Matrix3D): """ - Gets and sets the move transform of the input bodies. + Gets and sets the transform that's applied to the face or body. + The matrix must be an orthogonal matrix; that is the axes are + perpendicular to each other and there isn't any scaling or mirroring defined. To set this property, you need to position the timeline marker to immediately before this feature. This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) """ pass + +class MoveFeaturePointToPointDefinition(MoveFeatureDefinition): + """ + The MoveFeaturePointToPointDefinition object defines a move feature described by the + translation from one point to another. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MoveFeaturePointToPointDefinition: + return MoveFeaturePointToPointDefinition() @property - def nativeObject(self) -> MoveFeature: + def originPoint(self) -> core.Base: """ - The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. - Returns null in the case where this object is not in the context of - an assembly but is already the native object. + Gets and sets the first point that defines the start position of the move. + + To use this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) """ - return MoveFeature() + return core.Base() + @originPoint.setter + def originPoint(self, value: core.Base): + """ + Gets and sets the first point that defines the start position of the move. + + To use this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass + @property + def targetPoint(self) -> core.Base: + """ + Gets and sets the second point that defines the direction and distance of the move. + + To use this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + return core.Base() + @targetPoint.setter + def targetPoint(self, value: core.Base): + """ + Gets and sets the second point that defines the direction and distance of the move. + + To use this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass + +class MoveFeaturePointToPositionDefinition(MoveFeatureDefinition): + """ + The MoveFeaturePointToPositionDefinition object defines a move feature described + by a point and an offset. The distances define offsets in the X, Y, and Z directions + in either design or component space. To not move the input entities at all the offset + distances should be set to the current location of the point in either design or component + space. Adding or subtracting to those values will then move the entities that distance. + It's best to experiment with the command interactively to understand the behavior. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MoveFeaturePointToPositionDefinition: + return MoveFeaturePointToPositionDefinition() + @property + def point(self) -> core.Base: + """ + Gets and sets the entity that defines a point in space. This can be a sketch point, + a construction point, or a BRepVertex. + + To use this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + return core.Base() + @point.setter + def point(self, value: core.Base): + """ + Gets and sets the entity that defines a point in space. This can be a sketch point, + a construction point, or a BRepVertex. + + To use this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass + @property + def xDistance(self) -> ModelParameter: + """ + Gets the model parameter that controls the offset in the X direction. You can use properties + """ + return ModelParameter() + @property + def yDistance(self) -> ModelParameter: + """ + Gets the model parameter that controls the offset in the Y direction. You can use properties + """ + return ModelParameter() + @property + def zDistance(self) -> ModelParameter: + """ + Gets the model parameter that controls the offset in the Z direction. You can use properties + """ + return ModelParameter() + @property + def isDesignSpace(self) -> bool: + """ + Gets and sets if the translation is defined with respect to the design or component space. + Design space is the same as the root component space. + + To use this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + return bool() + @isDesignSpace.setter + def isDesignSpace(self, value: bool): + """ + Gets and sets if the translation is defined with respect to the design or component space. + Design space is the same as the root component space. + + To use this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass + +class MoveFeatureRotateDefinition(MoveFeatureDefinition): + """ + The MoveFeatureRotateDefinition object defines a move feature described by a rotation + around a specified entity. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MoveFeatureRotateDefinition: + return MoveFeatureRotateDefinition() + @property + def axisEntity(self) -> core.Base: + """ + Gets and sets the linear entity that defines the axis of rotation. This can be a linear BRepEdge, + ConstructionAxis, or a SketchLine. The natural direction of the entity defines a + right-hand rule for the rotation direction. + + To use this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + return core.Base() + @axisEntity.setter + def axisEntity(self, value: core.Base): + """ + Gets and sets the linear entity that defines the axis of rotation. This can be a linear BRepEdge, + ConstructionAxis, or a SketchLine. The natural direction of the entity defines a + right-hand rule for the rotation direction. + + To use this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass + @property + def angle(self) -> ModelParameter: + """ + Gets the model parameter that controls the rotation angle. You can use properties + on the returned ModelParameter object to edit the offset distance. + """ + return ModelParameter() + +class MoveFeatureTranslateAlongEntityDefinition(MoveFeatureDefinition): + """ + The MoveFeatureTranslateAlongEntityDefinition object defines a move feature described by a + translation in the direction defined by a specified entity. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MoveFeatureTranslateAlongEntityDefinition: + return MoveFeatureTranslateAlongEntityDefinition() + @property + def linearEntity(self) -> core.Base: + """ + Gets and sets the linear entity that defines the direction of the move. This can be a linear BRepEdge, + ConstructionAxis, or a SketchLine. The entity defines the direction, not the distance. + The natural direction of the entity defines the translation direction. + + To set this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + return core.Base() + @linearEntity.setter + def linearEntity(self, value: core.Base): + """ + Gets and sets the linear entity that defines the direction of the move. This can be a linear BRepEdge, + ConstructionAxis, or a SketchLine. The entity defines the direction, not the distance. + The natural direction of the entity defines the translation direction. + + To set this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass + @property + def distance(self) -> ModelParameter: + """ + Gets the model parameter that controls the offset distance. You can use properties + on the returned ModelParameter object to edit the offset distance. + """ + return ModelParameter() + +class MoveFeatureTranslateXYZDefinition(MoveFeatureDefinition): + """ + The MoveFeatureTranslateXYZDefinition object defines a move feature described by + offsets in the X, Y, and Z directions. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MoveFeatureTranslateXYZDefinition: + return MoveFeatureTranslateXYZDefinition() + @property + def xDistance(self) -> ModelParameter: + """ + Gets the model parameter that controls the X distance of the translation. You + can use properties on the returned ModelParameter object to edit the offset distance. + """ + return ModelParameter() + @property + def yDistance(self) -> ModelParameter: + """ + Gets the model parameter that controls the Y distance of the translation. You + can use properties on the returned ModelParameter object to edit the offset distance. + """ + return ModelParameter() + @property + def zDistance(self) -> ModelParameter: + """ + Gets the model parameter that controls the Z distance of the translation. You + can use properties on the returned ModelParameter object to edit the offset distance. + """ + return ModelParameter() + @property + def isDesignSpace(self) -> bool: + """ + Gets and sets if the translation is defined with respect to the design or component space. + Design space is the same as the root component space. + + To set this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + return bool() + @isDesignSpace.setter + def isDesignSpace(self, value: bool): + """ + Gets and sets if the translation is defined with respect to the design or component space. + Design space is the same as the root component space. + + To set this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass class MultiLineTextDefinition(SketchTextDefinition): """ @@ -26818,7 +33655,7 @@ def __init__(self): @staticmethod def cast(arg) -> MultiLineTextDefinition: return MultiLineTextDefinition() - def rotate(self, angle: float, keyPoint: TextBoxKeyPoints) -> bool: + def rotate(self, angle: float, keyPoint: TextBoxKeyPoints = TextBoxKeyPoints.MiddleTextBoxKeyPoint) -> bool: """ Rotates the text box. angle : The angle to rotate the text, specified in radians. @@ -26827,14 +33664,14 @@ def rotate(self, angle: float, keyPoint: TextBoxKeyPoints) -> bool: """ return bool() @property - def rectangleLines(self) -> SketchLineList: + def rectangleLines(self) -> list[SketchLine]: """ Returns the four sketch lines that define the boundary of the sketch text. By adding constraints to these lines you can associatively control the size, position and angle of the sketch text. If the MultiLineTextDefinition object is obtained from a SketchTextInput object, this property will return null because the text and it's associated lines have not been created yet. """ - return SketchLineList() + return [SketchLine()] @property def horizontalAlignment(self) -> core.HorizontalAlignments: """ @@ -26876,6 +33713,169 @@ def characterSpacing(self, value: float): """ pass +class OBJExportOptions(ExportOptions): + """ + Defines that an OBJ export is to be done and specifies the various options. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> OBJExportOptions: + return OBJExportOptions() + @property + def isOneFilePerBody(self) -> bool: + """ + If the input is an Occurrence or the root Component, this specifies if a single file should be created containing + all of the bodies within that occurrence or component or if multiple files should be created; one for each body. + If multiple files are created, the body name is appended to the filename. The default is false. + """ + return bool() + @isOneFilePerBody.setter + def isOneFilePerBody(self, value: bool): + """ + If the input is an Occurrence or the root Component, this specifies if a single file should be created containing + all of the bodies within that occurrence or component or if multiple files should be created; one for each body. + If multiple files are created, the body name is appended to the filename. The default is false. + """ + pass + @property + def meshRefinement(self) -> MeshRefinementSettings: + """ + Gets and sets the current simple mesh refinement settings. Setting this property + will reset the surfaceDeviation, normalDeviation, maximumEdgeLength, and aspectRatio + to values that correspond to the specified mesh refinement. The default is MeshRefinementMedium. + """ + return MeshRefinementSettings() + @meshRefinement.setter + def meshRefinement(self, value: MeshRefinementSettings): + """ + Gets and sets the current simple mesh refinement settings. Setting this property + will reset the surfaceDeviation, normalDeviation, maximumEdgeLength, and aspectRatio + to values that correspond to the specified mesh refinement. The default is MeshRefinementMedium. + """ + pass + @property + def surfaceDeviation(self) -> float: + """ + Gets and sets the current surface deviation, or the distance the mesh can deviate + from the actual surface. This is defined in centimeter. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + associated with medium mesh refinement. + """ + return float() + @surfaceDeviation.setter + def surfaceDeviation(self, value: float): + """ + Gets and sets the current surface deviation, or the distance the mesh can deviate + from the actual surface. This is defined in centimeter. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + associated with medium mesh refinement. + """ + pass + @property + def normalDeviation(self) -> float: + """ + Gets and sets the current normal deviation, or the angle the mesh normals at the vertices can deviate + from the actual surface normals. This is defined in radians. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + associated with medium mesh refinement. + """ + return float() + @normalDeviation.setter + def normalDeviation(self, value: float): + """ + Gets and sets the current normal deviation, or the angle the mesh normals at the vertices can deviate + from the actual surface normals. This is defined in radians. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + associated with medium mesh refinement. + """ + pass + @property + def maximumEdgeLength(self) -> float: + """ + Gets and sets the maximum length of any mesh edge. This is defined in centimeter. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + associated with medium mesh refinement. + """ + return float() + @maximumEdgeLength.setter + def maximumEdgeLength(self, value: float): + """ + Gets and sets the maximum length of any mesh edge. This is defined in centimeter. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + associated with medium mesh refinement. + """ + pass + @property + def aspectRatio(self) -> float: + """ + Gets and sets the minimum aspect ratio for that triangles that are generated for the mesh. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + associated with medium mesh refinement. + """ + return float() + @aspectRatio.setter + def aspectRatio(self, value: float): + """ + Gets and sets the minimum aspect ratio for that triangles that are generated for the mesh. Setting this property + will automatically set the meshRefinement to MeshRefinementCustom. The default is the value + associated with medium mesh refinement. + """ + pass + @property + def availablePrintUtilities(self) -> list[str]: + """ + Returns a list of the known available print utilities. These strings can be used to set the PrintUtility + property to specify which print utility to open the OBJ file in. + """ + return [str()] + @property + def printUtility(self) -> str: + """ + Specifies which print utility to use when opening the OBJ file if the sendToPrintUtility property is true. + The value of this property can be one of the strings returned by the availalbePrintUtilities property, which + will specify one of the known print utilities. You can also specify a custom print utility by specifying + the full path to the print utility executable. The default value of this property is the last setting specified + in the user-interface. + """ + return str() + @printUtility.setter + def printUtility(self, value: str): + """ + Specifies which print utility to use when opening the OBJ file if the sendToPrintUtility property is true. + The value of this property can be one of the strings returned by the availalbePrintUtilities property, which + will specify one of the known print utilities. You can also specify a custom print utility by specifying + the full path to the print utility executable. The default value of this property is the last setting specified + in the user-interface. + """ + pass + @property + def sendToPrintUtility(self) -> bool: + """ + Gets and sets whether the created OBJ file will be sent to the print utility specified by the printUtility property. If this + is false a filename must be defined. The default is false. + """ + return bool() + @sendToPrintUtility.setter + def sendToPrintUtility(self, value: bool): + """ + Gets and sets whether the created OBJ file will be sent to the print utility specified by the printUtility property. If this + is false a filename must be defined. The default is false. + """ + pass + @property + def unitType(self) -> DistanceUnits: + """ + Gets and sets the units to use for the created OBJ file. The default is Centimeters. + """ + return DistanceUnits() + @unitType.setter + def unitType(self, value: DistanceUnits): + """ + Gets and sets the units to use for the created OBJ file. The default is Centimeters. + """ + pass + class OffsetConstraint(GeometricConstraint): """ An offset constraint in a sketch. @@ -26957,7 +33957,7 @@ def __init__(self): @staticmethod def cast(arg) -> OffsetFeature: return OffsetFeature() - def setInputEntities(self, entities: core.ObjectCollection, isChainSelection: bool) -> bool: + def setInputEntities(self, entities: core.ObjectCollection, isChainSelection: bool = True) -> bool: """ Sets the faces and sheet bodies to offset. @@ -27023,7 +34023,7 @@ def operation(self) -> FeatureOperations: def nativeObject(self) -> OffsetFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -27097,47 +34097,6 @@ def position(self) -> HoleEdgePositions: """ return HoleEdgePositions() -class OneSideToExtentDefinition(ExtentDefinition): - """ - Defines the inputs for a OneSideToExtentDefinition object. - This defines a feature extent that goes up to a face or construction plane in one direction. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> OneSideToExtentDefinition: - return OneSideToExtentDefinition() - @property - def toEntity(self) -> core.Base: - """ - Gets and sets the entity that defines the extent. The valid types of entities can vary depending on - the type of feature this is being used with. - """ - return core.Base() - @toEntity.setter - def toEntity(self, value: core.Base): - """ - Gets and sets the entity that defines the extent. The valid types of entities can vary depending on - the type of feature this is being used with. - """ - pass - @property - def matchShape(self) -> bool: - """ - Specifies if the face should be extended or use adjacent faces if necessary to define the termination - of the extrusion. - When used for a revolve feature this is ignored and is always treated as true. - """ - return bool() - @matchShape.setter - def matchShape(self, value: bool): - """ - Specifies if the face should be extended or use adjacent faces if necessary to define the termination - of the extrusion. - When used for a revolve feature this is ignored and is always treated as true. - """ - pass - class ParallelConstraint(GeometricConstraint): """ A parallel constraint in a sketch. @@ -27180,7 +34139,7 @@ def nativeObject(self) -> ParallelConstraint: class PatchFeature(Feature): """ - Object that represents an existing patch feature in a design. + An object that represents an existing patch feature in a design. """ def __init__(self): pass @@ -27190,29 +34149,72 @@ def cast(arg) -> PatchFeature: def createForAssemblyContext(self, occurrence: Occurrence) -> PatchFeature: """ Creates or returns a proxy for the native object - - i.e. a new object that represents this object but adds the assembly context + - i.e., a new object that represents this object but adds the assembly context defined by the input occurrence. - occurrence : The occurrence that defines the context to create the proxy in. + occurrence : The occurrence that defines the context to create the proxy. Returns the proxy object or null if this is not the NativeObject. """ return PatchFeature() + def setContinuity(self, continuity: list[int], weight: list[float], isContinuityDirectionFlipped: list[bool]) -> bool: + """ + Sets the continuity to use for each edge in the boundary. The arrays for the arguments correspond + to B-Rep edges in the boundary. You can use the getContinuity method to get the list of edges to + know their order. This order applies to the arrays provided for the arguments. + continuity : An array whose size of the number of B-Rep edges in the boundary. You can use the getContinuity + method to get the list of edges, so you know the number and order of the edges. The continuity array defines the + type of continuity to apply to the edge at the same index. The values are obtained from the SurfaceContinuityTypes + enum and passed in as an integer. + weight : An array whose size is the number of B-Rep edges in the boundary. You can use the getContinuity + method to get the list of edges, so you know the number and order of the edges. The weight array defines the + weight to apply to the edge at the same index. If the continuity of an edge is ConnectedSurfaceContinuityType, + the weight value is ignored. + isContinuityDirectionFlipped : An array whose size is the number of B-Rep edges in the boundary. You can use the getContinuity + method to get the list of edges, so you know the number and order of the edges. The isContinuityDirectionFlipped + array defines which of the two faces the edge connects to and is used in computing the continuity direction. If the + continuity is ConnectedSurfaceContinuityType, or the edge is an open edge and only connected to a single face, + the value is ignored. + + If false, the face associated with the first co-edge returned by the edge is used. + Returns true if successful. + """ + return bool() + def getContinuity(self) -> tuple[bool, list[BRepEdge], list[int], list[float], list[bool]]: + """ + Gets the continuity used for each edge in the boundary. + + To call this method, you need to position the timeline marker immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + edges : Output array containing all of the BRepEdge objects in the boundary. + continuity : Output array the same size as the edges array that defines the continuity + to apply to the edge in the same index in the edges array. The values are obtained + from the SurfaceContinuityTypes enum and passed in as an integers. + weight : Output array the same size as the edges array that defines the weight applied + to the edge in the same index in the edges array. If the continuity + of an edge is ConnectedSurfaceContinuityType, the weight value should be ignored. + isContinuityDirectionFlipped : Output array the same size as the edges array that defines which of the two faces the + edge connects to is used in computing the continuity direction. If the continuity is + ConnectedSurfaceContinuityType or the edge is an open edge and only connected to a + single face, the value should be ignored. + + If false, the face associated with the first co-edge returned by the edge is used. + Returns true if successful. + """ + return (bool(), [BRepEdge()], [int()], [float()], [bool()]) @property def boundaryCurve(self) -> core.Base: """ Returns an ObjectCollection that contains all of the sketch curves or B-Rep edges - that define the closed outer boundary of the patch feature. + that defines the closed outer boundary of the patch feature. When setting this property, the input can be a sketch profile, a single sketch curve, a single B-Rep edge, - or an ObjectCollection of sketch curves or B-Rep edges. + or an ObjectCollection of sketch curves and B-Rep edges. - If a single sketch curve or B-Rep edge is input, that is not closed, Fusion 360 will automatically find connected sketch curves - or B-Rep edges in order to define a closed loop. All sketch curves are valid as input. BRepEdges are valid if they are - an "open" edge, which means they are only used by one face. + If a single open sketch curve or B-Rep edge is input, Fusion 360 will automatically find connected sketch curves + or B-Rep edges to define a closed loop. - If an ObjectCollection of sketch curves or B-Rep edges is input they must define a closed shape and the B-Rep - edges must be valid "open" edges. + If an ObjectCollection of sketch curves or B-Rep edges is input, they must define a closed shape. - To use this property, you need to position the timeline marker to immediately before this feature. + To get or set this property, you need to position the timeline marker immediately before this feature. This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) """ return core.Base() @@ -27220,19 +34222,17 @@ def boundaryCurve(self) -> core.Base: def boundaryCurve(self, value: core.Base): """ Returns an ObjectCollection that contains all of the sketch curves or B-Rep edges - that define the closed outer boundary of the patch feature. + that defines the closed outer boundary of the patch feature. When setting this property, the input can be a sketch profile, a single sketch curve, a single B-Rep edge, - or an ObjectCollection of sketch curves or B-Rep edges. + or an ObjectCollection of sketch curves and B-Rep edges. - If a single sketch curve or B-Rep edge is input, that is not closed, Fusion 360 will automatically find connected sketch curves - or B-Rep edges in order to define a closed loop. All sketch curves are valid as input. BRepEdges are valid if they are - an "open" edge, which means they are only used by one face. + If a single open sketch curve or B-Rep edge is input, Fusion 360 will automatically find connected sketch curves + or B-Rep edges to define a closed loop. - If an ObjectCollection of sketch curves or B-Rep edges is input they must define a closed shape and the B-Rep - edges must be valid "open" edges. + If an ObjectCollection of sketch curves or B-Rep edges is input, they must define a closed shape. - To use this property, you need to position the timeline marker to immediately before this feature. + To get or set this property, you need to position the timeline marker immediately before this feature. This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) """ pass @@ -27243,34 +34243,148 @@ def operation(self) -> FeatureOperations: """ return FeatureOperations() @property - def continuity(self) -> SurfaceContinuityTypes: + def nativeObject(self) -> PatchFeature: """ - Gets and sets the type of surface continuity used when creating the patch face. This is only used when BRepEdges are input and - defines the continuity of how the patch face connects to the face adjacent to each of the input edges. + The NativeObject is the object outside the context of an assembly and + in the context of its parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return PatchFeature() + @property + def interiorRailsAndPoints(self) -> core.ObjectCollection: + """ + Gets and sets any interior curves or points the patch should fit + through. Valid entities include object collections of connected curves, paths, sketch curves, + sketch points, B-Rep edges, and construction points. - To set this property, you need to position the timeline marker to immediately before this feature. + When getting this property, the returned ObjectCollection can contain individual edges, sketch curves, + sketch points, construction points, vertices, and ObjectCollection objects that represent a group + of the curves and points listed above. + + Can be set to null to remove any interior rails and points from the patch. + + To get or set this property, you need to position the timeline marker immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + return core.ObjectCollection() + @interiorRailsAndPoints.setter + def interiorRailsAndPoints(self, value: core.ObjectCollection): + """ + Gets and sets any interior curves or points the patch should fit + through. Valid entities include object collections of connected curves, paths, sketch curves, + sketch points, B-Rep edges, and construction points. + + When getting this property, the returned ObjectCollection can contain individual edges, sketch curves, + sketch points, construction points, vertices, and ObjectCollection objects that represent a group + of the curves and points listed above. + + Can be set to null to remove any interior rails and points from the patch. + + To get or set this property, you need to position the timeline marker immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass + @property + def isGroupEdges(self) -> bool: + """ + Gets and sets if the edges in the boundary curve are treated as a group + , and they all use the same continuity. If this property is True (which is the default), + the continuity for all edges is controlled by the continuity property. If + this property is false; the continuity is set for each edge using the + setContinuity method. + + When this property is set to true, the continuity and weight of the first edge + will be used for all edges. When set to false, each edge will initially have + the same continuity and weight. This property is typically set to false by calling the + setContinuity method, which has the side effect of changing this to false. + + To get or set this property, you need to position the timeline marker immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + return bool() + @isGroupEdges.setter + def isGroupEdges(self, value: bool): + """ + Gets and sets if the edges in the boundary curve are treated as a group + , and they all use the same continuity. If this property is True (which is the default), + the continuity for all edges is controlled by the continuity property. If + this property is false; the continuity is set for each edge using the + setContinuity method. + + When this property is set to true, the continuity and weight of the first edge + will be used for all edges. When set to false, each edge will initially have + the same continuity and weight. This property is typically set to false by calling the + setContinuity method, which has the side effect of changing this to false. + + To get or set this property, you need to position the timeline marker immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass + @property + def groupContinuity(self) -> SurfaceContinuityTypes: + """ + Gets and sets the type of surface continuity to use for all edges when the isGroupEdges property is true. + The continuity is used to determine how the patch connects to any B-Rep edges in the boundary. It is + ignored for any sketch curves in the boundary. The property defaults to ConnectedSurfaceContinuityType. + The value of this property is ignored if the isGroupEdges property is false. + + To get or set this property, you need to position the timeline marker immediately before this feature. This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) """ return SurfaceContinuityTypes() - @continuity.setter - def continuity(self, value: SurfaceContinuityTypes): + @groupContinuity.setter + def groupContinuity(self, value: SurfaceContinuityTypes): """ - Gets and sets the type of surface continuity used when creating the patch face. This is only used when BRepEdges are input and - defines the continuity of how the patch face connects to the face adjacent to each of the input edges. + Gets and sets the type of surface continuity to use for all edges when the isGroupEdges property is true. + The continuity is used to determine how the patch connects to any B-Rep edges in the boundary. It is + ignored for any sketch curves in the boundary. The property defaults to ConnectedSurfaceContinuityType. + The value of this property is ignored if the isGroupEdges property is false. - To set this property, you need to position the timeline marker to immediately before this feature. + To get or set this property, you need to position the timeline marker immediately before this feature. This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) """ pass @property - def nativeObject(self) -> PatchFeature: + def groupWeight(self) -> float: """ - The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. - Returns null in the case where this object is not in the context of - an assembly but is already the native object. + Gets and sets the weight to use for all edges when the isGroupEdges property is true. It is ignored for any sketch curves + in the boundary. The property defaults to 0.5. The value of this property is ignored if the isGroupEdges property is false. + + To get or set this property, you need to position the timeline marker immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) """ - return PatchFeature() + return float() + @groupWeight.setter + def groupWeight(self, value: float): + """ + Gets and sets the weight to use for all edges when the isGroupEdges property is true. It is ignored for any sketch curves + in the boundary. The property defaults to 0.5. The value of this property is ignored if the isGroupEdges property is false. + + To get or set this property, you need to position the timeline marker immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass + @property + def groupIsContinuityDirectionFlipped(self) -> bool: + """ + Gets and sets the continuity direction for all edges when the isGroupEdges property is true. It is ignored for any sketch curves + in the boundary. The property defaults to false. The value of this property is ignored if the isGroupEdges property is false. + + To get or set this property, you need to position the timeline marker immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + return bool() + @groupIsContinuityDirectionFlipped.setter + def groupIsContinuityDirectionFlipped(self, value: bool): + """ + Gets and sets the continuity direction for all edges when the isGroupEdges property is true. It is ignored for any sketch curves + in the boundary. The property defaults to false. The value of this property is ignored if the isGroupEdges property is false. + + To get or set this property, you need to position the timeline marker immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass class PathPatternFeature(Feature): """ @@ -27475,7 +34589,7 @@ def resultFeatures(self) -> core.ObjectCollection: def nativeObject(self) -> PathPatternFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -27548,6 +34662,46 @@ def nativeObject(self) -> PerpendicularConstraint: """ return PerpendicularConstraint() +class PerpendicularToSurfaceConstraint(GeometricConstraint): + """ + A sketch constraint defining that a curve is perpendicular to a face or construction plane. Line and spline curves are supported. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PerpendicularToSurfaceConstraint: + return PerpendicularToSurfaceConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> PerpendicularToSurfaceConstraint: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return PerpendicularToSurfaceConstraint() + @property + def curve(self) -> SketchCurve: + """ + Returns the SketchCurve object that is constrained. + """ + return SketchCurve() + @property + def surface(self) -> core.Base: + """ + Returns the BRepFace or ConstructionPlane the line is constrained to be perpendicular to. + """ + return core.Base() + @property + def nativeObject(self) -> PerpendicularToSurfaceConstraint: + """ + The NativeObject is the object outside the context of an assembly and + in the context of it's parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return PerpendicularToSurfaceConstraint() + class PinSlotJointMotion(JointMotion): """ Represents the set of information specific to a pin slot joint. @@ -27725,6 +34879,179 @@ def __init__(self): @staticmethod def cast(arg) -> PipeFeature: return PipeFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> PipeFeature: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return PipeFeature() + def setThickness(self, value: core.ValueInput) -> bool: + """ + Defines the section thickness of the Pipe. + + In case the pipe is not already hollow, this also sets the isHollow to true. + """ + return bool() + @property + def nativeObject(self) -> PipeFeature: + """ + The NativeObject is the object outside the context of an assembly and + in the context of its parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return PipeFeature() + @property + def operation(self) -> FeatureOperations: + """ + Gets and sets the type of operation performed by the Pipe. + """ + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): + """ + Gets and sets the type of operation performed by the Pipe. + """ + pass + @property + def path(self) -> Path: + """ + Gets and sets the path to create the Pipe. + This property returns null in the case where the feature is non-parametric. + The path can be either closed (you can reach again the starting point by following the curves) or open (the starting point and end point are different in the path). + + The starting point of the Pipe will be the starting point of the first curve in the Path, regardless of it being open or closed. + When the desired Pipe has a section that includes the starting point and the path is closed, the curves should be shifted in a circular pattern. + + To set this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + return Path() + @path.setter + def path(self, value: Path): + """ + Gets and sets the path to create the Pipe. + This property returns null in the case where the feature is non-parametric. + The path can be either closed (you can reach again the starting point by following the curves) or open (the starting point and end point are different in the path). + + The starting point of the Pipe will be the starting point of the first curve in the Path, regardless of it being open or closed. + When the desired Pipe has a section that includes the starting point and the path is closed, the curves should be shifted in a circular pattern. + + To set this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass + @property + def distanceOne(self) -> ModelParameter: + """ + Gets the distance for the pipe created while following the path given as input, in the same order. + + If the path is open, this value returns the length of Pipe relative to the length of the path. + If the path is closed, this value returns the length of the Pipe from the start point going along the curves. + Ex: Path is made of curves A-B-C-A. The distanceOne returns the length of the pipe going from A-B-C-A. + + This property returns null in the case where the feature is non-parametric. + """ + return ModelParameter() + @property + def distanceTwo(self) -> ModelParameter: + """ + Gets the distance for the pipe created while following the reversed path given as input. + + If the path is open, getting this value returns null, and setting the value is ignored. + If the path is closed, this value returns the length of the Pipe from the start point going in the reverse order of the path. + Ex: Path is made of curves A-B-C-A. The distanceTwo returns the length of the pipe going from A-C-B-A. + + This property returns null in the case where the feature is non-parametric. + """ + return ModelParameter() + @property + def sectionType(self) -> PipeSectionTypes: + """ + Gets and sets the section type of the Pipe. + The type can be: Circular, Square, Triangular. + """ + return PipeSectionTypes() + @sectionType.setter + def sectionType(self, value: PipeSectionTypes): + """ + Gets and sets the section type of the Pipe. + The type can be: Circular, Square, Triangular. + """ + pass + @property + def sectionSize(self) -> ModelParameter: + """ + Gets and sets the section size of the Pipe. + """ + return ModelParameter() + @property + def isHollow(self) -> bool: + """ + Specifies if the Pipe is hollow or not. + + Setting this to true will default the sectionThickness to 0.1 cm. + """ + return bool() + @isHollow.setter + def isHollow(self, value: bool): + """ + Specifies if the Pipe is hollow or not. + + Setting this to true will default the sectionThickness to 0.1 cm. + """ + pass + @property + def sectionThickness(self) -> ModelParameter: + """ + Gets the section thickness of the Pipe. + + If the pipe is not hollow, this will return null. + """ + return ModelParameter() + @property + def startFaces(self) -> BRepFaces: + """ + Property that returns the set of faces that cap one end of the Pipe that are coincident with the sketch plane. + In the cases where there aren't any start faces this property will return null. + """ + return BRepFaces() + @property + def endFaces(self) -> BRepFaces: + """ + Property that returns the set of faces that cap one end of the Pipe that are coincident with the sketch plane. + The end faces are those not coincident to the sketch plane of the feature's profile. + In the case of a symmetric Pipe these faces are the ones on the negative normal side of the sketch plane. + In the cases where there aren't any end faces this property will return null. + """ + return BRepFaces() + @property + def sideFaces(self) -> BRepFaces: + """ + Property that returns a object that provides access to all of the faces created around the perimeter of the feature. + """ + return BRepFaces() + @property + def participantBodies(self) -> list[BRepBody]: + """ + Gets and sets the list of bodies that will participate in the feature when the operation is a cut or intersection. + + To use this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + return [BRepBody()] + @participantBodies.setter + def participantBodies(self, value: list[BRepBody]): + """ + Gets and sets the list of bodies that will participate in the feature when the operation is a cut or intersection. + + To use this property, you need to position the timeline marker to immediately before this feature. + This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) + """ + pass class PlanarJointMotion(JointMotion): """ @@ -28028,6 +35355,206 @@ def __init__(self): @staticmethod def cast(arg) -> RectangularPatternConstraint: return RectangularPatternConstraint() + def setDirectionOne(self, directionOneEntity: SketchLine, quantityOne: core.ValueInput, distanceOne: core.ValueInput) -> bool: + """ + Sets all of the input required to define the pattern in the first direction. + directionOneEntity : Specifies the SketchLine object used to define the first direction entity. + + This argument can be null to indicate that the default first direction is to be used, + which is along the X axis of the sketch. + quantityOne : Specifies the number of instances in the first direction. + distanceOne : Specifies the distance in the first direction. How this value is used depends on the value + of the PatternDistanceType property. If the value is ExtentPatternDistanceType then it defines + the total distance of the pattern. If the value is SpacingPatternDistanceType then it defines + the distance between each element. + Returns true if it was successful. + """ + return bool() + def setDirectionTwo(self, directionTwoEntity: SketchLine, quantityTwo: core.ValueInput, distanceTwo: core.ValueInput) -> bool: + """ + Sets all of the input required to define the pattern in the second direction. + directionTwoEntity : Specifies the SketchLine object used to define the second direction entity. + + This argument can be null to indicate that the default second direction is to be used, which is 90 + degrees to the first direction. + quantityTwo : Specifies the number of instances in the second direction. + distanceTwo : Specifies the distance in the second direction. How this value is used depends on the value of + the PatternDistanceType property. If the value is ExtentPatternDistanceType then it defines the + total distance of the pattern. If the value is SpacingPatternDistanceType then it defines the + distance between each element. + Returns true if it was successful. + """ + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> RectangularPatternConstraint: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return RectangularPatternConstraint() + @property + def entities(self) -> list[SketchEntity]: + """ + Gets and sets the entities that are patterned. Sketch points and curves are valid + entities to pattern. + """ + return [SketchEntity()] + @entities.setter + def entities(self, value: list[SketchEntity]): + """ + Gets and sets the entities that are patterned. Sketch points and curves are valid + entities to pattern. + """ + pass + @property + def createdEntities(self) -> list[SketchEntity]: + """ + Returns an array that contains all of the sketch entities that were created as a result + of the pattern. This does not contain the original entities that were used as input to + the pattern. The input entities can be obtained by using the entities property. + """ + return [SketchEntity()] + @property + def directionOneEntity(self) -> SketchLine: + """ + Gets and sets the entity that defined the first direction of the pattern. This can + be null which indicates to use the default which is the X-axis of the sketch. Setting + this property to null will automatically clear directionTwoEntity, if it has been set. + """ + return SketchLine() + @directionOneEntity.setter + def directionOneEntity(self, value: SketchLine): + """ + Gets and sets the entity that defined the first direction of the pattern. This can + be null which indicates to use the default which is the X-axis of the sketch. Setting + this property to null will automatically clear directionTwoEntity, if it has been set. + """ + pass + @property + def directionTwoEntity(self) -> SketchLine: + """ + Gets and sets the entity that defines the second direction of the pattern. This can + be null which indicates to use the default direction, which is perpendicular to direction + one. The directionOneEntity property must be set before setting this property. + """ + return SketchLine() + @directionTwoEntity.setter + def directionTwoEntity(self, value: SketchLine): + """ + Gets and sets the entity that defines the second direction of the pattern. This can + be null which indicates to use the default direction, which is perpendicular to direction + one. The directionOneEntity property must be set before setting this property. + """ + pass + @property + def quantityOne(self) -> ModelParameter: + """ + Returns the parameter that controls the number of instances in the first direction. To change + the value, use the properties on the returned ModelParameter. + """ + return ModelParameter() + @property + def quantityTwo(self) -> ModelParameter: + """ + Returns the parameter that controls the number of instances in the second direction. To change + the value, use the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def distanceOne(self) -> ModelParameter: + """ + Returns the parameter that controls the distance in first direction. To change the + value, use the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def distanceTwo(self) -> ModelParameter: + """ + Returns the parameter that controls the distance in second direction. To change the + value, use the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def isSymmetricInDirectionOne(self) -> bool: + """ + Gets and sets if the pattern in direction one is in one direction or is symmetric. + """ + return bool() + @isSymmetricInDirectionOne.setter + def isSymmetricInDirectionOne(self, value: bool): + """ + Gets and sets if the pattern in direction one is in one direction or is symmetric. + """ + pass + @property + def isSymmetricInDirectionTwo(self) -> bool: + """ + Gets and sets if the pattern in direction two is in one direction or is symmetric. + """ + return bool() + @isSymmetricInDirectionTwo.setter + def isSymmetricInDirectionTwo(self, value: bool): + """ + Gets and sets if the pattern in direction two is in one direction or is symmetric. + """ + pass + @property + def distanceType(self) -> PatternDistanceType: + """ + Gets and sets how the distance between elements is computed. + """ + return PatternDistanceType() + @distanceType.setter + def distanceType(self, value: PatternDistanceType): + """ + Gets and sets how the distance between elements is computed. + """ + pass + @property + def isSuppressed(self) -> list[bool]: + """ + Specifies which, if any, instances of the pattern are suppressed. This returns an + array of Boolean values that indicates if a particular instance in the pattern is + suppressed or not. A value of true will result in the associated instance being suppressed. + + The indices represent the pattern instances in a row-column order, with the + initial geometry not counting. For example, if you have a 4x4 pattern, the + array will have 15 elements rather than 16 because the original geometry + cannot be suppressed as part of the pattern. The first element in the array + is the one next to the original in the first direction. The second element is + the next one on the first row, and the third is the next one. The fourth element + will be the first element in the row next to the first row that contains the + original geometry. + """ + return [bool()] + @isSuppressed.setter + def isSuppressed(self, value: list[bool]): + """ + Specifies which, if any, instances of the pattern are suppressed. This returns an + array of Boolean values that indicates if a particular instance in the pattern is + suppressed or not. A value of true will result in the associated instance being suppressed. + + The indices represent the pattern instances in a row-column order, with the + initial geometry not counting. For example, if you have a 4x4 pattern, the + array will have 15 elements rather than 16 because the original geometry + cannot be suppressed as part of the pattern. The first element in the array + is the one next to the original in the first direction. The second element is + the next one on the first row, and the third is the next one. The fourth element + will be the first element in the row next to the first row that contains the + original geometry. + """ + pass + @property + def nativeObject(self) -> RectangularPatternConstraint: + """ + The NativeObject is the object outside the context of an assembly and + in the context of it's parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return RectangularPatternConstraint() class RectangularPatternFeature(Feature): """ @@ -28252,7 +35779,7 @@ def resultFeatures(self) -> core.ObjectCollection: def nativeObject(self) -> RectangularPatternFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -28326,12 +35853,55 @@ def itemToRemove(self) -> core.Base: def nativeObject(self) -> RemoveFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ return RemoveFeature() +class RenderEvent(core.Event): + """ + A RenderEvent represents an event that occurs in reaction to the + rendering process in the Render workspace. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RenderEvent: + return RenderEvent() + def add(self, handler: RenderEventHandler) -> bool: + """ + Add a handler to be notified when the event occurs. + handler : The handler object to be called when this event is fired. + Returns true if the addition of the handler was successful. + """ + return bool() + def remove(self, handler: RenderEventHandler) -> bool: + """ + Removes a handler from the event. + handler : The handler object to be removed from the event. + Returns true if removal of the handler was successful. + """ + return bool() + +class RenderEventArgs(core.EventArgs): + """ + The RenderEventArgs provides information associated with the render process. + Render events happen when there's a change in state of the rendering process. + The most typical is when the rendering process has reached a predefined quality. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RenderEventArgs: + return RenderEventArgs() + @property + def viewport(self) -> core.Viewport: + """ + Returns the viewport that the rendering was performed in when the render is an in-canvas rendering. + """ + return core.Viewport() + class ReplaceFaceFeature(Feature): """ Object that represents an existing replace face feature in a design. @@ -28394,7 +35964,7 @@ def isTangentChain(self) -> bool: def nativeObject(self) -> ReplaceFaceFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -28442,7 +36012,7 @@ def surfaces(self, value: core.ObjectCollection): def nativeObject(self) -> ReverseNormalFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -28579,7 +36149,7 @@ def setTwoSideAngleExtent(self, angleOne: core.ValueInput, angleTwo: core.ValueI Returns true if successful """ return bool() - def setOneSideToExtent(self, toEntity: core.Base, directionHint: core.Vector3D) -> bool: + def setOneSideToExtent(self, toEntity: core.Base, directionHint: core.Vector3D = None) -> bool: """ Changes the extent of the revolve to be from the sketch plane to the specified "to" face. @@ -28727,7 +36297,7 @@ def sideFaces(self) -> BRepFaces: def nativeObject(self) -> RevolveFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -28756,6 +36326,24 @@ def participantBodies(self, value: list[BRepBody]): This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) """ pass + @property + def isProjectAxis(self) -> bool: + """ + Specifies if the axis should be projected on the same plane as the profile sketch plane or not. + + Setting this to true will use a projected axis, while setting it to false will keep it in its original location. + This is initialized to false so the selected axis will be used in the feature. + """ + return bool() + @isProjectAxis.setter + def isProjectAxis(self, value: bool): + """ + Specifies if the axis should be projected on the same plane as the profile sketch plane or not. + + Setting this to true will use a projected axis, while setting it to false will keep it in its original location. + This is initialized to false so the selected axis will be used in the feature. + """ + pass class RibFeature(Feature): """ @@ -28779,6 +36367,80 @@ def __init__(self): def cast(arg) -> RigidJointMotion: return RigidJointMotion() +class RipFeature(Feature): + """ + Object that represents an existing Rip feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RipFeature: + return RipFeature() + def setByFace(self, face: BRepFace) -> bool: + """ + This input method is for creating a rip from a face. + face : The sheet metal face that defines the rip. + Returns true if the rip definition is successful. + """ + return bool() + def redefineToAlongEdge(self, edge: BRepEdge, gapDistance: core.ValueInput) -> bool: + """ + Redefines the feature to be a rip along an edge. + edge : The BRepEdge that defines the rip. + gapDistance : The gap distance of the rip. + Returns true if the rip definition is successful. + """ + return bool() + def redefineToBetweenPoints(self, pointOneEntity: core.Base, pointTwoEntity: core.Base, gapDistance: core.ValueInput, pointOneOffset: core.ValueInput = None, pointTwoOffset: core.ValueInput = None) -> bool: + """ + Redefines the feature to be a rip between two points. + pointOneEntity : The first point of the rip. This can be defined using a BrepVertex or a BRepEdge and offset to define + where the point is along the edge. If an edge is specified, the pointOneOffset parameter must be specified. + pointTwoEntity : The second point of the rip and must lie on the same face as point 1. This can be defined using a + BrepVertex or a BRepEdge and an offset to define where the point is along the edge. + If an edge is specified, the pointTwoOffset parameter must be specified. + gapDistance : The gap distance of the rip. + pointOneOffset : If the first point lies on an edge, then this is the offset along the edge which defines the point. + This is the physical distance from the topological start of the edge. + If the offset is negative or exceeds the edge length, the corresponding vertex of the edge will be used. + pointTwoOffset : If the second point lies on an edge, then this is the offset along the edge which defines the point. + This is the physical distance from the topological start of the edge. + If the offset is negative or exceeds the edge length, the corresponding vertex of the edge will be used. + Returns true if the rip definition is successful. + """ + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> RipFeature: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this is not the NativeObject. + """ + return RipFeature() + @property + def definitionType(self) -> RipFeatureDefinitionTypes: + """ + Gets the type of rip defined. + """ + return RipFeatureDefinitionTypes() + @property + def definition(self) -> RipFeatureDefinition: + """ + Returns the RipFeatureDefinition object which provides access to the information + defining this RipFeature and the ability to edit it. + """ + return RipFeatureDefinition() + @property + def nativeObject(self) -> RipFeature: + """ + The NativeObject is the object outside the context of an assembly and + in the context of it's parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return RipFeature() + class RuledSurfaceFeature(Feature): """ Object that represents an existing RuledSurface feature in a design. @@ -28899,7 +36561,7 @@ def alternateFace(self, value: bool): def nativeObject(self) -> RuledSurfaceFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -29066,12 +36728,97 @@ def zScale(self) -> ModelParameter: def nativeObject(self) -> ScaleFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ return ScaleFeature() +class SectionAnalysis(Analysis): + """ + Represents any existing Section Analysis that exist in the design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SectionAnalysis: + return SectionAnalysis() + def flip(self) -> bool: + """ + A property that flips which side of the part is cut away by the section. This is a + convenience method that results in flipping the Z axis of the transform while maintaining + a valid rectangular coordinate system. You can directly manipulate the transform matrix + to have the same effect. + """ + return bool() + @property + def cutPlane(self) -> core.Base: + """ + A property that gets and sets the planar entity used to define the cut plane and can be either + a planar BRepFace or a ConstructionPlane object. + """ + return core.Base() + @cutPlane.setter + def cutPlane(self, value: core.Base): + """ + A property that gets and sets the planar entity used to define the cut plane and can be either + a planar BRepFace or a ConstructionPlane object. + """ + pass + @property + def initialPosition(self) -> core.Matrix3D: + """ + Returns the matrix that describes the initial position and orientation of the + specified cut plane entity. Any additional offsets or rotations are defined + by a transformation matrix that is applied to this initial position. That + matrix can be obtained and set using the transform property. + """ + return core.Matrix3D() + @property + def transform(self) -> core.Matrix3D: + """ + The initial position of the section plane is defined by the specified cut plane + entity. Any offsets or rotations are defined by a transformation matrix that is + applied to the initial position. This property allows you to get and set the + transformation matrix. + """ + return core.Matrix3D() + @transform.setter + def transform(self, value: core.Matrix3D): + """ + The initial position of the section plane is defined by the specified cut plane + entity. Any offsets or rotations are defined by a transformation matrix that is + applied to the initial position. This property allows you to get and set the + transformation matrix. + """ + pass + @property + def sectionColor(self) -> core.Color: + """ + A property that gets and sets the color of the section. A value of null indicates + the component color should be used. The opacity value of the color is ignored. + """ + return core.Color() + @sectionColor.setter + def sectionColor(self, value: core.Color): + """ + A property that gets and sets the color of the section. A value of null indicates + the component color should be used. The opacity value of the color is ignored. + """ + pass + @property + def isHatchShown(self) -> bool: + """ + A property that gets and sets if a hatch pattern should be shown on the section. + """ + return bool() + @isHatchShown.setter + def isHatchShown(self, value: bool): + """ + A property that gets and sets if a hatch pattern should be shown on the section. + """ + pass + class ShellFeature(Feature): """ Object that represents an existing shell feature in a design. @@ -29081,7 +36828,7 @@ def __init__(self): @staticmethod def cast(arg) -> ShellFeature: return ShellFeature() - def setInputEntities(self, inputEntities: core.ObjectCollection, isTangentChain: bool) -> bool: + def setInputEntities(self, inputEntities: core.ObjectCollection, isTangentChain: bool = True) -> bool: """ Method that sets faces to remove and bodies to preform shell. Return false if any faces are input, and the owning bodies of the faces are also input. @@ -29147,7 +36894,7 @@ def outsideThickness(self) -> ModelParameter: def nativeObject(self) -> ShellFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -29219,7 +36966,7 @@ def operation(self) -> SilhouetteSplitOperations: def nativeObject(self) -> SilhouetteSplitFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -29314,7 +37061,7 @@ def __init__(self): @staticmethod def cast(arg) -> SketchCurve: return SketchCurve() - def split(self, splitPoint: core.Point3D, createConstraints: bool) -> core.ObjectCollection: + def split(self, splitPoint: core.Point3D, createConstraints: bool = True) -> core.ObjectCollection: """ Split a curve at a position specified along the curve splitPoint : A position (transient Point3D) on the curve that defines the point at which to split the curve @@ -29324,7 +37071,7 @@ def split(self, splitPoint: core.Point3D, createConstraints: bool) -> core.Objec Empty collection returned if curve is closed. """ return core.ObjectCollection() - def trim(self, segmentPoint: core.Point3D, createConstraints: bool) -> core.ObjectCollection: + def trim(self, segmentPoint: core.Point3D, createConstraints: bool = True) -> core.ObjectCollection: """ Trim a curve by specifying a point that determines the segment of the curve to trim away segmentPoint : A point (transient Point3D) on or closest to the segment of the curve to remove. (start, end or middle) @@ -29337,7 +37084,7 @@ def trim(self, segmentPoint: core.Point3D, createConstraints: bool) -> core.Obje Trimming a curve having no intersections deletes the original and returns an empty collection """ return core.ObjectCollection() - def breakCurve(self, segmentPoint: core.Point3D, createConstraints: bool) -> core.ObjectCollection: + def breakCurve(self, segmentPoint: core.Point3D, createConstraints: bool = True) -> core.ObjectCollection: """ Breaks a curve into two or three pieces by finding intersections of this curve with all other curves in the sketch and splitting this curve at the nearest intersections to a specified point on the curve. @@ -29349,7 +37096,7 @@ def breakCurve(self, segmentPoint: core.Point3D, createConstraints: bool) -> cor are found and as a result the curve is not broken, an empty ObjectCollection is returned. """ return core.ObjectCollection() - def extend(self, endPoint: core.Point3D, createConstraints: bool) -> core.ObjectCollection: + def extend(self, endPoint: core.Point3D, createConstraints: bool = True) -> core.ObjectCollection: """ Extend a curve by specifying a point that determines the end of the curve to extend endPoint : A point (transient Point3D) on or closest to the end of the curve to extend. (start or end) @@ -29424,6 +37171,86 @@ def nativeObject(self) -> SketchDiameterDimension: """ return SketchDiameterDimension() +class SketchDistanceBetweenLineAndPlanarSurfaceDimension(SketchDimension): + """ + A linear dimension in a sketch between a sketch line and a planar surface. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchDistanceBetweenLineAndPlanarSurfaceDimension: + return SketchDistanceBetweenLineAndPlanarSurfaceDimension() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchDistanceBetweenLineAndPlanarSurfaceDimension: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return SketchDistanceBetweenLineAndPlanarSurfaceDimension() + @property + def line(self) -> SketchLine: + """ + The sketch line being constrained. + """ + return SketchLine() + @property + def planarSurface(self) -> core.Base: + """ + The planar surface the dimension is anchored to. This can be a planar BRepFace or a ConstructionPlane. + """ + return core.Base() + @property + def nativeObject(self) -> SketchDistanceBetweenLineAndPlanarSurfaceDimension: + """ + The NativeObject is the object outside the context of an assembly and + in the context of it's parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return SketchDistanceBetweenLineAndPlanarSurfaceDimension() + +class SketchDistanceBetweenPointAndSurfaceDimension(SketchDimension): + """ + A linear dimension in a sketch between a sketch point and a surface. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchDistanceBetweenPointAndSurfaceDimension: + return SketchDistanceBetweenPointAndSurfaceDimension() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchDistanceBetweenPointAndSurfaceDimension: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return SketchDistanceBetweenPointAndSurfaceDimension() + @property + def point(self) -> SketchPoint: + """ + The sketch point being constrained. + """ + return SketchPoint() + @property + def surface(self) -> core.Base: + """ + The BRepFace or ConstructionPlane to which the dimension is anchored. Planar, cylindrical, and spherical faces are supported. + """ + return core.Base() + @property + def nativeObject(self) -> SketchDistanceBetweenPointAndSurfaceDimension: + """ + The NativeObject is the object outside the context of an assembly and + in the context of it's parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return SketchDistanceBetweenPointAndSurfaceDimension() + class SketchEllipseMajorRadiusDimension(SketchDimension): """ An ellipse major radius dimension in a sketch. @@ -29492,6 +37319,46 @@ def nativeObject(self) -> SketchEllipseMinorRadiusDimension: """ return SketchEllipseMinorRadiusDimension() +class SketchLinearDiameterDimension(SketchDimension): + """ + A linear diameter dimension in a sketch. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchLinearDiameterDimension: + return SketchLinearDiameterDimension() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchLinearDiameterDimension: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return SketchLinearDiameterDimension() + @property + def line(self) -> SketchLine: + """ + The first line being constrained. + """ + return SketchLine() + @property + def entityTwo(self) -> SketchEntity: + """ + The second entity being constrained. (a parallel SketchLine or a SketchPoint) + """ + return SketchEntity() + @property + def nativeObject(self) -> SketchLinearDiameterDimension: + """ + The NativeObject is the object outside the context of an assembly and + in the context of it's parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return SketchLinearDiameterDimension() + class SketchLinearDimension(SketchDimension): """ A linear dimension in a sketch. @@ -29703,6 +37570,22 @@ def sketchPoint(self) -> SketchPoint: """ return SketchPoint() +class SketchPointsBossPositionDefinition(BossPositionDefinition): + """ + Provides positioning information for a boss feature that is positioned by a sketch point(s). + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchPointsBossPositionDefinition: + return SketchPointsBossPositionDefinition() + @property + def sketchPoints(self) -> core.ObjectCollection: + """ + Returns the sketch points that defines the position of the boss feature. + """ + return core.ObjectCollection() + class SketchPointsHolePositionDefinition(HolePositionDefinition): """ Provides positioning information for a hole that is positioned by a sketch point. @@ -29753,6 +37636,47 @@ def nativeObject(self) -> SketchRadialDimension: """ return SketchRadialDimension() +class SketchTangentDistanceDimension(SketchDimension): + """ + A distance dimension measuring to the tangent on one or two circles or arcs. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchTangentDistanceDimension: + return SketchTangentDistanceDimension() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchTangentDistanceDimension: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return SketchTangentDistanceDimension() + @property + def entityOne(self) -> SketchEntity: + """ + The first entity being constrained. This can be a SketchCircle, SketchArc, + SketchLine, or SketchPoint. + """ + return SketchEntity() + @property + def circleOrArc(self) -> SketchCurve: + """ + The second entity being constrained which is always a SketchCircle or SketchArc. + """ + return SketchCurve() + @property + def nativeObject(self) -> SketchTangentDistanceDimension: + """ + The NativeObject is the object outside the context of an assembly and + in the context of it's parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return SketchTangentDistanceDimension() + class SketchText(SketchEntity): """ Text in a sketch. @@ -29797,6 +37721,14 @@ def redefineAsAlongPath(self, path: core.Base, isAbovePath: bool, horizontalAlig Returns true if the setting the definition was successful. """ return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchText: + """ + Creates a proxy object for the SketchText object that represents the SketchText + object in the context of an assembly. The context is defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return SketchText() @property def height(self) -> float: """ @@ -29822,20 +37754,6 @@ def text(self, value: str): """ pass @property - def position(self) -> core.Point3D: - """ - Gets and sets the position of the text on the x-y plane of the sketch. The text must lie on the x-y plane so the Z component - of the point is ignored and always treated as zero. - """ - return core.Point3D() - @position.setter - def position(self, value: core.Point3D): - """ - Gets and sets the position of the text on the x-y plane of the sketch. The text must lie on the x-y plane so the Z component - of the point is ignored and always treated as zero. - """ - pass - @property def fontName(self) -> str: """ Gets and sets the name of the font to use. @@ -29848,18 +37766,6 @@ def fontName(self, value: str): """ pass @property - def angle(self) -> float: - """ - Gets and sets the angle of the text relative to the x-axis of the x-y plane of the sketch. - """ - return float() - @angle.setter - def angle(self, value: float): - """ - Gets and sets the angle of the text relative to the x-axis of the x-y plane of the sketch. - """ - pass - @property def textStyle(self) -> TextStyles: """ Gets and sets the text style to apply to the entire text. This is a bitwise enum so styles @@ -29874,13 +37780,6 @@ def textStyle(self, value: TextStyles): """ pass @property - def boundaryLines(self) -> SketchLineList: - """ - Returns the four sketch lines that define the boundary of the sketch text. By adding constraints to these lines - you can associatively control the size, position and angle of the sketch text. - """ - return SketchLineList() - @property def isHorizontalFlip(self) -> bool: """ Gets and sets if the text is flipped horizontally. @@ -29910,6 +37809,15 @@ def definition(self) -> SketchTextDefinition: Gets the definition that is currently used to specify how the sketch text is defined. """ return SketchTextDefinition() + @property + def nativeObject(self) -> SketchText: + """ + The NativeObject is the object outside the context of an assembly and + in the context of it's parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return SketchText() class SliderJointMotion(JointMotion): """ @@ -30156,7 +38064,7 @@ def isSplittingToolExtended(self) -> bool: def nativeObject(self) -> SplitBodyFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -30171,21 +38079,6 @@ def __init__(self): @staticmethod def cast(arg) -> SplitFaceFeature: return SplitFaceFeature() - def setSplittingTool(self, splittingTool: core.Base, isSplittingToolExtended: bool) -> bool: - """ - Sets the splitting tool used for the feature. - - To use this method, you need to position the timeline marker to immediately before this feature. - This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) - splittingTool : Input entity that defines the splitting tool. The splitting tool is a single entity that can be either a solid body, - open body, construction plane, face, or sketch curve that partially or fully intersects the facesToSplit. - The input for this argument can be one of the valid types or an ObjectCollection in the case where multiple splitting - tools are being defined. - isSplittingToolExtended : A boolean value for setting whether or not the splittingTool is to be automatically extended (if possible) so as to - completely intersect the facesToSplit. - Returns true if successful. - """ - return bool() def createForAssemblyContext(self, occurrence: Occurrence) -> SplitFaceFeature: """ Creates or returns a proxy for the native object @@ -30281,7 +38174,7 @@ def isSplittingToolExtended(self) -> bool: def nativeObject(self) -> SplitFaceFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -30312,6 +38205,22 @@ def __init__(self): @staticmethod def cast(arg) -> STEPExportOptions: return STEPExportOptions() + @property + def wantTempIds(self) -> bool: + """ + Indicates if the STEP file should include the Fusion temporary IDs for faces and edges. + Outside services can use these IDs with the findByTempId method of the BRepBody, + which will return the given entity. The default is false. + """ + return bool() + @wantTempIds.setter + def wantTempIds(self, value: bool): + """ + Indicates if the STEP file should include the Fusion temporary IDs for faces and edges. + Outside services can use these IDs with the findByTempId method of the BRepBody, + which will return the given entity. The default is false. + """ + pass class StitchFeature(Feature): """ @@ -30386,7 +38295,7 @@ def operation(self, value: FeatureOperations): def nativeObject(self) -> StitchFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -30434,7 +38343,7 @@ def meshRefinement(self) -> MeshRefinementSettings: """ Gets and sets the current simple mesh refinement settings. Setting this property will reset the surfaceDeviation, normalDeviation, maximumEdgeLength, and aspectRatio - to values that correspond to the specified mesh refinement. The default is MeshRefinementMedium + to values that correspond to the specified mesh refinement. The default is MeshRefinementMedium. """ return MeshRefinementSettings() @meshRefinement.setter @@ -30442,7 +38351,7 @@ def meshRefinement(self, value: MeshRefinementSettings): """ Gets and sets the current simple mesh refinement settings. Setting this property will reset the surfaceDeviation, normalDeviation, maximumEdgeLength, and aspectRatio - to values that correspond to the specified mesh refinement. The default is MeshRefinementMedium + to values that correspond to the specified mesh refinement. The default is MeshRefinementMedium. """ pass @property @@ -30602,7 +38511,7 @@ def deletedFaces(self, value: list[BRepFace]): def nativeObject(self) -> SurfaceDeleteFaceFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -30744,7 +38653,7 @@ def sideFaces(self) -> BRepFaces: def nativeObject(self) -> SweepFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -31012,7 +38921,7 @@ def __init__(self): @staticmethod def cast(arg) -> ThickenFeature: return ThickenFeature() - def setInputEntities(self, inputFaces: core.ObjectCollection, isChainSelection: bool) -> bool: + def setInputEntities(self, inputFaces: core.ObjectCollection, isChainSelection: bool = True) -> bool: """ Sets the faces and patch bodies to thicken. @@ -31105,7 +39014,7 @@ def isChainSelection(self) -> bool: def nativeObject(self) -> ThickenFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -31288,7 +39197,7 @@ def isRightHanded(self, value: bool): def nativeObject(self) -> ThreadFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -31359,6 +39268,12 @@ def __init__(self): @staticmethod def cast(arg) -> TimelineGroup: return TimelineGroup() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> TimelineObject: + return None + def __iter__(self) -> Iterator[TimelineObject]: + return None def deleteMe(self, deleteGroupAndContents: bool) -> bool: """ Deletes the group with the option of deleting or keeping the contents. @@ -31405,7 +39320,7 @@ def __init__(self): def cast(arg) -> ToEntityExtentDefinition: return ToEntityExtentDefinition() @staticmethod - def create(entity: core.Base, isChained: bool, offset: core.ValueInput) -> ToEntityExtentDefinition: + def create(entity: core.Base, isChained: bool, offset: core.ValueInput = None) -> ToEntityExtentDefinition: """ Statically creates a new ToEntityExtentDefinition object. This is used as input when defining the extents of a feature to be up to a construction plane or face. @@ -31558,7 +39473,7 @@ def bRepCells(self) -> BRepCells: def nativeObject(self) -> TrimFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -31628,30 +39543,6 @@ def isFlipped(self, value: bool): """ pass -class TwoDistancesChamferTypeDefinition(ChamferTypeDefinition): - """ - Provides information to create a chamfer that is defined by a two distances from the edge. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> TwoDistancesChamferTypeDefinition: - return TwoDistancesChamferTypeDefinition() - @property - def distanceOne(self) -> ModelParameter: - """ - Returns the parameter controlling the first distance. You can edit the distance - by editing the value of the parameter object. - """ - return ModelParameter() - @property - def distanceTwo(self) -> ModelParameter: - """ - Returns the parameter controlling the second distance. You can edit the distance - by editing the value of the parameter object. - """ - return ModelParameter() - class TwoSidesAngleExtentDefinition(ExtentDefinition): """ Defines the inputs for a TwoSidesAngleExtentDefinition object. @@ -31677,80 +39568,6 @@ def angleTwo(self) -> ModelParameter: """ return ModelParameter() -class TwoSidesDistanceExtentDefinition(ExtentDefinition): - """ - Defines the inputs for a TwoSidesDistanceExtentDefinition object. - This defines a feature extent where the distance in each direction can be a different value. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> TwoSidesDistanceExtentDefinition: - return TwoSidesDistanceExtentDefinition() - @property - def distanceOne(self) -> ModelParameter: - """ - Gets the ModelParameter that defines the first distance - """ - return ModelParameter() - @property - def distanceTwo(self) -> ModelParameter: - """ - Gets the ModelParameter that defines the second distance - """ - return ModelParameter() - -class TwoSidesToExtentDefinition(ExtentDefinition): - """ - Defines the inputs for a TwoSidesToExtentDefinition object - This defines a feature extent where the extents of feature go up to faces or construction planes in both directions. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> TwoSidesToExtentDefinition: - return TwoSidesToExtentDefinition() - @property - def toEntityOne(self) -> core.Base: - """ - Gets and sets the entity that defines the extent on side one. The valid types of entities can vary depending on - the type of feature this is being used with. - """ - return core.Base() - @toEntityOne.setter - def toEntityOne(self, value: core.Base): - """ - Gets and sets the entity that defines the extent on side one. The valid types of entities can vary depending on - the type of feature this is being used with. - """ - pass - @property - def toEntityTwo(self) -> core.Base: - """ - Gets and sets the entity that defines the extent on side two. The valid types of entities can vary depending on - the type of feature this is being used with. - """ - return core.Base() - @toEntityTwo.setter - def toEntityTwo(self, value: core.Base): - """ - Gets and sets the entity that defines the extent on side two. The valid types of entities can vary depending on - the type of feature this is being used with. - """ - pass - @property - def matchShape(self) -> bool: - """ - Gets and sets whether the toEntity is extended to fully intersect the extrusion. - """ - return bool() - @matchShape.setter - def matchShape(self, value: bool): - """ - Gets and sets whether the toEntity is extended to fully intersect the extrusion. - """ - pass - class UnfoldFeature(Feature): """ Object that represents an existing unfold feature in a design. @@ -31770,9 +39587,9 @@ def __init__(self): @staticmethod def cast(arg) -> UnstitchFeature: return UnstitchFeature() - def setInputFaces(self, faces: core.ObjectCollection, isChainSelection: bool) -> bool: + def setInputFaces(self, faces: core.ObjectCollection, isChainSelection: bool = True) -> bool: """ - Sets the faces and/or bodies to be unstiched. + Sets the faces and/or bodies to be unstitched. To use this method, you need to position the timeline marker to immediately before this feature. This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) @@ -31812,7 +39629,7 @@ def isChainSelection(self) -> bool: def nativeObject(self) -> UnstitchFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ @@ -31887,12 +39704,22 @@ def extensionDistance(self) -> ModelParameter: def nativeObject(self) -> UntrimFeature: """ The NativeObject is the object outside the context of an assembly and - in the context of it's parent component. + in the context of its parent component. Returns null in the case where this object is not in the context of an assembly but is already the native object. """ return UntrimFeature() +class USDExportOptions(ExportOptions): + """ + Defines that an USD export is to be done and specifies the various options. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> USDExportOptions: + return USDExportOptions() + class UserParameter(Parameter): """ Represents a User Parameter. @@ -31965,7 +39792,7 @@ def deleteMidPosition(self, positionIndex: int) -> bool: @property def edges(self) -> core.ObjectCollection: """ - Gets and sets the edges that will be filleted. + Gets and sets an ObjectCollection containing the edges that are filleted. To use this property, you need to position the timeline marker to immediately before this feature. This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) @@ -31974,7 +39801,7 @@ def edges(self) -> core.ObjectCollection: @edges.setter def edges(self, value: core.ObjectCollection): """ - Gets and sets the edges that will be filleted. + Gets and sets an ObjectCollection containing the edges that are filleted. To use this property, you need to position the timeline marker to immediately before this feature. This can be accomplished using the following code: thisFeature.timelineObject.rollTo(True) @@ -32011,6 +39838,86 @@ def midPositions(self) -> ParameterList: """ return ParameterList() +class VariableRadiusFilletEdgeSetInput(FilletEdgeSetInput): + """ + Provides access to the edges and the parameters associated with a variable radius fillet. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> VariableRadiusFilletEdgeSetInput: + return VariableRadiusFilletEdgeSetInput() + def setMidRadii(self, radii: list[core.ValueInput], positions: list[core.ValueInput]) -> bool: + """ + Defines any additional points along the fillet where a radius is specified. + radii : An array of ValueInput objects that define the radii at positions along the edge(s). + This array must have the same number of values as the positions argument. + + If the ValueInput uses a real then it is interpreted as centimeters. If it is a string then the + the units can be defined as part of the string (i.e. "2 in"). If no units are specified it will + be interpreted using the current default units for length. + positions : An array of ValueInput objects that defines the positions of any additional radii + along the edge(s). The value must be between 0 and 1 and defines the percentage along the curve + where a radius is defined. This array must have the same number of values as the radii argument. + + If the ValueInput uses a real then it is interpreted as a unitless number. If it is a string then the + the string must evaluate to a unitless number. + Returns true if successful. + """ + return bool() + @property + def startRadius(self) -> core.ValueInput: + """ + Gets and sets a ValueInput object that defines the starting radius of the fillet. + If a single edge is being filleted, the start radius is at the start end of the edge. + If multiple tangent edges are being filleted the start radius is the start end of the + first edge in the collection. + + If the ValueInput uses a real then it is interpreted as centimeters. If it is a string then + the units can be defined as part of the string (i.e. "2 in") or if no units are specified + it is interpreted using the current default units for length. + """ + return core.ValueInput() + @startRadius.setter + def startRadius(self, value: core.ValueInput): + """ + Gets and sets a ValueInput object that defines the starting radius of the fillet. + If a single edge is being filleted, the start radius is at the start end of the edge. + If multiple tangent edges are being filleted the start radius is the start end of the + first edge in the collection. + + If the ValueInput uses a real then it is interpreted as centimeters. If it is a string then + the units can be defined as part of the string (i.e. "2 in") or if no units are specified + it is interpreted using the current default units for length. + """ + pass + @property + def endRadius(self) -> core.ValueInput: + """ + Gets and sets a ValueInput object that defines the ending radius of the fillet. + If a single edge is being filleted, the end radius is at the end of the edge. + If multiple tangent edges are being filleted the end radius is the open end of the + last edge in the collection. + + If the ValueInput uses a real then it is interpreted as centimeters. If it is a string then + the units can be defined as part of the string (i.e. "2 in") or if no units are specified + it is interpreted using the current default units for length. + """ + return core.ValueInput() + @endRadius.setter + def endRadius(self, value: core.ValueInput): + """ + Gets and sets a ValueInput object that defines the ending radius of the fillet. + If a single edge is being filleted, the end radius is at the end of the edge. + If multiple tangent edges are being filleted the end radius is the open end of the + last edge in the collection. + + If the ValueInput uses a real then it is interpreted as centimeters. If it is a string then + the units can be defined as part of the string (i.e. "2 in") or if no units are specified + it is interpreted using the current default units for length. + """ + pass + class VerticalConstraint(GeometricConstraint): """ A vertical constraint in a sketch. @@ -32095,8 +40002,22 @@ def __init__(self): def cast(arg) -> WebFeature: return WebFeature() +class ZebraAnalysis(Analysis): + """ + Represent any existing Zebra Analysis that exist in the design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ZebraAnalysis: + return ZebraAnalysis() + class CustomFeatureParameter(ModelParameter): """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + A custom parameter is a parameter that was created as the result of a custom feature being created. It is associated with the custom feature and it's lifetime is the same as the custom feature that owns it. @@ -32145,6 +40066,42 @@ def parentCustomFeature(self) -> CustomFeature: """ return CustomFeature() +class FlatPatternComponent(Component): + """ + This object represent the root component of a FlatPatternProduct. The flatPattern + property will return a FlatPattern object that provides access to the resulting + flat pattern geometry. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FlatPatternComponent: + return FlatPatternComponent() + +class FlatPatternProduct(Design): + """ + Product that contains all of the information associated with a flat pattern. + + A FlatPatternProduct object exists for each flat pattern created. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FlatPatternProduct: + return FlatPatternProduct() + def deleteMe(self) -> bool: + """ + Deletes this FlatPatternProduct and the flat pattern it contains. + Returns true if the delete was successful. + """ + return bool() + @property + def flatPattern(self) -> FlatPattern: + """ + Gets the flat pattern associated with this FlatPatternProduct. + """ + return FlatPattern() + class SketchArc(SketchCurve): """ An arc in a sketch. @@ -32369,6 +40326,141 @@ def nativeObject(self) -> SketchConicCurve: an assembly but is already the native object. """ return SketchConicCurve() + @property + def rhoValue(self) -> float: + """ + Get and sets the rho value for the curve. The value must be greater than + zero and less than one. + """ + return float() + @rhoValue.setter + def rhoValue(self, value: float): + """ + Get and sets the rho value for the curve. The value must be greater than + zero and less than one. + """ + pass + +class SketchControlPointSpline(SketchCurve): + """ + A control point spline in a sketch. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchControlPointSpline: + return SketchControlPointSpline() + def addControlPoint(self, parameter: float) -> bool: + """ + Adds an additional control point to the control point spline. Inserting a new control + point does not change the shape of the curve, but the control frame will be re-computed + and the control points will be adjusted to maintain the current shape. + + This method will fail in the case where the control frame is not displayed. You can + check for this by using the is isControlFrameDisplayed. + parameter : The parameter position that defines where to insert the new control point. The parameter + value must be within the parametric range of the curve. This can be determined by using the + getParameterExtents method of the CurveEvaluator3D returned by the evaluator property. + Returns true if adding the control point was successful. + """ + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchControlPointSpline: + """ + Creates or returns a proxy for the native object + - i.e. a new object that represents this object but adds the assembly context + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy in. + Returns the proxy object or null if this isn't the NativeObject. + """ + return SketchControlPointSpline() + @property + def startSketchPoint(self) -> SketchPoint: + """ + The sketch point at the start of the spline. If the curve is closed the start and end + sketch points will be the same. + """ + return SketchPoint() + @property + def endSketchPoint(self) -> SketchPoint: + """ + The sketch point at the end of the spline. If the curve is closed the start and end + sketch points will be the same. + """ + return SketchPoint() + @property + def controlPoints(self) -> list[SketchPoint]: + """ + Returns the set of sketch points that the control frame of the spline fits through. + The points include the start and end points and are returned in + the same order as the spline fits through them where the first point + in the list is the start point and the last point is the end point. + Editing the position of these sketch points will result in editing the spline. + + Deleting one of the sketch points will remove that point from the control frame and + the curve will be recomputed. + """ + return [SketchPoint()] + @property + def geometry(self) -> core.NurbsCurve3D: + """ + Returns the transient geometry of the curve which provides geometric + information about the curve. The returned geometry is always in sketch space. + Use the worldGeometry property to get it in the model's design space. + """ + return core.NurbsCurve3D() + @property + def worldGeometry(self) -> core.NurbsCurve3D: + """ + Returns a NurbsCurve3D object that is the equivalent of this sketch curve + but is in the space of the parent component rather than in sketch space. + """ + return core.NurbsCurve3D() + @property + def evaluator(self) -> core.CurveEvaluator3D: + """ + Returns an evaluator object that lets you perform evaluations + on the precise geometry of the curve. + """ + return core.CurveEvaluator3D() + @property + def nativeObject(self) -> SketchControlPointSpline: + """ + The NativeObject is the object outside the context of an assembly and + in the context of it's parent component. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return SketchControlPointSpline() + @property + def degree(self) -> SplineDegrees: + """ + Gets the degree of the spline. + """ + return SplineDegrees() + @property + def isControlFrameDisplayed(self) -> bool: + """ + Gets and sets if the control frame of the curve is currently displayed. Using this property + is useful to be able to determine if the controlPoints and controlFrameLines properties will return + useful information or not and if the addControlPoint method will succeed or not. + """ + return bool() + @isControlFrameDisplayed.setter + def isControlFrameDisplayed(self, value: bool): + """ + Gets and sets if the control frame of the curve is currently displayed. Using this property + is useful to be able to determine if the controlPoints and controlFrameLines properties will return + useful information or not and if the addControlPoint method will succeed or not. + """ + pass + @property + def controlFrameLines(self) -> list[SketchLine]: + """ + Returns the sketch lines that represent the control frame of the spline. + The lines are in sequential order starting with the line that connects to the + starting control point to the end. + """ + return [SketchLine()] class SketchEllipse(SketchCurve): """ @@ -32676,6 +40768,16 @@ def getCurvatureHandle(self, fitPoint: SketchPoint) -> SketchArc: returns null in the case where the curvature handle has not been activated at the specified sketch point. """ return SketchArc() + def addFitPoint(self, parameter: float) -> SketchPoint: + """ + Creates a new fit point at the specified parameter value. + parameter : The parameter value at the position along the curve where you want to add the new fit point. The + CurveEvaluator3D object provides utilities that support going from a 3D coordinate to a parameter + value on the curve. + Returns the newly created SketchPoint that acts as the fit point. Fails in the case where an invalid + parameter is specified. + """ + return SketchPoint() @property def startSketchPoint(self) -> SketchPoint: """ @@ -32762,7 +40864,7 @@ def nativeObject(self) -> SketchFittedSpline: class SketchFixedSpline(SketchCurve): """ The SketchFixedSpline class represents splines in a sketch that are - un-editable. These can result from including splines from other sketches + not editable. These can result from including splines from other sketches or the spline edges. They can also be created by intersections and projecting splines onto a sketch. """